@twin.org/engine-types 0.0.3-next.3 → 0.0.3-next.31

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 (515) hide show
  1. package/README.md +1 -1
  2. package/dist/es/components/attestation.js +20 -22
  3. package/dist/es/components/attestation.js.map +1 -1
  4. package/dist/es/components/auditableItemGraph.js +26 -22
  5. package/dist/es/components/auditableItemGraph.js.map +1 -1
  6. package/dist/es/components/auditableItemStream.js +26 -22
  7. package/dist/es/components/auditableItemStream.js.map +1 -1
  8. package/dist/es/components/backgroundTask.js +18 -18
  9. package/dist/es/components/backgroundTask.js.map +1 -1
  10. package/dist/es/components/blobStorage.js +69 -80
  11. package/dist/es/components/blobStorage.js.map +1 -1
  12. package/dist/es/components/contextIdHandler.js +31 -0
  13. package/dist/es/components/contextIdHandler.js.map +1 -0
  14. package/dist/es/components/dataProcessing.js +33 -32
  15. package/dist/es/components/dataProcessing.js.map +1 -1
  16. package/dist/es/components/dataspaceControlPlane.js +54 -0
  17. package/dist/es/components/dataspaceControlPlane.js.map +1 -0
  18. package/dist/es/components/dataspaceDataPlane.js +58 -0
  19. package/dist/es/components/dataspaceDataPlane.js.map +1 -0
  20. package/dist/es/components/documentManagement.js +12 -12
  21. package/dist/es/components/documentManagement.js.map +1 -1
  22. package/dist/es/components/entityStorage.js +48 -47
  23. package/dist/es/components/entityStorage.js.map +1 -1
  24. package/dist/es/components/eventBus.js +19 -27
  25. package/dist/es/components/eventBus.js.map +1 -1
  26. package/dist/es/components/faucet.js +18 -18
  27. package/dist/es/components/faucet.js.map +1 -1
  28. package/dist/es/components/federatedCatalogue.js +14 -18
  29. package/dist/es/components/federatedCatalogue.js.map +1 -1
  30. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  31. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  32. package/dist/es/components/identity.js +28 -31
  33. package/dist/es/components/identity.js.map +1 -1
  34. package/dist/es/components/identityProfile.js +26 -24
  35. package/dist/es/components/identityProfile.js.map +1 -1
  36. package/dist/es/components/identityResolver.js +36 -40
  37. package/dist/es/components/identityResolver.js.map +1 -1
  38. package/dist/es/components/immutableProof.js +23 -20
  39. package/dist/es/components/immutableProof.js.map +1 -1
  40. package/dist/es/components/logging.js +28 -28
  41. package/dist/es/components/logging.js.map +1 -1
  42. package/dist/es/components/messaging.js +77 -89
  43. package/dist/es/components/messaging.js.map +1 -1
  44. package/dist/es/components/nft.js +33 -33
  45. package/dist/es/components/nft.js.map +1 -1
  46. package/dist/es/components/notarization.js +78 -0
  47. package/dist/es/components/notarization.js.map +1 -0
  48. package/dist/es/components/rightsManagementPap.js +17 -17
  49. package/dist/es/components/rightsManagementPap.js.map +1 -1
  50. package/dist/es/components/rightsManagementPdp.js +11 -25
  51. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  52. package/dist/es/components/rightsManagementPep.js +12 -24
  53. package/dist/es/components/rightsManagementPep.js.map +1 -1
  54. package/dist/es/components/rightsManagementPip.js +9 -25
  55. package/dist/es/components/rightsManagementPip.js.map +1 -1
  56. package/dist/es/components/rightsManagementPmp.js +10 -10
  57. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  58. package/dist/es/components/rightsManagementPnap.js +21 -18
  59. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  60. package/dist/es/components/rightsManagementPnp.js +14 -36
  61. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  62. package/dist/es/components/rightsManagementPolicyArbiter.js +32 -0
  63. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  64. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  65. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  66. package/dist/es/components/rightsManagementPolicyExecutionAction.js +25 -0
  67. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  68. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  69. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  70. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  71. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  72. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  73. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  74. package/dist/es/components/rightsManagementPolicyRequester.js +25 -0
  75. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  76. package/dist/es/components/rightsManagementPxp.js +9 -25
  77. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  78. package/dist/es/components/synchronisedStorage.js +25 -23
  79. package/dist/es/components/synchronisedStorage.js.map +1 -1
  80. package/dist/es/components/taskScheduler.js +17 -11
  81. package/dist/es/components/taskScheduler.js.map +1 -1
  82. package/dist/es/components/telemetry.js +29 -32
  83. package/dist/es/components/telemetry.js.map +1 -1
  84. package/dist/es/components/tenant.js +12 -11
  85. package/dist/es/components/tenant.js.map +1 -1
  86. package/dist/es/components/trust.js +27 -0
  87. package/dist/es/components/trust.js.map +1 -0
  88. package/dist/es/components/trustGenerator.js +28 -0
  89. package/dist/es/components/trustGenerator.js.map +1 -0
  90. package/dist/es/components/trustVerifier.js +28 -0
  91. package/dist/es/components/trustVerifier.js.map +1 -0
  92. package/dist/es/components/vault.js +15 -12
  93. package/dist/es/components/vault.js.map +1 -1
  94. package/dist/es/components/verifiableStorage.js +32 -34
  95. package/dist/es/components/verifiableStorage.js.map +1 -1
  96. package/dist/es/components/wallet.js +23 -24
  97. package/dist/es/components/wallet.js.map +1 -1
  98. package/dist/es/index.js +49 -14
  99. package/dist/es/index.js.map +1 -1
  100. package/dist/es/models/IEngineConfig.js.map +1 -1
  101. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  102. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  103. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  104. package/dist/es/models/config/contextIdHandlerComponentConfig.js +2 -0
  105. package/dist/es/models/config/contextIdHandlerComponentConfig.js.map +1 -0
  106. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js +2 -0
  107. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js.map +1 -0
  108. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js +2 -0
  109. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js.map +1 -0
  110. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  111. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  112. package/dist/es/models/config/notarizationComponentConfig.js +2 -0
  113. package/dist/es/models/config/notarizationComponentConfig.js.map +1 -0
  114. package/dist/es/models/config/notarizationConnectorConfig.js +2 -0
  115. package/dist/es/models/config/notarizationConnectorConfig.js.map +1 -0
  116. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  117. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  118. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  119. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  120. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  121. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  122. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  123. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  125. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  127. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  128. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  129. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  130. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  131. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  132. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  133. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  134. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  135. package/dist/es/models/config/trustComponentConfig.js +2 -0
  136. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  137. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  138. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  139. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  140. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  141. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  142. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  143. package/dist/es/models/types/contextIdHandlerComponentType.js +17 -0
  144. package/dist/es/models/types/contextIdHandlerComponentType.js.map +1 -0
  145. package/dist/es/models/types/dataspaceControlPlaneComponentType.js +17 -0
  146. package/dist/es/models/types/dataspaceControlPlaneComponentType.js.map +1 -0
  147. package/dist/es/models/types/{dataSpaceConnectorComponentType.js → dataspaceDataPlaneComponentType.js} +4 -4
  148. package/dist/es/models/types/dataspaceDataPlaneComponentType.js.map +1 -0
  149. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  150. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  151. package/dist/es/models/types/{rightsManagementDapComponentType.js → notarizationComponentType.js} +4 -4
  152. package/dist/es/models/types/notarizationComponentType.js.map +1 -0
  153. package/dist/es/models/types/notarizationConnectorType.js +17 -0
  154. package/dist/es/models/types/notarizationConnectorType.js.map +1 -0
  155. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  156. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  157. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  158. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  159. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  160. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  161. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  162. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  163. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  164. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  165. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  166. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  167. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  168. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  169. package/dist/es/models/types/trustComponentType.js +13 -0
  170. package/dist/es/models/types/trustComponentType.js.map +1 -0
  171. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  172. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  173. package/dist/es/models/types/trustVerifierComponentType.js +13 -0
  174. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  175. package/dist/es/utils/engineTypeHelper.js +19 -1
  176. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  177. package/dist/types/components/attestation.d.ts +5 -13
  178. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  179. package/dist/types/components/auditableItemStream.d.ts +3 -7
  180. package/dist/types/components/backgroundTask.d.ts +5 -10
  181. package/dist/types/components/blobStorage.d.ts +4 -12
  182. package/dist/types/components/contextIdHandler.d.ts +12 -0
  183. package/dist/types/components/dataProcessing.d.ts +5 -17
  184. package/dist/types/components/dataspaceControlPlane.d.ts +12 -0
  185. package/dist/types/components/dataspaceDataPlane.d.ts +12 -0
  186. package/dist/types/components/documentManagement.d.ts +3 -7
  187. package/dist/types/components/entityStorage.d.ts +4 -9
  188. package/dist/types/components/eventBus.d.ts +4 -12
  189. package/dist/types/components/faucet.d.ts +2 -7
  190. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  191. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  192. package/dist/types/components/identity.d.ts +4 -12
  193. package/dist/types/components/identityProfile.d.ts +4 -12
  194. package/dist/types/components/identityResolver.d.ts +4 -12
  195. package/dist/types/components/immutableProof.d.ts +3 -7
  196. package/dist/types/components/logging.d.ts +4 -12
  197. package/dist/types/components/messaging.d.ts +7 -27
  198. package/dist/types/components/nft.d.ts +4 -12
  199. package/dist/types/components/notarization.d.ts +22 -0
  200. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  201. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  202. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  203. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  204. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  205. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  206. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  207. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  208. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  209. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  210. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  211. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  212. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  213. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  214. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  215. package/dist/types/components/synchronisedStorage.d.ts +3 -7
  216. package/dist/types/components/taskScheduler.d.ts +3 -7
  217. package/dist/types/components/telemetry.d.ts +4 -12
  218. package/dist/types/components/tenant.d.ts +3 -7
  219. package/dist/types/components/trust.d.ts +12 -0
  220. package/dist/types/components/trustGenerator.d.ts +12 -0
  221. package/dist/types/components/trustVerifier.d.ts +12 -0
  222. package/dist/types/components/vault.d.ts +2 -7
  223. package/dist/types/components/verifiableStorage.d.ts +4 -12
  224. package/dist/types/components/wallet.d.ts +2 -7
  225. package/dist/types/index.d.ts +49 -14
  226. package/dist/types/models/IEngineConfig.d.ts +75 -15
  227. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  228. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  229. package/dist/types/models/config/contextIdHandlerComponentConfig.d.ts +11 -0
  230. package/dist/types/models/config/dataspaceControlPlaneComponentConfig.d.ts +13 -0
  231. package/dist/types/models/config/dataspaceDataPlaneComponentConfig.d.ts +17 -0
  232. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  233. package/dist/types/models/config/notarizationComponentConfig.d.ts +13 -0
  234. package/dist/types/models/config/notarizationConnectorConfig.d.ts +13 -0
  235. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  236. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  237. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  238. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  239. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  240. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  241. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  242. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  243. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  244. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  245. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  246. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  247. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  248. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  249. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +9 -0
  250. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  251. package/dist/types/models/types/contextIdHandlerComponentType.d.ts +17 -0
  252. package/dist/types/models/types/dataspaceControlPlaneComponentType.d.ts +17 -0
  253. package/dist/types/models/types/dataspaceDataPlaneComponentType.d.ts +21 -0
  254. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  255. package/dist/types/models/types/notarizationComponentType.d.ts +17 -0
  256. package/dist/types/models/types/notarizationConnectorType.d.ts +17 -0
  257. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  258. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  259. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  260. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  261. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  262. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  263. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  264. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  265. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  266. package/dist/types/models/types/trustVerifierComponentType.d.ts +13 -0
  267. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  268. package/docs/changelog.md +516 -1
  269. package/docs/examples.md +74 -1
  270. package/docs/reference/classes/EngineTypeHelper.md +57 -4
  271. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  272. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  273. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  274. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  275. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  276. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  277. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  278. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +31 -0
  279. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  280. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  281. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  282. package/docs/reference/functions/initialiseDataspaceControlPlaneComponent.md +31 -0
  283. package/docs/reference/functions/initialiseDataspaceDataPlaneComponent.md +31 -0
  284. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  285. package/docs/reference/functions/initialiseEntityStorageComponent.md +2 -2
  286. package/docs/reference/functions/initialiseEntityStorageConnector.md +4 -6
  287. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  288. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  289. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  290. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  291. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  292. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  293. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  294. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  295. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  296. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  297. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  298. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  299. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  300. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  301. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  302. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  303. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  304. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  305. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  306. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  307. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  308. package/docs/reference/functions/initialiseNotarizationComponent.md +31 -0
  309. package/docs/reference/functions/initialiseNotarizationConnector.md +31 -0
  310. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  311. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  312. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  313. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  314. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  315. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  316. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  317. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  318. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  319. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  320. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  321. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  322. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  323. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  324. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  325. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +2 -2
  326. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  327. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  328. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  329. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  330. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  331. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  332. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  333. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  334. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +2 -2
  335. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +2 -2
  336. package/docs/reference/functions/initialiseWalletConnector.md +2 -2
  337. package/docs/reference/index.md +68 -20
  338. package/docs/reference/interfaces/IEngineConfig.md +175 -67
  339. package/docs/reference/type-aliases/AttestationConnectorConfig.md +3 -3
  340. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  341. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  342. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  343. package/docs/reference/type-aliases/ContextIdHandlerComponentConfig.md +5 -0
  344. package/docs/reference/type-aliases/ContextIdHandlerComponentType.md +5 -0
  345. package/docs/reference/type-aliases/DataExtractorConnectorConfig.md +3 -3
  346. package/docs/reference/type-aliases/DataspaceControlPlaneComponentConfig.md +5 -0
  347. package/docs/reference/type-aliases/DataspaceControlPlaneComponentType.md +5 -0
  348. package/docs/reference/type-aliases/DataspaceDataPlaneComponentConfig.md +5 -0
  349. package/docs/reference/type-aliases/DataspaceDataPlaneComponentType.md +5 -0
  350. package/docs/reference/type-aliases/DltConfig.md +4 -4
  351. package/docs/reference/type-aliases/EventBusConnectorConfig.md +3 -3
  352. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  353. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  354. package/docs/reference/type-aliases/IdentityProfileConnectorConfig.md +3 -3
  355. package/docs/reference/type-aliases/MessagingAdminComponentConfig.md +3 -3
  356. package/docs/reference/type-aliases/MessagingComponentConfig.md +3 -3
  357. package/docs/reference/type-aliases/NotarizationComponentConfig.md +5 -0
  358. package/docs/reference/type-aliases/NotarizationComponentType.md +5 -0
  359. package/docs/reference/type-aliases/NotarizationConnectorConfig.md +5 -0
  360. package/docs/reference/type-aliases/NotarizationConnectorType.md +5 -0
  361. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +3 -9
  362. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +3 -9
  363. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +3 -9
  364. package/docs/reference/type-aliases/RightsManagementPmpComponentConfig.md +3 -3
  365. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  366. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  367. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  368. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  369. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  370. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  371. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  372. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  373. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  374. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  375. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  376. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  377. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  378. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  379. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  380. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +3 -9
  381. package/docs/reference/type-aliases/TaskSchedulerComponentConfig.md +3 -3
  382. package/docs/reference/type-aliases/TelemetryConnectorConfig.md +3 -3
  383. package/docs/reference/type-aliases/TenantAdminComponentConfig.md +3 -3
  384. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  385. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  386. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  387. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  388. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +17 -0
  389. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  390. package/docs/reference/variables/AttestationComponentType.md +2 -2
  391. package/docs/reference/variables/AttestationConnectorType.md +1 -1
  392. package/docs/reference/variables/AuditableItemGraphComponentType.md +2 -2
  393. package/docs/reference/variables/AuditableItemStreamComponentType.md +2 -2
  394. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  395. package/docs/reference/variables/BlobStorageComponentType.md +2 -2
  396. package/docs/reference/variables/BlobStorageConnectorType.md +6 -6
  397. package/docs/reference/variables/ContextIdHandlerComponentType.md +19 -0
  398. package/docs/reference/variables/DataConverterConnectorType.md +2 -2
  399. package/docs/reference/variables/DataExtractorConnectorType.md +1 -1
  400. package/docs/reference/variables/DataProcessingComponentType.md +2 -2
  401. package/docs/reference/variables/DataspaceControlPlaneComponentType.md +19 -0
  402. package/docs/reference/variables/{DataSpaceConnectorComponentType.md → DataspaceDataPlaneComponentType.md} +6 -6
  403. package/docs/reference/variables/DltConfigType.md +1 -1
  404. package/docs/reference/variables/DocumentManagementComponentType.md +2 -2
  405. package/docs/reference/variables/EntityStorageComponentType.md +2 -2
  406. package/docs/reference/variables/EntityStorageConnectorType.md +10 -10
  407. package/docs/reference/variables/EventBusComponentType.md +2 -2
  408. package/docs/reference/variables/EventBusConnectorType.md +1 -1
  409. package/docs/reference/variables/FaucetConnectorType.md +2 -2
  410. package/docs/reference/variables/FederatedCatalogueComponentType.md +2 -2
  411. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  412. package/docs/reference/variables/IdentityComponentType.md +2 -2
  413. package/docs/reference/variables/IdentityConnectorType.md +2 -2
  414. package/docs/reference/variables/IdentityProfileComponentType.md +2 -2
  415. package/docs/reference/variables/IdentityProfileConnectorType.md +1 -1
  416. package/docs/reference/variables/IdentityResolverComponentType.md +2 -2
  417. package/docs/reference/variables/IdentityResolverConnectorType.md +3 -3
  418. package/docs/reference/variables/ImmutableProofComponentType.md +2 -2
  419. package/docs/reference/variables/LoggingComponentType.md +2 -2
  420. package/docs/reference/variables/LoggingConnectorType.md +3 -3
  421. package/docs/reference/variables/MessagingAdminComponentType.md +1 -1
  422. package/docs/reference/variables/MessagingComponentType.md +1 -1
  423. package/docs/reference/variables/MessagingEmailConnectorType.md +2 -2
  424. package/docs/reference/variables/MessagingPushNotificationConnectorType.md +2 -2
  425. package/docs/reference/variables/MessagingSmsConnectorType.md +2 -2
  426. package/docs/reference/variables/NftComponentType.md +2 -2
  427. package/docs/reference/variables/NftConnectorType.md +2 -2
  428. package/docs/reference/variables/NotarizationComponentType.md +19 -0
  429. package/docs/reference/variables/NotarizationConnectorType.md +19 -0
  430. package/docs/reference/variables/RightsManagementPapComponentType.md +2 -2
  431. package/docs/reference/variables/RightsManagementPdpComponentType.md +1 -1
  432. package/docs/reference/variables/RightsManagementPepComponentType.md +2 -2
  433. package/docs/reference/variables/RightsManagementPipComponentType.md +1 -1
  434. package/docs/reference/variables/RightsManagementPmpComponentType.md +1 -1
  435. package/docs/reference/variables/RightsManagementPnapComponentType.md +2 -2
  436. package/docs/reference/variables/RightsManagementPnpComponentType.md +2 -2
  437. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  438. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  439. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  440. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  441. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  442. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  443. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  444. package/docs/reference/variables/RightsManagementPxpComponentType.md +1 -1
  445. package/docs/reference/variables/SynchronisedStorageComponentType.md +2 -2
  446. package/docs/reference/variables/TaskSchedulerComponentType.md +1 -1
  447. package/docs/reference/variables/TelemetryComponentType.md +2 -2
  448. package/docs/reference/variables/TelemetryConnectorType.md +1 -1
  449. package/docs/reference/variables/TenantAdminComponentType.md +1 -1
  450. package/docs/reference/variables/TrustComponentType.md +13 -0
  451. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  452. package/docs/reference/variables/TrustVerifierComponentType.md +13 -0
  453. package/docs/reference/variables/VaultConnectorType.md +2 -2
  454. package/docs/reference/variables/VerifiableStorageComponentType.md +2 -2
  455. package/docs/reference/variables/VerifiableStorageConnectorType.md +2 -2
  456. package/docs/reference/variables/WalletConnectorType.md +2 -2
  457. package/package.json +22 -10
  458. package/dist/es/components/authenticationGenerator.js +0 -30
  459. package/dist/es/components/authenticationGenerator.js.map +0 -1
  460. package/dist/es/components/dataSpaceConnector.js +0 -52
  461. package/dist/es/components/dataSpaceConnector.js.map +0 -1
  462. package/dist/es/components/rightsManagementDap.js +0 -38
  463. package/dist/es/components/rightsManagementDap.js.map +0 -1
  464. package/dist/es/components/rightsManagementDarp.js +0 -29
  465. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  466. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  467. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  468. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  469. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  470. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js +0 -2
  471. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js.map +0 -1
  472. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  473. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  474. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  475. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  476. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  477. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  478. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  479. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  480. package/dist/es/models/types/dataSpaceConnectorComponentType.js.map +0 -1
  481. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  482. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  483. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  484. package/dist/types/components/dataSpaceConnector.d.ts +0 -16
  485. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  486. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  487. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  488. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  489. package/dist/types/models/config/dataSpaceConnectorComponentConfig.d.ts +0 -17
  490. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  491. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  492. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  493. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  494. package/dist/types/models/types/dataSpaceConnectorComponentType.d.ts +0 -21
  495. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  496. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  497. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  498. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  499. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +0 -31
  500. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  501. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  502. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  503. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  504. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  505. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  506. package/docs/reference/type-aliases/DataSpaceConnectorComponentConfig.md +0 -5
  507. package/docs/reference/type-aliases/DataSpaceConnectorComponentType.md +0 -5
  508. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  509. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  510. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  511. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  512. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  513. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  514. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  515. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
@@ -9,6 +9,7 @@ import { TelemetryService } from "@twin.org/telemetry-service";
9
9
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
10
10
  import { TelemetryComponentType } from "../models/types/telemetryComponentType.js";
11
11
  import { TelemetryConnectorType } from "../models/types/telemetryConnectorType.js";
12
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
12
13
  /**
13
14
  * Initialise a telemetry connector.
14
15
  * @param engineCore The engine core.
@@ -16,29 +17,28 @@ import { TelemetryConnectorType } from "../models/types/telemetryConnectorType.j
16
17
  * @param instanceConfig The instance config.
17
18
  * @returns The instance created and the factory for it.
18
19
  */
19
- export async function initialiseTelemetryConnector(engineCore, context, instanceConfig) {
20
- let component;
21
- let instanceType;
20
+ export function initialiseTelemetryConnector(engineCore, context, instanceConfig) {
21
+ let createComponent;
22
+ let instanceTypeName;
22
23
  if (instanceConfig.type === TelemetryConnectorType.EntityStorage) {
23
- initSchema();
24
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.telemetryMetricStorageConnectorType, "TelemetryMetric", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
25
- ContextIdKeys.Node,
26
- ContextIdKeys.Tenant
27
- ]));
28
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.telemetryMetricValueStorageConnectorType, "TelemetryMetricValue", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
29
- ContextIdKeys.Node,
30
- ContextIdKeys.Tenant
31
- ]));
32
- component = new EntityStorageTelemetryConnector({
33
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
34
- ...instanceConfig.options
35
- });
36
- instanceType = EntityStorageTelemetryConnector.NAMESPACE;
24
+ createComponent = (createConfig) => {
25
+ initSchema();
26
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.telemetryMetricStorageConnectorType, "TelemetryMetric", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
27
+ ContextIdKeys.Node,
28
+ ContextIdKeys.Tenant
29
+ ]));
30
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.telemetryMetricValueStorageConnectorType, "TelemetryMetricValue", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
31
+ ContextIdKeys.Node,
32
+ ContextIdKeys.Tenant
33
+ ]));
34
+ return new EntityStorageTelemetryConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
35
+ };
36
+ instanceTypeName = EntityStorageTelemetryConnector.NAMESPACE;
37
37
  }
38
38
  return {
39
- instanceType,
40
- factory: TelemetryConnectorFactory,
41
- component
39
+ createComponent: createComponent,
40
+ instanceTypeName,
41
+ factory: TelemetryConnectorFactory
42
42
  };
43
43
  }
44
44
  /**
@@ -48,23 +48,20 @@ export async function initialiseTelemetryConnector(engineCore, context, instance
48
48
  * @param instanceConfig The instance config.
49
49
  * @returns The instance created and the factory for it.
50
50
  */
51
- export async function initialiseTelemetryComponent(engineCore, context, instanceConfig) {
52
- let component;
53
- let instanceType;
51
+ export function initialiseTelemetryComponent(engineCore, context, instanceConfig) {
52
+ let createComponent;
53
+ let instanceTypeName;
54
54
  if (instanceConfig.type === TelemetryComponentType.Service) {
55
- component = new TelemetryService({
56
- telemetryConnectorType: engineCore.getRegisteredInstanceType("telemetryConnector"),
57
- ...instanceConfig.options
58
- });
59
- instanceType = "telemetry-service";
55
+ createComponent = (createConfig) => new TelemetryService(EngineTypeHelper.mergeConfig({ telemetryConnectorType: engineCore.getRegisteredInstanceType("telemetryConnector") }, createConfig.options));
56
+ instanceTypeName = "telemetry-service";
60
57
  }
61
58
  else if (instanceConfig.type === TelemetryComponentType.RestClient) {
62
- component = new TelemetryRestClient(instanceConfig.options);
63
- instanceType = "telemetry-rest-client";
59
+ createComponent = (createConfig) => new TelemetryRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
60
+ instanceTypeName = "telemetry-rest-client";
64
61
  }
65
62
  return {
66
- component,
67
- instanceType,
63
+ createComponent: createComponent,
64
+ instanceTypeName,
68
65
  factory: ComponentFactory
69
66
  };
70
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/components/telemetry.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;AAGnE,OAAO,EACN,+BAA+B,EAC/B,UAAU,EAGV,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACN,yBAAyB,EAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAAwC;IAMxC,IAAI,SAA0C,CAAC;IAC/C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,aAAa,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC;QACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,mCAAmC,qBAE3D,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,wCAAwC,0BAEhE,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,SAAS,GAAG,IAAI,+BAA+B,CAAC;YAC/C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,+BAA+B,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,YAAY;QACZ,OAAO,EAAE,yBAAyB;QAClC,SAAS;KACT,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAAwC;IAMxC,IAAI,SAA0C,CAAC;IAC/C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAC5D,SAAS,GAAG,IAAI,gBAAgB,CAAC;YAChC,sBAAsB,EAAE,UAAU,CAAC,yBAAyB,CAAC,oBAAoB,CAAC;YAClF,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,sBAAoC,CAAC;IAClD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,UAAU,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5D,YAAY,0BAAuC,CAAC;IACrD,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 {\n\tEntityStorageTelemetryConnector,\n\tinitSchema,\n\ttype TelemetryMetric,\n\ttype TelemetryMetricValue\n} from \"@twin.org/telemetry-connector-entity-storage\";\nimport {\n\tTelemetryConnectorFactory,\n\ttype ITelemetryComponent,\n\ttype ITelemetryConnector\n} from \"@twin.org/telemetry-models\";\nimport { TelemetryRestClient } from \"@twin.org/telemetry-rest-client\";\nimport { TelemetryService } from \"@twin.org/telemetry-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TelemetryComponentConfig } from \"../models/config/telemetryComponentConfig.js\";\nimport type { TelemetryConnectorConfig } from \"../models/config/telemetryConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TelemetryComponentType } from \"../models/types/telemetryComponentType.js\";\nimport { TelemetryConnectorType } from \"../models/types/telemetryConnectorType.js\";\n\n/**\n * Initialise a telemetry 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 initialiseTelemetryConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof TelemetryConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ITelemetryConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === TelemetryConnectorType.EntityStorage) {\n\t\tinitSchema();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.telemetryMetricStorageConnectorType,\n\t\t\tnameof<TelemetryMetric>(),\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\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.telemetryMetricValueStorageConnectorType,\n\t\t\tnameof<TelemetryMetricValue>(),\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 EntityStorageTelemetryConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageTelemetryConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tinstanceType,\n\t\tfactory: TelemetryConnectorFactory,\n\t\tcomponent\n\t};\n}\n\n/**\n * Initialise the telemetry 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 initialiseTelemetryComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ITelemetryComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === TelemetryComponentType.Service) {\n\t\tcomponent = new TelemetryService({\n\t\t\ttelemetryConnectorType: engineCore.getRegisteredInstanceType(\"telemetryConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(TelemetryService);\n\t} else if (instanceConfig.type === TelemetryComponentType.RestClient) {\n\t\tcomponent = new TelemetryRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(TelemetryRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/components/telemetry.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 {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageTelemetryConnector,\n\tinitSchema,\n\ttype TelemetryMetric,\n\ttype TelemetryMetricValue\n} from \"@twin.org/telemetry-connector-entity-storage\";\nimport { TelemetryConnectorFactory } from \"@twin.org/telemetry-models\";\nimport { TelemetryRestClient } from \"@twin.org/telemetry-rest-client\";\nimport { TelemetryService } from \"@twin.org/telemetry-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TelemetryComponentConfig } from \"../models/config/telemetryComponentConfig.js\";\nimport type { TelemetryConnectorConfig } from \"../models/config/telemetryConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TelemetryComponentType } from \"../models/types/telemetryComponentType.js\";\nimport { TelemetryConnectorType } from \"../models/types/telemetryConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a telemetry 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 initialiseTelemetryConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof TelemetryConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TelemetryConnectorType.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?.telemetryMetricStorageConnectorType,\n\t\t\t\tnameof<TelemetryMetric>(),\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\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.telemetryMetricValueStorageConnectorType,\n\t\t\t\tnameof<TelemetryMetricValue>(),\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 EntityStorageTelemetryConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageTelemetryConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: TelemetryConnectorFactory\n\t};\n}\n\n/**\n * Initialise the telemetry 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 initialiseTelemetryComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TelemetryComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TelemetryService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ telemetryConnectorType: engineCore.getRegisteredInstanceType(\"telemetryConnector\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(TelemetryService);\n\t} else if (instanceConfig.type === TelemetryComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TelemetryRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(TelemetryRestClient);\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"]}
@@ -5,6 +5,7 @@ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
5
5
  import { ComponentFactory } from "@twin.org/core";
6
6
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
7
7
  import { TenantAdminComponentType } from "../models/types/tenantAdminComponentType.js";
8
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
8
9
  /**
9
10
  * Initialise the tenant admin component.
10
11
  * @param engineCore The engine core.
@@ -12,20 +13,20 @@ import { TenantAdminComponentType } from "../models/types/tenantAdminComponentTy
12
13
  * @param instanceConfig The instance config.
13
14
  * @returns The instance created and the factory for it.
14
15
  */
15
- export async function initialiseTenantAdminComponent(engineCore, context, instanceConfig) {
16
- let component;
17
- let instanceType;
16
+ export function initialiseTenantAdminComponent(engineCore, context, instanceConfig) {
17
+ let createComponent;
18
+ let instanceTypeName;
18
19
  if (instanceConfig.type === TenantAdminComponentType.Service) {
19
- initSchemaTenant();
20
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.tenantEntityStorageType, "Tenant", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
21
- component = new TenantAdminService({
22
- ...instanceConfig.options
23
- });
24
- instanceType = "tenant-admin-service";
20
+ createComponent = (createConfig) => {
21
+ initSchemaTenant();
22
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.tenantEntityStorageType, "Tenant", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
23
+ return new TenantAdminService(EngineTypeHelper.mergeConfig(createConfig.options));
24
+ };
25
+ instanceTypeName = "tenant-admin-service";
25
26
  }
26
27
  return {
27
- component,
28
- instanceType,
28
+ createComponent: createComponent,
29
+ instanceTypeName,
29
30
  factory: ComponentFactory
30
31
  };
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/components/tenant.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAGN,kBAAkB,EAClB,UAAU,IAAI,gBAAgB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAGnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CACnD,UAAsC,EACtC,OAA0C,EAC1C,cAA0C;IAM1C,IAAI,SAA4C,CAAC;IACjD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,wBAAwB,CAAC,OAAO,EAAE,CAAC;QAC9D,gBAAgB,EAAE,CAAC;QAEnB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,uBAAuB,YAE/C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;QAEF,SAAS,GAAG,IAAI,kBAAkB,CAAC;YAClC,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,yBAAsC,CAAC;IACpD,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 {\n\ttype ITenantAdminComponent,\n\ttype Tenant,\n\tTenantAdminService,\n\tinitSchema as initSchemaTenant\n} from \"@twin.org/api-tenant-processor\";\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 { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TenantAdminComponentConfig } from \"../models/config/tenantAdminComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TenantAdminComponentType } from \"../models/types/tenantAdminComponentType.js\";\n\n/**\n * Initialise the tenant admin 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 initialiseTenantAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TenantAdminComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ITenantAdminComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === TenantAdminComponentType.Service) {\n\t\tinitSchemaTenant();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.tenantEntityStorageType,\n\t\t\tnameof<Tenant>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t);\n\n\t\tcomponent = new TenantAdminService({\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(TenantAdminService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/components/tenant.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAEN,kBAAkB,EAClB,UAAU,IAAI,gBAAgB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAOnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC7C,UAAsC,EACtC,OAA0C,EAC1C,cAA0C;IAE1C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,wBAAwB,CAAC,OAAO,EAAE,CAAC;QAC9D,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,kBAAkB,CAC5B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,yBAAsC,CAAC;IACxD,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 {\n\ttype Tenant,\n\tTenantAdminService,\n\tinitSchema as initSchemaTenant\n} from \"@twin.org/api-tenant-processor\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, 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 { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TenantAdminComponentConfig } from \"../models/config/tenantAdminComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TenantAdminComponentType } from \"../models/types/tenantAdminComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the tenant admin 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 initialiseTenantAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TenantAdminComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TenantAdminComponentType.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 TenantAdminService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(TenantAdminService);\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,27 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ComponentFactory } from "@twin.org/core";
4
+ import { TrustService } from "@twin.org/trust-service";
5
+ import { TrustComponentType } from "../models/types/trustComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
7
+ /**
8
+ * Initialise the trust component.
9
+ * @param engineCore The engine core.
10
+ * @param context The context for the engine.
11
+ * @param instanceConfig The instance config.
12
+ * @returns The instance created and the factory for it.
13
+ */
14
+ export function initialiseTrustComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
17
+ if (instanceConfig.type === TrustComponentType.Service) {
18
+ createComponent = (createConfig) => new TrustService(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
19
+ instanceTypeName = "trust-service";
20
+ }
21
+ return {
22
+ createComponent: createComponent,
23
+ instanceTypeName,
24
+ factory: ComponentFactory
25
+ };
26
+ }
27
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../../src/components/trust.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAOnE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACvC,UAAsC,EACtC,OAA0C,EAC1C,cAAoC;IAEpC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACxD,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,YAAY,CACf,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,kBAAgC,CAAC;IAClD,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 { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { TrustService } from \"@twin.org/trust-service\";\nimport type { TrustComponentConfig } from \"../models/config/trustComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TrustComponentType } from \"../models/types/trustComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the trust 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 initialiseTrustComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TrustComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TrustComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TrustService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(TrustService);\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,28 @@
1
+ import { JwtVerifiableCredentialGenerator } from "@twin.org/trust-generators";
2
+ import { TrustGeneratorFactory } from "@twin.org/trust-models";
3
+ import { TrustGeneratorComponentType } from "../models/types/trustGeneratorComponentType.js";
4
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
5
+ /**
6
+ * Initialise the trust generator component.
7
+ * @param engineCore The engine core.
8
+ * @param context The context for the engine.
9
+ * @param instanceConfig The instance config.
10
+ * @returns The instance created and the factory for it.
11
+ */
12
+ export function initialiseTrustGeneratorComponent(engineCore, context, instanceConfig) {
13
+ let createComponent;
14
+ let instanceTypeName;
15
+ if (instanceConfig.type === TrustGeneratorComponentType.JwtVerifiableCredential) {
16
+ createComponent = (createConfig) => new JwtVerifiableCredentialGenerator(EngineTypeHelper.mergeConfig({
17
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
18
+ identityComponentType: engineCore.getRegisteredInstanceType("identityComponent")
19
+ }, createConfig.options));
20
+ instanceTypeName = "jwt-verifiable-credential-generator";
21
+ }
22
+ return {
23
+ createComponent: createComponent,
24
+ instanceTypeName,
25
+ factory: TrustGeneratorFactory
26
+ };
27
+ }
28
+ //# sourceMappingURL=trustGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustGenerator.js","sourceRoot":"","sources":["../../../src/components/trustGenerator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAChD,UAAsC,EACtC,OAA0C,EAC1C,cAA6C;IAE7C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,uBAAuB,EAAE,CAAC;QACjF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,gCAAgC,CACnC,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;SAChF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,wCAAoD,CAAC;IACtE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,qBAAqB;KAC9B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { JwtVerifiableCredentialGenerator } from \"@twin.org/trust-generators\";\nimport { TrustGeneratorFactory } from \"@twin.org/trust-models\";\nimport type { TrustGeneratorComponentConfig } from \"../models/config/trustGeneratorComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TrustGeneratorComponentType } from \"../models/types/trustGeneratorComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the trust generator 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 initialiseTrustGeneratorComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TrustGeneratorComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof TrustGeneratorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TrustGeneratorComponentType.JwtVerifiableCredential) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew JwtVerifiableCredentialGenerator(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tidentityComponentType: engineCore.getRegisteredInstanceType(\"identityComponent\")\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(JwtVerifiableCredentialGenerator);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: TrustGeneratorFactory\n\t};\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { TrustVerifierFactory } from "@twin.org/trust-models";
2
+ import { JwtVerifiableCredentialVerifier } from "@twin.org/trust-verifiers";
3
+ import { TrustVerifierComponentType } from "../models/types/trustVerifierComponentType.js";
4
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
5
+ /**
6
+ * Initialise the trust verifier component.
7
+ * @param engineCore The engine core.
8
+ * @param context The context for the engine.
9
+ * @param instanceConfig The instance config.
10
+ * @returns The instance created and the factory for it.
11
+ */
12
+ export function initialiseTrustVerifierComponent(engineCore, context, instanceConfig) {
13
+ let createComponent;
14
+ let instanceTypeName;
15
+ if (instanceConfig.type === TrustVerifierComponentType.JwtVerifiableCredential) {
16
+ createComponent = (createConfig) => new JwtVerifiableCredentialVerifier(EngineTypeHelper.mergeConfig({
17
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
18
+ identityComponentType: engineCore.getRegisteredInstanceType("identityComponent")
19
+ }, createConfig.options));
20
+ instanceTypeName = "jwt-verifiable-credential-verifier";
21
+ }
22
+ return {
23
+ createComponent: createComponent,
24
+ instanceTypeName,
25
+ factory: TrustVerifierFactory
26
+ };
27
+ }
28
+ //# sourceMappingURL=trustVerifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustVerifier.js","sourceRoot":"","sources":["../../../src/components/trustVerifier.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC/C,UAAsC,EACtC,OAA0C,EAC1C,cAA4C;IAE5C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,0BAA0B,CAAC,uBAAuB,EAAE,CAAC;QAChF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,+BAA+B,CAClC,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;SAChF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,uCAAmD,CAAC;IACrE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,oBAAoB;KAC7B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { TrustVerifierFactory } from \"@twin.org/trust-models\";\nimport { JwtVerifiableCredentialVerifier } from \"@twin.org/trust-verifiers\";\nimport type { TrustVerifierComponentConfig } from \"../models/config/trustVerifierComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TrustVerifierComponentType } from \"../models/types/trustVerifierComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the trust verifier 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 initialiseTrustVerifierComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TrustVerifierComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof TrustVerifierFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TrustVerifierComponentType.JwtVerifiableCredential) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew JwtVerifiableCredentialVerifier(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tidentityComponentType: engineCore.getRegisteredInstanceType(\"identityComponent\")\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(JwtVerifiableCredentialVerifier);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: TrustVerifierFactory\n\t};\n}\n"]}
@@ -3,6 +3,7 @@ import { HashicorpVaultConnector } from "@twin.org/vault-connector-hashicorp";
3
3
  import { VaultConnectorFactory } from "@twin.org/vault-models";
4
4
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
5
5
  import { VaultConnectorType } from "../models/types/vaultConnectorType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
6
7
  /**
7
8
  * Initialise the vault connector.
8
9
  * @param engineCore The engine core.
@@ -10,23 +11,25 @@ import { VaultConnectorType } from "../models/types/vaultConnectorType.js";
10
11
  * @param instanceConfig The instance config.
11
12
  * @returns The instance created and the factory for it.
12
13
  */
13
- export async function initialiseVaultConnector(engineCore, context, instanceConfig) {
14
- let component;
15
- let instanceType;
14
+ export function initialiseVaultConnector(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
16
17
  if (instanceConfig.type === VaultConnectorType.EntityStorage) {
17
- initSchema();
18
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.vaultKeyEntityStorageType, "VaultKey", []);
19
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.vaultSecretEntityStorageType, "VaultSecret", []);
20
- component = new EntityStorageVaultConnector(instanceConfig.options);
21
- instanceType = EntityStorageVaultConnector.NAMESPACE;
18
+ createComponent = (createConfig) => {
19
+ initSchema();
20
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.vaultKeyEntityStorageType, "VaultKey", []);
21
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.vaultSecretEntityStorageType, "VaultSecret", []);
22
+ return new EntityStorageVaultConnector(EngineTypeHelper.mergeConfig(createConfig.options));
23
+ };
24
+ instanceTypeName = EntityStorageVaultConnector.NAMESPACE;
22
25
  }
23
26
  else if (instanceConfig.type === VaultConnectorType.Hashicorp) {
24
- component = new HashicorpVaultConnector(instanceConfig.options);
25
- instanceType = HashicorpVaultConnector.NAMESPACE;
27
+ createComponent = (createConfig) => new HashicorpVaultConnector(EngineTypeHelper.mergeConfig(createConfig.options));
28
+ instanceTypeName = HashicorpVaultConnector.NAMESPACE;
26
29
  }
27
30
  return {
28
- component,
29
- instanceType,
31
+ createComponent: createComponent,
32
+ instanceTypeName,
30
33
  factory: VaultConnectorFactory
31
34
  };
32
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/components/vault.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,2BAA2B,EAC3B,UAAU,EAGV,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,UAAsC,EACtC,OAA0C,EAC1C,cAAoC;IAMpC,IAAI,SAAsC,CAAC;IAC3C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC9D,UAAU,EAAE,CAAC;QACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,yBAAyB,cAEjD,EAAE,CACF,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,4BAA4B,iBAEpD,EAAE,CACF,CAAC;QACF,SAAS,GAAG,IAAI,2BAA2B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpE,YAAY,GAAG,2BAA2B,CAAC,SAAS,CAAC;IACtD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACjE,SAAS,GAAG,IAAI,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChE,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC;IAClD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,qBAAqB;KAC9B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageVaultConnector,\n\tinitSchema,\n\ttype VaultKey,\n\ttype VaultSecret\n} from \"@twin.org/vault-connector-entity-storage\";\nimport { HashicorpVaultConnector } from \"@twin.org/vault-connector-hashicorp\";\nimport { VaultConnectorFactory, type IVaultConnector } from \"@twin.org/vault-models\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { VaultConnectorConfig } from \"../models/config/vaultConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { VaultConnectorType } from \"../models/types/vaultConnectorType.js\";\n\n/**\n * Initialise the vault 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 initialiseVaultConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VaultConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof VaultConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IVaultConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === VaultConnectorType.EntityStorage) {\n\t\tinitSchema();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.vaultKeyEntityStorageType,\n\t\t\tnameof<VaultKey>(),\n\t\t\t[]\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.vaultSecretEntityStorageType,\n\t\t\tnameof<VaultSecret>(),\n\t\t\t[]\n\t\t);\n\t\tcomponent = new EntityStorageVaultConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageVaultConnector.NAMESPACE;\n\t} else if (instanceConfig.type === VaultConnectorType.Hashicorp) {\n\t\tcomponent = new HashicorpVaultConnector(instanceConfig.options);\n\t\tinstanceType = HashicorpVaultConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: VaultConnectorFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/components/vault.ts"],"names":[],"mappings":"AASA,OAAO,EACN,2BAA2B,EAC3B,UAAU,EAGV,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACvC,UAAsC,EACtC,OAA0C,EAC1C,cAAoC;IAEpC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC9D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,UAAU,EAAE,CAAC;YACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,yBAAyB,cAE/C,EAAE,CACF,CAAC;YACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,4BAA4B,iBAElD,EAAE,CACF,CAAC;YACF,OAAO,IAAI,2BAA2B,CACrC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,2BAA2B,CAAC,SAAS,CAAC;IAC1D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACjE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,uBAAuB,CAC1B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,qBAAqB;KAC9B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageVaultConnector,\n\tinitSchema,\n\ttype VaultKey,\n\ttype VaultSecret\n} from \"@twin.org/vault-connector-entity-storage\";\nimport { HashicorpVaultConnector } from \"@twin.org/vault-connector-hashicorp\";\nimport { VaultConnectorFactory } from \"@twin.org/vault-models\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { VaultConnectorConfig } from \"../models/config/vaultConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { VaultConnectorType } from \"../models/types/vaultConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the vault 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 initialiseVaultConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VaultConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof VaultConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === VaultConnectorType.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?.vaultKeyEntityStorageType,\n\t\t\t\tnameof<VaultKey>(),\n\t\t\t\t[]\n\t\t\t);\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.vaultSecretEntityStorageType,\n\t\t\t\tnameof<VaultSecret>(),\n\t\t\t\t[]\n\t\t\t);\n\t\t\treturn new EntityStorageVaultConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageVaultConnector.NAMESPACE;\n\t} else if (instanceConfig.type === VaultConnectorType.Hashicorp) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew HashicorpVaultConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = HashicorpVaultConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: VaultConnectorFactory\n\t};\n}\n"]}
@@ -19,34 +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 initialiseVerifiableStorageConnector(engineCore, context, instanceConfig) {
23
- let component;
24
- let instanceType;
22
+ export function initialiseVerifiableStorageConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
25
25
  if (instanceConfig.type === VerifiableStorageConnectorType.Iota) {
26
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
27
- component = new IotaVerifiableStorageConnector({
28
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
29
- loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
30
- ...instanceConfig.options,
31
- config: {
32
- ...dltConfig?.options?.config,
33
- ...instanceConfig.options.config
34
- }
35
- });
36
- instanceType = IotaVerifiableStorageConnector.NAMESPACE;
26
+ createComponent = (createConfig) => {
27
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
28
+ return new IotaVerifiableStorageConnector(EngineTypeHelper.mergeConfig({
29
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
30
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
31
+ config: dltConfig?.options?.config
32
+ }, createConfig.options));
33
+ };
34
+ instanceTypeName = IotaVerifiableStorageConnector.NAMESPACE;
37
35
  }
38
36
  else if (instanceConfig.type === VerifiableStorageConnectorType.EntityStorage) {
39
- initSchemaVerifiableStorageStorage();
40
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.verifiableStorageEntityStorageType, "VerifiableItem", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
41
- ContextIdKeys.Node,
42
- ContextIdKeys.Tenant
43
- ]));
44
- component = new EntityStorageVerifiableStorageConnector(instanceConfig.options);
45
- instanceType = EntityStorageVerifiableStorageConnector.NAMESPACE;
37
+ createComponent = (createConfig) => {
38
+ initSchemaVerifiableStorageStorage();
39
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.verifiableStorageEntityStorageType, "VerifiableItem", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
40
+ ContextIdKeys.Node,
41
+ ContextIdKeys.Tenant
42
+ ]));
43
+ return new EntityStorageVerifiableStorageConnector(EngineTypeHelper.mergeConfig(createConfig.options));
44
+ };
45
+ instanceTypeName = EntityStorageVerifiableStorageConnector.NAMESPACE;
46
46
  }
47
47
  return {
48
- component,
49
- instanceType,
48
+ createComponent: createComponent,
49
+ instanceTypeName,
50
50
  factory: VerifiableStorageConnectorFactory
51
51
  };
52
52
  }
@@ -57,22 +57,20 @@ export async function initialiseVerifiableStorageConnector(engineCore, context,
57
57
  * @param instanceConfig The instance config.
58
58
  * @returns The instance created and the factory for it.
59
59
  */
60
- export async function initialiseVerifiableStorageComponent(engineCore, context, instanceConfig) {
61
- let component;
62
- let instanceType;
60
+ export function initialiseVerifiableStorageComponent(engineCore, context, instanceConfig) {
61
+ let createComponent;
62
+ let instanceTypeName;
63
63
  if (instanceConfig.type === VerifiableStorageComponentType.Service) {
64
- component = new VerifiableStorageService({
65
- ...instanceConfig.options
66
- });
67
- instanceType = "verifiable-storage-service";
64
+ createComponent = (createConfig) => new VerifiableStorageService(EngineTypeHelper.mergeConfig(createConfig.options));
65
+ instanceTypeName = "verifiable-storage-service";
68
66
  }
69
67
  else if (instanceConfig.type === VerifiableStorageComponentType.RestClient) {
70
- component = new VerifiableStorageRestClient(instanceConfig.options);
71
- instanceType = "verifiable-storage-rest-client";
68
+ createComponent = (createConfig) => new VerifiableStorageRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
69
+ instanceTypeName = "verifiable-storage-rest-client";
72
70
  }
73
71
  return {
74
- component,
75
- instanceType,
72
+ createComponent: createComponent,
73
+ instanceTypeName,
76
74
  factory: ComponentFactory
77
75
  };
78
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verifiableStorage.js","sourceRoot":"","sources":["../../../src/components/verifiableStorage.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\tEntityStorageVerifiableStorageConnector,\n\tinitSchema as initSchemaVerifiableStorageStorage,\n\ttype VerifiableItem\n} from \"@twin.org/verifiable-storage-connector-entity-storage\";\nimport { IotaVerifiableStorageConnector } from \"@twin.org/verifiable-storage-connector-iota\";\nimport {\n\tVerifiableStorageConnectorFactory,\n\ttype IVerifiableStorageComponent,\n\ttype IVerifiableStorageConnector\n} from \"@twin.org/verifiable-storage-models\";\nimport { VerifiableStorageRestClient } from \"@twin.org/verifiable-storage-rest-client\";\nimport { VerifiableStorageService } from \"@twin.org/verifiable-storage-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { VerifiableStorageComponentConfig } from \"../models/config/verifiableStorageComponentConfig.js\";\nimport type { VerifiableStorageConnectorConfig } from \"../models/config/verifiableStorageConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { VerifiableStorageComponentType } from \"../models/types/verifiableStorageComponentType.js\";\nimport { VerifiableStorageConnectorType } from \"../models/types/verifiableStorageConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the verifiable storage 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 initialiseVerifiableStorageConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VerifiableStorageConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof VerifiableStorageConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IVerifiableStorageConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === VerifiableStorageConnectorType.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 IotaVerifiableStorageConnector({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\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 = IotaVerifiableStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === VerifiableStorageConnectorType.EntityStorage) {\n\t\tinitSchemaVerifiableStorageStorage();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.verifiableStorageEntityStorageType,\n\t\t\tnameof<VerifiableItem>(),\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 EntityStorageVerifiableStorageConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageVerifiableStorageConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: VerifiableStorageConnectorFactory\n\t};\n}\n\n/**\n * Initialise the verifiable storage 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 initialiseVerifiableStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VerifiableStorageComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IVerifiableStorageComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === VerifiableStorageComponentType.Service) {\n\t\tcomponent = new VerifiableStorageService({\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(VerifiableStorageService);\n\t} else if (instanceConfig.type === VerifiableStorageComponentType.RestClient) {\n\t\tcomponent = new VerifiableStorageRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(VerifiableStorageRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"verifiableStorage.js","sourceRoot":"","sources":["../../../src/components/verifiableStorage.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 type { IComponent } from \"@twin.org/core\";\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 {\n\tEntityStorageVerifiableStorageConnector,\n\tinitSchema as initSchemaVerifiableStorageStorage,\n\ttype VerifiableItem\n} from \"@twin.org/verifiable-storage-connector-entity-storage\";\nimport { IotaVerifiableStorageConnector } from \"@twin.org/verifiable-storage-connector-iota\";\nimport { VerifiableStorageConnectorFactory } from \"@twin.org/verifiable-storage-models\";\nimport { VerifiableStorageRestClient } from \"@twin.org/verifiable-storage-rest-client\";\nimport { VerifiableStorageService } from \"@twin.org/verifiable-storage-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { VerifiableStorageComponentConfig } from \"../models/config/verifiableStorageComponentConfig.js\";\nimport type { VerifiableStorageConnectorConfig } from \"../models/config/verifiableStorageConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { VerifiableStorageComponentType } from \"../models/types/verifiableStorageComponentType.js\";\nimport { VerifiableStorageConnectorType } from \"../models/types/verifiableStorageConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the verifiable storage 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 initialiseVerifiableStorageConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VerifiableStorageConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof VerifiableStorageConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === VerifiableStorageConnectorType.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 IotaVerifiableStorageConnector(\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 = IotaVerifiableStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === VerifiableStorageConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaVerifiableStorageStorage();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.verifiableStorageEntityStorageType,\n\t\t\t\tnameof<VerifiableItem>(),\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 EntityStorageVerifiableStorageConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageVerifiableStorageConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: VerifiableStorageConnectorFactory\n\t};\n}\n\n/**\n * Initialise the verifiable storage 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 initialiseVerifiableStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VerifiableStorageComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === VerifiableStorageComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew VerifiableStorageService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(VerifiableStorageService);\n\t} else if (instanceConfig.type === VerifiableStorageComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew VerifiableStorageRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(VerifiableStorageRestClient);\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"]}
@@ -12,35 +12,34 @@ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
12
12
  * @param instanceConfig The instance config.
13
13
  * @returns The instance created and the factory for it.
14
14
  */
15
- export async function initialiseWalletConnector(engineCore, context, instanceConfig) {
16
- let component;
17
- let instanceType;
15
+ export function initialiseWalletConnector(engineCore, context, instanceConfig) {
16
+ let createComponent;
17
+ let instanceTypeName;
18
18
  if (instanceConfig.type === WalletConnectorType.Iota) {
19
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
20
- component = new IotaWalletConnector({
21
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
22
- faucetConnectorType: engineCore.getRegisteredInstanceType("faucetConnector"),
23
- ...instanceConfig.options,
24
- config: {
25
- ...dltConfig?.options?.config,
26
- ...instanceConfig.options.config
27
- }
28
- });
29
- instanceType = IotaWalletConnector.NAMESPACE;
19
+ createComponent = (createConfig) => {
20
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
21
+ return new IotaWalletConnector(EngineTypeHelper.mergeConfig({
22
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
23
+ faucetConnectorType: engineCore.getRegisteredInstanceType("faucetConnector"),
24
+ config: dltConfig?.options?.config
25
+ }, createConfig.options));
26
+ };
27
+ instanceTypeName = IotaWalletConnector.NAMESPACE;
30
28
  }
31
29
  else if (instanceConfig.type === WalletConnectorType.EntityStorage) {
32
- initSchemaWallet();
33
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.walletAddressEntityStorageType, "WalletAddress", []);
34
- component = new EntityStorageWalletConnector({
35
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
36
- faucetConnectorType: engineCore.getRegisteredInstanceType("faucetConnector"),
37
- ...instanceConfig.options
38
- });
39
- instanceType = EntityStorageWalletConnector.NAMESPACE;
30
+ createComponent = (createConfig) => {
31
+ initSchemaWallet();
32
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.walletAddressEntityStorageType, "WalletAddress", []);
33
+ return new EntityStorageWalletConnector(EngineTypeHelper.mergeConfig({
34
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
35
+ faucetConnectorType: engineCore.getRegisteredInstanceType("faucetConnector")
36
+ }, createConfig.options));
37
+ };
38
+ instanceTypeName = EntityStorageWalletConnector.NAMESPACE;
40
39
  }
41
40
  return {
42
- component,
43
- instanceType,
41
+ createComponent: createComponent,
42
+ instanceTypeName,
44
43
  factory: WalletConnectorFactory
45
44
  };
46
45
  }