@twin.org/engine-types 0.0.3-next.2 → 0.0.3-next.21

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 (396) hide show
  1. package/dist/es/components/attestation.js +20 -22
  2. package/dist/es/components/attestation.js.map +1 -1
  3. package/dist/es/components/auditableItemGraph.js +26 -22
  4. package/dist/es/components/auditableItemGraph.js.map +1 -1
  5. package/dist/es/components/auditableItemStream.js +26 -22
  6. package/dist/es/components/auditableItemStream.js.map +1 -1
  7. package/dist/es/components/backgroundTask.js +18 -18
  8. package/dist/es/components/backgroundTask.js.map +1 -1
  9. package/dist/es/components/blobStorage.js +69 -80
  10. package/dist/es/components/blobStorage.js.map +1 -1
  11. package/dist/es/components/contextIdHandler.js +31 -0
  12. package/dist/es/components/contextIdHandler.js.map +1 -0
  13. package/dist/es/components/dataProcessing.js +33 -32
  14. package/dist/es/components/dataProcessing.js.map +1 -1
  15. package/dist/es/components/dataSpaceConnector.js +26 -25
  16. package/dist/es/components/dataSpaceConnector.js.map +1 -1
  17. package/dist/es/components/documentManagement.js +12 -12
  18. package/dist/es/components/documentManagement.js.map +1 -1
  19. package/dist/es/components/entityStorage.js +20 -21
  20. package/dist/es/components/entityStorage.js.map +1 -1
  21. package/dist/es/components/eventBus.js +19 -27
  22. package/dist/es/components/eventBus.js.map +1 -1
  23. package/dist/es/components/faucet.js +18 -18
  24. package/dist/es/components/faucet.js.map +1 -1
  25. package/dist/es/components/federatedCatalogue.js +14 -18
  26. package/dist/es/components/federatedCatalogue.js.map +1 -1
  27. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  28. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  29. package/dist/es/components/identity.js +28 -31
  30. package/dist/es/components/identity.js.map +1 -1
  31. package/dist/es/components/identityProfile.js +26 -24
  32. package/dist/es/components/identityProfile.js.map +1 -1
  33. package/dist/es/components/identityResolver.js +36 -40
  34. package/dist/es/components/identityResolver.js.map +1 -1
  35. package/dist/es/components/immutableProof.js +23 -20
  36. package/dist/es/components/immutableProof.js.map +1 -1
  37. package/dist/es/components/logging.js +28 -28
  38. package/dist/es/components/logging.js.map +1 -1
  39. package/dist/es/components/messaging.js +77 -89
  40. package/dist/es/components/messaging.js.map +1 -1
  41. package/dist/es/components/nft.js +33 -33
  42. package/dist/es/components/nft.js.map +1 -1
  43. package/dist/es/components/rightsManagementPap.js +17 -17
  44. package/dist/es/components/rightsManagementPap.js.map +1 -1
  45. package/dist/es/components/rightsManagementPdp.js +11 -25
  46. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  47. package/dist/es/components/rightsManagementPep.js +12 -24
  48. package/dist/es/components/rightsManagementPep.js.map +1 -1
  49. package/dist/es/components/rightsManagementPip.js +9 -25
  50. package/dist/es/components/rightsManagementPip.js.map +1 -1
  51. package/dist/es/components/rightsManagementPmp.js +10 -10
  52. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  53. package/dist/es/components/rightsManagementPnap.js +20 -18
  54. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  55. package/dist/es/components/rightsManagementPnp.js +14 -36
  56. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  57. package/dist/es/components/rightsManagementPolicyArbiter.js +32 -0
  58. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  59. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  60. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  61. package/dist/es/components/rightsManagementPolicyExecutionAction.js +25 -0
  62. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  63. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  64. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  65. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  66. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  67. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  68. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  69. package/dist/es/components/rightsManagementPolicyRequester.js +25 -0
  70. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  71. package/dist/es/components/rightsManagementPxp.js +9 -25
  72. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  73. package/dist/es/components/synchronisedStorage.js +25 -23
  74. package/dist/es/components/synchronisedStorage.js.map +1 -1
  75. package/dist/es/components/taskScheduler.js +10 -10
  76. package/dist/es/components/taskScheduler.js.map +1 -1
  77. package/dist/es/components/telemetry.js +29 -32
  78. package/dist/es/components/telemetry.js.map +1 -1
  79. package/dist/es/components/tenant.js +12 -11
  80. package/dist/es/components/tenant.js.map +1 -1
  81. package/dist/es/components/trust.js +27 -0
  82. package/dist/es/components/trust.js.map +1 -0
  83. package/dist/es/components/trustGenerator.js +28 -0
  84. package/dist/es/components/trustGenerator.js.map +1 -0
  85. package/dist/es/components/trustVerifier.js +28 -0
  86. package/dist/es/components/trustVerifier.js.map +1 -0
  87. package/dist/es/components/vault.js +15 -12
  88. package/dist/es/components/vault.js.map +1 -1
  89. package/dist/es/components/verifiableStorage.js +32 -34
  90. package/dist/es/components/verifiableStorage.js.map +1 -1
  91. package/dist/es/components/wallet.js +23 -24
  92. package/dist/es/components/wallet.js.map +1 -1
  93. package/dist/es/index.js +38 -11
  94. package/dist/es/index.js.map +1 -1
  95. package/dist/es/models/IEngineConfig.js.map +1 -1
  96. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  97. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  98. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  99. package/dist/es/models/config/contextIdHandlerComponentConfig.js +2 -0
  100. package/dist/es/models/config/contextIdHandlerComponentConfig.js.map +1 -0
  101. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  102. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  103. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  104. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  105. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  106. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  107. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  108. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  109. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  110. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  111. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  112. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  113. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  114. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  115. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  116. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  117. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  118. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  119. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  120. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  121. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  122. package/dist/es/models/config/trustComponentConfig.js +2 -0
  123. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  125. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  127. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  128. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  129. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  130. package/dist/es/models/types/contextIdHandlerComponentType.js +17 -0
  131. package/dist/es/models/types/contextIdHandlerComponentType.js.map +1 -0
  132. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  133. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  134. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  135. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  136. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  137. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  138. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  139. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  140. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  141. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  142. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  143. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  144. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  145. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  146. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  147. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  148. package/dist/es/models/types/trustComponentType.js +13 -0
  149. package/dist/es/models/types/trustComponentType.js.map +1 -0
  150. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  151. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  152. package/dist/es/models/types/trustVerifierComponentType.js +13 -0
  153. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  154. package/dist/es/utils/engineTypeHelper.js +19 -1
  155. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  156. package/dist/types/components/attestation.d.ts +5 -13
  157. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  158. package/dist/types/components/auditableItemStream.d.ts +3 -7
  159. package/dist/types/components/backgroundTask.d.ts +5 -10
  160. package/dist/types/components/blobStorage.d.ts +4 -12
  161. package/dist/types/components/contextIdHandler.d.ts +12 -0
  162. package/dist/types/components/dataProcessing.d.ts +5 -17
  163. package/dist/types/components/dataSpaceConnector.d.ts +3 -7
  164. package/dist/types/components/documentManagement.d.ts +3 -7
  165. package/dist/types/components/entityStorage.d.ts +3 -7
  166. package/dist/types/components/eventBus.d.ts +4 -12
  167. package/dist/types/components/faucet.d.ts +2 -7
  168. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  169. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  170. package/dist/types/components/identity.d.ts +4 -12
  171. package/dist/types/components/identityProfile.d.ts +4 -12
  172. package/dist/types/components/identityResolver.d.ts +4 -12
  173. package/dist/types/components/immutableProof.d.ts +3 -7
  174. package/dist/types/components/logging.d.ts +4 -12
  175. package/dist/types/components/messaging.d.ts +7 -27
  176. package/dist/types/components/nft.d.ts +4 -12
  177. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  178. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  179. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  180. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  181. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  182. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  183. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  184. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  185. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  186. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  187. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  188. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  189. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  190. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  191. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  192. package/dist/types/components/synchronisedStorage.d.ts +3 -7
  193. package/dist/types/components/taskScheduler.d.ts +3 -7
  194. package/dist/types/components/telemetry.d.ts +4 -12
  195. package/dist/types/components/tenant.d.ts +3 -7
  196. package/dist/types/components/trust.d.ts +12 -0
  197. package/dist/types/components/trustGenerator.d.ts +12 -0
  198. package/dist/types/components/trustVerifier.d.ts +12 -0
  199. package/dist/types/components/vault.d.ts +2 -7
  200. package/dist/types/components/verifiableStorage.d.ts +4 -12
  201. package/dist/types/components/wallet.d.ts +2 -7
  202. package/dist/types/index.d.ts +38 -11
  203. package/dist/types/models/IEngineConfig.d.ts +57 -12
  204. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  205. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  206. package/dist/types/models/config/contextIdHandlerComponentConfig.d.ts +11 -0
  207. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  208. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  209. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  210. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  211. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  212. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  213. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  214. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  215. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  216. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  217. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  218. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  219. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  220. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  221. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  222. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +9 -0
  223. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  224. package/dist/types/models/types/contextIdHandlerComponentType.d.ts +17 -0
  225. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  226. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  227. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  228. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  229. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  230. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  231. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  232. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  233. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  234. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  235. package/dist/types/models/types/trustVerifierComponentType.d.ts +13 -0
  236. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  237. package/docs/changelog.md +330 -0
  238. package/docs/reference/classes/EngineTypeHelper.md +53 -0
  239. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  240. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  241. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  242. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  243. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  244. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  245. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  246. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +31 -0
  247. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  248. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  249. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  250. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +2 -2
  251. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  252. package/docs/reference/functions/initialiseEntityStorageComponent.md +2 -2
  253. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  254. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  255. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  256. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  257. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  258. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  259. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  260. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  261. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  262. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  263. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  264. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  265. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  266. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  267. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  268. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  269. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  270. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  271. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  272. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  273. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  274. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  275. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  276. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  277. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  278. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  279. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  280. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  281. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  282. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  283. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  284. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  285. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  286. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  287. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  288. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  289. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +2 -2
  290. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  291. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  292. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  293. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  294. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  295. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  296. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  297. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  298. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +2 -2
  299. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +2 -2
  300. package/docs/reference/functions/initialiseWalletConnector.md +2 -2
  301. package/docs/reference/index.md +52 -16
  302. package/docs/reference/interfaces/IEngineConfig.md +66 -12
  303. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  304. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  305. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  306. package/docs/reference/type-aliases/ContextIdHandlerComponentConfig.md +5 -0
  307. package/docs/reference/type-aliases/ContextIdHandlerComponentType.md +5 -0
  308. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  309. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  310. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +1 -7
  311. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +1 -7
  312. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +1 -7
  313. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  314. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  315. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  316. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  317. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  318. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  319. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  320. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  321. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  322. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  323. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  324. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  325. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  326. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  327. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  328. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +1 -7
  329. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  330. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  331. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  332. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  333. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +17 -0
  334. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  335. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  336. package/docs/reference/variables/ContextIdHandlerComponentType.md +19 -0
  337. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  338. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  339. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  340. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  341. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  342. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  343. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  344. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  345. package/docs/reference/variables/TrustComponentType.md +13 -0
  346. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  347. package/docs/reference/variables/TrustVerifierComponentType.md +13 -0
  348. package/package.json +10 -5
  349. package/dist/es/components/authenticationGenerator.js +0 -30
  350. package/dist/es/components/authenticationGenerator.js.map +0 -1
  351. package/dist/es/components/rightsManagementDap.js +0 -38
  352. package/dist/es/components/rightsManagementDap.js.map +0 -1
  353. package/dist/es/components/rightsManagementDarp.js +0 -29
  354. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  355. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  356. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  357. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  358. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  359. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  360. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  361. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  362. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  363. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  364. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  365. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  366. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  367. package/dist/es/models/types/rightsManagementDapComponentType.js +0 -17
  368. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  369. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  370. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  371. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  372. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  373. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  374. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  375. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  376. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  377. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  378. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  379. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  380. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  381. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  382. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  383. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  384. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  385. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  386. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  387. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  388. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  389. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  390. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  391. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  392. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  393. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  394. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  395. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  396. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
@@ -7,6 +7,7 @@ import { EventBusService } from "@twin.org/event-bus-service";
7
7
  import { EventBusSocketClient } from "@twin.org/event-bus-socket-client";
8
8
  import { EventBusComponentType } from "../models/types/eventBusComponentType.js";
9
9
  import { EventBusConnectorType } from "../models/types/eventBusConnectorType.js";
10
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
10
11
  /**
11
12
  * Initialise a event bus connector.
12
13
  * @param engineCore The engine core.
@@ -14,20 +15,17 @@ import { EventBusConnectorType } from "../models/types/eventBusConnectorType.js"
14
15
  * @param instanceConfig The instance config.
15
16
  * @returns The instance created and the factory for it.
16
17
  */
17
- export async function initialiseEventBusConnector(engineCore, context, instanceConfig) {
18
- let connector;
19
- let instanceType;
18
+ export function initialiseEventBusConnector(engineCore, context, instanceConfig) {
19
+ let createComponent;
20
+ let instanceTypeName;
20
21
  if (instanceConfig.type === EventBusConnectorType.Local) {
21
- connector = new LocalEventBusConnector({
22
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
23
- ...instanceConfig.options
24
- });
25
- instanceType = LocalEventBusConnector.NAMESPACE;
22
+ createComponent = (createConfig) => new LocalEventBusConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
23
+ instanceTypeName = LocalEventBusConnector.NAMESPACE;
26
24
  }
27
25
  return {
28
- instanceType,
29
- factory: EventBusConnectorFactory,
30
- component: connector
26
+ createComponent: createComponent,
27
+ instanceTypeName,
28
+ factory: EventBusConnectorFactory
31
29
  };
32
30
  }
33
31
  /**
@@ -37,27 +35,21 @@ export async function initialiseEventBusConnector(engineCore, context, instanceC
37
35
  * @param instanceConfig The instance config.
38
36
  * @returns The instance created and the factory for it.
39
37
  */
40
- export async function initialiseEventBusComponent(engineCore, context, instanceConfig) {
41
- let component;
42
- let instanceType;
38
+ export function initialiseEventBusComponent(engineCore, context, instanceConfig) {
39
+ let createComponent;
40
+ let instanceTypeName;
43
41
  if (instanceConfig.type === EventBusComponentType.Service) {
44
- component = new EventBusService({
45
- eventBusConnectorType: engineCore.getRegisteredInstanceType("eventBusConnector"),
46
- ...instanceConfig.options
47
- });
48
- instanceType = "event-bus-service";
42
+ createComponent = (createConfig) => new EventBusService(EngineTypeHelper.mergeConfig({ eventBusConnectorType: engineCore.getRegisteredInstanceType("eventBusConnector") }, createConfig.options));
43
+ instanceTypeName = "event-bus-service";
49
44
  }
50
45
  else if (instanceConfig.type === EventBusComponentType.SocketClient) {
51
- component = new EventBusSocketClient({
52
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
53
- ...instanceConfig.options
54
- });
55
- instanceType = "event-bus-socket-client";
46
+ createComponent = (createConfig) => new EventBusSocketClient(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
47
+ instanceTypeName = "event-bus-socket-client";
56
48
  }
57
49
  return {
58
- instanceType,
59
- factory: ComponentFactory,
60
- component
50
+ createComponent: createComponent,
51
+ instanceTypeName,
52
+ factory: ComponentFactory
61
53
  };
62
54
  }
63
55
  //# sourceMappingURL=eventBus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../src/components/eventBus.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACN,wBAAwB,EAGxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAKzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAMvC,IAAI,SAAyC,CAAC;IAC9C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACzD,SAAS,GAAG,IAAI,sBAAsB,CAAC;YACtC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,sBAAsB,CAAC,SAAS,CAAC;IACjD,CAAC;IAED,OAAO;QACN,YAAY;QACZ,OAAO,EAAE,wBAAwB;QACjC,SAAS,EAAE,SAAS;KACpB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAMvC,IAAI,SAAyC,CAAC;IAC9C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,EAAE,CAAC;QAC3D,SAAS,GAAG,IAAI,eAAe,CAAC;YAC/B,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;YAChF,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,sBAAmC,CAAC;IACjD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,YAAY,EAAE,CAAC;QACvE,SAAS,GAAG,IAAI,oBAAoB,CAAC;YACpC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,4BAAwC,CAAC;IACtD,CAAC;IAED,OAAO;QACN,YAAY;QACZ,OAAO,EAAE,gBAAgB;QACzB,SAAS;KACT,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 { LocalEventBusConnector } from \"@twin.org/event-bus-connector-local\";\nimport {\n\tEventBusConnectorFactory,\n\ttype IEventBusComponent,\n\ttype IEventBusConnector\n} from \"@twin.org/event-bus-models\";\nimport { EventBusService } from \"@twin.org/event-bus-service\";\nimport { EventBusSocketClient } from \"@twin.org/event-bus-socket-client\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { EventBusComponentConfig } from \"../models/config/eventBusComponentConfig.js\";\nimport type { EventBusConnectorConfig } from \"../models/config/eventBusConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { EventBusComponentType } from \"../models/types/eventBusComponentType.js\";\nimport { EventBusConnectorType } from \"../models/types/eventBusConnectorType.js\";\n\n/**\n * Initialise a event bus 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 initialiseEventBusConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: EventBusConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof EventBusConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet connector: IEventBusConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === EventBusConnectorType.Local) {\n\t\tconnector = new LocalEventBusConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = LocalEventBusConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tinstanceType,\n\t\tfactory: EventBusConnectorFactory,\n\t\tcomponent: connector\n\t};\n}\n\n/**\n * Initialise the event bus 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 initialiseEventBusComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: EventBusComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IEventBusComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === EventBusComponentType.Service) {\n\t\tcomponent = new EventBusService({\n\t\t\teventBusConnectorType: engineCore.getRegisteredInstanceType(\"eventBusConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(EventBusService);\n\t} else if (instanceConfig.type === EventBusComponentType.SocketClient) {\n\t\tcomponent = new EventBusSocketClient({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(EventBusSocketClient);\n\t}\n\n\treturn {\n\t\tinstanceType,\n\t\tfactory: ComponentFactory,\n\t\tcomponent\n\t};\n}\n"]}
1
+ {"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../src/components/eventBus.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAMnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAKzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAC1C,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAEvC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACzD,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,sBAAsB,CACzB,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,GAAG,sBAAsB,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,wBAAwB;KACjC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAC1C,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAEvC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,EAAE,CAAC;QAC3D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,eAAe,CAClB,gBAAgB,CAAC,WAAW,CAC3B,EAAE,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,EAAE,EACpF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,sBAAmC,CAAC;IACrD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,YAAY,EAAE,CAAC;QACvE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,oBAAoB,CACvB,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,4BAAwC,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { LocalEventBusConnector } from \"@twin.org/event-bus-connector-local\";\nimport { EventBusConnectorFactory } from \"@twin.org/event-bus-models\";\nimport { EventBusService } from \"@twin.org/event-bus-service\";\nimport { EventBusSocketClient } from \"@twin.org/event-bus-socket-client\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { EventBusComponentConfig } from \"../models/config/eventBusComponentConfig.js\";\nimport type { EventBusConnectorConfig } from \"../models/config/eventBusConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { EventBusComponentType } from \"../models/types/eventBusComponentType.js\";\nimport { EventBusConnectorType } from \"../models/types/eventBusConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a event bus 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 initialiseEventBusConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: EventBusConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof EventBusConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === EventBusConnectorType.Local) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew LocalEventBusConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = LocalEventBusConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: EventBusConnectorFactory\n\t};\n}\n\n/**\n * Initialise the event bus 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 initialiseEventBusComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: EventBusComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === EventBusComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew EventBusService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ eventBusConnectorType: engineCore.getRegisteredInstanceType(\"eventBusConnector\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(EventBusService);\n\t} else if (instanceConfig.type === EventBusComponentType.SocketClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew EventBusSocketClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(EventBusSocketClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -12,29 +12,29 @@ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
12
12
  * @param instanceConfig The instance config.
13
13
  * @returns The instance created and the factory for it.
14
14
  */
15
- export async function initialiseFaucetConnector(engineCore, context, instanceConfig) {
16
- let component;
17
- let instanceType;
15
+ export function initialiseFaucetConnector(engineCore, context, instanceConfig) {
16
+ let createComponent;
17
+ let instanceTypeName;
18
18
  if (instanceConfig.type === FaucetConnectorType.Iota) {
19
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
20
- component = new IotaFaucetConnector({
21
- ...instanceConfig.options,
22
- config: {
23
- ...dltConfig?.options?.config,
24
- ...instanceConfig.options.config
25
- }
26
- });
27
- instanceType = IotaFaucetConnector.NAMESPACE;
19
+ createComponent = (createConfig) => {
20
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
21
+ return new IotaFaucetConnector(EngineTypeHelper.mergeConfig({
22
+ config: dltConfig?.options?.config
23
+ }, createConfig.options));
24
+ };
25
+ instanceTypeName = IotaFaucetConnector.NAMESPACE;
28
26
  }
29
27
  else if (instanceConfig.type === FaucetConnectorType.EntityStorage) {
30
- initSchemaWallet();
31
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.walletAddressEntityStorageType, "WalletAddress", []);
32
- component = new EntityStorageFaucetConnector(instanceConfig.options);
33
- instanceType = EntityStorageFaucetConnector.NAMESPACE;
28
+ createComponent = (createConfig) => {
29
+ initSchemaWallet();
30
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.walletAddressEntityStorageType, "WalletAddress", []);
31
+ return new EntityStorageFaucetConnector(EngineTypeHelper.mergeConfig(createConfig.options));
32
+ };
33
+ instanceTypeName = EntityStorageFaucetConnector.NAMESPACE;
34
34
  }
35
35
  return {
36
- component,
37
- instanceType,
36
+ createComponent: createComponent,
37
+ instanceTypeName,
38
38
  factory: FaucetConnectorFactory
39
39
  };
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"faucet.js","sourceRoot":"","sources":["../../../src/components/faucet.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,4BAA4B,EAC5B,UAAU,IAAI,gBAAgB,EAE9B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAyB,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,UAAsC,EACtC,OAA0C,EAC1C,cAAqC;IAMrC,IAAI,SAAuC,CAAC;IAC5C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CACjD,UAAU,CAAC,SAAS,EAAE,EACtB,WAAW,EACX,aAAa,CAAC,IAAI,CAClB,CAAC;QACF,SAAS,GAAG,IAAI,mBAAmB,CAAC;YACnC,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,mBAAmB,CAAC,SAAS,CAAC;IAC9C,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,mBAAmB,CAAC,aAAa,EAAE,CAAC;QACtE,gBAAgB,EAAE,CAAC;QACnB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,8BAA8B,mBAEtD,EAAE,CACF,CAAC;QAEF,SAAS,GAAG,IAAI,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrE,YAAY,GAAG,4BAA4B,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,sBAAsB;KAC/B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageFaucetConnector,\n\tinitSchema as initSchemaWallet,\n\ttype WalletAddress\n} from \"@twin.org/wallet-connector-entity-storage\";\nimport { IotaFaucetConnector } from \"@twin.org/wallet-connector-iota\";\nimport { FaucetConnectorFactory, type IFaucetConnector } from \"@twin.org/wallet-models\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { FaucetConnectorConfig } from \"../models/config/faucetConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { FaucetConnectorType } from \"../models/types/faucetConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a faucet 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 initialiseFaucetConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: FaucetConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof FaucetConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IFaucetConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === FaucetConnectorType.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 IotaFaucetConnector({\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 = IotaFaucetConnector.NAMESPACE;\n\t} else if (instanceConfig.type === FaucetConnectorType.EntityStorage) {\n\t\tinitSchemaWallet();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.walletAddressEntityStorageType,\n\t\t\tnameof<WalletAddress>(),\n\t\t\t[]\n\t\t);\n\n\t\tcomponent = new EntityStorageFaucetConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageFaucetConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: FaucetConnectorFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"faucet.js","sourceRoot":"","sources":["../../../src/components/faucet.ts"],"names":[],"mappings":"AASA,OAAO,EACN,4BAA4B,EAC5B,UAAU,IAAI,gBAAgB,EAE9B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEN,mBAAmB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACxC,UAAsC,EACtC,OAA0C,EAC1C,cAAqC;IAErC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACtD,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CACjD,UAAU,CAAC,SAAS,EAAE,EACtB,WAAW,EACX,aAAa,CAAC,IAAI,CAClB,CAAC;YACF,OAAO,IAAI,mBAAmB,CAC7B,gBAAgB,CAAC,WAAW,CAC3B;gBACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAoC;aAChE,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC;IAClD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,mBAAmB,CAAC,aAAa,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,gBAAgB,EAAE,CAAC;YACnB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,8BAA8B,mBAEpD,EAAE,CACF,CAAC;YACF,OAAO,IAAI,4BAA4B,CACtC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,4BAA4B,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,sBAAsB;KAC/B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageFaucetConnector,\n\tinitSchema as initSchemaWallet,\n\ttype WalletAddress\n} from \"@twin.org/wallet-connector-entity-storage\";\nimport {\n\ttype IIotaFaucetConnectorConfig,\n\tIotaFaucetConnector\n} from \"@twin.org/wallet-connector-iota\";\nimport { FaucetConnectorFactory } from \"@twin.org/wallet-models\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { FaucetConnectorConfig } from \"../models/config/faucetConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { FaucetConnectorType } from \"../models/types/faucetConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a faucet 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 initialiseFaucetConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: FaucetConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof FaucetConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === FaucetConnectorType.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 IotaFaucetConnector(\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 as IIotaFaucetConnectorConfig\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 = IotaFaucetConnector.NAMESPACE;\n\t} else if (instanceConfig.type === FaucetConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaWallet();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.walletAddressEntityStorageType,\n\t\t\t\tnameof<WalletAddress>(),\n\t\t\t\t[]\n\t\t\t);\n\t\t\treturn new EntityStorageFaucetConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageFaucetConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: FaucetConnectorFactory\n\t};\n}\n"]}
@@ -6,6 +6,7 @@ import { FederatedCatalogueRestClient } from "@twin.org/federated-catalogue-rest
6
6
  import { FederatedCatalogueService, initSchema as initSchemaFederatedCatalogue } from "@twin.org/federated-catalogue-service";
7
7
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
8
  import { FederatedCatalogueComponentType } from "../models/types/federatedCatalogueComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
9
10
  /**
10
11
  * Initialise the federated catalogue component.
11
12
  * @param engineCore The engine core.
@@ -13,29 +14,24 @@ import { FederatedCatalogueComponentType } from "../models/types/federatedCatalo
13
14
  * @param instanceConfig The instance config.
14
15
  * @returns The instance created and the factory for it.
15
16
  */
16
- export async function initialiseFederatedCatalogueComponent(engineCore, context, instanceConfig) {
17
- let component;
18
- let instanceType;
17
+ export function initialiseFederatedCatalogueComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
19
20
  if (instanceConfig.type === FederatedCatalogueComponentType.Service) {
20
- initSchemaFederatedCatalogue();
21
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataResourceEntityStorageType, "DataResourceEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
22
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.participantEntityStorageType, "ParticipantEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
23
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.serviceOfferingEntityStorageType, "ServiceOfferingEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
24
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataSpaceConnectorStorageType, "DataSpaceConnectorEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
25
- component = new FederatedCatalogueService({
26
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
27
- identityResolverComponentType: engineCore.getRegisteredInstanceType("identityResolverComponent"),
28
- ...instanceConfig.options
29
- });
30
- instanceType = "federated-catalogue-service";
21
+ createComponent = (createConfig) => {
22
+ initSchemaFederatedCatalogue();
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.datasetStorageConnectorType, "Dataset", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
24
+ return new FederatedCatalogueService(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
25
+ };
26
+ instanceTypeName = "federated-catalogue-service";
31
27
  }
32
28
  else if (instanceConfig.type === FederatedCatalogueComponentType.RestClient) {
33
- component = new FederatedCatalogueRestClient(instanceConfig.options);
34
- instanceType = "federated-catalogue-rest-client";
29
+ createComponent = (createConfig) => new FederatedCatalogueRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
30
+ instanceTypeName = "federated-catalogue-rest-client";
35
31
  }
36
32
  return {
37
- component,
38
- instanceType,
33
+ createComponent: createComponent,
34
+ instanceTypeName,
39
35
  factory: ComponentFactory
40
36
  };
41
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"federatedCatalogue.js","sourceRoot":"","sources":["../../../src/components/federatedCatalogue.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,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAGN,yBAAyB,EACzB,UAAU,IAAI,4BAA4B,EAG1C,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAErG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAC1D,UAAsC,EACtC,OAA0C,EAC1C,cAAiD;IAMjD,IAAI,SAAmD,CAAC;IACxD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,OAAO,EAAE,CAAC;QACrE,4BAA4B,EAAE,CAAC;QAE/B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,6BAA6B,uBAErD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,4BAA4B,sBAEpD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,gCAAgC,0BAExD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,6BAA6B,6BAErD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;QAEF,SAAS,GAAG,IAAI,yBAAyB,CAAC;YACzC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,6BAA6B,EAAE,UAAU,CAAC,yBAAyB,CAClE,2BAA2B,CAC3B;YACD,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,gCAA6C,CAAC;IAC3D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,UAAU,EAAE,CAAC;QAC/E,SAAS,GAAG,IAAI,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrE,YAAY,oCAAgD,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { 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 { IFederatedCatalogueComponent } from \"@twin.org/federated-catalogue-models\";\nimport { FederatedCatalogueRestClient } from \"@twin.org/federated-catalogue-rest-client\";\nimport {\n\ttype DataResourceEntry,\n\ttype DataSpaceConnectorEntry,\n\tFederatedCatalogueService,\n\tinitSchema as initSchemaFederatedCatalogue,\n\ttype ParticipantEntry,\n\ttype ServiceOfferingEntry\n} from \"@twin.org/federated-catalogue-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { FederatedCatalogueComponentConfig } from \"../models/config/federatedCatalogueComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { FederatedCatalogueComponentType } from \"../models/types/federatedCatalogueComponentType.js\";\n\n/**\n * Initialise the federated catalogue 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 initialiseFederatedCatalogueComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: FederatedCatalogueComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IFederatedCatalogueComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === FederatedCatalogueComponentType.Service) {\n\t\tinitSchemaFederatedCatalogue();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.dataResourceEntityStorageType,\n\t\t\tnameof<DataResourceEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.participantEntityStorageType,\n\t\t\tnameof<ParticipantEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.serviceOfferingEntityStorageType,\n\t\t\tnameof<ServiceOfferingEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.dataSpaceConnectorStorageType,\n\t\t\tnameof<DataSpaceConnectorEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t);\n\n\t\tcomponent = new FederatedCatalogueService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tidentityResolverComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"identityResolverComponent\"\n\t\t\t),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(FederatedCatalogueService);\n\t} else if (instanceConfig.type === FederatedCatalogueComponentType.RestClient) {\n\t\tcomponent = new FederatedCatalogueRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(FederatedCatalogueRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"federatedCatalogue.js","sourceRoot":"","sources":["../../../src/components/federatedCatalogue.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,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAEN,yBAAyB,EACzB,UAAU,IAAI,4BAA4B,EAC1C,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,qCAAqC,CACpD,UAAsC,EACtC,OAA0C,EAC1C,cAAiD;IAEjD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,OAAO,EAAE,CAAC;QACrE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,4BAA4B,EAAE,CAAC;YAC/B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,2BAA2B,aAEjD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,IAAI,yBAAyB,CACnC,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,gCAA6C,CAAC;IAC/D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,UAAU,EAAE,CAAC;QAC/E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,4BAA4B,CAC/B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,oCAAgD,CAAC;IAClE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAEhB,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 { FederatedCatalogueRestClient } from \"@twin.org/federated-catalogue-rest-client\";\nimport {\n\ttype Dataset,\n\tFederatedCatalogueService,\n\tinitSchema as initSchemaFederatedCatalogue\n} from \"@twin.org/federated-catalogue-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { FederatedCatalogueComponentConfig } from \"../models/config/federatedCatalogueComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { FederatedCatalogueComponentType } from \"../models/types/federatedCatalogueComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the federated catalogue 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 initialiseFederatedCatalogueComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: FederatedCatalogueComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === FederatedCatalogueComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaFederatedCatalogue();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.datasetStorageConnectorType,\n\t\t\t\tnameof<Dataset>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new FederatedCatalogueService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(FederatedCatalogueService);\n\t} else if (instanceConfig.type === FederatedCatalogueComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew FederatedCatalogueRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(FederatedCatalogueRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,34 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
4
+ import { FilterByExample } from "@twin.org/federated-catalogue-filters";
5
+ import { FederatedCatalogueFilterFactory } from "@twin.org/federated-catalogue-models";
6
+ import { initSchema as initSchemaFederatedCatalogue } from "@twin.org/federated-catalogue-service";
7
+ import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
+ import { FederatedCatalogueFilterComponentType } from "../models/types/federatedCatalogueFilterComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
10
+ /**
11
+ * Initialise the federated catalogue filter component.
12
+ * @param engineCore The engine core.
13
+ * @param context The context for the engine.
14
+ * @param instanceConfig The instance config.
15
+ * @returns The instance created and the factory for it.
16
+ */
17
+ export function initialiseFederatedCatalogueFilterComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
20
+ if (instanceConfig.type === FederatedCatalogueFilterComponentType.FilterByExample) {
21
+ createComponent = (createConfig) => {
22
+ initSchemaFederatedCatalogue();
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.datasetStorageConnectorType, "Dataset", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
24
+ return new FilterByExample(EngineTypeHelper.mergeConfig(createConfig.options));
25
+ };
26
+ instanceTypeName = "FilterByExample";
27
+ }
28
+ return {
29
+ createComponent: createComponent,
30
+ instanceTypeName,
31
+ factory: FederatedCatalogueFilterFactory
32
+ };
33
+ }
34
+ //# sourceMappingURL=federatedCatalogueFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federatedCatalogueFilter.js","sourceRoot":"","sources":["../../../src/components/federatedCatalogueFilter.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOnE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAEN,UAAU,IAAI,4BAA4B,EAC1C,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,qCAAqC,EAAE,MAAM,0DAA0D,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,2CAA2C,CAC1D,UAAsC,EACtC,OAA0C,EAC1C,cAAuD;IAEvD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,qCAAqC,CAAC,eAAe,EAAE,CAAC;QACnF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,4BAA4B,EAAE,CAAC;YAE/B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,2BAA2B,aAEjD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,IAAI,eAAe,CACzB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,oBAA0B,CAAC;IAC5C,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,+BAA+B;KACxC,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { FilterByExample } from \"@twin.org/federated-catalogue-filters\";\nimport { FederatedCatalogueFilterFactory } from \"@twin.org/federated-catalogue-models\";\nimport {\n\ttype Dataset,\n\tinitSchema as initSchemaFederatedCatalogue\n} from \"@twin.org/federated-catalogue-service\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { FederatedCatalogueFilterComponentConfig } from \"../models/config/federatedCatalogueFilterComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { FederatedCatalogueFilterComponentType } from \"../models/types/federatedCatalogueFilterComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the federated catalogue filter 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 initialiseFederatedCatalogueFilterComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: FederatedCatalogueFilterComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof FederatedCatalogueFilterFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === FederatedCatalogueFilterComponentType.FilterByExample) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaFederatedCatalogue();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.datasetStorageConnectorType,\n\t\t\t\tnameof<Dataset>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new FilterByExample(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameof(FilterByExample);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: FederatedCatalogueFilterFactory\n\t};\n}\n"]}
@@ -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":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EACN,8BAA8B,EAC9B,UAAU,IAAI,yBAAyB,EAEvC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EACN,wBAAwB,EAGxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAKtE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAMvC,IAAI,SAAyC,CAAC;IAC9C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CACjD,UAAU,CAAC,SAAS,EAAE,EACtB,WAAW,EACX,aAAa,CAAC,IAAI,CAClB,CAAC;QACF,SAAS,GAAG,IAAI,qBAAqB,CAAC;YACrC,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;YAC1E,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,qBAAqB,CAAC,SAAS,CAAC;IAChD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,aAAa,EAAE,CAAC;QACxE,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,8BAA8B,CAAC;YAC9C,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;YAC1E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,8BAA8B,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,wBAAwB;KACjC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAMvC,IAAI,SAAyC,CAAC;IAC9C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,EAAE,CAAC;QAC3D,SAAS,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,YAAY,qBAAmC,CAAC;IACjD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,UAAU,EAAE,CAAC;QACrE,SAAS,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3D,YAAY,yBAAsC,CAAC;IACpD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { 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":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EACN,8BAA8B,EAC9B,UAAU,IAAI,yBAAyB,EAEvC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAKtE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAC1C,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAEvC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACxD,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CACjD,UAAU,CAAC,SAAS,EAAE,EACtB,WAAW,EACX,aAAa,CAAC,IAAI,CAClB,CAAC;YACF,OAAO,IAAI,qBAAqB,CAC/B,gBAAgB,CAAC,WAAW,CAC3B;gBACC,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;gBAC1E,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;aAClC,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,CAAC;IACpD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,aAAa,EAAE,CAAC;QACxE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,yBAAyB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,4BAA4B,sBAElD,EAAE,CACF,CAAC;YACF,OAAO,IAAI,8BAA8B,CACxC,gBAAgB,CAAC,WAAW,CAC3B,EAAE,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,EAC9E,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,8BAA8B,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,wBAAwB;KACjC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAC1C,UAAsC,EACtC,OAA0C,EAC1C,cAAuC;IAEvC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,EAAE,CAAC;QAC3D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,eAAe,CAClB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,qBAAmC,CAAC;IACrD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,UAAU,EAAE,CAAC;QACrE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,kBAAkB,CACrB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,yBAAsC,CAAC;IACxD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { 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"]}