@twin.org/standards-w3c-odrl 0.0.2-next.9 → 0.0.3-next.2

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 (110) hide show
  1. package/dist/es/dataTypes/odrlDataTypes.js +113 -0
  2. package/dist/es/dataTypes/odrlDataTypes.js.map +1 -0
  3. package/dist/es/index.js +31 -0
  4. package/dist/es/index.js.map +1 -0
  5. package/dist/es/models/IOdrlAction.js +2 -0
  6. package/dist/es/models/IOdrlAction.js.map +1 -0
  7. package/dist/es/models/IOdrlAgreement.js +2 -0
  8. package/dist/es/models/IOdrlAgreement.js.map +1 -0
  9. package/dist/es/models/IOdrlAsset.js +2 -0
  10. package/dist/es/models/IOdrlAsset.js.map +1 -0
  11. package/dist/es/models/IOdrlAssetCollection.js +2 -0
  12. package/dist/es/models/IOdrlAssetCollection.js.map +1 -0
  13. package/dist/es/models/IOdrlConstraint.js +2 -0
  14. package/dist/es/models/IOdrlConstraint.js.map +1 -0
  15. package/dist/es/models/IOdrlDuty.js +2 -0
  16. package/dist/es/models/IOdrlDuty.js.map +1 -0
  17. package/dist/es/models/IOdrlLogicalConstraint.js +2 -0
  18. package/dist/es/models/IOdrlLogicalConstraint.js.map +1 -0
  19. package/dist/es/models/IOdrlOffer.js +2 -0
  20. package/dist/es/models/IOdrlOffer.js.map +1 -0
  21. package/dist/es/models/IOdrlParty.js +2 -0
  22. package/dist/es/models/IOdrlParty.js.map +1 -0
  23. package/dist/es/models/IOdrlPartyCollection.js +2 -0
  24. package/dist/es/models/IOdrlPartyCollection.js.map +1 -0
  25. package/dist/es/models/IOdrlPermission.js +2 -0
  26. package/dist/es/models/IOdrlPermission.js.map +1 -0
  27. package/dist/es/models/IOdrlPolicy.js +2 -0
  28. package/dist/es/models/IOdrlPolicy.js.map +1 -0
  29. package/dist/es/models/IOdrlProhibition.js +2 -0
  30. package/dist/es/models/IOdrlProhibition.js.map +1 -0
  31. package/dist/es/models/IOdrlRule.js +2 -0
  32. package/dist/es/models/IOdrlRule.js.map +1 -0
  33. package/dist/es/models/IOdrlSet.js +2 -0
  34. package/dist/es/models/IOdrlSet.js.map +1 -0
  35. package/dist/es/models/odrlContextType.js +2 -0
  36. package/dist/es/models/odrlContextType.js.map +1 -0
  37. package/dist/es/models/odrlContexts.js +17 -0
  38. package/dist/es/models/odrlContexts.js.map +1 -0
  39. package/dist/es/models/types/actionType.js +237 -0
  40. package/dist/es/models/types/actionType.js.map +1 -0
  41. package/dist/es/models/types/conflictStrategyType.js +21 -0
  42. package/dist/es/models/types/conflictStrategyType.js.map +1 -0
  43. package/dist/es/models/types/leftOperandType.js +137 -0
  44. package/dist/es/models/types/leftOperandType.js.map +1 -0
  45. package/dist/es/models/types/logicalConstraintType.js +25 -0
  46. package/dist/es/models/types/logicalConstraintType.js.map +1 -0
  47. package/dist/es/models/types/odrlTypes.js +69 -0
  48. package/dist/es/models/types/odrlTypes.js.map +1 -0
  49. package/dist/es/models/types/operatorType.js +65 -0
  50. package/dist/es/models/types/operatorType.js.map +1 -0
  51. package/dist/es/models/types/policyType.js +25 -0
  52. package/dist/es/models/types/policyType.js.map +1 -0
  53. package/dist/es/models/types/rightOperandType.js +14 -0
  54. package/dist/es/models/types/rightOperandType.js.map +1 -0
  55. package/dist/es/models/types/ruleType.js +21 -0
  56. package/dist/es/models/types/ruleType.js.map +1 -0
  57. package/dist/es/models/types/statusType.js +25 -0
  58. package/dist/es/models/types/statusType.js.map +1 -0
  59. package/dist/es/schemas/OdrlAction.json +153 -0
  60. package/dist/es/schemas/OdrlAgreement.json +270 -0
  61. package/dist/es/schemas/OdrlAsset.json +110 -0
  62. package/dist/es/schemas/OdrlAssetCollection.json +124 -0
  63. package/dist/es/schemas/OdrlConstraint.json +174 -0
  64. package/dist/es/schemas/OdrlDuty.json +217 -0
  65. package/dist/es/schemas/OdrlLogicalConstraint.json +204 -0
  66. package/dist/es/schemas/OdrlOffer.json +269 -0
  67. package/dist/es/schemas/OdrlParty.json +124 -0
  68. package/dist/es/schemas/OdrlPartyCollection.json +138 -0
  69. package/dist/es/schemas/OdrlPermission.json +198 -0
  70. package/dist/es/schemas/OdrlPolicy.json +267 -0
  71. package/dist/es/schemas/OdrlProhibition.json +198 -0
  72. package/dist/es/schemas/OdrlRule.json +191 -0
  73. package/dist/es/schemas/OdrlSet.json +268 -0
  74. package/dist/types/index.d.ts +28 -28
  75. package/dist/types/models/IOdrlAction.d.ts +3 -3
  76. package/dist/types/models/IOdrlAgreement.d.ts +3 -3
  77. package/dist/types/models/IOdrlAsset.d.ts +1 -1
  78. package/dist/types/models/IOdrlAssetCollection.d.ts +2 -2
  79. package/dist/types/models/IOdrlConstraint.d.ts +3 -3
  80. package/dist/types/models/IOdrlDuty.d.ts +1 -1
  81. package/dist/types/models/IOdrlOffer.d.ts +3 -3
  82. package/dist/types/models/IOdrlParty.d.ts +1 -1
  83. package/dist/types/models/IOdrlPartyCollection.d.ts +2 -2
  84. package/dist/types/models/IOdrlPermission.d.ts +2 -2
  85. package/dist/types/models/IOdrlPolicy.d.ts +10 -10
  86. package/dist/types/models/IOdrlProhibition.d.ts +2 -2
  87. package/dist/types/models/IOdrlRule.d.ts +5 -5
  88. package/dist/types/models/IOdrlSet.d.ts +2 -2
  89. package/dist/types/models/odrlContextType.d.ts +1 -1
  90. package/dist/types/models/types/odrlTypes.d.ts +0 -4
  91. package/docs/changelog.md +151 -0
  92. package/docs/reference/interfaces/IOdrlAction.md +1 -1
  93. package/docs/reference/interfaces/IOdrlAgreement.md +1 -1
  94. package/docs/reference/interfaces/IOdrlAsset.md +1 -1
  95. package/docs/reference/interfaces/IOdrlAssetCollection.md +1 -1
  96. package/docs/reference/interfaces/IOdrlConstraint.md +1 -1
  97. package/docs/reference/interfaces/IOdrlDuty.md +1 -1
  98. package/docs/reference/interfaces/IOdrlLogicalConstraint.md +1 -1
  99. package/docs/reference/interfaces/IOdrlOffer.md +1 -1
  100. package/docs/reference/interfaces/IOdrlParty.md +1 -1
  101. package/docs/reference/interfaces/IOdrlPartyCollection.md +1 -1
  102. package/docs/reference/interfaces/IOdrlPermission.md +1 -1
  103. package/docs/reference/interfaces/IOdrlPolicy.md +1 -1
  104. package/docs/reference/interfaces/IOdrlProhibition.md +1 -1
  105. package/docs/reference/interfaces/IOdrlRule.md +1 -1
  106. package/docs/reference/interfaces/IOdrlSet.md +1 -1
  107. package/docs/reference/variables/OdrlTypes.md +0 -6
  108. package/package.json +22 -10
  109. package/dist/cjs/index.cjs +0 -4008
  110. package/dist/esm/index.mjs +0 -3995
@@ -0,0 +1,113 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { DataTypeHandlerFactory } from "@twin.org/data-core";
4
+ import { JsonLdProcessor } from "@twin.org/data-json-ld";
5
+ import { OdrlContexts } from "../models/odrlContexts.js";
6
+ import { OdrlTypes } from "../models/types/odrlTypes.js";
7
+ import OdrlActionSchema from "../schemas/OdrlAction.json" with { type: "json" };
8
+ import OdrlAgreementSchema from "../schemas/OdrlAgreement.json" with { type: "json" };
9
+ import OdrlAssetSchema from "../schemas/OdrlAsset.json" with { type: "json" };
10
+ import OdrlAssetCollectionSchema from "../schemas/OdrlAssetCollection.json" with { type: "json" };
11
+ import OdrlConstraintSchema from "../schemas/OdrlConstraint.json" with { type: "json" };
12
+ import OdrlDutySchema from "../schemas/OdrlDuty.json" with { type: "json" };
13
+ import OdrlLogicalConstraintSchema from "../schemas/OdrlLogicalConstraint.json" with { type: "json" };
14
+ import OdrlOfferSchema from "../schemas/OdrlOffer.json" with { type: "json" };
15
+ import OdrlPartySchema from "../schemas/OdrlParty.json" with { type: "json" };
16
+ import OdrlPartyCollectionSchema from "../schemas/OdrlPartyCollection.json" with { type: "json" };
17
+ import OdrlPermissionSchema from "../schemas/OdrlPermission.json" with { type: "json" };
18
+ import OdrlPolicySchema from "../schemas/OdrlPolicy.json" with { type: "json" };
19
+ import OdrlProhibitionSchema from "../schemas/OdrlProhibition.json" with { type: "json" };
20
+ import OdrlRuleSchema from "../schemas/OdrlRule.json" with { type: "json" };
21
+ import OdrlSetSchema from "../schemas/OdrlSet.json" with { type: "json" };
22
+ /**
23
+ * Handle all the data types for ODRL.
24
+ */
25
+ export class OdrlDataTypes {
26
+ /**
27
+ * Register the JSON-LD Redirects.
28
+ */
29
+ static registerRedirects() {
30
+ JsonLdProcessor.addRedirect(/https?:\/\/www\.w3\.org\/ns\/odrl\/?/, OdrlContexts.ContextRedirect);
31
+ }
32
+ /**
33
+ * Register all the data types.
34
+ */
35
+ static registerTypes() {
36
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Policy}`, () => ({
37
+ context: OdrlContexts.ContextRoot,
38
+ type: OdrlTypes.Policy,
39
+ jsonSchema: async () => OdrlPolicySchema
40
+ }));
41
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Asset}`, () => ({
42
+ context: OdrlContexts.ContextRoot,
43
+ type: OdrlTypes.Asset,
44
+ jsonSchema: async () => OdrlAssetSchema
45
+ }));
46
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.AssetCollection}`, () => ({
47
+ context: OdrlContexts.ContextRoot,
48
+ type: OdrlTypes.AssetCollection,
49
+ jsonSchema: async () => OdrlAssetCollectionSchema
50
+ }));
51
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Party}`, () => ({
52
+ context: OdrlContexts.ContextRoot,
53
+ type: OdrlTypes.Party,
54
+ jsonSchema: async () => OdrlPartySchema
55
+ }));
56
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.PartyCollection}`, () => ({
57
+ context: OdrlContexts.ContextRoot,
58
+ type: OdrlTypes.PartyCollection,
59
+ jsonSchema: async () => OdrlPartyCollectionSchema
60
+ }));
61
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Action}`, () => ({
62
+ context: OdrlContexts.ContextRoot,
63
+ type: OdrlTypes.Action,
64
+ jsonSchema: async () => OdrlActionSchema
65
+ }));
66
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Permission}`, () => ({
67
+ context: OdrlContexts.ContextRoot,
68
+ type: OdrlTypes.Permission,
69
+ jsonSchema: async () => OdrlPermissionSchema
70
+ }));
71
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Prohibition}`, () => ({
72
+ context: OdrlContexts.ContextRoot,
73
+ type: OdrlTypes.Prohibition,
74
+ jsonSchema: async () => OdrlProhibitionSchema
75
+ }));
76
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Duty}`, () => ({
77
+ context: OdrlContexts.ContextRoot,
78
+ type: OdrlTypes.Duty,
79
+ jsonSchema: async () => OdrlDutySchema
80
+ }));
81
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Constraint}`, () => ({
82
+ context: OdrlContexts.ContextRoot,
83
+ type: OdrlTypes.Constraint,
84
+ jsonSchema: async () => OdrlConstraintSchema
85
+ }));
86
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.LogicalConstraint}`, () => ({
87
+ context: OdrlContexts.ContextRoot,
88
+ type: OdrlTypes.LogicalConstraint,
89
+ jsonSchema: async () => OdrlLogicalConstraintSchema
90
+ }));
91
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Set}`, () => ({
92
+ context: OdrlContexts.ContextRoot,
93
+ type: OdrlTypes.Set,
94
+ jsonSchema: async () => OdrlSetSchema
95
+ }));
96
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Offer}`, () => ({
97
+ context: OdrlContexts.ContextRoot,
98
+ type: OdrlTypes.Offer,
99
+ jsonSchema: async () => OdrlOfferSchema
100
+ }));
101
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Agreement}`, () => ({
102
+ context: OdrlContexts.ContextRoot,
103
+ type: OdrlTypes.Agreement,
104
+ jsonSchema: async () => OdrlAgreementSchema
105
+ }));
106
+ DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Rule}`, () => ({
107
+ context: OdrlContexts.ContextRoot,
108
+ type: OdrlTypes.Rule,
109
+ jsonSchema: async () => OdrlRuleSchema
110
+ }));
111
+ }
112
+ }
113
+ //# sourceMappingURL=odrlDataTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odrlDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/odrlDataTypes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { DataTypeHandlerFactory } from \"@twin.org/data-core\";\nimport type { IJsonSchema } from \"@twin.org/data-core\";\nimport { JsonLdProcessor } from \"@twin.org/data-json-ld\";\nimport { OdrlContexts } from \"../models/odrlContexts.js\";\nimport { OdrlTypes } from \"../models/types/odrlTypes.js\";\nimport OdrlActionSchema from \"../schemas/OdrlAction.json\" with { type: \"json\" };\nimport OdrlAgreementSchema from \"../schemas/OdrlAgreement.json\" with { type: \"json\" };\nimport OdrlAssetSchema from \"../schemas/OdrlAsset.json\" with { type: \"json\" };\nimport OdrlAssetCollectionSchema from \"../schemas/OdrlAssetCollection.json\" with { type: \"json\" };\nimport OdrlConstraintSchema from \"../schemas/OdrlConstraint.json\" with { type: \"json\" };\nimport OdrlDutySchema from \"../schemas/OdrlDuty.json\" with { type: \"json\" };\nimport OdrlLogicalConstraintSchema from \"../schemas/OdrlLogicalConstraint.json\" with { type: \"json\" };\nimport OdrlOfferSchema from \"../schemas/OdrlOffer.json\" with { type: \"json\" };\nimport OdrlPartySchema from \"../schemas/OdrlParty.json\" with { type: \"json\" };\nimport OdrlPartyCollectionSchema from \"../schemas/OdrlPartyCollection.json\" with { type: \"json\" };\nimport OdrlPermissionSchema from \"../schemas/OdrlPermission.json\" with { type: \"json\" };\nimport OdrlPolicySchema from \"../schemas/OdrlPolicy.json\" with { type: \"json\" };\nimport OdrlProhibitionSchema from \"../schemas/OdrlProhibition.json\" with { type: \"json\" };\nimport OdrlRuleSchema from \"../schemas/OdrlRule.json\" with { type: \"json\" };\nimport OdrlSetSchema from \"../schemas/OdrlSet.json\" with { type: \"json\" };\n\n/**\n * Handle all the data types for ODRL.\n */\nexport class OdrlDataTypes {\n\t/**\n\t * Register the JSON-LD Redirects.\n\t */\n\tpublic static registerRedirects(): void {\n\t\tJsonLdProcessor.addRedirect(\n\t\t\t/https?:\\/\\/www\\.w3\\.org\\/ns\\/odrl\\/?/,\n\t\t\tOdrlContexts.ContextRedirect\n\t\t);\n\t}\n\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Policy}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Policy,\n\t\t\tjsonSchema: async () => OdrlPolicySchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Asset}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Asset,\n\t\t\tjsonSchema: async () => OdrlAssetSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${OdrlContexts.ContextRoot}${OdrlTypes.AssetCollection}`,\n\t\t\t() => ({\n\t\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\t\ttype: OdrlTypes.AssetCollection,\n\t\t\t\tjsonSchema: async () => OdrlAssetCollectionSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Party}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Party,\n\t\t\tjsonSchema: async () => OdrlPartySchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${OdrlContexts.ContextRoot}${OdrlTypes.PartyCollection}`,\n\t\t\t() => ({\n\t\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\t\ttype: OdrlTypes.PartyCollection,\n\t\t\t\tjsonSchema: async () => OdrlPartyCollectionSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Action}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Action,\n\t\t\tjsonSchema: async () => OdrlActionSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Permission}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Permission,\n\t\t\tjsonSchema: async () => OdrlPermissionSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Prohibition}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Prohibition,\n\t\t\tjsonSchema: async () => OdrlProhibitionSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Duty}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Duty,\n\t\t\tjsonSchema: async () => OdrlDutySchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Constraint}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Constraint,\n\t\t\tjsonSchema: async () => OdrlConstraintSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${OdrlContexts.ContextRoot}${OdrlTypes.LogicalConstraint}`,\n\t\t\t() => ({\n\t\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\t\ttype: OdrlTypes.LogicalConstraint,\n\t\t\t\tjsonSchema: async () => OdrlLogicalConstraintSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Set}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Set,\n\t\t\tjsonSchema: async () => OdrlSetSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Offer}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Offer,\n\t\t\tjsonSchema: async () => OdrlOfferSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Agreement}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Agreement,\n\t\t\tjsonSchema: async () => OdrlAgreementSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Rule}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Rule,\n\t\t\tjsonSchema: async () => OdrlRuleSchema as IJsonSchema\n\t\t}));\n\t}\n}\n"]}
@@ -0,0 +1,31 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export * from "./dataTypes/odrlDataTypes.js";
4
+ export * from "./models/IOdrlAction.js";
5
+ export * from "./models/IOdrlAgreement.js";
6
+ export * from "./models/IOdrlAsset.js";
7
+ export * from "./models/IOdrlAssetCollection.js";
8
+ export * from "./models/IOdrlConstraint.js";
9
+ export * from "./models/IOdrlDuty.js";
10
+ export * from "./models/IOdrlLogicalConstraint.js";
11
+ export * from "./models/IOdrlOffer.js";
12
+ export * from "./models/IOdrlParty.js";
13
+ export * from "./models/IOdrlPartyCollection.js";
14
+ export * from "./models/IOdrlPermission.js";
15
+ export * from "./models/IOdrlPolicy.js";
16
+ export * from "./models/IOdrlProhibition.js";
17
+ export * from "./models/IOdrlRule.js";
18
+ export * from "./models/IOdrlSet.js";
19
+ export * from "./models/odrlContexts.js";
20
+ export * from "./models/odrlContextType.js";
21
+ export * from "./models/types/actionType.js";
22
+ export * from "./models/types/conflictStrategyType.js";
23
+ export * from "./models/types/leftOperandType.js";
24
+ export * from "./models/types/logicalConstraintType.js";
25
+ export * from "./models/types/odrlTypes.js";
26
+ export * from "./models/types/operatorType.js";
27
+ export * from "./models/types/policyType.js";
28
+ export * from "./models/types/rightOperandType.js";
29
+ export * from "./models/types/ruleType.js";
30
+ export * from "./models/types/statusType.js";
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOdrlAction.js","sourceRoot":"","sources":["../../../src/models/IOdrlAction.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 { IOdrlConstraint } from \"./IOdrlConstraint.js\";\nimport type { IOdrlLogicalConstraint } from \"./IOdrlLogicalConstraint.js\";\nimport type { ActionType } from \"./types/actionType.js\";\n\n/**\n * Interface for ODRL Actions.\n * https://www.w3.org/TR/odrl-model/#action\n */\nexport interface IOdrlAction extends IJsonLdNodeObject {\n\t/**\n\t * The value/identifier of the action.\n\t * Used in complex action definitions.\n\t */\n\t\"rdf:value\"?: { \"@id\": string };\n\n\t/**\n\t * Direct action identifier.\n\t * Used in simple action references.\n\t */\n\t\"@id\"?: string;\n\n\t/**\n\t * Refinements applied to the action.\n\t */\n\trefinement?:\n\t\t| IOdrlConstraint\n\t\t| IOdrlLogicalConstraint\n\t\t| (IOdrlConstraint | IOdrlLogicalConstraint)[];\n\n\t/**\n\t * Reference to the action this action is included in.\n\t */\n\tincludedIn?: ActionType | string;\n\n\t/**\n\t * References to actions this action implies.\n\t */\n\timplies?: (ActionType | string)[];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlAgreement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOdrlAgreement.js","sourceRoot":"","sources":["../../../src/models/IOdrlAgreement.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\nimport type { IOdrlPolicy } from \"./IOdrlPolicy.js\";\nimport type { OdrlTypes } from \"./types/odrlTypes.js\";\n\n/**\n * Interface representing an ODRL Agreement.\n * An Agreement requires both an assigner and assignee (both agreeing parties).\n * https://www.w3.org/TR/odrl-model/#policy-agreement\n */\nexport interface IOdrlAgreement extends IOdrlPolicy {\n\t/**\n\t * The type must be \"Agreement\".\n\t */\n\t\"@type\": typeof OdrlTypes.Agreement;\n\n\t/**\n\t * The assigner of the agreement.\n\t * Required for Agreement policies.\n\t */\n\tassigner: string | IOdrlParty;\n\n\t/**\n\t * The assignee of the agreement.\n\t * Required for Agreement policies.\n\t */\n\tassignee: string | IOdrlParty;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlAsset.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlAssetCollection.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlConstraint.js.map
@@ -0,0 +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 { 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?:\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\n\t/**\n\t * Reference to the right operand.\n\t */\n\trightOperandReference?: 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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlDuty.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlLogicalConstraint.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlOffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOdrlOffer.js","sourceRoot":"","sources":["../../../src/models/IOdrlOffer.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlParty } from \"./IOdrlParty.js\";\nimport type { IOdrlPolicy } from \"./IOdrlPolicy.js\";\nimport type { OdrlTypes } from \"./types/odrlTypes.js\";\n\n/**\n * Interface representing an ODRL Offer.\n * An Offer requires an assigner (the party making the offer).\n * https://www.w3.org/TR/odrl-model/#policy-offer\n */\nexport interface IOdrlOffer extends IOdrlPolicy {\n\t/**\n\t * The type must be \"Offer\".\n\t */\n\t\"@type\": typeof OdrlTypes.Offer;\n\n\t/**\n\t * The assigner of the offer.\n\t * Required for Offer policies.\n\t */\n\tassigner: string | IOdrlParty;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlParty.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlPartyCollection.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlPermission.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlPolicy.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlProhibition.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlRule.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOdrlSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOdrlSet.js","sourceRoot":"","sources":["../../../src/models/IOdrlSet.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlPolicy } from \"./IOdrlPolicy.js\";\nimport type { OdrlTypes } from \"./types/odrlTypes.js\";\n\n/**\n * Interface representing an ODRL Set.\n * A Set is a basic policy type with no specific party requirements.\n * https://www.w3.org/TR/odrl-model/#policy-set\n */\nexport interface IOdrlSet extends IOdrlPolicy {\n\t/**\n\t * The type must be \"Set\".\n\t */\n\t\"@type\": typeof OdrlTypes.Set;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=odrlContextType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odrlContextType.js","sourceRoot":"","sources":["../../../src/models/odrlContextType.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { OdrlContexts } from \"./odrlContexts.js\";\n\n/**\n * The ODRL JSON-LD context type.\n */\nexport type OdrlContextType =\n\t| typeof OdrlContexts.ContextRoot\n\t| [\n\t\t\t...IJsonLdContextDefinitionElement[],\n\t\t\ttypeof OdrlContexts.ContextRoot,\n\t\t\tIJsonLdContextDefinitionElement\n\t ]\n\t| [\n\t\t\tIJsonLdContextDefinitionElement,\n\t\t\ttypeof OdrlContexts.ContextRoot,\n\t\t\t...IJsonLdContextDefinitionElement[]\n\t ];\n"]}
@@ -0,0 +1,17 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * The contexts for ODRL.
5
+ */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ export const OdrlContexts = {
8
+ /**
9
+ * The context root for ODRL vocabulary.
10
+ */
11
+ ContextRoot: "https://www.w3.org/ns/odrl/2/",
12
+ /**
13
+ * The context root for ODRL.
14
+ */
15
+ ContextRedirect: "https://www.w3.org/ns/odrl.jsonld"
16
+ };
17
+ //# sourceMappingURL=odrlContexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odrlContexts.js","sourceRoot":"","sources":["../../../src/models/odrlContexts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B;;OAEG;IACH,WAAW,EAAE,+BAA+B;IAE5C;;OAEG;IACH,eAAe,EAAE,mCAAmC;CAC3C,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The contexts for ODRL.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const OdrlContexts = {\n\t/**\n\t * The context root for ODRL vocabulary.\n\t */\n\tContextRoot: \"https://www.w3.org/ns/odrl/2/\",\n\n\t/**\n\t * The context root for ODRL.\n\t */\n\tContextRedirect: \"https://www.w3.org/ns/odrl.jsonld\"\n} as const;\n\n/**\n * The contexts for ODRL.\n */\nexport type OdrlContexts = (typeof OdrlContexts)[keyof typeof OdrlContexts];\n"]}
@@ -0,0 +1,237 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * The types for ODRL Actions.
5
+ * Simple action types (for direct string usage)
6
+ */
7
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8
+ export const ActionType = {
9
+ // Core actions
10
+ /**
11
+ * The act of using an asset, covering any general usage where ownership does not change.
12
+ * This is the parent term for most permissions and prohibitions.
13
+ */
14
+ Use: "use",
15
+ /**
16
+ * The act of transferring the ownership of an asset in perpetuity to a third party.
17
+ */
18
+ Transfer: "transfer",
19
+ // Sub-actions of 'use'
20
+ /**
21
+ * The act of using an asset (or parts of it) as part of a composite collection.
22
+ */
23
+ Aggregate: "aggregate",
24
+ /**
25
+ * The act of adding explanatory notations/commentaries to the asset.
26
+ */
27
+ Annotate: "annotate",
28
+ /**
29
+ * The act of anonymising all or parts of the asset, for example, to remove identifying particulars.
30
+ */
31
+ Anonymize: "anonymize",
32
+ /**
33
+ * The act of persistently storing the asset in a non-transient form.
34
+ */
35
+ Archive: "archive",
36
+ /**
37
+ * The act of multiple concurrent use of the asset.
38
+ */
39
+ ConcurrentUse: "concurrentUse",
40
+ /**
41
+ * The act of using the asset in a business environment where it may be traded for profit.
42
+ */
43
+ Commercialize: "commercialize",
44
+ /**
45
+ * The act of making an exact reproduction of the asset. Also identified as `reproduce`.
46
+ */
47
+ Copy: "copy",
48
+ /**
49
+ * The act of creating a new derivative asset from the original and editing or modifying it.
50
+ */
51
+ Derive: "derive",
52
+ /**
53
+ * The act of producing a digital copy of an asset from its analogue form.
54
+ */
55
+ Digitize: "digitize",
56
+ /**
57
+ * The act of making a transient visible rendering of the asset, such as displaying an image on a screen.
58
+ * Also identified as `present` in earlier versions.
59
+ */
60
+ Display: "display",
61
+ /**
62
+ * The act of publicly distributing, displaying, or performing the asset.
63
+ */
64
+ Distribute: "distribute",
65
+ /**
66
+ * The act of executing the asset, such as running a program or application.
67
+ */
68
+ Execute: "execute",
69
+ /**
70
+ * The act of extracting (replicating) unchanged parts of the asset for reuse.
71
+ */
72
+ Extract: "extract",
73
+ /**
74
+ * The act of extracting unchanged character(s) from the asset.
75
+ */
76
+ ExtractChar: "extractChar",
77
+ /**
78
+ * The act of extracting unchanged word(s) from the asset.
79
+ */
80
+ ExtractWord: "extractWord",
81
+ /**
82
+ * The act of extracting unchanged page(s) from the asset.
83
+ */
84
+ ExtractPage: "extractPage",
85
+ /**
86
+ * The act of recording the asset in an index, for example, a search engine database.
87
+ */
88
+ Index: "index",
89
+ /**
90
+ * The act of loading the asset onto a storage device ready for operation.
91
+ */
92
+ Install: "install",
93
+ /**
94
+ * The act of granting the use of the asset to third parties. Also identified as `sublicense` in earlier versions.
95
+ */
96
+ License: "license",
97
+ /**
98
+ * The act of making the asset available to a third-party for a fixed period with exchange of value.
99
+ */
100
+ Lease: "lease",
101
+ /**
102
+ * The act of making the asset available to a third-party for a fixed period without exchange of value.
103
+ */
104
+ Lend: "lend",
105
+ /**
106
+ * The act of updating existing content of the asset without creating a new one.
107
+ */
108
+ Modify: "modify",
109
+ /**
110
+ * The act of moving the asset from one digital location to another and deleting the original.
111
+ */
112
+ Move: "move",
113
+ /**
114
+ * The act of rendering the asset into audio and/or video form.
115
+ */
116
+ Play: "play",
117
+ /**
118
+ * The act of providing a short preview of the asset.
119
+ */
120
+ Preview: "preview",
121
+ /**
122
+ * The act of rendering the asset onto paper or hard copy form.
123
+ */
124
+ Print: "print",
125
+ /**
126
+ * The act of obtaining data from the asset, such as a database record.
127
+ */
128
+ Read: "read",
129
+ /**
130
+ * The act of using the asset for a purpose other than its intended purpose.
131
+ */
132
+ SecondaryUse: "secondaryUse",
133
+ /**
134
+ * The act of non-commercial reproduction and distribution of the asset to third-parties.
135
+ */
136
+ Share: "share",
137
+ /**
138
+ * The act of sharing the asset to parties in close proximity to the owner.
139
+ */
140
+ AdhocShare: "adhocShare",
141
+ /**
142
+ * The act of distributing any derivative asset under the same terms as the original.
143
+ */
144
+ ShareAlike: "shareAlike",
145
+ /**
146
+ * The act of a system reading the text of the asset out loud.
147
+ */
148
+ TextToSpeech: "textToSpeech",
149
+ /**
150
+ * The act of translating the asset's original language into another, creating a new derivative asset.
151
+ */
152
+ Translate: "translate",
153
+ /**
154
+ * The act of transforming the asset into a different digital format.
155
+ */
156
+ Transform: "transform",
157
+ /**
158
+ * The act of unloading the asset from a storage device, making it no longer accessible.
159
+ */
160
+ Uninstall: "uninstall",
161
+ /**
162
+ * The act of applying a watermark to the asset.
163
+ */
164
+ Watermark: "watermark",
165
+ /**
166
+ * The act of writing to or modifying the asset.
167
+ */
168
+ Write: "write",
169
+ /**
170
+ * The act of adding to the end of an asset, for example, a database record.
171
+ * Also identified as `appendTo`.
172
+ */
173
+ Append: "append",
174
+ // Sub-actions of 'transfer'
175
+ /**
176
+ * The act of giving away the asset in perpetuity without exchange of value, requiring the original to be deleted.
177
+ */
178
+ Give: "give",
179
+ /**
180
+ * The act of trading the asset in exchange for compensation, requiring the original to be deleted.
181
+ */
182
+ Sell: "sell",
183
+ // Actions typically used in Duties
184
+ /**
185
+ * The act of accepting that the use of the asset may be tracked by a specified party.
186
+ */
187
+ AcceptTracking: "acceptTracking",
188
+ /**
189
+ * The act of keeping a policy notice attached to the asset.
190
+ */
191
+ AttachPolicy: "attachPolicy",
192
+ /**
193
+ * The act of attaching the source of the asset and its derivatives.
194
+ */
195
+ AttachSource: "attachSource",
196
+ /**
197
+ * The act of attributing the asset to a specified party.
198
+ */
199
+ Attribute: "attribute",
200
+ /**
201
+ * The act of compensating a specified party by some amount for use of the asset.
202
+ */
203
+ Compensate: "compensate",
204
+ /**
205
+ * The act of permanently removing all copies of the asset.
206
+ */
207
+ Delete: "delete",
208
+ /**
209
+ * The act of requiring the assigner to ensure a permission is exclusive to the assignee.
210
+ */
211
+ EnsureExclusivity: "ensureExclusivity",
212
+ /**
213
+ * The act of including other related assets to fulfil the function.
214
+ */
215
+ Include: "include",
216
+ /**
217
+ * The act of informing a party that an action has been performed on the asset.
218
+ */
219
+ Inform: "inform",
220
+ /**
221
+ * The act of specifying a policy for third-party use of the asset.
222
+ */
223
+ NextPolicy: "nextPolicy",
224
+ /**
225
+ * The act of requiring explicit consent from a party to perform an action.
226
+ */
227
+ ObtainConsent: "obtainConsent",
228
+ /**
229
+ * The act of paying a financial amount to a party for use of the asset.
230
+ */
231
+ Pay: "pay",
232
+ /**
233
+ * The act of performing a manual review of the terms associated with the asset.
234
+ */
235
+ ReviewPolicy: "reviewPolicy"
236
+ };
237
+ //# sourceMappingURL=actionType.js.map