@twin.org/engine-types 0.0.3-next.9 → 0.9.0

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 (583) hide show
  1. package/README.md +1 -1
  2. package/dist/es/components/attestation.js +20 -24
  3. package/dist/es/components/attestation.js.map +1 -1
  4. package/dist/es/components/auditableItemGraph.js +27 -22
  5. package/dist/es/components/auditableItemGraph.js.map +1 -1
  6. package/dist/es/components/auditableItemStream.js +27 -22
  7. package/dist/es/components/auditableItemStream.js.map +1 -1
  8. package/dist/es/components/automation.js +43 -0
  9. package/dist/es/components/automation.js.map +1 -0
  10. package/dist/es/components/automationAction.js +27 -0
  11. package/dist/es/components/automationAction.js.map +1 -0
  12. package/dist/es/components/backgroundTask.js +16 -12
  13. package/dist/es/components/backgroundTask.js.map +1 -1
  14. package/dist/es/components/blobStorage.js +69 -80
  15. package/dist/es/components/blobStorage.js.map +1 -1
  16. package/dist/es/components/contextIdHandler.js +9 -9
  17. package/dist/es/components/contextIdHandler.js.map +1 -1
  18. package/dist/es/components/dataProcessing.js +33 -32
  19. package/dist/es/components/dataProcessing.js.map +1 -1
  20. package/dist/es/components/dataspaceControlPlane.js +60 -0
  21. package/dist/es/components/dataspaceControlPlane.js.map +1 -0
  22. package/dist/es/components/dataspaceDataPlane.js +66 -0
  23. package/dist/es/components/dataspaceDataPlane.js.map +1 -0
  24. package/dist/es/components/documentManagement.js +12 -11
  25. package/dist/es/components/documentManagement.js.map +1 -1
  26. package/dist/es/components/entityStorage.js +53 -65
  27. package/dist/es/components/entityStorage.js.map +1 -1
  28. package/dist/es/components/eventBus.js +23 -27
  29. package/dist/es/components/eventBus.js.map +1 -1
  30. package/dist/es/components/faucet.js +18 -18
  31. package/dist/es/components/faucet.js.map +1 -1
  32. package/dist/es/components/federatedCatalogue.js +18 -14
  33. package/dist/es/components/federatedCatalogue.js.map +1 -1
  34. package/dist/es/components/federatedCatalogueFilter.js +14 -11
  35. package/dist/es/components/federatedCatalogueFilter.js.map +1 -1
  36. package/dist/es/components/health.js +32 -0
  37. package/dist/es/components/health.js.map +1 -0
  38. package/dist/es/components/identity.js +30 -31
  39. package/dist/es/components/identity.js.map +1 -1
  40. package/dist/es/components/identityProfile.js +26 -24
  41. package/dist/es/components/identityProfile.js.map +1 -1
  42. package/dist/es/components/identityResolver.js +36 -40
  43. package/dist/es/components/identityResolver.js.map +1 -1
  44. package/dist/es/components/immutableProof.js +23 -21
  45. package/dist/es/components/immutableProof.js.map +1 -1
  46. package/dist/es/components/logging.js +32 -28
  47. package/dist/es/components/logging.js.map +1 -1
  48. package/dist/es/components/messaging.js +89 -89
  49. package/dist/es/components/messaging.js.map +1 -1
  50. package/dist/es/components/metricsCollector.js +29 -0
  51. package/dist/es/components/metricsCollector.js.map +1 -0
  52. package/dist/es/components/metricsProducer.js +33 -0
  53. package/dist/es/components/metricsProducer.js.map +1 -0
  54. package/dist/es/components/nft.js +32 -33
  55. package/dist/es/components/nft.js.map +1 -1
  56. package/dist/es/components/notarization.js +77 -0
  57. package/dist/es/components/notarization.js.map +1 -0
  58. package/dist/es/components/platform.js +34 -0
  59. package/dist/es/components/platform.js.map +1 -0
  60. package/dist/es/components/rightsManagementPap.js +19 -17
  61. package/dist/es/components/rightsManagementPap.js.map +1 -1
  62. package/dist/es/components/rightsManagementPdp.js +11 -12
  63. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  64. package/dist/es/components/rightsManagementPep.js +12 -10
  65. package/dist/es/components/rightsManagementPep.js.map +1 -1
  66. package/dist/es/components/rightsManagementPip.js +10 -10
  67. package/dist/es/components/rightsManagementPip.js.map +1 -1
  68. package/dist/es/components/rightsManagementPmp.js +11 -11
  69. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  70. package/dist/es/components/rightsManagementPnap.js +20 -18
  71. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  72. package/dist/es/components/rightsManagementPnp.js +14 -15
  73. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  74. package/dist/es/components/rightsManagementPolicyArbiter.js +19 -12
  75. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -1
  76. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +18 -12
  77. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -1
  78. package/dist/es/components/rightsManagementPolicyExecutionAction.js +10 -10
  79. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -1
  80. package/dist/es/components/rightsManagementPolicyInformationSource.js +23 -17
  81. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -1
  82. package/dist/es/components/rightsManagementPolicyNegotiator.js +12 -12
  83. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -1
  84. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  85. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  86. package/dist/es/components/rightsManagementPolicyRequester.js +12 -12
  87. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -1
  88. package/dist/es/components/rightsManagementPxp.js +10 -10
  89. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  90. package/dist/es/components/schemaVersionMigration.js +35 -0
  91. package/dist/es/components/schemaVersionMigration.js.map +1 -0
  92. package/dist/es/components/taskScheduler.js +19 -11
  93. package/dist/es/components/taskScheduler.js.map +1 -1
  94. package/dist/es/components/telemetry.js +52 -31
  95. package/dist/es/components/telemetry.js.map +1 -1
  96. package/dist/es/components/tenant.js +12 -11
  97. package/dist/es/components/tenant.js.map +1 -1
  98. package/dist/es/components/trust.js +10 -10
  99. package/dist/es/components/trust.js.map +1 -1
  100. package/dist/es/components/trustGenerator.js +11 -11
  101. package/dist/es/components/trustGenerator.js.map +1 -1
  102. package/dist/es/components/trustVerifier.js +15 -12
  103. package/dist/es/components/trustVerifier.js.map +1 -1
  104. package/dist/es/components/vault.js +15 -12
  105. package/dist/es/components/vault.js.map +1 -1
  106. package/dist/es/components/wallet.js +24 -25
  107. package/dist/es/components/wallet.js.map +1 -1
  108. package/dist/es/index.js +35 -23
  109. package/dist/es/index.js.map +1 -1
  110. package/dist/es/models/IEngineConfig.js.map +1 -1
  111. package/dist/es/models/config/automationActionConfig.js +2 -0
  112. package/dist/es/models/config/automationActionConfig.js.map +1 -0
  113. package/dist/es/models/config/automationComponentConfig.js +2 -0
  114. package/dist/es/models/config/automationComponentConfig.js.map +1 -0
  115. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  116. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js +2 -0
  117. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js.map +1 -0
  118. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js +2 -0
  119. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js.map +1 -0
  120. package/dist/es/models/config/entityStorageConnectorConfig.js.map +1 -1
  121. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -1
  122. package/dist/es/models/config/healthComponentConfig.js +2 -0
  123. package/dist/es/models/config/healthComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/metricsCollectorComponentConfig.js +2 -0
  125. package/dist/es/models/config/metricsCollectorComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/metricsProducerComponentConfig.js +2 -0
  127. package/dist/es/models/config/metricsProducerComponentConfig.js.map +1 -0
  128. package/dist/es/models/config/notarizationComponentConfig.js +2 -0
  129. package/dist/es/models/config/notarizationComponentConfig.js.map +1 -0
  130. package/dist/es/models/config/notarizationConnectorConfig.js +2 -0
  131. package/dist/es/models/config/notarizationConnectorConfig.js.map +1 -0
  132. package/dist/es/models/config/platformComponentConfig.js +2 -0
  133. package/dist/es/models/config/platformComponentConfig.js.map +1 -0
  134. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  135. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -1
  136. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -1
  137. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -1
  138. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -1
  139. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  140. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  141. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -1
  142. package/dist/es/models/config/schemaVersionMigrationComponentConfig.js +2 -0
  143. package/dist/es/models/config/schemaVersionMigrationComponentConfig.js.map +1 -0
  144. package/dist/es/models/config/telemetryConnectorConfig.js.map +1 -1
  145. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -1
  146. package/dist/es/models/types/automationActionType.js +13 -0
  147. package/dist/es/models/types/automationActionType.js.map +1 -0
  148. package/dist/es/models/types/{verifiableStorageComponentType.js → automationComponentType.js} +4 -4
  149. package/dist/es/models/types/automationComponentType.js.map +1 -0
  150. package/dist/es/models/types/dataspaceControlPlaneComponentType.js +17 -0
  151. package/dist/es/models/types/dataspaceControlPlaneComponentType.js.map +1 -0
  152. package/dist/es/models/types/{dataSpaceConnectorComponentType.js → dataspaceDataPlaneComponentType.js} +4 -4
  153. package/dist/es/models/types/dataspaceDataPlaneComponentType.js.map +1 -0
  154. package/dist/es/models/types/entityStorageConnectorType.js +2 -6
  155. package/dist/es/models/types/entityStorageConnectorType.js.map +1 -1
  156. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +2 -2
  157. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -1
  158. package/dist/es/models/types/{synchronisedStorageComponentType.js → healthComponentType.js} +4 -4
  159. package/dist/es/models/types/healthComponentType.js.map +1 -0
  160. package/dist/es/models/types/metricsCollectorComponentType.js +13 -0
  161. package/dist/es/models/types/metricsCollectorComponentType.js.map +1 -0
  162. package/dist/es/models/types/metricsProducerComponentType.js +17 -0
  163. package/dist/es/models/types/metricsProducerComponentType.js.map +1 -0
  164. package/dist/es/models/types/{rightsManagementDapComponentType.js → notarizationComponentType.js} +4 -4
  165. package/dist/es/models/types/notarizationComponentType.js.map +1 -0
  166. package/dist/es/models/types/{verifiableStorageConnectorType.js → notarizationConnectorType.js} +4 -4
  167. package/dist/es/models/types/notarizationConnectorType.js.map +1 -0
  168. package/dist/es/models/types/platformComponentType.js +13 -0
  169. package/dist/es/models/types/platformComponentType.js.map +1 -0
  170. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +6 -2
  171. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -1
  172. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +6 -2
  173. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -1
  174. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +4 -0
  175. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -1
  176. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +2 -2
  177. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -1
  178. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  179. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  180. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +2 -2
  181. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -1
  182. package/dist/es/models/types/schemaVersionMigrationComponentType.js +13 -0
  183. package/dist/es/models/types/schemaVersionMigrationComponentType.js.map +1 -0
  184. package/dist/es/models/types/telemetryConnectorType.js +5 -1
  185. package/dist/es/models/types/telemetryConnectorType.js.map +1 -1
  186. package/dist/es/models/types/trustVerifierComponentType.js +5 -1
  187. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -1
  188. package/dist/es/utils/engineTypeHelper.js +19 -1
  189. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  190. package/dist/types/components/attestation.d.ts +5 -13
  191. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  192. package/dist/types/components/auditableItemStream.d.ts +3 -7
  193. package/dist/types/components/automation.d.ts +12 -0
  194. package/dist/types/components/automationAction.d.ts +12 -0
  195. package/dist/types/components/backgroundTask.d.ts +3 -7
  196. package/dist/types/components/blobStorage.d.ts +4 -12
  197. package/dist/types/components/contextIdHandler.d.ts +3 -7
  198. package/dist/types/components/dataProcessing.d.ts +5 -17
  199. package/dist/types/components/dataspaceControlPlane.d.ts +12 -0
  200. package/dist/types/components/dataspaceDataPlane.d.ts +12 -0
  201. package/dist/types/components/documentManagement.d.ts +3 -7
  202. package/dist/types/components/entityStorage.d.ts +5 -10
  203. package/dist/types/components/eventBus.d.ts +4 -12
  204. package/dist/types/components/faucet.d.ts +2 -7
  205. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  206. package/dist/types/components/federatedCatalogueFilter.d.ts +2 -7
  207. package/dist/types/components/health.d.ts +12 -0
  208. package/dist/types/components/identity.d.ts +4 -12
  209. package/dist/types/components/identityProfile.d.ts +4 -12
  210. package/dist/types/components/identityResolver.d.ts +4 -12
  211. package/dist/types/components/immutableProof.d.ts +3 -7
  212. package/dist/types/components/logging.d.ts +4 -12
  213. package/dist/types/components/messaging.d.ts +7 -27
  214. package/dist/types/components/metricsCollector.d.ts +12 -0
  215. package/dist/types/components/metricsProducer.d.ts +12 -0
  216. package/dist/types/components/nft.d.ts +4 -12
  217. package/dist/types/components/notarization.d.ts +22 -0
  218. package/dist/types/components/platform.d.ts +12 -0
  219. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  220. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  221. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  222. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  223. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  224. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  225. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  226. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +2 -7
  227. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +2 -7
  228. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +2 -7
  229. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +2 -7
  230. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +2 -7
  231. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  232. package/dist/types/components/rightsManagementPolicyRequester.d.ts +2 -7
  233. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  234. package/dist/types/components/schemaVersionMigration.d.ts +12 -0
  235. package/dist/types/components/taskScheduler.d.ts +3 -7
  236. package/dist/types/components/telemetry.d.ts +4 -12
  237. package/dist/types/components/tenant.d.ts +3 -7
  238. package/dist/types/components/trust.d.ts +3 -7
  239. package/dist/types/components/trustGenerator.d.ts +2 -7
  240. package/dist/types/components/trustVerifier.d.ts +2 -7
  241. package/dist/types/components/vault.d.ts +2 -7
  242. package/dist/types/components/wallet.d.ts +3 -8
  243. package/dist/types/index.d.ts +35 -23
  244. package/dist/types/models/IEngineConfig.d.ts +59 -39
  245. package/dist/types/models/config/automationActionConfig.d.ts +9 -0
  246. package/dist/types/models/config/automationComponentConfig.d.ts +13 -0
  247. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  248. package/dist/types/models/config/dataspaceControlPlaneComponentConfig.d.ts +13 -0
  249. package/dist/types/models/config/dataspaceDataPlaneComponentConfig.d.ts +17 -0
  250. package/dist/types/models/config/entityStorageConnectorConfig.d.ts +5 -5
  251. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +3 -3
  252. package/dist/types/models/config/healthComponentConfig.d.ts +13 -0
  253. package/dist/types/models/config/metricsCollectorComponentConfig.d.ts +9 -0
  254. package/dist/types/models/config/metricsProducerComponentConfig.d.ts +12 -0
  255. package/dist/types/models/config/notarizationComponentConfig.d.ts +13 -0
  256. package/dist/types/models/config/notarizationConnectorConfig.d.ts +13 -0
  257. package/dist/types/models/config/platformComponentConfig.d.ts +9 -0
  258. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -1
  259. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +6 -3
  260. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +6 -3
  261. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +4 -1
  262. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +3 -3
  263. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  264. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +3 -3
  265. package/dist/types/models/config/schemaVersionMigrationComponentConfig.d.ts +9 -0
  266. package/dist/types/models/config/telemetryConnectorConfig.d.ts +4 -0
  267. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +4 -1
  268. package/dist/types/models/types/automationActionType.d.ts +13 -0
  269. package/dist/types/models/types/automationComponentType.d.ts +17 -0
  270. package/dist/types/models/types/dataspaceControlPlaneComponentType.d.ts +17 -0
  271. package/dist/types/models/types/dataspaceDataPlaneComponentType.d.ts +21 -0
  272. package/dist/types/models/types/entityStorageConnectorType.d.ts +1 -5
  273. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +2 -2
  274. package/dist/types/models/types/healthComponentType.d.ts +17 -0
  275. package/dist/types/models/types/metricsCollectorComponentType.d.ts +13 -0
  276. package/dist/types/models/types/metricsProducerComponentType.d.ts +17 -0
  277. package/dist/types/models/types/notarizationComponentType.d.ts +17 -0
  278. package/dist/types/models/types/notarizationConnectorType.d.ts +17 -0
  279. package/dist/types/models/types/platformComponentType.d.ts +13 -0
  280. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +6 -2
  281. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +6 -2
  282. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +4 -0
  283. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +2 -2
  284. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  285. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +2 -2
  286. package/dist/types/models/types/schemaVersionMigrationComponentType.d.ts +13 -0
  287. package/dist/types/models/types/telemetryConnectorType.d.ts +4 -0
  288. package/dist/types/models/types/trustVerifierComponentType.d.ts +4 -0
  289. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  290. package/docs/changelog.md +1134 -157
  291. package/docs/examples.md +74 -1
  292. package/docs/reference/classes/EngineTypeHelper.md +57 -4
  293. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  294. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  295. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  296. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  297. package/docs/reference/functions/initialiseAutomationAction.md +31 -0
  298. package/docs/reference/functions/initialiseAutomationComponent.md +31 -0
  299. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +2 -2
  300. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  301. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  302. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +2 -2
  303. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  304. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  305. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  306. package/docs/reference/functions/initialiseDataspaceControlPlaneComponent.md +31 -0
  307. package/docs/reference/functions/initialiseDataspaceDataPlaneComponent.md +31 -0
  308. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  309. package/docs/reference/functions/initialiseEntityStorageComponent.md +3 -3
  310. package/docs/reference/functions/initialiseEntityStorageConnector.md +4 -6
  311. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  312. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  313. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  314. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  315. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +2 -2
  316. package/docs/reference/functions/initialiseHealthComponent.md +31 -0
  317. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  318. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  319. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  320. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  321. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  322. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  323. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  324. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  325. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  326. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  327. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  328. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  329. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  330. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  331. package/docs/reference/functions/initialiseMetricsCollectorComponent.md +31 -0
  332. package/docs/reference/functions/initialiseMetricsProducerComponent.md +31 -0
  333. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  334. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  335. package/docs/reference/functions/initialiseNotarizationComponent.md +31 -0
  336. package/docs/reference/functions/initialiseNotarizationConnector.md +31 -0
  337. package/docs/reference/functions/initialisePlatformComponent.md +31 -0
  338. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  339. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  340. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  341. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  342. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  343. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  344. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  345. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +2 -2
  346. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +2 -2
  347. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +2 -2
  348. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +2 -2
  349. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +2 -2
  350. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  351. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +2 -2
  352. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  353. package/docs/reference/functions/initialiseSchemaVersionMigrationComponent.md +31 -0
  354. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  355. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  356. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  357. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  358. package/docs/reference/functions/initialiseTrustComponent.md +2 -2
  359. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +2 -2
  360. package/docs/reference/functions/initialiseTrustVerifierComponent.md +2 -2
  361. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  362. package/docs/reference/functions/initialiseWalletConnector.md +3 -3
  363. package/docs/reference/index.md +48 -32
  364. package/docs/reference/interfaces/IEngineConfig.md +178 -106
  365. package/docs/reference/type-aliases/AttestationConnectorConfig.md +3 -3
  366. package/docs/reference/type-aliases/AutomationActionConfig.md +17 -0
  367. package/docs/reference/type-aliases/AutomationActionType.md +5 -0
  368. package/docs/reference/type-aliases/AutomationComponentConfig.md +5 -0
  369. package/docs/reference/type-aliases/AutomationComponentType.md +5 -0
  370. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +3 -3
  371. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  372. package/docs/reference/type-aliases/DataExtractorConnectorConfig.md +3 -3
  373. package/docs/reference/type-aliases/DataspaceControlPlaneComponentConfig.md +5 -0
  374. package/docs/reference/type-aliases/DataspaceControlPlaneComponentType.md +5 -0
  375. package/docs/reference/type-aliases/DataspaceDataPlaneComponentConfig.md +5 -0
  376. package/docs/reference/type-aliases/DataspaceDataPlaneComponentType.md +5 -0
  377. package/docs/reference/type-aliases/DltConfig.md +4 -4
  378. package/docs/reference/type-aliases/EntityStorageConnectorConfig.md +1 -1
  379. package/docs/reference/type-aliases/EventBusConnectorConfig.md +3 -3
  380. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +4 -4
  381. package/docs/reference/type-aliases/HealthComponentConfig.md +5 -0
  382. package/docs/reference/type-aliases/HealthComponentType.md +5 -0
  383. package/docs/reference/type-aliases/IdentityProfileConnectorConfig.md +3 -3
  384. package/docs/reference/type-aliases/MessagingAdminComponentConfig.md +3 -3
  385. package/docs/reference/type-aliases/MessagingComponentConfig.md +3 -3
  386. package/docs/reference/type-aliases/MetricsCollectorComponentConfig.md +17 -0
  387. package/docs/reference/type-aliases/MetricsCollectorComponentType.md +5 -0
  388. package/docs/reference/type-aliases/MetricsProducerComponentConfig.md +5 -0
  389. package/docs/reference/type-aliases/MetricsProducerComponentType.md +5 -0
  390. package/docs/reference/type-aliases/NotarizationComponentConfig.md +5 -0
  391. package/docs/reference/type-aliases/NotarizationComponentType.md +5 -0
  392. package/docs/reference/type-aliases/NotarizationConnectorConfig.md +5 -0
  393. package/docs/reference/type-aliases/NotarizationConnectorType.md +5 -0
  394. package/docs/reference/type-aliases/PlatformComponentConfig.md +17 -0
  395. package/docs/reference/type-aliases/PlatformComponentType.md +5 -0
  396. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +3 -3
  397. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +3 -3
  398. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +3 -3
  399. package/docs/reference/type-aliases/RightsManagementPmpComponentConfig.md +3 -3
  400. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  401. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +1 -13
  402. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +1 -13
  403. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +3 -3
  404. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +1 -1
  405. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +4 -4
  406. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  407. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  408. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +4 -4
  409. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +3 -3
  410. package/docs/reference/type-aliases/SchemaVersionMigrationComponentConfig.md +17 -0
  411. package/docs/reference/type-aliases/SchemaVersionMigrationComponentType.md +5 -0
  412. package/docs/reference/type-aliases/TaskSchedulerComponentConfig.md +3 -3
  413. package/docs/reference/type-aliases/TelemetryConnectorConfig.md +1 -13
  414. package/docs/reference/type-aliases/TenantAdminComponentConfig.md +3 -3
  415. package/docs/reference/type-aliases/TrustComponentConfig.md +3 -3
  416. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +2 -2
  417. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +1 -13
  418. package/docs/reference/variables/AttestationComponentType.md +2 -2
  419. package/docs/reference/variables/AttestationConnectorType.md +1 -1
  420. package/docs/reference/variables/AuditableItemGraphComponentType.md +2 -2
  421. package/docs/reference/variables/AuditableItemStreamComponentType.md +2 -2
  422. package/docs/reference/variables/AutomationActionType.md +13 -0
  423. package/docs/reference/variables/AutomationComponentType.md +19 -0
  424. package/docs/reference/variables/BackgroundTaskComponentType.md +1 -1
  425. package/docs/reference/variables/BlobStorageComponentType.md +2 -2
  426. package/docs/reference/variables/BlobStorageConnectorType.md +6 -6
  427. package/docs/reference/variables/ContextIdHandlerComponentType.md +2 -2
  428. package/docs/reference/variables/DataConverterConnectorType.md +2 -2
  429. package/docs/reference/variables/DataExtractorConnectorType.md +1 -1
  430. package/docs/reference/variables/DataProcessingComponentType.md +2 -2
  431. package/docs/reference/variables/DataspaceControlPlaneComponentType.md +19 -0
  432. package/docs/reference/variables/{DataSpaceConnectorComponentType.md → DataspaceDataPlaneComponentType.md} +6 -6
  433. package/docs/reference/variables/DltConfigType.md +1 -1
  434. package/docs/reference/variables/DocumentManagementComponentType.md +2 -2
  435. package/docs/reference/variables/EntityStorageComponentType.md +2 -2
  436. package/docs/reference/variables/EntityStorageConnectorType.md +10 -16
  437. package/docs/reference/variables/EventBusComponentType.md +2 -2
  438. package/docs/reference/variables/EventBusConnectorType.md +1 -1
  439. package/docs/reference/variables/FaucetConnectorType.md +2 -2
  440. package/docs/reference/variables/FederatedCatalogueComponentType.md +2 -2
  441. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +3 -3
  442. package/docs/reference/variables/{VerifiableStorageComponentType.md → HealthComponentType.md} +5 -5
  443. package/docs/reference/variables/IdentityComponentType.md +2 -2
  444. package/docs/reference/variables/IdentityConnectorType.md +2 -2
  445. package/docs/reference/variables/IdentityProfileComponentType.md +2 -2
  446. package/docs/reference/variables/IdentityProfileConnectorType.md +1 -1
  447. package/docs/reference/variables/IdentityResolverComponentType.md +2 -2
  448. package/docs/reference/variables/IdentityResolverConnectorType.md +3 -3
  449. package/docs/reference/variables/ImmutableProofComponentType.md +2 -2
  450. package/docs/reference/variables/LoggingComponentType.md +2 -2
  451. package/docs/reference/variables/LoggingConnectorType.md +3 -3
  452. package/docs/reference/variables/MessagingAdminComponentType.md +1 -1
  453. package/docs/reference/variables/MessagingComponentType.md +1 -1
  454. package/docs/reference/variables/MessagingEmailConnectorType.md +2 -2
  455. package/docs/reference/variables/MessagingPushNotificationConnectorType.md +2 -2
  456. package/docs/reference/variables/MessagingSmsConnectorType.md +2 -2
  457. package/docs/reference/variables/MetricsCollectorComponentType.md +13 -0
  458. package/docs/reference/variables/MetricsProducerComponentType.md +19 -0
  459. package/docs/reference/variables/NftComponentType.md +2 -2
  460. package/docs/reference/variables/NftConnectorType.md +2 -2
  461. package/docs/reference/variables/NotarizationComponentType.md +19 -0
  462. package/docs/reference/variables/NotarizationConnectorType.md +19 -0
  463. package/docs/reference/variables/PlatformComponentType.md +13 -0
  464. package/docs/reference/variables/RightsManagementPapComponentType.md +2 -2
  465. package/docs/reference/variables/RightsManagementPdpComponentType.md +1 -1
  466. package/docs/reference/variables/RightsManagementPepComponentType.md +2 -2
  467. package/docs/reference/variables/RightsManagementPipComponentType.md +1 -1
  468. package/docs/reference/variables/RightsManagementPmpComponentType.md +1 -1
  469. package/docs/reference/variables/RightsManagementPnapComponentType.md +2 -2
  470. package/docs/reference/variables/RightsManagementPnpComponentType.md +2 -2
  471. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +9 -3
  472. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +9 -3
  473. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +1 -1
  474. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +8 -2
  475. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +3 -3
  476. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  477. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +3 -3
  478. package/docs/reference/variables/RightsManagementPxpComponentType.md +1 -1
  479. package/docs/reference/variables/SchemaVersionMigrationComponentType.md +13 -0
  480. package/docs/reference/variables/TaskSchedulerComponentType.md +1 -1
  481. package/docs/reference/variables/TelemetryComponentType.md +2 -2
  482. package/docs/reference/variables/TelemetryConnectorType.md +7 -1
  483. package/docs/reference/variables/TenantAdminComponentType.md +1 -1
  484. package/docs/reference/variables/TrustComponentType.md +1 -1
  485. package/docs/reference/variables/TrustGeneratorComponentType.md +1 -1
  486. package/docs/reference/variables/TrustVerifierComponentType.md +7 -1
  487. package/docs/reference/variables/VaultConnectorType.md +2 -2
  488. package/docs/reference/variables/WalletConnectorType.md +2 -2
  489. package/package.json +133 -128
  490. package/dist/es/components/authenticationGenerator.js +0 -30
  491. package/dist/es/components/authenticationGenerator.js.map +0 -1
  492. package/dist/es/components/dataSpaceConnector.js +0 -51
  493. package/dist/es/components/dataSpaceConnector.js.map +0 -1
  494. package/dist/es/components/rightsManagementDap.js +0 -36
  495. package/dist/es/components/rightsManagementDap.js.map +0 -1
  496. package/dist/es/components/rightsManagementDarp.js +0 -30
  497. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  498. package/dist/es/components/rightsManagementDataAccessHandler.js +0 -27
  499. package/dist/es/components/rightsManagementDataAccessHandler.js.map +0 -1
  500. package/dist/es/components/synchronisedStorage.js +0 -47
  501. package/dist/es/components/synchronisedStorage.js.map +0 -1
  502. package/dist/es/components/verifiableStorage.js +0 -79
  503. package/dist/es/components/verifiableStorage.js.map +0 -1
  504. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  505. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  506. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js +0 -2
  507. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js.map +0 -1
  508. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  509. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  510. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  511. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  512. package/dist/es/models/config/rightsManagementDataAccessHandlerComponentConfig.js +0 -2
  513. package/dist/es/models/config/rightsManagementDataAccessHandlerComponentConfig.js.map +0 -1
  514. package/dist/es/models/config/synchronisedStorageComponentConfig.js +0 -2
  515. package/dist/es/models/config/synchronisedStorageComponentConfig.js.map +0 -1
  516. package/dist/es/models/config/verifiableStorageComponentConfig.js +0 -2
  517. package/dist/es/models/config/verifiableStorageComponentConfig.js.map +0 -1
  518. package/dist/es/models/config/verifiableStorageConnectorConfig.js +0 -2
  519. package/dist/es/models/config/verifiableStorageConnectorConfig.js.map +0 -1
  520. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  521. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  522. package/dist/es/models/types/dataSpaceConnectorComponentType.js.map +0 -1
  523. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  524. package/dist/es/models/types/rightsManagementDarpComponentType.js +0 -13
  525. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  526. package/dist/es/models/types/rightsManagementDataAccessHandlerComponentType.js +0 -13
  527. package/dist/es/models/types/rightsManagementDataAccessHandlerComponentType.js.map +0 -1
  528. package/dist/es/models/types/synchronisedStorageComponentType.js.map +0 -1
  529. package/dist/es/models/types/verifiableStorageComponentType.js.map +0 -1
  530. package/dist/es/models/types/verifiableStorageConnectorType.js.map +0 -1
  531. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  532. package/dist/types/components/dataSpaceConnector.d.ts +0 -16
  533. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  534. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  535. package/dist/types/components/rightsManagementDataAccessHandler.d.ts +0 -17
  536. package/dist/types/components/synchronisedStorage.d.ts +0 -16
  537. package/dist/types/components/verifiableStorage.d.ts +0 -30
  538. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  539. package/dist/types/models/config/dataSpaceConnectorComponentConfig.d.ts +0 -17
  540. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  541. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -9
  542. package/dist/types/models/config/rightsManagementDataAccessHandlerComponentConfig.d.ts +0 -9
  543. package/dist/types/models/config/synchronisedStorageComponentConfig.d.ts +0 -13
  544. package/dist/types/models/config/verifiableStorageComponentConfig.d.ts +0 -13
  545. package/dist/types/models/config/verifiableStorageConnectorConfig.d.ts +0 -13
  546. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  547. package/dist/types/models/types/dataSpaceConnectorComponentType.d.ts +0 -21
  548. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  549. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  550. package/dist/types/models/types/rightsManagementDataAccessHandlerComponentType.d.ts +0 -13
  551. package/dist/types/models/types/synchronisedStorageComponentType.d.ts +0 -17
  552. package/dist/types/models/types/verifiableStorageComponentType.d.ts +0 -17
  553. package/dist/types/models/types/verifiableStorageConnectorType.d.ts +0 -17
  554. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  555. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +0 -31
  556. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  557. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  558. package/docs/reference/functions/initialiseRightsManagementDataAccessHandlerComponent.md +0 -31
  559. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +0 -31
  560. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +0 -31
  561. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +0 -31
  562. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  563. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  564. package/docs/reference/type-aliases/DataSpaceConnectorComponentConfig.md +0 -5
  565. package/docs/reference/type-aliases/DataSpaceConnectorComponentType.md +0 -5
  566. package/docs/reference/type-aliases/IVerifiableStorageComponentType.md +0 -5
  567. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  568. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  569. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -17
  570. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  571. package/docs/reference/type-aliases/RightsManagementDataAccessHandlerComponentConfig.md +0 -17
  572. package/docs/reference/type-aliases/RightsManagementDataAccessHandlerComponentType.md +0 -5
  573. package/docs/reference/type-aliases/SynchronisedStorageComponentConfig.md +0 -5
  574. package/docs/reference/type-aliases/SynchronisedStorageComponentType.md +0 -5
  575. package/docs/reference/type-aliases/VerifiableStorageComponentConfig.md +0 -5
  576. package/docs/reference/type-aliases/VerifiableStorageConnectorConfig.md +0 -5
  577. package/docs/reference/type-aliases/VerifiableStorageConnectorType.md +0 -5
  578. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  579. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  580. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
  581. package/docs/reference/variables/RightsManagementDataAccessHandlerComponentType.md +0 -13
  582. package/docs/reference/variables/SynchronisedStorageComponentType.md +0 -19
  583. package/docs/reference/variables/VerifiableStorageConnectorType.md +0 -19
@@ -19,35 +19,34 @@ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
19
19
  * @param instanceConfig The instance config.
20
20
  * @returns The instance created and the factory for it.
21
21
  */
22
- export async function initialiseNftConnector(engineCore, context, instanceConfig) {
23
- let component;
24
- let instanceType;
22
+ export function initialiseNftConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
25
25
  if (instanceConfig.type === NftConnectorType.EntityStorage) {
26
- initSchema();
27
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.nftEntityStorageType, "Nft", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
28
- ContextIdKeys.Node,
29
- ContextIdKeys.Tenant
30
- ]));
31
- component = new EntityStorageNftConnector(instanceConfig.options);
32
- instanceType = EntityStorageNftConnector.NAMESPACE;
26
+ createComponent = (createConfig) => {
27
+ initSchema();
28
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.nftEntityStorageType, "Nft", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
29
+ ContextIdKeys.Node,
30
+ ContextIdKeys.Tenant
31
+ ]));
32
+ return new EntityStorageNftConnector(EngineTypeHelper.mergeConfig(createConfig.options));
33
+ };
34
+ instanceTypeName = EntityStorageNftConnector.NAMESPACE;
33
35
  }
34
36
  else if (instanceConfig.type === NftConnectorType.Iota) {
35
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
36
- component = new IotaNftConnector({
37
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
38
- walletConnectorType: engineCore.getRegisteredInstanceType("walletConnector"),
39
- loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
40
- ...instanceConfig.options,
41
- config: {
42
- ...dltConfig?.options?.config,
43
- ...instanceConfig.options.config
44
- }
45
- });
46
- instanceType = IotaNftConnector.NAMESPACE;
37
+ createComponent = (createConfig) => {
38
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
39
+ return new IotaNftConnector(EngineTypeHelper.mergeConfig({
40
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
41
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
42
+ config: dltConfig?.options?.config
43
+ }, createConfig.options));
44
+ };
45
+ instanceTypeName = IotaNftConnector.NAMESPACE;
47
46
  }
48
47
  return {
49
- component,
50
- instanceType,
48
+ createComponent: createComponent,
49
+ instanceTypeName,
51
50
  factory: NftConnectorFactory
52
51
  };
53
52
  }
@@ -58,20 +57,20 @@ export async function initialiseNftConnector(engineCore, context, instanceConfig
58
57
  * @param instanceConfig The instance config.
59
58
  * @returns The instance created and the factory for it.
60
59
  */
61
- export async function initialiseNftComponent(engineCore, context, instanceConfig) {
62
- let component;
63
- let instanceType;
60
+ export function initialiseNftComponent(engineCore, context, instanceConfig) {
61
+ let createComponent;
62
+ let instanceTypeName;
64
63
  if (instanceConfig.type === NftComponentType.Service) {
65
- component = new NftService(instanceConfig.options);
66
- instanceType = "nft-service";
64
+ createComponent = (createConfig) => new NftService(EngineTypeHelper.mergeConfig(createConfig.options));
65
+ instanceTypeName = "nft-service";
67
66
  }
68
67
  else if (instanceConfig.type === NftComponentType.RestClient) {
69
- component = new NftRestClient(instanceConfig.options);
70
- instanceType = "nft-rest-client";
68
+ createComponent = (createConfig) => new NftRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
69
+ instanceTypeName = "nft-rest-client";
71
70
  }
72
71
  return {
73
- component,
74
- instanceType,
72
+ createComponent: createComponent,
73
+ instanceTypeName,
75
74
  factory: ComponentFactory
76
75
  };
77
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/components/nft.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNftConnector,\n\tinitSchema,\n\ttype Nft\n} from \"@twin.org/nft-connector-entity-storage\";\nimport { IotaNftConnector } from \"@twin.org/nft-connector-iota\";\nimport { NftConnectorFactory, type INftComponent, type INftConnector } from \"@twin.org/nft-models\";\nimport { NftRestClient } from \"@twin.org/nft-rest-client\";\nimport { NftService } from \"@twin.org/nft-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NftComponentConfig } from \"../models/config/nftComponentConfig.js\";\nimport type { NftConnectorConfig } from \"../models/config/nftConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NftComponentType } from \"../models/types/nftComponentType.js\";\nimport { NftConnectorType } from \"../models/types/nftConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the NFT connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseNftConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof NftConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: INftConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === NftConnectorType.EntityStorage) {\n\t\tinitSchema();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.nftEntityStorageType,\n\t\t\tnameof<Nft>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageNftConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageNftConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NftConnectorType.Iota) {\n\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\tengineCore.getConfig(),\n\t\t\t\"dltConfig\",\n\t\t\tDltConfigType.Iota\n\t\t);\n\t\tcomponent = new IotaNftConnector({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\twalletConnectorType: engineCore.getRegisteredInstanceType(\"walletConnector\"),\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...dltConfig?.options?.config,\n\t\t\t\t...instanceConfig.options.config\n\t\t\t}\n\t\t});\n\t\tinstanceType = IotaNftConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: NftConnectorFactory\n\t};\n}\n\n/**\n * Initialise the NFT component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseNftComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: INftComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === NftComponentType.Service) {\n\t\tcomponent = new NftService(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(NftService);\n\t} else if (instanceConfig.type === NftComponentType.RestClient) {\n\t\tcomponent = new NftRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(NftRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/components/nft.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EACN,yBAAyB,EACzB,UAAU,EAEV,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAKtE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACrC,UAAsC,EACtC,OAA0C,EAC1C,cAAkC;IAElC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB,CAAC,aAAa,EAAE,CAAC;QAC5D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,UAAU,EAAE,CAAC;YACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,oBAAoB,SAE1C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YAEF,OAAO,IAAI,yBAAyB,CACnC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,yBAAyB,CAAC,SAAS,CAAC;IACxD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC1D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CACjD,UAAU,CAAC,SAAS,EAAE,EACtB,WAAW,EACX,aAAa,CAAC,IAAI,CAClB,CAAC;YACF,OAAO,IAAI,gBAAgB,CAC1B,gBAAgB,CAAC,WAAW,CAC3B;gBACC,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;gBAC1E,oBAAoB,EAAE,UAAU,CAAC,iCAAiC,CAAC,kBAAkB,CAAC;gBACtF,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;aAClC,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,mBAAmB;KAC5B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACrC,UAAsC,EACtC,OAA0C,EAC1C,cAAkC;IAElC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACtD,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,UAAU,CACb,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,gBAA8B,CAAC;IAChD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAChE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,aAAa,CAChB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,oBAAiC,CAAC;IACnD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNftConnector,\n\tinitSchema,\n\ttype Nft\n} from \"@twin.org/nft-connector-entity-storage\";\nimport { IotaNftConnector } from \"@twin.org/nft-connector-iota\";\nimport { NftConnectorFactory } from \"@twin.org/nft-models\";\nimport { NftRestClient } from \"@twin.org/nft-rest-client\";\nimport { NftService } from \"@twin.org/nft-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NftComponentConfig } from \"../models/config/nftComponentConfig.js\";\nimport type { NftConnectorConfig } from \"../models/config/nftConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NftComponentType } from \"../models/types/nftComponentType.js\";\nimport { NftConnectorType } from \"../models/types/nftConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the NFT connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNftConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof NftConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NftConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.nftEntityStorageType,\n\t\t\t\tnameof<Nft>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\n\t\t\treturn new EntityStorageNftConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageNftConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NftConnectorType.Iota) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\t\tengineCore.getConfig(),\n\t\t\t\t\"dltConfig\",\n\t\t\t\tDltConfigType.Iota\n\t\t\t);\n\t\t\treturn new IotaNftConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t\t\t\tconfig: dltConfig?.options?.config\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = IotaNftConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: NftConnectorFactory\n\t};\n}\n\n/**\n * Initialise the NFT component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNftComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NftComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NftService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NftService);\n\t} else if (instanceConfig.type === NftComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NftRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NftRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,77 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
4
+ import { ComponentFactory } from "@twin.org/core";
5
+ import { EntityStorageNotarizationConnector, initSchema } from "@twin.org/notarization-connector-entity-storage";
6
+ import { IotaNotarizationConnector } from "@twin.org/notarization-connector-iota";
7
+ import { NotarizationConnectorFactory } from "@twin.org/notarization-models";
8
+ import { NotarizationRestClient } from "@twin.org/notarization-rest-client";
9
+ import { NotarizationService } from "@twin.org/notarization-service";
10
+ import { initialiseEntityStorageConnector } from "./entityStorage.js";
11
+ import { DltConfigType } from "../models/types/dltConfigType.js";
12
+ import { NotarizationComponentType } from "../models/types/notarizationComponentType.js";
13
+ import { NotarizationConnectorType } from "../models/types/notarizationConnectorType.js";
14
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
15
+ /**
16
+ * Initialise the notarization connector.
17
+ * @param engineCore The engine core.
18
+ * @param context The context for the engine.
19
+ * @param instanceConfig The instance config.
20
+ * @returns The instance created and the factory for it.
21
+ */
22
+ export function initialiseNotarizationConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
25
+ if (instanceConfig.type === NotarizationConnectorType.EntityStorage) {
26
+ createComponent = (createConfig) => {
27
+ initSchema();
28
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.notarizationEntityStorageType, "Notarization", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
29
+ ContextIdKeys.Node,
30
+ ContextIdKeys.Tenant
31
+ ]));
32
+ return new EntityStorageNotarizationConnector(EngineTypeHelper.mergeConfig(createConfig.options));
33
+ };
34
+ instanceTypeName = EntityStorageNotarizationConnector.NAMESPACE;
35
+ }
36
+ else if (instanceConfig.type === NotarizationConnectorType.Iota) {
37
+ createComponent = (createConfig) => {
38
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
39
+ return new IotaNotarizationConnector(EngineTypeHelper.mergeConfig({
40
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
41
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
42
+ config: dltConfig?.options?.config
43
+ }, createConfig.options));
44
+ };
45
+ instanceTypeName = IotaNotarizationConnector.NAMESPACE;
46
+ }
47
+ return {
48
+ createComponent: createComponent,
49
+ instanceTypeName,
50
+ factory: NotarizationConnectorFactory
51
+ };
52
+ }
53
+ /**
54
+ * Initialise the notarization component.
55
+ * @param engineCore The engine core.
56
+ * @param context The context for the engine.
57
+ * @param instanceConfig The instance config.
58
+ * @returns The instance created and the factory for it.
59
+ */
60
+ export function initialiseNotarizationComponent(engineCore, context, instanceConfig) {
61
+ let createComponent;
62
+ let instanceTypeName;
63
+ if (instanceConfig.type === NotarizationComponentType.Service) {
64
+ createComponent = (createConfig) => new NotarizationService(EngineTypeHelper.mergeConfig(createConfig.options));
65
+ instanceTypeName = "notarization-service";
66
+ }
67
+ else if (instanceConfig.type === NotarizationComponentType.RestClient) {
68
+ createComponent = (createConfig) => new NotarizationRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
69
+ instanceTypeName = "notarization-rest-client";
70
+ }
71
+ return {
72
+ createComponent: createComponent,
73
+ instanceTypeName,
74
+ factory: ComponentFactory
75
+ };
76
+ }
77
+ //# sourceMappingURL=notarization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notarization.js","sourceRoot":"","sources":["../../../src/components/notarization.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNotarizationConnector,\n\tinitSchema,\n\ttype Notarization\n} from \"@twin.org/notarization-connector-entity-storage\";\nimport { IotaNotarizationConnector } from \"@twin.org/notarization-connector-iota\";\nimport { NotarizationConnectorFactory } from \"@twin.org/notarization-models\";\nimport { NotarizationRestClient } from \"@twin.org/notarization-rest-client\";\nimport { NotarizationService } from \"@twin.org/notarization-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NotarizationComponentConfig } from \"../models/config/notarizationComponentConfig.js\";\nimport type { NotarizationConnectorConfig } from \"../models/config/notarizationConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NotarizationComponentType } from \"../models/types/notarizationComponentType.js\";\nimport { NotarizationConnectorType } from \"../models/types/notarizationConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the notarization connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNotarizationConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NotarizationConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof NotarizationConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NotarizationConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.notarizationEntityStorageType,\n\t\t\t\tnameof<Notarization>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\n\t\t\treturn new EntityStorageNotarizationConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageNotarizationConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NotarizationConnectorType.Iota) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\t\tengineCore.getConfig(),\n\t\t\t\t\"dltConfig\",\n\t\t\t\tDltConfigType.Iota\n\t\t\t);\n\t\t\treturn new IotaNotarizationConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t\t\t\tconfig: dltConfig?.options?.config\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = IotaNotarizationConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: NotarizationConnectorFactory\n\t};\n}\n\n/**\n * Initialise the notarization component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNotarizationComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NotarizationComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NotarizationComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NotarizationService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NotarizationService);\n\t} else if (instanceConfig.type === NotarizationComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NotarizationRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NotarizationRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,34 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { PlatformService } from "@twin.org/api-service";
4
+ import { initSchema as initSchemaTenant } from "@twin.org/api-tenant-processor";
5
+ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
6
+ import { ComponentFactory } from "@twin.org/core";
7
+ import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
+ import { PlatformComponentType } from "../models/types/platformComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
10
+ /**
11
+ * Initialise the platform component.
12
+ * @param engineCore The engine core.
13
+ * @param context The context for the engine.
14
+ * @param instanceConfig The instance config.
15
+ * @returns The instance created and the factory for it.
16
+ */
17
+ export function initialisePlatformComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
20
+ if (instanceConfig.type === PlatformComponentType.Service) {
21
+ createComponent = (createConfig) => {
22
+ initSchemaTenant();
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.tenantEntityStorageType, "Tenant", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
24
+ return new PlatformService(EngineTypeHelper.mergeConfig(createConfig.options));
25
+ };
26
+ instanceTypeName = "platform-service";
27
+ }
28
+ return {
29
+ createComponent,
30
+ instanceTypeName,
31
+ factory: ComponentFactory
32
+ };
33
+ }
34
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/components/platform.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAe,UAAU,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAC1C,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAEvC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,EAAE,CAAC;QAC3D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,gBAAgB,EAAE,CAAC;YAEnB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,uBAAuB,YAE7C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,IAAI,eAAe,CACzB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,qBAAmC,CAAC;IACrD,CAAC;IAED,OAAO;QACN,eAAe;QACf,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { PlatformService } from \"@twin.org/api-service\";\nimport { type Tenant, initSchema as initSchemaTenant } from \"@twin.org/api-tenant-processor\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { PlatformComponentConfig } from \"../models/config/platformComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { PlatformComponentType } from \"../models/types/platformComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the platform component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialisePlatformComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: PlatformComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === PlatformComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaTenant();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.tenantEntityStorageType,\n\t\t\t\tnameof<Tenant>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new PlatformService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(PlatformService);\n\t}\n\n\treturn {\n\t\tcreateComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -6,6 +6,7 @@ import { initSchema as initSchemaRightsManagementPap, PolicyAdministrationPointS
6
6
  import { PolicyAdministrationPointRestClient } from "@twin.org/rights-management-rest-client";
7
7
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
8
  import { RightsManagementPapComponentType } from "../models/types/rightsManagementPapComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
9
10
  /**
10
11
  * Initialise the rights management PAP component.
11
12
  * @param engineCore The engine core.
@@ -13,28 +14,29 @@ import { RightsManagementPapComponentType } from "../models/types/rightsManageme
13
14
  * @param instanceConfig The instance config.
14
15
  * @returns The instance created and the factory for it.
15
16
  */
16
- export async function initialiseRightsManagementPapComponent(engineCore, context, instanceConfig) {
17
- let component;
18
- let instanceType;
17
+ export function initialiseRightsManagementPapComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
19
20
  if (instanceConfig.type === RightsManagementPapComponentType.Service) {
20
- initSchemaRightsManagementPap();
21
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.odrlPolicyEntityStorageType, "OdrlPolicy", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
22
- ContextIdKeys.Node,
23
- ContextIdKeys.Tenant
24
- ]));
25
- component = new PolicyAdministrationPointService({
26
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
27
- ...instanceConfig.options
28
- });
29
- instanceType = "policy-administration-point-service";
21
+ createComponent = (createConfig) => {
22
+ initSchemaRightsManagementPap();
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.odrlPolicyEntityStorageType, "OdrlPolicy", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
24
+ ContextIdKeys.Node,
25
+ ContextIdKeys.Tenant
26
+ ]));
27
+ return new PolicyAdministrationPointService(EngineTypeHelper.mergeConfig({
28
+ loggingComponentType: engineCore.getRegisteredLoggerType("PolicyAdministrationPointService")
29
+ }, createConfig.options));
30
+ };
31
+ instanceTypeName = "policy-administration-point-service";
30
32
  }
31
33
  else if (instanceConfig.type === RightsManagementPapComponentType.RestClient) {
32
- component = new PolicyAdministrationPointRestClient(instanceConfig.options);
33
- instanceType = "policy-administration-point-rest-client";
34
+ createComponent = (createConfig) => new PolicyAdministrationPointRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
35
+ instanceTypeName = "policy-administration-point-rest-client";
34
36
  }
35
37
  return {
36
- component,
37
- instanceType,
38
+ createComponent: createComponent,
39
+ instanceTypeName,
38
40
  factory: ComponentFactory
39
41
  };
40
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPap.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPap.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,OAAO,EACN,UAAU,IAAI,6BAA6B,EAE3C,gCAAgC,EAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mCAAmC,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAA0D,CAAC;IAC/D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,6BAA6B,EAAE,CAAC;QAEhC,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,2BAA2B,gBAEnD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QAEF,SAAS,GAAG,IAAI,gCAAgC,CAAC;YAChD,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,wCAAoD,CAAC;IAClE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,SAAS,GAAG,IAAI,mCAAmC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5E,YAAY,4CAAuD,CAAC;IACrE,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport type { IPolicyAdministrationPointComponent } from \"@twin.org/rights-management-models\";\nimport {\n\tinitSchema as initSchemaRightsManagementPap,\n\ttype OdrlPolicy,\n\tPolicyAdministrationPointService\n} from \"@twin.org/rights-management-pap-service\";\nimport { PolicyAdministrationPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { RightsManagementPapComponentConfig } from \"../models/config/rightsManagementPapComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPapComponentType } from \"../models/types/rightsManagementPapComponentType.js\";\n\n/**\n * Initialise the rights management PAP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPapComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPapComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyAdministrationPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPapComponentType.Service) {\n\t\tinitSchemaRightsManagementPap();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.odrlPolicyEntityStorageType,\n\t\t\tnameof<OdrlPolicy>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new PolicyAdministrationPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyAdministrationPointService);\n\t} else if (instanceConfig.type === RightsManagementPapComponentType.RestClient) {\n\t\tcomponent = new PolicyAdministrationPointRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(PolicyAdministrationPointRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPap.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPap.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EACN,UAAU,IAAI,6BAA6B,EAE3C,gCAAgC,EAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mCAAmC,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,6BAA6B,EAAE,CAAC;YAEhC,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,2BAA2B,gBAEjD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,gCAAgC,CAC1C,gBAAgB,CAAC,WAAW,CAC3B;gBACC,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,oCAEvD;aACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,wCAAoD,CAAC;IACtE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,mCAAmC,CACtC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,4CAAuD,CAAC;IACzE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tinitSchema as initSchemaRightsManagementPap,\n\ttype OdrlPolicy,\n\tPolicyAdministrationPointService\n} from \"@twin.org/rights-management-pap-service\";\nimport { PolicyAdministrationPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { RightsManagementPapComponentConfig } from \"../models/config/rightsManagementPapComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPapComponentType } from \"../models/types/rightsManagementPapComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PAP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPapComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPapComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPapComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaRightsManagementPap();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.odrlPolicyEntityStorageType,\n\t\t\t\tnameof<OdrlPolicy>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new PolicyAdministrationPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(PolicyAdministrationPointService)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(PolicyAdministrationPointService);\n\t} else if (instanceConfig.type === RightsManagementPapComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyAdministrationPointRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyAdministrationPointRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  import { ComponentFactory } from "@twin.org/core";
4
4
  import { PolicyDecisionPointService } from "@twin.org/rights-management-pdp-service";
5
5
  import { RightsManagementPdpComponentType } from "../models/types/rightsManagementPdpComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
6
7
  /**
7
8
  * Initialise the rights management PDP component.
8
9
  * @param engineCore The engine core.
@@ -10,22 +11,20 @@ import { RightsManagementPdpComponentType } from "../models/types/rightsManageme
10
11
  * @param instanceConfig The instance config.
11
12
  * @returns The instance created and the factory for it.
12
13
  */
13
- export async function initialiseRightsManagementPdpComponent(engineCore, context, instanceConfig) {
14
- let component;
15
- let instanceType;
14
+ export function initialiseRightsManagementPdpComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
16
17
  if (instanceConfig.type === RightsManagementPdpComponentType.Service) {
17
- component = new PolicyDecisionPointService({
18
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
18
+ createComponent = (createConfig) => new PolicyDecisionPointService(EngineTypeHelper.mergeConfig({
19
+ loggingComponentType: engineCore.getRegisteredLoggerType("PolicyDecisionPointService"),
19
20
  policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
20
- policyManagementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPmpComponent"),
21
- policyExecutionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPxpComponent"),
22
- ...instanceConfig.options
23
- });
24
- instanceType = "policy-decision-point-service";
21
+ policyExecutionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPxpComponent")
22
+ }, createConfig.options));
23
+ instanceTypeName = "policy-decision-point-service";
25
24
  }
26
25
  return {
27
- component,
28
- instanceType,
26
+ createComponent,
27
+ instanceTypeName,
29
28
  factory: ComponentFactory
30
29
  };
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPdp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPdp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAoD,CAAC;IACzD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,0BAA0B,CAAC;YAC1C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;YACD,kCAAkC,EAAE,UAAU,CAAC,yBAAyB,CACvE,8BAA8B,CAC9B;YACD,iCAAiC,EAAE,UAAU,CAAC,yBAAyB,CACtE,8BAA8B,CAC9B;YACD,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,kCAA8C,CAAC;IAC5D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { IPolicyDecisionPointComponent } from \"@twin.org/rights-management-models\";\nimport { PolicyDecisionPointService } from \"@twin.org/rights-management-pdp-service\";\nimport type { RightsManagementPdpComponentConfig } from \"../models/config/rightsManagementPdpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPdpComponentType } from \"../models/types/rightsManagementPdpComponentType.js\";\n\n/**\n * Initialise the rights management PDP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPdpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPdpComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyDecisionPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPdpComponentType.Service) {\n\t\tcomponent = new PolicyDecisionPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tpolicyInformationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPipComponent\"\n\t\t\t),\n\t\t\tpolicyManagementPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPmpComponent\"\n\t\t\t),\n\t\t\tpolicyExecutionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPxpComponent\"\n\t\t\t),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyDecisionPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPdp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPdp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,0BAA0B,CAC7B,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,8BAEvD;YACD,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;YACD,iCAAiC,EAAE,UAAU,CAAC,yBAAyB,CACtE,8BAA8B,CAC9B;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,kCAA8C,CAAC;IAChE,CAAC;IAED,OAAO;QACN,eAAe;QACf,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyDecisionPointService } from \"@twin.org/rights-management-pdp-service\";\nimport type { RightsManagementPdpComponentConfig } from \"../models/config/rightsManagementPdpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPdpComponentType } from \"../models/types/rightsManagementPdpComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PDP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPdpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPdpComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPdpComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyDecisionPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(PolicyDecisionPointService)\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyInformationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPipComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyExecutionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPxpComponent\"\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyDecisionPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  import { ComponentFactory } from "@twin.org/core";
4
4
  import { PolicyEnforcementPointService } from "@twin.org/rights-management-pep-service";
5
5
  import { RightsManagementPepComponentType } from "../models/types/rightsManagementPepComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
6
7
  /**
7
8
  * Initialise the rights management PEP component.
8
9
  * @param engineCore The engine core.
@@ -10,20 +11,21 @@ import { RightsManagementPepComponentType } from "../models/types/rightsManageme
10
11
  * @param instanceConfig The instance config.
11
12
  * @returns The instance created and the factory for it.
12
13
  */
13
- export async function initialiseRightsManagementPepComponent(engineCore, context, instanceConfig) {
14
- let component;
15
- let instanceType;
14
+ export function initialiseRightsManagementPepComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
16
17
  if (instanceConfig.type === RightsManagementPepComponentType.Service) {
17
- component = new PolicyEnforcementPointService({
18
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
18
+ createComponent = (createConfig) => new PolicyEnforcementPointService(EngineTypeHelper.mergeConfig({
19
+ loggingComponentType: engineCore.getRegisteredLoggerType("PolicyEnforcementPointService"),
19
20
  policyDecisionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPdpComponent"),
20
- ...instanceConfig.options
21
- });
22
- instanceType = "policy-enforcement-point-service";
21
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
22
+ policyManagementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPmpComponent")
23
+ }, createConfig.options));
24
+ instanceTypeName = "policy-enforcement-point-service";
23
25
  }
24
26
  return {
25
- component,
26
- instanceType,
27
+ createComponent,
28
+ instanceTypeName,
27
29
  factory: ComponentFactory
28
30
  };
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPep.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPep.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAuD,CAAC;IAC5D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAC7C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,gCAAgC,EAAE,UAAU,CAAC,yBAAyB,CACrE,8BAA8B,CAC9B;YACD,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,qCAAiD,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { IPolicyEnforcementPointComponent } from \"@twin.org/rights-management-models\";\nimport { PolicyEnforcementPointService } from \"@twin.org/rights-management-pep-service\";\nimport type { RightsManagementPepComponentConfig } from \"../models/config/rightsManagementPepComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPepComponentType } from \"../models/types/rightsManagementPepComponentType.js\";\n\n/**\n * Initialise the rights management PEP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPepComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPepComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyEnforcementPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPepComponentType.Service) {\n\t\tcomponent = new PolicyEnforcementPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tpolicyDecisionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPdpComponent\"\n\t\t\t),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyEnforcementPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPep.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPep.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,6BAA6B,CAChC,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,iCAEvD;YACD,gCAAgC,EAAE,UAAU,CAAC,yBAAyB,CACrE,8BAA8B,CAC9B;YACD,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;YACD,kCAAkC,EAAE,UAAU,CAAC,yBAAyB,CACvE,8BAA8B,CAC9B;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,qCAAiD,CAAC;IACnE,CAAC;IAED,OAAO;QACN,eAAe;QACf,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyEnforcementPointService } from \"@twin.org/rights-management-pep-service\";\nimport type { RightsManagementPepComponentConfig } from \"../models/config/rightsManagementPepComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPepComponentType } from \"../models/types/rightsManagementPepComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PEP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPepComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPepComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPepComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyEnforcementPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(PolicyEnforcementPointService)\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyDecisionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPdpComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyManagementPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPmpComponent\"\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyEnforcementPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  import { ComponentFactory } from "@twin.org/core";
4
4
  import { PolicyInformationPointService } from "@twin.org/rights-management-pip-service";
5
5
  import { RightsManagementPipComponentType } from "../models/types/rightsManagementPipComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
6
7
  /**
7
8
  * Initialise the rights management PIP component.
8
9
  * @param engineCore The engine core.
@@ -10,19 +11,18 @@ import { RightsManagementPipComponentType } from "../models/types/rightsManageme
10
11
  * @param instanceConfig The instance config.
11
12
  * @returns The instance created and the factory for it.
12
13
  */
13
- export async function initialiseRightsManagementPipComponent(engineCore, context, instanceConfig) {
14
- let component;
15
- let instanceType;
14
+ export function initialiseRightsManagementPipComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
16
17
  if (instanceConfig.type === RightsManagementPipComponentType.Service) {
17
- component = new PolicyInformationPointService({
18
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
19
- ...instanceConfig.options
20
- });
21
- instanceType = "policy-information-point-service";
18
+ createComponent = (createConfig) => new PolicyInformationPointService(EngineTypeHelper.mergeConfig({
19
+ loggingComponentType: engineCore.getRegisteredLoggerType("PolicyInformationPointService")
20
+ }, createConfig.options));
21
+ instanceTypeName = "policy-information-point-service";
22
22
  }
23
23
  return {
24
- component,
25
- instanceType,
24
+ createComponent,
25
+ instanceTypeName,
26
26
  factory: ComponentFactory
27
27
  };
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPip.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPip.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAuD,CAAC;IAC5D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAC7C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,qCAAiD,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { IPolicyInformationPointComponent } from \"@twin.org/rights-management-models\";\nimport { PolicyInformationPointService } from \"@twin.org/rights-management-pip-service\";\nimport type { RightsManagementPipComponentConfig } from \"../models/config/rightsManagementPipComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPipComponentType } from \"../models/types/rightsManagementPipComponentType.js\";\n\n/**\n * Initialise the rights management PIP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPipComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPipComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyInformationPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPipComponentType.Service) {\n\t\tcomponent = new PolicyInformationPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyInformationPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPip.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPip.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,6BAA6B,CAChC,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,iCAEvD;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,qCAAiD,CAAC;IACnE,CAAC;IAED,OAAO;QACN,eAAe;QACf,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyInformationPointService } from \"@twin.org/rights-management-pip-service\";\nimport type { RightsManagementPipComponentConfig } from \"../models/config/rightsManagementPipComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPipComponentType } from \"../models/types/rightsManagementPipComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PIP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPipComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPipComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPipComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyInformationPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(PolicyInformationPointService)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyInformationPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  import { ComponentFactory } from "@twin.org/core";
4
4
  import { PolicyManagementPointService } from "@twin.org/rights-management-pmp-service";
5
5
  import { RightsManagementPmpComponentType } from "../models/types/rightsManagementPmpComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
6
7
  /**
7
8
  * Initialise the rights management PMP component.
8
9
  * @param engineCore The engine core.
@@ -10,20 +11,19 @@ import { RightsManagementPmpComponentType } from "../models/types/rightsManageme
10
11
  * @param instanceConfig The instance config.
11
12
  * @returns The instance created and the factory for it.
12
13
  */
13
- export async function initialiseRightsManagementPmpComponent(engineCore, context, instanceConfig) {
14
- let component;
15
- let instanceType;
14
+ export function initialiseRightsManagementPmpComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
16
17
  if (instanceConfig.type === RightsManagementPmpComponentType.Service) {
17
- component = new PolicyManagementPointService({
18
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
19
- policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
20
- ...instanceConfig.options
21
- });
22
- instanceType = "policy-management-point-service";
18
+ createComponent = (createConfig) => new PolicyManagementPointService(EngineTypeHelper.mergeConfig({
19
+ loggingComponentType: engineCore.getRegisteredLoggerType("PolicyManagementPointService"),
20
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent")
21
+ }, createConfig.options));
22
+ instanceTypeName = "policy-management-point-service";
23
23
  }
24
24
  return {
25
- component,
26
- instanceType,
25
+ createComponent,
26
+ instanceTypeName,
27
27
  factory: ComponentFactory
28
28
  };
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPmp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPmp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAGvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAsD,CAAC;IAC3D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,4BAA4B,CAAC;YAC5C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;YACD,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,oCAAgD,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { IPolicyManagementPointComponent } from \"@twin.org/rights-management-models\";\nimport { PolicyManagementPointService } from \"@twin.org/rights-management-pmp-service\";\nimport type { RightsManagementPmpComponentConfig } from \"../models/config/rightsManagementPmpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPmpComponentType } from \"../models/types/rightsManagementPmpComponentType.js\";\n\n/**\n * Initialise the rights management PMP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPmpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPmpComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyManagementPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPmpComponentType.Service) {\n\t\tcomponent = new PolicyManagementPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyManagementPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPmp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPmp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAGvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,4BAA4B,CAC/B,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,gCAEvD;YACD,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,oCAAgD,CAAC;IAClE,CAAC;IAED,OAAO;QACN,eAAe;QACf,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyManagementPointService } from \"@twin.org/rights-management-pmp-service\";\nimport type { RightsManagementPmpComponentConfig } from \"../models/config/rightsManagementPmpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPmpComponentType } from \"../models/types/rightsManagementPmpComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PMP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPmpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPmpComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPmpComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyManagementPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(PolicyManagementPointService)\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyManagementPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}