@twin.org/engine-types 0.0.3-next.4 → 0.0.3-next.40

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 (590) hide show
  1. package/README.md +1 -1
  2. package/dist/es/components/attestation.js +20 -24
  3. package/dist/es/components/attestation.js.map +1 -1
  4. package/dist/es/components/auditableItemGraph.js +27 -22
  5. package/dist/es/components/auditableItemGraph.js.map +1 -1
  6. package/dist/es/components/auditableItemStream.js +27 -22
  7. package/dist/es/components/auditableItemStream.js.map +1 -1
  8. package/dist/es/components/automation.js +41 -0
  9. package/dist/es/components/automation.js.map +1 -0
  10. package/dist/es/components/automationAction.js +27 -0
  11. package/dist/es/components/automationAction.js.map +1 -0
  12. package/dist/es/components/backgroundTask.js +18 -18
  13. package/dist/es/components/backgroundTask.js.map +1 -1
  14. package/dist/es/components/blobStorage.js +69 -80
  15. package/dist/es/components/blobStorage.js.map +1 -1
  16. package/dist/es/components/contextIdHandler.js +9 -9
  17. package/dist/es/components/contextIdHandler.js.map +1 -1
  18. package/dist/es/components/dataProcessing.js +33 -32
  19. package/dist/es/components/dataProcessing.js.map +1 -1
  20. package/dist/es/components/dataspaceControlPlane.js +57 -0
  21. package/dist/es/components/dataspaceControlPlane.js.map +1 -0
  22. package/dist/es/components/dataspaceDataPlane.js +62 -0
  23. package/dist/es/components/dataspaceDataPlane.js.map +1 -0
  24. package/dist/es/components/documentManagement.js +12 -11
  25. package/dist/es/components/documentManagement.js.map +1 -1
  26. package/dist/es/components/entityStorage.js +48 -47
  27. package/dist/es/components/entityStorage.js.map +1 -1
  28. package/dist/es/components/eventBus.js +19 -27
  29. package/dist/es/components/eventBus.js.map +1 -1
  30. package/dist/es/components/faucet.js +18 -18
  31. package/dist/es/components/faucet.js.map +1 -1
  32. package/dist/es/components/federatedCatalogue.js +17 -18
  33. package/dist/es/components/federatedCatalogue.js.map +1 -1
  34. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  35. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  36. package/dist/es/components/health.js +32 -0
  37. package/dist/es/components/health.js.map +1 -0
  38. package/dist/es/components/identity.js +30 -31
  39. package/dist/es/components/identity.js.map +1 -1
  40. package/dist/es/components/identityProfile.js +26 -24
  41. package/dist/es/components/identityProfile.js.map +1 -1
  42. package/dist/es/components/identityResolver.js +36 -40
  43. package/dist/es/components/identityResolver.js.map +1 -1
  44. package/dist/es/components/immutableProof.js +23 -20
  45. package/dist/es/components/immutableProof.js.map +1 -1
  46. package/dist/es/components/logging.js +28 -28
  47. package/dist/es/components/logging.js.map +1 -1
  48. package/dist/es/components/messaging.js +77 -89
  49. package/dist/es/components/messaging.js.map +1 -1
  50. package/dist/es/components/metricsCollector.js +27 -0
  51. package/dist/es/components/metricsCollector.js.map +1 -0
  52. package/dist/es/components/metricsProducer.js +33 -0
  53. package/dist/es/components/metricsProducer.js.map +1 -0
  54. package/dist/es/components/nft.js +32 -33
  55. package/dist/es/components/nft.js.map +1 -1
  56. package/dist/es/components/notarization.js +77 -0
  57. package/dist/es/components/notarization.js.map +1 -0
  58. package/dist/es/components/rightsManagementPap.js +17 -17
  59. package/dist/es/components/rightsManagementPap.js.map +1 -1
  60. package/dist/es/components/rightsManagementPdp.js +11 -26
  61. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  62. package/dist/es/components/rightsManagementPep.js +12 -24
  63. package/dist/es/components/rightsManagementPep.js.map +1 -1
  64. package/dist/es/components/rightsManagementPip.js +9 -25
  65. package/dist/es/components/rightsManagementPip.js.map +1 -1
  66. package/dist/es/components/rightsManagementPmp.js +10 -10
  67. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  68. package/dist/es/components/rightsManagementPnap.js +21 -18
  69. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  70. package/dist/es/components/rightsManagementPnp.js +15 -36
  71. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  72. package/dist/es/components/rightsManagementPolicyArbiter.js +32 -0
  73. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  74. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  75. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  76. package/dist/es/components/rightsManagementPolicyExecutionAction.js +25 -0
  77. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  78. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  79. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  80. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  81. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  82. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  83. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  84. package/dist/es/components/rightsManagementPolicyRequester.js +25 -0
  85. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  86. package/dist/es/components/rightsManagementPxp.js +9 -25
  87. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  88. package/dist/es/components/synchronisedStorage.js +25 -23
  89. package/dist/es/components/synchronisedStorage.js.map +1 -1
  90. package/dist/es/components/taskScheduler.js +17 -11
  91. package/dist/es/components/taskScheduler.js.map +1 -1
  92. package/dist/es/components/telemetry.js +46 -32
  93. package/dist/es/components/telemetry.js.map +1 -1
  94. package/dist/es/components/tenant.js +12 -11
  95. package/dist/es/components/tenant.js.map +1 -1
  96. package/dist/es/components/trust.js +27 -0
  97. package/dist/es/components/trust.js.map +1 -0
  98. package/dist/es/components/trustGenerator.js +28 -0
  99. package/dist/es/components/trustGenerator.js.map +1 -0
  100. package/dist/es/components/trustVerifier.js +28 -0
  101. package/dist/es/components/trustVerifier.js.map +1 -0
  102. package/dist/es/components/urlTransformer.js +29 -0
  103. package/dist/es/components/urlTransformer.js.map +1 -0
  104. package/dist/es/components/vault.js +15 -12
  105. package/dist/es/components/vault.js.map +1 -1
  106. package/dist/es/components/verifiableStorage.js +32 -34
  107. package/dist/es/components/verifiableStorage.js.map +1 -1
  108. package/dist/es/components/wallet.js +23 -24
  109. package/dist/es/components/wallet.js.map +1 -1
  110. package/dist/es/index.js +64 -14
  111. package/dist/es/index.js.map +1 -1
  112. package/dist/es/models/IEngineConfig.js.map +1 -1
  113. package/dist/es/models/config/automationActionConfig.js +2 -0
  114. package/dist/es/models/config/automationActionConfig.js.map +1 -0
  115. package/dist/es/models/config/automationComponentConfig.js +2 -0
  116. package/dist/es/models/config/automationComponentConfig.js.map +1 -0
  117. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  118. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  119. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  120. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js +2 -0
  121. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js.map +1 -0
  122. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js +2 -0
  123. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  125. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/healthComponentConfig.js +2 -0
  127. package/dist/es/models/config/healthComponentConfig.js.map +1 -0
  128. package/dist/es/models/config/metricsCollectorComponentConfig.js +2 -0
  129. package/dist/es/models/config/metricsCollectorComponentConfig.js.map +1 -0
  130. package/dist/es/models/config/metricsProducerComponentConfig.js +2 -0
  131. package/dist/es/models/config/metricsProducerComponentConfig.js.map +1 -0
  132. package/dist/es/models/config/notarizationComponentConfig.js +2 -0
  133. package/dist/es/models/config/notarizationComponentConfig.js.map +1 -0
  134. package/dist/es/models/config/notarizationConnectorConfig.js +2 -0
  135. package/dist/es/models/config/notarizationConnectorConfig.js.map +1 -0
  136. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  137. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  138. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  139. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  140. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  141. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  142. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  143. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  144. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  145. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  146. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  147. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  148. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  149. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  150. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  151. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  152. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  153. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  154. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  155. package/dist/es/models/config/telemetryConnectorConfig.js.map +1 -1
  156. package/dist/es/models/config/trustComponentConfig.js +2 -0
  157. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  158. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  159. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  160. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  161. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  162. package/dist/es/models/config/urlTransformerComponentConfig.js +2 -0
  163. package/dist/es/models/config/urlTransformerComponentConfig.js.map +1 -0
  164. package/dist/es/models/types/automationActionType.js +13 -0
  165. package/dist/es/models/types/automationActionType.js.map +1 -0
  166. package/dist/es/models/types/{rightsManagementDapComponentType.js → automationComponentType.js} +4 -4
  167. package/dist/es/models/types/automationComponentType.js.map +1 -0
  168. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  169. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  170. package/dist/es/models/types/dataspaceControlPlaneComponentType.js +17 -0
  171. package/dist/es/models/types/dataspaceControlPlaneComponentType.js.map +1 -0
  172. package/dist/es/models/types/{dataSpaceConnectorComponentType.js → dataspaceDataPlaneComponentType.js} +4 -4
  173. package/dist/es/models/types/dataspaceDataPlaneComponentType.js.map +1 -0
  174. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  175. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  176. package/dist/es/models/types/healthComponentType.js +17 -0
  177. package/dist/es/models/types/healthComponentType.js.map +1 -0
  178. package/dist/es/models/types/metricsCollectorComponentType.js +13 -0
  179. package/dist/es/models/types/metricsCollectorComponentType.js.map +1 -0
  180. package/dist/es/models/types/metricsProducerComponentType.js +17 -0
  181. package/dist/es/models/types/metricsProducerComponentType.js.map +1 -0
  182. package/dist/es/models/types/notarizationComponentType.js +17 -0
  183. package/dist/es/models/types/notarizationComponentType.js.map +1 -0
  184. package/dist/es/models/types/notarizationConnectorType.js +17 -0
  185. package/dist/es/models/types/notarizationConnectorType.js.map +1 -0
  186. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  187. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  188. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  189. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  190. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  191. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  192. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  193. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  194. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  195. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  196. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  197. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  198. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  199. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  200. package/dist/es/models/types/telemetryConnectorType.js +5 -1
  201. package/dist/es/models/types/telemetryConnectorType.js.map +1 -1
  202. package/dist/es/models/types/trustComponentType.js +13 -0
  203. package/dist/es/models/types/trustComponentType.js.map +1 -0
  204. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  205. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  206. package/dist/es/models/types/trustVerifierComponentType.js +13 -0
  207. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  208. package/dist/es/models/types/urlTransformerComponentType.js +13 -0
  209. package/dist/es/models/types/urlTransformerComponentType.js.map +1 -0
  210. package/dist/es/utils/engineTypeHelper.js +19 -1
  211. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  212. package/dist/types/components/attestation.d.ts +5 -13
  213. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  214. package/dist/types/components/auditableItemStream.d.ts +3 -7
  215. package/dist/types/components/automation.d.ts +12 -0
  216. package/dist/types/components/automationAction.d.ts +12 -0
  217. package/dist/types/components/backgroundTask.d.ts +5 -10
  218. package/dist/types/components/blobStorage.d.ts +4 -12
  219. package/dist/types/components/contextIdHandler.d.ts +3 -7
  220. package/dist/types/components/dataProcessing.d.ts +5 -17
  221. package/dist/types/components/dataspaceControlPlane.d.ts +12 -0
  222. package/dist/types/components/dataspaceDataPlane.d.ts +12 -0
  223. package/dist/types/components/documentManagement.d.ts +3 -7
  224. package/dist/types/components/entityStorage.d.ts +4 -9
  225. package/dist/types/components/eventBus.d.ts +4 -12
  226. package/dist/types/components/faucet.d.ts +2 -7
  227. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  228. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  229. package/dist/types/components/health.d.ts +12 -0
  230. package/dist/types/components/identity.d.ts +4 -12
  231. package/dist/types/components/identityProfile.d.ts +4 -12
  232. package/dist/types/components/identityResolver.d.ts +4 -12
  233. package/dist/types/components/immutableProof.d.ts +3 -7
  234. package/dist/types/components/logging.d.ts +4 -12
  235. package/dist/types/components/messaging.d.ts +7 -27
  236. package/dist/types/components/metricsCollector.d.ts +12 -0
  237. package/dist/types/components/metricsProducer.d.ts +12 -0
  238. package/dist/types/components/nft.d.ts +4 -12
  239. package/dist/types/components/notarization.d.ts +22 -0
  240. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  241. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  242. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  243. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  244. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  245. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  246. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  247. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  248. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  249. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  250. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  251. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  252. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  253. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  254. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  255. package/dist/types/components/synchronisedStorage.d.ts +3 -7
  256. package/dist/types/components/taskScheduler.d.ts +3 -7
  257. package/dist/types/components/telemetry.d.ts +4 -12
  258. package/dist/types/components/tenant.d.ts +3 -7
  259. package/dist/types/components/trust.d.ts +12 -0
  260. package/dist/types/components/trustGenerator.d.ts +12 -0
  261. package/dist/types/components/trustVerifier.d.ts +12 -0
  262. package/dist/types/components/urlTransformer.d.ts +12 -0
  263. package/dist/types/components/vault.d.ts +2 -7
  264. package/dist/types/components/verifiableStorage.d.ts +4 -12
  265. package/dist/types/components/wallet.d.ts +2 -7
  266. package/dist/types/index.d.ts +64 -14
  267. package/dist/types/models/IEngineConfig.d.ts +100 -15
  268. package/dist/types/models/config/automationActionConfig.d.ts +9 -0
  269. package/dist/types/models/config/automationComponentConfig.d.ts +13 -0
  270. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  271. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  272. package/dist/types/models/config/dataspaceControlPlaneComponentConfig.d.ts +13 -0
  273. package/dist/types/models/config/dataspaceDataPlaneComponentConfig.d.ts +17 -0
  274. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  275. package/dist/types/models/config/healthComponentConfig.d.ts +13 -0
  276. package/dist/types/models/config/metricsCollectorComponentConfig.d.ts +9 -0
  277. package/dist/types/models/config/metricsProducerComponentConfig.d.ts +12 -0
  278. package/dist/types/models/config/notarizationComponentConfig.d.ts +13 -0
  279. package/dist/types/models/config/notarizationConnectorConfig.d.ts +13 -0
  280. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  281. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  282. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  283. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  284. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  285. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  286. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  287. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  288. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  289. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  290. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  291. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  292. package/dist/types/models/config/telemetryConnectorConfig.d.ts +4 -0
  293. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  294. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  295. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +9 -0
  296. package/dist/types/models/config/urlTransformerComponentConfig.d.ts +9 -0
  297. package/dist/types/models/types/automationActionType.d.ts +13 -0
  298. package/dist/types/models/types/automationComponentType.d.ts +17 -0
  299. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  300. package/dist/types/models/types/dataspaceControlPlaneComponentType.d.ts +17 -0
  301. package/dist/types/models/types/dataspaceDataPlaneComponentType.d.ts +21 -0
  302. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  303. package/dist/types/models/types/healthComponentType.d.ts +17 -0
  304. package/dist/types/models/types/metricsCollectorComponentType.d.ts +13 -0
  305. package/dist/types/models/types/metricsProducerComponentType.d.ts +17 -0
  306. package/dist/types/models/types/notarizationComponentType.d.ts +17 -0
  307. package/dist/types/models/types/notarizationConnectorType.d.ts +17 -0
  308. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  309. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  310. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  311. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  312. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  313. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  314. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  315. package/dist/types/models/types/telemetryConnectorType.d.ts +4 -0
  316. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  317. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  318. package/dist/types/models/types/trustVerifierComponentType.d.ts +13 -0
  319. package/dist/types/models/types/urlTransformerComponentType.d.ts +13 -0
  320. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  321. package/docs/changelog.md +783 -148
  322. package/docs/examples.md +74 -1
  323. package/docs/reference/classes/EngineTypeHelper.md +57 -4
  324. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  325. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  326. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  327. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  328. package/docs/reference/functions/initialiseAutomationAction.md +31 -0
  329. package/docs/reference/functions/initialiseAutomationComponent.md +31 -0
  330. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  331. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  332. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  333. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +2 -2
  334. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  335. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  336. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  337. package/docs/reference/functions/initialiseDataspaceControlPlaneComponent.md +31 -0
  338. package/docs/reference/functions/initialiseDataspaceDataPlaneComponent.md +31 -0
  339. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  340. package/docs/reference/functions/initialiseEntityStorageComponent.md +2 -2
  341. package/docs/reference/functions/initialiseEntityStorageConnector.md +4 -6
  342. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  343. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  344. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  345. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  346. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  347. package/docs/reference/functions/initialiseHealthComponent.md +31 -0
  348. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  349. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  350. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  351. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  352. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  353. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  354. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  355. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  356. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  357. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  358. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  359. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  360. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  361. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  362. package/docs/reference/functions/initialiseMetricsCollectorComponent.md +31 -0
  363. package/docs/reference/functions/initialiseMetricsProducerComponent.md +31 -0
  364. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  365. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  366. package/docs/reference/functions/initialiseNotarizationComponent.md +31 -0
  367. package/docs/reference/functions/initialiseNotarizationConnector.md +31 -0
  368. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  369. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  370. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  371. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  372. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  373. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  374. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  375. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  376. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  377. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  378. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  379. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  380. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  381. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  382. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  383. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +2 -2
  384. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  385. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  386. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  387. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  388. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  389. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  390. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  391. package/docs/reference/functions/initialiseUrlTransformerComponent.md +31 -0
  392. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  393. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +2 -2
  394. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +2 -2
  395. package/docs/reference/functions/initialiseWalletConnector.md +2 -2
  396. package/docs/reference/index.md +88 -20
  397. package/docs/reference/interfaces/IEngineConfig.md +206 -68
  398. package/docs/reference/type-aliases/AttestationConnectorConfig.md +3 -3
  399. package/docs/reference/type-aliases/AutomationActionConfig.md +17 -0
  400. package/docs/reference/type-aliases/AutomationActionType.md +5 -0
  401. package/docs/reference/type-aliases/AutomationComponentConfig.md +5 -0
  402. package/docs/reference/type-aliases/AutomationComponentType.md +5 -0
  403. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  404. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  405. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  406. package/docs/reference/type-aliases/DataExtractorConnectorConfig.md +3 -3
  407. package/docs/reference/type-aliases/DataspaceControlPlaneComponentConfig.md +5 -0
  408. package/docs/reference/type-aliases/DataspaceControlPlaneComponentType.md +5 -0
  409. package/docs/reference/type-aliases/DataspaceDataPlaneComponentConfig.md +5 -0
  410. package/docs/reference/type-aliases/DataspaceDataPlaneComponentType.md +5 -0
  411. package/docs/reference/type-aliases/DltConfig.md +4 -4
  412. package/docs/reference/type-aliases/EventBusConnectorConfig.md +3 -3
  413. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  414. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  415. package/docs/reference/type-aliases/HealthComponentConfig.md +5 -0
  416. package/docs/reference/type-aliases/HealthComponentType.md +5 -0
  417. package/docs/reference/type-aliases/IdentityProfileConnectorConfig.md +3 -3
  418. package/docs/reference/type-aliases/MessagingAdminComponentConfig.md +3 -3
  419. package/docs/reference/type-aliases/MessagingComponentConfig.md +3 -3
  420. package/docs/reference/type-aliases/MetricsCollectorComponentConfig.md +17 -0
  421. package/docs/reference/type-aliases/MetricsCollectorComponentType.md +5 -0
  422. package/docs/reference/type-aliases/MetricsProducerComponentConfig.md +5 -0
  423. package/docs/reference/type-aliases/MetricsProducerComponentType.md +5 -0
  424. package/docs/reference/type-aliases/NotarizationComponentConfig.md +5 -0
  425. package/docs/reference/type-aliases/NotarizationComponentType.md +5 -0
  426. package/docs/reference/type-aliases/NotarizationConnectorConfig.md +5 -0
  427. package/docs/reference/type-aliases/NotarizationConnectorType.md +5 -0
  428. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +3 -9
  429. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +3 -9
  430. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +3 -9
  431. package/docs/reference/type-aliases/RightsManagementPmpComponentConfig.md +3 -3
  432. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  433. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  434. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  435. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  436. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  437. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  438. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  439. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  440. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  441. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  442. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  443. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  444. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  445. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  446. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  447. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +3 -9
  448. package/docs/reference/type-aliases/TaskSchedulerComponentConfig.md +3 -3
  449. package/docs/reference/type-aliases/TelemetryConnectorConfig.md +1 -13
  450. package/docs/reference/type-aliases/TenantAdminComponentConfig.md +3 -3
  451. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  452. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  453. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  454. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  455. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +17 -0
  456. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  457. package/docs/reference/type-aliases/UrlTransformerComponentConfig.md +17 -0
  458. package/docs/reference/type-aliases/UrlTransformerComponentType.md +5 -0
  459. package/docs/reference/variables/AttestationComponentType.md +2 -2
  460. package/docs/reference/variables/AttestationConnectorType.md +1 -1
  461. package/docs/reference/variables/AuditableItemGraphComponentType.md +2 -2
  462. package/docs/reference/variables/AuditableItemStreamComponentType.md +2 -2
  463. package/docs/reference/variables/AutomationActionType.md +13 -0
  464. package/docs/reference/variables/AutomationComponentType.md +19 -0
  465. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  466. package/docs/reference/variables/BlobStorageComponentType.md +2 -2
  467. package/docs/reference/variables/BlobStorageConnectorType.md +6 -6
  468. package/docs/reference/variables/ContextIdHandlerComponentType.md +2 -2
  469. package/docs/reference/variables/DataConverterConnectorType.md +2 -2
  470. package/docs/reference/variables/DataExtractorConnectorType.md +1 -1
  471. package/docs/reference/variables/DataProcessingComponentType.md +2 -2
  472. package/docs/reference/variables/DataspaceControlPlaneComponentType.md +19 -0
  473. package/docs/reference/variables/{DataSpaceConnectorComponentType.md → DataspaceDataPlaneComponentType.md} +6 -6
  474. package/docs/reference/variables/DltConfigType.md +1 -1
  475. package/docs/reference/variables/DocumentManagementComponentType.md +2 -2
  476. package/docs/reference/variables/EntityStorageComponentType.md +2 -2
  477. package/docs/reference/variables/EntityStorageConnectorType.md +10 -10
  478. package/docs/reference/variables/EventBusComponentType.md +2 -2
  479. package/docs/reference/variables/EventBusConnectorType.md +1 -1
  480. package/docs/reference/variables/FaucetConnectorType.md +2 -2
  481. package/docs/reference/variables/FederatedCatalogueComponentType.md +2 -2
  482. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  483. package/docs/reference/variables/HealthComponentType.md +19 -0
  484. package/docs/reference/variables/IdentityComponentType.md +2 -2
  485. package/docs/reference/variables/IdentityConnectorType.md +2 -2
  486. package/docs/reference/variables/IdentityProfileComponentType.md +2 -2
  487. package/docs/reference/variables/IdentityProfileConnectorType.md +1 -1
  488. package/docs/reference/variables/IdentityResolverComponentType.md +2 -2
  489. package/docs/reference/variables/IdentityResolverConnectorType.md +3 -3
  490. package/docs/reference/variables/ImmutableProofComponentType.md +2 -2
  491. package/docs/reference/variables/LoggingComponentType.md +2 -2
  492. package/docs/reference/variables/LoggingConnectorType.md +3 -3
  493. package/docs/reference/variables/MessagingAdminComponentType.md +1 -1
  494. package/docs/reference/variables/MessagingComponentType.md +1 -1
  495. package/docs/reference/variables/MessagingEmailConnectorType.md +2 -2
  496. package/docs/reference/variables/MessagingPushNotificationConnectorType.md +2 -2
  497. package/docs/reference/variables/MessagingSmsConnectorType.md +2 -2
  498. package/docs/reference/variables/MetricsCollectorComponentType.md +13 -0
  499. package/docs/reference/variables/MetricsProducerComponentType.md +19 -0
  500. package/docs/reference/variables/NftComponentType.md +2 -2
  501. package/docs/reference/variables/NftConnectorType.md +2 -2
  502. package/docs/reference/variables/NotarizationComponentType.md +19 -0
  503. package/docs/reference/variables/NotarizationConnectorType.md +19 -0
  504. package/docs/reference/variables/RightsManagementPapComponentType.md +2 -2
  505. package/docs/reference/variables/RightsManagementPdpComponentType.md +1 -1
  506. package/docs/reference/variables/RightsManagementPepComponentType.md +2 -2
  507. package/docs/reference/variables/RightsManagementPipComponentType.md +1 -1
  508. package/docs/reference/variables/RightsManagementPmpComponentType.md +1 -1
  509. package/docs/reference/variables/RightsManagementPnapComponentType.md +2 -2
  510. package/docs/reference/variables/RightsManagementPnpComponentType.md +2 -2
  511. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  512. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  513. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  514. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  515. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  516. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  517. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  518. package/docs/reference/variables/RightsManagementPxpComponentType.md +1 -1
  519. package/docs/reference/variables/SynchronisedStorageComponentType.md +2 -2
  520. package/docs/reference/variables/TaskSchedulerComponentType.md +1 -1
  521. package/docs/reference/variables/TelemetryComponentType.md +2 -2
  522. package/docs/reference/variables/TelemetryConnectorType.md +7 -1
  523. package/docs/reference/variables/TenantAdminComponentType.md +1 -1
  524. package/docs/reference/variables/TrustComponentType.md +13 -0
  525. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  526. package/docs/reference/variables/TrustVerifierComponentType.md +13 -0
  527. package/docs/reference/variables/UrlTransformerComponentType.md +13 -0
  528. package/docs/reference/variables/VaultConnectorType.md +2 -2
  529. package/docs/reference/variables/VerifiableStorageComponentType.md +2 -2
  530. package/docs/reference/variables/VerifiableStorageConnectorType.md +2 -2
  531. package/docs/reference/variables/WalletConnectorType.md +2 -2
  532. package/package.json +32 -12
  533. package/dist/es/components/authenticationGenerator.js +0 -30
  534. package/dist/es/components/authenticationGenerator.js.map +0 -1
  535. package/dist/es/components/dataSpaceConnector.js +0 -52
  536. package/dist/es/components/dataSpaceConnector.js.map +0 -1
  537. package/dist/es/components/rightsManagementDap.js +0 -38
  538. package/dist/es/components/rightsManagementDap.js.map +0 -1
  539. package/dist/es/components/rightsManagementDarp.js +0 -29
  540. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  541. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  542. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  543. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  544. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  545. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js +0 -2
  546. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js.map +0 -1
  547. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  548. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  549. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  550. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  551. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  552. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  553. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  554. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  555. package/dist/es/models/types/dataSpaceConnectorComponentType.js.map +0 -1
  556. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  557. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  558. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  559. package/dist/types/components/dataSpaceConnector.d.ts +0 -16
  560. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  561. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  562. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  563. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  564. package/dist/types/models/config/dataSpaceConnectorComponentConfig.d.ts +0 -17
  565. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  566. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  567. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  568. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  569. package/dist/types/models/types/dataSpaceConnectorComponentType.d.ts +0 -21
  570. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  571. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  572. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  573. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  574. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +0 -31
  575. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  576. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  577. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  578. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  579. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  580. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  581. package/docs/reference/type-aliases/DataSpaceConnectorComponentConfig.md +0 -5
  582. package/docs/reference/type-aliases/DataSpaceConnectorComponentType.md +0 -5
  583. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  584. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  585. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  586. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  587. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  588. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  589. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  590. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
@@ -11,10 +11,11 @@ import { BlobStorageConnectorFactory } from "@twin.org/blob-storage-models";
11
11
  import { BlobStorageRestClient } from "@twin.org/blob-storage-rest-client";
12
12
  import { BlobStorageService, initSchema as initSchemaBlobStorage } from "@twin.org/blob-storage-service";
13
13
  import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
14
- import { Is, ComponentFactory } from "@twin.org/core";
14
+ import { ComponentFactory, Is } from "@twin.org/core";
15
15
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
16
16
  import { BlobStorageComponentType } from "../models/types/blobStorageComponentType.js";
17
17
  import { BlobStorageConnectorType } from "../models/types/blobStorageConnectorType.js";
18
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
18
19
  /**
19
20
  * Initialise the blob storage connector.
20
21
  * @param engineCore The engine core.
@@ -22,89 +23,75 @@ import { BlobStorageConnectorType } from "../models/types/blobStorageConnectorTy
22
23
  * @param instanceConfig The instance config.
23
24
  * @returns The instance created and the factory for it.
24
25
  */
25
- export async function initialiseBlobStorageConnector(engineCore, context, instanceConfig) {
26
- let component;
27
- let instanceType;
26
+ export function initialiseBlobStorageConnector(engineCore, context, instanceConfig) {
27
+ let createComponent;
28
+ let instanceTypeName;
28
29
  if (instanceConfig.type === BlobStorageConnectorType.Ipfs) {
29
- component = new IpfsBlobStorageConnector({
30
- partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
31
- ContextIdKeys.Node,
32
- ContextIdKeys.Tenant
33
- ]),
34
- ...instanceConfig.options
35
- });
36
- instanceType = IpfsBlobStorageConnector.NAMESPACE;
30
+ createComponent = (createConfig) => new IpfsBlobStorageConnector(EngineTypeHelper.mergeConfig({
31
+ partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant])
32
+ }, createConfig.options));
33
+ instanceTypeName = IpfsBlobStorageConnector.NAMESPACE;
37
34
  }
38
35
  else if (instanceConfig.type === BlobStorageConnectorType.File) {
39
- component = new FileBlobStorageConnector({
40
- partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
41
- ContextIdKeys.Node,
42
- ContextIdKeys.Tenant
43
- ]),
44
- ...instanceConfig.options,
36
+ createComponent = (createConfig) => new FileBlobStorageConnector(EngineTypeHelper.mergeConfig({
37
+ partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant])
38
+ }, {
45
39
  config: {
46
- ...instanceConfig.options.config,
47
- directory: Is.stringValue(instanceConfig.options.storagePrefix)
48
- ? path.join(instanceConfig.options.config.directory, instanceConfig.options.storagePrefix)
49
- : instanceConfig.options.config.directory
40
+ directory: Is.stringValue(createConfig?.options.storagePrefix)
41
+ ? path.join(createConfig.options.config.directory, createConfig.options.storagePrefix)
42
+ : (createConfig.options.config.directory ?? "")
50
43
  }
51
- });
52
- instanceType = FileBlobStorageConnector.NAMESPACE;
44
+ }, createConfig.options));
45
+ instanceTypeName = FileBlobStorageConnector.NAMESPACE;
53
46
  }
54
47
  else if (instanceConfig.type === BlobStorageConnectorType.Memory) {
55
- component = new MemoryBlobStorageConnector({
56
- partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
57
- ContextIdKeys.Node,
58
- ContextIdKeys.Tenant
59
- ])
60
- });
61
- instanceType = MemoryBlobStorageConnector.NAMESPACE;
48
+ createComponent = (createConfig) => new MemoryBlobStorageConnector(EngineTypeHelper.mergeConfig({
49
+ partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant])
50
+ }, createConfig.options));
51
+ instanceTypeName = MemoryBlobStorageConnector.NAMESPACE;
62
52
  }
63
53
  else if (instanceConfig.type === BlobStorageConnectorType.AwsS3) {
64
- component = new S3BlobStorageConnector({
65
- partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
66
- ContextIdKeys.Node,
67
- ContextIdKeys.Tenant
68
- ]),
69
- ...instanceConfig.options,
54
+ createComponent = (createConfig) => new S3BlobStorageConnector(EngineTypeHelper.mergeConfig({
55
+ partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant])
56
+ }, {
70
57
  config: {
71
- ...instanceConfig.options.config,
72
- bucketName: `${instanceConfig.options.storagePrefix ?? ""}${instanceConfig.options.config.bucketName}`
58
+ bucketName: createConfig
59
+ ? `${createConfig.options.storagePrefix ?? ""}${createConfig.options.config.bucketName}`
60
+ : "",
61
+ region: createConfig?.options.config.region ?? ""
73
62
  }
74
- });
75
- instanceType = S3BlobStorageConnector.NAMESPACE;
63
+ }, createConfig.options));
64
+ instanceTypeName = S3BlobStorageConnector.NAMESPACE;
76
65
  }
77
66
  else if (instanceConfig.type === BlobStorageConnectorType.GcpStorage) {
78
- component = new GcpBlobStorageConnector({
79
- partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
80
- ContextIdKeys.Node,
81
- ContextIdKeys.Tenant
82
- ]),
83
- ...instanceConfig.options,
67
+ createComponent = (createConfig) => new GcpBlobStorageConnector(EngineTypeHelper.mergeConfig({
68
+ partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant])
69
+ }, {
84
70
  config: {
85
- ...instanceConfig.options.config,
86
- bucketName: `${instanceConfig.options.storagePrefix ?? ""}${instanceConfig.options.config.bucketName}`
71
+ bucketName: createConfig
72
+ ? `${createConfig.options.storagePrefix ?? ""}${createConfig.options.config.bucketName}`
73
+ : "",
74
+ projectId: createConfig?.options.config.projectId ?? ""
87
75
  }
88
- });
89
- instanceType = GcpBlobStorageConnector.NAMESPACE;
76
+ }, createConfig.options));
77
+ instanceTypeName = GcpBlobStorageConnector.NAMESPACE;
90
78
  }
91
79
  else if (instanceConfig.type === BlobStorageConnectorType.AzureStorage) {
92
- component = new AzureBlobStorageConnector({
93
- partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
94
- ContextIdKeys.Node,
95
- ContextIdKeys.Tenant
96
- ]),
97
- ...instanceConfig.options,
80
+ createComponent = (createConfig) => new AzureBlobStorageConnector(EngineTypeHelper.mergeConfig({
81
+ partitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant]),
98
82
  config: {
99
- ...instanceConfig.options.config,
100
- containerName: `${instanceConfig.options.storagePrefix ?? ""}${instanceConfig.options.config.containerName}`
83
+ containerName: createConfig
84
+ ? `${createConfig.options.storagePrefix ?? ""}${createConfig.options.config.containerName}`
85
+ : "",
86
+ accountName: createConfig?.options.config.accountName ?? "",
87
+ accountKey: createConfig?.options.config.accountKey ?? ""
101
88
  }
102
- });
103
- instanceType = AzureBlobStorageConnector.NAMESPACE;
89
+ }, createConfig.options));
90
+ instanceTypeName = AzureBlobStorageConnector.NAMESPACE;
104
91
  }
105
92
  return {
106
- component,
107
- instanceType,
93
+ createComponent: createComponent,
94
+ instanceTypeName,
108
95
  factory: BlobStorageConnectorFactory
109
96
  };
110
97
  }
@@ -115,28 +102,30 @@ export async function initialiseBlobStorageConnector(engineCore, context, instan
115
102
  * @param instanceConfig The instance config.
116
103
  * @returns The instance created and the factory for it.
117
104
  */
118
- export async function initialiseBlobStorageComponent(engineCore, context, instanceConfig) {
119
- let component;
120
- let instanceType;
105
+ export function initialiseBlobStorageComponent(engineCore, context, instanceConfig) {
106
+ let createComponent;
107
+ let instanceTypeName;
121
108
  if (instanceConfig.type === BlobStorageComponentType.Service) {
122
- initSchemaBlobStorage();
123
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.entryEntityStorageType, "BlobStorageEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
124
- ContextIdKeys.Node,
125
- ContextIdKeys.Tenant
126
- ]));
127
- component = new BlobStorageService({
128
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
129
- ...instanceConfig.options
130
- });
131
- instanceType = "blob-storage-service";
109
+ createComponent = (createConfig) => {
110
+ initSchemaBlobStorage();
111
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.entryEntityStorageType, "BlobStorageEntry", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
112
+ ContextIdKeys.Node,
113
+ ContextIdKeys.Tenant
114
+ ]));
115
+ return new BlobStorageService(EngineTypeHelper.mergeConfig({ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector") }, createConfig.options));
116
+ };
117
+ instanceTypeName = "blob-storage-service";
132
118
  }
133
119
  else if (instanceConfig.type === BlobStorageComponentType.RestClient) {
134
- component = new BlobStorageRestClient(instanceConfig.options);
135
- instanceType = "blob-storage-rest-client";
120
+ createComponent = (createConfig) => {
121
+ const mergedOptions = EngineTypeHelper.mergeConfig(createConfig.options);
122
+ return new BlobStorageRestClient(mergedOptions);
123
+ };
124
+ instanceTypeName = "blob-storage-rest-client";
136
125
  }
137
126
  return {
138
- component,
139
- instanceType,
127
+ createComponent: createComponent,
128
+ instanceTypeName,
140
129
  factory: ComponentFactory
141
130
  };
142
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blobStorage.js","sourceRoot":"","sources":["../../../src/components/blobStorage.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport path from \"node:path\";\nimport { S3BlobStorageConnector } from \"@twin.org/blob-storage-connector-aws-s3\";\nimport { AzureBlobStorageConnector } from \"@twin.org/blob-storage-connector-azure\";\nimport { FileBlobStorageConnector } from \"@twin.org/blob-storage-connector-file\";\nimport { GcpBlobStorageConnector } from \"@twin.org/blob-storage-connector-gcp\";\nimport { IpfsBlobStorageConnector } from \"@twin.org/blob-storage-connector-ipfs\";\nimport { MemoryBlobStorageConnector } from \"@twin.org/blob-storage-connector-memory\";\nimport {\n\tBlobStorageConnectorFactory,\n\ttype IBlobStorageComponent,\n\ttype IBlobStorageConnector\n} from \"@twin.org/blob-storage-models\";\nimport { BlobStorageRestClient } from \"@twin.org/blob-storage-rest-client\";\nimport {\n\tBlobStorageService,\n\tinitSchema as initSchemaBlobStorage,\n\ttype BlobStorageEntry\n} from \"@twin.org/blob-storage-service\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { Is, type IComponent, ComponentFactory } 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 { BlobStorageComponentConfig } from \"../models/config/blobStorageComponentConfig.js\";\nimport type { BlobStorageConnectorConfig } from \"../models/config/blobStorageConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { BlobStorageComponentType } from \"../models/types/blobStorageComponentType.js\";\nimport { BlobStorageConnectorType } from \"../models/types/blobStorageConnectorType.js\";\n\n/**\n * Initialise the blob storage 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 initialiseBlobStorageConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: BlobStorageConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof BlobStorageConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IBlobStorageConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === BlobStorageConnectorType.Ipfs) {\n\t\tcomponent = new IpfsBlobStorageConnector({\n\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t]),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = IpfsBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.File) {\n\t\tcomponent = new FileBlobStorageConnector({\n\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t]),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...instanceConfig.options.config,\n\t\t\t\tdirectory: Is.stringValue(instanceConfig.options.storagePrefix)\n\t\t\t\t\t? path.join(instanceConfig.options.config.directory, instanceConfig.options.storagePrefix)\n\t\t\t\t\t: instanceConfig.options.config.directory\n\t\t\t}\n\t\t});\n\t\tinstanceType = FileBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.Memory) {\n\t\tcomponent = new MemoryBlobStorageConnector({\n\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t});\n\t\tinstanceType = MemoryBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.AwsS3) {\n\t\tcomponent = new S3BlobStorageConnector({\n\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t]),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...instanceConfig.options.config,\n\t\t\t\tbucketName: `${instanceConfig.options.storagePrefix ?? \"\"}${instanceConfig.options.config.bucketName}`\n\t\t\t}\n\t\t});\n\t\tinstanceType = S3BlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.GcpStorage) {\n\t\tcomponent = new GcpBlobStorageConnector({\n\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t]),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...instanceConfig.options.config,\n\t\t\t\tbucketName: `${instanceConfig.options.storagePrefix ?? \"\"}${instanceConfig.options.config.bucketName}`\n\t\t\t}\n\t\t});\n\t\tinstanceType = GcpBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.AzureStorage) {\n\t\tcomponent = new AzureBlobStorageConnector({\n\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t]),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...instanceConfig.options.config,\n\t\t\t\tcontainerName: `${instanceConfig.options.storagePrefix ?? \"\"}${instanceConfig.options.config.containerName}`\n\t\t\t}\n\t\t});\n\t\tinstanceType = AzureBlobStorageConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: BlobStorageConnectorFactory\n\t};\n}\n\n/**\n * Initialise the blob 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 initialiseBlobStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: BlobStorageComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IBlobStorageComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === BlobStorageComponentType.Service) {\n\t\tinitSchemaBlobStorage();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.entryEntityStorageType,\n\t\t\tnameof<BlobStorageEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new BlobStorageService({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(BlobStorageService);\n\t} else if (instanceConfig.type === BlobStorageComponentType.RestClient) {\n\t\tcomponent = new BlobStorageRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(BlobStorageRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"blobStorage.js","sourceRoot":"","sources":["../../../src/components/blobStorage.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport path from \"node:path\";\nimport { S3BlobStorageConnector } from \"@twin.org/blob-storage-connector-aws-s3\";\nimport { AzureBlobStorageConnector } from \"@twin.org/blob-storage-connector-azure\";\nimport { FileBlobStorageConnector } from \"@twin.org/blob-storage-connector-file\";\nimport { GcpBlobStorageConnector } from \"@twin.org/blob-storage-connector-gcp\";\nimport { IpfsBlobStorageConnector } from \"@twin.org/blob-storage-connector-ipfs\";\nimport { MemoryBlobStorageConnector } from \"@twin.org/blob-storage-connector-memory\";\nimport { BlobStorageConnectorFactory } from \"@twin.org/blob-storage-models\";\nimport { BlobStorageRestClient } from \"@twin.org/blob-storage-rest-client\";\nimport {\n\tBlobStorageService,\n\tinitSchema as initSchemaBlobStorage,\n\ttype BlobStorageEntry\n} from \"@twin.org/blob-storage-service\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent, Is } 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 { BlobStorageComponentConfig } from \"../models/config/blobStorageComponentConfig.js\";\nimport type { BlobStorageConnectorConfig } from \"../models/config/blobStorageConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { BlobStorageComponentType } from \"../models/types/blobStorageComponentType.js\";\nimport { BlobStorageConnectorType } from \"../models/types/blobStorageConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the blob storage 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 initialiseBlobStorageConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: BlobStorageConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof BlobStorageConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === BlobStorageConnectorType.Ipfs) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew IpfsBlobStorageConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = IpfsBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.File) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew FileBlobStorageConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tdirectory: Is.stringValue(createConfig?.options.storagePrefix)\n\t\t\t\t\t\t\t\t? path.join(\n\t\t\t\t\t\t\t\t\t\tcreateConfig.options.config.directory,\n\t\t\t\t\t\t\t\t\t\tcreateConfig.options.storagePrefix\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: (createConfig.options.config.directory ?? \"\")\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = FileBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.Memory) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew MemoryBlobStorageConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = MemoryBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.AwsS3) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew S3BlobStorageConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tbucketName: createConfig\n\t\t\t\t\t\t\t\t? `${createConfig.options.storagePrefix ?? \"\"}${createConfig.options.config.bucketName}`\n\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\tregion: createConfig?.options.config.region ?? \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = S3BlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.GcpStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew GcpBlobStorageConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tbucketName: createConfig\n\t\t\t\t\t\t\t\t? `${createConfig.options.storagePrefix ?? \"\"}${createConfig.options.config.bucketName}`\n\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\tprojectId: createConfig?.options.config.projectId ?? \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = GcpBlobStorageConnector.NAMESPACE;\n\t} else if (instanceConfig.type === BlobStorageConnectorType.AzureStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AzureBlobStorageConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tpartitionContextIds: ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tcontainerName: createConfig\n\t\t\t\t\t\t\t\t? `${createConfig.options.storagePrefix ?? \"\"}${createConfig.options.config.containerName}`\n\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\taccountName: createConfig?.options.config.accountName ?? \"\",\n\t\t\t\t\t\t\taccountKey: createConfig?.options.config.accountKey ?? \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = AzureBlobStorageConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: BlobStorageConnectorFactory\n\t};\n}\n\n/**\n * Initialise the blob 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 initialiseBlobStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: BlobStorageComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === BlobStorageComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaBlobStorage();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.entryEntityStorageType,\n\t\t\t\tnameof<BlobStorageEntry>(),\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 BlobStorageService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ vaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(BlobStorageService);\n\t} else if (instanceConfig.type === BlobStorageComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tconst mergedOptions = EngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\tcreateConfig.options\n\t\t\t);\n\t\t\treturn new BlobStorageRestClient(mergedOptions);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(BlobStorageRestClient);\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"]}
@@ -11,20 +11,20 @@ import { ContextIdHandlerComponentType } from "../models/types/contextIdHandlerC
11
11
  * @param instanceConfig The instance config.
12
12
  * @returns The instance created and the factory for it.
13
13
  */
14
- export async function initialiseContextIdHandlerComponent(engineCore, context, instanceConfig) {
15
- let component;
16
- let instanceType;
14
+ export function initialiseContextIdHandlerComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
17
17
  if (instanceConfig.type === ContextIdHandlerComponentType.Did) {
18
- component = new DidContextIdHandler();
19
- instanceType = "did-context-id-handler";
18
+ createComponent = (createConfig) => new DidContextIdHandler();
19
+ instanceTypeName = "did-context-id-handler";
20
20
  }
21
21
  else if (instanceConfig.type === ContextIdHandlerComponentType.Tenant) {
22
- component = new TenantIdContextIdHandler();
23
- instanceType = "tenant-id-context-id-handler";
22
+ createComponent = (createConfig) => new TenantIdContextIdHandler();
23
+ instanceTypeName = "tenant-id-context-id-handler";
24
24
  }
25
25
  return {
26
- component,
27
- instanceType,
26
+ createComponent: createComponent,
27
+ instanceTypeName,
28
28
  factory: ComponentFactory
29
29
  };
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contextIdHandler.js","sourceRoot":"","sources":["../../../src/components/contextIdHandler.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACxD,UAAsC,EACtC,OAA0C,EAC1C,cAA+C;IAM/C,IAAI,SAAwC,CAAC;IAC7C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,GAAG,EAAE,CAAC;QAC/D,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,YAAY,2BAAuC,CAAC;IACrD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,MAAM,EAAE,CAAC;QACzE,SAAS,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC3C,YAAY,iCAA4C,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { TenantIdContextIdHandler } from \"@twin.org/api-tenant-processor\";\nimport type { IContextIdHandler } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { DidContextIdHandler } from \"@twin.org/identity-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { ContextIdHandlerComponentConfig } from \"../models/config/contextIdHandlerComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { ContextIdHandlerComponentType } from \"../models/types/contextIdHandlerComponentType.js\";\n\n/**\n * Initialise the context id handler 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 initialiseContextIdHandlerComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: ContextIdHandlerComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IContextIdHandler | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === ContextIdHandlerComponentType.Did) {\n\t\tcomponent = new DidContextIdHandler();\n\t\tinstanceType = nameofKebabCase(DidContextIdHandler);\n\t} else if (instanceConfig.type === ContextIdHandlerComponentType.Tenant) {\n\t\tcomponent = new TenantIdContextIdHandler();\n\t\tinstanceType = nameofKebabCase(TenantIdContextIdHandler);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"contextIdHandler.js","sourceRoot":"","sources":["../../../src/components/contextIdHandler.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAMnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC,CAClD,UAAsC,EACtC,OAA0C,EAC1C,cAA+C;IAE/C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,GAAG,EAAE,CAAC;QAC/D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACrF,gBAAgB,2BAAuC,CAAC;IACzD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,6BAA6B,CAAC,MAAM,EAAE,CAAC;QACzE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CAAC,IAAI,wBAAwB,EAAE,CAAC;QAC1F,gBAAgB,iCAA4C,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { TenantIdContextIdHandler } from \"@twin.org/api-tenant-processor\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { DidContextIdHandler } from \"@twin.org/identity-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { ContextIdHandlerComponentConfig } from \"../models/config/contextIdHandlerComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { ContextIdHandlerComponentType } from \"../models/types/contextIdHandlerComponentType.js\";\n\n/**\n * Initialise the context id handler 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 initialiseContextIdHandlerComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: ContextIdHandlerComponentConfig\n): EngineTypeInitialiserReturn<ContextIdHandlerComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === ContextIdHandlerComponentType.Did) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => new DidContextIdHandler();\n\t\tinstanceTypeName = nameofKebabCase(DidContextIdHandler);\n\t} else if (instanceConfig.type === ContextIdHandlerComponentType.Tenant) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => new TenantIdContextIdHandler();\n\t\tinstanceTypeName = nameofKebabCase(TenantIdContextIdHandler);\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"]}
@@ -11,6 +11,7 @@ import { initialiseEntityStorageConnector } from "./entityStorage.js";
11
11
  import { DataConverterConnectorType } from "../models/types/dataConverterConnectorType.js";
12
12
  import { DataExtractorConnectorType } from "../models/types/dataExtractorConnectorType.js";
13
13
  import { DataProcessingComponentType } from "../models/types/dataProcessingComponentType.js";
14
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
14
15
  /**
15
16
  * Initialise the data converter connector.
16
17
  * @param engineCore The engine core.
@@ -18,20 +19,20 @@ import { DataProcessingComponentType } from "../models/types/dataProcessingCompo
18
19
  * @param instanceConfig The instance config.
19
20
  * @returns The instance created and the factory for it.
20
21
  */
21
- export async function initialiseDataConverterConnector(engineCore, context, instanceConfig) {
22
- let component;
23
- let instanceType;
22
+ export function initialiseDataConverterConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
24
25
  if (instanceConfig.type === DataConverterConnectorType.Json) {
25
- component = new JsonConverterConnector();
26
- instanceType = JsonConverterConnector.NAMESPACE;
26
+ createComponent = (createConfig) => new JsonConverterConnector();
27
+ instanceTypeName = JsonConverterConnector.NAMESPACE;
27
28
  }
28
29
  else if (instanceConfig.type === DataConverterConnectorType.Xml) {
29
- component = new XmlConverterConnector();
30
- instanceType = XmlConverterConnector.NAMESPACE;
30
+ createComponent = (createConfig) => new XmlConverterConnector();
31
+ instanceTypeName = XmlConverterConnector.NAMESPACE;
31
32
  }
32
33
  return {
33
- component,
34
- instanceType,
34
+ createComponent: createComponent,
35
+ instanceTypeName,
35
36
  factory: DataConverterConnectorFactory
36
37
  };
37
38
  }
@@ -42,16 +43,16 @@ export async function initialiseDataConverterConnector(engineCore, context, inst
42
43
  * @param instanceConfig The instance config.
43
44
  * @returns The instance created and the factory for it.
44
45
  */
45
- export async function initialiseDataExtractorConnector(engineCore, context, instanceConfig) {
46
- let component;
47
- let instanceType;
46
+ export function initialiseDataExtractorConnector(engineCore, context, instanceConfig) {
47
+ let createComponent;
48
+ let instanceTypeName;
48
49
  if (instanceConfig.type === DataExtractorConnectorType.JsonPath) {
49
- component = new JsonPathExtractorConnector();
50
- instanceType = JsonPathExtractorConnector.NAMESPACE;
50
+ createComponent = (createConfig) => new JsonPathExtractorConnector();
51
+ instanceTypeName = JsonPathExtractorConnector.NAMESPACE;
51
52
  }
52
53
  return {
53
- component,
54
- instanceType,
54
+ createComponent,
55
+ instanceTypeName,
55
56
  factory: DataExtractorConnectorFactory
56
57
  };
57
58
  }
@@ -62,27 +63,27 @@ export async function initialiseDataExtractorConnector(engineCore, context, inst
62
63
  * @param instanceConfig The instance config.
63
64
  * @returns The instance created and the factory for it.
64
65
  */
65
- export async function initialiseDataProcessingComponent(engineCore, context, instanceConfig) {
66
- let component;
67
- let instanceType;
66
+ export function initialiseDataProcessingComponent(engineCore, context, instanceConfig) {
67
+ let createComponent;
68
+ let instanceTypeName;
68
69
  if (instanceConfig.type === DataProcessingComponentType.Service) {
69
- initSchemaDataProcessing();
70
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.extractionRuleGroupStorageConnectorType, "ExtractionRuleGroup", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
71
- ContextIdKeys.Node,
72
- ContextIdKeys.Tenant
73
- ]));
74
- component = new DataProcessingService({
75
- ...instanceConfig.options
76
- });
77
- instanceType = "data-processing-service";
70
+ createComponent = (createConfig) => {
71
+ initSchemaDataProcessing();
72
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.extractionRuleGroupStorageConnectorType, "ExtractionRuleGroup", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
73
+ ContextIdKeys.Node,
74
+ ContextIdKeys.Tenant
75
+ ]));
76
+ return new DataProcessingService(EngineTypeHelper.mergeConfig(createConfig.options));
77
+ };
78
+ instanceTypeName = "data-processing-service";
78
79
  }
79
80
  else if (instanceConfig.type === DataProcessingComponentType.RestClient) {
80
- component = new DataProcessingRestClient(instanceConfig.options);
81
- instanceType = "data-processing-rest-client";
81
+ createComponent = (createConfig) => new DataProcessingRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
82
+ instanceTypeName = "data-processing-rest-client";
82
83
  }
83
84
  return {
84
- component,
85
- instanceType,
85
+ createComponent: createComponent,
86
+ instanceTypeName,
86
87
  factory: ComponentFactory
87
88
  };
88
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dataProcessing.js","sourceRoot":"","sources":["../../../src/components/dataProcessing.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport {\n\tJsonConverterConnector,\n\tXmlConverterConnector\n} from \"@twin.org/data-processing-converters\";\nimport { JsonPathExtractorConnector } from \"@twin.org/data-processing-extractors\";\nimport {\n\tDataConverterConnectorFactory,\n\tDataExtractorConnectorFactory,\n\ttype IDataConverterConnector,\n\ttype IDataExtractorConnector,\n\ttype IDataProcessingComponent\n} from \"@twin.org/data-processing-models\";\nimport { DataProcessingRestClient } from \"@twin.org/data-processing-rest-client\";\nimport {\n\tDataProcessingService,\n\tinitSchema as initSchemaDataProcessing,\n\ttype ExtractionRuleGroup\n} from \"@twin.org/data-processing-service\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DataConverterConnectorConfig } from \"../models/config/dataConverterConnectorConfig.js\";\nimport type { DataExtractorConnectorConfig } from \"../models/config/dataExtractorConnectorConfig.js\";\nimport type { DataProcessingComponentConfig } from \"../models/config/dataProcessingComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DataConverterConnectorType } from \"../models/types/dataConverterConnectorType.js\";\nimport { DataExtractorConnectorType } from \"../models/types/dataExtractorConnectorType.js\";\nimport { DataProcessingComponentType } from \"../models/types/dataProcessingComponentType.js\";\n\n/**\n * Initialise the data converter 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 initialiseDataConverterConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataConverterConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof DataConverterConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IDataConverterConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === DataConverterConnectorType.Json) {\n\t\tcomponent = new JsonConverterConnector();\n\t\tinstanceType = JsonConverterConnector.NAMESPACE;\n\t} else if (instanceConfig.type === DataConverterConnectorType.Xml) {\n\t\tcomponent = new XmlConverterConnector();\n\t\tinstanceType = XmlConverterConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: DataConverterConnectorFactory\n\t};\n}\n\n/**\n * Initialise the data extractor 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 initialiseDataExtractorConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataExtractorConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof DataExtractorConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IDataExtractorConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === DataExtractorConnectorType.JsonPath) {\n\t\tcomponent = new JsonPathExtractorConnector();\n\t\tinstanceType = JsonPathExtractorConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: DataExtractorConnectorFactory\n\t};\n}\n\n/**\n * Initialise the data processing 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 initialiseDataProcessingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataProcessingComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IDataProcessingComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === DataProcessingComponentType.Service) {\n\t\tinitSchemaDataProcessing();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.extractionRuleGroupStorageConnectorType,\n\t\t\tnameof<ExtractionRuleGroup>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new DataProcessingService({\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(DataProcessingService);\n\t} else if (instanceConfig.type === DataProcessingComponentType.RestClient) {\n\t\tcomponent = new DataProcessingRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(DataProcessingRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"dataProcessing.js","sourceRoot":"","sources":["../../../src/components/dataProcessing.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport {\n\tJsonConverterConnector,\n\tXmlConverterConnector\n} from \"@twin.org/data-processing-converters\";\nimport { JsonPathExtractorConnector } from \"@twin.org/data-processing-extractors\";\nimport {\n\tDataConverterConnectorFactory,\n\tDataExtractorConnectorFactory\n} from \"@twin.org/data-processing-models\";\nimport { DataProcessingRestClient } from \"@twin.org/data-processing-rest-client\";\nimport {\n\tDataProcessingService,\n\tinitSchema as initSchemaDataProcessing,\n\ttype ExtractionRuleGroup\n} from \"@twin.org/data-processing-service\";\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 { DataConverterConnectorConfig } from \"../models/config/dataConverterConnectorConfig.js\";\nimport type { DataExtractorConnectorConfig } from \"../models/config/dataExtractorConnectorConfig.js\";\nimport type { DataProcessingComponentConfig } from \"../models/config/dataProcessingComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DataConverterConnectorType } from \"../models/types/dataConverterConnectorType.js\";\nimport { DataExtractorConnectorType } from \"../models/types/dataExtractorConnectorType.js\";\nimport { DataProcessingComponentType } from \"../models/types/dataProcessingComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the data converter 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 initialiseDataConverterConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataConverterConnectorConfig\n): EngineTypeInitialiserReturn<DataConverterConnectorConfig, typeof DataConverterConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === DataConverterConnectorType.Json) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => new JsonConverterConnector();\n\t\tinstanceTypeName = JsonConverterConnector.NAMESPACE;\n\t} else if (instanceConfig.type === DataConverterConnectorType.Xml) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => new XmlConverterConnector();\n\t\tinstanceTypeName = XmlConverterConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: DataConverterConnectorFactory\n\t};\n}\n\n/**\n * Initialise the data extractor 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 initialiseDataExtractorConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataExtractorConnectorConfig\n): EngineTypeInitialiserReturn<DataExtractorConnectorConfig, typeof DataExtractorConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === DataExtractorConnectorType.JsonPath) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => new JsonPathExtractorConnector();\n\t\tinstanceTypeName = JsonPathExtractorConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent,\n\t\tinstanceTypeName,\n\t\tfactory: DataExtractorConnectorFactory\n\t};\n}\n\n/**\n * Initialise the data processing 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 initialiseDataProcessingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataProcessingComponentConfig\n): EngineTypeInitialiserReturn<DataProcessingComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === DataProcessingComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaDataProcessing();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.extractionRuleGroupStorageConnectorType,\n\t\t\t\tnameof<ExtractionRuleGroup>(),\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 DataProcessingService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(DataProcessingService);\n\t} else if (instanceConfig.type === DataProcessingComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew DataProcessingRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(DataProcessingRestClient);\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,57 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
4
+ import { ComponentFactory } from "@twin.org/core";
5
+ import { DataspaceControlPlaneRestClient } from "@twin.org/dataspace-control-plane-rest-client";
6
+ import { DataspaceControlPlaneService, initSchema as initSchemaDataspaceControlPlane } from "@twin.org/dataspace-control-plane-service";
7
+ import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
+ import { DataspaceControlPlaneComponentType } from "../models/types/dataspaceControlPlaneComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
10
+ /**
11
+ * Initialise the dataspace control plane component.
12
+ * @param engineCore The engine core.
13
+ * @param context The context for the engine.
14
+ * @param instanceConfig The instance config.
15
+ * @returns The instance created and the factory for it.
16
+ */
17
+ export function initialiseDataspaceControlPlaneComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
20
+ if (instanceConfig.type === DataspaceControlPlaneComponentType.Service) {
21
+ createComponent = (createConfig) => {
22
+ initSchemaDataspaceControlPlane();
23
+ // Initialize entity storage for TransferProcessEntity.
24
+ // This storage is shared with Data Plane service. Both planes must
25
+ // register the same connector name with the same partition keys,
26
+ // otherwise initialiseEntityStorageConnector silently drops the
27
+ // second registration and the two layers disagree on where records
28
+ // live.
29
+ const partitionContextIds = ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant]);
30
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.transferProcessEntityStorageType, "TransferProcess", partitionContextIds);
31
+ // Tenant-supplied partial datasets are stored [Node]-only
32
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataspaceAppDatasetEntityStorageType, "DataspaceAppDataset", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
33
+ return new DataspaceControlPlaneService(EngineTypeHelper.mergeConfig({
34
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
35
+ trustComponentType: engineCore.getRegisteredInstanceTypeOptional("trustComponent"),
36
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
37
+ policyNegotiationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPnpComponent"),
38
+ federatedCatalogueComponentType: engineCore.getRegisteredInstanceType("federatedCatalogueComponent"),
39
+ identityComponentType: engineCore.getRegisteredInstanceTypeOptional("identityComponent"),
40
+ identityAuthenticationComponentType: engineCore.getRegisteredInstanceTypeOptional("identityAuthenticationComponent"),
41
+ taskSchedulerComponentType: engineCore.getRegisteredInstanceTypeOptional("taskSchedulerComponent"),
42
+ urlTransformerComponentType: engineCore.getRegisteredInstanceType("urlTransformerComponent")
43
+ }, createConfig.options));
44
+ };
45
+ instanceTypeName = "dataspace-control-plane-service";
46
+ }
47
+ else if (instanceConfig.type === DataspaceControlPlaneComponentType.RestClient) {
48
+ createComponent = (createConfig) => new DataspaceControlPlaneRestClient(createConfig.options);
49
+ instanceTypeName = "dataspace-control-plane-rest-client";
50
+ }
51
+ return {
52
+ createComponent: createComponent,
53
+ instanceTypeName,
54
+ factory: ComponentFactory
55
+ };
56
+ }
57
+ //# sourceMappingURL=dataspaceControlPlane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceControlPlane.js","sourceRoot":"","sources":["../../../src/components/dataspaceControlPlane.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;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AAChG,OAAO,EACN,4BAA4B,EAC5B,UAAU,IAAI,+BAA+B,EAC7C,MAAM,2CAA2C,CAAC;AAQnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,uDAAuD,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,wCAAwC,CACvD,UAAsC,EACtC,OAA0C,EAC1C,cAAoD;IAEpD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,kCAAkC,CAAC,OAAO,EAAE,CAAC;QACxE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,+BAA+B,EAAE,CAAC;YAElC,uDAAuD;YACvD,mEAAmE;YACnE,iEAAiE;YACjE,gEAAgE;YAChE,mEAAmE;YACnE,QAAQ;YACR,MAAM,mBAAmB,GAAG,eAAe,CAAC,qBAAqB,CAChE,UAAU,CAAC,gBAAgB,EAAE,EAC7B,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAC1C,CAAC;YAEF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,gCAAgC,qBAExD,mBAAmB,CACnB,CAAC;YAEF,0DAA0D;YAC1D,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,oCAAoC,yBAE5D,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YAEF,OAAO,IAAI,4BAA4B,CACtC,gBAAgB,CAAC,WAAW,CAC3B;gBACC,oBAAoB,EAAE,UAAU,CAAC,iCAAiC,CAAC,kBAAkB,CAAC;gBACtF,kBAAkB,EAAE,UAAU,CAAC,iCAAiC,CAAC,gBAAgB,CAAC;gBAClF,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;gBACD,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;gBACD,+BAA+B,EAAE,UAAU,CAAC,yBAAyB,CACpE,6BAA6B,CAC7B;gBACD,qBAAqB,EACpB,UAAU,CAAC,iCAAiC,CAAC,mBAAmB,CAAC;gBAClE,mCAAmC,EAAE,UAAU,CAAC,iCAAiC,CAChF,iCAAiC,CACjC;gBACD,0BAA0B,EACzB,UAAU,CAAC,iCAAiC,CAAC,wBAAwB,CAAC;gBACvE,2BAA2B,EAC1B,UAAU,CAAC,yBAAyB,CAAC,yBAAyB,CAAC;aAChE,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,oCAAgD,CAAC;IAClE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,kCAAkC,CAAC,UAAU,EAAE,CAAC;QAClF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,+BAA+B,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3D,gBAAgB,wCAAmD,CAAC;IACrE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2025 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 { DataspaceControlPlaneRestClient } from \"@twin.org/dataspace-control-plane-rest-client\";\nimport {\n\tDataspaceControlPlaneService,\n\tinitSchema as initSchemaDataspaceControlPlane\n} from \"@twin.org/dataspace-control-plane-service\";\nimport type { DataspaceAppDataset, TransferProcess } from \"@twin.org/dataspace-models\";\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 { DataspaceControlPlaneComponentConfig } from \"../models/config/dataspaceControlPlaneComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DataspaceControlPlaneComponentType } from \"../models/types/dataspaceControlPlaneComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the dataspace control plane 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 initialiseDataspaceControlPlaneComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataspaceControlPlaneComponentConfig\n): EngineTypeInitialiserReturn<DataspaceControlPlaneComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === DataspaceControlPlaneComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaDataspaceControlPlane();\n\n\t\t\t// Initialize entity storage for TransferProcessEntity.\n\t\t\t// This storage is shared with Data Plane service. Both planes must\n\t\t\t// register the same connector name with the same partition keys,\n\t\t\t// otherwise initialiseEntityStorageConnector silently drops the\n\t\t\t// second registration and the two layers disagree on where records\n\t\t\t// live.\n\t\t\tconst partitionContextIds = ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t);\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tinstanceConfig.options?.transferProcessEntityStorageType,\n\t\t\t\tnameof<TransferProcess>(),\n\t\t\t\tpartitionContextIds\n\t\t\t);\n\n\t\t\t// Tenant-supplied partial datasets are stored [Node]-only\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tinstanceConfig.options?.dataspaceAppDatasetEntityStorageType,\n\t\t\t\tnameof<DataspaceAppDataset>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\n\t\t\treturn new DataspaceControlPlaneService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t\t\t\ttrustComponentType: engineCore.getRegisteredInstanceTypeOptional(\"trustComponent\"),\n\t\t\t\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyNegotiationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPnpComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tfederatedCatalogueComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"federatedCatalogueComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tidentityComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"identityComponent\"),\n\t\t\t\t\t\tidentityAuthenticationComponentType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\t\t\t\"identityAuthenticationComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttaskSchedulerComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"taskSchedulerComponent\"),\n\t\t\t\t\t\turlTransformerComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceType(\"urlTransformerComponent\")\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(DataspaceControlPlaneService);\n\t} else if (instanceConfig.type === DataspaceControlPlaneComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew DataspaceControlPlaneRestClient(createConfig.options);\n\t\tinstanceTypeName = nameofKebabCase(DataspaceControlPlaneRestClient);\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,62 @@
1
+ // Copyright 2025 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
4
+ import { ComponentFactory } from "@twin.org/core";
5
+ import { DataspaceDataPlaneRestClient } from "@twin.org/dataspace-data-plane-rest-client";
6
+ import { DataspaceDataPlaneService, initSchema as initSchemaDataspaceDataPlane } from "@twin.org/dataspace-data-plane-service";
7
+ import { DataspaceDataPlaneSocketClient } from "@twin.org/dataspace-data-plane-socket-client";
8
+ import { initialiseEntityStorageConnector } from "./entityStorage.js";
9
+ import { DataspaceDataPlaneComponentType } from "../models/types/dataspaceDataPlaneComponentType.js";
10
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
11
+ /**
12
+ * Initialise the dataspace data plane component.
13
+ * @param engineCore The engine core.
14
+ * @param context The context for the engine.
15
+ * @param instanceConfig The instance config.
16
+ * @returns The instance created and the factory for it.
17
+ */
18
+ export function initialiseDataspaceDataPlaneComponent(engineCore, context, instanceConfig) {
19
+ let createComponent;
20
+ let instanceTypeName;
21
+ if (instanceConfig.type === DataspaceDataPlaneComponentType.Service) {
22
+ createComponent = (createConfig) => {
23
+ initSchemaDataspaceDataPlane();
24
+ const partitionContextIds = ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant]);
25
+ // Initialize entity storage for ActivityLogDetails and ActivityTask
26
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.activityLogEntityStorageType, "ActivityLogDetails", partitionContextIds);
27
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.activityTaskEntityStorageType, "ActivityTask", partitionContextIds);
28
+ // TransferProcessEntity storage is shared with Control Plane.
29
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.transferProcessEntityStorageType, "TransferProcess", partitionContextIds);
30
+ // DataspaceAppDataset storage is also shared with the Control Plane —
31
+ // register here too in case the DP component initialises before
32
+ // the CP one in the engine startup order. Read-only on this side.
33
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataspaceAppDatasetEntityStorageType, "DataspaceAppDataset", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
34
+ return new DataspaceDataPlaneService(EngineTypeHelper.mergeConfig({
35
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
36
+ backgroundTaskComponentType: engineCore.getRegisteredInstanceTypeOptional("backgroundTaskComponent"),
37
+ taskSchedulerComponentType: engineCore.getRegisteredInstanceTypeOptional("taskSchedulerComponent"),
38
+ trustComponentType: engineCore.getRegisteredInstanceTypeOptional("trustComponent"),
39
+ pepComponentType: engineCore.getRegisteredInstanceTypeOptional("rightsManagementPepComponent"),
40
+ tenantAdminType: engineCore.getRegisteredInstanceTypeOptional("tenantAdminComponent"),
41
+ partitionContextIds
42
+ }, createConfig.options));
43
+ };
44
+ instanceTypeName = "dataspace-data-plane-service";
45
+ }
46
+ else if (instanceConfig.type === DataspaceDataPlaneComponentType.RestClient) {
47
+ createComponent = (createConfig) => new DataspaceDataPlaneRestClient(createConfig.options);
48
+ instanceTypeName = "dataspace-data-plane-rest-client";
49
+ }
50
+ else if (instanceConfig.type === DataspaceDataPlaneComponentType.SocketClient) {
51
+ createComponent = (createConfig) => new DataspaceDataPlaneSocketClient(EngineTypeHelper.mergeConfig({
52
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent")
53
+ }, createConfig.options));
54
+ instanceTypeName = "dataspace-data-plane-socket-client";
55
+ }
56
+ return {
57
+ createComponent: createComponent,
58
+ instanceTypeName,
59
+ factory: ComponentFactory
60
+ };
61
+ }
62
+ //# sourceMappingURL=dataspaceDataPlane.js.map