@twin.org/engine-types 0.0.3-next.24 → 0.0.3-next.26

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 (52) hide show
  1. package/dist/es/components/dataspaceControlPlane.js +51 -0
  2. package/dist/es/components/dataspaceControlPlane.js.map +1 -0
  3. package/dist/es/components/dataspaceDataPlane.js +57 -0
  4. package/dist/es/components/dataspaceDataPlane.js.map +1 -0
  5. package/dist/es/components/entityStorage.js +29 -27
  6. package/dist/es/components/entityStorage.js.map +1 -1
  7. package/dist/es/components/federatedCatalogue.js +1 -1
  8. package/dist/es/components/federatedCatalogue.js.map +1 -1
  9. package/dist/es/index.js +6 -3
  10. package/dist/es/index.js.map +1 -1
  11. package/dist/es/models/IEngineConfig.js.map +1 -1
  12. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js +2 -0
  13. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js.map +1 -0
  14. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js +2 -0
  15. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js.map +1 -0
  16. package/dist/es/models/types/dataspaceControlPlaneComponentType.js +17 -0
  17. package/dist/es/models/types/dataspaceControlPlaneComponentType.js.map +1 -0
  18. package/dist/es/models/types/{dataSpaceConnectorComponentType.js → dataspaceDataPlaneComponentType.js} +4 -4
  19. package/dist/es/models/types/dataspaceDataPlaneComponentType.js.map +1 -0
  20. package/dist/types/components/dataspaceControlPlane.d.ts +12 -0
  21. package/dist/types/components/{dataSpaceConnector.d.ts → dataspaceDataPlane.d.ts} +3 -3
  22. package/dist/types/components/entityStorage.d.ts +1 -2
  23. package/dist/types/index.d.ts +6 -3
  24. package/dist/types/models/IEngineConfig.d.ts +8 -3
  25. package/dist/types/models/config/dataspaceControlPlaneComponentConfig.d.ts +13 -0
  26. package/dist/types/models/config/dataspaceDataPlaneComponentConfig.d.ts +17 -0
  27. package/dist/types/models/types/dataspaceControlPlaneComponentType.d.ts +17 -0
  28. package/dist/types/models/types/dataspaceDataPlaneComponentType.d.ts +21 -0
  29. package/docs/changelog.md +30 -0
  30. package/docs/reference/classes/EngineTypeHelper.md +2 -2
  31. package/docs/reference/functions/initialiseDataspaceControlPlaneComponent.md +31 -0
  32. package/docs/reference/functions/initialiseDataspaceDataPlaneComponent.md +31 -0
  33. package/docs/reference/functions/initialiseEntityStorageConnector.md +3 -5
  34. package/docs/reference/index.md +8 -4
  35. package/docs/reference/interfaces/IEngineConfig.md +46 -4
  36. package/docs/reference/type-aliases/DataspaceControlPlaneComponentConfig.md +5 -0
  37. package/docs/reference/type-aliases/DataspaceControlPlaneComponentType.md +5 -0
  38. package/docs/reference/type-aliases/DataspaceDataPlaneComponentConfig.md +5 -0
  39. package/docs/reference/type-aliases/DataspaceDataPlaneComponentType.md +5 -0
  40. package/docs/reference/variables/DataspaceControlPlaneComponentType.md +19 -0
  41. package/docs/reference/variables/{DataSpaceConnectorComponentType.md → DataspaceDataPlaneComponentType.md} +3 -3
  42. package/package.json +9 -7
  43. package/dist/es/components/dataSpaceConnector.js +0 -53
  44. package/dist/es/components/dataSpaceConnector.js.map +0 -1
  45. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js +0 -2
  46. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js.map +0 -1
  47. package/dist/es/models/types/dataSpaceConnectorComponentType.js.map +0 -1
  48. package/dist/types/models/config/dataSpaceConnectorComponentConfig.d.ts +0 -17
  49. package/dist/types/models/types/dataSpaceConnectorComponentType.d.ts +0 -21
  50. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +0 -31
  51. package/docs/reference/type-aliases/DataSpaceConnectorComponentConfig.md +0 -5
  52. package/docs/reference/type-aliases/DataSpaceConnectorComponentType.md +0 -5
@@ -0,0 +1,51 @@
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
25
+ // Partition by Node only - transfers are cross-tenant operations
26
+ const partitionContextIds = ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]);
27
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.transferProcessEntityStorageType, "TransferProcess", partitionContextIds);
28
+ return new DataspaceControlPlaneService(EngineTypeHelper.mergeConfig({
29
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
30
+ trustComponentType: engineCore.getRegisteredInstanceTypeOptional("trustComponent"),
31
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
32
+ policyNegotiationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPnpComponent"),
33
+ federatedCatalogueComponentType: engineCore.getRegisteredInstanceType("federatedCatalogueComponent"),
34
+ identityComponentType: engineCore.getRegisteredInstanceTypeOptional("identityComponent"),
35
+ identityAuthenticationComponentType: engineCore.getRegisteredInstanceTypeOptional("identityAuthenticationComponent"),
36
+ taskSchedulerComponentType: engineCore.getRegisteredInstanceTypeOptional("taskSchedulerComponent")
37
+ }, createConfig.options));
38
+ };
39
+ instanceTypeName = "dataspace-control-plane-service";
40
+ }
41
+ else if (instanceConfig.type === DataspaceControlPlaneComponentType.RestClient) {
42
+ createComponent = (createConfig) => new DataspaceControlPlaneRestClient(createConfig.options);
43
+ instanceTypeName = "dataspace-control-plane-rest-client";
44
+ }
45
+ return {
46
+ createComponent: createComponent,
47
+ instanceTypeName,
48
+ factory: ComponentFactory
49
+ };
50
+ }
51
+ //# 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,sDAAsD;YACtD,iDAAiD;YACjD,iEAAiE;YACjE,MAAM,mBAAmB,GAAG,eAAe,CAAC,qBAAqB,CAChE,UAAU,CAAC,gBAAgB,EAAE,EAC7B,CAAC,aAAa,CAAC,IAAI,CAAC,CACpB,CAAC;YAEF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,gCAAgC,qBAExD,mBAAmB,CACnB,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;aACvE,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 { 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\n\t\t\t// Partition by Node only - transfers are cross-tenant operations\n\t\t\tconst partitionContextIds = ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t[ContextIdKeys.Node]\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\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},\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,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 { 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
+ return new DataspaceDataPlaneService(EngineTypeHelper.mergeConfig({
31
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
32
+ backgroundTaskComponentType: engineCore.getRegisteredInstanceTypeOptional("backgroundTaskComponent"),
33
+ taskSchedulerComponentType: engineCore.getRegisteredInstanceTypeOptional("taskSchedulerComponent"),
34
+ trustComponentType: engineCore.getRegisteredInstanceTypeOptional("trustComponent"),
35
+ pepComponentType: engineCore.getRegisteredInstanceTypeOptional("rightsManagementPepComponent"),
36
+ partitionContextIds
37
+ }, createConfig.options));
38
+ };
39
+ instanceTypeName = "dataspace-data-plane-service";
40
+ }
41
+ else if (instanceConfig.type === DataspaceDataPlaneComponentType.RestClient) {
42
+ createComponent = (createConfig) => new DataspaceDataPlaneRestClient(createConfig.options);
43
+ instanceTypeName = "dataspace-data-plane-rest-client";
44
+ }
45
+ else if (instanceConfig.type === DataspaceDataPlaneComponentType.SocketClient) {
46
+ createComponent = (createConfig) => new DataspaceDataPlaneSocketClient(EngineTypeHelper.mergeConfig({
47
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent")
48
+ }, createConfig.options));
49
+ instanceTypeName = "dataspace-data-plane-socket-client";
50
+ }
51
+ return {
52
+ createComponent: createComponent,
53
+ instanceTypeName,
54
+ factory: ComponentFactory
55
+ };
56
+ }
57
+ //# sourceMappingURL=dataspaceDataPlane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataspaceDataPlane.js","sourceRoot":"","sources":["../../../src/components/dataspaceDataPlane.ts"],"names":[],"mappings":"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","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 { DataspaceDataPlaneRestClient } from \"@twin.org/dataspace-data-plane-rest-client\";\nimport {\n\ttype ActivityLogDetails,\n\ttype ActivityTask,\n\tDataspaceDataPlaneService,\n\tinitSchema as initSchemaDataspaceDataPlane\n} from \"@twin.org/dataspace-data-plane-service\";\nimport { DataspaceDataPlaneSocketClient } from \"@twin.org/dataspace-data-plane-socket-client\";\nimport type { 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 { DataspaceDataPlaneComponentConfig } from \"../models/config/dataspaceDataPlaneComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DataspaceDataPlaneComponentType } from \"../models/types/dataspaceDataPlaneComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the dataspace data 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 initialiseDataspaceDataPlaneComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: DataspaceDataPlaneComponentConfig\n): EngineTypeInitialiserReturn<DataspaceDataPlaneComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === DataspaceDataPlaneComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaDataspaceDataPlane();\n\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\t// Initialize entity storage for ActivityLogDetails and ActivityTask\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tinstanceConfig.options?.activityLogEntityStorageType,\n\t\t\t\tnameof<ActivityLogDetails>(),\n\t\t\t\tpartitionContextIds\n\t\t\t);\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tinstanceConfig.options?.activityTaskEntityStorageType,\n\t\t\t\tnameof<ActivityTask>(),\n\t\t\t\tpartitionContextIds\n\t\t\t);\n\n\t\t\t// TransferProcessEntity storage is shared with Control Plane.\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\treturn new DataspaceDataPlaneService(\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\tbackgroundTaskComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"backgroundTaskComponent\"),\n\t\t\t\t\t\ttaskSchedulerComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"taskSchedulerComponent\"),\n\t\t\t\t\t\ttrustComponentType: engineCore.getRegisteredInstanceTypeOptional(\"trustComponent\"),\n\t\t\t\t\t\tpepComponentType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\t\t\t\"rightsManagementPepComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpartitionContextIds\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(DataspaceDataPlaneService);\n\t} else if (instanceConfig.type === DataspaceDataPlaneComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew DataspaceDataPlaneRestClient(createConfig.options);\n\t\tinstanceTypeName = nameofKebabCase(DataspaceDataPlaneRestClient);\n\t} else if (instanceConfig.type === DataspaceDataPlaneComponentType.SocketClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew DataspaceDataPlaneSocketClient(\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},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(DataspaceDataPlaneSocketClient);\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"]}
@@ -25,35 +25,38 @@ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
25
25
  * @param typeCustom Override the type of connector to use instead of default configuration.
26
26
  * @param schema The schema for the entity storage.
27
27
  * @param partitionContextIds The context IDs to use for partitioning the data.
28
- * @returns The name of the instance type that was created.
29
28
  * @throws GeneralError when the configuration is invalid.
30
29
  */
31
30
  export function initialiseEntityStorageConnector(engineCore, context, typeCustom, schema, partitionContextIds) {
32
- const instanceName = StringHelper.kebabCase(schema);
33
- if (!EntityStorageConnectorFactory.hasName(instanceName)) {
34
- let entityStorageConfig;
35
- if (Is.stringValue(typeCustom)) {
36
- // A custom type has been specified, so look it up
37
- entityStorageConfig = context.config.types.entityStorageConnector?.find(c => c.type === typeCustom || c.overrideInstanceType === typeCustom);
38
- if (Is.empty(entityStorageConfig)) {
39
- throw new GeneralError("engineTypes", "entityStorageCustomMissing", {
40
- typeCustom,
41
- storageName: instanceName
42
- });
43
- }
31
+ const kebabName = StringHelper.kebabCase(schema);
32
+ let instanceName = kebabName;
33
+ let entityStorageConfig;
34
+ if (Is.stringValue(typeCustom)) {
35
+ // A custom type has been specified, so look it up
36
+ entityStorageConfig = context.config.types.entityStorageConnector?.find(c => c.type === typeCustom || c.overrideInstanceType === typeCustom);
37
+ if (Is.empty(entityStorageConfig)) {
38
+ throw new GeneralError("engineTypes", "entityStorageCustomMissing", {
39
+ typeCustom,
40
+ storageName: instanceName
41
+ });
44
42
  }
45
- else {
46
- // The default entity storage method is either the one with the isDefault flag set
47
- // or pick the first one if no default is set.
48
- entityStorageConfig =
49
- context.config.types.entityStorageConnector?.find(c => c.isDefault ?? false) ??
50
- context.config.types.entityStorageConnector?.[0];
51
- if (Is.empty(entityStorageConfig)) {
52
- throw new GeneralError("engineTypes", "entityStorageMissing", {
53
- storageName: instanceName
54
- });
55
- }
43
+ // Since we have a custom type we need to use that as the instance name for the
44
+ // connector so that it can be looked up by other components
45
+ instanceName = typeCustom;
46
+ }
47
+ else {
48
+ // The default entity storage method is either the one with the isDefault flag set
49
+ // or pick the first one if no default is set.
50
+ entityStorageConfig =
51
+ context.config.types.entityStorageConnector?.find(c => c.isDefault ?? false) ??
52
+ context.config.types.entityStorageConnector?.[0];
53
+ if (Is.empty(entityStorageConfig)) {
54
+ throw new GeneralError("engineTypes", "entityStorageMissing", {
55
+ storageName: instanceName
56
+ });
56
57
  }
58
+ }
59
+ if (!EntityStorageConnectorFactory.hasName(instanceName)) {
57
60
  const type = entityStorageConfig.type;
58
61
  let entityStorageConnector;
59
62
  engineCore.logInfo(I18n.formatMessage("info.engineTypes.configuringEntityStorage", {
@@ -159,13 +162,13 @@ export function initialiseEntityStorageConnector(engineCore, context, typeCustom
159
162
  // Create the entity storage that is wrapped by the synchronised connector
160
163
  // by removing the custom type it will default to the standard storage
161
164
  // mechanism for entity storage
162
- const wrappedInstanceName = initialiseEntityStorageConnector(engineCore, context, undefined, schema, partitionContextIds);
165
+ initialiseEntityStorageConnector(engineCore, context, undefined, schema, partitionContextIds);
163
166
  // Use the wrapped instance name as the entity storage connector type
164
167
  // for the synchronised connector
165
168
  entityStorageConnector = new SynchronisedEntityStorageConnector({
166
169
  entitySchema: schema,
167
170
  ...entityStorageConfig.options,
168
- entityStorageConnectorType: wrappedInstanceName,
171
+ entityStorageConnectorType: kebabName,
169
172
  eventBusComponentType: engineCore.getRegisteredInstanceType("eventBusComponent"),
170
173
  config: {
171
174
  ...entityStorageConfig.options.config
@@ -185,7 +188,6 @@ export function initialiseEntityStorageConnector(engineCore, context, typeCustom
185
188
  });
186
189
  EntityStorageConnectorFactory.register(instanceName, () => entityStorageConnector);
187
190
  }
188
- return instanceName;
189
191
  }
190
192
  /**
191
193
  * Initialise the entity storage connector.
@@ -1 +1 @@
1
- {"version":3,"file":"entityStorage.js","sourceRoot":"","sources":["../../../src/components/entityStorage.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 {\n\tComponentFactory,\n\tGeneralError,\n\tI18n,\n\ttype IComponent,\n\tIs,\n\tStringHelper\n} from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { CosmosDbEntityStorageConnector } from \"@twin.org/entity-storage-connector-cosmosdb\";\nimport { DynamoDbEntityStorageConnector } from \"@twin.org/entity-storage-connector-dynamodb\";\nimport { FileEntityStorageConnector } from \"@twin.org/entity-storage-connector-file\";\nimport { FirestoreEntityStorageConnector } from \"@twin.org/entity-storage-connector-gcp-firestore\";\nimport { MemoryEntityStorageConnector } from \"@twin.org/entity-storage-connector-memory\";\nimport { MongoDbEntityStorageConnector } from \"@twin.org/entity-storage-connector-mongodb\";\nimport { MySqlEntityStorageConnector } from \"@twin.org/entity-storage-connector-mysql\";\nimport { PostgreSqlEntityStorageConnector } from \"@twin.org/entity-storage-connector-postgresql\";\nimport { ScyllaDBTableConnector } from \"@twin.org/entity-storage-connector-scylladb\";\nimport { SynchronisedEntityStorageConnector } from \"@twin.org/entity-storage-connector-synchronised\";\nimport {\n\tEntityStorageConnectorFactory,\n\ttype IEntityStorageConnector\n} from \"@twin.org/entity-storage-models\";\nimport { EntityStorageRestClient } from \"@twin.org/entity-storage-rest-client\";\nimport { EntityStorageService } from \"@twin.org/entity-storage-service\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { EntityStorageComponentConfig } from \"../models/config/entityStorageComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { EntityStorageComponentType } from \"../models/types/entityStorageComponentType.js\";\nimport { EntityStorageConnectorType } from \"../models/types/entityStorageConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the entity storage connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param typeCustom Override the type of connector to use instead of default configuration.\n * @param schema The schema for the entity storage.\n * @param partitionContextIds The context IDs to use for partitioning the data.\n * @returns The name of the instance type that was created.\n * @throws GeneralError when the configuration is invalid.\n */\nexport function initialiseEntityStorageConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\ttypeCustom: string | undefined,\n\tschema: string,\n\tpartitionContextIds: string[]\n): string {\n\tconst instanceName = StringHelper.kebabCase(schema);\n\n\tif (!EntityStorageConnectorFactory.hasName(instanceName)) {\n\t\tlet entityStorageConfig;\n\n\t\tif (Is.stringValue(typeCustom)) {\n\t\t\t// A custom type has been specified, so look it up\n\t\t\tentityStorageConfig = context.config.types.entityStorageConnector?.find(\n\t\t\t\tc => c.type === typeCustom || c.overrideInstanceType === typeCustom\n\t\t\t);\n\t\t\tif (Is.empty(entityStorageConfig)) {\n\t\t\t\tthrow new GeneralError(\"engineTypes\", \"entityStorageCustomMissing\", {\n\t\t\t\t\ttypeCustom,\n\t\t\t\t\tstorageName: instanceName\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\t// The default entity storage method is either the one with the isDefault flag set\n\t\t\t// or pick the first one if no default is set.\n\t\t\tentityStorageConfig =\n\t\t\t\tcontext.config.types.entityStorageConnector?.find(c => c.isDefault ?? false) ??\n\t\t\t\tcontext.config.types.entityStorageConnector?.[0];\n\t\t\tif (Is.empty(entityStorageConfig)) {\n\t\t\t\tthrow new GeneralError(\"engineTypes\", \"entityStorageMissing\", {\n\t\t\t\t\tstorageName: instanceName\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst type = entityStorageConfig.type;\n\t\tlet entityStorageConnector: IEntityStorageConnector;\n\n\t\tengineCore.logInfo(\n\t\t\tI18n.formatMessage(\"info.engineTypes.configuringEntityStorage\", {\n\t\t\t\telement: \"Entity Storage\",\n\t\t\t\tstorageName: instanceName,\n\t\t\t\tstorageType: type\n\t\t\t})\n\t\t);\n\n\t\tif (type === EntityStorageConnectorType.Memory) {\n\t\t\tentityStorageConnector = new MemoryEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.File) {\n\t\t\tentityStorageConnector = new FileEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tdirectory: path.join(\n\t\t\t\t\t\tentityStorageConfig.options.config.directory,\n\t\t\t\t\t\t`${entityStorageConfig.options.folderPrefix ?? \"\"}${instanceName}`\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.AwsDynamoDb) {\n\t\t\tentityStorageConnector = new DynamoDbEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.AzureCosmosDb) {\n\t\t\tentityStorageConnector = new CosmosDbEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tcontainerId: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.GcpFirestoreDb) {\n\t\t\tentityStorageConnector = new FirestoreEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tcollectionName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.ScyllaDb) {\n\t\t\tentityStorageConnector = new ScyllaDBTableConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.MySqlDb) {\n\t\t\tentityStorageConnector = new MySqlEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.MongoDb) {\n\t\t\tentityStorageConnector = new MongoDbEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tcollection: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.PostgreSql) {\n\t\t\tentityStorageConnector = new PostgreSqlEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.Synchronised) {\n\t\t\t// Create the entity storage that is wrapped by the synchronised connector\n\t\t\t// by removing the custom type it will default to the standard storage\n\t\t\t// mechanism for entity storage\n\t\t\tconst wrappedInstanceName = initialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tundefined,\n\t\t\t\tschema,\n\t\t\t\tpartitionContextIds\n\t\t\t);\n\n\t\t\t// Use the wrapped instance name as the entity storage connector type\n\t\t\t// for the synchronised connector\n\t\t\tentityStorageConnector = new SynchronisedEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tentityStorageConnectorType: wrappedInstanceName,\n\t\t\t\teventBusComponentType: engineCore.getRegisteredInstanceType(\"eventBusComponent\"),\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tthrow new GeneralError(\"engineTypes\", \"connectorUnknownType\", {\n\t\t\t\ttype,\n\t\t\t\tconnectorType: \"entityStorageConnector\"\n\t\t\t});\n\t\t}\n\n\t\tcontext.componentInstances.push({\n\t\t\tinstanceType: instanceName,\n\t\t\tcomponent: entityStorageConnector,\n\t\t\tinitialised: false\n\t\t});\n\t\tEntityStorageConnectorFactory.register(instanceName, () => entityStorageConnector);\n\t}\n\n\treturn instanceName;\n}\n\n/**\n * Initialise the entity 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 initialiseEntityStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: EntityStorageComponentConfig\n): EngineTypeInitialiserReturn<EntityStorageComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === EntityStorageComponentType.Service) {\n\t\tconst kebabName = StringHelper.kebabCase(instanceConfig.options.entityStorageType);\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\t// See if there is a custom entity storage for this type, otherwise just use the default one.\n\t\t\tconst hasCustom = context.config.types.entityStorageConnector?.some(\n\t\t\t\tc => c.type === kebabName || c.overrideInstanceType === kebabName\n\t\t\t);\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\thasCustom ? kebabName : undefined,\n\t\t\t\tcreateConfig.options.entityStorageType,\n\t\t\t\tcreateConfig.options.partitionContextIds\n\t\t\t);\n\n\t\t\treturn new EntityStorageService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options, {\n\t\t\t\t\tentityStorageType: kebabName\n\t\t\t\t})\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = kebabName;\n\t} else if (instanceConfig.type === EntityStorageComponentType.RestClient) {\n\t\tconst kebabName = StringHelper.kebabCase(instanceConfig.options.entityStorageType);\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew EntityStorageRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options, {\n\t\t\t\t\tpathPrefix: kebabName\n\t\t\t\t})\n\t\t\t);\n\t\tinstanceTypeName = `${nameofKebabCase(EntityStorageRestClient)}-${kebabName}`;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"entityStorage.js","sourceRoot":"","sources":["../../../src/components/entityStorage.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 {\n\tComponentFactory,\n\tGeneralError,\n\tI18n,\n\ttype IComponent,\n\tIs,\n\tStringHelper\n} from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { CosmosDbEntityStorageConnector } from \"@twin.org/entity-storage-connector-cosmosdb\";\nimport { DynamoDbEntityStorageConnector } from \"@twin.org/entity-storage-connector-dynamodb\";\nimport { FileEntityStorageConnector } from \"@twin.org/entity-storage-connector-file\";\nimport { FirestoreEntityStorageConnector } from \"@twin.org/entity-storage-connector-gcp-firestore\";\nimport { MemoryEntityStorageConnector } from \"@twin.org/entity-storage-connector-memory\";\nimport { MongoDbEntityStorageConnector } from \"@twin.org/entity-storage-connector-mongodb\";\nimport { MySqlEntityStorageConnector } from \"@twin.org/entity-storage-connector-mysql\";\nimport { PostgreSqlEntityStorageConnector } from \"@twin.org/entity-storage-connector-postgresql\";\nimport { ScyllaDBTableConnector } from \"@twin.org/entity-storage-connector-scylladb\";\nimport { SynchronisedEntityStorageConnector } from \"@twin.org/entity-storage-connector-synchronised\";\nimport {\n\tEntityStorageConnectorFactory,\n\ttype IEntityStorageConnector\n} from \"@twin.org/entity-storage-models\";\nimport { EntityStorageRestClient } from \"@twin.org/entity-storage-rest-client\";\nimport { EntityStorageService } from \"@twin.org/entity-storage-service\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { EntityStorageComponentConfig } from \"../models/config/entityStorageComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { EntityStorageComponentType } from \"../models/types/entityStorageComponentType.js\";\nimport { EntityStorageConnectorType } from \"../models/types/entityStorageConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the entity storage connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param typeCustom Override the type of connector to use instead of default configuration.\n * @param schema The schema for the entity storage.\n * @param partitionContextIds The context IDs to use for partitioning the data.\n * @throws GeneralError when the configuration is invalid.\n */\nexport function initialiseEntityStorageConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\ttypeCustom: string | undefined,\n\tschema: string,\n\tpartitionContextIds: string[]\n): void {\n\tconst kebabName = StringHelper.kebabCase(schema);\n\tlet instanceName = kebabName;\n\n\tlet entityStorageConfig;\n\n\tif (Is.stringValue(typeCustom)) {\n\t\t// A custom type has been specified, so look it up\n\t\tentityStorageConfig = context.config.types.entityStorageConnector?.find(\n\t\t\tc => c.type === typeCustom || c.overrideInstanceType === typeCustom\n\t\t);\n\t\tif (Is.empty(entityStorageConfig)) {\n\t\t\tthrow new GeneralError(\"engineTypes\", \"entityStorageCustomMissing\", {\n\t\t\t\ttypeCustom,\n\t\t\t\tstorageName: instanceName\n\t\t\t});\n\t\t}\n\n\t\t// Since we have a custom type we need to use that as the instance name for the\n\t\t// connector so that it can be looked up by other components\n\t\tinstanceName = typeCustom;\n\t} else {\n\t\t// The default entity storage method is either the one with the isDefault flag set\n\t\t// or pick the first one if no default is set.\n\t\tentityStorageConfig =\n\t\t\tcontext.config.types.entityStorageConnector?.find(c => c.isDefault ?? false) ??\n\t\t\tcontext.config.types.entityStorageConnector?.[0];\n\t\tif (Is.empty(entityStorageConfig)) {\n\t\t\tthrow new GeneralError(\"engineTypes\", \"entityStorageMissing\", {\n\t\t\t\tstorageName: instanceName\n\t\t\t});\n\t\t}\n\t}\n\n\tif (!EntityStorageConnectorFactory.hasName(instanceName)) {\n\t\tconst type = entityStorageConfig.type;\n\t\tlet entityStorageConnector: IEntityStorageConnector;\n\n\t\tengineCore.logInfo(\n\t\t\tI18n.formatMessage(\"info.engineTypes.configuringEntityStorage\", {\n\t\t\t\telement: \"Entity Storage\",\n\t\t\t\tstorageName: instanceName,\n\t\t\t\tstorageType: type\n\t\t\t})\n\t\t);\n\n\t\tif (type === EntityStorageConnectorType.Memory) {\n\t\t\tentityStorageConnector = new MemoryEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.File) {\n\t\t\tentityStorageConnector = new FileEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tdirectory: path.join(\n\t\t\t\t\t\tentityStorageConfig.options.config.directory,\n\t\t\t\t\t\t`${entityStorageConfig.options.folderPrefix ?? \"\"}${instanceName}`\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.AwsDynamoDb) {\n\t\t\tentityStorageConnector = new DynamoDbEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.AzureCosmosDb) {\n\t\t\tentityStorageConnector = new CosmosDbEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tcontainerId: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.GcpFirestoreDb) {\n\t\t\tentityStorageConnector = new FirestoreEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tcollectionName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.ScyllaDb) {\n\t\t\tentityStorageConnector = new ScyllaDBTableConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.MySqlDb) {\n\t\t\tentityStorageConnector = new MySqlEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.MongoDb) {\n\t\t\tentityStorageConnector = new MongoDbEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\tcollection: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.PostgreSql) {\n\t\t\tentityStorageConnector = new PostgreSqlEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\tpartitionContextIds,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config,\n\t\t\t\t\ttableName: `${entityStorageConfig.options.tablePrefix ?? \"\"}${instanceName}`\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === EntityStorageConnectorType.Synchronised) {\n\t\t\t// Create the entity storage that is wrapped by the synchronised connector\n\t\t\t// by removing the custom type it will default to the standard storage\n\t\t\t// mechanism for entity storage\n\t\t\tinitialiseEntityStorageConnector(engineCore, context, undefined, schema, partitionContextIds);\n\n\t\t\t// Use the wrapped instance name as the entity storage connector type\n\t\t\t// for the synchronised connector\n\t\t\tentityStorageConnector = new SynchronisedEntityStorageConnector({\n\t\t\t\tentitySchema: schema,\n\t\t\t\t...entityStorageConfig.options,\n\t\t\t\tentityStorageConnectorType: kebabName,\n\t\t\t\teventBusComponentType: engineCore.getRegisteredInstanceType(\"eventBusComponent\"),\n\t\t\t\tconfig: {\n\t\t\t\t\t...entityStorageConfig.options.config\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tthrow new GeneralError(\"engineTypes\", \"connectorUnknownType\", {\n\t\t\t\ttype,\n\t\t\t\tconnectorType: \"entityStorageConnector\"\n\t\t\t});\n\t\t}\n\n\t\tcontext.componentInstances.push({\n\t\t\tinstanceType: instanceName,\n\t\t\tcomponent: entityStorageConnector,\n\t\t\tinitialised: false\n\t\t});\n\t\tEntityStorageConnectorFactory.register(instanceName, () => entityStorageConnector);\n\t}\n}\n\n/**\n * Initialise the entity 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 initialiseEntityStorageComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: EntityStorageComponentConfig\n): EngineTypeInitialiserReturn<EntityStorageComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === EntityStorageComponentType.Service) {\n\t\tconst kebabName = StringHelper.kebabCase(instanceConfig.options.entityStorageType);\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\t// See if there is a custom entity storage for this type, otherwise just use the default one.\n\t\t\tconst hasCustom = context.config.types.entityStorageConnector?.some(\n\t\t\t\tc => c.type === kebabName || c.overrideInstanceType === kebabName\n\t\t\t);\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\thasCustom ? kebabName : undefined,\n\t\t\t\tcreateConfig.options.entityStorageType,\n\t\t\t\tcreateConfig.options.partitionContextIds\n\t\t\t);\n\n\t\t\treturn new EntityStorageService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options, {\n\t\t\t\t\tentityStorageType: kebabName\n\t\t\t\t})\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = kebabName;\n\t} else if (instanceConfig.type === EntityStorageComponentType.RestClient) {\n\t\tconst kebabName = StringHelper.kebabCase(instanceConfig.options.entityStorageType);\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew EntityStorageRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options, {\n\t\t\t\t\tpathPrefix: kebabName\n\t\t\t\t})\n\t\t\t);\n\t\tinstanceTypeName = `${nameofKebabCase(EntityStorageRestClient)}-${kebabName}`;\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"]}
@@ -20,7 +20,7 @@ export function initialiseFederatedCatalogueComponent(engineCore, context, insta
20
20
  if (instanceConfig.type === FederatedCatalogueComponentType.Service) {
21
21
  createComponent = (createConfig) => {
22
22
  initSchemaFederatedCatalogue();
23
- initialiseEntityStorageConnector(engineCore, context, createConfig.options?.datasetStorageConnectorType, "Dataset", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.datasetEntityStorageType, "Dataset", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
24
24
  return new FederatedCatalogueService(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
25
25
  };
26
26
  instanceTypeName = "federated-catalogue-service";
@@ -1 +1 @@
1
- {"version":3,"file":"federatedCatalogue.js","sourceRoot":"","sources":["../../../src/components/federatedCatalogue.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAEN,yBAAyB,EACzB,UAAU,IAAI,4BAA4B,EAC1C,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,qCAAqC,CACpD,UAAsC,EACtC,OAA0C,EAC1C,cAAiD;IAEjD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,OAAO,EAAE,CAAC;QACrE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,4BAA4B,EAAE,CAAC;YAC/B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,2BAA2B,aAEjD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,IAAI,yBAAyB,CACnC,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,gCAA6C,CAAC;IAC/D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,UAAU,EAAE,CAAC;QAC/E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,4BAA4B,CAC/B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,oCAAgD,CAAC;IAClE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAEhB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { FederatedCatalogueRestClient } from \"@twin.org/federated-catalogue-rest-client\";\nimport {\n\ttype Dataset,\n\tFederatedCatalogueService,\n\tinitSchema as initSchemaFederatedCatalogue\n} from \"@twin.org/federated-catalogue-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { FederatedCatalogueComponentConfig } from \"../models/config/federatedCatalogueComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { FederatedCatalogueComponentType } from \"../models/types/federatedCatalogueComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the federated catalogue component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseFederatedCatalogueComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: FederatedCatalogueComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === FederatedCatalogueComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaFederatedCatalogue();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.datasetStorageConnectorType,\n\t\t\t\tnameof<Dataset>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new FederatedCatalogueService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(FederatedCatalogueService);\n\t} else if (instanceConfig.type === FederatedCatalogueComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew FederatedCatalogueRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(FederatedCatalogueRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"federatedCatalogue.js","sourceRoot":"","sources":["../../../src/components/federatedCatalogue.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAEN,yBAAyB,EACzB,UAAU,IAAI,4BAA4B,EAC1C,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,qCAAqC,CACpD,UAAsC,EACtC,OAA0C,EAC1C,cAAiD;IAEjD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,OAAO,EAAE,CAAC;QACrE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,4BAA4B,EAAE,CAAC;YAC/B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,wBAAwB,aAE9C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC1F,CAAC;YACF,OAAO,IAAI,yBAAyB,CACnC,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,gCAA6C,CAAC;IAC/D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,+BAA+B,CAAC,UAAU,EAAE,CAAC;QAC/E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,4BAA4B,CAC/B,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,oCAAgD,CAAC;IAClE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAEhB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { FederatedCatalogueRestClient } from \"@twin.org/federated-catalogue-rest-client\";\nimport {\n\ttype Dataset,\n\tFederatedCatalogueService,\n\tinitSchema as initSchemaFederatedCatalogue\n} from \"@twin.org/federated-catalogue-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { FederatedCatalogueComponentConfig } from \"../models/config/federatedCatalogueComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { FederatedCatalogueComponentType } from \"../models/types/federatedCatalogueComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the federated catalogue component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseFederatedCatalogueComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: FederatedCatalogueComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === FederatedCatalogueComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaFederatedCatalogue();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.datasetEntityStorageType,\n\t\t\t\tnameof<Dataset>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new FederatedCatalogueService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(FederatedCatalogueService);\n\t} else if (instanceConfig.type === FederatedCatalogueComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew FederatedCatalogueRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(FederatedCatalogueRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
package/dist/es/index.js CHANGED
@@ -7,7 +7,8 @@ export * from "./components/backgroundTask.js";
7
7
  export * from "./components/blobStorage.js";
8
8
  export * from "./components/contextIdHandler.js";
9
9
  export * from "./components/dataProcessing.js";
10
- export * from "./components/dataSpaceConnector.js";
10
+ export * from "./components/dataspaceControlPlane.js";
11
+ export * from "./components/dataspaceDataPlane.js";
11
12
  export * from "./components/documentManagement.js";
12
13
  export * from "./components/entityStorage.js";
13
14
  export * from "./components/eventBus.js";
@@ -57,7 +58,8 @@ export * from "./models/config/contextIdHandlerComponentConfig.js";
57
58
  export * from "./models/config/dataConverterConnectorConfig.js";
58
59
  export * from "./models/config/dataExtractorConnectorConfig.js";
59
60
  export * from "./models/config/dataProcessingComponentConfig.js";
60
- export * from "./models/config/dataSpaceConnectorComponentConfig.js";
61
+ export * from "./models/config/dataspaceControlPlaneComponentConfig.js";
62
+ export * from "./models/config/dataspaceDataPlaneComponentConfig.js";
61
63
  export * from "./models/config/dltConfig.js";
62
64
  export * from "./models/config/documentManagementComponentConfig.js";
63
65
  export * from "./models/config/entityStorageComponentConfig.js";
@@ -122,7 +124,8 @@ export * from "./models/types/contextIdHandlerComponentType.js";
122
124
  export * from "./models/types/dataConverterConnectorType.js";
123
125
  export * from "./models/types/dataExtractorConnectorType.js";
124
126
  export * from "./models/types/dataProcessingComponentType.js";
125
- export * from "./models/types/dataSpaceConnectorComponentType.js";
127
+ export * from "./models/types/dataspaceControlPlaneComponentType.js";
128
+ export * from "./models/types/dataspaceDataPlaneComponentType.js";
126
129
  export * from "./models/types/dltConfigType.js";
127
130
  export * from "./models/types/documentManagementComponentType.js";
128
131
  export * from "./models/types/entityStorageComponentType.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./components/attestation.js\";\nexport * from \"./components/auditableItemGraph.js\";\nexport * from \"./components/auditableItemStream.js\";\nexport * from \"./components/backgroundTask.js\";\nexport * from \"./components/blobStorage.js\";\nexport * from \"./components/contextIdHandler.js\";\nexport * from \"./components/dataProcessing.js\";\nexport * from \"./components/dataSpaceConnector.js\";\nexport * from \"./components/documentManagement.js\";\nexport * from \"./components/entityStorage.js\";\nexport * from \"./components/eventBus.js\";\nexport * from \"./components/faucet.js\";\nexport * from \"./components/federatedCatalogue.js\";\nexport * from \"./components/federatedCatalogueFilter.js\";\nexport * from \"./components/identity.js\";\nexport * from \"./components/identityProfile.js\";\nexport * from \"./components/identityResolver.js\";\nexport * from \"./components/immutableProof.js\";\nexport * from \"./components/logging.js\";\nexport * from \"./components/messaging.js\";\nexport * from \"./components/nft.js\";\nexport * from \"./components/rightsManagementPap.js\";\nexport * from \"./components/rightsManagementPdp.js\";\nexport * from \"./components/rightsManagementPep.js\";\nexport * from \"./components/rightsManagementPip.js\";\nexport * from \"./components/rightsManagementPmp.js\";\nexport * from \"./components/rightsManagementPnap.js\";\nexport * from \"./components/rightsManagementPnp.js\";\nexport * from \"./components/rightsManagementPolicyArbiter.js\";\nexport * from \"./components/rightsManagementPolicyEnforcementProcessor.js\";\nexport * from \"./components/rightsManagementPolicyExecutionAction.js\";\nexport * from \"./components/rightsManagementPolicyInformationSource.js\";\nexport * from \"./components/rightsManagementPolicyNegotiator.js\";\nexport * from \"./components/rightsManagementPolicyObligationEnforcer.js\";\nexport * from \"./components/rightsManagementPolicyRequester.js\";\nexport * from \"./components/rightsManagementPxp.js\";\nexport * from \"./components/synchronisedStorage.js\";\nexport * from \"./components/taskScheduler.js\";\nexport * from \"./components/telemetry.js\";\nexport * from \"./components/tenant.js\";\nexport * from \"./components/trust.js\";\nexport * from \"./components/trustGenerator.js\";\nexport * from \"./components/trustVerifier.js\";\nexport * from \"./components/vault.js\";\nexport * from \"./components/verifiableStorage.js\";\nexport * from \"./components/wallet.js\";\nexport * from \"./models/config/attestationComponentConfig.js\";\nexport * from \"./models/config/attestationConnectorConfig.js\";\nexport * from \"./models/config/auditableItemGraphComponentConfig.js\";\nexport * from \"./models/config/auditableItemStreamComponentConfig.js\";\nexport * from \"./models/config/backgroundTaskComponentConfig.js\";\nexport * from \"./models/config/blobStorageComponentConfig.js\";\nexport * from \"./models/config/blobStorageConnectorConfig.js\";\nexport * from \"./models/config/contextIdHandlerComponentConfig.js\";\nexport * from \"./models/config/dataConverterConnectorConfig.js\";\nexport * from \"./models/config/dataExtractorConnectorConfig.js\";\nexport * from \"./models/config/dataProcessingComponentConfig.js\";\nexport * from \"./models/config/dataSpaceConnectorComponentConfig.js\";\nexport * from \"./models/config/dltConfig.js\";\nexport * from \"./models/config/documentManagementComponentConfig.js\";\nexport * from \"./models/config/entityStorageComponentConfig.js\";\nexport * from \"./models/config/entityStorageConnectorConfig.js\";\nexport * from \"./models/config/eventBusComponentConfig.js\";\nexport * from \"./models/config/eventBusConnectorConfig.js\";\nexport * from \"./models/config/faucetConnectorConfig.js\";\nexport * from \"./models/config/federatedCatalogueComponentConfig.js\";\nexport * from \"./models/config/federatedCatalogueFilterComponentConfig.js\";\nexport * from \"./models/config/identityComponentConfig.js\";\nexport * from \"./models/config/identityConnectorConfig.js\";\nexport * from \"./models/config/identityProfileComponentConfig.js\";\nexport * from \"./models/config/identityProfileConnectorConfig.js\";\nexport * from \"./models/config/identityResolverComponentConfig.js\";\nexport * from \"./models/config/identityResolverConnectorConfig.js\";\nexport * from \"./models/config/immutableProofComponentConfig.js\";\nexport * from \"./models/config/loggingComponentConfig.js\";\nexport * from \"./models/config/loggingConnectorConfig.js\";\nexport * from \"./models/config/messagingAdminComponentConfig.js\";\nexport * from \"./models/config/messagingComponentConfig.js\";\nexport * from \"./models/config/messagingEmailConnectorConfig.js\";\nexport * from \"./models/config/messagingPushNotificationConnectorConfig.js\";\nexport * from \"./models/config/messagingSmsConnectorConfig.js\";\nexport * from \"./models/config/nftComponentConfig.js\";\nexport * from \"./models/config/nftConnectorConfig.js\";\nexport * from \"./models/config/rightsManagementPapComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPdpComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPepComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPipComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPmpComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPnapComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPnpComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyArbiterComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyExecutionActionComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyInformationSourceComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyNegotiatorComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyRequesterComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPxpComponentConfig.js\";\nexport * from \"./models/config/synchronisedStorageComponentConfig.js\";\nexport * from \"./models/config/taskSchedulerComponentConfig.js\";\nexport * from \"./models/config/telemetryComponentConfig.js\";\nexport * from \"./models/config/telemetryConnectorConfig.js\";\nexport * from \"./models/config/tenantAdminComponentConfig.js\";\nexport * from \"./models/config/trustComponentConfig.js\";\nexport * from \"./models/config/trustGeneratorComponentConfig.js\";\nexport * from \"./models/config/trustVerifierComponentConfig.js\";\nexport * from \"./models/config/vaultConnectorConfig.js\";\nexport * from \"./models/config/verifiableStorageComponentConfig.js\";\nexport * from \"./models/config/verifiableStorageConnectorConfig.js\";\nexport * from \"./models/config/walletConnectorConfig.js\";\nexport * from \"./models/IEngineConfig.js\";\nexport * from \"./models/types/attestationComponentType.js\";\nexport * from \"./models/types/attestationConnectorType.js\";\nexport * from \"./models/types/auditableItemGraphComponentType.js\";\nexport * from \"./models/types/auditableItemStreamComponentType.js\";\nexport * from \"./models/types/backgroundTaskComponentType.js\";\nexport * from \"./models/types/blobStorageComponentType.js\";\nexport * from \"./models/types/blobStorageConnectorType.js\";\nexport * from \"./models/types/contextIdHandlerComponentType.js\";\nexport * from \"./models/types/dataConverterConnectorType.js\";\nexport * from \"./models/types/dataExtractorConnectorType.js\";\nexport * from \"./models/types/dataProcessingComponentType.js\";\nexport * from \"./models/types/dataSpaceConnectorComponentType.js\";\nexport * from \"./models/types/dltConfigType.js\";\nexport * from \"./models/types/documentManagementComponentType.js\";\nexport * from \"./models/types/entityStorageComponentType.js\";\nexport * from \"./models/types/entityStorageConnectorType.js\";\nexport * from \"./models/types/eventBusComponentType.js\";\nexport * from \"./models/types/eventBusConnectorType.js\";\nexport * from \"./models/types/faucetConnectorType.js\";\nexport * from \"./models/types/federatedCatalogueComponentType.js\";\nexport * from \"./models/types/federatedCatalogueFilterComponentType.js\";\nexport * from \"./models/types/identityComponentType.js\";\nexport * from \"./models/types/identityConnectorType.js\";\nexport * from \"./models/types/identityProfileComponentType.js\";\nexport * from \"./models/types/identityProfileConnectorType.js\";\nexport * from \"./models/types/identityResolverComponentType.js\";\nexport * from \"./models/types/identityResolverConnectorType.js\";\nexport * from \"./models/types/immutableProofComponentType.js\";\nexport * from \"./models/types/loggingComponentType.js\";\nexport * from \"./models/types/loggingConnectorType.js\";\nexport * from \"./models/types/messagingAdminComponentType.js\";\nexport * from \"./models/types/messagingComponentType.js\";\nexport * from \"./models/types/messagingEmailConnectorType.js\";\nexport * from \"./models/types/messagingPushNotificationConnectorType.js\";\nexport * from \"./models/types/messagingSmsConnectorType.js\";\nexport * from \"./models/types/nftComponentType.js\";\nexport * from \"./models/types/nftConnectorType.js\";\nexport * from \"./models/types/rightsManagementPapComponentType.js\";\nexport * from \"./models/types/rightsManagementPdpComponentType.js\";\nexport * from \"./models/types/rightsManagementPepComponentType.js\";\nexport * from \"./models/types/rightsManagementPipComponentType.js\";\nexport * from \"./models/types/rightsManagementPmpComponentType.js\";\nexport * from \"./models/types/rightsManagementPnapComponentType.js\";\nexport * from \"./models/types/rightsManagementPnpComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyArbiterComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyEnforcementProcessorComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyExecutionActionComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyInformationSourceComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyNegotiatorComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyObligationEnforcerComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyRequesterComponentType.js\";\nexport * from \"./models/types/rightsManagementPxpComponentType.js\";\nexport * from \"./models/types/synchronisedStorageComponentType.js\";\nexport * from \"./models/types/taskSchedulerComponentType.js\";\nexport * from \"./models/types/telemetryComponentType.js\";\nexport * from \"./models/types/telemetryConnectorType.js\";\nexport * from \"./models/types/tenantAdminComponentType.js\";\nexport * from \"./models/types/trustComponentType.js\";\nexport * from \"./models/types/trustGeneratorComponentType.js\";\nexport * from \"./models/types/trustVerifierComponentType.js\";\nexport * from \"./models/types/vaultConnectorType.js\";\nexport * from \"./models/types/verifiableStorageComponentType.js\";\nexport * from \"./models/types/verifiableStorageConnectorType.js\";\nexport * from \"./models/types/walletConnectorType.js\";\nexport * from \"./utils/engineTypeHelper.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./components/attestation.js\";\nexport * from \"./components/auditableItemGraph.js\";\nexport * from \"./components/auditableItemStream.js\";\nexport * from \"./components/backgroundTask.js\";\nexport * from \"./components/blobStorage.js\";\nexport * from \"./components/contextIdHandler.js\";\nexport * from \"./components/dataProcessing.js\";\nexport * from \"./components/dataspaceControlPlane.js\";\nexport * from \"./components/dataspaceDataPlane.js\";\nexport * from \"./components/documentManagement.js\";\nexport * from \"./components/entityStorage.js\";\nexport * from \"./components/eventBus.js\";\nexport * from \"./components/faucet.js\";\nexport * from \"./components/federatedCatalogue.js\";\nexport * from \"./components/federatedCatalogueFilter.js\";\nexport * from \"./components/identity.js\";\nexport * from \"./components/identityProfile.js\";\nexport * from \"./components/identityResolver.js\";\nexport * from \"./components/immutableProof.js\";\nexport * from \"./components/logging.js\";\nexport * from \"./components/messaging.js\";\nexport * from \"./components/nft.js\";\nexport * from \"./components/rightsManagementPap.js\";\nexport * from \"./components/rightsManagementPdp.js\";\nexport * from \"./components/rightsManagementPep.js\";\nexport * from \"./components/rightsManagementPip.js\";\nexport * from \"./components/rightsManagementPmp.js\";\nexport * from \"./components/rightsManagementPnap.js\";\nexport * from \"./components/rightsManagementPnp.js\";\nexport * from \"./components/rightsManagementPolicyArbiter.js\";\nexport * from \"./components/rightsManagementPolicyEnforcementProcessor.js\";\nexport * from \"./components/rightsManagementPolicyExecutionAction.js\";\nexport * from \"./components/rightsManagementPolicyInformationSource.js\";\nexport * from \"./components/rightsManagementPolicyNegotiator.js\";\nexport * from \"./components/rightsManagementPolicyObligationEnforcer.js\";\nexport * from \"./components/rightsManagementPolicyRequester.js\";\nexport * from \"./components/rightsManagementPxp.js\";\nexport * from \"./components/synchronisedStorage.js\";\nexport * from \"./components/taskScheduler.js\";\nexport * from \"./components/telemetry.js\";\nexport * from \"./components/tenant.js\";\nexport * from \"./components/trust.js\";\nexport * from \"./components/trustGenerator.js\";\nexport * from \"./components/trustVerifier.js\";\nexport * from \"./components/vault.js\";\nexport * from \"./components/verifiableStorage.js\";\nexport * from \"./components/wallet.js\";\nexport * from \"./models/config/attestationComponentConfig.js\";\nexport * from \"./models/config/attestationConnectorConfig.js\";\nexport * from \"./models/config/auditableItemGraphComponentConfig.js\";\nexport * from \"./models/config/auditableItemStreamComponentConfig.js\";\nexport * from \"./models/config/backgroundTaskComponentConfig.js\";\nexport * from \"./models/config/blobStorageComponentConfig.js\";\nexport * from \"./models/config/blobStorageConnectorConfig.js\";\nexport * from \"./models/config/contextIdHandlerComponentConfig.js\";\nexport * from \"./models/config/dataConverterConnectorConfig.js\";\nexport * from \"./models/config/dataExtractorConnectorConfig.js\";\nexport * from \"./models/config/dataProcessingComponentConfig.js\";\nexport * from \"./models/config/dataspaceControlPlaneComponentConfig.js\";\nexport * from \"./models/config/dataspaceDataPlaneComponentConfig.js\";\nexport * from \"./models/config/dltConfig.js\";\nexport * from \"./models/config/documentManagementComponentConfig.js\";\nexport * from \"./models/config/entityStorageComponentConfig.js\";\nexport * from \"./models/config/entityStorageConnectorConfig.js\";\nexport * from \"./models/config/eventBusComponentConfig.js\";\nexport * from \"./models/config/eventBusConnectorConfig.js\";\nexport * from \"./models/config/faucetConnectorConfig.js\";\nexport * from \"./models/config/federatedCatalogueComponentConfig.js\";\nexport * from \"./models/config/federatedCatalogueFilterComponentConfig.js\";\nexport * from \"./models/config/identityComponentConfig.js\";\nexport * from \"./models/config/identityConnectorConfig.js\";\nexport * from \"./models/config/identityProfileComponentConfig.js\";\nexport * from \"./models/config/identityProfileConnectorConfig.js\";\nexport * from \"./models/config/identityResolverComponentConfig.js\";\nexport * from \"./models/config/identityResolverConnectorConfig.js\";\nexport * from \"./models/config/immutableProofComponentConfig.js\";\nexport * from \"./models/config/loggingComponentConfig.js\";\nexport * from \"./models/config/loggingConnectorConfig.js\";\nexport * from \"./models/config/messagingAdminComponentConfig.js\";\nexport * from \"./models/config/messagingComponentConfig.js\";\nexport * from \"./models/config/messagingEmailConnectorConfig.js\";\nexport * from \"./models/config/messagingPushNotificationConnectorConfig.js\";\nexport * from \"./models/config/messagingSmsConnectorConfig.js\";\nexport * from \"./models/config/nftComponentConfig.js\";\nexport * from \"./models/config/nftConnectorConfig.js\";\nexport * from \"./models/config/rightsManagementPapComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPdpComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPepComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPipComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPmpComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPnapComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPnpComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyArbiterComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyExecutionActionComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyInformationSourceComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyNegotiatorComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPolicyRequesterComponentConfig.js\";\nexport * from \"./models/config/rightsManagementPxpComponentConfig.js\";\nexport * from \"./models/config/synchronisedStorageComponentConfig.js\";\nexport * from \"./models/config/taskSchedulerComponentConfig.js\";\nexport * from \"./models/config/telemetryComponentConfig.js\";\nexport * from \"./models/config/telemetryConnectorConfig.js\";\nexport * from \"./models/config/tenantAdminComponentConfig.js\";\nexport * from \"./models/config/trustComponentConfig.js\";\nexport * from \"./models/config/trustGeneratorComponentConfig.js\";\nexport * from \"./models/config/trustVerifierComponentConfig.js\";\nexport * from \"./models/config/vaultConnectorConfig.js\";\nexport * from \"./models/config/verifiableStorageComponentConfig.js\";\nexport * from \"./models/config/verifiableStorageConnectorConfig.js\";\nexport * from \"./models/config/walletConnectorConfig.js\";\nexport * from \"./models/IEngineConfig.js\";\nexport * from \"./models/types/attestationComponentType.js\";\nexport * from \"./models/types/attestationConnectorType.js\";\nexport * from \"./models/types/auditableItemGraphComponentType.js\";\nexport * from \"./models/types/auditableItemStreamComponentType.js\";\nexport * from \"./models/types/backgroundTaskComponentType.js\";\nexport * from \"./models/types/blobStorageComponentType.js\";\nexport * from \"./models/types/blobStorageConnectorType.js\";\nexport * from \"./models/types/contextIdHandlerComponentType.js\";\nexport * from \"./models/types/dataConverterConnectorType.js\";\nexport * from \"./models/types/dataExtractorConnectorType.js\";\nexport * from \"./models/types/dataProcessingComponentType.js\";\nexport * from \"./models/types/dataspaceControlPlaneComponentType.js\";\nexport * from \"./models/types/dataspaceDataPlaneComponentType.js\";\nexport * from \"./models/types/dltConfigType.js\";\nexport * from \"./models/types/documentManagementComponentType.js\";\nexport * from \"./models/types/entityStorageComponentType.js\";\nexport * from \"./models/types/entityStorageConnectorType.js\";\nexport * from \"./models/types/eventBusComponentType.js\";\nexport * from \"./models/types/eventBusConnectorType.js\";\nexport * from \"./models/types/faucetConnectorType.js\";\nexport * from \"./models/types/federatedCatalogueComponentType.js\";\nexport * from \"./models/types/federatedCatalogueFilterComponentType.js\";\nexport * from \"./models/types/identityComponentType.js\";\nexport * from \"./models/types/identityConnectorType.js\";\nexport * from \"./models/types/identityProfileComponentType.js\";\nexport * from \"./models/types/identityProfileConnectorType.js\";\nexport * from \"./models/types/identityResolverComponentType.js\";\nexport * from \"./models/types/identityResolverConnectorType.js\";\nexport * from \"./models/types/immutableProofComponentType.js\";\nexport * from \"./models/types/loggingComponentType.js\";\nexport * from \"./models/types/loggingConnectorType.js\";\nexport * from \"./models/types/messagingAdminComponentType.js\";\nexport * from \"./models/types/messagingComponentType.js\";\nexport * from \"./models/types/messagingEmailConnectorType.js\";\nexport * from \"./models/types/messagingPushNotificationConnectorType.js\";\nexport * from \"./models/types/messagingSmsConnectorType.js\";\nexport * from \"./models/types/nftComponentType.js\";\nexport * from \"./models/types/nftConnectorType.js\";\nexport * from \"./models/types/rightsManagementPapComponentType.js\";\nexport * from \"./models/types/rightsManagementPdpComponentType.js\";\nexport * from \"./models/types/rightsManagementPepComponentType.js\";\nexport * from \"./models/types/rightsManagementPipComponentType.js\";\nexport * from \"./models/types/rightsManagementPmpComponentType.js\";\nexport * from \"./models/types/rightsManagementPnapComponentType.js\";\nexport * from \"./models/types/rightsManagementPnpComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyArbiterComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyEnforcementProcessorComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyExecutionActionComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyInformationSourceComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyNegotiatorComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyObligationEnforcerComponentType.js\";\nexport * from \"./models/types/rightsManagementPolicyRequesterComponentType.js\";\nexport * from \"./models/types/rightsManagementPxpComponentType.js\";\nexport * from \"./models/types/synchronisedStorageComponentType.js\";\nexport * from \"./models/types/taskSchedulerComponentType.js\";\nexport * from \"./models/types/telemetryComponentType.js\";\nexport * from \"./models/types/telemetryConnectorType.js\";\nexport * from \"./models/types/tenantAdminComponentType.js\";\nexport * from \"./models/types/trustComponentType.js\";\nexport * from \"./models/types/trustGeneratorComponentType.js\";\nexport * from \"./models/types/trustVerifierComponentType.js\";\nexport * from \"./models/types/vaultConnectorType.js\";\nexport * from \"./models/types/verifiableStorageComponentType.js\";\nexport * from \"./models/types/verifiableStorageConnectorType.js\";\nexport * from \"./models/types/walletConnectorType.js\";\nexport * from \"./utils/engineTypeHelper.js\";\n"]}