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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/README.md +1 -1
  2. package/dist/es/components/attestation.js +20 -22
  3. package/dist/es/components/attestation.js.map +1 -1
  4. package/dist/es/components/auditableItemGraph.js +26 -22
  5. package/dist/es/components/auditableItemGraph.js.map +1 -1
  6. package/dist/es/components/auditableItemStream.js +26 -22
  7. package/dist/es/components/auditableItemStream.js.map +1 -1
  8. package/dist/es/components/backgroundTask.js +18 -18
  9. package/dist/es/components/backgroundTask.js.map +1 -1
  10. package/dist/es/components/blobStorage.js +69 -80
  11. package/dist/es/components/blobStorage.js.map +1 -1
  12. package/dist/es/components/contextIdHandler.js +31 -0
  13. package/dist/es/components/contextIdHandler.js.map +1 -0
  14. package/dist/es/components/dataProcessing.js +33 -32
  15. package/dist/es/components/dataProcessing.js.map +1 -1
  16. package/dist/es/components/dataspaceControlPlane.js +54 -0
  17. package/dist/es/components/dataspaceControlPlane.js.map +1 -0
  18. package/dist/es/components/dataspaceDataPlane.js +58 -0
  19. package/dist/es/components/dataspaceDataPlane.js.map +1 -0
  20. package/dist/es/components/documentManagement.js +12 -12
  21. package/dist/es/components/documentManagement.js.map +1 -1
  22. package/dist/es/components/entityStorage.js +48 -47
  23. package/dist/es/components/entityStorage.js.map +1 -1
  24. package/dist/es/components/eventBus.js +19 -27
  25. package/dist/es/components/eventBus.js.map +1 -1
  26. package/dist/es/components/faucet.js +18 -18
  27. package/dist/es/components/faucet.js.map +1 -1
  28. package/dist/es/components/federatedCatalogue.js +14 -18
  29. package/dist/es/components/federatedCatalogue.js.map +1 -1
  30. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  31. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  32. package/dist/es/components/identity.js +28 -31
  33. package/dist/es/components/identity.js.map +1 -1
  34. package/dist/es/components/identityProfile.js +26 -24
  35. package/dist/es/components/identityProfile.js.map +1 -1
  36. package/dist/es/components/identityResolver.js +36 -40
  37. package/dist/es/components/identityResolver.js.map +1 -1
  38. package/dist/es/components/immutableProof.js +23 -20
  39. package/dist/es/components/immutableProof.js.map +1 -1
  40. package/dist/es/components/logging.js +28 -28
  41. package/dist/es/components/logging.js.map +1 -1
  42. package/dist/es/components/messaging.js +77 -89
  43. package/dist/es/components/messaging.js.map +1 -1
  44. package/dist/es/components/nft.js +33 -33
  45. package/dist/es/components/nft.js.map +1 -1
  46. package/dist/es/components/notarization.js +78 -0
  47. package/dist/es/components/notarization.js.map +1 -0
  48. package/dist/es/components/rightsManagementPap.js +17 -17
  49. package/dist/es/components/rightsManagementPap.js.map +1 -1
  50. package/dist/es/components/rightsManagementPdp.js +11 -25
  51. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  52. package/dist/es/components/rightsManagementPep.js +12 -24
  53. package/dist/es/components/rightsManagementPep.js.map +1 -1
  54. package/dist/es/components/rightsManagementPip.js +9 -25
  55. package/dist/es/components/rightsManagementPip.js.map +1 -1
  56. package/dist/es/components/rightsManagementPmp.js +10 -10
  57. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  58. package/dist/es/components/rightsManagementPnap.js +21 -18
  59. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  60. package/dist/es/components/rightsManagementPnp.js +14 -36
  61. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  62. package/dist/es/components/rightsManagementPolicyArbiter.js +32 -0
  63. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  64. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  65. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  66. package/dist/es/components/rightsManagementPolicyExecutionAction.js +25 -0
  67. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  68. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  69. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  70. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  71. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  72. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  73. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  74. package/dist/es/components/rightsManagementPolicyRequester.js +25 -0
  75. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  76. package/dist/es/components/rightsManagementPxp.js +9 -25
  77. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  78. package/dist/es/components/synchronisedStorage.js +25 -23
  79. package/dist/es/components/synchronisedStorage.js.map +1 -1
  80. package/dist/es/components/taskScheduler.js +17 -11
  81. package/dist/es/components/taskScheduler.js.map +1 -1
  82. package/dist/es/components/telemetry.js +29 -32
  83. package/dist/es/components/telemetry.js.map +1 -1
  84. package/dist/es/components/tenant.js +12 -11
  85. package/dist/es/components/tenant.js.map +1 -1
  86. package/dist/es/components/trust.js +27 -0
  87. package/dist/es/components/trust.js.map +1 -0
  88. package/dist/es/components/trustGenerator.js +28 -0
  89. package/dist/es/components/trustGenerator.js.map +1 -0
  90. package/dist/es/components/trustVerifier.js +28 -0
  91. package/dist/es/components/trustVerifier.js.map +1 -0
  92. package/dist/es/components/vault.js +15 -12
  93. package/dist/es/components/vault.js.map +1 -1
  94. package/dist/es/components/verifiableStorage.js +32 -34
  95. package/dist/es/components/verifiableStorage.js.map +1 -1
  96. package/dist/es/components/wallet.js +23 -24
  97. package/dist/es/components/wallet.js.map +1 -1
  98. package/dist/es/index.js +49 -14
  99. package/dist/es/index.js.map +1 -1
  100. package/dist/es/models/IEngineConfig.js.map +1 -1
  101. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  102. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  103. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  104. package/dist/es/models/config/contextIdHandlerComponentConfig.js +2 -0
  105. package/dist/es/models/config/contextIdHandlerComponentConfig.js.map +1 -0
  106. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js +2 -0
  107. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js.map +1 -0
  108. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js +2 -0
  109. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js.map +1 -0
  110. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  111. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  112. package/dist/es/models/config/notarizationComponentConfig.js +2 -0
  113. package/dist/es/models/config/notarizationComponentConfig.js.map +1 -0
  114. package/dist/es/models/config/notarizationConnectorConfig.js +2 -0
  115. package/dist/es/models/config/notarizationConnectorConfig.js.map +1 -0
  116. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  117. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  118. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  119. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  120. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  121. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  122. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  123. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  125. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  127. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  128. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  129. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  130. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  131. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  132. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  133. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  134. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  135. package/dist/es/models/config/trustComponentConfig.js +2 -0
  136. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  137. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  138. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  139. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  140. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  141. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  142. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  143. package/dist/es/models/types/contextIdHandlerComponentType.js +17 -0
  144. package/dist/es/models/types/contextIdHandlerComponentType.js.map +1 -0
  145. package/dist/es/models/types/dataspaceControlPlaneComponentType.js +17 -0
  146. package/dist/es/models/types/dataspaceControlPlaneComponentType.js.map +1 -0
  147. package/dist/es/models/types/{dataSpaceConnectorComponentType.js → dataspaceDataPlaneComponentType.js} +4 -4
  148. package/dist/es/models/types/dataspaceDataPlaneComponentType.js.map +1 -0
  149. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  150. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  151. package/dist/es/models/types/{rightsManagementDapComponentType.js → notarizationComponentType.js} +4 -4
  152. package/dist/es/models/types/notarizationComponentType.js.map +1 -0
  153. package/dist/es/models/types/notarizationConnectorType.js +17 -0
  154. package/dist/es/models/types/notarizationConnectorType.js.map +1 -0
  155. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  156. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  157. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  158. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  159. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  160. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  161. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  162. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  163. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  164. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  165. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  166. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  167. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  168. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  169. package/dist/es/models/types/trustComponentType.js +13 -0
  170. package/dist/es/models/types/trustComponentType.js.map +1 -0
  171. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  172. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  173. package/dist/es/models/types/trustVerifierComponentType.js +13 -0
  174. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  175. package/dist/es/utils/engineTypeHelper.js +19 -1
  176. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  177. package/dist/types/components/attestation.d.ts +5 -13
  178. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  179. package/dist/types/components/auditableItemStream.d.ts +3 -7
  180. package/dist/types/components/backgroundTask.d.ts +5 -10
  181. package/dist/types/components/blobStorage.d.ts +4 -12
  182. package/dist/types/components/contextIdHandler.d.ts +12 -0
  183. package/dist/types/components/dataProcessing.d.ts +5 -17
  184. package/dist/types/components/dataspaceControlPlane.d.ts +12 -0
  185. package/dist/types/components/dataspaceDataPlane.d.ts +12 -0
  186. package/dist/types/components/documentManagement.d.ts +3 -7
  187. package/dist/types/components/entityStorage.d.ts +4 -9
  188. package/dist/types/components/eventBus.d.ts +4 -12
  189. package/dist/types/components/faucet.d.ts +2 -7
  190. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  191. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  192. package/dist/types/components/identity.d.ts +4 -12
  193. package/dist/types/components/identityProfile.d.ts +4 -12
  194. package/dist/types/components/identityResolver.d.ts +4 -12
  195. package/dist/types/components/immutableProof.d.ts +3 -7
  196. package/dist/types/components/logging.d.ts +4 -12
  197. package/dist/types/components/messaging.d.ts +7 -27
  198. package/dist/types/components/nft.d.ts +4 -12
  199. package/dist/types/components/notarization.d.ts +22 -0
  200. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  201. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  202. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  203. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  204. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  205. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  206. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  207. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  208. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  209. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  210. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  211. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  212. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  213. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  214. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  215. package/dist/types/components/synchronisedStorage.d.ts +3 -7
  216. package/dist/types/components/taskScheduler.d.ts +3 -7
  217. package/dist/types/components/telemetry.d.ts +4 -12
  218. package/dist/types/components/tenant.d.ts +3 -7
  219. package/dist/types/components/trust.d.ts +12 -0
  220. package/dist/types/components/trustGenerator.d.ts +12 -0
  221. package/dist/types/components/trustVerifier.d.ts +12 -0
  222. package/dist/types/components/vault.d.ts +2 -7
  223. package/dist/types/components/verifiableStorage.d.ts +4 -12
  224. package/dist/types/components/wallet.d.ts +2 -7
  225. package/dist/types/index.d.ts +49 -14
  226. package/dist/types/models/IEngineConfig.d.ts +75 -15
  227. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  228. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  229. package/dist/types/models/config/contextIdHandlerComponentConfig.d.ts +11 -0
  230. package/dist/types/models/config/dataspaceControlPlaneComponentConfig.d.ts +13 -0
  231. package/dist/types/models/config/dataspaceDataPlaneComponentConfig.d.ts +17 -0
  232. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  233. package/dist/types/models/config/notarizationComponentConfig.d.ts +13 -0
  234. package/dist/types/models/config/notarizationConnectorConfig.d.ts +13 -0
  235. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  236. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  237. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  238. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  239. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  240. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  241. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  242. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  243. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  244. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  245. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  246. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  247. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  248. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  249. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +9 -0
  250. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  251. package/dist/types/models/types/contextIdHandlerComponentType.d.ts +17 -0
  252. package/dist/types/models/types/dataspaceControlPlaneComponentType.d.ts +17 -0
  253. package/dist/types/models/types/dataspaceDataPlaneComponentType.d.ts +21 -0
  254. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  255. package/dist/types/models/types/notarizationComponentType.d.ts +17 -0
  256. package/dist/types/models/types/notarizationConnectorType.d.ts +17 -0
  257. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  258. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  259. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  260. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  261. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  262. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  263. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  264. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  265. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  266. package/dist/types/models/types/trustVerifierComponentType.d.ts +13 -0
  267. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  268. package/docs/changelog.md +516 -1
  269. package/docs/examples.md +74 -1
  270. package/docs/reference/classes/EngineTypeHelper.md +57 -4
  271. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  272. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  273. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  274. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  275. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  276. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  277. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  278. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +31 -0
  279. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  280. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  281. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  282. package/docs/reference/functions/initialiseDataspaceControlPlaneComponent.md +31 -0
  283. package/docs/reference/functions/initialiseDataspaceDataPlaneComponent.md +31 -0
  284. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  285. package/docs/reference/functions/initialiseEntityStorageComponent.md +2 -2
  286. package/docs/reference/functions/initialiseEntityStorageConnector.md +4 -6
  287. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  288. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  289. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  290. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  291. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  292. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  293. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  294. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  295. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  296. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  297. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  298. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  299. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  300. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  301. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  302. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  303. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  304. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  305. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  306. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  307. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  308. package/docs/reference/functions/initialiseNotarizationComponent.md +31 -0
  309. package/docs/reference/functions/initialiseNotarizationConnector.md +31 -0
  310. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  311. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  312. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  313. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  314. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  315. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  316. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  317. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  318. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  319. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  320. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  321. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  322. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  323. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  324. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  325. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +2 -2
  326. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  327. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  328. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  329. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  330. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  331. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  332. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  333. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  334. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +2 -2
  335. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +2 -2
  336. package/docs/reference/functions/initialiseWalletConnector.md +2 -2
  337. package/docs/reference/index.md +68 -20
  338. package/docs/reference/interfaces/IEngineConfig.md +175 -67
  339. package/docs/reference/type-aliases/AttestationConnectorConfig.md +3 -3
  340. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  341. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  342. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  343. package/docs/reference/type-aliases/ContextIdHandlerComponentConfig.md +5 -0
  344. package/docs/reference/type-aliases/ContextIdHandlerComponentType.md +5 -0
  345. package/docs/reference/type-aliases/DataExtractorConnectorConfig.md +3 -3
  346. package/docs/reference/type-aliases/DataspaceControlPlaneComponentConfig.md +5 -0
  347. package/docs/reference/type-aliases/DataspaceControlPlaneComponentType.md +5 -0
  348. package/docs/reference/type-aliases/DataspaceDataPlaneComponentConfig.md +5 -0
  349. package/docs/reference/type-aliases/DataspaceDataPlaneComponentType.md +5 -0
  350. package/docs/reference/type-aliases/DltConfig.md +4 -4
  351. package/docs/reference/type-aliases/EventBusConnectorConfig.md +3 -3
  352. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  353. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  354. package/docs/reference/type-aliases/IdentityProfileConnectorConfig.md +3 -3
  355. package/docs/reference/type-aliases/MessagingAdminComponentConfig.md +3 -3
  356. package/docs/reference/type-aliases/MessagingComponentConfig.md +3 -3
  357. package/docs/reference/type-aliases/NotarizationComponentConfig.md +5 -0
  358. package/docs/reference/type-aliases/NotarizationComponentType.md +5 -0
  359. package/docs/reference/type-aliases/NotarizationConnectorConfig.md +5 -0
  360. package/docs/reference/type-aliases/NotarizationConnectorType.md +5 -0
  361. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +3 -9
  362. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +3 -9
  363. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +3 -9
  364. package/docs/reference/type-aliases/RightsManagementPmpComponentConfig.md +3 -3
  365. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  366. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  367. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  368. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  369. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  370. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  371. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  372. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  373. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  374. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  375. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  376. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  377. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  378. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  379. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  380. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +3 -9
  381. package/docs/reference/type-aliases/TaskSchedulerComponentConfig.md +3 -3
  382. package/docs/reference/type-aliases/TelemetryConnectorConfig.md +3 -3
  383. package/docs/reference/type-aliases/TenantAdminComponentConfig.md +3 -3
  384. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  385. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  386. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  387. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  388. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +17 -0
  389. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  390. package/docs/reference/variables/AttestationComponentType.md +2 -2
  391. package/docs/reference/variables/AttestationConnectorType.md +1 -1
  392. package/docs/reference/variables/AuditableItemGraphComponentType.md +2 -2
  393. package/docs/reference/variables/AuditableItemStreamComponentType.md +2 -2
  394. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  395. package/docs/reference/variables/BlobStorageComponentType.md +2 -2
  396. package/docs/reference/variables/BlobStorageConnectorType.md +6 -6
  397. package/docs/reference/variables/ContextIdHandlerComponentType.md +19 -0
  398. package/docs/reference/variables/DataConverterConnectorType.md +2 -2
  399. package/docs/reference/variables/DataExtractorConnectorType.md +1 -1
  400. package/docs/reference/variables/DataProcessingComponentType.md +2 -2
  401. package/docs/reference/variables/DataspaceControlPlaneComponentType.md +19 -0
  402. package/docs/reference/variables/{DataSpaceConnectorComponentType.md → DataspaceDataPlaneComponentType.md} +6 -6
  403. package/docs/reference/variables/DltConfigType.md +1 -1
  404. package/docs/reference/variables/DocumentManagementComponentType.md +2 -2
  405. package/docs/reference/variables/EntityStorageComponentType.md +2 -2
  406. package/docs/reference/variables/EntityStorageConnectorType.md +10 -10
  407. package/docs/reference/variables/EventBusComponentType.md +2 -2
  408. package/docs/reference/variables/EventBusConnectorType.md +1 -1
  409. package/docs/reference/variables/FaucetConnectorType.md +2 -2
  410. package/docs/reference/variables/FederatedCatalogueComponentType.md +2 -2
  411. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  412. package/docs/reference/variables/IdentityComponentType.md +2 -2
  413. package/docs/reference/variables/IdentityConnectorType.md +2 -2
  414. package/docs/reference/variables/IdentityProfileComponentType.md +2 -2
  415. package/docs/reference/variables/IdentityProfileConnectorType.md +1 -1
  416. package/docs/reference/variables/IdentityResolverComponentType.md +2 -2
  417. package/docs/reference/variables/IdentityResolverConnectorType.md +3 -3
  418. package/docs/reference/variables/ImmutableProofComponentType.md +2 -2
  419. package/docs/reference/variables/LoggingComponentType.md +2 -2
  420. package/docs/reference/variables/LoggingConnectorType.md +3 -3
  421. package/docs/reference/variables/MessagingAdminComponentType.md +1 -1
  422. package/docs/reference/variables/MessagingComponentType.md +1 -1
  423. package/docs/reference/variables/MessagingEmailConnectorType.md +2 -2
  424. package/docs/reference/variables/MessagingPushNotificationConnectorType.md +2 -2
  425. package/docs/reference/variables/MessagingSmsConnectorType.md +2 -2
  426. package/docs/reference/variables/NftComponentType.md +2 -2
  427. package/docs/reference/variables/NftConnectorType.md +2 -2
  428. package/docs/reference/variables/NotarizationComponentType.md +19 -0
  429. package/docs/reference/variables/NotarizationConnectorType.md +19 -0
  430. package/docs/reference/variables/RightsManagementPapComponentType.md +2 -2
  431. package/docs/reference/variables/RightsManagementPdpComponentType.md +1 -1
  432. package/docs/reference/variables/RightsManagementPepComponentType.md +2 -2
  433. package/docs/reference/variables/RightsManagementPipComponentType.md +1 -1
  434. package/docs/reference/variables/RightsManagementPmpComponentType.md +1 -1
  435. package/docs/reference/variables/RightsManagementPnapComponentType.md +2 -2
  436. package/docs/reference/variables/RightsManagementPnpComponentType.md +2 -2
  437. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  438. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  439. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  440. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  441. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  442. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  443. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  444. package/docs/reference/variables/RightsManagementPxpComponentType.md +1 -1
  445. package/docs/reference/variables/SynchronisedStorageComponentType.md +2 -2
  446. package/docs/reference/variables/TaskSchedulerComponentType.md +1 -1
  447. package/docs/reference/variables/TelemetryComponentType.md +2 -2
  448. package/docs/reference/variables/TelemetryConnectorType.md +1 -1
  449. package/docs/reference/variables/TenantAdminComponentType.md +1 -1
  450. package/docs/reference/variables/TrustComponentType.md +13 -0
  451. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  452. package/docs/reference/variables/TrustVerifierComponentType.md +13 -0
  453. package/docs/reference/variables/VaultConnectorType.md +2 -2
  454. package/docs/reference/variables/VerifiableStorageComponentType.md +2 -2
  455. package/docs/reference/variables/VerifiableStorageConnectorType.md +2 -2
  456. package/docs/reference/variables/WalletConnectorType.md +2 -2
  457. package/package.json +22 -10
  458. package/dist/es/components/authenticationGenerator.js +0 -30
  459. package/dist/es/components/authenticationGenerator.js.map +0 -1
  460. package/dist/es/components/dataSpaceConnector.js +0 -52
  461. package/dist/es/components/dataSpaceConnector.js.map +0 -1
  462. package/dist/es/components/rightsManagementDap.js +0 -38
  463. package/dist/es/components/rightsManagementDap.js.map +0 -1
  464. package/dist/es/components/rightsManagementDarp.js +0 -29
  465. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  466. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  467. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  468. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  469. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  470. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js +0 -2
  471. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js.map +0 -1
  472. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  473. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  474. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  475. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  476. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  477. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  478. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  479. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  480. package/dist/es/models/types/dataSpaceConnectorComponentType.js.map +0 -1
  481. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  482. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  483. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  484. package/dist/types/components/dataSpaceConnector.d.ts +0 -16
  485. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  486. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  487. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  488. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  489. package/dist/types/models/config/dataSpaceConnectorComponentConfig.d.ts +0 -17
  490. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  491. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  492. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  493. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  494. package/dist/types/models/types/dataSpaceConnectorComponentType.d.ts +0 -21
  495. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  496. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  497. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  498. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  499. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +0 -31
  500. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  501. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  502. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  503. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  504. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  505. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  506. package/docs/reference/type-aliases/DataSpaceConnectorComponentConfig.md +0 -5
  507. package/docs/reference/type-aliases/DataSpaceConnectorComponentType.md +0 -5
  508. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  509. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  510. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  511. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  512. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  513. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  514. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  515. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/components/logging.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,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACN,6BAA6B,EAC7B,UAAU,IAAI,iBAAiB,EAE/B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACN,uBAAuB,EACvB,qBAAqB,EAGrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,UAAsC,EACtC,OAA0C,EAC1C,cAAsC;IAMtC,IAAI,SAAwC,CAAC;IAC7C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC1D,SAAS,GAAG,IAAI,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChE,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC;IAClD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACvE,iBAAiB,EAAE,CAAC;QACpB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,4BAA4B,cAEpD,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,6BAA6B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACtE,YAAY,GAAG,6BAA6B,CAAC,SAAS,CAAC;IACxD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC/D,SAAS,GAAG,IAAI,qBAAqB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9D,YAAY,GAAG,qBAAqB,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,uBAAuB;KAChC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,UAAsC,EACtC,OAA0C,EAC1C,cAAsC;IAMtC,IAAI,SAAwC,CAAC;IAC7C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC1D,SAAS,GAAG,IAAI,cAAc,CAAC;YAC9B,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,oBAAkC,CAAC;IAChD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,UAAU,EAAE,CAAC;QACpE,SAAS,GAAG,IAAI,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1D,YAAY,wBAAqC,CAAC;IACnD,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 { ConsoleLoggingConnector } from \"@twin.org/logging-connector-console\";\nimport {\n\tEntityStorageLoggingConnector,\n\tinitSchema as initSchemaLogging,\n\ttype LogEntry\n} from \"@twin.org/logging-connector-entity-storage\";\nimport {\n\tLoggingConnectorFactory,\n\tMultiLoggingConnector,\n\ttype ILoggingComponent,\n\ttype ILoggingConnector\n} from \"@twin.org/logging-models\";\nimport { LoggingRestClient } from \"@twin.org/logging-rest-client\";\nimport { LoggingService } from \"@twin.org/logging-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { LoggingComponentConfig } from \"../models/config/loggingComponentConfig.js\";\nimport type { LoggingConnectorConfig } from \"../models/config/loggingConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { LoggingComponentType } from \"../models/types/loggingComponentType.js\";\nimport { LoggingConnectorType } from \"../models/types/loggingConnectorType.js\";\n\n/**\n * Initialise the logging connector.\n * @param engineCore The engine core.\n * @param context The engine core context.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseLoggingConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: LoggingConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof LoggingConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ILoggingConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === LoggingConnectorType.Console) {\n\t\tcomponent = new ConsoleLoggingConnector(instanceConfig.options);\n\t\tinstanceType = ConsoleLoggingConnector.NAMESPACE;\n\t} else if (instanceConfig.type === LoggingConnectorType.EntityStorage) {\n\t\tinitSchemaLogging();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.logEntryStorageConnectorType,\n\t\t\tnameof<LogEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageLoggingConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageLoggingConnector.NAMESPACE;\n\t} else if (instanceConfig.type === LoggingConnectorType.Multi) {\n\t\tcomponent = new MultiLoggingConnector(instanceConfig.options);\n\t\tinstanceType = MultiLoggingConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: LoggingConnectorFactory\n\t};\n}\n\n/**\n * Initialise the logging 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 initialiseLoggingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: LoggingComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ILoggingComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === LoggingComponentType.Service) {\n\t\tcomponent = new LoggingService({\n\t\t\tloggingConnectorType: engineCore.getRegisteredInstanceType(\"loggingConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(LoggingService);\n\t} else if (instanceConfig.type === LoggingComponentType.RestClient) {\n\t\tcomponent = new LoggingRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(LoggingRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/components/logging.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { ConsoleLoggingConnector } from \"@twin.org/logging-connector-console\";\nimport {\n\tEntityStorageLoggingConnector,\n\tinitSchema as initSchemaLogging,\n\ttype LogEntry\n} from \"@twin.org/logging-connector-entity-storage\";\nimport { LoggingConnectorFactory, MultiLoggingConnector } from \"@twin.org/logging-models\";\nimport { LoggingRestClient } from \"@twin.org/logging-rest-client\";\nimport { LoggingService } from \"@twin.org/logging-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { LoggingComponentConfig } from \"../models/config/loggingComponentConfig.js\";\nimport type { LoggingConnectorConfig } from \"../models/config/loggingConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { LoggingComponentType } from \"../models/types/loggingComponentType.js\";\nimport { LoggingConnectorType } from \"../models/types/loggingConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the logging connector.\n * @param engineCore The engine core.\n * @param context The engine core context.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseLoggingConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: LoggingConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof LoggingConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === LoggingConnectorType.Console) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew ConsoleLoggingConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = ConsoleLoggingConnector.NAMESPACE;\n\t} else if (instanceConfig.type === LoggingConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaLogging();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.logEntryStorageConnectorType,\n\t\t\t\tnameof<LogEntry>(),\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 EntityStorageLoggingConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageLoggingConnector.NAMESPACE;\n\t} else if (instanceConfig.type === LoggingConnectorType.Multi) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew MultiLoggingConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = MultiLoggingConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: LoggingConnectorFactory\n\t};\n}\n\n/**\n * Initialise the logging 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 initialiseLoggingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: LoggingComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === LoggingComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew LoggingService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingConnectorType: engineCore.getRegisteredInstanceType(\"loggingConnector\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(LoggingService);\n\t} else if (instanceConfig.type === LoggingComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew LoggingRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(LoggingRestClient);\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,6 +12,7 @@ import { MessagingComponentType } from "../models/types/messagingComponentType.j
12
12
  import { MessagingEmailConnectorType } from "../models/types/messagingEmailConnectorType.js";
13
13
  import { MessagingPushNotificationConnectorType } from "../models/types/messagingPushNotificationConnectorType.js";
14
14
  import { MessagingSmsConnectorType } from "../models/types/messagingSmsConnectorType.js";
15
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
15
16
  /**
16
17
  * Initialise a messaging email connector.
17
18
  * @param engineCore The engine core.
@@ -19,31 +20,27 @@ import { MessagingSmsConnectorType } from "../models/types/messagingSmsConnector
19
20
  * @param instanceConfig The instance config.
20
21
  * @returns The instance created and the factory for it.
21
22
  */
22
- export async function initialiseMessagingEmailConnector(engineCore, context, instanceConfig) {
23
- let component;
24
- let instanceType;
23
+ export function initialiseMessagingEmailConnector(engineCore, context, instanceConfig) {
24
+ let createComponent;
25
+ let instanceTypeName;
25
26
  if (instanceConfig.type === MessagingEmailConnectorType.EntityStorage) {
26
- initSchema({ email: true, sms: false, pushNotification: false });
27
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.messagingEmailEntryStorageConnectorType, "EmailEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
28
- ContextIdKeys.Node,
29
- ContextIdKeys.Tenant
30
- ]));
31
- component = new EntityStorageMessagingEmailConnector({
32
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
33
- ...instanceConfig.options
34
- });
35
- instanceType = EntityStorageMessagingEmailConnector.NAMESPACE;
27
+ createComponent = (createConfig) => {
28
+ initSchema({ email: true, sms: false, pushNotification: false });
29
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.messagingEmailEntryStorageConnectorType, "EmailEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
30
+ ContextIdKeys.Node,
31
+ ContextIdKeys.Tenant
32
+ ]));
33
+ return new EntityStorageMessagingEmailConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
34
+ };
35
+ instanceTypeName = EntityStorageMessagingEmailConnector.NAMESPACE;
36
36
  }
37
37
  else if (instanceConfig.type === MessagingEmailConnectorType.Aws) {
38
- component = new AwsMessagingEmailConnector({
39
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
40
- ...instanceConfig.options
41
- });
42
- instanceType = AwsMessagingEmailConnector.NAMESPACE;
38
+ createComponent = (createConfig) => new AwsMessagingEmailConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
39
+ instanceTypeName = AwsMessagingEmailConnector.NAMESPACE;
43
40
  }
44
41
  return {
45
- component,
46
- instanceType,
42
+ createComponent: createComponent,
43
+ instanceTypeName,
47
44
  factory: MessagingEmailConnectorFactory
48
45
  };
49
46
  }
@@ -54,32 +51,28 @@ export async function initialiseMessagingEmailConnector(engineCore, context, ins
54
51
  * @param instanceConfig The instance config.
55
52
  * @returns The instance created and the factory for it.
56
53
  */
57
- export async function initialiseMessagingSmsConnector(engineCore, context, instanceConfig) {
58
- let connector;
59
- let instanceType;
54
+ export function initialiseMessagingSmsConnector(engineCore, context, instanceConfig) {
55
+ let createComponent;
56
+ let instanceTypeName;
60
57
  if (instanceConfig.type === MessagingSmsConnectorType.EntityStorage) {
61
- initSchema({ email: false, sms: true, pushNotification: false });
62
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.messagingSmsEntryStorageConnectorType, "SmsEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
63
- ContextIdKeys.Node,
64
- ContextIdKeys.Tenant
65
- ]));
66
- connector = new EntityStorageMessagingSmsConnector({
67
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
68
- ...instanceConfig.options
69
- });
70
- instanceType = EntityStorageMessagingSmsConnector.NAMESPACE;
58
+ createComponent = (createConfig) => {
59
+ initSchema({ email: false, sms: true, pushNotification: false });
60
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.messagingSmsEntryStorageConnectorType, "SmsEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
61
+ ContextIdKeys.Node,
62
+ ContextIdKeys.Tenant
63
+ ]));
64
+ return new EntityStorageMessagingSmsConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
65
+ };
66
+ instanceTypeName = EntityStorageMessagingSmsConnector.NAMESPACE;
71
67
  }
72
68
  else if (instanceConfig.type === MessagingSmsConnectorType.Aws) {
73
- connector = new AwsMessagingSmsConnector({
74
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
75
- ...instanceConfig.options
76
- });
77
- instanceType = AwsMessagingSmsConnector.NAMESPACE;
69
+ createComponent = (createConfig) => new AwsMessagingSmsConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
70
+ instanceTypeName = AwsMessagingSmsConnector.NAMESPACE;
78
71
  }
79
72
  return {
80
- instanceType,
81
- factory: MessagingSmsConnectorFactory,
82
- component: connector
73
+ createComponent: createComponent,
74
+ instanceTypeName,
75
+ factory: MessagingSmsConnectorFactory
83
76
  };
84
77
  }
85
78
  /**
@@ -89,35 +82,31 @@ export async function initialiseMessagingSmsConnector(engineCore, context, insta
89
82
  * @param instanceConfig The instance config.
90
83
  * @returns The instance created and the factory for it.
91
84
  */
92
- export async function initialiseMessagingPushNotificationConnector(engineCore, context, instanceConfig) {
93
- let component;
94
- let instanceType;
85
+ export function initialiseMessagingPushNotificationConnector(engineCore, context, instanceConfig) {
86
+ let createComponent;
87
+ let instanceTypeName;
95
88
  if (instanceConfig.type === MessagingPushNotificationConnectorType.EntityStorage) {
96
- initSchema({ email: false, sms: false, pushNotification: true });
97
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.messagingDeviceEntryStorageConnectorType, "PushNotificationDeviceEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
98
- ContextIdKeys.Node,
99
- ContextIdKeys.Tenant
100
- ]));
101
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.messagingMessageEntryStorageConnectorType, "PushNotificationMessageEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
102
- ContextIdKeys.Node,
103
- ContextIdKeys.Tenant
104
- ]));
105
- component = new EntityStorageMessagingPushNotificationConnector({
106
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
107
- ...instanceConfig.options
108
- });
109
- instanceType = EntityStorageMessagingPushNotificationConnector.NAMESPACE;
89
+ createComponent = (createConfig) => {
90
+ initSchema({ email: false, sms: false, pushNotification: true });
91
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.messagingDeviceEntryStorageConnectorType, "PushNotificationDeviceEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
92
+ ContextIdKeys.Node,
93
+ ContextIdKeys.Tenant
94
+ ]));
95
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.messagingMessageEntryStorageConnectorType, "PushNotificationMessageEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
96
+ ContextIdKeys.Node,
97
+ ContextIdKeys.Tenant
98
+ ]));
99
+ return new EntityStorageMessagingPushNotificationConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
100
+ };
101
+ instanceTypeName = EntityStorageMessagingPushNotificationConnector.NAMESPACE;
110
102
  }
111
103
  else if (instanceConfig.type === MessagingPushNotificationConnectorType.Aws) {
112
- component = new AwsMessagingPushNotificationConnector({
113
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
114
- ...instanceConfig.options
115
- });
116
- instanceType = AwsMessagingPushNotificationConnector.NAMESPACE;
104
+ createComponent = (createConfig) => new AwsMessagingPushNotificationConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
105
+ instanceTypeName = AwsMessagingPushNotificationConnector.NAMESPACE;
117
106
  }
118
107
  return {
119
- component,
120
- instanceType,
108
+ createComponent: createComponent,
109
+ instanceTypeName,
121
110
  factory: MessagingPushNotificationsConnectorFactory
122
111
  };
123
112
  }
@@ -128,22 +117,21 @@ export async function initialiseMessagingPushNotificationConnector(engineCore, c
128
117
  * @param instanceConfig The instance config.
129
118
  * @returns The instance created and the factory for it.
130
119
  */
131
- export async function initialiseMessagingComponent(engineCore, context, instanceConfig) {
132
- let component;
133
- let instanceType;
120
+ export function initialiseMessagingComponent(engineCore, context, instanceConfig) {
121
+ let createComponent;
122
+ let instanceTypeName;
134
123
  if (instanceConfig.type === MessagingComponentType.Service) {
135
- component = new MessagingService({
124
+ createComponent = (createConfig) => new MessagingService(EngineTypeHelper.mergeConfig({
136
125
  messagingEmailConnectorType: engineCore.getRegisteredInstanceTypeOptional("messagingEmailConnector"),
137
126
  messagingSmsConnectorType: engineCore.getRegisteredInstanceTypeOptional("messagingSmsConnector"),
138
127
  messagingPushNotificationConnectorType: engineCore.getRegisteredInstanceTypeOptional("messagingNotificationConnector"),
139
- messagingAdminComponentType: engineCore.getRegisteredInstanceTypeOptional("messagingAdminComponent"),
140
- ...instanceConfig.options
141
- });
142
- instanceType = "messaging-service";
128
+ messagingAdminComponentType: engineCore.getRegisteredInstanceTypeOptional("messagingAdminComponent")
129
+ }, createConfig.options));
130
+ instanceTypeName = "messaging-service";
143
131
  }
144
132
  return {
145
- component,
146
- instanceType,
133
+ createComponent: createComponent,
134
+ instanceTypeName,
147
135
  factory: ComponentFactory
148
136
  };
149
137
  }
@@ -154,23 +142,23 @@ export async function initialiseMessagingComponent(engineCore, context, instance
154
142
  * @param instanceConfig The instance config.
155
143
  * @returns The instance created and the factory for it.
156
144
  */
157
- export async function initialiseMessagingAdminComponent(engineCore, context, instanceConfig) {
158
- let component;
159
- let instanceType;
145
+ export function initialiseMessagingAdminComponent(engineCore, context, instanceConfig) {
146
+ let createComponent;
147
+ let instanceTypeName;
160
148
  if (instanceConfig.type === MessagingAdminComponentType.Service) {
161
- initSchemaMessagingService();
162
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.templateEntryStorageConnectorType, "TemplateEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
163
- ContextIdKeys.Node,
164
- ContextIdKeys.Tenant
165
- ]));
166
- component = new MessagingAdminService({
167
- ...instanceConfig.options
168
- });
169
- instanceType = "messaging-admin-service";
149
+ createComponent = (createConfig) => {
150
+ initSchemaMessagingService();
151
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.templateEntryStorageConnectorType, "TemplateEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
152
+ ContextIdKeys.Node,
153
+ ContextIdKeys.Tenant
154
+ ]));
155
+ return new MessagingAdminService(EngineTypeHelper.mergeConfig(createConfig.options));
156
+ };
157
+ instanceTypeName = "messaging-admin-service";
170
158
  }
171
159
  return {
172
- component,
173
- instanceType,
160
+ createComponent: createComponent,
161
+ instanceTypeName,
174
162
  factory: ComponentFactory
175
163
  };
176
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../../src/components/messaging.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport {\n\tAwsMessagingEmailConnector,\n\tAwsMessagingPushNotificationConnector,\n\tAwsMessagingSmsConnector\n} from \"@twin.org/messaging-connector-aws\";\nimport {\n\ttype EmailEntry,\n\tEntityStorageMessagingEmailConnector,\n\tEntityStorageMessagingPushNotificationConnector,\n\tEntityStorageMessagingSmsConnector,\n\tinitSchema,\n\ttype PushNotificationDeviceEntry,\n\ttype PushNotificationMessageEntry,\n\ttype SmsEntry\n} from \"@twin.org/messaging-connector-entity-storage\";\nimport {\n\ttype IMessagingAdminComponent,\n\ttype IMessagingComponent,\n\ttype IMessagingEmailConnector,\n\ttype IMessagingPushNotificationsConnector,\n\ttype IMessagingSmsConnector,\n\tMessagingEmailConnectorFactory,\n\tMessagingPushNotificationsConnectorFactory,\n\tMessagingSmsConnectorFactory\n} from \"@twin.org/messaging-models\";\nimport {\n\tinitSchema as initSchemaMessagingService,\n\tMessagingAdminService,\n\tMessagingService,\n\ttype TemplateEntry\n} from \"@twin.org/messaging-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { MessagingAdminComponentConfig } from \"../models/config/messagingAdminComponentConfig.js\";\nimport type { MessagingComponentConfig } from \"../models/config/messagingComponentConfig.js\";\nimport type { MessagingEmailConnectorConfig } from \"../models/config/messagingEmailConnectorConfig.js\";\nimport type { MessagingPushNotificationConnectorConfig } from \"../models/config/messagingPushNotificationConnectorConfig.js\";\nimport type { MessagingSmsConnectorConfig } from \"../models/config/messagingSmsConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { MessagingAdminComponentType } from \"../models/types/messagingAdminComponentType.js\";\nimport { MessagingComponentType } from \"../models/types/messagingComponentType.js\";\nimport { MessagingEmailConnectorType } from \"../models/types/messagingEmailConnectorType.js\";\nimport { MessagingPushNotificationConnectorType } from \"../models/types/messagingPushNotificationConnectorType.js\";\nimport { MessagingSmsConnectorType } from \"../models/types/messagingSmsConnectorType.js\";\n\n/**\n * Initialise a messaging email 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 initialiseMessagingEmailConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingEmailConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof MessagingEmailConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingEmailConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingEmailConnectorType.EntityStorage) {\n\t\tinitSchema({ email: true, sms: false, pushNotification: false });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingEmailEntryStorageConnectorType,\n\t\t\tnameof<EmailEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageMessagingEmailConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageMessagingEmailConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingEmailConnectorType.Aws) {\n\t\tcomponent = new AwsMessagingEmailConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = AwsMessagingEmailConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: MessagingEmailConnectorFactory\n\t};\n}\n\n/**\n * Initialise a messaging sms 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 initialiseMessagingSmsConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingSmsConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof MessagingSmsConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet connector: IMessagingSmsConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingSmsConnectorType.EntityStorage) {\n\t\tinitSchema({ email: false, sms: true, pushNotification: false });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingSmsEntryStorageConnectorType,\n\t\t\tnameof<SmsEntry>(),\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 EntityStorageMessagingSmsConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageMessagingSmsConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingSmsConnectorType.Aws) {\n\t\tconnector = new AwsMessagingSmsConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = AwsMessagingSmsConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tinstanceType,\n\t\tfactory: MessagingSmsConnectorFactory,\n\t\tcomponent: connector\n\t};\n}\n\n/**\n * Initialise a messaging push notification 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 initialiseMessagingPushNotificationConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingPushNotificationConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof MessagingPushNotificationsConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingPushNotificationsConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingPushNotificationConnectorType.EntityStorage) {\n\t\tinitSchema({ email: false, sms: false, pushNotification: true });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingDeviceEntryStorageConnectorType,\n\t\t\tnameof<PushNotificationDeviceEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingMessageEntryStorageConnectorType,\n\t\t\tnameof<PushNotificationMessageEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageMessagingPushNotificationConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageMessagingPushNotificationConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingPushNotificationConnectorType.Aws) {\n\t\tcomponent = new AwsMessagingPushNotificationConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = AwsMessagingPushNotificationConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: MessagingPushNotificationsConnectorFactory\n\t};\n}\n\n/**\n * Initialise the messaging 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 initialiseMessagingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingComponentType.Service) {\n\t\tcomponent = new MessagingService({\n\t\t\tmessagingEmailConnectorType:\n\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingEmailConnector\"),\n\t\t\tmessagingSmsConnectorType:\n\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingSmsConnector\"),\n\t\t\tmessagingPushNotificationConnectorType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\"messagingNotificationConnector\"\n\t\t\t),\n\t\t\tmessagingAdminComponentType:\n\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingAdminComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(MessagingService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n\n/**\n * Initialise the messaging admin component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseMessagingAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingAdminComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingAdminComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingAdminComponentType.Service) {\n\t\tinitSchemaMessagingService();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.templateEntryStorageConnectorType,\n\t\t\tnameof<TemplateEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new MessagingAdminService({\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(MessagingAdminService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../../src/components/messaging.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } 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\tAwsMessagingEmailConnector,\n\tAwsMessagingPushNotificationConnector,\n\tAwsMessagingSmsConnector\n} from \"@twin.org/messaging-connector-aws\";\nimport {\n\ttype EmailEntry,\n\tEntityStorageMessagingEmailConnector,\n\tEntityStorageMessagingPushNotificationConnector,\n\tEntityStorageMessagingSmsConnector,\n\tinitSchema,\n\ttype PushNotificationDeviceEntry,\n\ttype PushNotificationMessageEntry,\n\ttype SmsEntry\n} from \"@twin.org/messaging-connector-entity-storage\";\nimport {\n\tMessagingEmailConnectorFactory,\n\tMessagingPushNotificationsConnectorFactory,\n\tMessagingSmsConnectorFactory\n} from \"@twin.org/messaging-models\";\nimport {\n\tinitSchema as initSchemaMessagingService,\n\tMessagingAdminService,\n\tMessagingService,\n\ttype TemplateEntry\n} from \"@twin.org/messaging-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { MessagingAdminComponentConfig } from \"../models/config/messagingAdminComponentConfig.js\";\nimport type { MessagingComponentConfig } from \"../models/config/messagingComponentConfig.js\";\nimport type { MessagingEmailConnectorConfig } from \"../models/config/messagingEmailConnectorConfig.js\";\nimport type { MessagingPushNotificationConnectorConfig } from \"../models/config/messagingPushNotificationConnectorConfig.js\";\nimport type { MessagingSmsConnectorConfig } from \"../models/config/messagingSmsConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { MessagingAdminComponentType } from \"../models/types/messagingAdminComponentType.js\";\nimport { MessagingComponentType } from \"../models/types/messagingComponentType.js\";\nimport { MessagingEmailConnectorType } from \"../models/types/messagingEmailConnectorType.js\";\nimport { MessagingPushNotificationConnectorType } from \"../models/types/messagingPushNotificationConnectorType.js\";\nimport { MessagingSmsConnectorType } from \"../models/types/messagingSmsConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a messaging email 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 initialiseMessagingEmailConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingEmailConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof MessagingEmailConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingEmailConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema({ email: true, sms: false, pushNotification: false });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingEmailEntryStorageConnectorType,\n\t\t\t\tnameof<EmailEntry>(),\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 EntityStorageMessagingEmailConnector(\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 = EntityStorageMessagingEmailConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingEmailConnectorType.Aws) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AwsMessagingEmailConnector(\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 = AwsMessagingEmailConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MessagingEmailConnectorFactory\n\t};\n}\n\n/**\n * Initialise a messaging sms 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 initialiseMessagingSmsConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingSmsConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof MessagingSmsConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingSmsConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema({ email: false, sms: true, pushNotification: false });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingSmsEntryStorageConnectorType,\n\t\t\t\tnameof<SmsEntry>(),\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 EntityStorageMessagingSmsConnector(\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 = EntityStorageMessagingSmsConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingSmsConnectorType.Aws) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AwsMessagingSmsConnector(\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 = AwsMessagingSmsConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MessagingSmsConnectorFactory\n\t};\n}\n\n/**\n * Initialise a messaging push notification 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 initialiseMessagingPushNotificationConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingPushNotificationConnectorConfig\n): EngineTypeInitialiserReturn<\n\ttypeof instanceConfig,\n\ttypeof MessagingPushNotificationsConnectorFactory\n> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingPushNotificationConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema({ email: false, sms: false, pushNotification: true });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingDeviceEntryStorageConnectorType,\n\t\t\t\tnameof<PushNotificationDeviceEntry>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingMessageEntryStorageConnectorType,\n\t\t\t\tnameof<PushNotificationMessageEntry>(),\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 EntityStorageMessagingPushNotificationConnector(\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 = EntityStorageMessagingPushNotificationConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingPushNotificationConnectorType.Aws) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AwsMessagingPushNotificationConnector(\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 = AwsMessagingPushNotificationConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MessagingPushNotificationsConnectorFactory\n\t};\n}\n\n/**\n * Initialise the messaging 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 initialiseMessagingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew MessagingService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tmessagingEmailConnectorType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingEmailConnector\"),\n\t\t\t\t\t\tmessagingSmsConnectorType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingSmsConnector\"),\n\t\t\t\t\t\tmessagingPushNotificationConnectorType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\t\t\t\"messagingNotificationConnector\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmessagingAdminComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingAdminComponent\")\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(MessagingService);\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\n/**\n * Initialise the messaging admin component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseMessagingAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingAdminComponentConfig\n): EngineTypeInitialiserReturn<MessagingAdminComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingAdminComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaMessagingService();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.templateEntryStorageConnectorType,\n\t\t\t\tnameof<TemplateEntry>(),\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 MessagingAdminService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(MessagingAdminService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -19,35 +19,35 @@ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
19
19
  * @param instanceConfig The instance config.
20
20
  * @returns The instance created and the factory for it.
21
21
  */
22
- export async function initialiseNftConnector(engineCore, context, instanceConfig) {
23
- let component;
24
- let instanceType;
22
+ export function initialiseNftConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
25
25
  if (instanceConfig.type === NftConnectorType.EntityStorage) {
26
- initSchema();
27
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.nftEntityStorageType, "Nft", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
28
- ContextIdKeys.Node,
29
- ContextIdKeys.Tenant
30
- ]));
31
- component = new EntityStorageNftConnector(instanceConfig.options);
32
- instanceType = EntityStorageNftConnector.NAMESPACE;
26
+ createComponent = (createConfig) => {
27
+ initSchema();
28
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.nftEntityStorageType, "Nft", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
29
+ ContextIdKeys.Node,
30
+ ContextIdKeys.Tenant
31
+ ]));
32
+ return new EntityStorageNftConnector(EngineTypeHelper.mergeConfig(createConfig.options));
33
+ };
34
+ instanceTypeName = EntityStorageNftConnector.NAMESPACE;
33
35
  }
34
36
  else if (instanceConfig.type === NftConnectorType.Iota) {
35
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
36
- component = new IotaNftConnector({
37
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
38
- walletConnectorType: engineCore.getRegisteredInstanceType("walletConnector"),
39
- loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
40
- ...instanceConfig.options,
41
- config: {
42
- ...dltConfig?.options?.config,
43
- ...instanceConfig.options.config
44
- }
45
- });
46
- instanceType = IotaNftConnector.NAMESPACE;
37
+ createComponent = (createConfig) => {
38
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
39
+ return new IotaNftConnector(EngineTypeHelper.mergeConfig({
40
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
41
+ walletConnectorType: engineCore.getRegisteredInstanceType("walletConnector"),
42
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
43
+ config: dltConfig?.options?.config
44
+ }, createConfig.options));
45
+ };
46
+ instanceTypeName = IotaNftConnector.NAMESPACE;
47
47
  }
48
48
  return {
49
- component,
50
- instanceType,
49
+ createComponent: createComponent,
50
+ instanceTypeName,
51
51
  factory: NftConnectorFactory
52
52
  };
53
53
  }
@@ -58,20 +58,20 @@ export async function initialiseNftConnector(engineCore, context, instanceConfig
58
58
  * @param instanceConfig The instance config.
59
59
  * @returns The instance created and the factory for it.
60
60
  */
61
- export async function initialiseNftComponent(engineCore, context, instanceConfig) {
62
- let component;
63
- let instanceType;
61
+ export function initialiseNftComponent(engineCore, context, instanceConfig) {
62
+ let createComponent;
63
+ let instanceTypeName;
64
64
  if (instanceConfig.type === NftComponentType.Service) {
65
- component = new NftService(instanceConfig.options);
66
- instanceType = "nft-service";
65
+ createComponent = (createConfig) => new NftService(EngineTypeHelper.mergeConfig(createConfig.options));
66
+ instanceTypeName = "nft-service";
67
67
  }
68
68
  else if (instanceConfig.type === NftComponentType.RestClient) {
69
- component = new NftRestClient(instanceConfig.options);
70
- instanceType = "nft-rest-client";
69
+ createComponent = (createConfig) => new NftRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
70
+ instanceTypeName = "nft-rest-client";
71
71
  }
72
72
  return {
73
- component,
74
- instanceType,
73
+ createComponent: createComponent,
74
+ instanceTypeName,
75
75
  factory: ComponentFactory
76
76
  };
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/components/nft.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNftConnector,\n\tinitSchema,\n\ttype Nft\n} from \"@twin.org/nft-connector-entity-storage\";\nimport { IotaNftConnector } from \"@twin.org/nft-connector-iota\";\nimport { NftConnectorFactory, type INftComponent, type INftConnector } from \"@twin.org/nft-models\";\nimport { NftRestClient } from \"@twin.org/nft-rest-client\";\nimport { NftService } from \"@twin.org/nft-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NftComponentConfig } from \"../models/config/nftComponentConfig.js\";\nimport type { NftConnectorConfig } from \"../models/config/nftConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NftComponentType } from \"../models/types/nftComponentType.js\";\nimport { NftConnectorType } from \"../models/types/nftConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the NFT connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseNftConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof NftConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: INftConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === NftConnectorType.EntityStorage) {\n\t\tinitSchema();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.nftEntityStorageType,\n\t\t\tnameof<Nft>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageNftConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageNftConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NftConnectorType.Iota) {\n\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\tengineCore.getConfig(),\n\t\t\t\"dltConfig\",\n\t\t\tDltConfigType.Iota\n\t\t);\n\t\tcomponent = new IotaNftConnector({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\twalletConnectorType: engineCore.getRegisteredInstanceType(\"walletConnector\"),\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...dltConfig?.options?.config,\n\t\t\t\t...instanceConfig.options.config\n\t\t\t}\n\t\t});\n\t\tinstanceType = IotaNftConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: NftConnectorFactory\n\t};\n}\n\n/**\n * Initialise the NFT component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseNftComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: INftComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === NftComponentType.Service) {\n\t\tcomponent = new NftService(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(NftService);\n\t} else if (instanceConfig.type === NftComponentType.RestClient) {\n\t\tcomponent = new NftRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(NftRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/components/nft.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNftConnector,\n\tinitSchema,\n\ttype Nft\n} from \"@twin.org/nft-connector-entity-storage\";\nimport { IotaNftConnector } from \"@twin.org/nft-connector-iota\";\nimport { NftConnectorFactory } from \"@twin.org/nft-models\";\nimport { NftRestClient } from \"@twin.org/nft-rest-client\";\nimport { NftService } from \"@twin.org/nft-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NftComponentConfig } from \"../models/config/nftComponentConfig.js\";\nimport type { NftConnectorConfig } from \"../models/config/nftConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NftComponentType } from \"../models/types/nftComponentType.js\";\nimport { NftConnectorType } from \"../models/types/nftConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the NFT connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNftConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof NftConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NftConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.nftEntityStorageType,\n\t\t\t\tnameof<Nft>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\n\t\t\treturn new EntityStorageNftConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageNftConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NftConnectorType.Iota) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\t\tengineCore.getConfig(),\n\t\t\t\t\"dltConfig\",\n\t\t\t\tDltConfigType.Iota\n\t\t\t);\n\t\t\treturn new IotaNftConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t\t\t\twalletConnectorType: engineCore.getRegisteredInstanceType(\"walletConnector\"),\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t\t\t\tconfig: dltConfig?.options?.config\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = IotaNftConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: NftConnectorFactory\n\t};\n}\n\n/**\n * Initialise the NFT component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNftComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NftComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NftService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NftService);\n\t} else if (instanceConfig.type === NftComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NftRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NftRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,78 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
4
+ import { ComponentFactory } from "@twin.org/core";
5
+ import { EntityStorageNotarizationConnector, initSchema } from "@twin.org/notarization-connector-entity-storage";
6
+ import { IotaNotarizationConnector } from "@twin.org/notarization-connector-iota";
7
+ import { NotarizationConnectorFactory } from "@twin.org/notarization-models";
8
+ import { NotarizationRestClient } from "@twin.org/notarization-rest-client";
9
+ import { NotarizationService } from "@twin.org/notarization-service";
10
+ import { initialiseEntityStorageConnector } from "./entityStorage.js";
11
+ import { DltConfigType } from "../models/types/dltConfigType.js";
12
+ import { NotarizationComponentType } from "../models/types/notarizationComponentType.js";
13
+ import { NotarizationConnectorType } from "../models/types/notarizationConnectorType.js";
14
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
15
+ /**
16
+ * Initialise the notarization connector.
17
+ * @param engineCore The engine core.
18
+ * @param context The context for the engine.
19
+ * @param instanceConfig The instance config.
20
+ * @returns The instance created and the factory for it.
21
+ */
22
+ export function initialiseNotarizationConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
25
+ if (instanceConfig.type === NotarizationConnectorType.EntityStorage) {
26
+ createComponent = (createConfig) => {
27
+ initSchema();
28
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.notarizationEntityStorageType, "Notarization", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
29
+ ContextIdKeys.Node,
30
+ ContextIdKeys.Tenant
31
+ ]));
32
+ return new EntityStorageNotarizationConnector(EngineTypeHelper.mergeConfig(createConfig.options));
33
+ };
34
+ instanceTypeName = EntityStorageNotarizationConnector.NAMESPACE;
35
+ }
36
+ else if (instanceConfig.type === NotarizationConnectorType.Iota) {
37
+ createComponent = (createConfig) => {
38
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
39
+ return new IotaNotarizationConnector(EngineTypeHelper.mergeConfig({
40
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
41
+ walletConnectorType: engineCore.getRegisteredInstanceType("walletConnector"),
42
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
43
+ config: dltConfig?.options?.config
44
+ }, createConfig.options));
45
+ };
46
+ instanceTypeName = IotaNotarizationConnector.NAMESPACE;
47
+ }
48
+ return {
49
+ createComponent: createComponent,
50
+ instanceTypeName,
51
+ factory: NotarizationConnectorFactory
52
+ };
53
+ }
54
+ /**
55
+ * Initialise the notarization component.
56
+ * @param engineCore The engine core.
57
+ * @param context The context for the engine.
58
+ * @param instanceConfig The instance config.
59
+ * @returns The instance created and the factory for it.
60
+ */
61
+ export function initialiseNotarizationComponent(engineCore, context, instanceConfig) {
62
+ let createComponent;
63
+ let instanceTypeName;
64
+ if (instanceConfig.type === NotarizationComponentType.Service) {
65
+ createComponent = (createConfig) => new NotarizationService(EngineTypeHelper.mergeConfig(createConfig.options));
66
+ instanceTypeName = "notarization-service";
67
+ }
68
+ else if (instanceConfig.type === NotarizationComponentType.RestClient) {
69
+ createComponent = (createConfig) => new NotarizationRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
70
+ instanceTypeName = "notarization-rest-client";
71
+ }
72
+ return {
73
+ createComponent: createComponent,
74
+ instanceTypeName,
75
+ factory: ComponentFactory
76
+ };
77
+ }
78
+ //# sourceMappingURL=notarization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notarization.js","sourceRoot":"","sources":["../../../src/components/notarization.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNotarizationConnector,\n\tinitSchema,\n\ttype Notarization\n} from \"@twin.org/notarization-connector-entity-storage\";\nimport { IotaNotarizationConnector } from \"@twin.org/notarization-connector-iota\";\nimport { NotarizationConnectorFactory } from \"@twin.org/notarization-models\";\nimport { NotarizationRestClient } from \"@twin.org/notarization-rest-client\";\nimport { NotarizationService } from \"@twin.org/notarization-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NotarizationComponentConfig } from \"../models/config/notarizationComponentConfig.js\";\nimport type { NotarizationConnectorConfig } from \"../models/config/notarizationConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NotarizationComponentType } from \"../models/types/notarizationComponentType.js\";\nimport { NotarizationConnectorType } from \"../models/types/notarizationConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the notarization connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNotarizationConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NotarizationConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof NotarizationConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NotarizationConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.notarizationEntityStorageType,\n\t\t\t\tnameof<Notarization>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\n\t\t\treturn new EntityStorageNotarizationConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageNotarizationConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NotarizationConnectorType.Iota) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\t\tengineCore.getConfig(),\n\t\t\t\t\"dltConfig\",\n\t\t\t\tDltConfigType.Iota\n\t\t\t);\n\t\t\treturn new IotaNotarizationConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t\t\t\twalletConnectorType: engineCore.getRegisteredInstanceType(\"walletConnector\"),\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t\t\t\tconfig: dltConfig?.options?.config\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = IotaNotarizationConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: NotarizationConnectorFactory\n\t};\n}\n\n/**\n * Initialise the notarization component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNotarizationComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NotarizationComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NotarizationComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NotarizationService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NotarizationService);\n\t} else if (instanceConfig.type === NotarizationComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NotarizationRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NotarizationRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}