@twin.org/standards-w3c-odrl 0.0.3-next.30 → 0.0.3-next.32

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 (59) hide show
  1. package/dist/es/index.js +1 -0
  2. package/dist/es/index.js.map +1 -1
  3. package/dist/es/models/IOdrlAsset.js.map +1 -1
  4. package/dist/es/models/IOdrlAssetCollection.js.map +1 -1
  5. package/dist/es/models/IOdrlConstraint.js.map +1 -1
  6. package/dist/es/models/IOdrlDuty.js.map +1 -1
  7. package/dist/es/models/IOdrlLogicalConstraint.js.map +1 -1
  8. package/dist/es/models/IOdrlLogicalConstraintOperand.js +4 -0
  9. package/dist/es/models/IOdrlLogicalConstraintOperand.js.map +1 -0
  10. package/dist/es/models/IOdrlParty.js.map +1 -1
  11. package/dist/es/models/IOdrlPartyCollection.js.map +1 -1
  12. package/dist/es/models/IOdrlPermission.js.map +1 -1
  13. package/dist/es/models/IOdrlPolicy.js.map +1 -1
  14. package/dist/es/models/IOdrlProhibition.js.map +1 -1
  15. package/dist/es/models/IOdrlRule.js.map +1 -1
  16. package/dist/es/schemas/OdrlAgreement.json +39 -12
  17. package/dist/es/schemas/OdrlAsset.json +24 -1
  18. package/dist/es/schemas/OdrlAssetCollection.json +45 -5
  19. package/dist/es/schemas/OdrlDuty.json +76 -15
  20. package/dist/es/schemas/OdrlLogicalConstraint.json +8 -92
  21. package/dist/es/schemas/OdrlOffer.json +58 -12
  22. package/dist/es/schemas/OdrlParty.json +35 -2
  23. package/dist/es/schemas/OdrlPartyCollection.json +56 -6
  24. package/dist/es/schemas/OdrlPermission.json +76 -8
  25. package/dist/es/schemas/OdrlPolicy.json +77 -12
  26. package/dist/es/schemas/OdrlProhibition.json +76 -8
  27. package/dist/es/schemas/OdrlRule.json +65 -4
  28. package/dist/es/schemas/OdrlSet.json +77 -12
  29. package/dist/types/index.d.ts +1 -0
  30. package/dist/types/models/IOdrlAsset.d.ts +2 -2
  31. package/dist/types/models/IOdrlAssetCollection.d.ts +2 -1
  32. package/dist/types/models/IOdrlConstraint.d.ts +2 -0
  33. package/dist/types/models/IOdrlDuty.d.ts +1 -5
  34. package/dist/types/models/IOdrlLogicalConstraint.d.ts +9 -20
  35. package/dist/types/models/IOdrlLogicalConstraintOperand.d.ts +12 -0
  36. package/dist/types/models/IOdrlParty.d.ts +3 -3
  37. package/dist/types/models/IOdrlPartyCollection.d.ts +2 -1
  38. package/dist/types/models/IOdrlPermission.d.ts +1 -1
  39. package/dist/types/models/IOdrlPolicy.d.ts +8 -6
  40. package/dist/types/models/IOdrlProhibition.d.ts +1 -1
  41. package/dist/types/models/IOdrlRule.d.ts +7 -4
  42. package/docs/changelog.md +30 -0
  43. package/docs/reference/index.md +1 -0
  44. package/docs/reference/interfaces/IOdrlAgreement.md +4 -4
  45. package/docs/reference/interfaces/IOdrlAsset.md +2 -2
  46. package/docs/reference/interfaces/IOdrlAssetCollection.md +3 -3
  47. package/docs/reference/interfaces/IOdrlConstraint.md +1 -0
  48. package/docs/reference/interfaces/IOdrlDuty.md +5 -13
  49. package/docs/reference/interfaces/IOdrlLogicalConstraint.md +8 -20
  50. package/docs/reference/interfaces/IOdrlLogicalConstraintOperand.md +16 -0
  51. package/docs/reference/interfaces/IOdrlOffer.md +5 -5
  52. package/docs/reference/interfaces/IOdrlParty.md +3 -3
  53. package/docs/reference/interfaces/IOdrlPartyCollection.md +4 -4
  54. package/docs/reference/interfaces/IOdrlPermission.md +5 -5
  55. package/docs/reference/interfaces/IOdrlPolicy.md +6 -6
  56. package/docs/reference/interfaces/IOdrlProhibition.md +5 -5
  57. package/docs/reference/interfaces/IOdrlRule.md +4 -4
  58. package/docs/reference/interfaces/IOdrlSet.md +6 -6
  59. package/package.json +3 -3
package/dist/es/index.js CHANGED
@@ -8,6 +8,7 @@ export * from "./models/IOdrlAssetCollection.js";
8
8
  export * from "./models/IOdrlConstraint.js";
9
9
  export * from "./models/IOdrlDuty.js";
10
10
  export * from "./models/IOdrlLogicalConstraint.js";
11
+ export * from "./models/IOdrlLogicalConstraintOperand.js";
11
12
  export * from "./models/IOdrlOffer.js";
12
13
  export * from "./models/IOdrlParty.js";
13
14
  export * from "./models/IOdrlPartyCollection.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./dataTypes/odrlDataTypes.js\";\nexport * from \"./models/IOdrlAction.js\";\nexport * from \"./models/IOdrlAgreement.js\";\nexport * from \"./models/IOdrlAsset.js\";\nexport * from \"./models/IOdrlAssetCollection.js\";\nexport * from \"./models/IOdrlConstraint.js\";\nexport * from \"./models/IOdrlDuty.js\";\nexport * from \"./models/IOdrlLogicalConstraint.js\";\nexport * from \"./models/IOdrlOffer.js\";\nexport * from \"./models/IOdrlParty.js\";\nexport * from \"./models/IOdrlPartyCollection.js\";\nexport * from \"./models/IOdrlPermission.js\";\nexport * from \"./models/IOdrlPolicy.js\";\nexport * from \"./models/IOdrlProhibition.js\";\nexport * from \"./models/IOdrlRule.js\";\nexport * from \"./models/IOdrlSet.js\";\nexport * from \"./models/odrlContexts.js\";\nexport * from \"./models/odrlContextType.js\";\nexport * from \"./models/types/actionType.js\";\nexport * from \"./models/types/conflictStrategyType.js\";\nexport * from \"./models/types/leftOperandType.js\";\nexport * from \"./models/types/logicalConstraintType.js\";\nexport * from \"./models/types/odrlTypes.js\";\nexport * from \"./models/types/operatorType.js\";\nexport * from \"./models/types/policyType.js\";\nexport * from \"./models/types/rightOperandType.js\";\nexport * from \"./models/types/ruleType.js\";\nexport * from \"./models/types/statusType.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./dataTypes/odrlDataTypes.js\";\nexport * from \"./models/IOdrlAction.js\";\nexport * from \"./models/IOdrlAgreement.js\";\nexport * from \"./models/IOdrlAsset.js\";\nexport * from \"./models/IOdrlAssetCollection.js\";\nexport * from \"./models/IOdrlConstraint.js\";\nexport * from \"./models/IOdrlDuty.js\";\nexport * from \"./models/IOdrlLogicalConstraint.js\";\nexport * from \"./models/IOdrlLogicalConstraintOperand.js\";\nexport * from \"./models/IOdrlOffer.js\";\nexport * from \"./models/IOdrlParty.js\";\nexport * from \"./models/IOdrlPartyCollection.js\";\nexport * from \"./models/IOdrlPermission.js\";\nexport * from \"./models/IOdrlPolicy.js\";\nexport * from \"./models/IOdrlProhibition.js\";\nexport * from \"./models/IOdrlRule.js\";\nexport * from \"./models/IOdrlSet.js\";\nexport * from \"./models/odrlContexts.js\";\nexport * from \"./models/odrlContextType.js\";\nexport * from \"./models/types/actionType.js\";\nexport * from \"./models/types/conflictStrategyType.js\";\nexport * from \"./models/types/leftOperandType.js\";\nexport * from \"./models/types/logicalConstraintType.js\";\nexport * from \"./models/types/odrlTypes.js\";\nexport * from \"./models/types/operatorType.js\";\nexport * from \"./models/types/policyType.js\";\nexport * from \"./models/types/rightOperandType.js\";\nexport * from \"./models/types/ruleType.js\";\nexport * from \"./models/types/statusType.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlAsset.js","sourceRoot":"","sources":["../../../src/models/IOdrlAsset.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlAssetCollection } from \"./IOdrlAssetCollection.js\";\n\n/**\n * Interface for ODRL Assets.\n * https://www.w3.org/TR/odrl-model/#asset\n */\nexport interface IOdrlAsset extends IJsonLdNodeObject {\n\t/**\n\t * The unique identifier for the asset.\n\t * Should be an IRI.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The type of the asset.\n\t * Can be used to specify additional type information.\n\t */\n\t\"@type\"?: string;\n\n\t/**\n\t * Reference to the asset collection this asset is part of.\n\t * Used to identify an AssetCollection that this Asset is a member of.\n\t */\n\tpartOf?: string | IOdrlAssetCollection;\n\n\t/**\n\t * Reference to the policy that governs this asset.\n\t * Used to identify the Policy that governs this Asset.\n\t */\n\thasPolicy?: string;\n}\n"]}
1
+ {"version":3,"file":"IOdrlAsset.js","sourceRoot":"","sources":["../../../src/models/IOdrlAsset.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlAssetCollection } from \"./IOdrlAssetCollection.js\";\n\n/**\n * Interface for ODRL Assets.\n * https://www.w3.org/TR/odrl-model/#asset\n */\nexport interface IOdrlAsset extends IJsonLdNodeObject {\n\t/**\n\t * The unique identifier for the asset.\n\t * Should be an IRI.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The type of the asset.\n\t * Can be used to specify additional type information.\n\t */\n\t\"@type\"?: string;\n\n\t/**\n\t * Reference to the asset collection this asset is part of.\n\t * Used to identify an AssetCollection that this Asset is a member of.\n\t */\n\tpartOf?: string | IOdrlAssetCollection | (string | IOdrlAssetCollection)[];\n\n\t/**\n\t * Reference to the policy that governs this asset.\n\t * Used to identify the Policy that governs this Asset.\n\t */\n\thasPolicy?: string | string[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlAssetCollection.js","sourceRoot":"","sources":["../../../src/models/IOdrlAssetCollection.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlAsset } from \"./IOdrlAsset.js\";\nimport type { IOdrlConstraint } from \"./IOdrlConstraint.js\";\n\n/**\n * Interface for ODRL Asset Collections.\n * An AssetCollection is a single resource representing a set of member resources,\n * where all members of the set will be the subject of the Rule.\n * https://www.w3.org/TR/odrl-model/#asset\n */\nexport interface IOdrlAssetCollection extends IOdrlAsset {\n\t/**\n\t * Reference to the source of the asset collection.\n\t * Must be an IRI that references the AssetCollection.\n\t */\n\tsource: string;\n\n\t/**\n\t * Refinements applied to the asset collection.\n\t * Used to specify the refinement context under which to identify individual Asset(s)\n\t * of the complete collection. The refinement applies to the characteristics of each\n\t * member of the collection (not the resource as a whole).\n\t */\n\trefinement?: IOdrlConstraint[];\n}\n"]}
1
+ {"version":3,"file":"IOdrlAssetCollection.js","sourceRoot":"","sources":["../../../src/models/IOdrlAssetCollection.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlAsset } from \"./IOdrlAsset.js\";\nimport type { IOdrlConstraint } from \"./IOdrlConstraint.js\";\nimport type { IOdrlLogicalConstraint } from \"./IOdrlLogicalConstraint.js\";\n\n/**\n * Interface for ODRL Asset Collections.\n * An AssetCollection is a single resource representing a set of member resources,\n * where all members of the set will be the subject of the Rule.\n * https://www.w3.org/TR/odrl-model/#asset\n */\nexport interface IOdrlAssetCollection extends IOdrlAsset {\n\t/**\n\t * Reference to the source of the asset collection.\n\t * Must be an IRI that references the AssetCollection.\n\t */\n\tsource: string;\n\n\t/**\n\t * Refinements applied to the asset collection.\n\t * Used to specify the refinement context under which to identify individual Asset(s)\n\t * of the complete collection. The refinement applies to the characteristics of each\n\t * member of the collection (not the resource as a whole).\n\t */\n\trefinement?:\n\t\t| IOdrlConstraint\n\t\t| IOdrlLogicalConstraint\n\t\t| (IOdrlConstraint | IOdrlLogicalConstraint)[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlConstraint.js","sourceRoot":"","sources":["../../../src/models/IOdrlConstraint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { LeftOperandType } from \"./types/leftOperandType.js\";\nimport type { OperatorType } from \"./types/operatorType.js\";\nimport type { StatusType } from \"./types/statusType.js\";\n\n/**\n * Interface for ODRL Constraints.\n * https://www.w3.org/TR/odrl-model/#constraint\n */\nexport interface IOdrlConstraint extends IJsonLdNodeObject {\n\t/**\n\t * Optional unique identifier for the constraint.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The left operand of the constraint.\n\t */\n\tleftOperand: string | LeftOperandType;\n\n\t/**\n\t * The operator of the constraint.\n\t */\n\toperator: OperatorType;\n\n\t/**\n\t * The right operand of the constraint.\n\t * value with optional @type is used for literal values (like \"5.00\" with type \"xsd:decimal\")\n\t * id is used when referencing a URI/identifier (like odrl:policyUsage)\n\t */\n\trightOperand?: ObjectOrArray<\n\t\t| string\n\t\t| {\n\t\t\t\t\"@value\": string;\n\t\t\t\t\"@type\"?: string;\n\t\t }\n\t\t| {\n\t\t\t\t\"@id\": string;\n\t\t }\n\t>;\n\n\t/**\n\t * Reference to the right operand.\n\t * Can be used to reference external resources or policies using an IRI.\n\t */\n\trightOperandReference?: ObjectOrArray<string>;\n\n\t/**\n\t * The data type of the right operand.\n\t */\n\tdataType?: string;\n\n\t/**\n\t * The unit for the right operand value.\n\t */\n\tunit?: string;\n\n\t/**\n\t * The status value for comparison.\n\t */\n\tstatus?: StatusType;\n}\n"]}
1
+ {"version":3,"file":"IOdrlConstraint.js","sourceRoot":"","sources":["../../../src/models/IOdrlConstraint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { LeftOperandType } from \"./types/leftOperandType.js\";\nimport type { OperatorType } from \"./types/operatorType.js\";\nimport type { StatusType } from \"./types/statusType.js\";\n\n/**\n * Interface for ODRL Constraints.\n * https://www.w3.org/TR/odrl-model/#constraint\n */\nexport interface IOdrlConstraint extends IJsonLdNodeObject {\n\t/**\n\t * Optional unique identifier for the constraint.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The left operand of the constraint.\n\t */\n\tleftOperand: string | LeftOperandType;\n\n\t/**\n\t * The operator of the constraint.\n\t */\n\toperator: OperatorType;\n\n\t/**\n\t * The right operand of the constraint.\n\t * value with optional @type is used for literal values (like \"5.00\" with type \"xsd:decimal\")\n\t * id is used when referencing a URI/identifier (like odrl:policyUsage)\n\t * Mutually exclusive with rightOperandReference.\n\t */\n\trightOperand?: ObjectOrArray<\n\t\t| string\n\t\t| {\n\t\t\t\t\"@value\": string;\n\t\t\t\t\"@type\"?: string;\n\t\t }\n\t\t| {\n\t\t\t\t\"@id\": string;\n\t\t }\n\t>;\n\n\t/**\n\t * Reference to the right operand.\n\t * Can be used to reference external resources or policies using an IRI.\n\t * Mutually exclusive with rightOperand.\n\t */\n\trightOperandReference?: ObjectOrArray<string>;\n\n\t/**\n\t * The data type of the right operand.\n\t */\n\tdataType?: string;\n\n\t/**\n\t * The unit for the right operand value.\n\t */\n\tunit?: string;\n\n\t/**\n\t * The status value for comparison.\n\t */\n\tstatus?: StatusType;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlDuty.js","sourceRoot":"","sources":["../../../src/models/IOdrlDuty.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlRule } from \"./IOdrlRule.js\";\n\n/**\n * Interface for Duty Rules.\n * A Duty is the obligation to exercise an action, with all refinements satisfied.\n * A Duty is fulfilled if all constraints are satisfied and if its action has been exercised.\n * https://www.w3.org/TR/odrl-model/#duty\n */\nexport interface IOdrlDuty extends IOdrlRule {\n\t/**\n\t * The party to be attributed\n\t * Used when the duty involves attribution\n\t */\n\tattributedParty?: string;\n\n\t/**\n\t * The party performing the tracking\n\t * Used when the duty involves tracking\n\t */\n\ttrackingParty?: string;\n\t/**\n\t * The consequences if the duty is not fulfilled.\n\t * Only applicable when the Duty is referenced by a Rule with duty or obligation\n\t * properties.\n\t */\n\tconsequence?: IOdrlDuty[];\n\n\t/**\n\t * The remedies that may be fulfilled to cure the violation.\n\t */\n\tremedy?: IOdrlDuty[];\n\n\t/**\n\t * The party to be compensated\n\t * Used when the duty involves compensation\n\t */\n\tcompensatedParty?: string;\n}\n"]}
1
+ {"version":3,"file":"IOdrlDuty.js","sourceRoot":"","sources":["../../../src/models/IOdrlDuty.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlRule } from \"./IOdrlRule.js\";\n\n/**\n * Interface for Duty Rules.\n * A Duty is the obligation to exercise an action, with all refinements satisfied.\n * A Duty is fulfilled if all constraints are satisfied and if its action has been exercised.\n * https://www.w3.org/TR/odrl-model/#duty\n */\nexport interface IOdrlDuty extends IOdrlRule {\n\t/**\n\t * The party to be attributed\n\t * Used when the duty involves attribution\n\t */\n\tattributedParty?: string;\n\n\t/**\n\t * The party performing the tracking\n\t * Used when the duty involves tracking\n\t */\n\ttrackingParty?: string;\n\t/**\n\t * The consequences if the duty is not fulfilled.\n\t * Only applicable when the Duty is referenced by a Rule with duty or obligation\n\t * properties.\n\t */\n\tconsequence?: IOdrlDuty | IOdrlDuty[];\n\n\t/**\n\t * The party to be compensated\n\t * Used when the duty involves compensation\n\t */\n\tcompensatedParty?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlLogicalConstraint.js","sourceRoot":"","sources":["../../../src/models/IOdrlLogicalConstraint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\n\n/**\n * Interface for ODRL Logical Constraints.\n * A Logical Constraint compares two or more existing Constraints by one logical operator.\n * If the comparison returns a logical match, then the Logical Constraint is satisfied.\n * https://www.w3.org/TR/odrl-model/#constraint-logical\n */\nexport interface IOdrlLogicalConstraint extends IJsonLdNodeObject {\n\t/**\n\t * Optional unique identifier for the logical constraint.\n\t * Must be an IRI.\n\t */\n\tuid?: string;\n\n\t/**\n\t * AND operator - all constraints must be satisfied.\n\t */\n\tand?: {\n\t\t\"@list\": { \"@id\": string }[];\n\t};\n\n\t/**\n\t * OR operator - at least one constraint must be satisfied.\n\t */\n\tor?: {\n\t\t\"@list\": { \"@id\": string }[];\n\t};\n\n\t/**\n\t * XOR operator - exactly one constraint must be satisfied.\n\t */\n\txone?: {\n\t\t\"@list\": { \"@id\": string }[];\n\t};\n\n\t/**\n\t * AND Sequence operator - all constraints must be satisfied in order.\n\t */\n\tandSequence?: {\n\t\t\"@list\": { \"@id\": string }[];\n\t};\n}\n"]}
1
+ {"version":3,"file":"IOdrlLogicalConstraint.js","sourceRoot":"","sources":["../../../src/models/IOdrlLogicalConstraint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlLogicalConstraintOperand } from \"./IOdrlLogicalConstraintOperand.js\";\n\n/**\n * Interface for ODRL Logical Constraints.\n * A Logical Constraint compares two or more existing Constraints by one logical operator.\n * If the comparison returns a logical match, then the Logical Constraint is satisfied.\n * https://www.w3.org/TR/odrl-model/#constraint-logical\n */\nexport interface IOdrlLogicalConstraint extends IJsonLdNodeObject {\n\t/**\n\t * Optional unique identifier for the logical constraint.\n\t * Must be an IRI.\n\t */\n\tuid?: string;\n\n\t/**\n\t * AND operator - all constraints must be satisfied.\n\t * Exactly one logical operator must be present.\n\t */\n\tand?: IOdrlLogicalConstraintOperand;\n\n\t/**\n\t * OR operator - at least one constraint must be satisfied.\n\t * Exactly one logical operator must be present.\n\t */\n\tor?: IOdrlLogicalConstraintOperand;\n\n\t/**\n\t * XOR operator - exactly one constraint must be satisfied.\n\t * Exactly one logical operator must be present.\n\t */\n\txone?: IOdrlLogicalConstraintOperand;\n\n\t/**\n\t * AND Sequence operator - all constraints must be satisfied in order.\n\t * Exactly one logical operator must be present.\n\t */\n\tandSequence?: IOdrlLogicalConstraintOperand;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IOdrlLogicalConstraintOperand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOdrlLogicalConstraintOperand.js","sourceRoot":"","sources":["../../../src/models/IOdrlLogicalConstraintOperand.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Operand list wrapper for logical constraints.\n * Uses JSON-LD list to preserve order for andSequence.\n */\nexport interface IOdrlLogicalConstraintOperand {\n\t/**\n\t * Ordered list of constraint references for logical evaluation.\n\t */\n\t\"@list\": { \"@id\": string }[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlParty.js","sourceRoot":"","sources":["../../../src/models/IOdrlParty.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlPartyCollection } from \"./IOdrlPartyCollection.js\";\n\n/**\n * Interface for ODRL Parties.\n * https://www.w3.org/TR/odrl-model/#party\n */\nexport interface IOdrlParty extends IJsonLdNodeObject {\n\t/**\n\t * The unique identifier for the party.\n\t * Must be an IRI.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The type of the party.\n\t * Can be used to specify additional type information (e.g., \"Party\",\n\t * \"vcard:Organization\", \"vcard:Individual\").\n\t */\n\t\"@type\"?: string | string[];\n\n\t/**\n\t * Reference to the party collection this party is part of.\n\t * Used to identify a PartyCollection that a Party entity is a member of.\n\t */\n\tpartOf?: string | IOdrlPartyCollection;\n\n\t/**\n\t * Reference to a policy where this party is an assignee.\n\t * When assigneeOf is asserted, the Party MUST be inferred to undertake\n\t * the assignee functional role of all the Rules of that Policy.\n\t */\n\tassigneeOf?: string;\n\n\t/**\n\t * Reference to a policy where this party is an assigner.\n\t * When assignerOf is asserted, the Party MUST be inferred to undertake\n\t * the assigner functional role of all the Rules of that Policy.\n\t */\n\tassignerOf?: string;\n}\n"]}
1
+ {"version":3,"file":"IOdrlParty.js","sourceRoot":"","sources":["../../../src/models/IOdrlParty.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlPartyCollection } from \"./IOdrlPartyCollection.js\";\n\n/**\n * Interface for ODRL Parties.\n * https://www.w3.org/TR/odrl-model/#party\n */\nexport interface IOdrlParty extends IJsonLdNodeObject {\n\t/**\n\t * The unique identifier for the party.\n\t * Must be an IRI.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The type of the party.\n\t * Can be used to specify additional type information (e.g., \"Party\",\n\t * \"vcard:Organization\", \"vcard:Individual\").\n\t */\n\t\"@type\"?: string | string[];\n\n\t/**\n\t * Reference to the party collection this party is part of.\n\t * Used to identify a PartyCollection that a Party entity is a member of.\n\t */\n\tpartOf?: string | IOdrlPartyCollection | (string | IOdrlPartyCollection)[];\n\n\t/**\n\t * Reference to a policy where this party is an assignee.\n\t * When assigneeOf is asserted, the Party MUST be inferred to undertake\n\t * the assignee functional role of all the Rules of that Policy.\n\t */\n\tassigneeOf?: string | string[];\n\n\t/**\n\t * Reference to a policy where this party is an assigner.\n\t * When assignerOf is asserted, the Party MUST be inferred to undertake\n\t * the assigner functional role of all the Rules of that Policy.\n\t */\n\tassignerOf?: string | string[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlPartyCollection.js","sourceRoot":"","sources":["../../../src/models/IOdrlPartyCollection.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlConstraint } from \"./IOdrlConstraint.js\";\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\n\n/**\n * Interface for ODRL Party Collections.\n * A PartyCollection identifies a collection of entities and is a subclass of Party.\n * https://www.w3.org/TR/odrl-model/#party\n */\nexport interface IOdrlPartyCollection extends IOdrlParty {\n\t/**\n\t * Reference to the source of the party collection.\n\t * Used to identify the origin or location of the collection.\n\t */\n\tsource: string;\n\n\t/**\n\t * Refinements applied to the party collection.\n\t * Used to specify constraints that apply to all members of the collection.\n\t */\n\trefinement?: IOdrlConstraint[];\n}\n"]}
1
+ {"version":3,"file":"IOdrlPartyCollection.js","sourceRoot":"","sources":["../../../src/models/IOdrlPartyCollection.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlConstraint } from \"./IOdrlConstraint.js\";\nimport type { IOdrlLogicalConstraint } from \"./IOdrlLogicalConstraint.js\";\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\n\n/**\n * Interface for ODRL Party Collections.\n * A PartyCollection identifies a collection of entities and is a subclass of Party.\n * https://www.w3.org/TR/odrl-model/#party\n */\nexport interface IOdrlPartyCollection extends IOdrlParty {\n\t/**\n\t * Reference to the source of the party collection.\n\t * Used to identify the origin or location of the collection.\n\t */\n\tsource: string;\n\n\t/**\n\t * Refinements applied to the party collection.\n\t * Used to specify constraints that apply to all members of the collection.\n\t */\n\trefinement?:\n\t\t| IOdrlConstraint\n\t\t| IOdrlLogicalConstraint\n\t\t| (IOdrlConstraint | IOdrlLogicalConstraint)[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlPermission.js","sourceRoot":"","sources":["../../../src/models/IOdrlPermission.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlDuty } from \"./IOdrlDuty.js\";\nimport type { IOdrlRule } from \"./IOdrlRule.js\";\n\n/**\n * Interface for Permission Rules.\n * A Permission allows an action to be exercised on an Asset\n * if all constraints are satisfied and if all duties are fulfilled.\n * https://www.w3.org/TR/odrl-model/#permission\n */\nexport interface IOdrlPermission extends IOdrlRule {\n\t/**\n\t * The duties that must be fulfilled before the permission can be exercised.\n\t * A Permission MAY have none, one, or more duty property values.\n\t */\n\tduty?: IOdrlDuty[];\n}\n"]}
1
+ {"version":3,"file":"IOdrlPermission.js","sourceRoot":"","sources":["../../../src/models/IOdrlPermission.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlDuty } from \"./IOdrlDuty.js\";\nimport type { IOdrlRule } from \"./IOdrlRule.js\";\n\n/**\n * Interface for Permission Rules.\n * A Permission allows an action to be exercised on an Asset\n * if all constraints are satisfied and if all duties are fulfilled.\n * https://www.w3.org/TR/odrl-model/#permission\n */\nexport interface IOdrlPermission extends IOdrlRule {\n\t/**\n\t * The duties that must be fulfilled before the permission can be exercised.\n\t * A Permission MAY have none, one, or more duty property values.\n\t */\n\tduty?: IOdrlDuty | IOdrlDuty[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlPolicy.js","sourceRoot":"","sources":["../../../src/models/IOdrlPolicy.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlAction } from \"./IOdrlAction.js\";\nimport type { IOdrlAsset } from \"./IOdrlAsset.js\";\nimport type { IOdrlDuty } from \"./IOdrlDuty.js\";\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\nimport type { IOdrlPermission } from \"./IOdrlPermission.js\";\nimport type { IOdrlProhibition } from \"./IOdrlProhibition.js\";\nimport type { OdrlContextType } from \"./odrlContextType.js\";\nimport type { ActionType } from \"./types/actionType.js\";\nimport type { ConflictStrategyType } from \"./types/conflictStrategyType.js\";\nimport type { PolicyType } from \"./types/policyType.js\";\n\n/**\n * Interface representing an ODRL Policy.\n * https://www.w3.org/TR/odrl-model/#policy\n */\nexport interface IOdrlPolicy extends IJsonLdNodeObject {\n\t/**\n\t * The context for the policy.\n\t * Must include \"https://www.w3.org/ns/odrl.jsonld\"\n\t */\n\t\"@context\": OdrlContextType;\n\n\t/**\n\t * The type of policy.\n\t * Must be one of: \"Set\", \"Offer\", \"Agreement\"\n\t */\n\t\"@type\": PolicyType;\n\n\t/**\n\t * The unique identifier for the policy.\n\t * Must be an IRI.\n\t */\n\tuid: string;\n\n\t/**\n\t * The profile(s) this policy conforms to.\n\t * IRIs identifying the ODRL Profile(s).\n\t */\n\tprofile?: string | string[];\n\n\t/**\n\t * The assigner of the policy.\n\t * Applies to all rules unless overridden at rule level.\n\t */\n\tassigner?: string | IOdrlParty;\n\n\t/**\n\t * The assignee of the policy.\n\t * Applies to all rules unless overridden at rule level.\n\t */\n\tassignee?: string | IOdrlParty;\n\n\t/**\n\t * The target asset for the rule.\n\t */\n\ttarget?: string | IOdrlAsset | (string | IOdrlAsset)[];\n\n\t/**\n\t * The action associated with the rule.\n\t */\n\taction?: ActionType | string | IOdrlAction | (ActionType | string | IOdrlAction)[];\n\n\t/**\n\t * The parent policy(ies) this policy inherits from.\n\t * IRIs identifying the parent Policy(ies).\n\t */\n\tinheritFrom?: string | string[];\n\n\t/**\n\t * The conflict resolution strategy.\n\t * - perm: Permissions override Prohibitions\n\t * - prohibit: Prohibitions override Permissions\n\t * - invalid: Policy is void if conflicts exist (default)\n\t */\n\tconflict?: ConflictStrategyType;\n\n\t/**\n\t * The permissions in the policy.\n\t * At least one of permission, prohibition, or obligation must be present.\n\t */\n\tpermission?: IOdrlPermission[];\n\n\t/**\n\t * The prohibitions in the policy.\n\t * At least one of permission, prohibition, or obligation must be present.\n\t */\n\tprohibition?: IOdrlProhibition[];\n\n\t/**\n\t * The obligations in the policy.\n\t * At least one of permission, prohibition, or obligation must be present.\n\t */\n\tobligation?: IOdrlDuty[];\n}\n"]}
1
+ {"version":3,"file":"IOdrlPolicy.js","sourceRoot":"","sources":["../../../src/models/IOdrlPolicy.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlAction } from \"./IOdrlAction.js\";\nimport type { IOdrlAsset } from \"./IOdrlAsset.js\";\nimport type { IOdrlAssetCollection } from \"./IOdrlAssetCollection.js\";\nimport type { IOdrlDuty } from \"./IOdrlDuty.js\";\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\nimport type { IOdrlPartyCollection } from \"./IOdrlPartyCollection.js\";\nimport type { IOdrlPermission } from \"./IOdrlPermission.js\";\nimport type { IOdrlProhibition } from \"./IOdrlProhibition.js\";\nimport type { OdrlContextType } from \"./odrlContextType.js\";\nimport type { ActionType } from \"./types/actionType.js\";\nimport type { ConflictStrategyType } from \"./types/conflictStrategyType.js\";\nimport type { PolicyType } from \"./types/policyType.js\";\n\n/**\n * Interface representing an ODRL Policy.\n * https://www.w3.org/TR/odrl-model/#policy\n */\nexport interface IOdrlPolicy extends IJsonLdNodeObject {\n\t/**\n\t * The context for the policy.\n\t * Must include \"https://www.w3.org/ns/odrl.jsonld\"\n\t */\n\t\"@context\": OdrlContextType;\n\n\t/**\n\t * The type of policy.\n\t * Must be one of: \"Set\", \"Offer\", \"Agreement\"\n\t */\n\t\"@type\": PolicyType;\n\n\t/**\n\t * The unique identifier for the policy.\n\t * Must be an IRI.\n\t */\n\tuid: string;\n\n\t/**\n\t * The profile(s) this policy conforms to.\n\t * IRIs identifying the ODRL Profile(s).\n\t */\n\tprofile?: string | string[];\n\n\t/**\n\t * The assigner of the policy.\n\t * Applies to all rules unless overridden at rule level.\n\t */\n\tassigner?:\n\t\t| string\n\t\t| IOdrlParty\n\t\t| IOdrlPartyCollection\n\t\t| (string | IOdrlParty | IOdrlPartyCollection)[];\n\n\t/**\n\t * The assignee of the policy.\n\t * Applies to all rules unless overridden at rule level.\n\t */\n\tassignee?:\n\t\t| string\n\t\t| IOdrlParty\n\t\t| IOdrlPartyCollection\n\t\t| (string | IOdrlParty | IOdrlPartyCollection)[];\n\n\t/**\n\t * The target asset for the rule.\n\t */\n\ttarget?:\n\t\t| string\n\t\t| IOdrlAsset\n\t\t| IOdrlAssetCollection\n\t\t| (string | IOdrlAsset | IOdrlAssetCollection)[];\n\n\t/**\n\t * The action associated with the rule.\n\t */\n\taction?: ActionType | string | IOdrlAction | (ActionType | string | IOdrlAction)[];\n\n\t/**\n\t * The parent policy(ies) this policy inherits from.\n\t * IRIs identifying the parent Policy(ies).\n\t */\n\tinheritFrom?: string | string[];\n\n\t/**\n\t * The conflict resolution strategy.\n\t * - perm: Permissions override Prohibitions\n\t * - prohibit: Prohibitions override Permissions\n\t * - invalid: Policy is void if conflicts exist (default)\n\t */\n\tconflict?: ConflictStrategyType;\n\n\t/**\n\t * The permissions in the policy.\n\t * At least one of permission, prohibition, or obligation must be present.\n\t */\n\tpermission?: IOdrlPermission | IOdrlPermission[];\n\n\t/**\n\t * The prohibitions in the policy.\n\t * At least one of permission, prohibition, or obligation must be present.\n\t */\n\tprohibition?: IOdrlProhibition | IOdrlProhibition[];\n\n\t/**\n\t * The obligations in the policy.\n\t * At least one of permission, prohibition, or obligation must be present.\n\t */\n\tobligation?: IOdrlDuty | IOdrlDuty[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlProhibition.js","sourceRoot":"","sources":["../../../src/models/IOdrlProhibition.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlDuty } from \"./IOdrlDuty.js\";\nimport type { IOdrlRule } from \"./IOdrlRule.js\";\n\n/**\n * Interface for Prohibition Rules.\n * https://www.w3.org/TR/odrl-model/#prohibition\n */\nexport interface IOdrlProhibition extends IOdrlRule {\n\t/**\n\t * The remedies that must be fulfilled if prohibition is violated.\n\t */\n\tremedy?: IOdrlDuty[];\n}\n"]}
1
+ {"version":3,"file":"IOdrlProhibition.js","sourceRoot":"","sources":["../../../src/models/IOdrlProhibition.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlDuty } from \"./IOdrlDuty.js\";\nimport type { IOdrlRule } from \"./IOdrlRule.js\";\n\n/**\n * Interface for Prohibition Rules.\n * https://www.w3.org/TR/odrl-model/#prohibition\n */\nexport interface IOdrlProhibition extends IOdrlRule {\n\t/**\n\t * The remedies that must be fulfilled if prohibition is violated.\n\t */\n\tremedy?: IOdrlDuty | IOdrlDuty[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IOdrlRule.js","sourceRoot":"","sources":["../../../src/models/IOdrlRule.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlAction } from \"./IOdrlAction.js\";\nimport type { IOdrlAsset } from \"./IOdrlAsset.js\";\nimport type { IOdrlConstraint } from \"./IOdrlConstraint.js\";\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\nimport type { ActionType } from \"./types/actionType.js\";\n\n/**\n * Base interface for ODRL Rules.\n * https://www.w3.org/TR/odrl-model/#rule\n */\nexport interface IOdrlRule extends IJsonLdNodeObject {\n\t/**\n\t * Optional unique identifier for the rule.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The action associated with the rule.\n\t */\n\taction?: ActionType | string | IOdrlAction | (ActionType | string | IOdrlAction)[];\n\n\t/**\n\t * The target asset for the rule.\n\t */\n\ttarget?: string | IOdrlAsset | (string | IOdrlAsset)[];\n\n\t/**\n\t * The assigner of the rule.\n\t */\n\tassigner?: string | IOdrlParty;\n\n\t/**\n\t * The assignee of the rule.\n\t */\n\tassignee?: string | IOdrlParty;\n\n\t/**\n\t * Constraints applied to the rule.\n\t */\n\tconstraint?: IOdrlConstraint[];\n\n\t/**\n\t * Additional relation sub-properties as defined in ODRL profiles.\n\t * For example, 'summary' in profile \"http://example.com/odrl:profile:03\"\n\t * indicates where the output should be stored.\n\t */\n\tsummary?: string;\n}\n"]}
1
+ {"version":3,"file":"IOdrlRule.js","sourceRoot":"","sources":["../../../src/models/IOdrlRule.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlAction } from \"./IOdrlAction.js\";\nimport type { IOdrlAsset } from \"./IOdrlAsset.js\";\nimport type { IOdrlAssetCollection } from \"./IOdrlAssetCollection.js\";\nimport type { IOdrlConstraint } from \"./IOdrlConstraint.js\";\nimport type { IOdrlLogicalConstraint } from \"./IOdrlLogicalConstraint.js\";\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\nimport type { IOdrlPartyCollection } from \"./IOdrlPartyCollection.js\";\nimport type { ActionType } from \"./types/actionType.js\";\n\n/**\n * Base interface for ODRL Rules.\n * https://www.w3.org/TR/odrl-model/#rule\n */\nexport interface IOdrlRule extends IJsonLdNodeObject {\n\t/**\n\t * Optional unique identifier for the rule.\n\t */\n\tuid?: string;\n\n\t/**\n\t * The action associated with the rule.\n\t */\n\taction?: ActionType | string | IOdrlAction | (ActionType | string | IOdrlAction)[];\n\n\t/**\n\t * The target asset for the rule.\n\t */\n\ttarget?:\n\t\t| string\n\t\t| IOdrlAsset\n\t\t| IOdrlAssetCollection\n\t\t| (string | IOdrlAsset | IOdrlAssetCollection)[];\n\n\t/**\n\t * The assigner of the rule.\n\t */\n\tassigner?:\n\t\t| string\n\t\t| IOdrlParty\n\t\t| IOdrlPartyCollection\n\t\t| (string | IOdrlParty | IOdrlPartyCollection)[];\n\n\t/**\n\t * The assignee of the rule.\n\t */\n\tassignee?:\n\t\t| string\n\t\t| IOdrlParty\n\t\t| IOdrlPartyCollection\n\t\t| (string | IOdrlParty | IOdrlPartyCollection)[];\n\n\t/**\n\t * Constraints applied to the rule.\n\t */\n\tconstraint?:\n\t\t| IOdrlConstraint\n\t\t| IOdrlLogicalConstraint\n\t\t| (IOdrlConstraint | IOdrlLogicalConstraint)[];\n\n\t/**\n\t * Additional relation sub-properties as defined in ODRL profiles.\n\t * For example, 'summary' in profile \"http://example.com/odrl:profile:03\"\n\t * indicates where the output should be stored.\n\t */\n\tsummary?: string;\n}\n"]}
@@ -158,6 +158,9 @@
158
158
  {
159
159
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
160
160
  },
161
+ {
162
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
163
+ },
161
164
  {
162
165
  "type": "array",
163
166
  "items": {
@@ -167,6 +170,9 @@
167
170
  },
168
171
  {
169
172
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
173
+ },
174
+ {
175
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
170
176
  }
171
177
  ]
172
178
  }
@@ -223,24 +229,45 @@
223
229
  "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
224
230
  },
225
231
  "permission": {
226
- "type": "array",
227
- "items": {
228
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
229
- },
232
+ "anyOf": [
233
+ {
234
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
235
+ },
236
+ {
237
+ "type": "array",
238
+ "items": {
239
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
240
+ }
241
+ }
242
+ ],
230
243
  "description": "The permissions in the policy. At least one of permission, prohibition, or obligation must be present."
231
244
  },
232
245
  "prohibition": {
233
- "type": "array",
234
- "items": {
235
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
236
- },
246
+ "anyOf": [
247
+ {
248
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
249
+ },
250
+ {
251
+ "type": "array",
252
+ "items": {
253
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
254
+ }
255
+ }
256
+ ],
237
257
  "description": "The prohibitions in the policy. At least one of permission, prohibition, or obligation must be present."
238
258
  },
239
259
  "obligation": {
240
- "type": "array",
241
- "items": {
242
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
243
- },
260
+ "anyOf": [
261
+ {
262
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
263
+ },
264
+ {
265
+ "type": "array",
266
+ "items": {
267
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
268
+ }
269
+ }
270
+ ],
244
271
  "description": "The obligations in the policy. At least one of permission, prohibition, or obligation must be present."
245
272
  }
246
273
  },
@@ -73,12 +73,35 @@
73
73
  },
74
74
  {
75
75
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
76
+ },
77
+ {
78
+ "type": "array",
79
+ "items": {
80
+ "anyOf": [
81
+ {
82
+ "type": "string"
83
+ },
84
+ {
85
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
86
+ }
87
+ ]
88
+ }
76
89
  }
77
90
  ],
78
91
  "description": "Reference to the asset collection this asset is part of. Used to identify an AssetCollection that this Asset is a member of."
79
92
  },
80
93
  "hasPolicy": {
81
- "type": "string",
94
+ "anyOf": [
95
+ {
96
+ "type": "string"
97
+ },
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "string"
102
+ }
103
+ }
104
+ ],
82
105
  "description": "Reference to the policy that governs this asset. Used to identify the Policy that governs this Asset."
83
106
  }
84
107
  },
@@ -73,12 +73,35 @@
73
73
  },
74
74
  {
75
75
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
76
+ },
77
+ {
78
+ "type": "array",
79
+ "items": {
80
+ "anyOf": [
81
+ {
82
+ "type": "string"
83
+ },
84
+ {
85
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
86
+ }
87
+ ]
88
+ }
76
89
  }
77
90
  ],
78
91
  "description": "Reference to the asset collection this asset is part of. Used to identify an AssetCollection that this Asset is a member of."
79
92
  },
80
93
  "hasPolicy": {
81
- "type": "string",
94
+ "anyOf": [
95
+ {
96
+ "type": "string"
97
+ },
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "string"
102
+ }
103
+ }
104
+ ],
82
105
  "description": "Reference to the policy that governs this asset. Used to identify the Policy that governs this Asset."
83
106
  },
84
107
  "source": {
@@ -86,10 +109,27 @@
86
109
  "description": "Reference to the source of the asset collection. Must be an IRI that references the AssetCollection."
87
110
  },
88
111
  "refinement": {
89
- "type": "array",
90
- "items": {
91
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
92
- },
112
+ "anyOf": [
113
+ {
114
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
115
+ },
116
+ {
117
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraint"
118
+ },
119
+ {
120
+ "type": "array",
121
+ "items": {
122
+ "anyOf": [
123
+ {
124
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
125
+ },
126
+ {
127
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraint"
128
+ }
129
+ ]
130
+ }
131
+ }
132
+ ],
93
133
  "description": "Refinements applied to the asset collection. Used to specify the refinement context under which to identify individual Asset(s) of the complete collection. The refinement applies to the characteristics of each member of the collection (not the resource as a whole)."
94
134
  }
95
135
  },
@@ -113,6 +113,9 @@
113
113
  {
114
114
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
115
115
  },
116
+ {
117
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
118
+ },
116
119
  {
117
120
  "type": "array",
118
121
  "items": {
@@ -122,6 +125,9 @@
122
125
  },
123
126
  {
124
127
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
128
+ },
129
+ {
130
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
125
131
  }
126
132
  ]
127
133
  }
@@ -136,6 +142,25 @@
136
142
  },
137
143
  {
138
144
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
145
+ },
146
+ {
147
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
148
+ },
149
+ {
150
+ "type": "array",
151
+ "items": {
152
+ "anyOf": [
153
+ {
154
+ "type": "string"
155
+ },
156
+ {
157
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
158
+ },
159
+ {
160
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
161
+ }
162
+ ]
163
+ }
139
164
  }
140
165
  ],
141
166
  "description": "The assigner of the rule."
@@ -147,15 +172,51 @@
147
172
  },
148
173
  {
149
174
  "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
175
+ },
176
+ {
177
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
178
+ },
179
+ {
180
+ "type": "array",
181
+ "items": {
182
+ "anyOf": [
183
+ {
184
+ "type": "string"
185
+ },
186
+ {
187
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
188
+ },
189
+ {
190
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
191
+ }
192
+ ]
193
+ }
150
194
  }
151
195
  ],
152
196
  "description": "The assignee of the rule."
153
197
  },
154
198
  "constraint": {
155
- "type": "array",
156
- "items": {
157
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
158
- },
199
+ "anyOf": [
200
+ {
201
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
202
+ },
203
+ {
204
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraint"
205
+ },
206
+ {
207
+ "type": "array",
208
+ "items": {
209
+ "anyOf": [
210
+ {
211
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
212
+ },
213
+ {
214
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraint"
215
+ }
216
+ ]
217
+ }
218
+ }
219
+ ],
159
220
  "description": "Constraints applied to the rule."
160
221
  },
161
222
  "summary": {
@@ -171,19 +232,19 @@
171
232
  "description": "The party performing the tracking Used when the duty involves tracking"
172
233
  },
173
234
  "consequence": {
174
- "type": "array",
175
- "items": {
176
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
177
- },
235
+ "anyOf": [
236
+ {
237
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
238
+ },
239
+ {
240
+ "type": "array",
241
+ "items": {
242
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
243
+ }
244
+ }
245
+ ],
178
246
  "description": "The consequences if the duty is not fulfilled. Only applicable when the Duty is referenced by a Rule with duty or obligation properties."
179
247
  },
180
- "remedy": {
181
- "type": "array",
182
- "items": {
183
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
184
- },
185
- "description": "The remedies that may be fulfilled to cure the violation."
186
- },
187
248
  "compensatedParty": {
188
249
  "type": "string",
189
250
  "description": "The party to be compensated Used when the duty involves compensation"
@@ -76,104 +76,20 @@
76
76
  "description": "Optional unique identifier for the logical constraint. Must be an IRI."
77
77
  },
78
78
  "and": {
79
- "type": "object",
80
- "properties": {
81
- "@list": {
82
- "type": "array",
83
- "items": {
84
- "type": "object",
85
- "properties": {
86
- "@id": {
87
- "type": "string"
88
- }
89
- },
90
- "required": [
91
- "@id"
92
- ],
93
- "additionalProperties": false
94
- }
95
- }
96
- },
97
- "required": [
98
- "@list"
99
- ],
100
- "additionalProperties": false,
101
- "description": "AND operator - all constraints must be satisfied."
79
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraintOperand",
80
+ "description": "AND operator - all constraints must be satisfied. Exactly one logical operator must be present."
102
81
  },
103
82
  "or": {
104
- "type": "object",
105
- "properties": {
106
- "@list": {
107
- "type": "array",
108
- "items": {
109
- "type": "object",
110
- "properties": {
111
- "@id": {
112
- "type": "string"
113
- }
114
- },
115
- "required": [
116
- "@id"
117
- ],
118
- "additionalProperties": false
119
- }
120
- }
121
- },
122
- "required": [
123
- "@list"
124
- ],
125
- "additionalProperties": false,
126
- "description": "OR operator - at least one constraint must be satisfied."
83
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraintOperand",
84
+ "description": "OR operator - at least one constraint must be satisfied. Exactly one logical operator must be present."
127
85
  },
128
86
  "xone": {
129
- "type": "object",
130
- "properties": {
131
- "@list": {
132
- "type": "array",
133
- "items": {
134
- "type": "object",
135
- "properties": {
136
- "@id": {
137
- "type": "string"
138
- }
139
- },
140
- "required": [
141
- "@id"
142
- ],
143
- "additionalProperties": false
144
- }
145
- }
146
- },
147
- "required": [
148
- "@list"
149
- ],
150
- "additionalProperties": false,
151
- "description": "XOR operator - exactly one constraint must be satisfied."
87
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraintOperand",
88
+ "description": "XOR operator - exactly one constraint must be satisfied. Exactly one logical operator must be present."
152
89
  },
153
90
  "andSequence": {
154
- "type": "object",
155
- "properties": {
156
- "@list": {
157
- "type": "array",
158
- "items": {
159
- "type": "object",
160
- "properties": {
161
- "@id": {
162
- "type": "string"
163
- }
164
- },
165
- "required": [
166
- "@id"
167
- ],
168
- "additionalProperties": false
169
- }
170
- }
171
- },
172
- "required": [
173
- "@list"
174
- ],
175
- "additionalProperties": false,
176
- "description": "AND Sequence operator - all constraints must be satisfied in order."
91
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlLogicalConstraintOperand",
92
+ "description": "AND Sequence operator - all constraints must be satisfied in order. Exactly one logical operator must be present."
177
93
  }
178
94
  },
179
95
  "additionalProperties": {