@twin.org/rights-management-models 0.0.3-next.45 → 0.0.3-next.47

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 (44) hide show
  1. package/dist/es/index.js +5 -0
  2. package/dist/es/index.js.map +1 -1
  3. package/dist/es/models/IRightsManagementAgreement.js +2 -0
  4. package/dist/es/models/IRightsManagementAgreement.js.map +1 -0
  5. package/dist/es/models/IRightsManagementOffer.js +2 -0
  6. package/dist/es/models/IRightsManagementOffer.js.map +1 -0
  7. package/dist/es/models/IRightsManagementPolicy.js.map +1 -1
  8. package/dist/es/models/IRightsManagementPolicyMetadata.js +4 -0
  9. package/dist/es/models/IRightsManagementPolicyMetadata.js.map +1 -0
  10. package/dist/es/models/IRightsManagementSet.js +2 -0
  11. package/dist/es/models/IRightsManagementSet.js.map +1 -0
  12. package/dist/es/models/api/pap/IPapGetAgreementResponse.js.map +1 -1
  13. package/dist/es/models/api/pap/IPapGetOfferResponse.js.map +1 -1
  14. package/dist/es/models/api/pap/IPapGetSetResponse.js.map +1 -1
  15. package/dist/es/models/pap/IPolicyAdministrationPointComponent.js.map +1 -1
  16. package/dist/es/models/pnp/IPolicyNegotiation.js.map +1 -1
  17. package/dist/es/models/policyMetadataContext.js +17 -0
  18. package/dist/es/models/policyMetadataContext.js.map +1 -0
  19. package/dist/types/index.d.ts +5 -0
  20. package/dist/types/models/IRightsManagementAgreement.d.ts +6 -0
  21. package/dist/types/models/IRightsManagementOffer.d.ts +6 -0
  22. package/dist/types/models/IRightsManagementPolicy.d.ts +2 -1
  23. package/dist/types/models/IRightsManagementPolicyMetadata.d.ts +13 -0
  24. package/dist/types/models/IRightsManagementSet.d.ts +6 -0
  25. package/dist/types/models/api/pap/IPapGetAgreementResponse.d.ts +2 -2
  26. package/dist/types/models/api/pap/IPapGetOfferResponse.d.ts +2 -2
  27. package/dist/types/models/api/pap/IPapGetSetResponse.d.ts +2 -2
  28. package/dist/types/models/pap/IPolicyAdministrationPointComponent.d.ts +6 -4
  29. package/dist/types/models/pnp/IPolicyNegotiation.d.ts +2 -11
  30. package/dist/types/models/policyMetadataContext.d.ts +14 -0
  31. package/docs/changelog.md +14 -0
  32. package/docs/reference/index.md +5 -0
  33. package/docs/reference/interfaces/IPapGetAgreementResponse.md +1 -1
  34. package/docs/reference/interfaces/IPapGetOfferResponse.md +1 -1
  35. package/docs/reference/interfaces/IPapGetSetResponse.md +1 -1
  36. package/docs/reference/interfaces/IPolicyAdministrationPointComponent.md +6 -6
  37. package/docs/reference/interfaces/IPolicyNegotiation.md +3 -20
  38. package/docs/reference/interfaces/IRightsManagementPolicyMetadata.md +19 -0
  39. package/docs/reference/type-aliases/IRightsManagementAgreement.md +5 -0
  40. package/docs/reference/type-aliases/IRightsManagementOffer.md +5 -0
  41. package/docs/reference/type-aliases/IRightsManagementPolicy.md +1 -1
  42. package/docs/reference/type-aliases/IRightsManagementSet.md +5 -0
  43. package/docs/reference/variables/POLICY_METADATA_CONTEXT.md +20 -0
  44. package/package.json +1 -1
package/dist/es/index.js CHANGED
@@ -10,7 +10,12 @@ export * from "./factories/policyRequesterFactory.js";
10
10
  export * from "./models/api/pap/IPapCreateRequest.js";
11
11
  export * from "./models/api/pap/IPapGetAgreementRequest.js";
12
12
  export * from "./models/api/pap/IPapGetAgreementResponse.js";
13
+ export * from "./models/IRightsManagementAgreement.js";
14
+ export * from "./models/IRightsManagementOffer.js";
13
15
  export * from "./models/IRightsManagementPolicy.js";
16
+ export * from "./models/IRightsManagementPolicyMetadata.js";
17
+ export * from "./models/policyMetadataContext.js";
18
+ export * from "./models/IRightsManagementSet.js";
14
19
  export * from "./models/odrlProfiles.js";
15
20
  export * from "./models/api/pap/IPapGetOfferRequest.js";
16
21
  export * from "./models/api/pap/IPapGetOfferResponse.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,qDAAqD,CAAC;AACpE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAChE,cAAc,oCAAoC,CAAC;AACnD,cAAc,uDAAuD,CAAC;AACtE,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./factories/policyArbiterFactory.js\";\nexport * from \"./factories/policyEnforcementProcessorFactory.js\";\nexport * from \"./factories/policyExecutionActionFactory.js\";\nexport * from \"./factories/policyInformationSourceFactory.js\";\nexport * from \"./factories/policyNegotiatorFactory.js\";\nexport * from \"./factories/policyObligationEnforcerFactory.js\";\nexport * from \"./factories/policyRequesterFactory.js\";\nexport * from \"./models/api/pap/IPapCreateRequest.js\";\nexport * from \"./models/api/pap/IPapGetAgreementRequest.js\";\nexport * from \"./models/api/pap/IPapGetAgreementResponse.js\";\nexport * from \"./models/IRightsManagementPolicy.js\";\nexport * from \"./models/odrlProfiles.js\";\nexport * from \"./models/api/pap/IPapGetOfferRequest.js\";\nexport * from \"./models/api/pap/IPapGetOfferResponse.js\";\nexport * from \"./models/api/pap/IPapGetRequest.js\";\nexport * from \"./models/api/pap/IPapGetResponse.js\";\nexport * from \"./models/api/pap/IPapGetSetRequest.js\";\nexport * from \"./models/api/pap/IPapGetSetResponse.js\";\nexport * from \"./models/api/pap/IPapQueryRequest.js\";\nexport * from \"./models/api/pap/IPapQueryResponse.js\";\nexport * from \"./models/api/pap/IPapRemoveRequest.js\";\nexport * from \"./models/api/pap/IPapUpdateRequest.js\";\nexport * from \"./models/api/pnap/IPnapGetRequest.js\";\nexport * from \"./models/api/pnap/IPnapGetResponse.js\";\nexport * from \"./models/api/pnap/IPnapQueryRequest.js\";\nexport * from \"./models/api/pnap/IPnapQueryResponse.js\";\nexport * from \"./models/api/pnap/IPnapRemoveRequest.js\";\nexport * from \"./models/api/pnap/IPnapSetRequest.js\";\nexport * from \"./models/api/pnp/IPnpAgreementRequest.js\";\nexport * from \"./models/api/pnp/IPnpAgreementVerificationRequest.js\";\nexport * from \"./models/api/pnp/IPnpContractNegotiationResponse.js\";\nexport * from \"./models/api/pnp/IPnpContractResponse.js\";\nexport * from \"./models/api/pnp/IPnpEventRequest.js\";\nexport * from \"./models/api/pnp/IPnpNegotiateRequest.js\";\nexport * from \"./models/api/pnp/IPnpNegotiationGetRequest.js\";\nexport * from \"./models/api/pnp/IPnpOfferRequest.js\";\nexport * from \"./models/api/pnp/IPnpTerminateRequest.js\";\nexport * from \"./models/pap/IPolicyAdministrationPointComponent.js\";\nexport * from \"./models/pdp/IPolicyArbiter.js\";\nexport * from \"./models/pdp/IPolicyDecision.js\";\nexport * from \"./models/pdp/IPolicyDecisionPointComponent.js\";\nexport * from \"./models/pdp/IPolicyObligationEnforcer.js\";\nexport * from \"./models/pdp/policyDecision.js\";\nexport * from \"./models/pdp/policyDecisionStage.js\";\nexport * from \"./models/pep/IPolicyEnforcementPointComponent.js\";\nexport * from \"./models/pep/IPolicyEnforcementProcessor.js\";\nexport * from \"./models/pip/IPolicyInformationPointComponent.js\";\nexport * from \"./models/pip/IPolicyInformationSource.js\";\nexport * from \"./models/pip/policyInformationAccessMode.js\";\nexport * from \"./models/pmp/IPolicyManagementPointComponent.js\";\nexport * from \"./models/pnp/IPolicyNegotiation.js\";\nexport * from \"./models/pnp/IPolicyNegotiationAdminPointComponent.js\";\nexport * from \"./models/pnp/IPolicyNegotiationPointComponent.js\";\nexport * from \"./models/pnp/IPolicyNegotiator.js\";\nexport * from \"./models/pnp/IPolicyRequester.js\";\nexport * from \"./models/pxp/IPolicyExecutionAction.js\";\nexport * from \"./models/pxp/IPolicyExecutionPointComponent.js\";\nexport * from \"./models/rightsManagementContexts.js\";\nexport * from \"./models/rightsManagementNamespaces.js\";\nexport * from \"./models/rightsManagementTypes.js\";\nexport * from \"./utils/odrlPolicyHelper.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,qDAAqD,CAAC;AACpE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAChE,cAAc,oCAAoC,CAAC;AACnD,cAAc,uDAAuD,CAAC;AACtE,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./factories/policyArbiterFactory.js\";\nexport * from \"./factories/policyEnforcementProcessorFactory.js\";\nexport * from \"./factories/policyExecutionActionFactory.js\";\nexport * from \"./factories/policyInformationSourceFactory.js\";\nexport * from \"./factories/policyNegotiatorFactory.js\";\nexport * from \"./factories/policyObligationEnforcerFactory.js\";\nexport * from \"./factories/policyRequesterFactory.js\";\nexport * from \"./models/api/pap/IPapCreateRequest.js\";\nexport * from \"./models/api/pap/IPapGetAgreementRequest.js\";\nexport * from \"./models/api/pap/IPapGetAgreementResponse.js\";\nexport * from \"./models/IRightsManagementAgreement.js\";\nexport * from \"./models/IRightsManagementOffer.js\";\nexport * from \"./models/IRightsManagementPolicy.js\";\nexport * from \"./models/IRightsManagementPolicyMetadata.js\";\nexport * from \"./models/policyMetadataContext.js\";\nexport * from \"./models/IRightsManagementSet.js\";\nexport * from \"./models/odrlProfiles.js\";\nexport * from \"./models/api/pap/IPapGetOfferRequest.js\";\nexport * from \"./models/api/pap/IPapGetOfferResponse.js\";\nexport * from \"./models/api/pap/IPapGetRequest.js\";\nexport * from \"./models/api/pap/IPapGetResponse.js\";\nexport * from \"./models/api/pap/IPapGetSetRequest.js\";\nexport * from \"./models/api/pap/IPapGetSetResponse.js\";\nexport * from \"./models/api/pap/IPapQueryRequest.js\";\nexport * from \"./models/api/pap/IPapQueryResponse.js\";\nexport * from \"./models/api/pap/IPapRemoveRequest.js\";\nexport * from \"./models/api/pap/IPapUpdateRequest.js\";\nexport * from \"./models/api/pnap/IPnapGetRequest.js\";\nexport * from \"./models/api/pnap/IPnapGetResponse.js\";\nexport * from \"./models/api/pnap/IPnapQueryRequest.js\";\nexport * from \"./models/api/pnap/IPnapQueryResponse.js\";\nexport * from \"./models/api/pnap/IPnapRemoveRequest.js\";\nexport * from \"./models/api/pnap/IPnapSetRequest.js\";\nexport * from \"./models/api/pnp/IPnpAgreementRequest.js\";\nexport * from \"./models/api/pnp/IPnpAgreementVerificationRequest.js\";\nexport * from \"./models/api/pnp/IPnpContractNegotiationResponse.js\";\nexport * from \"./models/api/pnp/IPnpContractResponse.js\";\nexport * from \"./models/api/pnp/IPnpEventRequest.js\";\nexport * from \"./models/api/pnp/IPnpNegotiateRequest.js\";\nexport * from \"./models/api/pnp/IPnpNegotiationGetRequest.js\";\nexport * from \"./models/api/pnp/IPnpOfferRequest.js\";\nexport * from \"./models/api/pnp/IPnpTerminateRequest.js\";\nexport * from \"./models/pap/IPolicyAdministrationPointComponent.js\";\nexport * from \"./models/pdp/IPolicyArbiter.js\";\nexport * from \"./models/pdp/IPolicyDecision.js\";\nexport * from \"./models/pdp/IPolicyDecisionPointComponent.js\";\nexport * from \"./models/pdp/IPolicyObligationEnforcer.js\";\nexport * from \"./models/pdp/policyDecision.js\";\nexport * from \"./models/pdp/policyDecisionStage.js\";\nexport * from \"./models/pep/IPolicyEnforcementPointComponent.js\";\nexport * from \"./models/pep/IPolicyEnforcementProcessor.js\";\nexport * from \"./models/pip/IPolicyInformationPointComponent.js\";\nexport * from \"./models/pip/IPolicyInformationSource.js\";\nexport * from \"./models/pip/policyInformationAccessMode.js\";\nexport * from \"./models/pmp/IPolicyManagementPointComponent.js\";\nexport * from \"./models/pnp/IPolicyNegotiation.js\";\nexport * from \"./models/pnp/IPolicyNegotiationAdminPointComponent.js\";\nexport * from \"./models/pnp/IPolicyNegotiationPointComponent.js\";\nexport * from \"./models/pnp/IPolicyNegotiator.js\";\nexport * from \"./models/pnp/IPolicyRequester.js\";\nexport * from \"./models/pxp/IPolicyExecutionAction.js\";\nexport * from \"./models/pxp/IPolicyExecutionPointComponent.js\";\nexport * from \"./models/rightsManagementContexts.js\";\nexport * from \"./models/rightsManagementNamespaces.js\";\nexport * from \"./models/rightsManagementTypes.js\";\nexport * from \"./utils/odrlPolicyHelper.js\";\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRightsManagementAgreement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRightsManagementAgreement.js","sourceRoot":"","sources":["../../../src/models/IRightsManagementAgreement.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolAgreement } from \"@twin.org/standards-dataspace-protocol\";\nimport type { IRightsManagementPolicyMetadata } from \"./IRightsManagementPolicyMetadata.js\";\n\n/**\n * Agreement policy returned by PAP, including optional PAP-managed lifecycle metadata.\n */\nexport type IRightsManagementAgreement = IDataspaceProtocolAgreement &\n\tIRightsManagementPolicyMetadata;\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRightsManagementOffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRightsManagementOffer.js","sourceRoot":"","sources":["../../../src/models/IRightsManagementOffer.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolOffer } from \"@twin.org/standards-dataspace-protocol\";\nimport type { IRightsManagementPolicyMetadata } from \"./IRightsManagementPolicyMetadata.js\";\n\n/**\n * Offer policy returned by PAP, including optional PAP-managed lifecycle metadata.\n */\nexport type IRightsManagementOffer = IDataspaceProtocolOffer & IRightsManagementPolicyMetadata;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IRightsManagementPolicy.js","sourceRoot":"","sources":["../../../src/models/IRightsManagementPolicy.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolPolicy } from \"@twin.org/standards-dataspace-protocol\";\nimport type { OdrlPolicyType } from \"@twin.org/standards-w3c-odrl\";\n\n/**\n * Base type for any ODRL policy stored and managed by the TWIN rights-management PAP.\n */\nexport type IRightsManagementPolicy = Omit<IDataspaceProtocolPolicy, \"@type\"> & {\n\t\"@type\": OdrlPolicyType;\n};\n"]}
1
+ {"version":3,"file":"IRightsManagementPolicy.js","sourceRoot":"","sources":["../../../src/models/IRightsManagementPolicy.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolPolicy } from \"@twin.org/standards-dataspace-protocol\";\nimport type { OdrlPolicyType } from \"@twin.org/standards-w3c-odrl\";\nimport type { IRightsManagementPolicyMetadata } from \"./IRightsManagementPolicyMetadata.js\";\n\n/**\n * Base type for any ODRL policy stored and managed by the TWIN rights-management PAP.\n */\nexport type IRightsManagementPolicy = Omit<IDataspaceProtocolPolicy, \"@type\"> &\n\tIRightsManagementPolicyMetadata & {\n\t\t\"@type\": OdrlPolicyType;\n\t};\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IRightsManagementPolicyMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRightsManagementPolicyMetadata.js","sourceRoot":"","sources":["../../../src/models/IRightsManagementPolicyMetadata.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * PAP-managed metadata attached to stored and returned ODRL policies.\n */\nexport interface IRightsManagementPolicyMetadata {\n\t/**\n\t * schema.org dateCreated — ISO 8601 date-time set by PAP on create.\n\t */\n\tdateCreated?: string;\n\n\t/**\n\t * schema.org dateModified — ISO 8601 date-time set by PAP on create and update.\n\t */\n\tdateModified?: string;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRightsManagementSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRightsManagementSet.js","sourceRoot":"","sources":["../../../src/models/IRightsManagementSet.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolSet } from \"@twin.org/standards-dataspace-protocol\";\nimport type { IRightsManagementPolicyMetadata } from \"./IRightsManagementPolicyMetadata.js\";\n\n/**\n * Set policy returned by PAP, including optional PAP-managed lifecycle metadata.\n */\nexport type IRightsManagementSet = IDataspaceProtocolSet & IRightsManagementPolicyMetadata;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IPapGetAgreementResponse.js","sourceRoot":"","sources":["../../../../../src/models/api/pap/IPapGetAgreementResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolAgreement } from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * The response structure for getting an agreement.\n */\nexport interface IPapGetAgreementResponse {\n\t/**\n\t * The body of the response.\n\t */\n\tbody: IDataspaceProtocolAgreement;\n}\n"]}
1
+ {"version":3,"file":"IPapGetAgreementResponse.js","sourceRoot":"","sources":["../../../../../src/models/api/pap/IPapGetAgreementResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRightsManagementAgreement } from \"../../IRightsManagementAgreement.js\";\n\n/**\n * The response structure for getting an agreement.\n */\nexport interface IPapGetAgreementResponse {\n\t/**\n\t * The body of the response.\n\t */\n\tbody: IRightsManagementAgreement;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IPapGetOfferResponse.js","sourceRoot":"","sources":["../../../../../src/models/api/pap/IPapGetOfferResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolOffer } from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * The response structure for getting an offer.\n */\nexport interface IPapGetOfferResponse {\n\t/**\n\t * The body of the response.\n\t */\n\tbody: IDataspaceProtocolOffer;\n}\n"]}
1
+ {"version":3,"file":"IPapGetOfferResponse.js","sourceRoot":"","sources":["../../../../../src/models/api/pap/IPapGetOfferResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRightsManagementOffer } from \"../../IRightsManagementOffer.js\";\n\n/**\n * The response structure for getting an offer.\n */\nexport interface IPapGetOfferResponse {\n\t/**\n\t * The body of the response.\n\t */\n\tbody: IRightsManagementOffer;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IPapGetSetResponse.js","sourceRoot":"","sources":["../../../../../src/models/api/pap/IPapGetSetResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IDataspaceProtocolSet } from \"@twin.org/standards-dataspace-protocol\";\n\n/**\n * The response structure for getting a set.\n */\nexport interface IPapGetSetResponse {\n\t/**\n\t * The body of the response.\n\t */\n\tbody: IDataspaceProtocolSet;\n}\n"]}
1
+ {"version":3,"file":"IPapGetSetResponse.js","sourceRoot":"","sources":["../../../../../src/models/api/pap/IPapGetSetResponse.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IRightsManagementSet } from \"../../IRightsManagementSet.js\";\n\n/**\n * The response structure for getting a set.\n */\nexport interface IPapGetSetResponse {\n\t/**\n\t * The body of the response.\n\t */\n\tbody: IRightsManagementSet;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IPolicyAdministrationPointComponent.js","sourceRoot":"","sources":["../../../../src/models/pap/IPolicyAdministrationPointComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { JsonLdObjectWithOptionalAtId } from \"@twin.org/data-json-ld\";\nimport type { EntityCondition } from \"@twin.org/entity\";\nimport type {\n\tIDataspaceProtocolAgreement,\n\tIDataspaceProtocolOffer,\n\tIDataspaceProtocolSet\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { IRightsManagementPolicy } from \"../IRightsManagementPolicy.js\";\n\n/**\n * Interface describing a Policy Administration Point (PAP) component that manages ODRL policies.\n */\nexport interface IPolicyAdministrationPointComponent extends IComponent {\n\t/**\n\t * Create a new policy with auto-generated UID.\n\t * @param policy The policy to create (uid will be auto-generated).\n\t * @returns The UID of the created policy.\n\t */\n\tcreate(policy: JsonLdObjectWithOptionalAtId<IRightsManagementPolicy>): Promise<string>;\n\n\t/**\n\t * Update an existing policy.\n\t * @param policy The policy to update (must include uid).\n\t * @returns Nothing.\n\t */\n\tupdate(policy: IRightsManagementPolicy): Promise<void>;\n\n\t/**\n\t * Get a policy.\n\t * @param policyId The id of the policy to get.\n\t * @returns The policy.\n\t */\n\tget(policyId: string): Promise<IRightsManagementPolicy>;\n\n\t/**\n\t * Get an agreement.\n\t * @param agreementId The id of the agreement to get.\n\t * @returns The agreement.\n\t */\n\tgetAgreement(agreementId: string): Promise<IDataspaceProtocolAgreement>;\n\n\t/**\n\t * Get a set.\n\t * @param setId The id of the set to get.\n\t * @returns The set.\n\t */\n\tgetSet(setId: string): Promise<IDataspaceProtocolSet>;\n\n\t/**\n\t * Get an offer.\n\t * @param offerId The id of the offer to get.\n\t * @returns The offer.\n\t */\n\tgetOffer(offerId: string): Promise<IDataspaceProtocolOffer>;\n\n\t/**\n\t * Remove a policy.\n\t * @param policyId The id of the policy to remove.\n\t * @returns Nothing.\n\t */\n\tremove(policyId: string): Promise<void>;\n\n\t/**\n\t * Query the policies using the specified conditions.\n\t * @param options Optional options to filter by assigner or assignee.\n\t * @param options.assigner The assigner to filter by.\n\t * @param options.assignee The assignee to filter by.\n\t * @param options.target The target to filter by.\n\t * @param options.action The action to filter by.\n\t * @param conditions The conditions to use for the query.\n\t * @param cursor The cursor to use for pagination.\n\t * @param limit The number of results to return per page.\n\t * @returns Cursor for next page of results and the policies matching the query.\n\t */\n\tquery(\n\t\toptions?: {\n\t\t\tassigner?: string;\n\t\t\tassignee?: string;\n\t\t\ttarget?: string;\n\t\t\taction?: string;\n\t\t},\n\t\tconditions?: EntityCondition<IRightsManagementPolicy>,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\t/**\n\t\t * The cursor for the next page of results.\n\t\t */\n\t\tcursor?: string;\n\n\t\t/**\n\t\t * The policies that match the query.\n\t\t */\n\t\tpolicies: IRightsManagementPolicy[];\n\t}>;\n}\n"]}
1
+ {"version":3,"file":"IPolicyAdministrationPointComponent.js","sourceRoot":"","sources":["../../../../src/models/pap/IPolicyAdministrationPointComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { JsonLdObjectWithOptionalAtId } from \"@twin.org/data-json-ld\";\nimport type { EntityCondition } from \"@twin.org/entity\";\nimport type { IRightsManagementAgreement } from \"../IRightsManagementAgreement.js\";\nimport type { IRightsManagementOffer } from \"../IRightsManagementOffer.js\";\nimport type { IRightsManagementPolicy } from \"../IRightsManagementPolicy.js\";\nimport type { IRightsManagementSet } from \"../IRightsManagementSet.js\";\n\n/**\n * Interface describing a Policy Administration Point (PAP) component that manages ODRL policies.\n */\nexport interface IPolicyAdministrationPointComponent extends IComponent {\n\t/**\n\t * Create a new policy with auto-generated UID.\n\t * @param policy The policy to create (uid will be auto-generated).\n\t * @returns The UID of the created policy.\n\t */\n\tcreate(policy: JsonLdObjectWithOptionalAtId<IRightsManagementPolicy>): Promise<string>;\n\n\t/**\n\t * Update an existing policy.\n\t * @param policy The policy to update (must include uid).\n\t * @returns Nothing.\n\t */\n\tupdate(policy: IRightsManagementPolicy): Promise<void>;\n\n\t/**\n\t * Get a policy.\n\t * @param policyId The id of the policy to get.\n\t * @returns The policy.\n\t */\n\tget(policyId: string): Promise<IRightsManagementPolicy>;\n\n\t/**\n\t * Get an agreement.\n\t * @param agreementId The id of the agreement to get.\n\t * @returns The agreement.\n\t */\n\tgetAgreement(agreementId: string): Promise<IRightsManagementAgreement>;\n\n\t/**\n\t * Get a set.\n\t * @param setId The id of the set to get.\n\t * @returns The set.\n\t */\n\tgetSet(setId: string): Promise<IRightsManagementSet>;\n\n\t/**\n\t * Get an offer.\n\t * @param offerId The id of the offer to get.\n\t * @returns The offer.\n\t */\n\tgetOffer(offerId: string): Promise<IRightsManagementOffer>;\n\n\t/**\n\t * Remove a policy.\n\t * @param policyId The id of the policy to remove.\n\t * @returns Nothing.\n\t */\n\tremove(policyId: string): Promise<void>;\n\n\t/**\n\t * Query the policies using the specified conditions.\n\t * @param options Optional options to filter by assigner or assignee.\n\t * @param options.assigner The assigner to filter by.\n\t * @param options.assignee The assignee to filter by.\n\t * @param options.target The target to filter by.\n\t * @param options.action The action to filter by.\n\t * @param conditions The conditions to use for the query.\n\t * @param cursor The cursor to use for pagination.\n\t * @param limit The number of results to return per page.\n\t * @returns Cursor for next page of results and the policies matching the query.\n\t */\n\tquery(\n\t\toptions?: {\n\t\t\tassigner?: string;\n\t\t\tassignee?: string;\n\t\t\ttarget?: string;\n\t\t\taction?: string;\n\t\t},\n\t\tconditions?: EntityCondition<IRightsManagementPolicy>,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\t/**\n\t\t * The cursor for the next page of results.\n\t\t */\n\t\tcursor?: string;\n\n\t\t/**\n\t\t * The policies that match the query.\n\t\t */\n\t\tpolicies: IRightsManagementPolicy[];\n\t}>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IPolicyNegotiation.js","sourceRoot":"","sources":["../../../../src/models/pnp/IPolicyNegotiation.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@twin.org/core\";\nimport type {\n\tDataspaceProtocolContractNegotiationStateType,\n\tIDataspaceProtocolAgreement,\n\tIDataspaceProtocolOffer\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { ITrustVerificationInfo } from \"@twin.org/trust-models\";\n\n/**\n * Interface describing a rights management policy negotiation.\n */\nexport interface IPolicyNegotiation {\n\t/**\n\t * The primary id used by the provider.\n\t */\n\tid: string;\n\n\t/**\n\t * This is used by the other side of the negotiation.\n\t */\n\tcorrelationId: string;\n\n\t/**\n\t * The unique identifier for the policy.\n\t */\n\tpolicyId?: string;\n\n\t/**\n\t * The date and time when the negotiation was created.\n\t */\n\tdateCreated: string;\n\n\t/**\n\t * The expiration time for the policy negotiation if it's a manual process.\n\t */\n\texpires?: number;\n\n\t/**\n\t * The status of the negotiation.\n\t */\n\tstate: DataspaceProtocolContractNegotiationStateType;\n\n\t/**\n\t * The callback address to send updates to the requester.\n\t */\n\tcallbackAddress?: string;\n\n\t/**\n\t * The public origin of the server that initiated or received this negotiation.\n\t * Used to construct callback URLs in subsequent async messages.\n\t */\n\tpublicOrigin?: string;\n\n\t/**\n\t * The tenant id this negotiation belongs to.\n\t */\n\ttenantId?: string;\n\n\t/**\n\t * The node identity (DID) used to sign trust payloads.\n\t */\n\tnodeIdentity: string;\n\n\t/**\n\t * Organization identity (the org DID of the user who initiated or received\n\t * the negotiation, when a user context was available).\n\t */\n\torganizationIdentity?: string;\n\n\t/**\n\t * The offer being requested.\n\t */\n\toffer?: IDataspaceProtocolOffer;\n\n\t/**\n\t * The agreement being established if the negotiation was successful.\n\t */\n\tagreement?: IDataspaceProtocolAgreement;\n\n\t/**\n\t * The information from the trust provider.\n\t */\n\ttrustVerificationInfo?: ITrustVerificationInfo;\n\n\t/**\n\t * A reason code for when the negotiation errors.\n\t */\n\tcode?: string;\n\n\t/**\n\t * A more detailed reason for the negotiation error.\n\t */\n\treason?: {\n\t\t\"@value\": string;\n\t\t\"@language\"?: string;\n\t}[];\n\n\t/**\n\t * A more detailed reason for the negotiation error.\n\t */\n\tdescription?: {\n\t\t\"@value\": string;\n\t\t\"@language\"?: string;\n\t}[];\n\n\t/**\n\t * Any additional error details that don't fit in the reason or description fields.\n\t */\n\terrorDetails?: IError;\n\n\t/**\n\t * The id of the handler, on provider side this is the negotiator, on consumer side this is the requester.\n\t */\n\thandlerId?: string;\n\n\t/**\n\t * Is manual intervention required to complete the negotiation?\n\t */\n\tinterventionRequired?: boolean;\n}\n"]}
1
+ {"version":3,"file":"IPolicyNegotiation.js","sourceRoot":"","sources":["../../../../src/models/pnp/IPolicyNegotiation.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IError } from \"@twin.org/core\";\nimport type {\n\tDataspaceProtocolContractNegotiationStateType,\n\tIDataspaceProtocolAgreement,\n\tIDataspaceProtocolOffer\n} from \"@twin.org/standards-dataspace-protocol\";\nimport type { ITrustVerificationInfo } from \"@twin.org/trust-models\";\n\n/**\n * Interface describing a rights management policy negotiation.\n */\nexport interface IPolicyNegotiation {\n\t/**\n\t * The primary id used by the provider.\n\t */\n\tid: string;\n\n\t/**\n\t * This is used by the other side of the negotiation.\n\t */\n\tcorrelationId: string;\n\n\t/**\n\t * The unique identifier for the policy.\n\t */\n\tpolicyId?: string;\n\n\t/**\n\t * The date and time when the negotiation was created.\n\t */\n\tdateCreated: string;\n\n\t/**\n\t * The expiration time for the policy negotiation if it's a manual process.\n\t */\n\texpires?: number;\n\n\t/**\n\t * The status of the negotiation.\n\t */\n\tstate: DataspaceProtocolContractNegotiationStateType;\n\n\t/**\n\t * The callback address to send updates to the requester.\n\t */\n\tcallbackAddress?: string;\n\n\t/**\n\t * The public origin of the server that initiated or received this negotiation.\n\t * Used to construct callback URLs in subsequent async messages.\n\t */\n\tpublicOrigin?: string;\n\n\t/**\n\t * Organization identity.\n\t */\n\torganizationIdentity: string;\n\n\t/**\n\t * The offer being requested.\n\t */\n\toffer?: IDataspaceProtocolOffer;\n\n\t/**\n\t * The agreement being established if the negotiation was successful.\n\t */\n\tagreement?: IDataspaceProtocolAgreement;\n\n\t/**\n\t * The information from the trust provider.\n\t */\n\ttrustVerificationInfo?: ITrustVerificationInfo;\n\n\t/**\n\t * A reason code for when the negotiation errors.\n\t */\n\tcode?: string;\n\n\t/**\n\t * A more detailed reason for the negotiation error.\n\t */\n\treason?: {\n\t\t\"@value\": string;\n\t\t\"@language\"?: string;\n\t}[];\n\n\t/**\n\t * A more detailed reason for the negotiation error.\n\t */\n\tdescription?: {\n\t\t\"@value\": string;\n\t\t\"@language\"?: string;\n\t}[];\n\n\t/**\n\t * Any additional error details that don't fit in the reason or description fields.\n\t */\n\terrorDetails?: IError;\n\n\t/**\n\t * The id of the handler, on provider side this is the negotiator, on consumer side this is the requester.\n\t */\n\thandlerId?: string;\n\n\t/**\n\t * Is manual intervention required to complete the negotiation?\n\t */\n\tinterventionRequired?: boolean;\n}\n"]}
@@ -0,0 +1,17 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * Minimal inline JSON-LD context for PAP-managed schema.org policy metadata terms.
5
+ * Avoids importing the full schema.org vocabulary, which collides with ODRL terms such as Offer and target.
6
+ */
7
+ export const POLICY_METADATA_CONTEXT = {
8
+ /**
9
+ * schema.org dateCreated term IRI.
10
+ */
11
+ dateCreated: "https://schema.org/dateCreated",
12
+ /**
13
+ * schema.org dateModified term IRI.
14
+ */
15
+ dateModified: "https://schema.org/dateModified"
16
+ };
17
+ //# sourceMappingURL=policyMetadataContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policyMetadataContext.js","sourceRoot":"","sources":["../../../src/models/policyMetadataContext.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC;;OAEG;IACH,WAAW,EAAE,gCAAgC;IAC7C;;OAEG;IACH,YAAY,EAAE,iCAAiC;CACtC,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Minimal inline JSON-LD context for PAP-managed schema.org policy metadata terms.\n * Avoids importing the full schema.org vocabulary, which collides with ODRL terms such as Offer and target.\n */\nexport const POLICY_METADATA_CONTEXT = {\n\t/**\n\t * schema.org dateCreated term IRI.\n\t */\n\tdateCreated: \"https://schema.org/dateCreated\",\n\t/**\n\t * schema.org dateModified term IRI.\n\t */\n\tdateModified: \"https://schema.org/dateModified\"\n} as const;\n"]}
@@ -8,7 +8,12 @@ export * from "./factories/policyRequesterFactory.js";
8
8
  export * from "./models/api/pap/IPapCreateRequest.js";
9
9
  export * from "./models/api/pap/IPapGetAgreementRequest.js";
10
10
  export * from "./models/api/pap/IPapGetAgreementResponse.js";
11
+ export * from "./models/IRightsManagementAgreement.js";
12
+ export * from "./models/IRightsManagementOffer.js";
11
13
  export * from "./models/IRightsManagementPolicy.js";
14
+ export * from "./models/IRightsManagementPolicyMetadata.js";
15
+ export * from "./models/policyMetadataContext.js";
16
+ export * from "./models/IRightsManagementSet.js";
12
17
  export * from "./models/odrlProfiles.js";
13
18
  export * from "./models/api/pap/IPapGetOfferRequest.js";
14
19
  export * from "./models/api/pap/IPapGetOfferResponse.js";
@@ -0,0 +1,6 @@
1
+ import type { IDataspaceProtocolAgreement } from "@twin.org/standards-dataspace-protocol";
2
+ import type { IRightsManagementPolicyMetadata } from "./IRightsManagementPolicyMetadata.js";
3
+ /**
4
+ * Agreement policy returned by PAP, including optional PAP-managed lifecycle metadata.
5
+ */
6
+ export type IRightsManagementAgreement = IDataspaceProtocolAgreement & IRightsManagementPolicyMetadata;
@@ -0,0 +1,6 @@
1
+ import type { IDataspaceProtocolOffer } from "@twin.org/standards-dataspace-protocol";
2
+ import type { IRightsManagementPolicyMetadata } from "./IRightsManagementPolicyMetadata.js";
3
+ /**
4
+ * Offer policy returned by PAP, including optional PAP-managed lifecycle metadata.
5
+ */
6
+ export type IRightsManagementOffer = IDataspaceProtocolOffer & IRightsManagementPolicyMetadata;
@@ -1,8 +1,9 @@
1
1
  import type { IDataspaceProtocolPolicy } from "@twin.org/standards-dataspace-protocol";
2
2
  import type { OdrlPolicyType } from "@twin.org/standards-w3c-odrl";
3
+ import type { IRightsManagementPolicyMetadata } from "./IRightsManagementPolicyMetadata.js";
3
4
  /**
4
5
  * Base type for any ODRL policy stored and managed by the TWIN rights-management PAP.
5
6
  */
6
- export type IRightsManagementPolicy = Omit<IDataspaceProtocolPolicy, "@type"> & {
7
+ export type IRightsManagementPolicy = Omit<IDataspaceProtocolPolicy, "@type"> & IRightsManagementPolicyMetadata & {
7
8
  "@type": OdrlPolicyType;
8
9
  };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * PAP-managed metadata attached to stored and returned ODRL policies.
3
+ */
4
+ export interface IRightsManagementPolicyMetadata {
5
+ /**
6
+ * schema.org dateCreated — ISO 8601 date-time set by PAP on create.
7
+ */
8
+ dateCreated?: string;
9
+ /**
10
+ * schema.org dateModified — ISO 8601 date-time set by PAP on create and update.
11
+ */
12
+ dateModified?: string;
13
+ }
@@ -0,0 +1,6 @@
1
+ import type { IDataspaceProtocolSet } from "@twin.org/standards-dataspace-protocol";
2
+ import type { IRightsManagementPolicyMetadata } from "./IRightsManagementPolicyMetadata.js";
3
+ /**
4
+ * Set policy returned by PAP, including optional PAP-managed lifecycle metadata.
5
+ */
6
+ export type IRightsManagementSet = IDataspaceProtocolSet & IRightsManagementPolicyMetadata;
@@ -1,4 +1,4 @@
1
- import type { IDataspaceProtocolAgreement } from "@twin.org/standards-dataspace-protocol";
1
+ import type { IRightsManagementAgreement } from "../../IRightsManagementAgreement.js";
2
2
  /**
3
3
  * The response structure for getting an agreement.
4
4
  */
@@ -6,5 +6,5 @@ export interface IPapGetAgreementResponse {
6
6
  /**
7
7
  * The body of the response.
8
8
  */
9
- body: IDataspaceProtocolAgreement;
9
+ body: IRightsManagementAgreement;
10
10
  }
@@ -1,4 +1,4 @@
1
- import type { IDataspaceProtocolOffer } from "@twin.org/standards-dataspace-protocol";
1
+ import type { IRightsManagementOffer } from "../../IRightsManagementOffer.js";
2
2
  /**
3
3
  * The response structure for getting an offer.
4
4
  */
@@ -6,5 +6,5 @@ export interface IPapGetOfferResponse {
6
6
  /**
7
7
  * The body of the response.
8
8
  */
9
- body: IDataspaceProtocolOffer;
9
+ body: IRightsManagementOffer;
10
10
  }
@@ -1,4 +1,4 @@
1
- import type { IDataspaceProtocolSet } from "@twin.org/standards-dataspace-protocol";
1
+ import type { IRightsManagementSet } from "../../IRightsManagementSet.js";
2
2
  /**
3
3
  * The response structure for getting a set.
4
4
  */
@@ -6,5 +6,5 @@ export interface IPapGetSetResponse {
6
6
  /**
7
7
  * The body of the response.
8
8
  */
9
- body: IDataspaceProtocolSet;
9
+ body: IRightsManagementSet;
10
10
  }
@@ -1,8 +1,10 @@
1
1
  import type { IComponent } from "@twin.org/core";
2
2
  import type { JsonLdObjectWithOptionalAtId } from "@twin.org/data-json-ld";
3
3
  import type { EntityCondition } from "@twin.org/entity";
4
- import type { IDataspaceProtocolAgreement, IDataspaceProtocolOffer, IDataspaceProtocolSet } from "@twin.org/standards-dataspace-protocol";
4
+ import type { IRightsManagementAgreement } from "../IRightsManagementAgreement.js";
5
+ import type { IRightsManagementOffer } from "../IRightsManagementOffer.js";
5
6
  import type { IRightsManagementPolicy } from "../IRightsManagementPolicy.js";
7
+ import type { IRightsManagementSet } from "../IRightsManagementSet.js";
6
8
  /**
7
9
  * Interface describing a Policy Administration Point (PAP) component that manages ODRL policies.
8
10
  */
@@ -30,19 +32,19 @@ export interface IPolicyAdministrationPointComponent extends IComponent {
30
32
  * @param agreementId The id of the agreement to get.
31
33
  * @returns The agreement.
32
34
  */
33
- getAgreement(agreementId: string): Promise<IDataspaceProtocolAgreement>;
35
+ getAgreement(agreementId: string): Promise<IRightsManagementAgreement>;
34
36
  /**
35
37
  * Get a set.
36
38
  * @param setId The id of the set to get.
37
39
  * @returns The set.
38
40
  */
39
- getSet(setId: string): Promise<IDataspaceProtocolSet>;
41
+ getSet(setId: string): Promise<IRightsManagementSet>;
40
42
  /**
41
43
  * Get an offer.
42
44
  * @param offerId The id of the offer to get.
43
45
  * @returns The offer.
44
46
  */
45
- getOffer(offerId: string): Promise<IDataspaceProtocolOffer>;
47
+ getOffer(offerId: string): Promise<IRightsManagementOffer>;
46
48
  /**
47
49
  * Remove a policy.
48
50
  * @param policyId The id of the policy to remove.
@@ -39,18 +39,9 @@ export interface IPolicyNegotiation {
39
39
  */
40
40
  publicOrigin?: string;
41
41
  /**
42
- * The tenant id this negotiation belongs to.
42
+ * Organization identity.
43
43
  */
44
- tenantId?: string;
45
- /**
46
- * The node identity (DID) used to sign trust payloads.
47
- */
48
- nodeIdentity: string;
49
- /**
50
- * Organization identity (the org DID of the user who initiated or received
51
- * the negotiation, when a user context was available).
52
- */
53
- organizationIdentity?: string;
44
+ organizationIdentity: string;
54
45
  /**
55
46
  * The offer being requested.
56
47
  */
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Minimal inline JSON-LD context for PAP-managed schema.org policy metadata terms.
3
+ * Avoids importing the full schema.org vocabulary, which collides with ODRL terms such as Offer and target.
4
+ */
5
+ export declare const POLICY_METADATA_CONTEXT: {
6
+ /**
7
+ * schema.org dateCreated term IRI.
8
+ */
9
+ readonly dateCreated: "https://schema.org/dateCreated";
10
+ /**
11
+ * schema.org dateModified term IRI.
12
+ */
13
+ readonly dateModified: "https://schema.org/dateModified";
14
+ };
package/docs/changelog.md CHANGED
@@ -6,6 +6,20 @@
6
6
 
7
7
  * remove EcosystemPolicy models/DTOs and standardize policy typing on `OdrlPolicyType` for v2.
8
8
 
9
+ ## [0.0.3-next.47](https://github.com/iotaledger/twin-rights-management/compare/rights-management-models-v0.0.3-next.46...rights-management-models-v0.0.3-next.47) (2026-06-12)
10
+
11
+
12
+ ### Features
13
+
14
+ * add PAP-managed schema.org lifecycle timestamps to policies ([#176](https://github.com/iotaledger/twin-rights-management/issues/176)) ([8d53036](https://github.com/iotaledger/twin-rights-management/commit/8d5303674b93a59532c0f16864b8484378ebe16c))
15
+
16
+ ## [0.0.3-next.46](https://github.com/iotaledger/twin-rights-management/compare/rights-management-models-v0.0.3-next.45...rights-management-models-v0.0.3-next.46) (2026-06-11)
17
+
18
+
19
+ ### Features
20
+
21
+ * organization identifiers ([#177](https://github.com/iotaledger/twin-rights-management/issues/177)) ([98d2484](https://github.com/iotaledger/twin-rights-management/commit/98d24841e3ecbb9a5225c151d171f8a9c08ccfbc))
22
+
9
23
  ## [0.0.3-next.45](https://github.com/iotaledger/twin-rights-management/compare/rights-management-models-v0.0.3-next.44...rights-management-models-v0.0.3-next.45) (2026-06-05)
10
24
 
11
25
 
@@ -6,6 +6,7 @@
6
6
 
7
7
  ## Interfaces
8
8
 
9
+ - [IRightsManagementPolicyMetadata](interfaces/IRightsManagementPolicyMetadata.md)
9
10
  - [IPapCreateRequest](interfaces/IPapCreateRequest.md)
10
11
  - [IPapGetAgreementRequest](interfaces/IPapGetAgreementRequest.md)
11
12
  - [IPapGetAgreementResponse](interfaces/IPapGetAgreementResponse.md)
@@ -54,7 +55,10 @@
54
55
 
55
56
  ## Type Aliases
56
57
 
58
+ - [IRightsManagementAgreement](type-aliases/IRightsManagementAgreement.md)
59
+ - [IRightsManagementOffer](type-aliases/IRightsManagementOffer.md)
57
60
  - [IRightsManagementPolicy](type-aliases/IRightsManagementPolicy.md)
61
+ - [IRightsManagementSet](type-aliases/IRightsManagementSet.md)
58
62
  - [OdrlProfiles](type-aliases/OdrlProfiles.md)
59
63
  - [PolicyDecision](type-aliases/PolicyDecision.md)
60
64
  - [PolicyDecisionStage](type-aliases/PolicyDecisionStage.md)
@@ -76,6 +80,7 @@
76
80
  - [PolicyDecision](variables/PolicyDecision.md)
77
81
  - [PolicyDecisionStage](variables/PolicyDecisionStage.md)
78
82
  - [PolicyInformationAccessMode](variables/PolicyInformationAccessMode.md)
83
+ - [POLICY\_METADATA\_CONTEXT](variables/POLICY_METADATA_CONTEXT.md)
79
84
  - [RightsManagementContexts](variables/RightsManagementContexts.md)
80
85
  - [RightsManagementNamespaces](variables/RightsManagementNamespaces.md)
81
86
  - [RightsManagementTypes](variables/RightsManagementTypes.md)
@@ -6,6 +6,6 @@ The response structure for getting an agreement.
6
6
 
7
7
  ### body {#body}
8
8
 
9
- > **body**: `IDataspaceProtocolAgreement`
9
+ > **body**: [`IRightsManagementAgreement`](../type-aliases/IRightsManagementAgreement.md)
10
10
 
11
11
  The body of the response.
@@ -6,6 +6,6 @@ The response structure for getting an offer.
6
6
 
7
7
  ### body {#body}
8
8
 
9
- > **body**: `IDataspaceProtocolOffer`
9
+ > **body**: [`IRightsManagementOffer`](../type-aliases/IRightsManagementOffer.md)
10
10
 
11
11
  The body of the response.
@@ -6,6 +6,6 @@ The response structure for getting a set.
6
6
 
7
7
  ### body {#body}
8
8
 
9
- > **body**: `IDataspaceProtocolSet`
9
+ > **body**: [`IRightsManagementSet`](../type-aliases/IRightsManagementSet.md)
10
10
 
11
11
  The body of the response.
@@ -76,7 +76,7 @@ The policy.
76
76
 
77
77
  ### getAgreement() {#getagreement}
78
78
 
79
- > **getAgreement**(`agreementId`): `Promise`\<`IDataspaceProtocolAgreement`\>
79
+ > **getAgreement**(`agreementId`): `Promise`\<[`IRightsManagementAgreement`](../type-aliases/IRightsManagementAgreement.md)\>
80
80
 
81
81
  Get an agreement.
82
82
 
@@ -90,7 +90,7 @@ The id of the agreement to get.
90
90
 
91
91
  #### Returns
92
92
 
93
- `Promise`\<`IDataspaceProtocolAgreement`\>
93
+ `Promise`\<[`IRightsManagementAgreement`](../type-aliases/IRightsManagementAgreement.md)\>
94
94
 
95
95
  The agreement.
96
96
 
@@ -98,7 +98,7 @@ The agreement.
98
98
 
99
99
  ### getSet() {#getset}
100
100
 
101
- > **getSet**(`setId`): `Promise`\<`IDataspaceProtocolSet`\>
101
+ > **getSet**(`setId`): `Promise`\<[`IRightsManagementSet`](../type-aliases/IRightsManagementSet.md)\>
102
102
 
103
103
  Get a set.
104
104
 
@@ -112,7 +112,7 @@ The id of the set to get.
112
112
 
113
113
  #### Returns
114
114
 
115
- `Promise`\<`IDataspaceProtocolSet`\>
115
+ `Promise`\<[`IRightsManagementSet`](../type-aliases/IRightsManagementSet.md)\>
116
116
 
117
117
  The set.
118
118
 
@@ -120,7 +120,7 @@ The set.
120
120
 
121
121
  ### getOffer() {#getoffer}
122
122
 
123
- > **getOffer**(`offerId`): `Promise`\<`IDataspaceProtocolOffer`\>
123
+ > **getOffer**(`offerId`): `Promise`\<[`IRightsManagementOffer`](../type-aliases/IRightsManagementOffer.md)\>
124
124
 
125
125
  Get an offer.
126
126
 
@@ -134,7 +134,7 @@ The id of the offer to get.
134
134
 
135
135
  #### Returns
136
136
 
137
- `Promise`\<`IDataspaceProtocolOffer`\>
137
+ `Promise`\<[`IRightsManagementOffer`](../type-aliases/IRightsManagementOffer.md)\>
138
138
 
139
139
  The offer.
140
140
 
@@ -69,28 +69,11 @@ Used to construct callback URLs in subsequent async messages.
69
69
 
70
70
  ***
71
71
 
72
- ### tenantId? {#tenantid}
72
+ ### organizationIdentity {#organizationidentity}
73
73
 
74
- > `optional` **tenantId?**: `string`
74
+ > **organizationIdentity**: `string`
75
75
 
76
- The tenant id this negotiation belongs to.
77
-
78
- ***
79
-
80
- ### nodeIdentity {#nodeidentity}
81
-
82
- > **nodeIdentity**: `string`
83
-
84
- The node identity (DID) used to sign trust payloads.
85
-
86
- ***
87
-
88
- ### organizationIdentity? {#organizationidentity}
89
-
90
- > `optional` **organizationIdentity?**: `string`
91
-
92
- Organization identity (the org DID of the user who initiated or received
93
- the negotiation, when a user context was available).
76
+ Organization identity.
94
77
 
95
78
  ***
96
79
 
@@ -0,0 +1,19 @@
1
+ # Interface: IRightsManagementPolicyMetadata
2
+
3
+ PAP-managed metadata attached to stored and returned ODRL policies.
4
+
5
+ ## Properties
6
+
7
+ ### dateCreated? {#datecreated}
8
+
9
+ > `optional` **dateCreated?**: `string`
10
+
11
+ schema.org dateCreated — ISO 8601 date-time set by PAP on create.
12
+
13
+ ***
14
+
15
+ ### dateModified? {#datemodified}
16
+
17
+ > `optional` **dateModified?**: `string`
18
+
19
+ schema.org dateModified — ISO 8601 date-time set by PAP on create and update.
@@ -0,0 +1,5 @@
1
+ # Type Alias: IRightsManagementAgreement
2
+
3
+ > **IRightsManagementAgreement** = `IDataspaceProtocolAgreement` & [`IRightsManagementPolicyMetadata`](../interfaces/IRightsManagementPolicyMetadata.md)
4
+
5
+ Agreement policy returned by PAP, including optional PAP-managed lifecycle metadata.
@@ -0,0 +1,5 @@
1
+ # Type Alias: IRightsManagementOffer
2
+
3
+ > **IRightsManagementOffer** = `IDataspaceProtocolOffer` & [`IRightsManagementPolicyMetadata`](../interfaces/IRightsManagementPolicyMetadata.md)
4
+
5
+ Offer policy returned by PAP, including optional PAP-managed lifecycle metadata.
@@ -1,6 +1,6 @@
1
1
  # Type Alias: IRightsManagementPolicy
2
2
 
3
- > **IRightsManagementPolicy** = `Omit`\<`IDataspaceProtocolPolicy`, `"@type"`\> & `object`
3
+ > **IRightsManagementPolicy** = `Omit`\<`IDataspaceProtocolPolicy`, `"@type"`\> & [`IRightsManagementPolicyMetadata`](../interfaces/IRightsManagementPolicyMetadata.md) & `object`
4
4
 
5
5
  Base type for any ODRL policy stored and managed by the TWIN rights-management PAP.
6
6
 
@@ -0,0 +1,5 @@
1
+ # Type Alias: IRightsManagementSet
2
+
3
+ > **IRightsManagementSet** = `IDataspaceProtocolSet` & [`IRightsManagementPolicyMetadata`](../interfaces/IRightsManagementPolicyMetadata.md)
4
+
5
+ Set policy returned by PAP, including optional PAP-managed lifecycle metadata.
@@ -0,0 +1,20 @@
1
+ # Variable: POLICY\_METADATA\_CONTEXT
2
+
3
+ > `const` **POLICY\_METADATA\_CONTEXT**: `object`
4
+
5
+ Minimal inline JSON-LD context for PAP-managed schema.org policy metadata terms.
6
+ Avoids importing the full schema.org vocabulary, which collides with ODRL terms such as Offer and target.
7
+
8
+ ## Type Declaration
9
+
10
+ ### dateCreated {#datecreated}
11
+
12
+ > `readonly` **dateCreated**: `"https://schema.org/dateCreated"` = `"https://schema.org/dateCreated"`
13
+
14
+ schema.org dateCreated term IRI.
15
+
16
+ ### dateModified {#datemodified}
17
+
18
+ > `readonly` **dateModified**: `"https://schema.org/dateModified"` = `"https://schema.org/dateModified"`
19
+
20
+ schema.org dateModified term IRI.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/rights-management-models",
3
- "version": "0.0.3-next.45",
3
+ "version": "0.0.3-next.47",
4
4
  "description": "Data model definitions for rights management policies, negotiations, and service contracts.",
5
5
  "repository": {
6
6
  "type": "git",