@twin.org/node-core 0.0.2-next.11 → 0.0.2-next.12

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.
@@ -154,7 +154,7 @@ async function bootstrap(engineCore, context, envVars) {
154
154
  await addVerificationMethod(engineCore, context, "attestation", envVars.attestationVerificationMethodId);
155
155
  await addVerificationMethod(engineCore, context, "immutable proof", envVars.immutableProofVerificationMethodId);
156
156
  if (core.Coerce.boolean(envVars.rightsManagementEnabled) ?? false) {
157
- await addVerificationMethod(engineCore, context, "rights management", envVars.rightsManagementNegotiationMethodId);
157
+ await addVerificationMethod(engineCore, context, "rights management", envVars.rightsManagementVerificationMethodId);
158
158
  }
159
159
  await bootstrapSynchronisedStorage(engineCore, context, envVars);
160
160
  }
@@ -575,7 +575,7 @@ function buildEngineConfiguration(envVars) {
575
575
  envVars.blobStorageEncryptionKeyId ??= "blob-encryption";
576
576
  envVars.synchronisedStorageBlobStorageEncryptionKeyId ??= "synchronised-storage-blob-encryption";
577
577
  envVars.synchronisedStorageVerificationMethodId ??= "synchronised-storage-assertion";
578
- envVars.rightsManagementNegotiationMethodId ??= "policy-negotiation-assertion";
578
+ envVars.rightsManagementVerificationMethodId ??= "rights-management-assertion";
579
579
  const coreConfig = {
580
580
  debug: core.Coerce.boolean(envVars.debug) ?? false,
581
581
  types: {}
@@ -1393,7 +1393,12 @@ function configureRightsManagement(coreConfig, envVars) {
1393
1393
  });
1394
1394
  coreConfig.types.rightsManagementPdpComponent ??= [];
1395
1395
  coreConfig.types.rightsManagementPdpComponent.push({
1396
- type: engineTypes.RightsManagementPdpComponentType.Service
1396
+ type: engineTypes.RightsManagementPdpComponentType.Service,
1397
+ options: {
1398
+ arbiterModulesConfig: core.Is.arrayValue(envVars.rightsManagementArbiters)
1399
+ ? envVars.rightsManagementArbiters
1400
+ : undefined
1401
+ }
1397
1402
  });
1398
1403
  coreConfig.types.rightsManagementPepComponent ??= [];
1399
1404
  coreConfig.types.rightsManagementPepComponent.push({
@@ -1410,20 +1415,35 @@ function configureRightsManagement(coreConfig, envVars) {
1410
1415
  options: {
1411
1416
  negotiatorModulesConfig: core.Is.arrayValue(envVars.rightsManagementNegotiators)
1412
1417
  ? envVars.rightsManagementNegotiators
1413
- : undefined
1418
+ : undefined,
1419
+ requesterModulesConfig: core.Is.arrayValue(envVars.rightsManagementRequesters)
1420
+ ? envVars.rightsManagementRequesters
1421
+ : undefined,
1422
+ config: {
1423
+ baseCallbackUrl: envVars.rightsManagementBaseCallbackUrl ?? "",
1424
+ rightsManagementMethodId: envVars.rightsManagementVerificationMethodId ?? "",
1425
+ offers: core.Is.arrayValue(envVars.rightsManagementOffers)
1426
+ ? envVars.rightsManagementOffers
1427
+ : [],
1428
+ negotiationComponentCreator: async (url) => new rightsManagementRestClient.PolicyNegotiationPointClient({ endpoint: url })
1429
+ }
1414
1430
  }
1415
1431
  });
1416
1432
  coreConfig.types.rightsManagementPnapComponent ??= [];
1417
1433
  coreConfig.types.rightsManagementPnapComponent.push({
1418
1434
  type: engineTypes.RightsManagementPnapComponentType.Service
1419
1435
  });
1420
- coreConfig.types.rightsManagementPnrpComponent ??= [];
1421
- coreConfig.types.rightsManagementPnrpComponent.push({
1422
- type: engineTypes.RightsManagementPnrpComponentType.Service,
1436
+ coreConfig.types.rightsManagementDapComponent ??= [];
1437
+ coreConfig.types.rightsManagementDapComponent.push({
1438
+ type: engineTypes.RightsManagementDapComponentType.Service
1439
+ });
1440
+ coreConfig.types.rightsManagementDarpComponent ??= [];
1441
+ coreConfig.types.rightsManagementDarpComponent.push({
1442
+ type: engineTypes.RightsManagementDarpComponentType.Service,
1423
1443
  options: {
1424
1444
  config: {
1425
- negotiationMethodId: envVars.rightsManagementNegotiationMethodId ?? "",
1426
- negotiationComponentCreator: async (url) => new rightsManagementRestClient.PolicyNegotiationPointClient({ endpoint: url })
1445
+ rightsManagementMethodId: envVars.rightsManagementVerificationMethodId ?? "",
1446
+ dataAccessComponentCreator: async (url) => new rightsManagementRestClient.DataAccessPointClient({ endpoint: url })
1427
1447
  }
1428
1448
  }
1429
1449
  });
@@ -1767,7 +1787,7 @@ async function run(nodeOptions) {
1767
1787
  nodeOptions ??= {};
1768
1788
  const serverInfo = {
1769
1789
  name: nodeOptions?.serverName ?? "TWIN Node Server",
1770
- version: nodeOptions?.serverVersion ?? "0.0.2-next.11" // x-release-please-version
1790
+ version: nodeOptions?.serverVersion ?? "0.0.2-next.12" // x-release-please-version
1771
1791
  };
1772
1792
  console.log(`\u001B[4m🌩️ ${serverInfo.name} v${serverInfo.version}\u001B[24m\n`);
1773
1793
  if (!core.Is.stringValue(nodeOptions?.executionDirectory)) {
@@ -2,14 +2,14 @@ import { PasswordHelper } from '@twin.org/api-auth-entity-storage-service';
2
2
  import { I18n, Is, Coerce, Converter, RandomHelper, StringHelper, Urn, GeneralError, ErrorHelper, EnvHelper } from '@twin.org/core';
3
3
  import { PasswordGenerator, Bip39 } from '@twin.org/crypto';
4
4
  import { AuthenticationComponentType, InformationComponentType, RestRouteProcessorType, SocketRouteProcessorType, AuthenticationAdminComponentType } from '@twin.org/engine-server-types';
5
- import { WalletConnectorType, IdentityConnectorType, EntityStorageConnectorType, BlobStorageConnectorType, BlobStorageComponentType, VaultConnectorType, DltConfigType, LoggingConnectorType, LoggingComponentType, BackgroundTaskConnectorType, TaskSchedulerComponentType, EventBusConnectorType, EventBusComponentType, TelemetryConnectorType, TelemetryComponentType, MessagingEmailConnectorType, MessagingSmsConnectorType, MessagingPushNotificationConnectorType, MessagingComponentType, FaucetConnectorType, NftConnectorType, NftComponentType, VerifiableStorageConnectorType, VerifiableStorageComponentType, ImmutableProofComponentType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, IdentityComponentType, IdentityResolverConnectorType, IdentityResolverComponentType, IdentityProfileConnectorType, IdentityProfileComponentType, AttestationConnectorType, AttestationComponentType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DocumentManagementComponentType, RightsManagementPapComponentType, RightsManagementPmpComponentType, RightsManagementPipComponentType, RightsManagementPxpComponentType, RightsManagementPdpComponentType, RightsManagementPepComponentType, RightsManagementPnpComponentType, RightsManagementPnapComponentType, RightsManagementPnrpComponentType, SynchronisedStorageComponentType, FederatedCatalogueComponentType, DataSpaceConnectorComponentType } from '@twin.org/engine-types';
5
+ import { WalletConnectorType, IdentityConnectorType, EntityStorageConnectorType, BlobStorageConnectorType, BlobStorageComponentType, VaultConnectorType, DltConfigType, LoggingConnectorType, LoggingComponentType, BackgroundTaskConnectorType, TaskSchedulerComponentType, EventBusConnectorType, EventBusComponentType, TelemetryConnectorType, TelemetryComponentType, MessagingEmailConnectorType, MessagingSmsConnectorType, MessagingPushNotificationConnectorType, MessagingComponentType, FaucetConnectorType, NftConnectorType, NftComponentType, VerifiableStorageConnectorType, VerifiableStorageComponentType, ImmutableProofComponentType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, IdentityComponentType, IdentityResolverConnectorType, IdentityResolverComponentType, IdentityProfileConnectorType, IdentityProfileComponentType, AttestationConnectorType, AttestationComponentType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DocumentManagementComponentType, RightsManagementPapComponentType, RightsManagementPmpComponentType, RightsManagementPipComponentType, RightsManagementPxpComponentType, RightsManagementPdpComponentType, RightsManagementPepComponentType, RightsManagementPnpComponentType, RightsManagementPnapComponentType, RightsManagementDapComponentType, RightsManagementDarpComponentType, SynchronisedStorageComponentType, FederatedCatalogueComponentType, DataSpaceConnectorComponentType } from '@twin.org/engine-types';
6
6
  import { EntityStorageConnectorFactory } from '@twin.org/entity-storage-models';
7
7
  import { IdentityProfileConnectorFactory, IdentityConnectorFactory, IdentityResolverConnectorFactory, DocumentHelper } from '@twin.org/identity-models';
8
8
  import { VaultConnectorFactory, VaultKeyType } from '@twin.org/vault-models';
9
9
  import { WalletConnectorFactory } from '@twin.org/wallet-models';
10
10
  import { readFile, stat } from 'node:fs/promises';
11
11
  import path from 'node:path';
12
- import { PolicyNegotiationPointClient } from '@twin.org/rights-management-rest-client';
12
+ import { PolicyNegotiationPointClient, DataAccessPointClient } from '@twin.org/rights-management-rest-client';
13
13
  import { addDefaultRestPaths, addDefaultSocketPaths, EngineServer } from '@twin.org/engine-server';
14
14
  import { ModuleHelper } from '@twin.org/modules';
15
15
  import * as dotenv from 'dotenv';
@@ -133,7 +133,7 @@ async function bootstrap(engineCore, context, envVars) {
133
133
  await addVerificationMethod(engineCore, context, "attestation", envVars.attestationVerificationMethodId);
134
134
  await addVerificationMethod(engineCore, context, "immutable proof", envVars.immutableProofVerificationMethodId);
135
135
  if (Coerce.boolean(envVars.rightsManagementEnabled) ?? false) {
136
- await addVerificationMethod(engineCore, context, "rights management", envVars.rightsManagementNegotiationMethodId);
136
+ await addVerificationMethod(engineCore, context, "rights management", envVars.rightsManagementVerificationMethodId);
137
137
  }
138
138
  await bootstrapSynchronisedStorage(engineCore, context, envVars);
139
139
  }
@@ -554,7 +554,7 @@ function buildEngineConfiguration(envVars) {
554
554
  envVars.blobStorageEncryptionKeyId ??= "blob-encryption";
555
555
  envVars.synchronisedStorageBlobStorageEncryptionKeyId ??= "synchronised-storage-blob-encryption";
556
556
  envVars.synchronisedStorageVerificationMethodId ??= "synchronised-storage-assertion";
557
- envVars.rightsManagementNegotiationMethodId ??= "policy-negotiation-assertion";
557
+ envVars.rightsManagementVerificationMethodId ??= "rights-management-assertion";
558
558
  const coreConfig = {
559
559
  debug: Coerce.boolean(envVars.debug) ?? false,
560
560
  types: {}
@@ -1372,7 +1372,12 @@ function configureRightsManagement(coreConfig, envVars) {
1372
1372
  });
1373
1373
  coreConfig.types.rightsManagementPdpComponent ??= [];
1374
1374
  coreConfig.types.rightsManagementPdpComponent.push({
1375
- type: RightsManagementPdpComponentType.Service
1375
+ type: RightsManagementPdpComponentType.Service,
1376
+ options: {
1377
+ arbiterModulesConfig: Is.arrayValue(envVars.rightsManagementArbiters)
1378
+ ? envVars.rightsManagementArbiters
1379
+ : undefined
1380
+ }
1376
1381
  });
1377
1382
  coreConfig.types.rightsManagementPepComponent ??= [];
1378
1383
  coreConfig.types.rightsManagementPepComponent.push({
@@ -1389,20 +1394,35 @@ function configureRightsManagement(coreConfig, envVars) {
1389
1394
  options: {
1390
1395
  negotiatorModulesConfig: Is.arrayValue(envVars.rightsManagementNegotiators)
1391
1396
  ? envVars.rightsManagementNegotiators
1392
- : undefined
1397
+ : undefined,
1398
+ requesterModulesConfig: Is.arrayValue(envVars.rightsManagementRequesters)
1399
+ ? envVars.rightsManagementRequesters
1400
+ : undefined,
1401
+ config: {
1402
+ baseCallbackUrl: envVars.rightsManagementBaseCallbackUrl ?? "",
1403
+ rightsManagementMethodId: envVars.rightsManagementVerificationMethodId ?? "",
1404
+ offers: Is.arrayValue(envVars.rightsManagementOffers)
1405
+ ? envVars.rightsManagementOffers
1406
+ : [],
1407
+ negotiationComponentCreator: async (url) => new PolicyNegotiationPointClient({ endpoint: url })
1408
+ }
1393
1409
  }
1394
1410
  });
1395
1411
  coreConfig.types.rightsManagementPnapComponent ??= [];
1396
1412
  coreConfig.types.rightsManagementPnapComponent.push({
1397
1413
  type: RightsManagementPnapComponentType.Service
1398
1414
  });
1399
- coreConfig.types.rightsManagementPnrpComponent ??= [];
1400
- coreConfig.types.rightsManagementPnrpComponent.push({
1401
- type: RightsManagementPnrpComponentType.Service,
1415
+ coreConfig.types.rightsManagementDapComponent ??= [];
1416
+ coreConfig.types.rightsManagementDapComponent.push({
1417
+ type: RightsManagementDapComponentType.Service
1418
+ });
1419
+ coreConfig.types.rightsManagementDarpComponent ??= [];
1420
+ coreConfig.types.rightsManagementDarpComponent.push({
1421
+ type: RightsManagementDarpComponentType.Service,
1402
1422
  options: {
1403
1423
  config: {
1404
- negotiationMethodId: envVars.rightsManagementNegotiationMethodId ?? "",
1405
- negotiationComponentCreator: async (url) => new PolicyNegotiationPointClient({ endpoint: url })
1424
+ rightsManagementMethodId: envVars.rightsManagementVerificationMethodId ?? "",
1425
+ dataAccessComponentCreator: async (url) => new DataAccessPointClient({ endpoint: url })
1406
1426
  }
1407
1427
  }
1408
1428
  });
@@ -1746,7 +1766,7 @@ async function run(nodeOptions) {
1746
1766
  nodeOptions ??= {};
1747
1767
  const serverInfo = {
1748
1768
  name: nodeOptions?.serverName ?? "TWIN Node Server",
1749
- version: nodeOptions?.serverVersion ?? "0.0.2-next.11" // x-release-please-version
1769
+ version: nodeOptions?.serverVersion ?? "0.0.2-next.12" // x-release-please-version
1750
1770
  };
1751
1771
  console.log(`\u001B[4m🌩️ ${serverInfo.name} v${serverInfo.version}\u001B[24m\n`);
1752
1772
  if (!Is.stringValue(nodeOptions?.executionDirectory)) {
@@ -442,21 +442,30 @@ export interface IEngineEnvironmentVariables {
442
442
  * Is the rights management enabled, defaults to false.
443
443
  */
444
444
  rightsManagementEnabled?: string;
445
+ /**
446
+ * What is the base callback url for rights management negotiations e.g. https://my-node/rights-management.
447
+ */
448
+ rightsManagementBaseCallbackUrl?: string;
445
449
  /**
446
450
  * The rights management verification method id to use when signing/verifying negotiation requests.
447
- * Defaults to policy-negotiation-assertion.
451
+ * Defaults to rights-management-assertion.
452
+ */
453
+ rightsManagementVerificationMethodId?: string;
454
+ /**
455
+ * The rights management configuration which includes the information sources modules to load.
456
+ * Use the @json: prefix to specify the path to the JSON configuration file.
448
457
  */
449
- rightsManagementNegotiationMethodId?: string;
458
+ rightsManagementInformationSources?: string;
450
459
  /**
451
460
  * The rights management configuration which includes the negotiator modules to load.
452
461
  * Use the @json: prefix to specify the path to the JSON configuration file.
453
462
  */
454
463
  rightsManagementNegotiators?: string;
455
464
  /**
456
- * The rights management configuration which includes the information sources modules to load.
465
+ * The rights management configuration which includes the requester modules to load.
457
466
  * Use the @json: prefix to specify the path to the JSON configuration file.
458
467
  */
459
- rightsManagementInformationSources?: string;
468
+ rightsManagementRequesters?: string;
460
469
  /**
461
470
  * The rights management configuration which includes the execution actions modules to load.
462
471
  * Use the @json: prefix to specify the path to the JSON configuration file.
@@ -467,6 +476,16 @@ export interface IEngineEnvironmentVariables {
467
476
  * Use the @json: prefix to specify the path to the JSON configuration file.
468
477
  */
469
478
  rightsManagementEnforcementProcessors?: string;
479
+ /**
480
+ * The rights management configuration which includes the arbiter modules to load.
481
+ * Use the @json: prefix to specify the path to the JSON configuration file.
482
+ */
483
+ rightsManagementArbiters?: string;
484
+ /**
485
+ * The rights management configuration which includes the offer modules to load.
486
+ * Use the @json: prefix to specify the path to the JSON configuration file.
487
+ */
488
+ rightsManagementOffers?: string;
470
489
  /**
471
490
  * Is the task scheduler enabled, defaults to false.
472
491
  */
package/docs/changelog.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @twin.org/node-core - Changelog
2
2
 
3
+ ## [0.0.2-next.12](https://github.com/twinfoundation/node/compare/node-core-v0.0.2-next.11...node-core-v0.0.2-next.12) (2025-09-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * update rights management components ([176a0d6](https://github.com/twinfoundation/node/commit/176a0d611f88360fc845ae233b26ee0b43d7cb23))
9
+
3
10
  ## [0.0.2-next.11](https://github.com/twinfoundation/node/compare/node-core-v0.0.2-next.10...node-core-v0.0.2-next.11) (2025-09-08)
4
11
 
5
12
 
@@ -896,12 +896,29 @@ Is the rights management enabled, defaults to false.
896
896
 
897
897
  ***
898
898
 
899
- ### rightsManagementNegotiationMethodId?
899
+ ### rightsManagementBaseCallbackUrl?
900
900
 
901
- > `optional` **rightsManagementNegotiationMethodId**: `string`
901
+ > `optional` **rightsManagementBaseCallbackUrl**: `string`
902
+
903
+ What is the base callback url for rights management negotiations e.g. https://my-node/rights-management.
904
+
905
+ ***
906
+
907
+ ### rightsManagementVerificationMethodId?
908
+
909
+ > `optional` **rightsManagementVerificationMethodId**: `string`
902
910
 
903
911
  The rights management verification method id to use when signing/verifying negotiation requests.
904
- Defaults to policy-negotiation-assertion.
912
+ Defaults to rights-management-assertion.
913
+
914
+ ***
915
+
916
+ ### rightsManagementInformationSources?
917
+
918
+ > `optional` **rightsManagementInformationSources**: `string`
919
+
920
+ The rights management configuration which includes the information sources modules to load.
921
+ Use the @json: prefix to specify the path to the JSON configuration file.
905
922
 
906
923
  ***
907
924
 
@@ -914,11 +931,11 @@ Use the @json: prefix to specify the path to the JSON configuration file.
914
931
 
915
932
  ***
916
933
 
917
- ### rightsManagementInformationSources?
934
+ ### rightsManagementRequesters?
918
935
 
919
- > `optional` **rightsManagementInformationSources**: `string`
936
+ > `optional` **rightsManagementRequesters**: `string`
920
937
 
921
- The rights management configuration which includes the information sources modules to load.
938
+ The rights management configuration which includes the requester modules to load.
922
939
  Use the @json: prefix to specify the path to the JSON configuration file.
923
940
 
924
941
  ***
@@ -941,6 +958,24 @@ Use the @json: prefix to specify the path to the JSON configuration file.
941
958
 
942
959
  ***
943
960
 
961
+ ### rightsManagementArbiters?
962
+
963
+ > `optional` **rightsManagementArbiters**: `string`
964
+
965
+ The rights management configuration which includes the arbiter modules to load.
966
+ Use the @json: prefix to specify the path to the JSON configuration file.
967
+
968
+ ***
969
+
970
+ ### rightsManagementOffers?
971
+
972
+ > `optional` **rightsManagementOffers**: `string`
973
+
974
+ The rights management configuration which includes the offer modules to load.
975
+ Use the @json: prefix to specify the path to the JSON configuration file.
976
+
977
+ ***
978
+
944
979
  ### taskSchedulerEnabled?
945
980
 
946
981
  > `optional` **taskSchedulerEnabled**: `string`
@@ -1324,16 +1324,41 @@ Is the rights management enabled, defaults to false.
1324
1324
 
1325
1325
  ***
1326
1326
 
1327
- ### rightsManagementNegotiationMethodId?
1327
+ ### rightsManagementBaseCallbackUrl?
1328
1328
 
1329
- > `optional` **rightsManagementNegotiationMethodId**: `string`
1329
+ > `optional` **rightsManagementBaseCallbackUrl**: `string`
1330
+
1331
+ What is the base callback url for rights management negotiations e.g. https://my-node/rights-management.
1332
+
1333
+ #### Inherited from
1334
+
1335
+ [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementBaseCallbackUrl`](IEngineEnvironmentVariables.md#rightsmanagementbasecallbackurl)
1336
+
1337
+ ***
1338
+
1339
+ ### rightsManagementVerificationMethodId?
1340
+
1341
+ > `optional` **rightsManagementVerificationMethodId**: `string`
1330
1342
 
1331
1343
  The rights management verification method id to use when signing/verifying negotiation requests.
1332
- Defaults to policy-negotiation-assertion.
1344
+ Defaults to rights-management-assertion.
1345
+
1346
+ #### Inherited from
1347
+
1348
+ [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementVerificationMethodId`](IEngineEnvironmentVariables.md#rightsmanagementverificationmethodid)
1349
+
1350
+ ***
1351
+
1352
+ ### rightsManagementInformationSources?
1353
+
1354
+ > `optional` **rightsManagementInformationSources**: `string`
1355
+
1356
+ The rights management configuration which includes the information sources modules to load.
1357
+ Use the @json: prefix to specify the path to the JSON configuration file.
1333
1358
 
1334
1359
  #### Inherited from
1335
1360
 
1336
- [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementNegotiationMethodId`](IEngineEnvironmentVariables.md#rightsmanagementnegotiationmethodid)
1361
+ [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementInformationSources`](IEngineEnvironmentVariables.md#rightsmanagementinformationsources)
1337
1362
 
1338
1363
  ***
1339
1364
 
@@ -1350,16 +1375,16 @@ Use the @json: prefix to specify the path to the JSON configuration file.
1350
1375
 
1351
1376
  ***
1352
1377
 
1353
- ### rightsManagementInformationSources?
1378
+ ### rightsManagementRequesters?
1354
1379
 
1355
- > `optional` **rightsManagementInformationSources**: `string`
1380
+ > `optional` **rightsManagementRequesters**: `string`
1356
1381
 
1357
- The rights management configuration which includes the information sources modules to load.
1382
+ The rights management configuration which includes the requester modules to load.
1358
1383
  Use the @json: prefix to specify the path to the JSON configuration file.
1359
1384
 
1360
1385
  #### Inherited from
1361
1386
 
1362
- [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementInformationSources`](IEngineEnvironmentVariables.md#rightsmanagementinformationsources)
1387
+ [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementRequesters`](IEngineEnvironmentVariables.md#rightsmanagementrequesters)
1363
1388
 
1364
1389
  ***
1365
1390
 
@@ -1389,6 +1414,32 @@ Use the @json: prefix to specify the path to the JSON configuration file.
1389
1414
 
1390
1415
  ***
1391
1416
 
1417
+ ### rightsManagementArbiters?
1418
+
1419
+ > `optional` **rightsManagementArbiters**: `string`
1420
+
1421
+ The rights management configuration which includes the arbiter modules to load.
1422
+ Use the @json: prefix to specify the path to the JSON configuration file.
1423
+
1424
+ #### Inherited from
1425
+
1426
+ [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementArbiters`](IEngineEnvironmentVariables.md#rightsmanagementarbiters)
1427
+
1428
+ ***
1429
+
1430
+ ### rightsManagementOffers?
1431
+
1432
+ > `optional` **rightsManagementOffers**: `string`
1433
+
1434
+ The rights management configuration which includes the offer modules to load.
1435
+ Use the @json: prefix to specify the path to the JSON configuration file.
1436
+
1437
+ #### Inherited from
1438
+
1439
+ [`IEngineEnvironmentVariables`](IEngineEnvironmentVariables.md).[`rightsManagementOffers`](IEngineEnvironmentVariables.md#rightsmanagementoffers)
1440
+
1441
+ ***
1442
+
1392
1443
  ### taskSchedulerEnabled?
1393
1444
 
1394
1445
  > `optional` **taskSchedulerEnabled**: `string`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/node-core",
3
- "version": "0.0.2-next.11",
3
+ "version": "0.0.2-next.12",
4
4
  "description": "TWIN Node Core for serving APIs using the specified configuration",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,6 +29,7 @@
29
29
  "@twin.org/identity-models": "next",
30
30
  "@twin.org/modules": "next",
31
31
  "@twin.org/rights-management-rest-client": "next",
32
+ "@twin.org/standards-w3c-odrl": "next",
32
33
  "@twin.org/vault-models": "next",
33
34
  "@twin.org/wallet-models": "next",
34
35
  "dotenv": "17.2.1",