@twin.org/rights-management-plugins 0.0.3-next.21 → 0.0.3-next.23

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 (28) hide show
  1. package/README.md +11 -3
  2. package/docs/changelog.md +45 -1
  3. package/docs/examples.md +295 -1
  4. package/docs/reference/classes/DefaultPolicyArbiter.md +3 -3
  5. package/docs/reference/classes/DefaultPolicyEnforcementProcessor.md +3 -3
  6. package/docs/reference/classes/IdentityPolicyInformationSource.md +3 -3
  7. package/docs/reference/classes/LoggingPolicyExecutionAction.md +4 -4
  8. package/docs/reference/classes/PassThroughPolicyArbiter.md +3 -3
  9. package/docs/reference/classes/PassThroughPolicyEnforcementProcessor.md +3 -3
  10. package/docs/reference/classes/PassThroughPolicyNegotiator.md +5 -5
  11. package/docs/reference/classes/PassThroughPolicyObligationEnforcer.md +3 -3
  12. package/docs/reference/classes/PassThroughPolicyRequester.md +6 -6
  13. package/docs/reference/classes/StaticPolicyInformationSource.md +4 -4
  14. package/docs/reference/interfaces/IDefaultPolicyArbiterConfig.md +1 -7
  15. package/docs/reference/interfaces/IDefaultPolicyArbiterConstructorOptions.md +3 -15
  16. package/docs/reference/interfaces/IDefaultPolicyEnforcementProcessorConstructorOptions.md +1 -7
  17. package/docs/reference/interfaces/IIdentityPolicyInformationSourceConstructorOptions.md +2 -14
  18. package/docs/reference/interfaces/ILoggingPolicyExecutionActionConfig.md +4 -22
  19. package/docs/reference/interfaces/ILoggingPolicyExecutionActionConstructorOptions.md +2 -8
  20. package/docs/reference/interfaces/IPassThroughPolicyArbiterConstructorOptions.md +1 -7
  21. package/docs/reference/interfaces/IPassThroughPolicyEnforcementProcessorConstructorOptions.md +1 -7
  22. package/docs/reference/interfaces/IPassThroughPolicyNegotiatorConstructorOptions.md +1 -7
  23. package/docs/reference/interfaces/IPassThroughPolicyObligationEnforcerConstructorOptions.md +1 -7
  24. package/docs/reference/interfaces/IPassThroughPolicyRequesterConstructorOptions.md +1 -7
  25. package/docs/reference/interfaces/IStaticPolicyInformationSource.md +3 -3
  26. package/docs/reference/interfaces/IStaticPolicyInformationSourceConfig.md +1 -1
  27. package/docs/reference/interfaces/IStaticPolicyInformationSourceConstructorOptions.md +2 -8
  28. package/package.json +3 -3
package/README.md CHANGED
@@ -1,12 +1,20 @@
1
1
  # TWIN Rights Management Plugins
2
2
 
3
- Rights Management plugin implementations.
3
+ This package provides plugin implementations for extending rights management behaviour across components. It supports modular customisation for deployment-specific requirements.
4
4
 
5
5
  ## Installation
6
6
 
7
- ```shell
7
+ `shell
8
8
  npm install @twin.org/rights-management-plugins
9
- ```
9
+ `
10
+
11
+ ## Testing
12
+
13
+ Run the package test suite with:
14
+
15
+ `shell
16
+ npm test
17
+ `
10
18
 
11
19
  ## Examples
12
20
 
package/docs/changelog.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.23](https://github.com/twinfoundation/rights-management/compare/rights-management-plugins-v0.0.3-next.22...rights-management-plugins-v0.0.3-next.23) (2026-03-13)
4
+
5
+
6
+ ### Miscellaneous Chores
7
+
8
+ * **rights-management-plugins:** Synchronize repo versions
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/rights-management-models bumped from 0.0.3-next.22 to 0.0.3-next.23
16
+ * devDependencies
17
+ * @twin.org/rights-management-pap-service bumped from 0.0.3-next.22 to 0.0.3-next.23
18
+ * @twin.org/rights-management-pdp-service bumped from 0.0.3-next.22 to 0.0.3-next.23
19
+ * @twin.org/rights-management-pep-service bumped from 0.0.3-next.22 to 0.0.3-next.23
20
+ * @twin.org/rights-management-pip-service bumped from 0.0.3-next.22 to 0.0.3-next.23
21
+ * @twin.org/rights-management-pmp-service bumped from 0.0.3-next.22 to 0.0.3-next.23
22
+ * @twin.org/rights-management-pnp-service bumped from 0.0.3-next.22 to 0.0.3-next.23
23
+ * @twin.org/rights-management-pxp-service bumped from 0.0.3-next.22 to 0.0.3-next.23
24
+
25
+ ## [0.0.3-next.22](https://github.com/twinfoundation/rights-management/compare/rights-management-plugins-v0.0.3-next.21...rights-management-plugins-v0.0.3-next.22) (2026-03-09)
26
+
27
+
28
+ ### Miscellaneous Chores
29
+
30
+ * **rights-management-plugins:** Synchronize repo versions
31
+
32
+
33
+ ### Dependencies
34
+
35
+ * The following workspace dependencies were updated
36
+ * dependencies
37
+ * @twin.org/rights-management-models bumped from 0.0.3-next.21 to 0.0.3-next.22
38
+ * devDependencies
39
+ * @twin.org/rights-management-pap-service bumped from 0.0.3-next.21 to 0.0.3-next.22
40
+ * @twin.org/rights-management-pdp-service bumped from 0.0.3-next.21 to 0.0.3-next.22
41
+ * @twin.org/rights-management-pep-service bumped from 0.0.3-next.21 to 0.0.3-next.22
42
+ * @twin.org/rights-management-pip-service bumped from 0.0.3-next.21 to 0.0.3-next.22
43
+ * @twin.org/rights-management-pmp-service bumped from 0.0.3-next.21 to 0.0.3-next.22
44
+ * @twin.org/rights-management-pnp-service bumped from 0.0.3-next.21 to 0.0.3-next.22
45
+ * @twin.org/rights-management-pxp-service bumped from 0.0.3-next.21 to 0.0.3-next.22
46
+
3
47
  ## [0.0.3-next.21](https://github.com/twinfoundation/rights-management/compare/rights-management-plugins-v0.0.3-next.20...rights-management-plugins-v0.0.3-next.21) (2026-03-06)
4
48
 
5
49
 
@@ -326,4 +370,4 @@
326
370
  * dependencies
327
371
  * @twin.org/rights-management-models bumped from 0.0.3-next.3 to 0.0.3-next.4
328
372
 
329
- ## @twin.org/rights-management-plugins - Changelog
373
+ ## Changelog
package/docs/examples.md CHANGED
@@ -1 +1,295 @@
1
- # @twin.org/rights-management-plugins - Examples
1
+ # Rights Management Plugins Examples
2
+
3
+ These examples show how to wire default and pass-through plugins so negotiation, information retrieval, enforcement, and execution behaviours stay predictable.
4
+
5
+ ## PassThroughPolicyRequester
6
+
7
+ ```typescript
8
+ import { PassThroughPolicyRequester } from '@twin.org/rights-management-plugins';
9
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
10
+
11
+ const requester = new PassThroughPolicyRequester();
12
+
13
+ const offerAccepted = await requester.offer('neg-1', {
14
+ '@id': 'urn:rights-management:offer-1',
15
+ '@type': PolicyType.Offer,
16
+ assigner: 'did:example:provider'
17
+ });
18
+
19
+ const agreementAccepted = await requester.agreement('neg-1', {
20
+ '@id': 'urn:rights-management:agreement-1',
21
+ '@type': PolicyType.Agreement,
22
+ assigner: 'did:example:provider',
23
+ assignee: 'did:example:consumer'
24
+ });
25
+
26
+ await requester.finalised('neg-1');
27
+ await requester.terminated('neg-1');
28
+
29
+ console.log(requester.className()); // PassThroughPolicyRequester
30
+ console.log(offerAccepted); // true
31
+ console.log(agreementAccepted); // true
32
+ ```
33
+
34
+ ## PassThroughPolicyNegotiator
35
+
36
+ ```typescript
37
+ import { PassThroughPolicyNegotiator } from '@twin.org/rights-management-plugins';
38
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
39
+
40
+ const negotiator = new PassThroughPolicyNegotiator();
41
+
42
+ const offer = {
43
+ '@id': 'urn:rights-management:offer-1',
44
+ '@type': PolicyType.Offer,
45
+ assigner: 'did:example:provider'
46
+ };
47
+
48
+ const supported = negotiator.supportsOffer(offer);
49
+ const handled = await negotiator.handleOffer(offer, {
50
+ 'did:example:consumer': {
51
+ '@id': 'did:example:consumer'
52
+ }
53
+ });
54
+ const agreement = await negotiator.createAgreement(offer, 'did:example:consumer', {
55
+ 'did:example:consumer': {
56
+ '@id': 'did:example:consumer'
57
+ }
58
+ });
59
+
60
+ console.log(negotiator.className()); // PassThroughPolicyNegotiator
61
+ console.log(supported); // true
62
+ console.log(handled.accepted); // true
63
+ console.log(agreement?.['@type']); // Agreement
64
+ ```
65
+
66
+ ## LoggingPolicyExecutionAction
67
+
68
+ ```typescript
69
+ import { LoggingPolicyExecutionAction } from '@twin.org/rights-management-plugins';
70
+ import { PolicyDecision, PolicyDecisionStage } from '@twin.org/rights-management-models';
71
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
72
+
73
+ const action = new LoggingPolicyExecutionAction({
74
+ config: {
75
+ stages: [PolicyDecisionStage.Before, PolicyDecisionStage.After],
76
+ includeData: true,
77
+ includePolicy: false,
78
+ includeDecisions: true
79
+ }
80
+ });
81
+
82
+ await action.execute(
83
+ {
84
+ '@id': 'urn:rights-management:agreement-1',
85
+ '@type': PolicyType.Agreement,
86
+ assigner: 'did:example:provider',
87
+ assignee: 'did:example:consumer'
88
+ },
89
+ [{ target: '$.asset', decision: PolicyDecision.Granted }],
90
+ { asset: 'dataset-1' },
91
+ 'use',
92
+ PolicyDecisionStage.Before
93
+ );
94
+
95
+ console.log(action.className()); // LoggingPolicyExecutionAction
96
+ console.log(action.supportedStages()); // [ 'before', 'after' ]
97
+ ```
98
+
99
+ ## StaticPolicyInformationSource
100
+
101
+ ```typescript
102
+ import { PolicyInformationAccessMode } from '@twin.org/rights-management-models';
103
+ import { StaticPolicyInformationSource } from '@twin.org/rights-management-plugins';
104
+
105
+ const source = new StaticPolicyInformationSource({
106
+ config: {
107
+ information: [
108
+ {
109
+ accessMode: PolicyInformationAccessMode.Any,
110
+ objects: {
111
+ 'did:example:consumer': {
112
+ '@id': 'did:example:consumer'
113
+ }
114
+ }
115
+ }
116
+ ]
117
+ }
118
+ });
119
+
120
+ source.addInformation({
121
+ accessMode: PolicyInformationAccessMode.Public,
122
+ objects: {
123
+ 'urn:asset:dataset-1': {
124
+ '@id': 'urn:asset:dataset-1'
125
+ }
126
+ },
127
+ matchLocators: [
128
+ {
129
+ target: 'urn:asset:dataset-1'
130
+ }
131
+ ]
132
+ });
133
+
134
+ const result = await source.retrieve(
135
+ {
136
+ '@id': 'urn:rights-management:agreement-1',
137
+ '@type': 'Agreement',
138
+ target: 'urn:asset:dataset-1'
139
+ },
140
+ PolicyInformationAccessMode.Public,
141
+ { requestId: 'request-1' },
142
+ 'use'
143
+ );
144
+
145
+ console.log(source.className()); // StaticPolicyInformationSource
146
+ console.log(Object.keys(result ?? {}).length); // 2
147
+ ```
148
+
149
+ ## DefaultPolicyArbiter
150
+
151
+ ```typescript
152
+ import { DefaultPolicyArbiter } from '@twin.org/rights-management-plugins';
153
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
154
+
155
+ const arbiter = new DefaultPolicyArbiter();
156
+
157
+ const decisions = await arbiter.decide(
158
+ {
159
+ '@id': 'urn:rights-management:agreement-1',
160
+ '@type': PolicyType.Agreement,
161
+ assigner: 'did:example:provider',
162
+ assignee: 'did:example:consumer',
163
+ permission: [
164
+ {
165
+ target: 'urn:asset:dataset-1',
166
+ action: 'use'
167
+ }
168
+ ]
169
+ },
170
+ {},
171
+ { asset: 'dataset-1' },
172
+ 'use'
173
+ );
174
+
175
+ console.log(arbiter.className()); // DefaultPolicyArbiter
176
+ console.log(decisions[0].decision); // granted
177
+ ```
178
+
179
+ ## PassThroughPolicyArbiter
180
+
181
+ ```typescript
182
+ import { PassThroughPolicyArbiter } from '@twin.org/rights-management-plugins';
183
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
184
+
185
+ const arbiter = new PassThroughPolicyArbiter();
186
+
187
+ const decisions = await arbiter.decide(
188
+ {
189
+ '@id': 'urn:rights-management:agreement-2',
190
+ '@type': PolicyType.Agreement,
191
+ assigner: 'did:example:provider',
192
+ assignee: 'did:example:consumer'
193
+ },
194
+ {},
195
+ { asset: 'dataset-2' },
196
+ 'read'
197
+ );
198
+
199
+ console.log(arbiter.className()); // PassThroughPolicyArbiter
200
+ console.log(decisions[0].decision); // granted
201
+ ```
202
+
203
+ ## DefaultPolicyEnforcementProcessor
204
+
205
+ ```typescript
206
+ import { PolicyDecision } from '@twin.org/rights-management-models';
207
+ import { DefaultPolicyEnforcementProcessor } from '@twin.org/rights-management-plugins';
208
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
209
+
210
+ const processor = new DefaultPolicyEnforcementProcessor();
211
+
212
+ const processed = await processor.process(
213
+ {
214
+ '@id': 'urn:rights-management:agreement-1',
215
+ '@type': PolicyType.Agreement
216
+ },
217
+ [{ target: '$.asset', decision: PolicyDecision.Granted }],
218
+ { asset: 'dataset-1', hidden: 'no' },
219
+ 'use'
220
+ );
221
+
222
+ console.log(processor.className()); // DefaultPolicyEnforcementProcessor
223
+ console.log(processed); // { asset: 'dataset-1' }
224
+ ```
225
+
226
+ ## PassThroughPolicyEnforcementProcessor
227
+
228
+ ```typescript
229
+ import { PassThroughPolicyEnforcementProcessor } from '@twin.org/rights-management-plugins';
230
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
231
+
232
+ const processor = new PassThroughPolicyEnforcementProcessor();
233
+
234
+ const result = await processor.process(
235
+ {
236
+ '@id': 'urn:rights-management:agreement-1',
237
+ '@type': PolicyType.Agreement
238
+ },
239
+ [],
240
+ { asset: 'dataset-1' },
241
+ 'use'
242
+ );
243
+
244
+ console.log(processor.className()); // PassThroughPolicyEnforcementProcessor
245
+ console.log(result); // { asset: 'dataset-1' }
246
+ ```
247
+
248
+ ## IdentityPolicyInformationSource
249
+
250
+ ```typescript
251
+ import { PolicyInformationAccessMode } from '@twin.org/rights-management-models';
252
+ import { IdentityPolicyInformationSource } from '@twin.org/rights-management-plugins';
253
+
254
+ const source = new IdentityPolicyInformationSource();
255
+
256
+ const info = await source.retrieve(
257
+ {
258
+ '@id': 'urn:rights-management:agreement-1',
259
+ '@type': 'Agreement',
260
+ assigner: 'did:example:provider',
261
+ assignee: 'did:example:consumer'
262
+ },
263
+ PolicyInformationAccessMode.Any,
264
+ { requestId: 'request-2' },
265
+ 'use'
266
+ );
267
+
268
+ console.log(source.className()); // IdentityPolicyInformationSource
269
+ console.log(Object.keys(info ?? {}).length); // 2
270
+ ```
271
+
272
+ ## PassThroughPolicyObligationEnforcer
273
+
274
+ ```typescript
275
+ import { PassThroughPolicyObligationEnforcer } from '@twin.org/rights-management-plugins';
276
+ import { PolicyType } from '@twin.org/standards-w3c-odrl';
277
+
278
+ const enforcer = new PassThroughPolicyObligationEnforcer();
279
+
280
+ const enforced = await enforcer.enforce(
281
+ {
282
+ '@id': 'urn:rights-management:agreement-1',
283
+ '@type': PolicyType.Agreement
284
+ },
285
+ {
286
+ action: 'use'
287
+ },
288
+ {},
289
+ { requestId: 'request-3' },
290
+ 'use'
291
+ );
292
+
293
+ console.log(enforcer.className()); // PassThroughPolicyObligationEnforcer
294
+ console.log(enforced); // true
295
+ ```
@@ -28,7 +28,7 @@ The options for the default policy arbiter.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Default Policy Arbiter.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### decide()
57
+ ### decide() {#decide}
58
58
 
59
59
  > **decide**\<`D`\>(`agreement`, `information?`, `data?`, `action?`): `Promise`\<`IPolicyDecision`[]\>
60
60
 
@@ -28,7 +28,7 @@ The options for the default policy enforcement processor.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Default Policy Enforcement Processor.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### process()
57
+ ### process() {#process}
58
58
 
59
59
  > **process**\<`D`, `R`\>(`agreement`, `decisions`, `data?`, `action?`): `Promise`\<`R`\>
60
60
 
@@ -28,7 +28,7 @@ The options for the logging policy source.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Identity Policy Information Source.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### retrieve()
57
+ ### retrieve() {#retrieve}
58
58
 
59
59
  > **retrieve**\<`D`\>(`policy`, `accessMode`, `data?`, `action?`): `Promise`\<\{\[`id`: `string`\]: `IJsonLdNodeObject`; \} \| `undefined`\>
60
60
 
@@ -28,7 +28,7 @@ The options for the logging policy execution action.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Logging Policy Execution Action.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### supportedStages()
57
+ ### supportedStages() {#supportedstages}
58
58
 
59
59
  > **supportedStages**(): `PolicyDecisionStage`[]
60
60
 
@@ -72,7 +72,7 @@ List of stages.
72
72
 
73
73
  ***
74
74
 
75
- ### execute()
75
+ ### execute() {#execute}
76
76
 
77
77
  > **execute**\<`D`\>(`policy`, `decisions`, `data`, `action`, `stage`): `Promise`\<`void`\>
78
78
 
@@ -28,7 +28,7 @@ The options for the pass through policy arbiter.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Pass Through Policy Arbiter.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### decide()
57
+ ### decide() {#decide}
58
58
 
59
59
  > **decide**\<`D`\>(`agreement`, `information?`, `data?`, `action?`): `Promise`\<`IPolicyDecision`[]\>
60
60
 
@@ -28,7 +28,7 @@ The options for the pass through policy enforcement processor.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Pass Through Policy Enforcement Processor.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### process()
57
+ ### process() {#process}
58
58
 
59
59
  > **process**\<`D`, `R`\>(`agreement`, `decisions`, `data?`, `action?`): `Promise`\<`R`\>
60
60
 
@@ -28,7 +28,7 @@ The options for the pass through policy negotiator.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Pass Through Policy Negotiator.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### supportsOffer()
57
+ ### supportsOffer() {#supportsoffer}
58
58
 
59
59
  > **supportsOffer**(`offer`): `boolean`
60
60
 
@@ -80,7 +80,7 @@ Sets the supports flag if it can be offered, and the interventionRequired flag i
80
80
 
81
81
  ***
82
82
 
83
- ### handleOffer()
83
+ ### handleOffer() {#handleoffer}
84
84
 
85
85
  > **handleOffer**(`offer`, `information?`): `Promise`\<\{ `accepted`: `boolean`; `interventionRequired`: `boolean`; \}\>
86
86
 
@@ -110,7 +110,7 @@ Sets the accepted flag if it can be offered, and the interventionRequired flag i
110
110
 
111
111
  ***
112
112
 
113
- ### createAgreement()
113
+ ### createAgreement() {#createagreement}
114
114
 
115
115
  > **createAgreement**(`offer`, `assignee`, `information?`): `Promise`\<`IDataspaceProtocolAgreement` \| `undefined`\>
116
116
 
@@ -28,7 +28,7 @@ The options for the pass through policy obligation enforcer.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Pass Through Policy Obligation Enforcer.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### enforce()
57
+ ### enforce() {#enforce}
58
58
 
59
59
  > **enforce**\<`D`\>(`policy`, `duty`, `information?`, `data?`, `action?`): `Promise`\<`boolean`\>
60
60
 
@@ -28,7 +28,7 @@ The options for the pass through policy Requester.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Pass Through Policy Requester.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### offer()
57
+ ### offer() {#offer}
58
58
 
59
59
  > **offer**(`negotiationId`, `offer`): `Promise`\<`boolean`\>
60
60
 
@@ -86,7 +86,7 @@ True if the offer was accepted, false otherwise.
86
86
 
87
87
  ***
88
88
 
89
- ### agreement()
89
+ ### agreement() {#agreement}
90
90
 
91
91
  > **agreement**(`negotiationId`, `agreement`): `Promise`\<`boolean`\>
92
92
 
@@ -118,7 +118,7 @@ True if the agreement was accepted, false otherwise.
118
118
 
119
119
  ***
120
120
 
121
- ### finalised()
121
+ ### finalised() {#finalised}
122
122
 
123
123
  > **finalised**(`negotiationId`): `Promise`\<`void`\>
124
124
 
@@ -144,7 +144,7 @@ Nothing.
144
144
 
145
145
  ***
146
146
 
147
- ### terminated()
147
+ ### terminated() {#terminated}
148
148
 
149
149
  > **terminated**(`negotiationId`): `Promise`\<`void`\>
150
150
 
@@ -28,7 +28,7 @@ The options for the logging policy source.
28
28
 
29
29
  ## Properties
30
30
 
31
- ### CLASS\_NAME
31
+ ### CLASS\_NAME {#class_name}
32
32
 
33
33
  > `readonly` `static` **CLASS\_NAME**: `string`
34
34
 
@@ -36,7 +36,7 @@ The class name of the Static Policy Information Source.
36
36
 
37
37
  ## Methods
38
38
 
39
- ### className()
39
+ ### className() {#classname}
40
40
 
41
41
  > **className**(): `string`
42
42
 
@@ -54,7 +54,7 @@ The class name of the component.
54
54
 
55
55
  ***
56
56
 
57
- ### retrieve()
57
+ ### retrieve() {#retrieve}
58
58
 
59
59
  > **retrieve**\<`D`\>(`policy`, `accessMode`, `data?`, `action?`): `Promise`\<\{\[`id`: `string`\]: `IJsonLdNodeObject`; \} \| `undefined`\>
60
60
 
@@ -104,7 +104,7 @@ The objects containing relevant information or undefined if nothing relevant is
104
104
 
105
105
  ***
106
106
 
107
- ### addInformation()
107
+ ### addInformation() {#addinformation}
108
108
 
109
109
  > **addInformation**(`info`): `void`
110
110
 
@@ -4,14 +4,8 @@ Configuration for the Default Policy Arbiter.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### maxInheritanceDepth?
7
+ ### maxInheritanceDepth? {#maxinheritancedepth}
8
8
 
9
9
  > `optional` **maxInheritanceDepth**: `number`
10
10
 
11
11
  The maximum depth to traverse when resolving inherited policies.
12
-
13
- #### Default
14
-
15
- ```ts
16
- 10
17
- ```
@@ -4,35 +4,23 @@ Options for the Default Policy Arbiter.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for policy arbiter.
12
12
 
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
18
-
19
13
  ***
20
14
 
21
- ### policyAdministrationPointComponentType?
15
+ ### policyAdministrationPointComponentType? {#policyadministrationpointcomponenttype}
22
16
 
23
17
  > `optional` **policyAdministrationPointComponentType**: `string`
24
18
 
25
19
  The policy administration point component for retrieving inherited policies.
26
20
 
27
- #### Default
28
-
29
- ```ts
30
- policy-administration-point
31
- ```
32
-
33
21
  ***
34
22
 
35
- ### config?
23
+ ### config? {#config}
36
24
 
37
25
  > `optional` **config**: [`IDefaultPolicyArbiterConfig`](IDefaultPolicyArbiterConfig.md)
38
26
 
@@ -4,14 +4,8 @@ Options for the Default Policy Enforcement Processor.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for policy enforcement processor.
12
-
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
@@ -4,28 +4,16 @@ Options for the Identity Policy Information Source Component.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for logging policy source.
12
12
 
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
18
-
19
13
  ***
20
14
 
21
- ### identityResolverComponentType?
15
+ ### identityResolverComponentType? {#identityresolvercomponenttype}
22
16
 
23
17
  > `optional` **identityResolverComponentType**: `string`
24
18
 
25
19
  The component for resolving identities.
26
-
27
- #### Default
28
-
29
- ```ts
30
- identity-resolver
31
- ```
@@ -4,7 +4,7 @@ Options for the Logging Policy Execution Action Component.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### stages?
7
+ ### stages? {#stages}
8
8
 
9
9
  > `optional` **stages**: `PolicyDecisionStage`[]
10
10
 
@@ -12,42 +12,24 @@ The policy decision stages to log, if undefined defaults to all.
12
12
 
13
13
  ***
14
14
 
15
- ### includeData?
15
+ ### includeData? {#includedata}
16
16
 
17
17
  > `optional` **includeData**: `boolean`
18
18
 
19
19
  Whether to include the data in the log.
20
20
 
21
- #### Default
22
-
23
- ```ts
24
- false
25
- ```
26
-
27
21
  ***
28
22
 
29
- ### includePolicy?
23
+ ### includePolicy? {#includepolicy}
30
24
 
31
25
  > `optional` **includePolicy**: `boolean`
32
26
 
33
27
  Whether to include the policy in the log.
34
28
 
35
- #### Default
36
-
37
- ```ts
38
- false
39
- ```
40
-
41
29
  ***
42
30
 
43
- ### includeDecisions?
31
+ ### includeDecisions? {#includedecisions}
44
32
 
45
33
  > `optional` **includeDecisions**: `boolean`
46
34
 
47
35
  Whether to include the decisions in the log.
48
-
49
- #### Default
50
-
51
- ```ts
52
- false
53
- ```
@@ -4,21 +4,15 @@ Options for the Logging Policy Execution Action.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for logging policy execution.
12
12
 
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
18
-
19
13
  ***
20
14
 
21
- ### config?
15
+ ### config? {#config}
22
16
 
23
17
  > `optional` **config**: [`ILoggingPolicyExecutionActionConfig`](ILoggingPolicyExecutionActionConfig.md)
24
18
 
@@ -4,14 +4,8 @@ Options for the Pass Through Policy Arbiter.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for policy arbiter.
12
-
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
@@ -4,14 +4,8 @@ Options for the Pass Through Policy Enforcement Processor.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for policy enforcement processor.
12
-
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
@@ -4,14 +4,8 @@ Options for the Pass Through Policy Negotiator.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for policy negotiator.
12
-
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
@@ -4,14 +4,8 @@ Options for the Pass Through Policy Obligation Enforcer.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for the policy obligation enforcer.
12
-
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
@@ -4,14 +4,8 @@ Options for the Pass Through Policy Requester.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for policy requester.
12
-
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
@@ -4,7 +4,7 @@ Configuration for the Static Policy Information Source Component.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### accessMode
7
+ ### accessMode {#accessmode}
8
8
 
9
9
  > **accessMode**: `PolicyInformationAccessMode`
10
10
 
@@ -12,7 +12,7 @@ Is the information public, if so it will be shared with negotiation requests.
12
12
 
13
13
  ***
14
14
 
15
- ### matchLocators?
15
+ ### matchLocators? {#matchlocators}
16
16
 
17
17
  > `optional` **matchLocators**: `object`[]
18
18
 
@@ -36,7 +36,7 @@ Information is only provided for the specified locator combination.
36
36
 
37
37
  ***
38
38
 
39
- ### objects
39
+ ### objects {#objects}
40
40
 
41
41
  > **objects**: `object`
42
42
 
@@ -4,7 +4,7 @@ Configuration for the Static Policy Information Source Component.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### information?
7
+ ### information? {#information}
8
8
 
9
9
  > `optional` **information**: [`IStaticPolicyInformationSource`](IStaticPolicyInformationSource.md)[]
10
10
 
@@ -4,21 +4,15 @@ Options for the Static Policy Information Source Component.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### loggingComponentType?
7
+ ### loggingComponentType? {#loggingcomponenttype}
8
8
 
9
9
  > `optional` **loggingComponentType**: `string`
10
10
 
11
11
  The logging component for logging policy source.
12
12
 
13
- #### Default
14
-
15
- ```ts
16
- logging
17
- ```
18
-
19
13
  ***
20
14
 
21
- ### config?
15
+ ### config? {#config}
22
16
 
23
17
  > `optional` **config**: [`IStaticPolicyInformationSourceConfig`](IStaticPolicyInformationSourceConfig.md)
24
18
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@twin.org/rights-management-plugins",
3
- "version": "0.0.3-next.21",
4
- "description": "Rights management plugin implementations",
3
+ "version": "0.0.3-next.23",
4
+ "description": "Plugin implementations for extending rights management behaviour across components.",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/twinfoundation/rights-management.git",
@@ -24,7 +24,7 @@
24
24
  "@twin.org/data-json-path": "next",
25
25
  "@twin.org/logging-models": "next",
26
26
  "@twin.org/nameof": "next",
27
- "@twin.org/rights-management-models": "0.0.3-next.21",
27
+ "@twin.org/rights-management-models": "0.0.3-next.23",
28
28
  "@twin.org/standards-w3c-odrl": "next"
29
29
  },
30
30
  "main": "./dist/es/index.js",