@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
@@ -18,33 +18,30 @@ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
18
18
  * @param instanceConfig The instance config.
19
19
  * @returns The instance created and the factory for it.
20
20
  */
21
- export async function initialiseIdentityConnector(engineCore, context, instanceConfig) {
22
- let component;
23
- let instanceType;
21
+ export function initialiseIdentityConnector(engineCore, context, instanceConfig) {
22
+ let createComponent;
23
+ let instanceTypeName;
24
24
  if (instanceConfig.type === IdentityConnectorType.Iota) {
25
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
26
- component = new IotaIdentityConnector({
27
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
28
- ...instanceConfig.options,
29
- config: {
30
- ...dltConfig?.options?.config,
31
- ...instanceConfig.options.config
32
- }
33
- });
34
- instanceType = IotaIdentityConnector.NAMESPACE;
25
+ createComponent = (createConfig) => {
26
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
27
+ return new IotaIdentityConnector(EngineTypeHelper.mergeConfig({
28
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
29
+ config: dltConfig?.options?.config
30
+ }, createConfig.options));
31
+ };
32
+ instanceTypeName = IotaIdentityConnector.NAMESPACE;
35
33
  }
36
34
  else if (instanceConfig.type === IdentityConnectorType.EntityStorage) {
37
- initSchemaIdentityStorage({ includeProfile: false });
38
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.didDocumentEntityStorageType, "IdentityDocument", []);
39
- component = new EntityStorageIdentityConnector({
40
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
41
- ...instanceConfig.options
42
- });
43
- instanceType = EntityStorageIdentityConnector.NAMESPACE;
35
+ createComponent = (createConfig) => {
36
+ initSchemaIdentityStorage({ includeProfile: false });
37
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.didDocumentEntityStorageType, "IdentityDocument", []);
38
+ return new EntityStorageIdentityConnector(EngineTypeHelper.mergeConfig({ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector") }, createConfig.options));
39
+ };
40
+ instanceTypeName = EntityStorageIdentityConnector.NAMESPACE;
44
41
  }
45
42
  return {
46
- component,
47
- instanceType,
43
+ createComponent: createComponent,
44
+ instanceTypeName,
48
45
  factory: IdentityConnectorFactory
49
46
  };
50
47
  }
@@ -55,20 +52,20 @@ export async function initialiseIdentityConnector(engineCore, context, instanceC
55
52
  * @param instanceConfig The instance config.
56
53
  * @returns The instance created and the factory for it.
57
54
  */
58
- export async function initialiseIdentityComponent(engineCore, context, instanceConfig) {
59
- let component;
60
- let instanceType;
55
+ export function initialiseIdentityComponent(engineCore, context, instanceConfig) {
56
+ let createComponent;
57
+ let instanceTypeName;
61
58
  if (instanceConfig.type === IdentityComponentType.Service) {
62
- component = new IdentityService(instanceConfig.options);
63
- instanceType = "identity-service";
59
+ createComponent = (createConfig) => new IdentityService(EngineTypeHelper.mergeConfig(createConfig.options));
60
+ instanceTypeName = "identity-service";
64
61
  }
65
62
  else if (instanceConfig.type === IdentityComponentType.RestClient) {
66
- component = new IdentityRestClient(instanceConfig.options);
67
- instanceType = "identity-rest-client";
63
+ createComponent = (createConfig) => new IdentityRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
64
+ instanceTypeName = "identity-rest-client";
68
65
  }
69
66
  return {
70
- component,
71
- instanceType,
67
+ createComponent: createComponent,
68
+ instanceTypeName,
72
69
  factory: ComponentFactory
73
70
  };
74
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/components/identity.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport {\n\tEntityStorageIdentityConnector,\n\tinitSchema as initSchemaIdentityStorage,\n\ttype IdentityDocument\n} from \"@twin.org/identity-connector-entity-storage\";\nimport { IotaIdentityConnector } from \"@twin.org/identity-connector-iota\";\nimport {\n\tIdentityConnectorFactory,\n\ttype IIdentityComponent,\n\ttype IIdentityConnector\n} from \"@twin.org/identity-models\";\nimport { IdentityRestClient } from \"@twin.org/identity-rest-client\";\nimport { IdentityService } from \"@twin.org/identity-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { IdentityComponentConfig } from \"../models/config/identityComponentConfig.js\";\nimport type { IdentityConnectorConfig } from \"../models/config/identityConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { IdentityComponentType } from \"../models/types/identityComponentType.js\";\nimport { IdentityConnectorType } from \"../models/types/identityConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the identity 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 initialiseIdentityConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof IdentityConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IIdentityConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === IdentityConnectorType.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 IotaIdentityConnector({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\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 = IotaIdentityConnector.NAMESPACE;\n\t} else if (instanceConfig.type === IdentityConnectorType.EntityStorage) {\n\t\tinitSchemaIdentityStorage({ includeProfile: false });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.didDocumentEntityStorageType,\n\t\t\tnameof<IdentityDocument>(),\n\t\t\t[]\n\t\t);\n\t\tcomponent = new EntityStorageIdentityConnector({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageIdentityConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: IdentityConnectorFactory\n\t};\n}\n\n/**\n * Initialise the identity 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 initialiseIdentityComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IIdentityComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === IdentityComponentType.Service) {\n\t\tcomponent = new IdentityService(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(IdentityService);\n\t} else if (instanceConfig.type === IdentityComponentType.RestClient) {\n\t\tcomponent = new IdentityRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(IdentityRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/components/identity.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport {\n\tEntityStorageIdentityConnector,\n\tinitSchema as initSchemaIdentityStorage,\n\ttype IdentityDocument\n} from \"@twin.org/identity-connector-entity-storage\";\nimport { IotaIdentityConnector } from \"@twin.org/identity-connector-iota\";\nimport { IdentityConnectorFactory } from \"@twin.org/identity-models\";\nimport { IdentityRestClient } from \"@twin.org/identity-rest-client\";\nimport { IdentityService } from \"@twin.org/identity-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { IdentityComponentConfig } from \"../models/config/identityComponentConfig.js\";\nimport type { IdentityConnectorConfig } from \"../models/config/identityConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { IdentityComponentType } from \"../models/types/identityComponentType.js\";\nimport { IdentityConnectorType } from \"../models/types/identityConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the identity 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 initialiseIdentityConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof IdentityConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === IdentityConnectorType.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 IotaIdentityConnector(\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\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 = IotaIdentityConnector.NAMESPACE;\n\t} else if (instanceConfig.type === IdentityConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaIdentityStorage({ includeProfile: false });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.didDocumentEntityStorageType,\n\t\t\t\tnameof<IdentityDocument>(),\n\t\t\t\t[]\n\t\t\t);\n\t\t\treturn new EntityStorageIdentityConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ vaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageIdentityConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: IdentityConnectorFactory\n\t};\n}\n\n/**\n * Initialise the identity 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 initialiseIdentityComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === IdentityComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew IdentityService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(IdentityService);\n\t} else if (instanceConfig.type === IdentityComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew IdentityRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(IdentityRestClient);\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"]}
@@ -9,6 +9,7 @@ import { IdentityProfileService } from "@twin.org/identity-service";
9
9
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
10
10
  import { IdentityProfileComponentType } from "../models/types/identityProfileComponentType.js";
11
11
  import { IdentityProfileConnectorType } from "../models/types/identityProfileConnectorType.js";
12
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
12
13
  /**
13
14
  * Initialise the identity profile connector.
14
15
  * @param engineCore The engine core.
@@ -16,21 +17,23 @@ import { IdentityProfileConnectorType } from "../models/types/identityProfileCon
16
17
  * @param instanceConfig The instance config.
17
18
  * @returns The instance created and the factory for it.
18
19
  */
19
- export async function initialiseIdentityProfileConnector(engineCore, context, instanceConfig) {
20
- let connector;
21
- let instanceType;
20
+ export function initialiseIdentityProfileConnector(engineCore, context, instanceConfig) {
21
+ let createComponent;
22
+ let instanceTypeName;
22
23
  if (instanceConfig.type === IdentityProfileConnectorType.EntityStorage) {
23
- initSchemaIdentityStorage({ includeDocument: false });
24
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.profileEntityStorageType, "IdentityProfile", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
25
- ContextIdKeys.Node,
26
- ContextIdKeys.Tenant
27
- ]));
28
- connector = new EntityStorageIdentityProfileConnector(instanceConfig.options);
29
- instanceType = EntityStorageIdentityProfileConnector.NAMESPACE;
24
+ createComponent = (createConfig) => {
25
+ initSchemaIdentityStorage({ includeDocument: false });
26
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.profileEntityStorageType, "IdentityProfile", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
27
+ ContextIdKeys.Node,
28
+ ContextIdKeys.Tenant
29
+ ]));
30
+ return new EntityStorageIdentityProfileConnector(EngineTypeHelper.mergeConfig(createConfig.options));
31
+ };
32
+ instanceTypeName = EntityStorageIdentityProfileConnector.NAMESPACE;
30
33
  }
31
34
  return {
32
- component: connector,
33
- instanceType,
35
+ createComponent: createComponent,
36
+ instanceTypeName,
34
37
  factory: IdentityProfileConnectorFactory
35
38
  };
36
39
  }
@@ -41,23 +44,22 @@ export async function initialiseIdentityProfileConnector(engineCore, context, in
41
44
  * @param instanceConfig The instance config.
42
45
  * @returns The instance created and the factory for it.
43
46
  */
44
- export async function initialiseIdentityProfileComponent(engineCore, context, instanceConfig) {
45
- let component;
46
- let instanceType;
47
+ export function initialiseIdentityProfileComponent(engineCore, context, instanceConfig) {
48
+ let createComponent;
49
+ let instanceTypeName;
47
50
  if (instanceConfig.type === IdentityProfileComponentType.Service) {
48
- component = new IdentityProfileService({
49
- profileEntityConnectorType: engineCore.getRegisteredInstanceType("identityProfileConnector"),
50
- ...instanceConfig.options
51
- });
52
- instanceType = "identity-profile-service";
51
+ createComponent = (createConfig) => new IdentityProfileService(EngineTypeHelper.mergeConfig({
52
+ profileEntityConnectorType: engineCore.getRegisteredInstanceType("identityProfileConnector")
53
+ }, createConfig.options));
54
+ instanceTypeName = "identity-profile-service";
53
55
  }
54
56
  else if (instanceConfig.type === IdentityProfileComponentType.RestClient) {
55
- component = new IdentityProfileRestClient(instanceConfig.options);
56
- instanceType = "identity-profile-rest-client";
57
+ createComponent = (createConfig) => new IdentityProfileRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
58
+ instanceTypeName = "identity-profile-rest-client";
57
59
  }
58
60
  return {
59
- component,
60
- instanceType,
61
+ createComponent: createComponent,
62
+ instanceTypeName,
61
63
  factory: ComponentFactory
62
64
  };
63
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identityProfile.js","sourceRoot":"","sources":["../../../src/components/identityProfile.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;AAEnE,OAAO,EACN,qCAAqC,EACrC,UAAU,IAAI,yBAAyB,EAEvC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACN,+BAA+B,EAG/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAE/F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACvD,UAAsC,EACtC,OAA0C,EAC1C,cAA8C;IAM9C,IAAI,SAAgD,CAAC;IACrD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,aAAa,EAAE,CAAC;QACxE,yBAAyB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,wBAAwB,qBAEhD,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,qCAAqC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9E,YAAY,GAAG,qCAAqC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED,OAAO;QACN,SAAS,EAAE,SAAS;QACpB,YAAY;QACZ,OAAO,EAAE,+BAA+B;KACxC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACvD,UAAsC,EACtC,OAA0C,EAC1C,cAA8C;IAM9C,IAAI,SAAgD,CAAC;IACrD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,EAAE,CAAC;QAClE,SAAS,GAAG,IAAI,sBAAsB,CAAC;YACtC,0BAA0B,EAAE,UAAU,CAAC,yBAAyB,CAAC,0BAA0B,CAAC;YAC5F,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,6BAA0C,CAAC;IACxD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,UAAU,EAAE,CAAC;QAC5E,SAAS,GAAG,IAAI,yBAAyB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClE,YAAY,iCAA6C,CAAC;IAC3D,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 {\n\tEntityStorageIdentityProfileConnector,\n\tinitSchema as initSchemaIdentityStorage,\n\ttype IdentityProfile\n} from \"@twin.org/identity-connector-entity-storage\";\nimport {\n\tIdentityProfileConnectorFactory,\n\ttype IIdentityProfileComponent,\n\ttype IIdentityProfileConnector\n} from \"@twin.org/identity-models\";\nimport { IdentityProfileRestClient } from \"@twin.org/identity-rest-client\";\nimport { IdentityProfileService } from \"@twin.org/identity-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { IdentityProfileComponentConfig } from \"../models/config/identityProfileComponentConfig.js\";\nimport type { IdentityProfileConnectorConfig } from \"../models/config/identityProfileConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { IdentityProfileComponentType } from \"../models/types/identityProfileComponentType.js\";\nimport { IdentityProfileConnectorType } from \"../models/types/identityProfileConnectorType.js\";\n\n/**\n * Initialise the identity profile 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 initialiseIdentityProfileConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityProfileConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof IdentityProfileConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet connector: IIdentityProfileConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === IdentityProfileConnectorType.EntityStorage) {\n\t\tinitSchemaIdentityStorage({ includeDocument: false });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.profileEntityStorageType,\n\t\t\tnameof<IdentityProfile>(),\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\tconnector = new EntityStorageIdentityProfileConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageIdentityProfileConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent: connector,\n\t\tinstanceType,\n\t\tfactory: IdentityProfileConnectorFactory\n\t};\n}\n\n/**\n * Initialise the identity profile 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 initialiseIdentityProfileComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityProfileComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IIdentityProfileComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === IdentityProfileComponentType.Service) {\n\t\tcomponent = new IdentityProfileService({\n\t\t\tprofileEntityConnectorType: engineCore.getRegisteredInstanceType(\"identityProfileConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(IdentityProfileService);\n\t} else if (instanceConfig.type === IdentityProfileComponentType.RestClient) {\n\t\tcomponent = new IdentityProfileRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(IdentityProfileRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"identityProfile.js","sourceRoot":"","sources":["../../../src/components/identityProfile.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EACN,qCAAqC,EACrC,UAAU,IAAI,yBAAyB,EAEvC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,kCAAkC,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAA8C;IAE9C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,aAAa,EAAE,CAAC;QACxE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,yBAAyB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,wBAAwB,qBAE9C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,qCAAqC,CAC/C,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,qCAAqC,CAAC,SAAS,CAAC;IACpE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,+BAA+B;KACxC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kCAAkC,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAA8C;IAE9C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,EAAE,CAAC;QAClE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,sBAAsB,CACzB,gBAAgB,CAAC,WAAW,CAC3B;YACC,0BAA0B,EAAE,UAAU,CAAC,yBAAyB,CAC/D,0BAA0B,CAC1B;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,6BAA0C,CAAC;IAC5D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,UAAU,EAAE,CAAC;QAC5E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,yBAAyB,CAC5B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,iCAA6C,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport {\n\tEntityStorageIdentityProfileConnector,\n\tinitSchema as initSchemaIdentityStorage,\n\ttype IdentityProfile\n} from \"@twin.org/identity-connector-entity-storage\";\nimport { IdentityProfileConnectorFactory } from \"@twin.org/identity-models\";\nimport { IdentityProfileRestClient } from \"@twin.org/identity-rest-client\";\nimport { IdentityProfileService } from \"@twin.org/identity-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { IdentityProfileComponentConfig } from \"../models/config/identityProfileComponentConfig.js\";\nimport type { IdentityProfileConnectorConfig } from \"../models/config/identityProfileConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { IdentityProfileComponentType } from \"../models/types/identityProfileComponentType.js\";\nimport { IdentityProfileConnectorType } from \"../models/types/identityProfileConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the identity profile 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 initialiseIdentityProfileConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityProfileConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof IdentityProfileConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === IdentityProfileConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaIdentityStorage({ includeDocument: false });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.profileEntityStorageType,\n\t\t\t\tnameof<IdentityProfile>(),\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 EntityStorageIdentityProfileConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageIdentityProfileConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: IdentityProfileConnectorFactory\n\t};\n}\n\n/**\n * Initialise the identity profile 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 initialiseIdentityProfileComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityProfileComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === IdentityProfileComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew IdentityProfileService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tprofileEntityConnectorType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"identityProfileConnector\"\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(IdentityProfileService);\n\t} else if (instanceConfig.type === IdentityProfileComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew IdentityProfileRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(IdentityProfileRestClient);\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"]}
@@ -19,38 +19,33 @@ 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 initialiseIdentityResolverConnector(engineCore, context, instanceConfig) {
23
- let component;
24
- let instanceType;
22
+ export function initialiseIdentityResolverConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
25
25
  if (instanceConfig.type === IdentityResolverConnectorType.Iota) {
26
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
27
- component = new IotaIdentityResolverConnector({
28
- ...instanceConfig.options,
29
- config: {
30
- ...dltConfig?.options?.config,
31
- ...instanceConfig.options.config
32
- }
33
- });
34
- instanceType = IotaIdentityResolverConnector.NAMESPACE;
26
+ createComponent = (createConfig) => {
27
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
28
+ return new IotaIdentityResolverConnector(EngineTypeHelper.mergeConfig({
29
+ config: dltConfig?.options?.config
30
+ }, createConfig.options));
31
+ };
32
+ instanceTypeName = IotaIdentityResolverConnector.NAMESPACE;
35
33
  }
36
34
  else if (instanceConfig.type === IdentityResolverConnectorType.EntityStorage) {
37
- initSchemaIdentityStorage({ includeProfile: false });
38
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.didDocumentEntityStorageType, "IdentityDocument", []);
39
- component = new EntityStorageIdentityResolverConnector({
40
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
41
- ...instanceConfig.options
42
- });
43
- instanceType = EntityStorageIdentityResolverConnector.NAMESPACE;
35
+ createComponent = (createConfig) => {
36
+ initSchemaIdentityStorage({ includeProfile: false });
37
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.didDocumentEntityStorageType, "IdentityDocument", []);
38
+ return new EntityStorageIdentityResolverConnector(EngineTypeHelper.mergeConfig({ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector") }, createConfig.options));
39
+ };
40
+ instanceTypeName = EntityStorageIdentityResolverConnector.NAMESPACE;
44
41
  }
45
42
  else if (instanceConfig.type === IdentityResolverConnectorType.Universal) {
46
- component = new UniversalResolverConnector({
47
- ...instanceConfig.options
48
- });
49
- instanceType = UniversalResolverConnector.NAMESPACE;
43
+ createComponent = (createConfig) => new UniversalResolverConnector(EngineTypeHelper.mergeConfig(createConfig.options));
44
+ instanceTypeName = UniversalResolverConnector.NAMESPACE;
50
45
  }
51
46
  return {
52
- component,
53
- instanceType,
47
+ createComponent: createComponent,
48
+ instanceTypeName,
54
49
  factory: IdentityResolverConnectorFactory
55
50
  };
56
51
  }
@@ -61,26 +56,27 @@ export async function initialiseIdentityResolverConnector(engineCore, context, i
61
56
  * @param instanceConfig The instance config.
62
57
  * @returns The instance created and the factory for it.
63
58
  */
64
- export async function initialiseIdentityResolverComponent(engineCore, context, instanceConfig) {
65
- let component;
66
- let instanceType;
59
+ export function initialiseIdentityResolverComponent(engineCore, context, instanceConfig) {
60
+ let createComponent;
61
+ let instanceTypeName;
67
62
  if (instanceConfig.type === IdentityResolverComponentType.Service) {
68
- const defaultIdentityResolverType = engineCore.getRegisteredInstanceType("identityResolverConnector");
69
- component = new IdentityResolverService({
70
- fallbackResolverConnectorType: defaultIdentityResolverType !== IdentityResolverConnectorType.Universal
71
- ? IdentityResolverConnectorType.Universal
72
- : undefined,
73
- ...instanceConfig.options
74
- });
75
- instanceType = "identity-resolver-service";
63
+ createComponent = (createConfig) => {
64
+ const defaultIdentityResolverType = engineCore.getRegisteredInstanceType("identityResolverConnector");
65
+ return new IdentityResolverService(EngineTypeHelper.mergeConfig({
66
+ fallbackResolverConnectorType: defaultIdentityResolverType !== IdentityResolverConnectorType.Universal
67
+ ? IdentityResolverConnectorType.Universal
68
+ : undefined
69
+ }, createConfig.options));
70
+ };
71
+ instanceTypeName = "identity-resolver-service";
76
72
  }
77
73
  else if (instanceConfig.type === IdentityResolverComponentType.RestClient) {
78
- component = new IdentityResolverRestClient(instanceConfig.options);
79
- instanceType = "identity-resolver-rest-client";
74
+ createComponent = (createConfig) => new IdentityResolverRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
75
+ instanceTypeName = "identity-resolver-rest-client";
80
76
  }
81
77
  return {
82
- component,
83
- instanceType,
78
+ createComponent: createComponent,
79
+ instanceTypeName,
84
80
  factory: ComponentFactory
85
81
  };
86
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identityResolver.js","sourceRoot":"","sources":["../../../src/components/identityResolver.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EACN,sCAAsC,EACtC,UAAU,IAAI,yBAAyB,EAEvC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EACN,gCAAgC,EAGhC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAKtE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACxD,UAAsC,EACtC,OAA0C,EAC1C,cAA+C;IAM/C,IAAI,SAAiD,CAAC;IACtD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CACjD,UAAU,CAAC,SAAS,EAAE,EACtB,WAAW,EACX,aAAa,CAAC,IAAI,CAClB,CAAC;QACF,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAC7C,GAAG,cAAc,CAAC,OAAO;YACzB,MAAM,EAAE;gBACP,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM;gBAC7B,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM;aAChC;SACD,CAAC,CAAC;QACH,YAAY,GAAG,6BAA6B,CAAC,SAAS,CAAC;IACxD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,aAAa,EAAE,CAAC;QAChF,yBAAyB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,4BAA4B,sBAEpD,EAAE,CACF,CAAC;QACF,SAAS,GAAG,IAAI,sCAAsC,CAAC;YACtD,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;YAC1E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,sCAAsC,CAAC,SAAS,CAAC;IACjE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,SAAS,EAAE,CAAC;QAC5E,SAAS,GAAG,IAAI,0BAA0B,CAAC;YAC1C,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,0BAA0B,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gCAAgC;KACzC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACxD,UAAsC,EACtC,OAA0C,EAC1C,cAA+C;IAM/C,IAAI,SAAiD,CAAC;IACtD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,2BAA2B,GAAG,UAAU,CAAC,yBAAyB,CACvE,2BAA2B,CAC3B,CAAC;QAEF,SAAS,GAAG,IAAI,uBAAuB,CAAC;YACvC,6BAA6B,EAC5B,2BAA2B,KAAK,6BAA6B,CAAC,SAAS;gBACtE,CAAC,CAAC,6BAA6B,CAAC,SAAS;gBACzC,CAAC,CAAC,SAAS;YACb,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,8BAA2C,CAAC;IACzD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,UAAU,EAAE,CAAC;QAC7E,SAAS,GAAG,IAAI,0BAA0B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnE,YAAY,kCAA8C,CAAC;IAC5D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport {\n\tEntityStorageIdentityResolverConnector,\n\tinitSchema as initSchemaIdentityStorage,\n\ttype IdentityDocument\n} from \"@twin.org/identity-connector-entity-storage\";\nimport { IotaIdentityResolverConnector } from \"@twin.org/identity-connector-iota\";\nimport { UniversalResolverConnector } from \"@twin.org/identity-connector-universal\";\nimport {\n\tIdentityResolverConnectorFactory,\n\ttype IIdentityResolverComponent,\n\ttype IIdentityResolverConnector\n} from \"@twin.org/identity-models\";\nimport { IdentityResolverRestClient } from \"@twin.org/identity-rest-client\";\nimport { IdentityResolverService } from \"@twin.org/identity-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { IdentityResolverComponentConfig } from \"../models/config/identityResolverComponentConfig.js\";\nimport type { IdentityResolverConnectorConfig } from \"../models/config/identityResolverConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { IdentityResolverComponentType } from \"../models/types/identityResolverComponentType.js\";\nimport { IdentityResolverConnectorType } from \"../models/types/identityResolverConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the identity resolver 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 initialiseIdentityResolverConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityResolverConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof IdentityResolverConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IIdentityResolverConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === IdentityResolverConnectorType.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 IotaIdentityResolverConnector({\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 = IotaIdentityResolverConnector.NAMESPACE;\n\t} else if (instanceConfig.type === IdentityResolverConnectorType.EntityStorage) {\n\t\tinitSchemaIdentityStorage({ includeProfile: false });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.didDocumentEntityStorageType,\n\t\t\tnameof<IdentityDocument>(),\n\t\t\t[]\n\t\t);\n\t\tcomponent = new EntityStorageIdentityResolverConnector({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageIdentityResolverConnector.NAMESPACE;\n\t} else if (instanceConfig.type === IdentityResolverConnectorType.Universal) {\n\t\tcomponent = new UniversalResolverConnector({\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = UniversalResolverConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: IdentityResolverConnectorFactory\n\t};\n}\n\n/**\n * Initialise the identity resolver 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 initialiseIdentityResolverComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityResolverComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IIdentityResolverComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === IdentityResolverComponentType.Service) {\n\t\tconst defaultIdentityResolverType = engineCore.getRegisteredInstanceType(\n\t\t\t\"identityResolverConnector\"\n\t\t);\n\n\t\tcomponent = new IdentityResolverService({\n\t\t\tfallbackResolverConnectorType:\n\t\t\t\tdefaultIdentityResolverType !== IdentityResolverConnectorType.Universal\n\t\t\t\t\t? IdentityResolverConnectorType.Universal\n\t\t\t\t\t: undefined,\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(IdentityResolverService);\n\t} else if (instanceConfig.type === IdentityResolverComponentType.RestClient) {\n\t\tcomponent = new IdentityResolverRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(IdentityResolverRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"identityResolver.js","sourceRoot":"","sources":["../../../src/components/identityResolver.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport {\n\tEntityStorageIdentityResolverConnector,\n\tinitSchema as initSchemaIdentityStorage,\n\ttype IdentityDocument\n} from \"@twin.org/identity-connector-entity-storage\";\nimport { IotaIdentityResolverConnector } from \"@twin.org/identity-connector-iota\";\nimport { UniversalResolverConnector } from \"@twin.org/identity-connector-universal\";\nimport { IdentityResolverConnectorFactory } from \"@twin.org/identity-models\";\nimport { IdentityResolverRestClient } from \"@twin.org/identity-rest-client\";\nimport { IdentityResolverService } from \"@twin.org/identity-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { IdentityResolverComponentConfig } from \"../models/config/identityResolverComponentConfig.js\";\nimport type { IdentityResolverConnectorConfig } from \"../models/config/identityResolverConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { IdentityResolverComponentType } from \"../models/types/identityResolverComponentType.js\";\nimport { IdentityResolverConnectorType } from \"../models/types/identityResolverConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the identity resolver 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 initialiseIdentityResolverConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityResolverConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof IdentityResolverConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === IdentityResolverConnectorType.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 IotaIdentityResolverConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\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 = IotaIdentityResolverConnector.NAMESPACE;\n\t} else if (instanceConfig.type === IdentityResolverConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaIdentityStorage({ includeProfile: false });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.didDocumentEntityStorageType,\n\t\t\t\tnameof<IdentityDocument>(),\n\t\t\t\t[]\n\t\t\t);\n\t\t\treturn new EntityStorageIdentityResolverConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ vaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageIdentityResolverConnector.NAMESPACE;\n\t} else if (instanceConfig.type === IdentityResolverConnectorType.Universal) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew UniversalResolverConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = UniversalResolverConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: IdentityResolverConnectorFactory\n\t};\n}\n\n/**\n * Initialise the identity resolver 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 initialiseIdentityResolverComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: IdentityResolverComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === IdentityResolverComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tconst defaultIdentityResolverType = engineCore.getRegisteredInstanceType(\n\t\t\t\t\"identityResolverConnector\"\n\t\t\t);\n\n\t\t\treturn new IdentityResolverService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tfallbackResolverConnectorType:\n\t\t\t\t\t\t\tdefaultIdentityResolverType !== IdentityResolverConnectorType.Universal\n\t\t\t\t\t\t\t\t? IdentityResolverConnectorType.Universal\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(IdentityResolverService);\n\t} else if (instanceConfig.type === IdentityResolverComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew IdentityResolverRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(IdentityResolverRestClient);\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"]}
@@ -6,6 +6,7 @@ import { ImmutableProofRestClient } from "@twin.org/immutable-proof-rest-client"
6
6
  import { ImmutableProofService, initSchema as initSchemaImmutableProof } from "@twin.org/immutable-proof-service";
7
7
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
8
  import { ImmutableProofComponentType } from "../models/types/immutableProofComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
9
10
  /**
10
11
  * Initialise the immutable proof component.
11
12
  * @param engineCore The engine core.
@@ -13,31 +14,33 @@ import { ImmutableProofComponentType } from "../models/types/immutableProofCompo
13
14
  * @param instanceConfig The instance config.
14
15
  * @returns The instance created and the factory for it.
15
16
  */
16
- export async function initialiseImmutableProofComponent(engineCore, context, instanceConfig) {
17
- let component;
18
- let instanceType;
17
+ export function initialiseImmutableProofComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
19
20
  if (instanceConfig.type === ImmutableProofComponentType.Service) {
20
- initSchemaImmutableProof();
21
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.immutableProofEntityStorageType, "ImmutableProof", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
22
- ContextIdKeys.Node,
23
- ContextIdKeys.Tenant
24
- ]));
25
- component = new ImmutableProofService({
26
- verifiableStorageType: engineCore.getRegisteredInstanceType("verifiableStorageConnector"),
27
- identityConnectorType: engineCore.getRegisteredInstanceType("identityConnector"),
28
- backgroundTaskConnectorType: engineCore.getRegisteredInstanceType("backgroundTaskConnector"),
29
- eventBusComponentType: engineCore.getRegisteredInstanceTypeOptional("eventBusComponent"),
30
- ...instanceConfig.options
31
- });
32
- instanceType = "immutable-proof-service";
21
+ createComponent = (createConfig) => {
22
+ initSchemaImmutableProof();
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.immutableProofEntityStorageType, "ImmutableProof", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
24
+ ContextIdKeys.Node,
25
+ ContextIdKeys.Tenant
26
+ ]));
27
+ return new ImmutableProofService(EngineTypeHelper.mergeConfig({
28
+ verifiableStorageType: engineCore.getRegisteredInstanceType("verifiableStorageConnector"),
29
+ identityConnectorType: engineCore.getRegisteredInstanceType("identityConnector"),
30
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
31
+ backgroundTaskComponentType: engineCore.getRegisteredInstanceType("backgroundTaskComponent"),
32
+ eventBusComponentType: engineCore.getRegisteredInstanceTypeOptional("eventBusComponent")
33
+ }, createConfig.options));
34
+ };
35
+ instanceTypeName = "immutable-proof-service";
33
36
  }
34
37
  else if (instanceConfig.type === ImmutableProofComponentType.RestClient) {
35
- component = new ImmutableProofRestClient(instanceConfig.options);
36
- instanceType = "immutable-proof-rest-client";
38
+ createComponent = (createConfig) => new ImmutableProofRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
39
+ instanceTypeName = "immutable-proof-rest-client";
37
40
  }
38
41
  return {
39
- component,
40
- instanceType,
42
+ createComponent: createComponent,
43
+ instanceTypeName,
41
44
  factory: ComponentFactory
42
45
  };
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"immutableProof.js","sourceRoot":"","sources":["../../../src/components/immutableProof.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,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAEN,qBAAqB,EACrB,UAAU,IAAI,wBAAwB,EACtC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,UAAsC,EACtC,OAA0C,EAC1C,cAA6C;IAM7C,IAAI,SAA+C,CAAC;IACpD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,OAAO,EAAE,CAAC;QACjE,wBAAwB,EAAE,CAAC;QAE3B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,+BAA+B,oBAEvD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QAEF,SAAS,GAAG,IAAI,qBAAqB,CAAC;YACrC,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,4BAA4B,CAAC;YACzF,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;YAChF,2BAA2B,EAAE,UAAU,CAAC,yBAAyB,CAAC,yBAAyB,CAAC;YAC5F,qBAAqB,EAAE,UAAU,CAAC,iCAAiC,CAAC,mBAAmB,CAAC;YACxF,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,4BAAyC,CAAC;IACvD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,UAAU,EAAE,CAAC;QAC3E,SAAS,GAAG,IAAI,wBAAwB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjE,YAAY,gCAA4C,CAAC;IAC1D,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 type { IImmutableProofComponent } from \"@twin.org/immutable-proof-models\";\nimport { ImmutableProofRestClient } from \"@twin.org/immutable-proof-rest-client\";\nimport {\n\ttype ImmutableProof,\n\tImmutableProofService,\n\tinitSchema as initSchemaImmutableProof\n} from \"@twin.org/immutable-proof-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { ImmutableProofComponentConfig } from \"../models/config/immutableProofComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { ImmutableProofComponentType } from \"../models/types/immutableProofComponentType.js\";\n\n/**\n * Initialise the immutable proof 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 initialiseImmutableProofComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: ImmutableProofComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IImmutableProofComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === ImmutableProofComponentType.Service) {\n\t\tinitSchemaImmutableProof();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.immutableProofEntityStorageType,\n\t\t\tnameof<ImmutableProof>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new ImmutableProofService({\n\t\t\tverifiableStorageType: engineCore.getRegisteredInstanceType(\"verifiableStorageConnector\"),\n\t\t\tidentityConnectorType: engineCore.getRegisteredInstanceType(\"identityConnector\"),\n\t\t\tbackgroundTaskConnectorType: engineCore.getRegisteredInstanceType(\"backgroundTaskConnector\"),\n\t\t\teventBusComponentType: engineCore.getRegisteredInstanceTypeOptional(\"eventBusComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(ImmutableProofService);\n\t} else if (instanceConfig.type === ImmutableProofComponentType.RestClient) {\n\t\tcomponent = new ImmutableProofRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(ImmutableProofRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"immutableProof.js","sourceRoot":"","sources":["../../../src/components/immutableProof.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAEN,qBAAqB,EACrB,UAAU,IAAI,wBAAwB,EACtC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,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,OAAO,EAAE,CAAC;QACjE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,wBAAwB,EAAE,CAAC;YAE3B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,+BAA+B,oBAErD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,qBAAqB,CAC/B,gBAAgB,CAAC,WAAW,CAC3B;gBACC,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAC1D,4BAA4B,CAC5B;gBACD,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;gBAChF,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;gBAC9E,2BAA2B,EAC1B,UAAU,CAAC,yBAAyB,CAAC,yBAAyB,CAAC;gBAChE,qBAAqB,EAAE,UAAU,CAAC,iCAAiC,CAAC,mBAAmB,CAAC;aACxF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,4BAAyC,CAAC;IAC3D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,UAAU,EAAE,CAAC;QAC3E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,wBAAwB,CAC3B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,gCAA4C,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { ImmutableProofRestClient } from \"@twin.org/immutable-proof-rest-client\";\nimport {\n\ttype ImmutableProof,\n\tImmutableProofService,\n\tinitSchema as initSchemaImmutableProof\n} from \"@twin.org/immutable-proof-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { ImmutableProofComponentConfig } from \"../models/config/immutableProofComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { ImmutableProofComponentType } from \"../models/types/immutableProofComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the immutable proof 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 initialiseImmutableProofComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: ImmutableProofComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === ImmutableProofComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaImmutableProof();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.immutableProofEntityStorageType,\n\t\t\t\tnameof<ImmutableProof>(),\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 ImmutableProofService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tverifiableStorageType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"verifiableStorageConnector\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tidentityConnectorType: engineCore.getRegisteredInstanceType(\"identityConnector\"),\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tbackgroundTaskComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceType(\"backgroundTaskComponent\"),\n\t\t\t\t\t\teventBusComponentType: engineCore.getRegisteredInstanceTypeOptional(\"eventBusComponent\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(ImmutableProofService);\n\t} else if (instanceConfig.type === ImmutableProofComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew ImmutableProofRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(ImmutableProofRestClient);\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"]}
@@ -10,6 +10,7 @@ import { LoggingService } from "@twin.org/logging-service";
10
10
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
11
11
  import { LoggingComponentType } from "../models/types/loggingComponentType.js";
12
12
  import { LoggingConnectorType } from "../models/types/loggingConnectorType.js";
13
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
13
14
  /**
14
15
  * Initialise the logging connector.
15
16
  * @param engineCore The engine core.
@@ -17,29 +18,31 @@ import { LoggingConnectorType } from "../models/types/loggingConnectorType.js";
17
18
  * @param instanceConfig The instance config.
18
19
  * @returns The instance created and the factory for it.
19
20
  */
20
- export async function initialiseLoggingConnector(engineCore, context, instanceConfig) {
21
- let component;
22
- let instanceType;
21
+ export function initialiseLoggingConnector(engineCore, context, instanceConfig) {
22
+ let createComponent;
23
+ let instanceTypeName;
23
24
  if (instanceConfig.type === LoggingConnectorType.Console) {
24
- component = new ConsoleLoggingConnector(instanceConfig.options);
25
- instanceType = ConsoleLoggingConnector.NAMESPACE;
25
+ createComponent = (createConfig) => new ConsoleLoggingConnector(EngineTypeHelper.mergeConfig(createConfig.options));
26
+ instanceTypeName = ConsoleLoggingConnector.NAMESPACE;
26
27
  }
27
28
  else if (instanceConfig.type === LoggingConnectorType.EntityStorage) {
28
- initSchemaLogging();
29
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.logEntryStorageConnectorType, "LogEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
30
- ContextIdKeys.Node,
31
- ContextIdKeys.Tenant
32
- ]));
33
- component = new EntityStorageLoggingConnector(instanceConfig.options);
34
- instanceType = EntityStorageLoggingConnector.NAMESPACE;
29
+ createComponent = (createConfig) => {
30
+ initSchemaLogging();
31
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.logEntryStorageConnectorType, "LogEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
32
+ ContextIdKeys.Node,
33
+ ContextIdKeys.Tenant
34
+ ]));
35
+ return new EntityStorageLoggingConnector(EngineTypeHelper.mergeConfig(createConfig.options));
36
+ };
37
+ instanceTypeName = EntityStorageLoggingConnector.NAMESPACE;
35
38
  }
36
39
  else if (instanceConfig.type === LoggingConnectorType.Multi) {
37
- component = new MultiLoggingConnector(instanceConfig.options);
38
- instanceType = MultiLoggingConnector.NAMESPACE;
40
+ createComponent = (createConfig) => new MultiLoggingConnector(EngineTypeHelper.mergeConfig(createConfig.options));
41
+ instanceTypeName = MultiLoggingConnector.NAMESPACE;
39
42
  }
40
43
  return {
41
- component,
42
- instanceType,
44
+ createComponent: createComponent,
45
+ instanceTypeName,
43
46
  factory: LoggingConnectorFactory
44
47
  };
45
48
  }
@@ -50,23 +53,20 @@ export async function initialiseLoggingConnector(engineCore, context, instanceCo
50
53
  * @param instanceConfig The instance config.
51
54
  * @returns The instance created and the factory for it.
52
55
  */
53
- export async function initialiseLoggingComponent(engineCore, context, instanceConfig) {
54
- let component;
55
- let instanceType;
56
+ export function initialiseLoggingComponent(engineCore, context, instanceConfig) {
57
+ let createComponent;
58
+ let instanceTypeName;
56
59
  if (instanceConfig.type === LoggingComponentType.Service) {
57
- component = new LoggingService({
58
- loggingConnectorType: engineCore.getRegisteredInstanceType("loggingConnector"),
59
- ...instanceConfig.options
60
- });
61
- instanceType = "logging-service";
60
+ createComponent = (createConfig) => new LoggingService(EngineTypeHelper.mergeConfig({ loggingConnectorType: engineCore.getRegisteredInstanceType("loggingConnector") }, createConfig.options));
61
+ instanceTypeName = "logging-service";
62
62
  }
63
63
  else if (instanceConfig.type === LoggingComponentType.RestClient) {
64
- component = new LoggingRestClient(instanceConfig.options);
65
- instanceType = "logging-rest-client";
64
+ createComponent = (createConfig) => new LoggingRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
65
+ instanceTypeName = "logging-rest-client";
66
66
  }
67
67
  return {
68
- component,
69
- instanceType,
68
+ createComponent: createComponent,
69
+ instanceTypeName,
70
70
  factory: ComponentFactory
71
71
  };
72
72
  }