@twin.org/engine-types 0.0.2-next.13 → 0.0.2-next.14

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 (31) hide show
  1. package/dist/cjs/index.cjs +201 -110
  2. package/dist/esm/index.mjs +189 -100
  3. package/dist/types/components/rightsManagementDap.d.ts +13 -0
  4. package/dist/types/components/{rightsManagementPnrp.d.ts → rightsManagementDarp.d.ts} +3 -3
  5. package/dist/types/index.d.ts +7 -4
  6. package/dist/types/models/IEngineConfig.d.ts +8 -3
  7. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +16 -0
  8. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +12 -0
  9. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +4 -1
  10. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +2 -1
  11. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +17 -0
  12. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +13 -0
  13. package/docs/changelog.md +15 -0
  14. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +41 -0
  15. package/docs/reference/functions/{initialiseRightsManagementPnrpComponent.md → initialiseRightsManagementDarpComponent.md} +4 -4
  16. package/docs/reference/index.md +8 -4
  17. package/docs/reference/interfaces/IEngineConfig.md +9 -3
  18. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +5 -0
  19. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +5 -0
  20. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +23 -0
  21. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +5 -0
  22. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +7 -1
  23. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  24. package/docs/reference/variables/RightsManagementDapComponentType.md +19 -0
  25. package/docs/reference/variables/RightsManagementDarpComponentType.md +13 -0
  26. package/package.json +4 -3
  27. package/dist/types/models/config/rightsManagementPnrpComponentConfig.d.ts +0 -9
  28. package/dist/types/models/types/rightsManagementPnrpComponentType.d.ts +0 -13
  29. package/docs/reference/type-aliases/RightsManagementPnrpComponentConfig.md +0 -17
  30. package/docs/reference/type-aliases/RightsManagementPnrpComponentType.md +0 -5
  31. package/docs/reference/variables/RightsManagementPnrpComponentType.md +0 -13
@@ -73,14 +73,15 @@ import { IotaNftConnector } from '@twin.org/nft-connector-iota';
73
73
  import { NftConnectorFactory } from '@twin.org/nft-models';
74
74
  import { NftClient } from '@twin.org/nft-rest-client';
75
75
  import { NftService } from '@twin.org/nft-service';
76
+ import { DataAccessPointService, DataAccessRequestPointService } from '@twin.org/rights-management-dap-service';
77
+ import { DataAccessPointClient, PolicyAdministrationPointClient, PolicyNegotiationAdminPointClient, PolicyNegotiationPointClient } from '@twin.org/rights-management-rest-client';
76
78
  import { initSchema as initSchema$d, PolicyAdministrationPointService } from '@twin.org/rights-management-pap-service';
77
- import { PolicyAdministrationPointClient, PolicyNegotiationPointClient, PolicyNegotiationAdminPointClient } from '@twin.org/rights-management-rest-client';
78
- import { PolicyDecisionPointService } from '@twin.org/rights-management-pdp-service';
79
79
  import { EngineModuleHelper } from '@twin.org/engine-core';
80
+ import { PolicyDecisionPointService } from '@twin.org/rights-management-pdp-service';
80
81
  import { PolicyEnforcementPointService } from '@twin.org/rights-management-pep-service';
81
82
  import { PolicyInformationPointService } from '@twin.org/rights-management-pip-service';
82
83
  import { PolicyManagementPointService } from '@twin.org/rights-management-pmp-service';
83
- import { PolicyNegotiationPointService, initSchema as initSchema$e, PolicyNegotiationAdminPointService, PolicyNegotiationRequestPointService } from '@twin.org/rights-management-pnp-service';
84
+ import { initSchema as initSchema$e, PolicyNegotiationAdminPointService, PolicyNegotiationPointService } from '@twin.org/rights-management-pnp-service';
84
85
  import { PolicyExecutionPointService } from '@twin.org/rights-management-pxp-service';
85
86
  import { SynchronisedStorageClient } from '@twin.org/synchronised-storage-rest-client';
86
87
  import { initSchema as initSchema$f, SynchronisedStorageService } from '@twin.org/synchronised-storage-service';
@@ -2290,6 +2291,126 @@ async function initialiseNftComponent(engineCore, context, instanceConfig, overr
2290
2291
  return finalInstanceType;
2291
2292
  }
2292
2293
 
2294
+ // Copyright 2024 IOTA Stiftung.
2295
+ // SPDX-License-Identifier: Apache-2.0.
2296
+ /**
2297
+ * Rights management DAP component types.
2298
+ */
2299
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2300
+ const RightsManagementDapComponentType = {
2301
+ /**
2302
+ * Service.
2303
+ */
2304
+ Service: "service",
2305
+ /**
2306
+ * REST client.
2307
+ */
2308
+ RestClient: "rest-client"
2309
+ };
2310
+
2311
+ // Copyright 2024 IOTA Stiftung.
2312
+ // SPDX-License-Identifier: Apache-2.0.
2313
+ /**
2314
+ * Initialise the rights management DAP component.
2315
+ * @param engineCore The engine core.
2316
+ * @param context The context for the engine.
2317
+ * @param instanceConfig The instance config.
2318
+ * @param overrideInstanceType The instance type to override the default.
2319
+ * @returns The name of the instance created.
2320
+ * @throws GeneralError if the component type is unknown.
2321
+ */
2322
+ async function initialiseRightsManagementDapComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2323
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2324
+ element: `Rights Management DAP Component: ${instanceConfig.type}`
2325
+ }));
2326
+ const type = instanceConfig.type;
2327
+ let component;
2328
+ let instanceType;
2329
+ if (type === RightsManagementDapComponentType.Service) {
2330
+ component = new DataAccessPointService({
2331
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2332
+ identityConnectorType: engineCore.getRegisteredInstanceType("identityConnector"),
2333
+ policyEnforcementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPepComponent"),
2334
+ ...instanceConfig.options,
2335
+ config: {
2336
+ ...instanceConfig.options?.config
2337
+ }
2338
+ });
2339
+ instanceType = StringHelper.kebabCase("DataAccessPointService");
2340
+ }
2341
+ else if (type === RightsManagementDapComponentType.RestClient) {
2342
+ component = new DataAccessPointClient(instanceConfig.options);
2343
+ instanceType = StringHelper.kebabCase("DataAccessPointClient");
2344
+ }
2345
+ else {
2346
+ throw new GeneralError("engineCore", "componentUnknownType", {
2347
+ type,
2348
+ componentType: "RightsManagementDapComponent"
2349
+ });
2350
+ }
2351
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2352
+ context.componentInstances.push({
2353
+ instanceType: finalInstanceType,
2354
+ component
2355
+ });
2356
+ ComponentFactory.register(finalInstanceType, () => component);
2357
+ return finalInstanceType;
2358
+ }
2359
+
2360
+ // Copyright 2024 IOTA Stiftung.
2361
+ // SPDX-License-Identifier: Apache-2.0.
2362
+ /**
2363
+ * Rights management DARP component types.
2364
+ */
2365
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2366
+ const RightsManagementDarpComponentType = {
2367
+ /**
2368
+ * Service.
2369
+ */
2370
+ Service: "service"
2371
+ };
2372
+
2373
+ // Copyright 2024 IOTA Stiftung.
2374
+ // SPDX-License-Identifier: Apache-2.0.
2375
+ /**
2376
+ * Initialise the rights management DARP component.
2377
+ * @param engineCore The engine core.
2378
+ * @param context The context for the engine.
2379
+ * @param instanceConfig The instance config.
2380
+ * @param overrideInstanceType The instance type to override the default.
2381
+ * @returns The name of the instance created.
2382
+ * @throws GeneralError if the component type is unknown.
2383
+ */
2384
+ async function initialiseRightsManagementDarpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2385
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2386
+ element: `Rights Management DARP Component: ${instanceConfig.type}`
2387
+ }));
2388
+ const type = instanceConfig.type;
2389
+ let component;
2390
+ let instanceType;
2391
+ if (type === RightsManagementDarpComponentType.Service) {
2392
+ component = new DataAccessRequestPointService({
2393
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2394
+ identityConnectorType: engineCore.getRegisteredInstanceType("identityConnector"),
2395
+ ...instanceConfig.options
2396
+ });
2397
+ instanceType = StringHelper.kebabCase("DataAccessRequestPointService");
2398
+ }
2399
+ else {
2400
+ throw new GeneralError("engineCore", "componentUnknownType", {
2401
+ type,
2402
+ componentType: "RightsManagementDarpComponent"
2403
+ });
2404
+ }
2405
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2406
+ context.componentInstances.push({
2407
+ instanceType: finalInstanceType,
2408
+ component
2409
+ });
2410
+ ComponentFactory.register(finalInstanceType, () => component);
2411
+ return finalInstanceType;
2412
+ }
2413
+
2293
2414
  // Copyright 2024 IOTA Stiftung.
2294
2415
  // SPDX-License-Identifier: Apache-2.0.
2295
2416
  /**
@@ -2385,12 +2506,25 @@ async function initialiseRightsManagementPdpComponent(engineCore, context, insta
2385
2506
  let component;
2386
2507
  let instanceType;
2387
2508
  if (type === RightsManagementPdpComponentType.Service) {
2509
+ const arbiterModules = [];
2510
+ if (Is.arrayValue(instanceConfig.options?.arbiterModulesConfig)) {
2511
+ for (const moduleConfig of instanceConfig.options.arbiterModulesConfig) {
2512
+ arbiterModules.push({
2513
+ arbiterId: moduleConfig.id,
2514
+ arbiter: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
2515
+ });
2516
+ }
2517
+ }
2388
2518
  component = new PolicyDecisionPointService({
2389
2519
  loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2390
2520
  policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
2391
2521
  policyManagementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPmpComponent"),
2392
2522
  policyExecutionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPxpComponent"),
2393
- ...instanceConfig.options
2523
+ ...instanceConfig.options,
2524
+ config: {
2525
+ ...instanceConfig.options?.config,
2526
+ arbiters: instanceConfig.options?.config?.arbiters ?? arbiterModules
2527
+ }
2394
2528
  });
2395
2529
  instanceType = StringHelper.kebabCase("PolicyDecisionPointService");
2396
2530
  }
@@ -2445,10 +2579,10 @@ async function initialiseRightsManagementPepComponent(engineCore, context, insta
2445
2579
  let component;
2446
2580
  let instanceType;
2447
2581
  if (type === RightsManagementPepComponentType.Service) {
2448
- const modules = [];
2582
+ const processorModules = [];
2449
2583
  if (Is.arrayValue(instanceConfig.options?.processorModulesConfig)) {
2450
2584
  for (const moduleConfig of instanceConfig.options.processorModulesConfig) {
2451
- modules.push({
2585
+ processorModules.push({
2452
2586
  processorId: moduleConfig.id,
2453
2587
  processor: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
2454
2588
  });
@@ -2460,7 +2594,7 @@ async function initialiseRightsManagementPepComponent(engineCore, context, insta
2460
2594
  ...instanceConfig.options,
2461
2595
  config: {
2462
2596
  ...instanceConfig.options?.config,
2463
- processors: instanceConfig.options?.config?.processors ?? modules
2597
+ processors: instanceConfig.options?.config?.processors ?? processorModules
2464
2598
  }
2465
2599
  });
2466
2600
  instanceType = StringHelper.kebabCase("PolicyEnforcementPointService");
@@ -2512,10 +2646,10 @@ async function initialiseRightsManagementPipComponent(engineCore, context, insta
2512
2646
  let component;
2513
2647
  let instanceType;
2514
2648
  if (type === RightsManagementPipComponentType.Service) {
2515
- const modules = [];
2649
+ const informationSourceModules = [];
2516
2650
  if (Is.arrayValue(instanceConfig.options?.informationModulesConfig)) {
2517
2651
  for (const moduleConfig of instanceConfig.options.informationModulesConfig) {
2518
- modules.push({
2652
+ informationSourceModules.push({
2519
2653
  sourceId: moduleConfig.id,
2520
2654
  source: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
2521
2655
  });
@@ -2526,7 +2660,7 @@ async function initialiseRightsManagementPipComponent(engineCore, context, insta
2526
2660
  ...instanceConfig.options,
2527
2661
  config: {
2528
2662
  ...instanceConfig.options?.config,
2529
- sources: instanceConfig.options?.config?.sources ?? modules
2663
+ sources: instanceConfig.options?.config?.sources ?? informationSourceModules
2530
2664
  }
2531
2665
  });
2532
2666
  instanceType = StringHelper.kebabCase("PolicyInformationPointService");
@@ -2600,84 +2734,6 @@ async function initialiseRightsManagementPmpComponent(engineCore, context, insta
2600
2734
  return finalInstanceType;
2601
2735
  }
2602
2736
 
2603
- // Copyright 2024 IOTA Stiftung.
2604
- // SPDX-License-Identifier: Apache-2.0.
2605
- /**
2606
- * Rights management PNP component types.
2607
- */
2608
- // eslint-disable-next-line @typescript-eslint/naming-convention
2609
- const RightsManagementPnpComponentType = {
2610
- /**
2611
- * Service.
2612
- */
2613
- Service: "service",
2614
- /**
2615
- * REST client.
2616
- */
2617
- RestClient: "rest-client"
2618
- };
2619
-
2620
- // Copyright 2024 IOTA Stiftung.
2621
- // SPDX-License-Identifier: Apache-2.0.
2622
- /**
2623
- * Initialise the rights management PNP component.
2624
- * @param engineCore The engine core.
2625
- * @param context The context for the engine.
2626
- * @param instanceConfig The instance config.
2627
- * @param overrideInstanceType The instance type to override the default.
2628
- * @returns The name of the instance created.
2629
- * @throws GeneralError if the component type is unknown.
2630
- */
2631
- async function initialiseRightsManagementPnpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2632
- engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2633
- element: `Rights Management PNP Component: ${instanceConfig.type}`
2634
- }));
2635
- const type = instanceConfig.type;
2636
- let component;
2637
- let instanceType;
2638
- if (type === RightsManagementPnpComponentType.Service) {
2639
- const modules = [];
2640
- if (Is.arrayValue(instanceConfig.options?.negotiatorModulesConfig)) {
2641
- for (const moduleConfig of instanceConfig.options.negotiatorModulesConfig) {
2642
- modules.push({
2643
- negotiatorId: moduleConfig.id,
2644
- negotiator: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
2645
- });
2646
- }
2647
- }
2648
- component = new PolicyNegotiationPointService({
2649
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2650
- identityConnectorType: engineCore.getRegisteredInstanceType("identityConnector"),
2651
- policyNegotiationAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPnapComponent"),
2652
- policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2653
- policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
2654
- ...instanceConfig.options,
2655
- config: {
2656
- ...instanceConfig.options?.config,
2657
- negotiators: instanceConfig.options?.config?.negotiators ?? modules
2658
- }
2659
- });
2660
- instanceType = StringHelper.kebabCase("PolicyNegotiationPointService");
2661
- }
2662
- else if (type === RightsManagementPnpComponentType.RestClient) {
2663
- component = new PolicyNegotiationPointClient(instanceConfig.options);
2664
- instanceType = StringHelper.kebabCase("PolicyNegotiationPointClient");
2665
- }
2666
- else {
2667
- throw new GeneralError("engineCore", "componentUnknownType", {
2668
- type,
2669
- componentType: "RightsManagementPnpComponent"
2670
- });
2671
- }
2672
- const finalInstanceType = overrideInstanceType ?? instanceType;
2673
- context.componentInstances.push({
2674
- instanceType: finalInstanceType,
2675
- component
2676
- });
2677
- ComponentFactory.register(finalInstanceType, () => component);
2678
- return finalInstanceType;
2679
- }
2680
-
2681
2737
  // Copyright 2024 IOTA Stiftung.
2682
2738
  // SPDX-License-Identifier: Apache-2.0.
2683
2739
  /**
@@ -2746,20 +2802,24 @@ async function initialiseRightsManagementPnapComponent(engineCore, context, inst
2746
2802
  // Copyright 2024 IOTA Stiftung.
2747
2803
  // SPDX-License-Identifier: Apache-2.0.
2748
2804
  /**
2749
- * Rights management PNRP component types.
2805
+ * Rights management PNP component types.
2750
2806
  */
2751
2807
  // eslint-disable-next-line @typescript-eslint/naming-convention
2752
- const RightsManagementPnrpComponentType = {
2808
+ const RightsManagementPnpComponentType = {
2753
2809
  /**
2754
2810
  * Service.
2755
2811
  */
2756
- Service: "service"
2812
+ Service: "service",
2813
+ /**
2814
+ * REST client.
2815
+ */
2816
+ RestClient: "rest-client"
2757
2817
  };
2758
2818
 
2759
2819
  // Copyright 2024 IOTA Stiftung.
2760
2820
  // SPDX-License-Identifier: Apache-2.0.
2761
2821
  /**
2762
- * Initialise the rights management PNRP component.
2822
+ * Initialise the rights management PNP component.
2763
2823
  * @param engineCore The engine core.
2764
2824
  * @param context The context for the engine.
2765
2825
  * @param instanceConfig The instance config.
@@ -2767,26 +2827,55 @@ const RightsManagementPnrpComponentType = {
2767
2827
  * @returns The name of the instance created.
2768
2828
  * @throws GeneralError if the component type is unknown.
2769
2829
  */
2770
- async function initialiseRightsManagementPnrpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2830
+ async function initialiseRightsManagementPnpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2771
2831
  engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2772
- element: `Rights Management PNRP Component: ${instanceConfig.type}`
2832
+ element: `Rights Management PNP Component: ${instanceConfig.type}`
2773
2833
  }));
2774
2834
  const type = instanceConfig.type;
2775
2835
  let component;
2776
2836
  let instanceType;
2777
- if (type === RightsManagementPnrpComponentType.Service) {
2778
- component = new PolicyNegotiationRequestPointService({
2837
+ if (type === RightsManagementPnpComponentType.Service) {
2838
+ const negotiatorModules = [];
2839
+ if (Is.arrayValue(instanceConfig.options?.negotiatorModulesConfig)) {
2840
+ for (const moduleConfig of instanceConfig.options.negotiatorModulesConfig) {
2841
+ negotiatorModules.push({
2842
+ negotiatorId: moduleConfig.id,
2843
+ negotiator: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
2844
+ });
2845
+ }
2846
+ }
2847
+ const requesterModules = [];
2848
+ if (Is.arrayValue(instanceConfig.options?.requesterModulesConfig)) {
2849
+ for (const moduleConfig of instanceConfig.options.requesterModulesConfig) {
2850
+ requesterModules.push({
2851
+ requesterId: moduleConfig.id,
2852
+ requester: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
2853
+ });
2854
+ }
2855
+ }
2856
+ component = new PolicyNegotiationPointService({
2779
2857
  loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2780
2858
  identityConnectorType: engineCore.getRegisteredInstanceType("identityConnector"),
2859
+ policyNegotiationAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPnapComponent"),
2860
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2781
2861
  policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
2782
- ...instanceConfig.options
2862
+ ...instanceConfig.options,
2863
+ config: {
2864
+ ...instanceConfig.options?.config,
2865
+ negotiators: instanceConfig.options?.config?.negotiators ?? negotiatorModules,
2866
+ requesters: instanceConfig.options?.config?.requesters ?? requesterModules
2867
+ }
2783
2868
  });
2784
- instanceType = StringHelper.kebabCase("PolicyNegotiationRequestPointService");
2869
+ instanceType = StringHelper.kebabCase("PolicyNegotiationPointService");
2870
+ }
2871
+ else if (type === RightsManagementPnpComponentType.RestClient) {
2872
+ component = new PolicyNegotiationPointClient(instanceConfig.options);
2873
+ instanceType = StringHelper.kebabCase("PolicyNegotiationPointClient");
2785
2874
  }
2786
2875
  else {
2787
2876
  throw new GeneralError("engineCore", "componentUnknownType", {
2788
2877
  type,
2789
- componentType: "RightsManagementPnrpComponent"
2878
+ componentType: "RightsManagementPnpComponent"
2790
2879
  });
2791
2880
  }
2792
2881
  const finalInstanceType = overrideInstanceType ?? instanceType;
@@ -3388,4 +3477,4 @@ const DltConfigType = {
3388
3477
  Iota: "iota"
3389
3478
  };
3390
3479
 
3391
- export { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, BackgroundTaskConnectorType, BlobStorageComponentType, BlobStorageConnectorType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DataSpaceConnectorComponentType, DltConfigType, DocumentManagementComponentType, EntityStorageComponentType, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, FederatedCatalogueComponentType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, RightsManagementPapComponentType, RightsManagementPdpComponentType, RightsManagementPepComponentType, RightsManagementPipComponentType, RightsManagementPmpComponentType, RightsManagementPnapComponentType, RightsManagementPnpComponentType, RightsManagementPnrpComponentType, RightsManagementPxpComponentType, SynchronisedStorageComponentType, TaskSchedulerComponentType, TelemetryComponentType, TelemetryConnectorType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType, initialiseAttestationComponent, initialiseAttestationConnector, initialiseAuditableItemGraphComponent, initialiseAuditableItemStreamComponent, initialiseBackgroundTaskConnector, initialiseBlobStorageComponent, initialiseBlobStorageConnector, initialiseDataConverterConnector, initialiseDataExtractorConnector, initialiseDataProcessingComponent, initialiseDataSpaceConnectorComponent, initialiseDocumentManagementComponent, initialiseEntityStorageComponent, initialiseEntityStorageConnector, initialiseEventBusComponent, initialiseEventBusConnector, initialiseFaucetConnector, initialiseFederatedCatalogueComponent, initialiseIdentityComponent, initialiseIdentityConnector, initialiseIdentityProfileComponent, initialiseIdentityProfileConnector, initialiseIdentityResolverComponent, initialiseIdentityResolverConnector, initialiseImmutableProofComponent, initialiseLoggingComponent, initialiseLoggingConnector, initialiseMessagingComponent, initialiseMessagingEmailConnector, initialiseMessagingPushNotificationConnector, initialiseMessagingSmsConnector, initialiseNftComponent, initialiseNftConnector, initialiseRightsManagementPapComponent, initialiseRightsManagementPdpComponent, initialiseRightsManagementPepComponent, initialiseRightsManagementPipComponent, initialiseRightsManagementPmpComponent, initialiseRightsManagementPnapComponent, initialiseRightsManagementPnpComponent, initialiseRightsManagementPnrpComponent, initialiseRightsManagementPxpComponent, initialiseSynchronisedStorageComponent, initialiseTaskSchedulerComponent, initialiseTelemetryComponent, initialiseTelemetryConnector, initialiseVaultConnector, initialiseVerifiableStorageComponent, initialiseVerifiableStorageConnector, initialiseWalletConnector, initialiseWalletStorage };
3480
+ export { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, BackgroundTaskConnectorType, BlobStorageComponentType, BlobStorageConnectorType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DataSpaceConnectorComponentType, DltConfigType, DocumentManagementComponentType, EntityStorageComponentType, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, FederatedCatalogueComponentType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, RightsManagementDapComponentType, RightsManagementDarpComponentType, RightsManagementPapComponentType, RightsManagementPdpComponentType, RightsManagementPepComponentType, RightsManagementPipComponentType, RightsManagementPmpComponentType, RightsManagementPnapComponentType, RightsManagementPnpComponentType, RightsManagementPxpComponentType, SynchronisedStorageComponentType, TaskSchedulerComponentType, TelemetryComponentType, TelemetryConnectorType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType, initialiseAttestationComponent, initialiseAttestationConnector, initialiseAuditableItemGraphComponent, initialiseAuditableItemStreamComponent, initialiseBackgroundTaskConnector, initialiseBlobStorageComponent, initialiseBlobStorageConnector, initialiseDataConverterConnector, initialiseDataExtractorConnector, initialiseDataProcessingComponent, initialiseDataSpaceConnectorComponent, initialiseDocumentManagementComponent, initialiseEntityStorageComponent, initialiseEntityStorageConnector, initialiseEventBusComponent, initialiseEventBusConnector, initialiseFaucetConnector, initialiseFederatedCatalogueComponent, initialiseIdentityComponent, initialiseIdentityConnector, initialiseIdentityProfileComponent, initialiseIdentityProfileConnector, initialiseIdentityResolverComponent, initialiseIdentityResolverConnector, initialiseImmutableProofComponent, initialiseLoggingComponent, initialiseLoggingConnector, initialiseMessagingComponent, initialiseMessagingEmailConnector, initialiseMessagingPushNotificationConnector, initialiseMessagingSmsConnector, initialiseNftComponent, initialiseNftConnector, initialiseRightsManagementDapComponent, initialiseRightsManagementDarpComponent, initialiseRightsManagementPapComponent, initialiseRightsManagementPdpComponent, initialiseRightsManagementPepComponent, initialiseRightsManagementPipComponent, initialiseRightsManagementPmpComponent, initialiseRightsManagementPnapComponent, initialiseRightsManagementPnpComponent, initialiseRightsManagementPxpComponent, initialiseSynchronisedStorageComponent, initialiseTaskSchedulerComponent, initialiseTelemetryComponent, initialiseTelemetryConnector, initialiseVaultConnector, initialiseVerifiableStorageComponent, initialiseVerifiableStorageConnector, initialiseWalletConnector, initialiseWalletStorage };
@@ -0,0 +1,13 @@
1
+ import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
2
+ import type { RightsManagementDapComponentConfig } from "../models/config/rightsManagementDapComponentConfig";
3
+ import type { IEngineConfig } from "../models/IEngineConfig";
4
+ /**
5
+ * Initialise the rights management DAP component.
6
+ * @param engineCore The engine core.
7
+ * @param context The context for the engine.
8
+ * @param instanceConfig The instance config.
9
+ * @param overrideInstanceType The instance type to override the default.
10
+ * @returns The name of the instance created.
11
+ * @throws GeneralError if the component type is unknown.
12
+ */
13
+ export declare function initialiseRightsManagementDapComponent(engineCore: IEngineCore<IEngineConfig>, context: IEngineCoreContext<IEngineConfig>, instanceConfig: RightsManagementDapComponentConfig, overrideInstanceType?: string): Promise<string | undefined>;
@@ -1,8 +1,8 @@
1
1
  import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
2
- import type { RightsManagementPnrpComponentConfig } from "../models/config/rightsManagementPnrpComponentConfig";
2
+ import type { RightsManagementDarpComponentConfig } from "../models/config/rightsManagementDarpComponentConfig";
3
3
  import type { IEngineConfig } from "../models/IEngineConfig";
4
4
  /**
5
- * Initialise the rights management PNRP component.
5
+ * Initialise the rights management DARP component.
6
6
  * @param engineCore The engine core.
7
7
  * @param context The context for the engine.
8
8
  * @param instanceConfig The instance config.
@@ -10,4 +10,4 @@ import type { IEngineConfig } from "../models/IEngineConfig";
10
10
  * @returns The name of the instance created.
11
11
  * @throws GeneralError if the component type is unknown.
12
12
  */
13
- export declare function initialiseRightsManagementPnrpComponent(engineCore: IEngineCore<IEngineConfig>, context: IEngineCoreContext<IEngineConfig>, instanceConfig: RightsManagementPnrpComponentConfig, overrideInstanceType?: string): Promise<string | undefined>;
13
+ export declare function initialiseRightsManagementDarpComponent(engineCore: IEngineCore<IEngineConfig>, context: IEngineCoreContext<IEngineConfig>, instanceConfig: RightsManagementDarpComponentConfig, overrideInstanceType?: string): Promise<string | undefined>;
@@ -17,14 +17,15 @@ export * from "./components/immutableProof";
17
17
  export * from "./components/logging";
18
18
  export * from "./components/messaging";
19
19
  export * from "./components/nft";
20
+ export * from "./components/rightsManagementDap";
21
+ export * from "./components/rightsManagementDarp";
20
22
  export * from "./components/rightsManagementPap";
21
23
  export * from "./components/rightsManagementPdp";
22
24
  export * from "./components/rightsManagementPep";
23
25
  export * from "./components/rightsManagementPip";
24
26
  export * from "./components/rightsManagementPmp";
25
- export * from "./components/rightsManagementPnp";
26
27
  export * from "./components/rightsManagementPnap";
27
- export * from "./components/rightsManagementPnrp";
28
+ export * from "./components/rightsManagementPnp";
28
29
  export * from "./components/rightsManagementPxp";
29
30
  export * from "./components/synchronisedStorage";
30
31
  export * from "./components/taskScheduler";
@@ -66,6 +67,8 @@ export * from "./models/config/messagingPushNotificationConnectorConfig";
66
67
  export * from "./models/config/messagingSmsConnectorConfig";
67
68
  export * from "./models/config/nftComponentConfig";
68
69
  export * from "./models/config/nftConnectorConfig";
70
+ export * from "./models/config/rightsManagementDapComponentConfig";
71
+ export * from "./models/config/rightsManagementDarpComponentConfig";
69
72
  export * from "./models/config/rightsManagementPapComponentConfig";
70
73
  export * from "./models/config/rightsManagementPdpComponentConfig";
71
74
  export * from "./models/config/rightsManagementPepComponentConfig";
@@ -73,7 +76,6 @@ export * from "./models/config/rightsManagementPipComponentConfig";
73
76
  export * from "./models/config/rightsManagementPmpComponentConfig";
74
77
  export * from "./models/config/rightsManagementPnapComponentConfig";
75
78
  export * from "./models/config/rightsManagementPnpComponentConfig";
76
- export * from "./models/config/rightsManagementPnrpComponentConfig";
77
79
  export * from "./models/config/rightsManagementPxpComponentConfig";
78
80
  export * from "./models/config/synchronisedStorageComponentConfig";
79
81
  export * from "./models/config/taskSchedulerComponentConfig";
@@ -118,6 +120,8 @@ export * from "./models/types/messagingPushNotificationConnectorType";
118
120
  export * from "./models/types/messagingSmsConnectorType";
119
121
  export * from "./models/types/nftComponentType";
120
122
  export * from "./models/types/nftConnectorType";
123
+ export * from "./models/types/rightsManagementDapComponentType";
124
+ export * from "./models/types/rightsManagementDarpComponentType";
121
125
  export * from "./models/types/rightsManagementPapComponentType";
122
126
  export * from "./models/types/rightsManagementPdpComponentType";
123
127
  export * from "./models/types/rightsManagementPepComponentType";
@@ -125,7 +129,6 @@ export * from "./models/types/rightsManagementPipComponentType";
125
129
  export * from "./models/types/rightsManagementPmpComponentType";
126
130
  export * from "./models/types/rightsManagementPnapComponentType";
127
131
  export * from "./models/types/rightsManagementPnpComponentType";
128
- export * from "./models/types/rightsManagementPnrpComponentType";
129
132
  export * from "./models/types/rightsManagementPxpComponentType";
130
133
  export * from "./models/types/synchronisedStorageComponentType";
131
134
  export * from "./models/types/taskSchedulerComponentType";
@@ -33,6 +33,8 @@ import type { MessagingPushNotificationConnectorConfig } from "./config/messagin
33
33
  import type { MessagingSmsConnectorConfig } from "./config/messagingSmsConnectorConfig";
34
34
  import type { NftComponentConfig } from "./config/nftComponentConfig";
35
35
  import type { NftConnectorConfig } from "./config/nftConnectorConfig";
36
+ import type { RightsManagementDapComponentConfig } from "./config/rightsManagementDapComponentConfig";
37
+ import type { RightsManagementDarpComponentConfig } from "./config/rightsManagementDarpComponentConfig";
36
38
  import type { RightsManagementPapComponentConfig } from "./config/rightsManagementPapComponentConfig";
37
39
  import type { RightsManagementPdpComponentConfig } from "./config/rightsManagementPdpComponentConfig";
38
40
  import type { RightsManagementPepComponentConfig } from "./config/rightsManagementPepComponentConfig";
@@ -40,7 +42,6 @@ import type { RightsManagementPipComponentConfig } from "./config/rightsManageme
40
42
  import type { RightsManagementPmpComponentConfig } from "./config/rightsManagementPmpComponentConfig";
41
43
  import type { RightsManagementPnapComponentConfig } from "./config/rightsManagementPnapComponentConfig";
42
44
  import type { RightsManagementPnpComponentConfig } from "./config/rightsManagementPnpComponentConfig";
43
- import type { RightsManagementPnrpComponentConfig } from "./config/rightsManagementPnrpComponentConfig";
44
45
  import type { RightsManagementPxpComponentConfig } from "./config/rightsManagementPxpComponentConfig";
45
46
  import type { SynchronisedStorageComponentConfig } from "./config/synchronisedStorageComponentConfig";
46
47
  import type { TaskSchedulerComponentConfig } from "./config/taskSchedulerComponentConfig";
@@ -248,9 +249,13 @@ export interface IEngineConfig extends IEngineCoreConfig {
248
249
  */
249
250
  rightsManagementPnapComponent?: IEngineCoreTypeConfig<RightsManagementPnapComponentConfig>[];
250
251
  /**
251
- * Rights management PNRP options which can be overridden by individual components by specifying types other than default.
252
+ * Rights management DAP options which can be overridden by individual components by specifying types other than default.
252
253
  */
253
- rightsManagementPnrpComponent?: IEngineCoreTypeConfig<RightsManagementPnrpComponentConfig>[];
254
+ rightsManagementDapComponent?: IEngineCoreTypeConfig<RightsManagementDapComponentConfig>[];
255
+ /**
256
+ * Rights management DARP options which can be overridden by individual components by specifying types other than default.
257
+ */
258
+ rightsManagementDarpComponent?: IEngineCoreTypeConfig<RightsManagementDarpComponentConfig>[];
254
259
  /**
255
260
  * Synchronised storage options which can be overridden by individual components by specifying types other than default.
256
261
  */
@@ -0,0 +1,16 @@
1
+ import type { IBaseRestClientConfig } from "@twin.org/api-models";
2
+ import type { IEngineModuleConfig } from "@twin.org/engine-models";
3
+ import type { IDataAccessPointServiceConstructorOptions } from "@twin.org/rights-management-dap-service";
4
+ import type { RightsManagementDapComponentType } from "../types/rightsManagementDapComponentType";
5
+ /**
6
+ * Rights management DAP component config types.
7
+ */
8
+ export type RightsManagementDapComponentConfig = {
9
+ type: typeof RightsManagementDapComponentType.Service;
10
+ options?: IDataAccessPointServiceConstructorOptions & {
11
+ negotiatorModulesConfig?: IEngineModuleConfig[];
12
+ };
13
+ } | {
14
+ type: typeof RightsManagementDapComponentType.RestClient;
15
+ options: IBaseRestClientConfig;
16
+ };
@@ -0,0 +1,12 @@
1
+ import type { IEngineModuleConfig } from "@twin.org/engine-models";
2
+ import type { IDataAccessRequestPointServiceConstructorOptions } from "@twin.org/rights-management-dap-service";
3
+ import type { RightsManagementDarpComponentType } from "../types/rightsManagementDarpComponentType";
4
+ /**
5
+ * Rights management DARP component config types.
6
+ */
7
+ export type RightsManagementDarpComponentConfig = {
8
+ type: typeof RightsManagementDarpComponentType.Service;
9
+ options: IDataAccessRequestPointServiceConstructorOptions & {
10
+ negotiatorModulesConfig?: IEngineModuleConfig[];
11
+ };
12
+ };
@@ -1,3 +1,4 @@
1
+ import type { IEngineModuleConfig } from "@twin.org/engine-models";
1
2
  import type { IPolicyDecisionPointServiceConstructorOptions } from "@twin.org/rights-management-pdp-service";
2
3
  import type { RightsManagementPdpComponentType } from "../types/rightsManagementPdpComponentType";
3
4
  /**
@@ -5,5 +6,7 @@ import type { RightsManagementPdpComponentType } from "../types/rightsManagement
5
6
  */
6
7
  export type RightsManagementPdpComponentConfig = {
7
8
  type: typeof RightsManagementPdpComponentType.Service;
8
- options?: IPolicyDecisionPointServiceConstructorOptions;
9
+ options?: IPolicyDecisionPointServiceConstructorOptions & {
10
+ arbiterModulesConfig?: IEngineModuleConfig[];
11
+ };
9
12
  };
@@ -7,8 +7,9 @@ import type { RightsManagementPnpComponentType } from "../types/rightsManagement
7
7
  */
8
8
  export type RightsManagementPnpComponentConfig = {
9
9
  type: typeof RightsManagementPnpComponentType.Service;
10
- options?: IPolicyNegotiationPointServiceConstructorOptions & {
10
+ options: IPolicyNegotiationPointServiceConstructorOptions & {
11
11
  negotiatorModulesConfig?: IEngineModuleConfig[];
12
+ requesterModulesConfig?: IEngineModuleConfig[];
12
13
  };
13
14
  } | {
14
15
  type: typeof RightsManagementPnpComponentType.RestClient;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Rights management DAP component types.
3
+ */
4
+ export declare const RightsManagementDapComponentType: {
5
+ /**
6
+ * Service.
7
+ */
8
+ readonly Service: "service";
9
+ /**
10
+ * REST client.
11
+ */
12
+ readonly RestClient: "rest-client";
13
+ };
14
+ /**
15
+ * Rights management DAP component types.
16
+ */
17
+ export type RightsManagementDapComponentType = (typeof RightsManagementDapComponentType)[keyof typeof RightsManagementDapComponentType];
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Rights management DARP component types.
3
+ */
4
+ export declare const RightsManagementDarpComponentType: {
5
+ /**
6
+ * Service.
7
+ */
8
+ readonly Service: "service";
9
+ };
10
+ /**
11
+ * Rights management DARP component types.
12
+ */
13
+ export type RightsManagementDarpComponentType = (typeof RightsManagementDarpComponentType)[keyof typeof RightsManagementDarpComponentType];
package/docs/changelog.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @twin.org/engine-types - Changelog
2
2
 
3
+ ## [0.0.2-next.14](https://github.com/twinfoundation/engine/compare/engine-types-v0.0.2-next.13...engine-types-v0.0.2-next.14) (2025-09-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * add latest rights management components ([2d305c8](https://github.com/twinfoundation/engine/commit/2d305c8c85c77bb4f5694c76422db4a11efc1a40))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/engine-core bumped from 0.0.2-next.13 to 0.0.2-next.14
16
+ * @twin.org/engine-models bumped from 0.0.2-next.13 to 0.0.2-next.14
17
+
3
18
  ## [0.0.2-next.13](https://github.com/twinfoundation/engine/compare/engine-types-v0.0.2-next.12...engine-types-v0.0.2-next.13) (2025-09-08)
4
19
 
5
20