@twin.org/engine-types 0.0.3-next.5 → 0.0.3-next.51

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 (629) hide show
  1. package/README.md +1 -1
  2. package/dist/es/components/attestation.js +20 -24
  3. package/dist/es/components/attestation.js.map +1 -1
  4. package/dist/es/components/auditableItemGraph.js +27 -22
  5. package/dist/es/components/auditableItemGraph.js.map +1 -1
  6. package/dist/es/components/auditableItemStream.js +27 -22
  7. package/dist/es/components/auditableItemStream.js.map +1 -1
  8. package/dist/es/components/automation.js +43 -0
  9. package/dist/es/components/automation.js.map +1 -0
  10. package/dist/es/components/automationAction.js +27 -0
  11. package/dist/es/components/automationAction.js.map +1 -0
  12. package/dist/es/components/backgroundTask.js +20 -18
  13. package/dist/es/components/backgroundTask.js.map +1 -1
  14. package/dist/es/components/blobStorage.js +69 -80
  15. package/dist/es/components/blobStorage.js.map +1 -1
  16. package/dist/es/components/contextIdHandler.js +9 -9
  17. package/dist/es/components/contextIdHandler.js.map +1 -1
  18. package/dist/es/components/dataProcessing.js +33 -32
  19. package/dist/es/components/dataProcessing.js.map +1 -1
  20. package/dist/es/components/dataspaceControlPlane.js +59 -0
  21. package/dist/es/components/dataspaceControlPlane.js.map +1 -0
  22. package/dist/es/components/dataspaceDataPlane.js +65 -0
  23. package/dist/es/components/dataspaceDataPlane.js.map +1 -0
  24. package/dist/es/components/documentManagement.js +12 -11
  25. package/dist/es/components/documentManagement.js.map +1 -1
  26. package/dist/es/components/entityStorage.js +53 -65
  27. package/dist/es/components/entityStorage.js.map +1 -1
  28. package/dist/es/components/eventBus.js +23 -27
  29. package/dist/es/components/eventBus.js.map +1 -1
  30. package/dist/es/components/faucet.js +18 -18
  31. package/dist/es/components/faucet.js.map +1 -1
  32. package/dist/es/components/federatedCatalogue.js +17 -18
  33. package/dist/es/components/federatedCatalogue.js.map +1 -1
  34. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  35. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  36. package/dist/es/components/health.js +32 -0
  37. package/dist/es/components/health.js.map +1 -0
  38. package/dist/es/components/identity.js +30 -31
  39. package/dist/es/components/identity.js.map +1 -1
  40. package/dist/es/components/identityProfile.js +26 -24
  41. package/dist/es/components/identityProfile.js.map +1 -1
  42. package/dist/es/components/identityResolver.js +36 -40
  43. package/dist/es/components/identityResolver.js.map +1 -1
  44. package/dist/es/components/immutableProof.js +23 -20
  45. package/dist/es/components/immutableProof.js.map +1 -1
  46. package/dist/es/components/logging.js +32 -28
  47. package/dist/es/components/logging.js.map +1 -1
  48. package/dist/es/components/messaging.js +89 -89
  49. package/dist/es/components/messaging.js.map +1 -1
  50. package/dist/es/components/metricsCollector.js +29 -0
  51. package/dist/es/components/metricsCollector.js.map +1 -0
  52. package/dist/es/components/metricsProducer.js +33 -0
  53. package/dist/es/components/metricsProducer.js.map +1 -0
  54. package/dist/es/components/nft.js +32 -33
  55. package/dist/es/components/nft.js.map +1 -1
  56. package/dist/es/components/notarization.js +77 -0
  57. package/dist/es/components/notarization.js.map +1 -0
  58. package/dist/es/components/platform.js +34 -0
  59. package/dist/es/components/platform.js.map +1 -0
  60. package/dist/es/components/rightsManagementPap.js +19 -17
  61. package/dist/es/components/rightsManagementPap.js.map +1 -1
  62. package/dist/es/components/rightsManagementPdp.js +12 -27
  63. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  64. package/dist/es/components/rightsManagementPep.js +13 -25
  65. package/dist/es/components/rightsManagementPep.js.map +1 -1
  66. package/dist/es/components/rightsManagementPip.js +11 -25
  67. package/dist/es/components/rightsManagementPip.js.map +1 -1
  68. package/dist/es/components/rightsManagementPmp.js +11 -11
  69. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  70. package/dist/es/components/rightsManagementPnap.js +20 -18
  71. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  72. package/dist/es/components/rightsManagementPnp.js +15 -37
  73. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  74. package/dist/es/components/rightsManagementPolicyArbiter.js +34 -0
  75. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  76. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  77. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  78. package/dist/es/components/rightsManagementPolicyExecutionAction.js +27 -0
  79. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  80. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  81. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  82. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  83. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  84. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  85. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  86. package/dist/es/components/rightsManagementPolicyRequester.js +27 -0
  87. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  88. package/dist/es/components/rightsManagementPxp.js +11 -25
  89. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  90. package/dist/es/components/schemaVersionMigration.js +35 -0
  91. package/dist/es/components/schemaVersionMigration.js.map +1 -0
  92. package/dist/es/components/taskScheduler.js +19 -11
  93. package/dist/es/components/taskScheduler.js.map +1 -1
  94. package/dist/es/components/telemetry.js +52 -31
  95. package/dist/es/components/telemetry.js.map +1 -1
  96. package/dist/es/components/tenant.js +12 -11
  97. package/dist/es/components/tenant.js.map +1 -1
  98. package/dist/es/components/trust.js +29 -0
  99. package/dist/es/components/trust.js.map +1 -0
  100. package/dist/es/components/trustGenerator.js +28 -0
  101. package/dist/es/components/trustGenerator.js.map +1 -0
  102. package/dist/es/components/trustVerifier.js +31 -0
  103. package/dist/es/components/trustVerifier.js.map +1 -0
  104. package/dist/es/components/vault.js +15 -12
  105. package/dist/es/components/vault.js.map +1 -1
  106. package/dist/es/components/wallet.js +24 -25
  107. package/dist/es/components/wallet.js.map +1 -1
  108. package/dist/es/index.js +67 -22
  109. package/dist/es/index.js.map +1 -1
  110. package/dist/es/models/IEngineConfig.js.map +1 -1
  111. package/dist/es/models/config/automationActionConfig.js +2 -0
  112. package/dist/es/models/config/automationActionConfig.js.map +1 -0
  113. package/dist/es/models/config/automationComponentConfig.js +2 -0
  114. package/dist/es/models/config/automationComponentConfig.js.map +1 -0
  115. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  116. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  117. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  118. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js +2 -0
  119. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js.map +1 -0
  120. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js +2 -0
  121. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js.map +1 -0
  122. package/dist/es/models/config/entityStorageConnectorConfig.js.map +1 -1
  123. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  124. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  125. package/dist/es/models/config/healthComponentConfig.js +2 -0
  126. package/dist/es/models/config/healthComponentConfig.js.map +1 -0
  127. package/dist/es/models/config/metricsCollectorComponentConfig.js +2 -0
  128. package/dist/es/models/config/metricsCollectorComponentConfig.js.map +1 -0
  129. package/dist/es/models/config/metricsProducerComponentConfig.js +2 -0
  130. package/dist/es/models/config/metricsProducerComponentConfig.js.map +1 -0
  131. package/dist/es/models/config/notarizationComponentConfig.js +2 -0
  132. package/dist/es/models/config/notarizationComponentConfig.js.map +1 -0
  133. package/dist/es/models/config/notarizationConnectorConfig.js +2 -0
  134. package/dist/es/models/config/notarizationConnectorConfig.js.map +1 -0
  135. package/dist/es/models/config/platformComponentConfig.js +2 -0
  136. package/dist/es/models/config/platformComponentConfig.js.map +1 -0
  137. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  138. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  139. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  140. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  141. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  142. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  143. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  144. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  145. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  146. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  147. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  148. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  149. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  150. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  151. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  152. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  153. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  154. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  155. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  156. package/dist/es/models/config/schemaVersionMigrationComponentConfig.js +2 -0
  157. package/dist/es/models/config/schemaVersionMigrationComponentConfig.js.map +1 -0
  158. package/dist/es/models/config/telemetryConnectorConfig.js.map +1 -1
  159. package/dist/es/models/config/trustComponentConfig.js +2 -0
  160. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  161. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  162. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  163. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  164. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  165. package/dist/es/models/types/automationActionType.js +13 -0
  166. package/dist/es/models/types/automationActionType.js.map +1 -0
  167. package/dist/es/models/types/{verifiableStorageComponentType.js → automationComponentType.js} +4 -4
  168. package/dist/es/models/types/automationComponentType.js.map +1 -0
  169. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  170. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  171. package/dist/es/models/types/dataspaceControlPlaneComponentType.js +17 -0
  172. package/dist/es/models/types/dataspaceControlPlaneComponentType.js.map +1 -0
  173. package/dist/es/models/types/{dataSpaceConnectorComponentType.js → dataspaceDataPlaneComponentType.js} +4 -4
  174. package/dist/es/models/types/dataspaceDataPlaneComponentType.js.map +1 -0
  175. package/dist/es/models/types/entityStorageConnectorType.js +2 -6
  176. package/dist/es/models/types/entityStorageConnectorType.js.map +1 -1
  177. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  178. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  179. package/dist/es/models/types/{synchronisedStorageComponentType.js → healthComponentType.js} +4 -4
  180. package/dist/es/models/types/healthComponentType.js.map +1 -0
  181. package/dist/es/models/types/metricsCollectorComponentType.js +13 -0
  182. package/dist/es/models/types/metricsCollectorComponentType.js.map +1 -0
  183. package/dist/es/models/types/metricsProducerComponentType.js +17 -0
  184. package/dist/es/models/types/metricsProducerComponentType.js.map +1 -0
  185. package/dist/es/models/types/{rightsManagementDapComponentType.js → notarizationComponentType.js} +4 -4
  186. package/dist/es/models/types/notarizationComponentType.js.map +1 -0
  187. package/dist/es/models/types/{verifiableStorageConnectorType.js → notarizationConnectorType.js} +4 -4
  188. package/dist/es/models/types/notarizationConnectorType.js.map +1 -0
  189. package/dist/es/models/types/platformComponentType.js +13 -0
  190. package/dist/es/models/types/platformComponentType.js.map +1 -0
  191. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  192. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  193. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  194. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  195. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  196. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  197. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  198. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  199. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  200. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  201. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  202. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  203. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  204. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  205. package/dist/es/models/types/schemaVersionMigrationComponentType.js +13 -0
  206. package/dist/es/models/types/schemaVersionMigrationComponentType.js.map +1 -0
  207. package/dist/es/models/types/telemetryConnectorType.js +5 -1
  208. package/dist/es/models/types/telemetryConnectorType.js.map +1 -1
  209. package/dist/es/models/types/trustComponentType.js +13 -0
  210. package/dist/es/models/types/trustComponentType.js.map +1 -0
  211. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  212. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  213. package/dist/es/models/types/trustVerifierComponentType.js +17 -0
  214. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  215. package/dist/es/utils/engineTypeHelper.js +19 -1
  216. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  217. package/dist/types/components/attestation.d.ts +5 -13
  218. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  219. package/dist/types/components/auditableItemStream.d.ts +3 -7
  220. package/dist/types/components/automation.d.ts +12 -0
  221. package/dist/types/components/automationAction.d.ts +12 -0
  222. package/dist/types/components/backgroundTask.d.ts +5 -10
  223. package/dist/types/components/blobStorage.d.ts +4 -12
  224. package/dist/types/components/contextIdHandler.d.ts +3 -7
  225. package/dist/types/components/dataProcessing.d.ts +5 -17
  226. package/dist/types/components/dataspaceControlPlane.d.ts +12 -0
  227. package/dist/types/components/dataspaceDataPlane.d.ts +12 -0
  228. package/dist/types/components/documentManagement.d.ts +3 -7
  229. package/dist/types/components/entityStorage.d.ts +5 -10
  230. package/dist/types/components/eventBus.d.ts +4 -12
  231. package/dist/types/components/faucet.d.ts +2 -7
  232. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  233. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  234. package/dist/types/components/health.d.ts +12 -0
  235. package/dist/types/components/identity.d.ts +4 -12
  236. package/dist/types/components/identityProfile.d.ts +4 -12
  237. package/dist/types/components/identityResolver.d.ts +4 -12
  238. package/dist/types/components/immutableProof.d.ts +3 -7
  239. package/dist/types/components/logging.d.ts +4 -12
  240. package/dist/types/components/messaging.d.ts +7 -27
  241. package/dist/types/components/metricsCollector.d.ts +12 -0
  242. package/dist/types/components/metricsProducer.d.ts +12 -0
  243. package/dist/types/components/nft.d.ts +4 -12
  244. package/dist/types/components/notarization.d.ts +22 -0
  245. package/dist/types/components/platform.d.ts +12 -0
  246. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  247. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  248. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  249. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  250. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  251. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  252. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  253. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  254. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  255. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  256. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  257. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  258. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  259. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  260. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  261. package/dist/types/components/schemaVersionMigration.d.ts +12 -0
  262. package/dist/types/components/taskScheduler.d.ts +3 -7
  263. package/dist/types/components/telemetry.d.ts +4 -12
  264. package/dist/types/components/tenant.d.ts +3 -7
  265. package/dist/types/components/trust.d.ts +12 -0
  266. package/dist/types/components/trustGenerator.d.ts +12 -0
  267. package/dist/types/components/trustVerifier.d.ts +12 -0
  268. package/dist/types/components/vault.d.ts +2 -7
  269. package/dist/types/components/wallet.d.ts +3 -8
  270. package/dist/types/index.d.ts +67 -22
  271. package/dist/types/models/IEngineConfig.d.ts +104 -29
  272. package/dist/types/models/config/automationActionConfig.d.ts +9 -0
  273. package/dist/types/models/config/automationComponentConfig.d.ts +13 -0
  274. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  275. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  276. package/dist/types/models/config/dataspaceControlPlaneComponentConfig.d.ts +13 -0
  277. package/dist/types/models/config/dataspaceDataPlaneComponentConfig.d.ts +17 -0
  278. package/dist/types/models/config/entityStorageConnectorConfig.d.ts +5 -5
  279. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  280. package/dist/types/models/config/healthComponentConfig.d.ts +13 -0
  281. package/dist/types/models/config/metricsCollectorComponentConfig.d.ts +9 -0
  282. package/dist/types/models/config/metricsProducerComponentConfig.d.ts +12 -0
  283. package/dist/types/models/config/notarizationComponentConfig.d.ts +13 -0
  284. package/dist/types/models/config/notarizationConnectorConfig.d.ts +13 -0
  285. package/dist/types/models/config/platformComponentConfig.d.ts +9 -0
  286. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  287. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  288. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  289. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  290. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  291. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  292. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  293. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  294. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  295. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  296. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  297. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  298. package/dist/types/models/config/schemaVersionMigrationComponentConfig.d.ts +9 -0
  299. package/dist/types/models/config/telemetryConnectorConfig.d.ts +4 -0
  300. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  301. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  302. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +12 -0
  303. package/dist/types/models/types/automationActionType.d.ts +13 -0
  304. package/dist/types/models/types/automationComponentType.d.ts +17 -0
  305. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  306. package/dist/types/models/types/dataspaceControlPlaneComponentType.d.ts +17 -0
  307. package/dist/types/models/types/dataspaceDataPlaneComponentType.d.ts +21 -0
  308. package/dist/types/models/types/entityStorageConnectorType.d.ts +1 -5
  309. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  310. package/dist/types/models/types/healthComponentType.d.ts +17 -0
  311. package/dist/types/models/types/metricsCollectorComponentType.d.ts +13 -0
  312. package/dist/types/models/types/metricsProducerComponentType.d.ts +17 -0
  313. package/dist/types/models/types/notarizationComponentType.d.ts +17 -0
  314. package/dist/types/models/types/notarizationConnectorType.d.ts +17 -0
  315. package/dist/types/models/types/platformComponentType.d.ts +13 -0
  316. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  317. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  318. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  319. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  320. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  321. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  322. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  323. package/dist/types/models/types/schemaVersionMigrationComponentType.d.ts +13 -0
  324. package/dist/types/models/types/telemetryConnectorType.d.ts +4 -0
  325. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  326. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  327. package/dist/types/models/types/trustVerifierComponentType.d.ts +17 -0
  328. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  329. package/docs/changelog.md +1001 -149
  330. package/docs/examples.md +74 -1
  331. package/docs/reference/classes/EngineTypeHelper.md +57 -4
  332. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  333. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  334. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  335. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  336. package/docs/reference/functions/initialiseAutomationAction.md +31 -0
  337. package/docs/reference/functions/initialiseAutomationComponent.md +31 -0
  338. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  339. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  340. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  341. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +2 -2
  342. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  343. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  344. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  345. package/docs/reference/functions/initialiseDataspaceControlPlaneComponent.md +31 -0
  346. package/docs/reference/functions/initialiseDataspaceDataPlaneComponent.md +31 -0
  347. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  348. package/docs/reference/functions/initialiseEntityStorageComponent.md +3 -3
  349. package/docs/reference/functions/initialiseEntityStorageConnector.md +4 -6
  350. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  351. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  352. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  353. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  354. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  355. package/docs/reference/functions/initialiseHealthComponent.md +31 -0
  356. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  357. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  358. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  359. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  360. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  361. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  362. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  363. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  364. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  365. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  366. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  367. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  368. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  369. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  370. package/docs/reference/functions/initialiseMetricsCollectorComponent.md +31 -0
  371. package/docs/reference/functions/initialiseMetricsProducerComponent.md +31 -0
  372. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  373. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  374. package/docs/reference/functions/initialiseNotarizationComponent.md +31 -0
  375. package/docs/reference/functions/initialiseNotarizationConnector.md +31 -0
  376. package/docs/reference/functions/initialisePlatformComponent.md +31 -0
  377. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  378. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  379. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  380. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  381. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  382. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  383. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  384. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  385. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  386. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  387. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  388. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  389. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  390. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  391. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  392. package/docs/reference/functions/initialiseSchemaVersionMigrationComponent.md +31 -0
  393. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  394. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  395. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  396. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  397. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  398. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  399. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  400. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  401. package/docs/reference/functions/initialiseWalletConnector.md +3 -3
  402. package/docs/reference/index.md +92 -32
  403. package/docs/reference/interfaces/IEngineConfig.md +219 -81
  404. package/docs/reference/type-aliases/AttestationConnectorConfig.md +3 -3
  405. package/docs/reference/type-aliases/AutomationActionConfig.md +17 -0
  406. package/docs/reference/type-aliases/AutomationActionType.md +5 -0
  407. package/docs/reference/type-aliases/AutomationComponentConfig.md +5 -0
  408. package/docs/reference/type-aliases/AutomationComponentType.md +5 -0
  409. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  410. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  411. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  412. package/docs/reference/type-aliases/DataExtractorConnectorConfig.md +3 -3
  413. package/docs/reference/type-aliases/DataspaceControlPlaneComponentConfig.md +5 -0
  414. package/docs/reference/type-aliases/DataspaceControlPlaneComponentType.md +5 -0
  415. package/docs/reference/type-aliases/DataspaceDataPlaneComponentConfig.md +5 -0
  416. package/docs/reference/type-aliases/DataspaceDataPlaneComponentType.md +5 -0
  417. package/docs/reference/type-aliases/DltConfig.md +4 -4
  418. package/docs/reference/type-aliases/EntityStorageConnectorConfig.md +1 -1
  419. package/docs/reference/type-aliases/EventBusConnectorConfig.md +3 -3
  420. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  421. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  422. package/docs/reference/type-aliases/HealthComponentConfig.md +5 -0
  423. package/docs/reference/type-aliases/HealthComponentType.md +5 -0
  424. package/docs/reference/type-aliases/IdentityProfileConnectorConfig.md +3 -3
  425. package/docs/reference/type-aliases/MessagingAdminComponentConfig.md +3 -3
  426. package/docs/reference/type-aliases/MessagingComponentConfig.md +3 -3
  427. package/docs/reference/type-aliases/MetricsCollectorComponentConfig.md +17 -0
  428. package/docs/reference/type-aliases/MetricsCollectorComponentType.md +5 -0
  429. package/docs/reference/type-aliases/MetricsProducerComponentConfig.md +5 -0
  430. package/docs/reference/type-aliases/MetricsProducerComponentType.md +5 -0
  431. package/docs/reference/type-aliases/NotarizationComponentConfig.md +5 -0
  432. package/docs/reference/type-aliases/NotarizationComponentType.md +5 -0
  433. package/docs/reference/type-aliases/NotarizationConnectorConfig.md +5 -0
  434. package/docs/reference/type-aliases/NotarizationConnectorType.md +5 -0
  435. package/docs/reference/type-aliases/PlatformComponentConfig.md +17 -0
  436. package/docs/reference/type-aliases/PlatformComponentType.md +5 -0
  437. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +3 -9
  438. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +3 -9
  439. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +3 -9
  440. package/docs/reference/type-aliases/RightsManagementPmpComponentConfig.md +3 -3
  441. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  442. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  443. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  444. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  445. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  446. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  447. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  448. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  449. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  450. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  451. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  452. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  453. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  454. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  455. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  456. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +3 -9
  457. package/docs/reference/type-aliases/SchemaVersionMigrationComponentConfig.md +17 -0
  458. package/docs/reference/type-aliases/SchemaVersionMigrationComponentType.md +5 -0
  459. package/docs/reference/type-aliases/TaskSchedulerComponentConfig.md +3 -3
  460. package/docs/reference/type-aliases/TelemetryConnectorConfig.md +1 -13
  461. package/docs/reference/type-aliases/TenantAdminComponentConfig.md +3 -3
  462. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  463. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  464. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  465. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  466. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +5 -0
  467. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  468. package/docs/reference/variables/AttestationComponentType.md +2 -2
  469. package/docs/reference/variables/AttestationConnectorType.md +1 -1
  470. package/docs/reference/variables/AuditableItemGraphComponentType.md +2 -2
  471. package/docs/reference/variables/AuditableItemStreamComponentType.md +2 -2
  472. package/docs/reference/variables/AutomationActionType.md +13 -0
  473. package/docs/reference/variables/AutomationComponentType.md +19 -0
  474. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  475. package/docs/reference/variables/BlobStorageComponentType.md +2 -2
  476. package/docs/reference/variables/BlobStorageConnectorType.md +6 -6
  477. package/docs/reference/variables/ContextIdHandlerComponentType.md +2 -2
  478. package/docs/reference/variables/DataConverterConnectorType.md +2 -2
  479. package/docs/reference/variables/DataExtractorConnectorType.md +1 -1
  480. package/docs/reference/variables/DataProcessingComponentType.md +2 -2
  481. package/docs/reference/variables/DataspaceControlPlaneComponentType.md +19 -0
  482. package/docs/reference/variables/{DataSpaceConnectorComponentType.md → DataspaceDataPlaneComponentType.md} +6 -6
  483. package/docs/reference/variables/DltConfigType.md +1 -1
  484. package/docs/reference/variables/DocumentManagementComponentType.md +2 -2
  485. package/docs/reference/variables/EntityStorageComponentType.md +2 -2
  486. package/docs/reference/variables/EntityStorageConnectorType.md +10 -16
  487. package/docs/reference/variables/EventBusComponentType.md +2 -2
  488. package/docs/reference/variables/EventBusConnectorType.md +1 -1
  489. package/docs/reference/variables/FaucetConnectorType.md +2 -2
  490. package/docs/reference/variables/FederatedCatalogueComponentType.md +2 -2
  491. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  492. package/docs/reference/variables/{VerifiableStorageComponentType.md → HealthComponentType.md} +5 -5
  493. package/docs/reference/variables/IdentityComponentType.md +2 -2
  494. package/docs/reference/variables/IdentityConnectorType.md +2 -2
  495. package/docs/reference/variables/IdentityProfileComponentType.md +2 -2
  496. package/docs/reference/variables/IdentityProfileConnectorType.md +1 -1
  497. package/docs/reference/variables/IdentityResolverComponentType.md +2 -2
  498. package/docs/reference/variables/IdentityResolverConnectorType.md +3 -3
  499. package/docs/reference/variables/ImmutableProofComponentType.md +2 -2
  500. package/docs/reference/variables/LoggingComponentType.md +2 -2
  501. package/docs/reference/variables/LoggingConnectorType.md +3 -3
  502. package/docs/reference/variables/MessagingAdminComponentType.md +1 -1
  503. package/docs/reference/variables/MessagingComponentType.md +1 -1
  504. package/docs/reference/variables/MessagingEmailConnectorType.md +2 -2
  505. package/docs/reference/variables/MessagingPushNotificationConnectorType.md +2 -2
  506. package/docs/reference/variables/MessagingSmsConnectorType.md +2 -2
  507. package/docs/reference/variables/MetricsCollectorComponentType.md +13 -0
  508. package/docs/reference/variables/MetricsProducerComponentType.md +19 -0
  509. package/docs/reference/variables/NftComponentType.md +2 -2
  510. package/docs/reference/variables/NftConnectorType.md +2 -2
  511. package/docs/reference/variables/NotarizationComponentType.md +19 -0
  512. package/docs/reference/variables/NotarizationConnectorType.md +19 -0
  513. package/docs/reference/variables/PlatformComponentType.md +13 -0
  514. package/docs/reference/variables/RightsManagementPapComponentType.md +2 -2
  515. package/docs/reference/variables/RightsManagementPdpComponentType.md +1 -1
  516. package/docs/reference/variables/RightsManagementPepComponentType.md +2 -2
  517. package/docs/reference/variables/RightsManagementPipComponentType.md +1 -1
  518. package/docs/reference/variables/RightsManagementPmpComponentType.md +1 -1
  519. package/docs/reference/variables/RightsManagementPnapComponentType.md +2 -2
  520. package/docs/reference/variables/RightsManagementPnpComponentType.md +2 -2
  521. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  522. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  523. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  524. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  525. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  526. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  527. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  528. package/docs/reference/variables/RightsManagementPxpComponentType.md +1 -1
  529. package/docs/reference/variables/SchemaVersionMigrationComponentType.md +13 -0
  530. package/docs/reference/variables/TaskSchedulerComponentType.md +1 -1
  531. package/docs/reference/variables/TelemetryComponentType.md +2 -2
  532. package/docs/reference/variables/TelemetryConnectorType.md +7 -1
  533. package/docs/reference/variables/TenantAdminComponentType.md +1 -1
  534. package/docs/reference/variables/TrustComponentType.md +13 -0
  535. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  536. package/docs/reference/variables/TrustVerifierComponentType.md +19 -0
  537. package/docs/reference/variables/VaultConnectorType.md +2 -2
  538. package/docs/reference/variables/WalletConnectorType.md +2 -2
  539. package/package.json +32 -21
  540. package/dist/es/components/authenticationGenerator.js +0 -30
  541. package/dist/es/components/authenticationGenerator.js.map +0 -1
  542. package/dist/es/components/dataSpaceConnector.js +0 -52
  543. package/dist/es/components/dataSpaceConnector.js.map +0 -1
  544. package/dist/es/components/rightsManagementDap.js +0 -38
  545. package/dist/es/components/rightsManagementDap.js.map +0 -1
  546. package/dist/es/components/rightsManagementDarp.js +0 -29
  547. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  548. package/dist/es/components/synchronisedStorage.js +0 -47
  549. package/dist/es/components/synchronisedStorage.js.map +0 -1
  550. package/dist/es/components/verifiableStorage.js +0 -79
  551. package/dist/es/components/verifiableStorage.js.map +0 -1
  552. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  553. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  554. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  555. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  556. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js +0 -2
  557. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js.map +0 -1
  558. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  559. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  560. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  561. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  562. package/dist/es/models/config/synchronisedStorageComponentConfig.js +0 -2
  563. package/dist/es/models/config/synchronisedStorageComponentConfig.js.map +0 -1
  564. package/dist/es/models/config/verifiableStorageComponentConfig.js +0 -2
  565. package/dist/es/models/config/verifiableStorageComponentConfig.js.map +0 -1
  566. package/dist/es/models/config/verifiableStorageConnectorConfig.js +0 -2
  567. package/dist/es/models/config/verifiableStorageConnectorConfig.js.map +0 -1
  568. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  569. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  570. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  571. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  572. package/dist/es/models/types/dataSpaceConnectorComponentType.js.map +0 -1
  573. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  574. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  575. package/dist/es/models/types/synchronisedStorageComponentType.js.map +0 -1
  576. package/dist/es/models/types/verifiableStorageComponentType.js.map +0 -1
  577. package/dist/es/models/types/verifiableStorageConnectorType.js.map +0 -1
  578. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  579. package/dist/types/components/dataSpaceConnector.d.ts +0 -16
  580. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  581. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  582. package/dist/types/components/synchronisedStorage.d.ts +0 -16
  583. package/dist/types/components/verifiableStorage.d.ts +0 -30
  584. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  585. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  586. package/dist/types/models/config/dataSpaceConnectorComponentConfig.d.ts +0 -17
  587. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  588. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  589. package/dist/types/models/config/synchronisedStorageComponentConfig.d.ts +0 -13
  590. package/dist/types/models/config/verifiableStorageComponentConfig.d.ts +0 -13
  591. package/dist/types/models/config/verifiableStorageConnectorConfig.d.ts +0 -13
  592. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  593. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  594. package/dist/types/models/types/dataSpaceConnectorComponentType.d.ts +0 -21
  595. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  596. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  597. package/dist/types/models/types/synchronisedStorageComponentType.d.ts +0 -17
  598. package/dist/types/models/types/verifiableStorageComponentType.d.ts +0 -17
  599. package/dist/types/models/types/verifiableStorageConnectorType.d.ts +0 -17
  600. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  601. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  602. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +0 -31
  603. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  604. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  605. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +0 -31
  606. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +0 -31
  607. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +0 -31
  608. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  609. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  610. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  611. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  612. package/docs/reference/type-aliases/DataSpaceConnectorComponentConfig.md +0 -5
  613. package/docs/reference/type-aliases/DataSpaceConnectorComponentType.md +0 -5
  614. package/docs/reference/type-aliases/IVerifiableStorageComponentType.md +0 -5
  615. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  616. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  617. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  618. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  619. package/docs/reference/type-aliases/SynchronisedStorageComponentConfig.md +0 -5
  620. package/docs/reference/type-aliases/SynchronisedStorageComponentType.md +0 -5
  621. package/docs/reference/type-aliases/VerifiableStorageComponentConfig.md +0 -5
  622. package/docs/reference/type-aliases/VerifiableStorageConnectorConfig.md +0 -5
  623. package/docs/reference/type-aliases/VerifiableStorageConnectorType.md +0 -5
  624. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  625. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  626. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  627. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
  628. package/docs/reference/variables/SynchronisedStorageComponentType.md +0 -19
  629. package/docs/reference/variables/VerifiableStorageConnectorType.md +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"immutableProof.js","sourceRoot":"","sources":["../../../src/components/immutableProof.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAEN,qBAAqB,EACrB,UAAU,IAAI,wBAAwB,EACtC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,UAAsC,EACtC,OAA0C,EAC1C,cAA6C;IAM7C,IAAI,SAA+C,CAAC;IACpD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,OAAO,EAAE,CAAC;QACjE,wBAAwB,EAAE,CAAC;QAE3B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,+BAA+B,oBAEvD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QAEF,SAAS,GAAG,IAAI,qBAAqB,CAAC;YACrC,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,4BAA4B,CAAC;YACzF,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;YAChF,2BAA2B,EAAE,UAAU,CAAC,yBAAyB,CAAC,yBAAyB,CAAC;YAC5F,qBAAqB,EAAE,UAAU,CAAC,iCAAiC,CAAC,mBAAmB,CAAC;YACxF,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,4BAAyC,CAAC;IACvD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,UAAU,EAAE,CAAC;QAC3E,SAAS,GAAG,IAAI,wBAAwB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjE,YAAY,gCAA4C,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport type { IImmutableProofComponent } from \"@twin.org/immutable-proof-models\";\nimport { ImmutableProofRestClient } from \"@twin.org/immutable-proof-rest-client\";\nimport {\n\ttype ImmutableProof,\n\tImmutableProofService,\n\tinitSchema as initSchemaImmutableProof\n} from \"@twin.org/immutable-proof-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { ImmutableProofComponentConfig } from \"../models/config/immutableProofComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { ImmutableProofComponentType } from \"../models/types/immutableProofComponentType.js\";\n\n/**\n * Initialise the immutable proof component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseImmutableProofComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: ImmutableProofComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IImmutableProofComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === ImmutableProofComponentType.Service) {\n\t\tinitSchemaImmutableProof();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.immutableProofEntityStorageType,\n\t\t\tnameof<ImmutableProof>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new ImmutableProofService({\n\t\t\tverifiableStorageType: engineCore.getRegisteredInstanceType(\"verifiableStorageConnector\"),\n\t\t\tidentityConnectorType: engineCore.getRegisteredInstanceType(\"identityConnector\"),\n\t\t\tbackgroundTaskConnectorType: engineCore.getRegisteredInstanceType(\"backgroundTaskConnector\"),\n\t\t\teventBusComponentType: engineCore.getRegisteredInstanceTypeOptional(\"eventBusComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(ImmutableProofService);\n\t} else if (instanceConfig.type === ImmutableProofComponentType.RestClient) {\n\t\tcomponent = new ImmutableProofRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(ImmutableProofRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"immutableProof.js","sourceRoot":"","sources":["../../../src/components/immutableProof.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAEN,qBAAqB,EACrB,UAAU,IAAI,wBAAwB,EACtC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAChD,UAAsC,EACtC,OAA0C,EAC1C,cAA6C;IAE7C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,OAAO,EAAE,CAAC;QACjE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,wBAAwB,EAAE,CAAC;YAE3B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,+BAA+B,oBAErD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,qBAAqB,CAC/B,gBAAgB,CAAC,WAAW,CAC3B;gBACC,yBAAyB,EACxB,UAAU,CAAC,yBAAyB,CAAC,uBAAuB,CAAC;gBAC9D,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;gBAChF,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,yBAA+B;gBACvF,2BAA2B,EAC1B,UAAU,CAAC,yBAAyB,CAAC,yBAAyB,CAAC;gBAChE,qBAAqB,EAAE,UAAU,CAAC,iCAAiC,CAAC,mBAAmB,CAAC;aACxF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,4BAAyC,CAAC;IAC3D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,UAAU,EAAE,CAAC;QAC3E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,wBAAwB,CAC3B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,gCAA4C,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { ImmutableProofRestClient } from \"@twin.org/immutable-proof-rest-client\";\nimport {\n\ttype ImmutableProof,\n\tImmutableProofService,\n\tinitSchema as initSchemaImmutableProof\n} from \"@twin.org/immutable-proof-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { ImmutableProofComponentConfig } from \"../models/config/immutableProofComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { ImmutableProofComponentType } from \"../models/types/immutableProofComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the immutable proof component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseImmutableProofComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: ImmutableProofComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === ImmutableProofComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaImmutableProof();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.immutableProofEntityStorageType,\n\t\t\t\tnameof<ImmutableProof>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new ImmutableProofService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tnotarizationConnectorType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceType(\"notarizationConnector\"),\n\t\t\t\t\t\tidentityConnectorType: engineCore.getRegisteredInstanceType(\"identityConnector\"),\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(nameof(ImmutableProofService)),\n\t\t\t\t\t\tbackgroundTaskComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceType(\"backgroundTaskComponent\"),\n\t\t\t\t\t\teventBusComponentType: engineCore.getRegisteredInstanceTypeOptional(\"eventBusComponent\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(ImmutableProofService);\n\t} else if (instanceConfig.type === ImmutableProofComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew ImmutableProofRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(ImmutableProofRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -10,6 +10,7 @@ import { LoggingService } from "@twin.org/logging-service";
10
10
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
11
11
  import { LoggingComponentType } from "../models/types/loggingComponentType.js";
12
12
  import { LoggingConnectorType } from "../models/types/loggingConnectorType.js";
13
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
13
14
  /**
14
15
  * Initialise the logging connector.
15
16
  * @param engineCore The engine core.
@@ -17,29 +18,33 @@ import { LoggingConnectorType } from "../models/types/loggingConnectorType.js";
17
18
  * @param instanceConfig The instance config.
18
19
  * @returns The instance created and the factory for it.
19
20
  */
20
- export async function initialiseLoggingConnector(engineCore, context, instanceConfig) {
21
- let component;
22
- let instanceType;
21
+ export function initialiseLoggingConnector(engineCore, context, instanceConfig) {
22
+ let createComponent;
23
+ let instanceTypeName;
23
24
  if (instanceConfig.type === LoggingConnectorType.Console) {
24
- component = new ConsoleLoggingConnector(instanceConfig.options);
25
- instanceType = ConsoleLoggingConnector.NAMESPACE;
25
+ createComponent = (createConfig) => new ConsoleLoggingConnector(EngineTypeHelper.mergeConfig(createConfig.options));
26
+ instanceTypeName = ConsoleLoggingConnector.NAMESPACE;
26
27
  }
27
28
  else if (instanceConfig.type === LoggingConnectorType.EntityStorage) {
28
- initSchemaLogging();
29
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.logEntryStorageConnectorType, "LogEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
30
- ContextIdKeys.Node,
31
- ContextIdKeys.Tenant
32
- ]));
33
- component = new EntityStorageLoggingConnector(instanceConfig.options);
34
- instanceType = EntityStorageLoggingConnector.NAMESPACE;
29
+ createComponent = (createConfig) => {
30
+ initSchemaLogging();
31
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.logEntryStorageConnectorType, "LogEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
32
+ ContextIdKeys.Node,
33
+ ContextIdKeys.Tenant
34
+ ]));
35
+ return new EntityStorageLoggingConnector(EngineTypeHelper.mergeConfig({
36
+ platformComponentType: engineCore.getRegisteredInstanceType("platformComponent")
37
+ }, createConfig.options));
38
+ };
39
+ instanceTypeName = EntityStorageLoggingConnector.NAMESPACE;
35
40
  }
36
41
  else if (instanceConfig.type === LoggingConnectorType.Multi) {
37
- component = new MultiLoggingConnector(instanceConfig.options);
38
- instanceType = MultiLoggingConnector.NAMESPACE;
42
+ createComponent = (createConfig) => new MultiLoggingConnector(EngineTypeHelper.mergeConfig(createConfig.options));
43
+ instanceTypeName = MultiLoggingConnector.NAMESPACE;
39
44
  }
40
45
  return {
41
- component,
42
- instanceType,
46
+ createComponent: createComponent,
47
+ instanceTypeName,
43
48
  factory: LoggingConnectorFactory
44
49
  };
45
50
  }
@@ -50,23 +55,22 @@ export async function initialiseLoggingConnector(engineCore, context, instanceCo
50
55
  * @param instanceConfig The instance config.
51
56
  * @returns The instance created and the factory for it.
52
57
  */
53
- export async function initialiseLoggingComponent(engineCore, context, instanceConfig) {
54
- let component;
55
- let instanceType;
58
+ export function initialiseLoggingComponent(engineCore, context, instanceConfig) {
59
+ let createComponent;
60
+ let instanceTypeName;
56
61
  if (instanceConfig.type === LoggingComponentType.Service) {
57
- component = new LoggingService({
58
- loggingConnectorType: engineCore.getRegisteredInstanceType("loggingConnector"),
59
- ...instanceConfig.options
60
- });
61
- instanceType = "logging-service";
62
+ createComponent = (createConfig) => new LoggingService(EngineTypeHelper.mergeConfig({
63
+ loggingConnectorType: engineCore.getRegisteredInstanceType("loggingConnector")
64
+ }, createConfig.options));
65
+ instanceTypeName = "logging-service";
62
66
  }
63
67
  else if (instanceConfig.type === LoggingComponentType.RestClient) {
64
- component = new LoggingRestClient(instanceConfig.options);
65
- instanceType = "logging-rest-client";
68
+ createComponent = (createConfig) => new LoggingRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
69
+ instanceTypeName = "logging-rest-client";
66
70
  }
67
71
  return {
68
- component,
69
- instanceType,
72
+ createComponent: createComponent,
73
+ instanceTypeName,
70
74
  factory: ComponentFactory
71
75
  };
72
76
  }
@@ -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":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAMnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACN,6BAA6B,EAC7B,UAAU,IAAI,iBAAiB,EAE/B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,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;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACzC,UAAsC,EACtC,OAA0C,EAC1C,cAAsC;IAEtC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC1D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,uBAAuB,CAC1B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,CAAC;IACtD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACvE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,iBAAiB,EAAE,CAAC;YACpB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,4BAA4B,cAElD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,6BAA6B,CACvC,gBAAgB,CAAC,WAAW,CAC3B;gBACC,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;aAChF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,6BAA6B,CAAC,SAAS,CAAC;IAC5D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC/D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,qBAAqB,CACxB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,uBAAuB;KAChC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACzC,UAAsC,EACtC,OAA0C,EAC1C,cAAsC;IAEtC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC1D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,cAAc,CACjB,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;SAC9E,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,oBAAkC,CAAC;IACpD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,UAAU,EAAE,CAAC;QACpE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,iBAAiB,CACpB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,wBAAqC,CAAC;IACvD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, 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\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tplatformComponentType: engineCore.getRegisteredInstanceType(\"platformComponent\")\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 = 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{\n\t\t\t\t\t\tloggingConnectorType: engineCore.getRegisteredInstanceType(\"loggingConnector\")\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(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,31 @@ 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({
34
+ loggingComponentType: engineCore.getRegisteredLoggerType("EntityStorageMessagingEmailConnector")
35
+ }, createConfig.options));
36
+ };
37
+ instanceTypeName = EntityStorageMessagingEmailConnector.NAMESPACE;
36
38
  }
37
39
  else if (instanceConfig.type === MessagingEmailConnectorType.Aws) {
38
- component = new AwsMessagingEmailConnector({
39
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
40
- ...instanceConfig.options
41
- });
42
- instanceType = AwsMessagingEmailConnector.NAMESPACE;
40
+ createComponent = (createConfig) => new AwsMessagingEmailConnector(EngineTypeHelper.mergeConfig({
41
+ loggingComponentType: engineCore.getRegisteredLoggerType("AwsMessagingEmailConnector")
42
+ }, createConfig.options));
43
+ instanceTypeName = AwsMessagingEmailConnector.NAMESPACE;
43
44
  }
44
45
  return {
45
- component,
46
- instanceType,
46
+ createComponent: createComponent,
47
+ instanceTypeName,
47
48
  factory: MessagingEmailConnectorFactory
48
49
  };
49
50
  }
@@ -54,32 +55,32 @@ export async function initialiseMessagingEmailConnector(engineCore, context, ins
54
55
  * @param instanceConfig The instance config.
55
56
  * @returns The instance created and the factory for it.
56
57
  */
57
- export async function initialiseMessagingSmsConnector(engineCore, context, instanceConfig) {
58
- let connector;
59
- let instanceType;
58
+ export function initialiseMessagingSmsConnector(engineCore, context, instanceConfig) {
59
+ let createComponent;
60
+ let instanceTypeName;
60
61
  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;
62
+ createComponent = (createConfig) => {
63
+ initSchema({ email: false, sms: true, pushNotification: false });
64
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.messagingSmsEntryStorageConnectorType, "SmsEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
65
+ ContextIdKeys.Node,
66
+ ContextIdKeys.Tenant
67
+ ]));
68
+ return new EntityStorageMessagingSmsConnector(EngineTypeHelper.mergeConfig({
69
+ loggingComponentType: engineCore.getRegisteredLoggerType("EntityStorageMessagingSmsConnector")
70
+ }, createConfig.options));
71
+ };
72
+ instanceTypeName = EntityStorageMessagingSmsConnector.NAMESPACE;
71
73
  }
72
74
  else if (instanceConfig.type === MessagingSmsConnectorType.Aws) {
73
- connector = new AwsMessagingSmsConnector({
74
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
75
- ...instanceConfig.options
76
- });
77
- instanceType = AwsMessagingSmsConnector.NAMESPACE;
75
+ createComponent = (createConfig) => new AwsMessagingSmsConnector(EngineTypeHelper.mergeConfig({
76
+ loggingComponentType: engineCore.getRegisteredLoggerType("AwsMessagingSmsConnector")
77
+ }, createConfig.options));
78
+ instanceTypeName = AwsMessagingSmsConnector.NAMESPACE;
78
79
  }
79
80
  return {
80
- instanceType,
81
- factory: MessagingSmsConnectorFactory,
82
- component: connector
81
+ createComponent: createComponent,
82
+ instanceTypeName,
83
+ factory: MessagingSmsConnectorFactory
83
84
  };
84
85
  }
85
86
  /**
@@ -89,35 +90,35 @@ export async function initialiseMessagingSmsConnector(engineCore, context, insta
89
90
  * @param instanceConfig The instance config.
90
91
  * @returns The instance created and the factory for it.
91
92
  */
92
- export async function initialiseMessagingPushNotificationConnector(engineCore, context, instanceConfig) {
93
- let component;
94
- let instanceType;
93
+ export function initialiseMessagingPushNotificationConnector(engineCore, context, instanceConfig) {
94
+ let createComponent;
95
+ let instanceTypeName;
95
96
  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;
97
+ createComponent = (createConfig) => {
98
+ initSchema({ email: false, sms: false, pushNotification: true });
99
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.messagingDeviceEntryStorageConnectorType, "PushNotificationDeviceEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
100
+ ContextIdKeys.Node,
101
+ ContextIdKeys.Tenant
102
+ ]));
103
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.messagingMessageEntryStorageConnectorType, "PushNotificationMessageEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
104
+ ContextIdKeys.Node,
105
+ ContextIdKeys.Tenant
106
+ ]));
107
+ return new EntityStorageMessagingPushNotificationConnector(EngineTypeHelper.mergeConfig({
108
+ loggingComponentType: engineCore.getRegisteredLoggerType("EntityStorageMessagingPushNotificationConnector")
109
+ }, createConfig.options));
110
+ };
111
+ instanceTypeName = EntityStorageMessagingPushNotificationConnector.NAMESPACE;
110
112
  }
111
113
  else if (instanceConfig.type === MessagingPushNotificationConnectorType.Aws) {
112
- component = new AwsMessagingPushNotificationConnector({
113
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
114
- ...instanceConfig.options
115
- });
116
- instanceType = AwsMessagingPushNotificationConnector.NAMESPACE;
114
+ createComponent = (createConfig) => new AwsMessagingPushNotificationConnector(EngineTypeHelper.mergeConfig({
115
+ loggingComponentType: engineCore.getRegisteredLoggerType("AwsMessagingPushNotificationConnector")
116
+ }, createConfig.options));
117
+ instanceTypeName = AwsMessagingPushNotificationConnector.NAMESPACE;
117
118
  }
118
119
  return {
119
- component,
120
- instanceType,
120
+ createComponent: createComponent,
121
+ instanceTypeName,
121
122
  factory: MessagingPushNotificationsConnectorFactory
122
123
  };
123
124
  }
@@ -128,22 +129,21 @@ export async function initialiseMessagingPushNotificationConnector(engineCore, c
128
129
  * @param instanceConfig The instance config.
129
130
  * @returns The instance created and the factory for it.
130
131
  */
131
- export async function initialiseMessagingComponent(engineCore, context, instanceConfig) {
132
- let component;
133
- let instanceType;
132
+ export function initialiseMessagingComponent(engineCore, context, instanceConfig) {
133
+ let createComponent;
134
+ let instanceTypeName;
134
135
  if (instanceConfig.type === MessagingComponentType.Service) {
135
- component = new MessagingService({
136
+ createComponent = (createConfig) => new MessagingService(EngineTypeHelper.mergeConfig({
136
137
  messagingEmailConnectorType: engineCore.getRegisteredInstanceTypeOptional("messagingEmailConnector"),
137
138
  messagingSmsConnectorType: engineCore.getRegisteredInstanceTypeOptional("messagingSmsConnector"),
138
139
  messagingPushNotificationConnectorType: engineCore.getRegisteredInstanceTypeOptional("messagingNotificationConnector"),
139
- messagingAdminComponentType: engineCore.getRegisteredInstanceTypeOptional("messagingAdminComponent"),
140
- ...instanceConfig.options
141
- });
142
- instanceType = "messaging-service";
140
+ messagingAdminComponentType: engineCore.getRegisteredInstanceTypeOptional("messagingAdminComponent")
141
+ }, createConfig.options));
142
+ instanceTypeName = "messaging-service";
143
143
  }
144
144
  return {
145
- component,
146
- instanceType,
145
+ createComponent,
146
+ instanceTypeName,
147
147
  factory: ComponentFactory
148
148
  };
149
149
  }
@@ -154,23 +154,23 @@ export async function initialiseMessagingComponent(engineCore, context, instance
154
154
  * @param instanceConfig The instance config.
155
155
  * @returns The instance created and the factory for it.
156
156
  */
157
- export async function initialiseMessagingAdminComponent(engineCore, context, instanceConfig) {
158
- let component;
159
- let instanceType;
157
+ export function initialiseMessagingAdminComponent(engineCore, context, instanceConfig) {
158
+ let createComponent;
159
+ let instanceTypeName;
160
160
  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";
161
+ createComponent = (createConfig) => {
162
+ initSchemaMessagingService();
163
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.templateEntryStorageConnectorType, "TemplateEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
164
+ ContextIdKeys.Node,
165
+ ContextIdKeys.Tenant
166
+ ]));
167
+ return new MessagingAdminService(EngineTypeHelper.mergeConfig(createConfig.options));
168
+ };
169
+ instanceTypeName = "messaging-admin-service";
170
170
  }
171
171
  return {
172
- component,
173
- instanceType,
172
+ createComponent,
173
+ instanceTypeName,
174
174
  factory: ComponentFactory
175
175
  };
176
176
  }
@@ -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 type { IComponent } from \"@twin.org/core\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport {\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{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(EntityStorageMessagingEmailConnector)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = 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{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(AwsMessagingEmailConnector)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = 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{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(EntityStorageMessagingSmsConnector)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = 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{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(AwsMessagingSmsConnector)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = 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{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(EntityStorageMessagingPushNotificationConnector)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = 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{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredLoggerType(\n\t\t\t\t\t\t\tnameof(AwsMessagingPushNotificationConnector)\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = 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,\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,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,29 @@
1
+ // Copyright 2026 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ComponentFactory } from "@twin.org/core";
4
+ import { MetricsCollectorService } from "@twin.org/telemetry-service";
5
+ import { MetricsCollectorComponentType } from "../models/types/metricsCollectorComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
7
+ /**
8
+ * Initialise the metrics collector orchestrator component.
9
+ * @param engineCore The engine core.
10
+ * @param context The context for the engine.
11
+ * @param instanceConfig The instance config.
12
+ * @returns The instance created and the factory for it.
13
+ */
14
+ export function initialiseMetricsCollectorComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
17
+ if (instanceConfig.type === MetricsCollectorComponentType.Service) {
18
+ createComponent = (createConfig) => new MetricsCollectorService(EngineTypeHelper.mergeConfig({
19
+ platformComponentType: engineCore.getRegisteredInstanceType("platformComponent")
20
+ }, createConfig.options));
21
+ instanceTypeName = "metrics-collector-service";
22
+ }
23
+ return {
24
+ createComponent,
25
+ instanceTypeName,
26
+ factory: ComponentFactory
27
+ };
28
+ }
29
+ //# sourceMappingURL=metricsCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metricsCollector.js","sourceRoot":"","sources":["../../../src/components/metricsCollector.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC,CAClD,UAAsC,EACtC,OAA0C,EAC1C,cAA+C;IAE/C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,OAAO,EAAE,CAAC;QACnE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,uBAAuB,CAC1B,gBAAgB,CAAC,WAAW,CAC3B;YACC,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;SAChF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,8BAA2C,CAAC;IAC7D,CAAC;IAED,OAAO;QACN,eAAe;QACf,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { MetricsCollectorService } from \"@twin.org/telemetry-service\";\nimport type { MetricsCollectorComponentConfig } from \"../models/config/metricsCollectorComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { MetricsCollectorComponentType } from \"../models/types/metricsCollectorComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the metrics collector orchestrator 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 initialiseMetricsCollectorComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MetricsCollectorComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MetricsCollectorComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew MetricsCollectorService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tplatformComponentType: engineCore.getRegisteredInstanceType(\"platformComponent\")\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(MetricsCollectorService);\n\t}\n\n\treturn {\n\t\tcreateComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,33 @@
1
+ import { MetricsProducerFactory } from "@twin.org/telemetry-models";
2
+ import { ProcessMetricsProducer, SystemMetricsProducer } from "@twin.org/telemetry-producers";
3
+ import { MetricsProducerComponentType } from "../models/types/metricsProducerComponentType.js";
4
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
5
+ /**
6
+ * Initialise a metrics producer.
7
+ * @param engineCore The engine core.
8
+ * @param context The context for the engine.
9
+ * @param instanceConfig The instance config.
10
+ * @returns The instance created and the factory for it.
11
+ */
12
+ export function initialiseMetricsProducerComponent(engineCore, context, instanceConfig) {
13
+ let createComponent;
14
+ let instanceTypeName;
15
+ if (instanceConfig.type === MetricsProducerComponentType.System) {
16
+ createComponent = (createConfig) => new SystemMetricsProducer(EngineTypeHelper.mergeConfig({
17
+ telemetryComponentType: engineCore.getRegisteredInstanceType("telemetryComponent")
18
+ }, createConfig.options));
19
+ instanceTypeName = "system-metrics-producer";
20
+ }
21
+ else if (instanceConfig.type === MetricsProducerComponentType.Process) {
22
+ createComponent = (createConfig) => new ProcessMetricsProducer(EngineTypeHelper.mergeConfig({
23
+ telemetryComponentType: engineCore.getRegisteredInstanceType("telemetryComponent")
24
+ }, createConfig.options));
25
+ instanceTypeName = "process-metrics-producer";
26
+ }
27
+ return {
28
+ createComponent: createComponent,
29
+ instanceTypeName,
30
+ factory: MetricsProducerFactory
31
+ };
32
+ }
33
+ //# sourceMappingURL=metricsProducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metricsProducer.js","sourceRoot":"","sources":["../../../src/components/metricsProducer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAG9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,kCAAkC,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAA8C;IAE9C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,MAAM,EAAE,CAAC;QACjE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,qBAAqB,CACxB,gBAAgB,CAAC,WAAW,CAC3B;YACC,sBAAsB,EAAE,UAAU,CAAC,yBAAyB,CAAC,oBAAoB,CAAC;SAClF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,4BAAyC,CAAC;IAC3D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,EAAE,CAAC;QACzE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,sBAAsB,CACzB,gBAAgB,CAAC,WAAW,CAC3B;YACC,sBAAsB,EAAE,UAAU,CAAC,yBAAyB,CAAC,oBAAoB,CAAC;SAClF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,6BAA0C,CAAC;IAC5D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,sBAAsB;KAC/B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { MetricsProducerFactory } from \"@twin.org/telemetry-models\";\nimport { ProcessMetricsProducer, SystemMetricsProducer } from \"@twin.org/telemetry-producers\";\nimport type { MetricsProducerComponentConfig } from \"../models/config/metricsProducerComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { MetricsProducerComponentType } from \"../models/types/metricsProducerComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a metrics producer.\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 initialiseMetricsProducerComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MetricsProducerComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof MetricsProducerFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MetricsProducerComponentType.System) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew SystemMetricsProducer(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\ttelemetryComponentType: engineCore.getRegisteredInstanceType(\"telemetryComponent\")\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(SystemMetricsProducer);\n\t} else if (instanceConfig.type === MetricsProducerComponentType.Process) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew ProcessMetricsProducer(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\ttelemetryComponentType: engineCore.getRegisteredInstanceType(\"telemetryComponent\")\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(ProcessMetricsProducer);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MetricsProducerFactory\n\t};\n}\n"]}