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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/dist/es/components/attestation.js +20 -22
  2. package/dist/es/components/attestation.js.map +1 -1
  3. package/dist/es/components/auditableItemGraph.js +26 -22
  4. package/dist/es/components/auditableItemGraph.js.map +1 -1
  5. package/dist/es/components/auditableItemStream.js +26 -22
  6. package/dist/es/components/auditableItemStream.js.map +1 -1
  7. package/dist/es/components/backgroundTask.js +18 -18
  8. package/dist/es/components/backgroundTask.js.map +1 -1
  9. package/dist/es/components/blobStorage.js +69 -80
  10. package/dist/es/components/blobStorage.js.map +1 -1
  11. package/dist/es/components/contextIdHandler.js +31 -0
  12. package/dist/es/components/contextIdHandler.js.map +1 -0
  13. package/dist/es/components/dataProcessing.js +33 -32
  14. package/dist/es/components/dataProcessing.js.map +1 -1
  15. package/dist/es/components/dataSpaceConnector.js +26 -25
  16. package/dist/es/components/dataSpaceConnector.js.map +1 -1
  17. package/dist/es/components/documentManagement.js +12 -12
  18. package/dist/es/components/documentManagement.js.map +1 -1
  19. package/dist/es/components/entityStorage.js +20 -21
  20. package/dist/es/components/entityStorage.js.map +1 -1
  21. package/dist/es/components/eventBus.js +19 -27
  22. package/dist/es/components/eventBus.js.map +1 -1
  23. package/dist/es/components/faucet.js +18 -18
  24. package/dist/es/components/faucet.js.map +1 -1
  25. package/dist/es/components/federatedCatalogue.js +14 -18
  26. package/dist/es/components/federatedCatalogue.js.map +1 -1
  27. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  28. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  29. package/dist/es/components/identity.js +28 -31
  30. package/dist/es/components/identity.js.map +1 -1
  31. package/dist/es/components/identityProfile.js +26 -24
  32. package/dist/es/components/identityProfile.js.map +1 -1
  33. package/dist/es/components/identityResolver.js +36 -40
  34. package/dist/es/components/identityResolver.js.map +1 -1
  35. package/dist/es/components/immutableProof.js +23 -20
  36. package/dist/es/components/immutableProof.js.map +1 -1
  37. package/dist/es/components/logging.js +28 -28
  38. package/dist/es/components/logging.js.map +1 -1
  39. package/dist/es/components/messaging.js +77 -89
  40. package/dist/es/components/messaging.js.map +1 -1
  41. package/dist/es/components/nft.js +33 -33
  42. package/dist/es/components/nft.js.map +1 -1
  43. package/dist/es/components/rightsManagementPap.js +17 -17
  44. package/dist/es/components/rightsManagementPap.js.map +1 -1
  45. package/dist/es/components/rightsManagementPdp.js +11 -25
  46. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  47. package/dist/es/components/rightsManagementPep.js +12 -24
  48. package/dist/es/components/rightsManagementPep.js.map +1 -1
  49. package/dist/es/components/rightsManagementPip.js +9 -25
  50. package/dist/es/components/rightsManagementPip.js.map +1 -1
  51. package/dist/es/components/rightsManagementPmp.js +10 -10
  52. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  53. package/dist/es/components/rightsManagementPnap.js +20 -18
  54. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  55. package/dist/es/components/rightsManagementPnp.js +14 -36
  56. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  57. package/dist/es/components/rightsManagementPolicyArbiter.js +32 -0
  58. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  59. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  60. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  61. package/dist/es/components/rightsManagementPolicyExecutionAction.js +25 -0
  62. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  63. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  64. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  65. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  66. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  67. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  68. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  69. package/dist/es/components/rightsManagementPolicyRequester.js +25 -0
  70. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  71. package/dist/es/components/rightsManagementPxp.js +9 -25
  72. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  73. package/dist/es/components/synchronisedStorage.js +25 -23
  74. package/dist/es/components/synchronisedStorage.js.map +1 -1
  75. package/dist/es/components/taskScheduler.js +10 -10
  76. package/dist/es/components/taskScheduler.js.map +1 -1
  77. package/dist/es/components/telemetry.js +29 -32
  78. package/dist/es/components/telemetry.js.map +1 -1
  79. package/dist/es/components/tenant.js +12 -11
  80. package/dist/es/components/tenant.js.map +1 -1
  81. package/dist/es/components/trust.js +27 -0
  82. package/dist/es/components/trust.js.map +1 -0
  83. package/dist/es/components/trustGenerator.js +28 -0
  84. package/dist/es/components/trustGenerator.js.map +1 -0
  85. package/dist/es/components/trustVerifier.js +28 -0
  86. package/dist/es/components/trustVerifier.js.map +1 -0
  87. package/dist/es/components/vault.js +15 -12
  88. package/dist/es/components/vault.js.map +1 -1
  89. package/dist/es/components/verifiableStorage.js +32 -34
  90. package/dist/es/components/verifiableStorage.js.map +1 -1
  91. package/dist/es/components/wallet.js +23 -24
  92. package/dist/es/components/wallet.js.map +1 -1
  93. package/dist/es/index.js +38 -11
  94. package/dist/es/index.js.map +1 -1
  95. package/dist/es/models/IEngineConfig.js.map +1 -1
  96. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  97. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  98. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  99. package/dist/es/models/config/contextIdHandlerComponentConfig.js +2 -0
  100. package/dist/es/models/config/contextIdHandlerComponentConfig.js.map +1 -0
  101. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  102. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  103. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  104. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  105. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  106. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  107. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  108. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  109. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  110. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  111. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  112. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  113. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  114. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  115. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  116. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  117. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  118. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  119. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  120. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  121. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  122. package/dist/es/models/config/trustComponentConfig.js +2 -0
  123. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  125. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  127. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  128. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  129. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  130. package/dist/es/models/types/contextIdHandlerComponentType.js +17 -0
  131. package/dist/es/models/types/contextIdHandlerComponentType.js.map +1 -0
  132. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  133. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  134. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  135. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  136. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  137. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  138. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  139. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  140. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  141. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  142. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  143. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  144. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  145. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  146. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  147. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  148. package/dist/es/models/types/trustComponentType.js +13 -0
  149. package/dist/es/models/types/trustComponentType.js.map +1 -0
  150. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  151. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  152. package/dist/es/models/types/trustVerifierComponentType.js +13 -0
  153. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  154. package/dist/es/utils/engineTypeHelper.js +19 -1
  155. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  156. package/dist/types/components/attestation.d.ts +5 -13
  157. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  158. package/dist/types/components/auditableItemStream.d.ts +3 -7
  159. package/dist/types/components/backgroundTask.d.ts +5 -10
  160. package/dist/types/components/blobStorage.d.ts +4 -12
  161. package/dist/types/components/contextIdHandler.d.ts +12 -0
  162. package/dist/types/components/dataProcessing.d.ts +5 -17
  163. package/dist/types/components/dataSpaceConnector.d.ts +3 -7
  164. package/dist/types/components/documentManagement.d.ts +3 -7
  165. package/dist/types/components/entityStorage.d.ts +3 -7
  166. package/dist/types/components/eventBus.d.ts +4 -12
  167. package/dist/types/components/faucet.d.ts +2 -7
  168. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  169. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  170. package/dist/types/components/identity.d.ts +4 -12
  171. package/dist/types/components/identityProfile.d.ts +4 -12
  172. package/dist/types/components/identityResolver.d.ts +4 -12
  173. package/dist/types/components/immutableProof.d.ts +3 -7
  174. package/dist/types/components/logging.d.ts +4 -12
  175. package/dist/types/components/messaging.d.ts +7 -27
  176. package/dist/types/components/nft.d.ts +4 -12
  177. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  178. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  179. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  180. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  181. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  182. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  183. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  184. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  185. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  186. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  187. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  188. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  189. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  190. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  191. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  192. package/dist/types/components/synchronisedStorage.d.ts +3 -7
  193. package/dist/types/components/taskScheduler.d.ts +3 -7
  194. package/dist/types/components/telemetry.d.ts +4 -12
  195. package/dist/types/components/tenant.d.ts +3 -7
  196. package/dist/types/components/trust.d.ts +12 -0
  197. package/dist/types/components/trustGenerator.d.ts +12 -0
  198. package/dist/types/components/trustVerifier.d.ts +12 -0
  199. package/dist/types/components/vault.d.ts +2 -7
  200. package/dist/types/components/verifiableStorage.d.ts +4 -12
  201. package/dist/types/components/wallet.d.ts +2 -7
  202. package/dist/types/index.d.ts +38 -11
  203. package/dist/types/models/IEngineConfig.d.ts +57 -12
  204. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  205. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  206. package/dist/types/models/config/contextIdHandlerComponentConfig.d.ts +11 -0
  207. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  208. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  209. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  210. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  211. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  212. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  213. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  214. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  215. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  216. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  217. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  218. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  219. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  220. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  221. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  222. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +9 -0
  223. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  224. package/dist/types/models/types/contextIdHandlerComponentType.d.ts +17 -0
  225. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  226. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  227. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  228. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  229. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  230. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  231. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  232. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  233. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  234. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  235. package/dist/types/models/types/trustVerifierComponentType.d.ts +13 -0
  236. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  237. package/docs/changelog.md +330 -0
  238. package/docs/reference/classes/EngineTypeHelper.md +53 -0
  239. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  240. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  241. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  242. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  243. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  244. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  245. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  246. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +31 -0
  247. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  248. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  249. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  250. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +2 -2
  251. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  252. package/docs/reference/functions/initialiseEntityStorageComponent.md +2 -2
  253. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  254. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  255. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  256. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  257. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  258. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  259. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  260. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  261. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  262. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  263. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  264. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  265. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  266. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  267. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  268. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  269. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  270. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  271. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  272. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  273. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  274. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  275. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  276. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  277. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  278. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  279. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  280. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  281. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  282. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  283. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  284. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  285. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  286. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  287. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  288. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  289. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +2 -2
  290. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  291. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  292. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  293. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  294. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  295. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  296. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  297. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  298. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +2 -2
  299. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +2 -2
  300. package/docs/reference/functions/initialiseWalletConnector.md +2 -2
  301. package/docs/reference/index.md +52 -16
  302. package/docs/reference/interfaces/IEngineConfig.md +66 -12
  303. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  304. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  305. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  306. package/docs/reference/type-aliases/ContextIdHandlerComponentConfig.md +5 -0
  307. package/docs/reference/type-aliases/ContextIdHandlerComponentType.md +5 -0
  308. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  309. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  310. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +1 -7
  311. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +1 -7
  312. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +1 -7
  313. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  314. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  315. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  316. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  317. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  318. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  319. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  320. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  321. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  322. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  323. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  324. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  325. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  326. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  327. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  328. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +1 -7
  329. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  330. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  331. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  332. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  333. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +17 -0
  334. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  335. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  336. package/docs/reference/variables/ContextIdHandlerComponentType.md +19 -0
  337. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  338. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  339. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  340. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  341. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  342. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  343. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  344. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  345. package/docs/reference/variables/TrustComponentType.md +13 -0
  346. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  347. package/docs/reference/variables/TrustVerifierComponentType.md +13 -0
  348. package/package.json +10 -5
  349. package/dist/es/components/authenticationGenerator.js +0 -30
  350. package/dist/es/components/authenticationGenerator.js.map +0 -1
  351. package/dist/es/components/rightsManagementDap.js +0 -38
  352. package/dist/es/components/rightsManagementDap.js.map +0 -1
  353. package/dist/es/components/rightsManagementDarp.js +0 -29
  354. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  355. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  356. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  357. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  358. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  359. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  360. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  361. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  362. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  363. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  364. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  365. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  366. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  367. package/dist/es/models/types/rightsManagementDapComponentType.js +0 -17
  368. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  369. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  370. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  371. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  372. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  373. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  374. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  375. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  376. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  377. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  378. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  379. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  380. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  381. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  382. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  383. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  384. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  385. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  386. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  387. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  388. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  389. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  390. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  391. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  392. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  393. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  394. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  395. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  396. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
@@ -6,6 +6,7 @@ import { SynchronisedStorageRestClient } from "@twin.org/synchronised-storage-re
6
6
  import { SynchronisedStorageService, initSchema as initSchemaSynchronisedStorage } from "@twin.org/synchronised-storage-service";
7
7
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
8
  import { SynchronisedStorageComponentType } from "../models/types/synchronisedStorageComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
9
10
  /**
10
11
  * Initialise the synchronised storage component.
11
12
  * @param engineCore The engine core.
@@ -13,34 +14,35 @@ import { SynchronisedStorageComponentType } from "../models/types/synchronisedSt
13
14
  * @param instanceConfig The instance config.
14
15
  * @returns The instance created and the factory for it.
15
16
  */
16
- export async function initialiseSynchronisedStorageComponent(engineCore, context, instanceConfig) {
17
- let component;
18
- let instanceType;
17
+ export function initialiseSynchronisedStorageComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
19
20
  if (instanceConfig.type === SynchronisedStorageComponentType.Service) {
20
- initSchemaSynchronisedStorage();
21
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.syncSnapshotStorageConnectorType, "SyncSnapshotEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
22
- component = new SynchronisedStorageService({
23
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
24
- eventBusComponentType: engineCore.getRegisteredInstanceType("eventBusComponent"),
25
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
26
- verifiableStorageConnectorType: engineCore.getRegisteredInstanceType("verifiableStorageConnector"),
27
- taskSchedulerComponentType: engineCore.getRegisteredInstanceType("taskSchedulerComponent"),
28
- policyEnforcementPointComponentType: engineCore.getRegisteredInstanceTypeOptional("rightsManagementPepComponent"),
29
- trustedSynchronisedStorageComponentType: engineCore.getRegisteredInstanceTypeOptional("synchronisedStorageComponent", ["trusted"]),
30
- blobStorageConnectorType: engineCore.getRegisteredInstanceType("blobStorageConnector", [
31
- "public"
32
- ]),
33
- ...instanceConfig.options
34
- });
35
- instanceType = "synchronised-storage-service";
21
+ createComponent = (createConfig) => {
22
+ initSchemaSynchronisedStorage();
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.syncSnapshotStorageConnectorType, "SyncSnapshotEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
24
+ return new SynchronisedStorageService(EngineTypeHelper.mergeConfig({
25
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
26
+ eventBusComponentType: engineCore.getRegisteredInstanceType("eventBusComponent"),
27
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
28
+ verifiableStorageConnectorType: engineCore.getRegisteredInstanceType("verifiableStorageConnector"),
29
+ taskSchedulerComponentType: engineCore.getRegisteredInstanceType("taskSchedulerComponent"),
30
+ trustedSynchronisedStorageComponentType: engineCore.getRegisteredInstanceTypeOptional("synchronisedStorageComponent", ["trusted"]),
31
+ blobStorageConnectorType: engineCore.getRegisteredInstanceType("blobStorageConnector", [
32
+ "public"
33
+ ]),
34
+ trustComponentType: engineCore.getRegisteredInstanceType("trustComponent")
35
+ }, createConfig.options));
36
+ };
37
+ instanceTypeName = "synchronised-storage-service";
36
38
  }
37
39
  else if (instanceConfig.type === SynchronisedStorageComponentType.RestClient) {
38
- component = new SynchronisedStorageRestClient(instanceConfig.options);
39
- instanceType = "synchronised-storage-rest-client";
40
+ createComponent = (createConfig) => new SynchronisedStorageRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
41
+ instanceTypeName = "synchronised-storage-rest-client";
40
42
  }
41
43
  return {
42
- component,
43
- instanceType,
44
+ createComponent: createComponent,
45
+ instanceTypeName,
44
46
  factory: ComponentFactory
45
47
  };
46
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"synchronisedStorage.js","sourceRoot":"","sources":["../../../src/components/synchronisedStorage.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;AAInE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAEN,0BAA0B,EAC1B,UAAU,IAAI,6BAA6B,EAC3C,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAoD,CAAC;IACzD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,6BAA6B,EAAE,CAAC;QAEhC,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,gCAAgC,uBAExD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;QACF,SAAS,GAAG,IAAI,0BAA0B,CAAC;YAC1C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;YAChF,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;YAC1E,8BAA8B,EAAE,UAAU,CAAC,yBAAyB,CACnE,4BAA4B,CAC5B;YACD,0BAA0B,EAAE,UAAU,CAAC,yBAAyB,CAAC,wBAAwB,CAAC;YAC1F,mCAAmC,EAAE,UAAU,CAAC,iCAAiC,CAChF,8BAA8B,CAC9B;YACD,uCAAuC,EAAE,UAAU,CAAC,iCAAiC,CACpF,8BAA8B,EAC9B,CAAC,SAAS,CAAC,CACX;YACD,wBAAwB,EAAE,UAAU,CAAC,yBAAyB,CAAC,sBAAsB,EAAE;gBACtF,QAAQ;aACR,CAAC;YACF,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,iCAA8C,CAAC;IAC5D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,SAAS,GAAG,IAAI,6BAA6B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACtE,YAAY,qCAAiD,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport type { ISynchronisedStorageComponent } from \"@twin.org/synchronised-storage-models\";\nimport { SynchronisedStorageRestClient } from \"@twin.org/synchronised-storage-rest-client\";\nimport {\n\ttype SyncSnapshotEntry,\n\tSynchronisedStorageService,\n\tinitSchema as initSchemaSynchronisedStorage\n} from \"@twin.org/synchronised-storage-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { SynchronisedStorageComponentConfig } from \"../models/config/synchronisedStorageComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { SynchronisedStorageComponentType } from \"../models/types/synchronisedStorageComponentType.js\";\n\n/**\n * Initialise the synchronised storage component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseSynchronisedStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: SynchronisedStorageComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ISynchronisedStorageComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === SynchronisedStorageComponentType.Service) {\n\t\tinitSchemaSynchronisedStorage();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.syncSnapshotStorageConnectorType,\n\t\t\tnameof<SyncSnapshotEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t);\n\t\tcomponent = new SynchronisedStorageService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\teventBusComponentType: engineCore.getRegisteredInstanceType(\"eventBusComponent\"),\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\tverifiableStorageConnectorType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"verifiableStorageConnector\"\n\t\t\t),\n\t\t\ttaskSchedulerComponentType: engineCore.getRegisteredInstanceType(\"taskSchedulerComponent\"),\n\t\t\tpolicyEnforcementPointComponentType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\"rightsManagementPepComponent\"\n\t\t\t),\n\t\t\ttrustedSynchronisedStorageComponentType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\"synchronisedStorageComponent\",\n\t\t\t\t[\"trusted\"]\n\t\t\t),\n\t\t\tblobStorageConnectorType: engineCore.getRegisteredInstanceType(\"blobStorageConnector\", [\n\t\t\t\t\"public\"\n\t\t\t]),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(SynchronisedStorageService);\n\t} else if (instanceConfig.type === SynchronisedStorageComponentType.RestClient) {\n\t\tcomponent = new SynchronisedStorageRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(SynchronisedStorageRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"synchronisedStorage.js","sourceRoot":"","sources":["../../../src/components/synchronisedStorage.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;AAOnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAEN,0BAA0B,EAC1B,UAAU,IAAI,6BAA6B,EAC3C,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,6BAA6B,EAAE,CAAC;YAEhC,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,gCAAgC,uBAEtD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,IAAI,0BAA0B,CACpC,gBAAgB,CAAC,WAAW,CAC3B;gBACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;gBAC9E,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;gBAChF,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;gBAC1E,8BAA8B,EAAE,UAAU,CAAC,yBAAyB,CACnE,4BAA4B,CAC5B;gBACD,0BAA0B,EACzB,UAAU,CAAC,yBAAyB,CAAC,wBAAwB,CAAC;gBAC/D,uCAAuC,EAAE,UAAU,CAAC,iCAAiC,CACpF,8BAA8B,EAC9B,CAAC,SAAS,CAAC,CACX;gBACD,wBAAwB,EAAE,UAAU,CAAC,yBAAyB,CAAC,sBAAsB,EAAE;oBACtF,QAAQ;iBACR,CAAC;gBACF,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;aAC1E,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,iCAA8C,CAAC;IAChE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,6BAA6B,CAChC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,qCAAiD,CAAC;IACnE,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 { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { SynchronisedStorageRestClient } from \"@twin.org/synchronised-storage-rest-client\";\nimport {\n\ttype SyncSnapshotEntry,\n\tSynchronisedStorageService,\n\tinitSchema as initSchemaSynchronisedStorage\n} from \"@twin.org/synchronised-storage-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { SynchronisedStorageComponentConfig } from \"../models/config/synchronisedStorageComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { SynchronisedStorageComponentType } from \"../models/types/synchronisedStorageComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the synchronised storage component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseSynchronisedStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: SynchronisedStorageComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === SynchronisedStorageComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaSynchronisedStorage();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.syncSnapshotStorageConnectorType,\n\t\t\t\tnameof<SyncSnapshotEntry>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new SynchronisedStorageService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\teventBusComponentType: engineCore.getRegisteredInstanceType(\"eventBusComponent\"),\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t\t\t\tverifiableStorageConnectorType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"verifiableStorageConnector\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttaskSchedulerComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceType(\"taskSchedulerComponent\"),\n\t\t\t\t\t\ttrustedSynchronisedStorageComponentType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\t\t\t\"synchronisedStorageComponent\",\n\t\t\t\t\t\t\t[\"trusted\"]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tblobStorageConnectorType: engineCore.getRegisteredInstanceType(\"blobStorageConnector\", [\n\t\t\t\t\t\t\t\"public\"\n\t\t\t\t\t\t]),\n\t\t\t\t\t\ttrustComponentType: engineCore.getRegisteredInstanceType(\"trustComponent\")\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(SynchronisedStorageService);\n\t} else if (instanceConfig.type === SynchronisedStorageComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew SynchronisedStorageRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(SynchronisedStorageRestClient);\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"]}
@@ -1,6 +1,9 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
1
3
  import { TaskSchedulerService } from "@twin.org/background-task-scheduler";
2
4
  import { ComponentFactory } from "@twin.org/core";
3
5
  import { TaskSchedulerComponentType } from "../models/types/taskSchedulerComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
4
7
  /**
5
8
  * Initialise a task scheduler.
6
9
  * @param engineCore The engine core.
@@ -8,19 +11,16 @@ import { TaskSchedulerComponentType } from "../models/types/taskSchedulerCompone
8
11
  * @param instanceConfig The instance config.
9
12
  * @returns The instance created and the factory for it.
10
13
  */
11
- export async function initialiseTaskSchedulerComponent(engineCore, context, instanceConfig) {
12
- let component;
13
- let instanceType;
14
+ export function initialiseTaskSchedulerComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
14
17
  if (instanceConfig.type === TaskSchedulerComponentType.Service) {
15
- component = new TaskSchedulerService({
16
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
17
- ...instanceConfig.options
18
- });
19
- instanceType = "task-scheduler-service";
18
+ createComponent = (createConfig) => new TaskSchedulerService(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
19
+ instanceTypeName = "task-scheduler-service";
20
20
  }
21
21
  return {
22
- component,
23
- instanceType,
22
+ createComponent: createComponent,
23
+ instanceTypeName,
24
24
  factory: ComponentFactory
25
25
  };
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taskScheduler.js","sourceRoot":"","sources":["../../../src/components/taskScheduler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAKnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAA4C;IAM5C,IAAI,SAA8C,CAAC;IACnD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAChE,SAAS,GAAG,IAAI,oBAAoB,CAAC;YACpC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,2BAAwC,CAAC;IACtD,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 type { ITaskSchedulerComponent } from \"@twin.org/background-task-models\";\nimport { TaskSchedulerService } from \"@twin.org/background-task-scheduler\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { TaskSchedulerComponentConfig } from \"../models/config/taskSchedulerComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TaskSchedulerComponentType } from \"../models/types/taskSchedulerComponentType.js\";\n\n/**\n * Initialise a task scheduler.\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 initialiseTaskSchedulerComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TaskSchedulerComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ITaskSchedulerComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === TaskSchedulerComponentType.Service) {\n\t\tcomponent = new TaskSchedulerService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(TaskSchedulerService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"taskScheduler.js","sourceRoot":"","sources":["../../../src/components/taskScheduler.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AASnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC/C,UAAsC,EACtC,OAA0C,EAC1C,cAA4C;IAE5C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAChE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,oBAAoB,CACvB,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,2BAAwC,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { TaskSchedulerService } from \"@twin.org/background-task-scheduler\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { TaskSchedulerComponentConfig } from \"../models/config/taskSchedulerComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TaskSchedulerComponentType } from \"../models/types/taskSchedulerComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a task scheduler.\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 initialiseTaskSchedulerComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TaskSchedulerComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TaskSchedulerComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TaskSchedulerService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(TaskSchedulerService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -9,6 +9,7 @@ import { TelemetryService } from "@twin.org/telemetry-service";
9
9
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
10
10
  import { TelemetryComponentType } from "../models/types/telemetryComponentType.js";
11
11
  import { TelemetryConnectorType } from "../models/types/telemetryConnectorType.js";
12
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
12
13
  /**
13
14
  * Initialise a telemetry connector.
14
15
  * @param engineCore The engine core.
@@ -16,29 +17,28 @@ import { TelemetryConnectorType } from "../models/types/telemetryConnectorType.j
16
17
  * @param instanceConfig The instance config.
17
18
  * @returns The instance created and the factory for it.
18
19
  */
19
- export async function initialiseTelemetryConnector(engineCore, context, instanceConfig) {
20
- let component;
21
- let instanceType;
20
+ export function initialiseTelemetryConnector(engineCore, context, instanceConfig) {
21
+ let createComponent;
22
+ let instanceTypeName;
22
23
  if (instanceConfig.type === TelemetryConnectorType.EntityStorage) {
23
- initSchema();
24
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.telemetryMetricStorageConnectorType, "TelemetryMetric", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
25
- ContextIdKeys.Node,
26
- ContextIdKeys.Tenant
27
- ]));
28
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.telemetryMetricValueStorageConnectorType, "TelemetryMetricValue", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
29
- ContextIdKeys.Node,
30
- ContextIdKeys.Tenant
31
- ]));
32
- component = new EntityStorageTelemetryConnector({
33
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
34
- ...instanceConfig.options
35
- });
36
- instanceType = EntityStorageTelemetryConnector.NAMESPACE;
24
+ createComponent = (createConfig) => {
25
+ initSchema();
26
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.telemetryMetricStorageConnectorType, "TelemetryMetric", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
27
+ ContextIdKeys.Node,
28
+ ContextIdKeys.Tenant
29
+ ]));
30
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.telemetryMetricValueStorageConnectorType, "TelemetryMetricValue", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
31
+ ContextIdKeys.Node,
32
+ ContextIdKeys.Tenant
33
+ ]));
34
+ return new EntityStorageTelemetryConnector(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
35
+ };
36
+ instanceTypeName = EntityStorageTelemetryConnector.NAMESPACE;
37
37
  }
38
38
  return {
39
- instanceType,
40
- factory: TelemetryConnectorFactory,
41
- component
39
+ createComponent: createComponent,
40
+ instanceTypeName,
41
+ factory: TelemetryConnectorFactory
42
42
  };
43
43
  }
44
44
  /**
@@ -48,23 +48,20 @@ export async function initialiseTelemetryConnector(engineCore, context, instance
48
48
  * @param instanceConfig The instance config.
49
49
  * @returns The instance created and the factory for it.
50
50
  */
51
- export async function initialiseTelemetryComponent(engineCore, context, instanceConfig) {
52
- let component;
53
- let instanceType;
51
+ export function initialiseTelemetryComponent(engineCore, context, instanceConfig) {
52
+ let createComponent;
53
+ let instanceTypeName;
54
54
  if (instanceConfig.type === TelemetryComponentType.Service) {
55
- component = new TelemetryService({
56
- telemetryConnectorType: engineCore.getRegisteredInstanceType("telemetryConnector"),
57
- ...instanceConfig.options
58
- });
59
- instanceType = "telemetry-service";
55
+ createComponent = (createConfig) => new TelemetryService(EngineTypeHelper.mergeConfig({ telemetryConnectorType: engineCore.getRegisteredInstanceType("telemetryConnector") }, createConfig.options));
56
+ instanceTypeName = "telemetry-service";
60
57
  }
61
58
  else if (instanceConfig.type === TelemetryComponentType.RestClient) {
62
- component = new TelemetryRestClient(instanceConfig.options);
63
- instanceType = "telemetry-rest-client";
59
+ createComponent = (createConfig) => new TelemetryRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
60
+ instanceTypeName = "telemetry-rest-client";
64
61
  }
65
62
  return {
66
- component,
67
- instanceType,
63
+ createComponent: createComponent,
64
+ instanceTypeName,
68
65
  factory: ComponentFactory
69
66
  };
70
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/components/telemetry.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAGnE,OAAO,EACN,+BAA+B,EAC/B,UAAU,EAGV,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACN,yBAAyB,EAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAAwC;IAMxC,IAAI,SAA0C,CAAC;IAC/C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,aAAa,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC;QACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,mCAAmC,qBAE3D,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,wCAAwC,0BAEhE,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,SAAS,GAAG,IAAI,+BAA+B,CAAC;YAC/C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,+BAA+B,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,YAAY;QACZ,OAAO,EAAE,yBAAyB;QAClC,SAAS;KACT,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAAwC;IAMxC,IAAI,SAA0C,CAAC;IAC/C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAC5D,SAAS,GAAG,IAAI,gBAAgB,CAAC;YAChC,sBAAsB,EAAE,UAAU,CAAC,yBAAyB,CAAC,oBAAoB,CAAC;YAClF,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,sBAAoC,CAAC;IAClD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,UAAU,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5D,YAAY,0BAAuC,CAAC;IACrD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageTelemetryConnector,\n\tinitSchema,\n\ttype TelemetryMetric,\n\ttype TelemetryMetricValue\n} from \"@twin.org/telemetry-connector-entity-storage\";\nimport {\n\tTelemetryConnectorFactory,\n\ttype ITelemetryComponent,\n\ttype ITelemetryConnector\n} from \"@twin.org/telemetry-models\";\nimport { TelemetryRestClient } from \"@twin.org/telemetry-rest-client\";\nimport { TelemetryService } from \"@twin.org/telemetry-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TelemetryComponentConfig } from \"../models/config/telemetryComponentConfig.js\";\nimport type { TelemetryConnectorConfig } from \"../models/config/telemetryConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TelemetryComponentType } from \"../models/types/telemetryComponentType.js\";\nimport { TelemetryConnectorType } from \"../models/types/telemetryConnectorType.js\";\n\n/**\n * Initialise a telemetry connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseTelemetryConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof TelemetryConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ITelemetryConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === TelemetryConnectorType.EntityStorage) {\n\t\tinitSchema();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.telemetryMetricStorageConnectorType,\n\t\t\tnameof<TelemetryMetric>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.telemetryMetricValueStorageConnectorType,\n\t\t\tnameof<TelemetryMetricValue>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageTelemetryConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageTelemetryConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tinstanceType,\n\t\tfactory: TelemetryConnectorFactory,\n\t\tcomponent\n\t};\n}\n\n/**\n * Initialise the telemetry component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseTelemetryComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ITelemetryComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === TelemetryComponentType.Service) {\n\t\tcomponent = new TelemetryService({\n\t\t\ttelemetryConnectorType: engineCore.getRegisteredInstanceType(\"telemetryConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(TelemetryService);\n\t} else if (instanceConfig.type === TelemetryComponentType.RestClient) {\n\t\tcomponent = new TelemetryRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(TelemetryRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/components/telemetry.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAOnE,OAAO,EACN,+BAA+B,EAC/B,UAAU,EAGV,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAItE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC3C,UAAsC,EACtC,OAA0C,EAC1C,cAAwC;IAExC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,aAAa,EAAE,CAAC;QAClE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,UAAU,EAAE,CAAC;YACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,mCAAmC,qBAEzD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,wCAAwC,0BAE9D,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,+BAA+B,CACzC,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,+BAA+B,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,yBAAyB;KAClC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC3C,UAAsC,EACtC,OAA0C,EAC1C,cAAwC;IAExC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAC5D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,gBAAgB,CACnB,gBAAgB,CAAC,WAAW,CAC3B,EAAE,sBAAsB,EAAE,UAAU,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,EAAE,EACtF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,sBAAoC,CAAC;IACtD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,UAAU,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,mBAAmB,CACtB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,0BAAuC,CAAC;IACzD,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 { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageTelemetryConnector,\n\tinitSchema,\n\ttype TelemetryMetric,\n\ttype TelemetryMetricValue\n} from \"@twin.org/telemetry-connector-entity-storage\";\nimport { TelemetryConnectorFactory } from \"@twin.org/telemetry-models\";\nimport { TelemetryRestClient } from \"@twin.org/telemetry-rest-client\";\nimport { TelemetryService } from \"@twin.org/telemetry-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TelemetryComponentConfig } from \"../models/config/telemetryComponentConfig.js\";\nimport type { TelemetryConnectorConfig } from \"../models/config/telemetryConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TelemetryComponentType } from \"../models/types/telemetryComponentType.js\";\nimport { TelemetryConnectorType } from \"../models/types/telemetryConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a telemetry connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseTelemetryConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof TelemetryConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TelemetryConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.telemetryMetricStorageConnectorType,\n\t\t\t\tnameof<TelemetryMetric>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.telemetryMetricValueStorageConnectorType,\n\t\t\t\tnameof<TelemetryMetricValue>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new EntityStorageTelemetryConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageTelemetryConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: TelemetryConnectorFactory\n\t};\n}\n\n/**\n * Initialise the telemetry component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseTelemetryComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TelemetryComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TelemetryComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TelemetryService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ telemetryConnectorType: engineCore.getRegisteredInstanceType(\"telemetryConnector\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(TelemetryService);\n\t} else if (instanceConfig.type === TelemetryComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TelemetryRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(TelemetryRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -5,6 +5,7 @@ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
5
5
  import { ComponentFactory } from "@twin.org/core";
6
6
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
7
7
  import { TenantAdminComponentType } from "../models/types/tenantAdminComponentType.js";
8
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
8
9
  /**
9
10
  * Initialise the tenant admin component.
10
11
  * @param engineCore The engine core.
@@ -12,20 +13,20 @@ import { TenantAdminComponentType } from "../models/types/tenantAdminComponentTy
12
13
  * @param instanceConfig The instance config.
13
14
  * @returns The instance created and the factory for it.
14
15
  */
15
- export async function initialiseTenantAdminComponent(engineCore, context, instanceConfig) {
16
- let component;
17
- let instanceType;
16
+ export function initialiseTenantAdminComponent(engineCore, context, instanceConfig) {
17
+ let createComponent;
18
+ let instanceTypeName;
18
19
  if (instanceConfig.type === TenantAdminComponentType.Service) {
19
- initSchemaTenant();
20
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.tenantEntityStorageType, "Tenant", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
21
- component = new TenantAdminService({
22
- ...instanceConfig.options
23
- });
24
- instanceType = "tenant-admin-service";
20
+ createComponent = (createConfig) => {
21
+ initSchemaTenant();
22
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.tenantEntityStorageType, "Tenant", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
23
+ return new TenantAdminService(EngineTypeHelper.mergeConfig(createConfig.options));
24
+ };
25
+ instanceTypeName = "tenant-admin-service";
25
26
  }
26
27
  return {
27
- component,
28
- instanceType,
28
+ createComponent: createComponent,
29
+ instanceTypeName,
29
30
  factory: ComponentFactory
30
31
  };
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/components/tenant.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAGN,kBAAkB,EAClB,UAAU,IAAI,gBAAgB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAGnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CACnD,UAAsC,EACtC,OAA0C,EAC1C,cAA0C;IAM1C,IAAI,SAA4C,CAAC;IACjD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,wBAAwB,CAAC,OAAO,EAAE,CAAC;QAC9D,gBAAgB,EAAE,CAAC;QAEnB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,uBAAuB,YAE/C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;QAEF,SAAS,GAAG,IAAI,kBAAkB,CAAC;YAClC,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,yBAAsC,CAAC;IACpD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport {\n\ttype ITenantAdminComponent,\n\ttype Tenant,\n\tTenantAdminService,\n\tinitSchema as initSchemaTenant\n} from \"@twin.org/api-tenant-processor\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TenantAdminComponentConfig } from \"../models/config/tenantAdminComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TenantAdminComponentType } from \"../models/types/tenantAdminComponentType.js\";\n\n/**\n * Initialise the tenant admin component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseTenantAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TenantAdminComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: ITenantAdminComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === TenantAdminComponentType.Service) {\n\t\tinitSchemaTenant();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.tenantEntityStorageType,\n\t\t\tnameof<Tenant>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t);\n\n\t\tcomponent = new TenantAdminService({\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(TenantAdminService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/components/tenant.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAEN,kBAAkB,EAClB,UAAU,IAAI,gBAAgB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAOnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC7C,UAAsC,EACtC,OAA0C,EAC1C,cAA0C;IAE1C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,wBAAwB,CAAC,OAAO,EAAE,CAAC;QAC9D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,gBAAgB,EAAE,CAAC;YAEnB,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,uBAAuB,YAE7C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,IAAI,kBAAkB,CAC5B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,yBAAsC,CAAC;IACxD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport {\n\ttype Tenant,\n\tTenantAdminService,\n\tinitSchema as initSchemaTenant\n} from \"@twin.org/api-tenant-processor\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { TenantAdminComponentConfig } from \"../models/config/tenantAdminComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TenantAdminComponentType } from \"../models/types/tenantAdminComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the tenant admin component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseTenantAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TenantAdminComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TenantAdminComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaTenant();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.tenantEntityStorageType,\n\t\t\t\tnameof<Tenant>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new TenantAdminService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(TenantAdminService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,27 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ComponentFactory } from "@twin.org/core";
4
+ import { TrustService } from "@twin.org/trust-service";
5
+ import { TrustComponentType } from "../models/types/trustComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
7
+ /**
8
+ * Initialise the trust component.
9
+ * @param engineCore The engine core.
10
+ * @param context The context for the engine.
11
+ * @param instanceConfig The instance config.
12
+ * @returns The instance created and the factory for it.
13
+ */
14
+ export function initialiseTrustComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
17
+ if (instanceConfig.type === TrustComponentType.Service) {
18
+ createComponent = (createConfig) => new TrustService(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
19
+ instanceTypeName = "trust-service";
20
+ }
21
+ return {
22
+ createComponent: createComponent,
23
+ instanceTypeName,
24
+ factory: ComponentFactory
25
+ };
26
+ }
27
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../../src/components/trust.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAOnE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACvC,UAAsC,EACtC,OAA0C,EAC1C,cAAoC;IAEpC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACxD,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,YAAY,CACf,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,kBAAgC,CAAC;IAClD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { TrustService } from \"@twin.org/trust-service\";\nimport type { TrustComponentConfig } from \"../models/config/trustComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TrustComponentType } from \"../models/types/trustComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the trust component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseTrustComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TrustComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TrustComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew TrustService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(TrustService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { JwtVerifiableCredentialGenerator } from "@twin.org/trust-generators";
2
+ import { TrustGeneratorFactory } from "@twin.org/trust-models";
3
+ import { TrustGeneratorComponentType } from "../models/types/trustGeneratorComponentType.js";
4
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
5
+ /**
6
+ * Initialise the trust generator component.
7
+ * @param engineCore The engine core.
8
+ * @param context The context for the engine.
9
+ * @param instanceConfig The instance config.
10
+ * @returns The instance created and the factory for it.
11
+ */
12
+ export function initialiseTrustGeneratorComponent(engineCore, context, instanceConfig) {
13
+ let createComponent;
14
+ let instanceTypeName;
15
+ if (instanceConfig.type === TrustGeneratorComponentType.JwtVerifiableCredential) {
16
+ createComponent = (createConfig) => new JwtVerifiableCredentialGenerator(EngineTypeHelper.mergeConfig({
17
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
18
+ identityComponentType: engineCore.getRegisteredInstanceType("identityComponent")
19
+ }, createConfig.options));
20
+ instanceTypeName = "jwt-verifiable-credential-generator";
21
+ }
22
+ return {
23
+ createComponent: createComponent,
24
+ instanceTypeName,
25
+ factory: TrustGeneratorFactory
26
+ };
27
+ }
28
+ //# sourceMappingURL=trustGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustGenerator.js","sourceRoot":"","sources":["../../../src/components/trustGenerator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAChD,UAAsC,EACtC,OAA0C,EAC1C,cAA6C;IAE7C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,uBAAuB,EAAE,CAAC;QACjF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,gCAAgC,CACnC,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;SAChF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,wCAAoD,CAAC;IACtE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,qBAAqB;KAC9B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { JwtVerifiableCredentialGenerator } from \"@twin.org/trust-generators\";\nimport { TrustGeneratorFactory } from \"@twin.org/trust-models\";\nimport type { TrustGeneratorComponentConfig } from \"../models/config/trustGeneratorComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TrustGeneratorComponentType } from \"../models/types/trustGeneratorComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the trust generator component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseTrustGeneratorComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TrustGeneratorComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof TrustGeneratorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TrustGeneratorComponentType.JwtVerifiableCredential) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew JwtVerifiableCredentialGenerator(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tidentityComponentType: engineCore.getRegisteredInstanceType(\"identityComponent\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(JwtVerifiableCredentialGenerator);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: TrustGeneratorFactory\n\t};\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { TrustVerifierFactory } from "@twin.org/trust-models";
2
+ import { JwtVerifiableCredentialVerifier } from "@twin.org/trust-verifiers";
3
+ import { TrustVerifierComponentType } from "../models/types/trustVerifierComponentType.js";
4
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
5
+ /**
6
+ * Initialise the trust verifier component.
7
+ * @param engineCore The engine core.
8
+ * @param context The context for the engine.
9
+ * @param instanceConfig The instance config.
10
+ * @returns The instance created and the factory for it.
11
+ */
12
+ export function initialiseTrustVerifierComponent(engineCore, context, instanceConfig) {
13
+ let createComponent;
14
+ let instanceTypeName;
15
+ if (instanceConfig.type === TrustVerifierComponentType.JwtVerifiableCredential) {
16
+ createComponent = (createConfig) => new JwtVerifiableCredentialVerifier(EngineTypeHelper.mergeConfig({
17
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
18
+ identityComponentType: engineCore.getRegisteredInstanceType("identityComponent")
19
+ }, createConfig.options));
20
+ instanceTypeName = "jwt-verifiable-credential-verifier";
21
+ }
22
+ return {
23
+ createComponent: createComponent,
24
+ instanceTypeName,
25
+ factory: TrustVerifierFactory
26
+ };
27
+ }
28
+ //# sourceMappingURL=trustVerifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustVerifier.js","sourceRoot":"","sources":["../../../src/components/trustVerifier.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC/C,UAAsC,EACtC,OAA0C,EAC1C,cAA4C;IAE5C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,0BAA0B,CAAC,uBAAuB,EAAE,CAAC;QAChF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,+BAA+B,CAClC,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;SAChF,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,uCAAmD,CAAC;IACrE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,oBAAoB;KAC7B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { TrustVerifierFactory } from \"@twin.org/trust-models\";\nimport { JwtVerifiableCredentialVerifier } from \"@twin.org/trust-verifiers\";\nimport type { TrustVerifierComponentConfig } from \"../models/config/trustVerifierComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { TrustVerifierComponentType } from \"../models/types/trustVerifierComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the trust verifier component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseTrustVerifierComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: TrustVerifierComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof TrustVerifierFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === TrustVerifierComponentType.JwtVerifiableCredential) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew JwtVerifiableCredentialVerifier(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tidentityComponentType: engineCore.getRegisteredInstanceType(\"identityComponent\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(JwtVerifiableCredentialVerifier);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: TrustVerifierFactory\n\t};\n}\n"]}
@@ -3,6 +3,7 @@ import { HashicorpVaultConnector } from "@twin.org/vault-connector-hashicorp";
3
3
  import { VaultConnectorFactory } from "@twin.org/vault-models";
4
4
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
5
5
  import { VaultConnectorType } from "../models/types/vaultConnectorType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
6
7
  /**
7
8
  * Initialise the vault connector.
8
9
  * @param engineCore The engine core.
@@ -10,23 +11,25 @@ import { VaultConnectorType } from "../models/types/vaultConnectorType.js";
10
11
  * @param instanceConfig The instance config.
11
12
  * @returns The instance created and the factory for it.
12
13
  */
13
- export async function initialiseVaultConnector(engineCore, context, instanceConfig) {
14
- let component;
15
- let instanceType;
14
+ export function initialiseVaultConnector(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
16
17
  if (instanceConfig.type === VaultConnectorType.EntityStorage) {
17
- initSchema();
18
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.vaultKeyEntityStorageType, "VaultKey", []);
19
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.vaultSecretEntityStorageType, "VaultSecret", []);
20
- component = new EntityStorageVaultConnector(instanceConfig.options);
21
- instanceType = EntityStorageVaultConnector.NAMESPACE;
18
+ createComponent = (createConfig) => {
19
+ initSchema();
20
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.vaultKeyEntityStorageType, "VaultKey", []);
21
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.vaultSecretEntityStorageType, "VaultSecret", []);
22
+ return new EntityStorageVaultConnector(EngineTypeHelper.mergeConfig(createConfig.options));
23
+ };
24
+ instanceTypeName = EntityStorageVaultConnector.NAMESPACE;
22
25
  }
23
26
  else if (instanceConfig.type === VaultConnectorType.Hashicorp) {
24
- component = new HashicorpVaultConnector(instanceConfig.options);
25
- instanceType = HashicorpVaultConnector.NAMESPACE;
27
+ createComponent = (createConfig) => new HashicorpVaultConnector(EngineTypeHelper.mergeConfig(createConfig.options));
28
+ instanceTypeName = HashicorpVaultConnector.NAMESPACE;
26
29
  }
27
30
  return {
28
- component,
29
- instanceType,
31
+ createComponent: createComponent,
32
+ instanceTypeName,
30
33
  factory: VaultConnectorFactory
31
34
  };
32
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/components/vault.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,2BAA2B,EAC3B,UAAU,EAGV,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,UAAsC,EACtC,OAA0C,EAC1C,cAAoC;IAMpC,IAAI,SAAsC,CAAC;IAC3C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC9D,UAAU,EAAE,CAAC;QACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,yBAAyB,cAEjD,EAAE,CACF,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,4BAA4B,iBAEpD,EAAE,CACF,CAAC;QACF,SAAS,GAAG,IAAI,2BAA2B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpE,YAAY,GAAG,2BAA2B,CAAC,SAAS,CAAC;IACtD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACjE,SAAS,GAAG,IAAI,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChE,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC;IAClD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,qBAAqB;KAC9B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageVaultConnector,\n\tinitSchema,\n\ttype VaultKey,\n\ttype VaultSecret\n} from \"@twin.org/vault-connector-entity-storage\";\nimport { HashicorpVaultConnector } from \"@twin.org/vault-connector-hashicorp\";\nimport { VaultConnectorFactory, type IVaultConnector } from \"@twin.org/vault-models\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { VaultConnectorConfig } from \"../models/config/vaultConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { VaultConnectorType } from \"../models/types/vaultConnectorType.js\";\n\n/**\n * Initialise the vault connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseVaultConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VaultConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof VaultConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IVaultConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === VaultConnectorType.EntityStorage) {\n\t\tinitSchema();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.vaultKeyEntityStorageType,\n\t\t\tnameof<VaultKey>(),\n\t\t\t[]\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.vaultSecretEntityStorageType,\n\t\t\tnameof<VaultSecret>(),\n\t\t\t[]\n\t\t);\n\t\tcomponent = new EntityStorageVaultConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageVaultConnector.NAMESPACE;\n\t} else if (instanceConfig.type === VaultConnectorType.Hashicorp) {\n\t\tcomponent = new HashicorpVaultConnector(instanceConfig.options);\n\t\tinstanceType = HashicorpVaultConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: VaultConnectorFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/components/vault.ts"],"names":[],"mappings":"AASA,OAAO,EACN,2BAA2B,EAC3B,UAAU,EAGV,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACvC,UAAsC,EACtC,OAA0C,EAC1C,cAAoC;IAEpC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC9D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,UAAU,EAAE,CAAC;YACb,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,yBAAyB,cAE/C,EAAE,CACF,CAAC;YACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,4BAA4B,iBAElD,EAAE,CACF,CAAC;YACF,OAAO,IAAI,2BAA2B,CACrC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,GAAG,2BAA2B,CAAC,SAAS,CAAC;IAC1D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACjE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,uBAAuB,CAC1B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,qBAAqB;KAC9B,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageVaultConnector,\n\tinitSchema,\n\ttype VaultKey,\n\ttype VaultSecret\n} from \"@twin.org/vault-connector-entity-storage\";\nimport { HashicorpVaultConnector } from \"@twin.org/vault-connector-hashicorp\";\nimport { VaultConnectorFactory } from \"@twin.org/vault-models\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { VaultConnectorConfig } from \"../models/config/vaultConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { VaultConnectorType } from \"../models/types/vaultConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the vault connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseVaultConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: VaultConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof VaultConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === VaultConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.vaultKeyEntityStorageType,\n\t\t\t\tnameof<VaultKey>(),\n\t\t\t\t[]\n\t\t\t);\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.vaultSecretEntityStorageType,\n\t\t\t\tnameof<VaultSecret>(),\n\t\t\t\t[]\n\t\t\t);\n\t\t\treturn new EntityStorageVaultConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageVaultConnector.NAMESPACE;\n\t} else if (instanceConfig.type === VaultConnectorType.Hashicorp) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew HashicorpVaultConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = HashicorpVaultConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: VaultConnectorFactory\n\t};\n}\n"]}