@twin.org/engine-types 0.0.1-next.72 → 0.0.1-next.74

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.
@@ -39,16 +39,13 @@ var eventBusService = require('@twin.org/event-bus-service');
39
39
  var walletConnectorEntityStorage = require('@twin.org/wallet-connector-entity-storage');
40
40
  var walletConnectorIota = require('@twin.org/wallet-connector-iota');
41
41
  var walletModels = require('@twin.org/wallet-models');
42
+ var federatedCatalogueService = require('@twin.org/federated-catalogue-service');
42
43
  var identityConnectorEntityStorage = require('@twin.org/identity-connector-entity-storage');
43
44
  var identityConnectorIota = require('@twin.org/identity-connector-iota');
44
45
  var identityModels = require('@twin.org/identity-models');
45
46
  var identityService = require('@twin.org/identity-service');
46
47
  var identityConnectorUniversal = require('@twin.org/identity-connector-universal');
47
48
  var immutableProofService = require('@twin.org/immutable-proof-service');
48
- var verifiableStorageConnectorEntityStorage = require('@twin.org/verifiable-storage-connector-entity-storage');
49
- var verifiableStorageConnectorIota = require('@twin.org/verifiable-storage-connector-iota');
50
- var verifiableStorageModels = require('@twin.org/verifiable-storage-models');
51
- var verifiableStorageService = require('@twin.org/verifiable-storage-service');
52
49
  var loggingConnectorConsole = require('@twin.org/logging-connector-console');
53
50
  var loggingConnectorEntityStorage = require('@twin.org/logging-connector-entity-storage');
54
51
  var loggingModels = require('@twin.org/logging-models');
@@ -67,6 +64,10 @@ var telemetryService = require('@twin.org/telemetry-service');
67
64
  var vaultConnectorEntityStorage = require('@twin.org/vault-connector-entity-storage');
68
65
  var vaultConnectorHashicorp = require('@twin.org/vault-connector-hashicorp');
69
66
  var vaultModels = require('@twin.org/vault-models');
67
+ var verifiableStorageConnectorEntityStorage = require('@twin.org/verifiable-storage-connector-entity-storage');
68
+ var verifiableStorageConnectorIota = require('@twin.org/verifiable-storage-connector-iota');
69
+ var verifiableStorageModels = require('@twin.org/verifiable-storage-models');
70
+ var verifiableStorageService = require('@twin.org/verifiable-storage-service');
70
71
 
71
72
  // Copyright 2024 IOTA Stiftung.
72
73
  // SPDX-License-Identifier: Apache-2.0.
@@ -1118,6 +1119,65 @@ function initialiseFaucetConnector(engineCore, context, instanceConfig, override
1118
1119
  return finalInstanceType;
1119
1120
  }
1120
1121
 
1122
+ // Copyright 2024 IOTA Stiftung.
1123
+ // SPDX-License-Identifier: Apache-2.0.
1124
+ /**
1125
+ * Federated catalogue component types.
1126
+ */
1127
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1128
+ const FederatedCatalogueComponentType = {
1129
+ /**
1130
+ * Service.
1131
+ */
1132
+ Service: "service"
1133
+ };
1134
+
1135
+ // Copyright 2024 IOTA Stiftung.
1136
+ // SPDX-License-Identifier: Apache-2.0.
1137
+ /**
1138
+ * Initialise the federated catalogue component.
1139
+ * @param engineCore The engine core.
1140
+ * @param context The context for the engine.
1141
+ * @param instanceConfig The instance config.
1142
+ * @param overrideInstanceType The instance type to override the default.
1143
+ * @returns The name of the instance created.
1144
+ * @throws GeneralError if the component type is unknown.
1145
+ */
1146
+ function initialiseFederatedCatalogueComponent(engineCore, context, instanceConfig, overrideInstanceType) {
1147
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
1148
+ element: `Federated Catalogue Component: ${instanceConfig.type}`
1149
+ }));
1150
+ const type = instanceConfig.type;
1151
+ let component;
1152
+ let instanceType;
1153
+ if (type === FederatedCatalogueComponentType.Service) {
1154
+ federatedCatalogueService.initSchema();
1155
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataResourceEntityStorageType, "DataResourceEntry");
1156
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.participantEntityStorageType, "ParticipantEntry");
1157
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.serviceOfferingEntityStorageType, "ServiceOfferingEntry");
1158
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataSpaceConnectorStorageType, "DataSpaceConnectorEntry");
1159
+ component = new federatedCatalogueService.FederatedCatalogueService({
1160
+ loggingConnectorType: context.defaultTypes.loggingConnector,
1161
+ identityResolverComponentType: context.defaultTypes.identityResolverComponent,
1162
+ ...instanceConfig.options
1163
+ });
1164
+ instanceType = federatedCatalogueService.FederatedCatalogueService.NAMESPACE;
1165
+ }
1166
+ else {
1167
+ throw new core.GeneralError("engineCore", "componentUnknownType", {
1168
+ type,
1169
+ componentType: "FederatedCatalogueComponent"
1170
+ });
1171
+ }
1172
+ const finalInstanceType = overrideInstanceType ?? instanceType;
1173
+ context.componentInstances.push({
1174
+ instanceType: finalInstanceType,
1175
+ component
1176
+ });
1177
+ core.ComponentFactory.register(finalInstanceType, () => component);
1178
+ return finalInstanceType;
1179
+ }
1180
+
1121
1181
  // Copyright 2024 IOTA Stiftung.
1122
1182
  // SPDX-License-Identifier: Apache-2.0.
1123
1183
  /**
@@ -1516,123 +1576,6 @@ function initialiseImmutableProofComponent(engineCore, context, instanceConfig,
1516
1576
  return finalInstanceType;
1517
1577
  }
1518
1578
 
1519
- // Copyright 2024 IOTA Stiftung.
1520
- // SPDX-License-Identifier: Apache-2.0.
1521
- /**
1522
- * Verifiable storage component types.
1523
- */
1524
- // eslint-disable-next-line @typescript-eslint/naming-convention
1525
- const VerifiableStorageComponentType = {
1526
- /**
1527
- * Service.
1528
- */
1529
- Service: "service"
1530
- };
1531
-
1532
- // Copyright 2024 IOTA Stiftung.
1533
- // SPDX-License-Identifier: Apache-2.0.
1534
- /**
1535
- * Verifiable storage connector types.
1536
- */
1537
- // eslint-disable-next-line @typescript-eslint/naming-convention
1538
- const VerifiableStorageConnectorType = {
1539
- /**
1540
- * Entity storage.
1541
- */
1542
- EntityStorage: "entity-storage",
1543
- /**
1544
- * IOTA.
1545
- */
1546
- Iota: "iota"
1547
- };
1548
-
1549
- // Copyright 2024 IOTA Stiftung.
1550
- // SPDX-License-Identifier: Apache-2.0.
1551
- /**
1552
- * Initialise the verifiable storage connector.
1553
- * @param engineCore The engine core.
1554
- * @param context The context for the engine.
1555
- * @param instanceConfig The instance config.
1556
- * @param overrideInstanceType The instance type to override the default.
1557
- * @returns The name of the instance created.
1558
- * @throws GeneralError if the connector type is unknown.
1559
- */
1560
- function initialiseVerifiableStorageConnector(engineCore, context, instanceConfig, overrideInstanceType) {
1561
- engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
1562
- element: `Verifiable Storage Connector: ${instanceConfig.type}`
1563
- }));
1564
- const type = instanceConfig.type;
1565
- let connector;
1566
- let instanceType;
1567
- if (type === VerifiableStorageConnectorType.Iota) {
1568
- const dltConfig = context.config.types.dltConfig?.find(dlt => dlt.type === context.defaultTypes.dltConfig);
1569
- connector = new verifiableStorageConnectorIota.IotaVerifiableStorageConnector({
1570
- vaultConnectorType: context.defaultTypes.vaultConnector,
1571
- ...instanceConfig.options,
1572
- config: {
1573
- ...dltConfig?.options?.config,
1574
- ...instanceConfig.options.config
1575
- }
1576
- });
1577
- instanceType = verifiableStorageConnectorIota.IotaVerifiableStorageConnector.NAMESPACE;
1578
- }
1579
- else if (type === VerifiableStorageConnectorType.EntityStorage) {
1580
- verifiableStorageConnectorEntityStorage.initSchema();
1581
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.verifiableStorageEntityStorageType, "VerifiableItem");
1582
- connector = new verifiableStorageConnectorEntityStorage.EntityStorageVerifiableStorageConnector(instanceConfig.options);
1583
- instanceType = verifiableStorageConnectorEntityStorage.EntityStorageVerifiableStorageConnector.NAMESPACE;
1584
- }
1585
- else {
1586
- throw new core.GeneralError("engineCore", "connectorUnknownType", {
1587
- type,
1588
- connectorType: "verifiableStorageConnector"
1589
- });
1590
- }
1591
- const finalInstanceType = overrideInstanceType ?? instanceType;
1592
- context.componentInstances.push({
1593
- instanceType: finalInstanceType,
1594
- component: connector
1595
- });
1596
- verifiableStorageModels.VerifiableStorageConnectorFactory.register(finalInstanceType, () => connector);
1597
- return finalInstanceType;
1598
- }
1599
- /**
1600
- * Initialise the verifiable storage component.
1601
- * @param engineCore The engine core.
1602
- * @param context The context for the engine.
1603
- * @param instanceConfig The instance config.
1604
- * @param overrideInstanceType The instance type to override the default.
1605
- * @returns The name of the instance created.
1606
- * @throws GeneralError if the component type is unknown.
1607
- */
1608
- function initialiseVerifiableStorageComponent(engineCore, context, instanceConfig, overrideInstanceType) {
1609
- engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
1610
- element: `Verifiable Storage Component: ${instanceConfig.type}`
1611
- }));
1612
- const type = instanceConfig.type;
1613
- let component;
1614
- let instanceType;
1615
- if (type === VerifiableStorageComponentType.Service) {
1616
- component = new verifiableStorageService.VerifiableStorageService({
1617
- ...instanceConfig.options
1618
- });
1619
- instanceType = verifiableStorageService.VerifiableStorageService.NAMESPACE;
1620
- }
1621
- else {
1622
- throw new core.GeneralError("engineCore", "componentUnknownType", {
1623
- type,
1624
- componentType: "verifiableStorageComponent"
1625
- });
1626
- }
1627
- const finalInstanceType = overrideInstanceType ?? instanceType;
1628
- context.componentInstances.push({
1629
- instanceType: finalInstanceType,
1630
- component
1631
- });
1632
- core.ComponentFactory.register(finalInstanceType, () => component);
1633
- return finalInstanceType;
1634
- }
1635
-
1636
1579
  // Copyright 2024 IOTA Stiftung.
1637
1580
  // SPDX-License-Identifier: Apache-2.0.
1638
1581
  /**
@@ -2249,6 +2192,123 @@ function initialiseVaultConnector(engineCore, context, instanceConfig, overrideI
2249
2192
  return finalInstanceType;
2250
2193
  }
2251
2194
 
2195
+ // Copyright 2024 IOTA Stiftung.
2196
+ // SPDX-License-Identifier: Apache-2.0.
2197
+ /**
2198
+ * Verifiable storage component types.
2199
+ */
2200
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2201
+ const VerifiableStorageComponentType = {
2202
+ /**
2203
+ * Service.
2204
+ */
2205
+ Service: "service"
2206
+ };
2207
+
2208
+ // Copyright 2024 IOTA Stiftung.
2209
+ // SPDX-License-Identifier: Apache-2.0.
2210
+ /**
2211
+ * Verifiable storage connector types.
2212
+ */
2213
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2214
+ const VerifiableStorageConnectorType = {
2215
+ /**
2216
+ * Entity storage.
2217
+ */
2218
+ EntityStorage: "entity-storage",
2219
+ /**
2220
+ * IOTA.
2221
+ */
2222
+ Iota: "iota"
2223
+ };
2224
+
2225
+ // Copyright 2024 IOTA Stiftung.
2226
+ // SPDX-License-Identifier: Apache-2.0.
2227
+ /**
2228
+ * Initialise the verifiable storage connector.
2229
+ * @param engineCore The engine core.
2230
+ * @param context The context for the engine.
2231
+ * @param instanceConfig The instance config.
2232
+ * @param overrideInstanceType The instance type to override the default.
2233
+ * @returns The name of the instance created.
2234
+ * @throws GeneralError if the connector type is unknown.
2235
+ */
2236
+ function initialiseVerifiableStorageConnector(engineCore, context, instanceConfig, overrideInstanceType) {
2237
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
2238
+ element: `Verifiable Storage Connector: ${instanceConfig.type}`
2239
+ }));
2240
+ const type = instanceConfig.type;
2241
+ let connector;
2242
+ let instanceType;
2243
+ if (type === VerifiableStorageConnectorType.Iota) {
2244
+ const dltConfig = context.config.types.dltConfig?.find(dlt => dlt.type === context.defaultTypes.dltConfig);
2245
+ connector = new verifiableStorageConnectorIota.IotaVerifiableStorageConnector({
2246
+ vaultConnectorType: context.defaultTypes.vaultConnector,
2247
+ ...instanceConfig.options,
2248
+ config: {
2249
+ ...dltConfig?.options?.config,
2250
+ ...instanceConfig.options.config
2251
+ }
2252
+ });
2253
+ instanceType = verifiableStorageConnectorIota.IotaVerifiableStorageConnector.NAMESPACE;
2254
+ }
2255
+ else if (type === VerifiableStorageConnectorType.EntityStorage) {
2256
+ verifiableStorageConnectorEntityStorage.initSchema();
2257
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.verifiableStorageEntityStorageType, "VerifiableItem");
2258
+ connector = new verifiableStorageConnectorEntityStorage.EntityStorageVerifiableStorageConnector(instanceConfig.options);
2259
+ instanceType = verifiableStorageConnectorEntityStorage.EntityStorageVerifiableStorageConnector.NAMESPACE;
2260
+ }
2261
+ else {
2262
+ throw new core.GeneralError("engineCore", "connectorUnknownType", {
2263
+ type,
2264
+ connectorType: "verifiableStorageConnector"
2265
+ });
2266
+ }
2267
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2268
+ context.componentInstances.push({
2269
+ instanceType: finalInstanceType,
2270
+ component: connector
2271
+ });
2272
+ verifiableStorageModels.VerifiableStorageConnectorFactory.register(finalInstanceType, () => connector);
2273
+ return finalInstanceType;
2274
+ }
2275
+ /**
2276
+ * Initialise the verifiable storage component.
2277
+ * @param engineCore The engine core.
2278
+ * @param context The context for the engine.
2279
+ * @param instanceConfig The instance config.
2280
+ * @param overrideInstanceType The instance type to override the default.
2281
+ * @returns The name of the instance created.
2282
+ * @throws GeneralError if the component type is unknown.
2283
+ */
2284
+ function initialiseVerifiableStorageComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2285
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
2286
+ element: `Verifiable Storage Component: ${instanceConfig.type}`
2287
+ }));
2288
+ const type = instanceConfig.type;
2289
+ let component;
2290
+ let instanceType;
2291
+ if (type === VerifiableStorageComponentType.Service) {
2292
+ component = new verifiableStorageService.VerifiableStorageService({
2293
+ ...instanceConfig.options
2294
+ });
2295
+ instanceType = verifiableStorageService.VerifiableStorageService.NAMESPACE;
2296
+ }
2297
+ else {
2298
+ throw new core.GeneralError("engineCore", "componentUnknownType", {
2299
+ type,
2300
+ componentType: "verifiableStorageComponent"
2301
+ });
2302
+ }
2303
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2304
+ context.componentInstances.push({
2305
+ instanceType: finalInstanceType,
2306
+ component
2307
+ });
2308
+ core.ComponentFactory.register(finalInstanceType, () => component);
2309
+ return finalInstanceType;
2310
+ }
2311
+
2252
2312
  // Copyright 2024 IOTA Stiftung.
2253
2313
  // SPDX-License-Identifier: Apache-2.0.
2254
2314
  /**
@@ -2374,6 +2434,7 @@ exports.EntityStorageConnectorType = EntityStorageConnectorType;
2374
2434
  exports.EventBusComponentType = EventBusComponentType;
2375
2435
  exports.EventBusConnectorType = EventBusConnectorType;
2376
2436
  exports.FaucetConnectorType = FaucetConnectorType;
2437
+ exports.FederatedCatalogueComponentType = FederatedCatalogueComponentType;
2377
2438
  exports.IdentityComponentType = IdentityComponentType;
2378
2439
  exports.IdentityConnectorType = IdentityConnectorType;
2379
2440
  exports.IdentityProfileComponentType = IdentityProfileComponentType;
@@ -2411,6 +2472,7 @@ exports.initialiseEntityStorageConnector = initialiseEntityStorageConnector;
2411
2472
  exports.initialiseEventBusComponent = initialiseEventBusComponent;
2412
2473
  exports.initialiseEventBusConnector = initialiseEventBusConnector;
2413
2474
  exports.initialiseFaucetConnector = initialiseFaucetConnector;
2475
+ exports.initialiseFederatedCatalogueComponent = initialiseFederatedCatalogueComponent;
2414
2476
  exports.initialiseIdentityComponent = initialiseIdentityComponent;
2415
2477
  exports.initialiseIdentityConnector = initialiseIdentityConnector;
2416
2478
  exports.initialiseIdentityProfileComponent = initialiseIdentityProfileComponent;
@@ -34,19 +34,16 @@ import { DocumentManagementService } from '@twin.org/document-management-service
34
34
  import { LocalEventBusConnector } from '@twin.org/event-bus-connector-local';
35
35
  import { EventBusConnectorFactory } from '@twin.org/event-bus-models';
36
36
  import { EventBusService } from '@twin.org/event-bus-service';
37
- import { EntityStorageFaucetConnector, EntityStorageWalletConnector, initSchema as initSchema$e } from '@twin.org/wallet-connector-entity-storage';
37
+ import { EntityStorageFaucetConnector, EntityStorageWalletConnector, initSchema as initSchema$f } from '@twin.org/wallet-connector-entity-storage';
38
38
  import { IotaFaucetConnector, IotaWalletConnector } from '@twin.org/wallet-connector-iota';
39
39
  import { FaucetConnectorFactory, WalletConnectorFactory } from '@twin.org/wallet-models';
40
- import { initSchema as initSchema$5, EntityStorageIdentityConnector, EntityStorageIdentityProfileConnector, EntityStorageIdentityResolverConnector } from '@twin.org/identity-connector-entity-storage';
40
+ import { initSchema as initSchema$5, FederatedCatalogueService } from '@twin.org/federated-catalogue-service';
41
+ import { initSchema as initSchema$6, EntityStorageIdentityConnector, EntityStorageIdentityProfileConnector, EntityStorageIdentityResolverConnector } from '@twin.org/identity-connector-entity-storage';
41
42
  import { IotaIdentityConnector, IotaIdentityResolverConnector } from '@twin.org/identity-connector-iota';
42
43
  import { IdentityConnectorFactory, IdentityProfileConnectorFactory, IdentityResolverConnectorFactory } from '@twin.org/identity-models';
43
44
  import { IdentityService, IdentityProfileService, IdentityResolverService } from '@twin.org/identity-service';
44
45
  import { UniversalResolverConnector } from '@twin.org/identity-connector-universal';
45
- import { initSchema as initSchema$6, ImmutableProofService } from '@twin.org/immutable-proof-service';
46
- import { initSchema as initSchema$7, EntityStorageVerifiableStorageConnector } from '@twin.org/verifiable-storage-connector-entity-storage';
47
- import { IotaVerifiableStorageConnector } from '@twin.org/verifiable-storage-connector-iota';
48
- import { VerifiableStorageConnectorFactory } from '@twin.org/verifiable-storage-models';
49
- import { VerifiableStorageService } from '@twin.org/verifiable-storage-service';
46
+ import { initSchema as initSchema$7, ImmutableProofService } from '@twin.org/immutable-proof-service';
50
47
  import { ConsoleLoggingConnector } from '@twin.org/logging-connector-console';
51
48
  import { initSchema as initSchema$8, EntityStorageLoggingConnector } from '@twin.org/logging-connector-entity-storage';
52
49
  import { MultiLoggingConnector, LoggingConnectorFactory } from '@twin.org/logging-models';
@@ -65,6 +62,10 @@ import { TelemetryService } from '@twin.org/telemetry-service';
65
62
  import { initSchema as initSchema$d, EntityStorageVaultConnector } from '@twin.org/vault-connector-entity-storage';
66
63
  import { HashicorpVaultConnector } from '@twin.org/vault-connector-hashicorp';
67
64
  import { VaultConnectorFactory } from '@twin.org/vault-models';
65
+ import { initSchema as initSchema$e, EntityStorageVerifiableStorageConnector } from '@twin.org/verifiable-storage-connector-entity-storage';
66
+ import { IotaVerifiableStorageConnector } from '@twin.org/verifiable-storage-connector-iota';
67
+ import { VerifiableStorageConnectorFactory } from '@twin.org/verifiable-storage-models';
68
+ import { VerifiableStorageService } from '@twin.org/verifiable-storage-service';
68
69
 
69
70
  // Copyright 2024 IOTA Stiftung.
70
71
  // SPDX-License-Identifier: Apache-2.0.
@@ -1116,6 +1117,65 @@ function initialiseFaucetConnector(engineCore, context, instanceConfig, override
1116
1117
  return finalInstanceType;
1117
1118
  }
1118
1119
 
1120
+ // Copyright 2024 IOTA Stiftung.
1121
+ // SPDX-License-Identifier: Apache-2.0.
1122
+ /**
1123
+ * Federated catalogue component types.
1124
+ */
1125
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1126
+ const FederatedCatalogueComponentType = {
1127
+ /**
1128
+ * Service.
1129
+ */
1130
+ Service: "service"
1131
+ };
1132
+
1133
+ // Copyright 2024 IOTA Stiftung.
1134
+ // SPDX-License-Identifier: Apache-2.0.
1135
+ /**
1136
+ * Initialise the federated catalogue component.
1137
+ * @param engineCore The engine core.
1138
+ * @param context The context for the engine.
1139
+ * @param instanceConfig The instance config.
1140
+ * @param overrideInstanceType The instance type to override the default.
1141
+ * @returns The name of the instance created.
1142
+ * @throws GeneralError if the component type is unknown.
1143
+ */
1144
+ function initialiseFederatedCatalogueComponent(engineCore, context, instanceConfig, overrideInstanceType) {
1145
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
1146
+ element: `Federated Catalogue Component: ${instanceConfig.type}`
1147
+ }));
1148
+ const type = instanceConfig.type;
1149
+ let component;
1150
+ let instanceType;
1151
+ if (type === FederatedCatalogueComponentType.Service) {
1152
+ initSchema$5();
1153
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataResourceEntityStorageType, "DataResourceEntry");
1154
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.participantEntityStorageType, "ParticipantEntry");
1155
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.serviceOfferingEntityStorageType, "ServiceOfferingEntry");
1156
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.dataSpaceConnectorStorageType, "DataSpaceConnectorEntry");
1157
+ component = new FederatedCatalogueService({
1158
+ loggingConnectorType: context.defaultTypes.loggingConnector,
1159
+ identityResolverComponentType: context.defaultTypes.identityResolverComponent,
1160
+ ...instanceConfig.options
1161
+ });
1162
+ instanceType = FederatedCatalogueService.NAMESPACE;
1163
+ }
1164
+ else {
1165
+ throw new GeneralError("engineCore", "componentUnknownType", {
1166
+ type,
1167
+ componentType: "FederatedCatalogueComponent"
1168
+ });
1169
+ }
1170
+ const finalInstanceType = overrideInstanceType ?? instanceType;
1171
+ context.componentInstances.push({
1172
+ instanceType: finalInstanceType,
1173
+ component
1174
+ });
1175
+ ComponentFactory.register(finalInstanceType, () => component);
1176
+ return finalInstanceType;
1177
+ }
1178
+
1119
1179
  // Copyright 2024 IOTA Stiftung.
1120
1180
  // SPDX-License-Identifier: Apache-2.0.
1121
1181
  /**
@@ -1177,7 +1237,7 @@ function initialiseIdentityConnector(engineCore, context, instanceConfig, overri
1177
1237
  instanceType = IotaIdentityConnector.NAMESPACE;
1178
1238
  }
1179
1239
  else if (type === IdentityConnectorType.EntityStorage) {
1180
- initSchema$5({ includeProfile: false });
1240
+ initSchema$6({ includeProfile: false });
1181
1241
  initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.didDocumentEntityStorageType, "IdentityDocument");
1182
1242
  connector = new EntityStorageIdentityConnector({
1183
1243
  vaultConnectorType: context.defaultTypes.vaultConnector,
@@ -1273,7 +1333,7 @@ function initialiseIdentityProfileConnector(engineCore, context, instanceConfig,
1273
1333
  let connector;
1274
1334
  let instanceType;
1275
1335
  if (type === IdentityProfileConnectorType.EntityStorage) {
1276
- initSchema$5({ includeDocument: false });
1336
+ initSchema$6({ includeDocument: false });
1277
1337
  initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.profileEntityStorageType, "IdentityProfile");
1278
1338
  connector = new EntityStorageIdentityProfileConnector(instanceConfig.options);
1279
1339
  instanceType = EntityStorageIdentityProfileConnector.NAMESPACE;
@@ -1394,7 +1454,7 @@ function initialiseIdentityResolverConnector(engineCore, context, instanceConfig
1394
1454
  instanceType = IotaIdentityResolverConnector.NAMESPACE;
1395
1455
  }
1396
1456
  else if (type === IdentityResolverConnectorType.EntityStorage) {
1397
- initSchema$5({ includeProfile: false });
1457
+ initSchema$6({ includeProfile: false });
1398
1458
  initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.didDocumentEntityStorageType, "IdentityDocument");
1399
1459
  connector = new EntityStorageIdentityResolverConnector({
1400
1460
  vaultConnectorType: context.defaultTypes.vaultConnector,
@@ -1488,7 +1548,7 @@ function initialiseImmutableProofComponent(engineCore, context, instanceConfig,
1488
1548
  let component;
1489
1549
  let instanceType;
1490
1550
  if (type === ImmutableProofComponentType.Service) {
1491
- initSchema$6();
1551
+ initSchema$7();
1492
1552
  initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.immutableProofEntityStorageType, "ImmutableProof");
1493
1553
  component = new ImmutableProofService({
1494
1554
  verifiableStorageType: context.defaultTypes.verifiableStorageConnector,
@@ -1514,123 +1574,6 @@ function initialiseImmutableProofComponent(engineCore, context, instanceConfig,
1514
1574
  return finalInstanceType;
1515
1575
  }
1516
1576
 
1517
- // Copyright 2024 IOTA Stiftung.
1518
- // SPDX-License-Identifier: Apache-2.0.
1519
- /**
1520
- * Verifiable storage component types.
1521
- */
1522
- // eslint-disable-next-line @typescript-eslint/naming-convention
1523
- const VerifiableStorageComponentType = {
1524
- /**
1525
- * Service.
1526
- */
1527
- Service: "service"
1528
- };
1529
-
1530
- // Copyright 2024 IOTA Stiftung.
1531
- // SPDX-License-Identifier: Apache-2.0.
1532
- /**
1533
- * Verifiable storage connector types.
1534
- */
1535
- // eslint-disable-next-line @typescript-eslint/naming-convention
1536
- const VerifiableStorageConnectorType = {
1537
- /**
1538
- * Entity storage.
1539
- */
1540
- EntityStorage: "entity-storage",
1541
- /**
1542
- * IOTA.
1543
- */
1544
- Iota: "iota"
1545
- };
1546
-
1547
- // Copyright 2024 IOTA Stiftung.
1548
- // SPDX-License-Identifier: Apache-2.0.
1549
- /**
1550
- * Initialise the verifiable storage connector.
1551
- * @param engineCore The engine core.
1552
- * @param context The context for the engine.
1553
- * @param instanceConfig The instance config.
1554
- * @param overrideInstanceType The instance type to override the default.
1555
- * @returns The name of the instance created.
1556
- * @throws GeneralError if the connector type is unknown.
1557
- */
1558
- function initialiseVerifiableStorageConnector(engineCore, context, instanceConfig, overrideInstanceType) {
1559
- engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
1560
- element: `Verifiable Storage Connector: ${instanceConfig.type}`
1561
- }));
1562
- const type = instanceConfig.type;
1563
- let connector;
1564
- let instanceType;
1565
- if (type === VerifiableStorageConnectorType.Iota) {
1566
- const dltConfig = context.config.types.dltConfig?.find(dlt => dlt.type === context.defaultTypes.dltConfig);
1567
- connector = new IotaVerifiableStorageConnector({
1568
- vaultConnectorType: context.defaultTypes.vaultConnector,
1569
- ...instanceConfig.options,
1570
- config: {
1571
- ...dltConfig?.options?.config,
1572
- ...instanceConfig.options.config
1573
- }
1574
- });
1575
- instanceType = IotaVerifiableStorageConnector.NAMESPACE;
1576
- }
1577
- else if (type === VerifiableStorageConnectorType.EntityStorage) {
1578
- initSchema$7();
1579
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.verifiableStorageEntityStorageType, "VerifiableItem");
1580
- connector = new EntityStorageVerifiableStorageConnector(instanceConfig.options);
1581
- instanceType = EntityStorageVerifiableStorageConnector.NAMESPACE;
1582
- }
1583
- else {
1584
- throw new GeneralError("engineCore", "connectorUnknownType", {
1585
- type,
1586
- connectorType: "verifiableStorageConnector"
1587
- });
1588
- }
1589
- const finalInstanceType = overrideInstanceType ?? instanceType;
1590
- context.componentInstances.push({
1591
- instanceType: finalInstanceType,
1592
- component: connector
1593
- });
1594
- VerifiableStorageConnectorFactory.register(finalInstanceType, () => connector);
1595
- return finalInstanceType;
1596
- }
1597
- /**
1598
- * Initialise the verifiable storage component.
1599
- * @param engineCore The engine core.
1600
- * @param context The context for the engine.
1601
- * @param instanceConfig The instance config.
1602
- * @param overrideInstanceType The instance type to override the default.
1603
- * @returns The name of the instance created.
1604
- * @throws GeneralError if the component type is unknown.
1605
- */
1606
- function initialiseVerifiableStorageComponent(engineCore, context, instanceConfig, overrideInstanceType) {
1607
- engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
1608
- element: `Verifiable Storage Component: ${instanceConfig.type}`
1609
- }));
1610
- const type = instanceConfig.type;
1611
- let component;
1612
- let instanceType;
1613
- if (type === VerifiableStorageComponentType.Service) {
1614
- component = new VerifiableStorageService({
1615
- ...instanceConfig.options
1616
- });
1617
- instanceType = VerifiableStorageService.NAMESPACE;
1618
- }
1619
- else {
1620
- throw new GeneralError("engineCore", "componentUnknownType", {
1621
- type,
1622
- componentType: "verifiableStorageComponent"
1623
- });
1624
- }
1625
- const finalInstanceType = overrideInstanceType ?? instanceType;
1626
- context.componentInstances.push({
1627
- instanceType: finalInstanceType,
1628
- component
1629
- });
1630
- ComponentFactory.register(finalInstanceType, () => component);
1631
- return finalInstanceType;
1632
- }
1633
-
1634
1577
  // Copyright 2024 IOTA Stiftung.
1635
1578
  // SPDX-License-Identifier: Apache-2.0.
1636
1579
  /**
@@ -2247,6 +2190,123 @@ function initialiseVaultConnector(engineCore, context, instanceConfig, overrideI
2247
2190
  return finalInstanceType;
2248
2191
  }
2249
2192
 
2193
+ // Copyright 2024 IOTA Stiftung.
2194
+ // SPDX-License-Identifier: Apache-2.0.
2195
+ /**
2196
+ * Verifiable storage component types.
2197
+ */
2198
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2199
+ const VerifiableStorageComponentType = {
2200
+ /**
2201
+ * Service.
2202
+ */
2203
+ Service: "service"
2204
+ };
2205
+
2206
+ // Copyright 2024 IOTA Stiftung.
2207
+ // SPDX-License-Identifier: Apache-2.0.
2208
+ /**
2209
+ * Verifiable storage connector types.
2210
+ */
2211
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2212
+ const VerifiableStorageConnectorType = {
2213
+ /**
2214
+ * Entity storage.
2215
+ */
2216
+ EntityStorage: "entity-storage",
2217
+ /**
2218
+ * IOTA.
2219
+ */
2220
+ Iota: "iota"
2221
+ };
2222
+
2223
+ // Copyright 2024 IOTA Stiftung.
2224
+ // SPDX-License-Identifier: Apache-2.0.
2225
+ /**
2226
+ * Initialise the verifiable storage connector.
2227
+ * @param engineCore The engine core.
2228
+ * @param context The context for the engine.
2229
+ * @param instanceConfig The instance config.
2230
+ * @param overrideInstanceType The instance type to override the default.
2231
+ * @returns The name of the instance created.
2232
+ * @throws GeneralError if the connector type is unknown.
2233
+ */
2234
+ function initialiseVerifiableStorageConnector(engineCore, context, instanceConfig, overrideInstanceType) {
2235
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2236
+ element: `Verifiable Storage Connector: ${instanceConfig.type}`
2237
+ }));
2238
+ const type = instanceConfig.type;
2239
+ let connector;
2240
+ let instanceType;
2241
+ if (type === VerifiableStorageConnectorType.Iota) {
2242
+ const dltConfig = context.config.types.dltConfig?.find(dlt => dlt.type === context.defaultTypes.dltConfig);
2243
+ connector = new IotaVerifiableStorageConnector({
2244
+ vaultConnectorType: context.defaultTypes.vaultConnector,
2245
+ ...instanceConfig.options,
2246
+ config: {
2247
+ ...dltConfig?.options?.config,
2248
+ ...instanceConfig.options.config
2249
+ }
2250
+ });
2251
+ instanceType = IotaVerifiableStorageConnector.NAMESPACE;
2252
+ }
2253
+ else if (type === VerifiableStorageConnectorType.EntityStorage) {
2254
+ initSchema$e();
2255
+ initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.verifiableStorageEntityStorageType, "VerifiableItem");
2256
+ connector = new EntityStorageVerifiableStorageConnector(instanceConfig.options);
2257
+ instanceType = EntityStorageVerifiableStorageConnector.NAMESPACE;
2258
+ }
2259
+ else {
2260
+ throw new GeneralError("engineCore", "connectorUnknownType", {
2261
+ type,
2262
+ connectorType: "verifiableStorageConnector"
2263
+ });
2264
+ }
2265
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2266
+ context.componentInstances.push({
2267
+ instanceType: finalInstanceType,
2268
+ component: connector
2269
+ });
2270
+ VerifiableStorageConnectorFactory.register(finalInstanceType, () => connector);
2271
+ return finalInstanceType;
2272
+ }
2273
+ /**
2274
+ * Initialise the verifiable storage component.
2275
+ * @param engineCore The engine core.
2276
+ * @param context The context for the engine.
2277
+ * @param instanceConfig The instance config.
2278
+ * @param overrideInstanceType The instance type to override the default.
2279
+ * @returns The name of the instance created.
2280
+ * @throws GeneralError if the component type is unknown.
2281
+ */
2282
+ function initialiseVerifiableStorageComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2283
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2284
+ element: `Verifiable Storage Component: ${instanceConfig.type}`
2285
+ }));
2286
+ const type = instanceConfig.type;
2287
+ let component;
2288
+ let instanceType;
2289
+ if (type === VerifiableStorageComponentType.Service) {
2290
+ component = new VerifiableStorageService({
2291
+ ...instanceConfig.options
2292
+ });
2293
+ instanceType = VerifiableStorageService.NAMESPACE;
2294
+ }
2295
+ else {
2296
+ throw new GeneralError("engineCore", "componentUnknownType", {
2297
+ type,
2298
+ componentType: "verifiableStorageComponent"
2299
+ });
2300
+ }
2301
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2302
+ context.componentInstances.push({
2303
+ instanceType: finalInstanceType,
2304
+ component
2305
+ });
2306
+ ComponentFactory.register(finalInstanceType, () => component);
2307
+ return finalInstanceType;
2308
+ }
2309
+
2250
2310
  // Copyright 2024 IOTA Stiftung.
2251
2311
  // SPDX-License-Identifier: Apache-2.0.
2252
2312
  /**
@@ -2330,7 +2390,7 @@ function initialiseWalletStorage(engineCore, context, instanceConfig, overrideIn
2330
2390
  const type = instanceConfig.type;
2331
2391
  if (type === WalletConnectorType.Iota) ;
2332
2392
  else if (type === WalletConnectorType.EntityStorage) {
2333
- initSchema$e();
2393
+ initSchema$f();
2334
2394
  initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.walletAddressEntityStorageType, "WalletAddress");
2335
2395
  }
2336
2396
  else {
@@ -2355,4 +2415,4 @@ const DltConfigType = {
2355
2415
  Iota: "iota"
2356
2416
  };
2357
2417
 
2358
- export { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, BackgroundTaskConnectorType, BlobStorageComponentType, BlobStorageConnectorType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DltConfigType, DocumentManagementComponentType, EntityStorageComponentType, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, TelemetryComponentType, TelemetryConnectorType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType, initialiseAttestationComponent, initialiseAttestationConnector, initialiseAuditableItemGraphComponent, initialiseAuditableItemStreamComponent, initialiseBackgroundTaskConnector, initialiseBlobStorageComponent, initialiseBlobStorageConnector, initialiseDataConverterConnector, initialiseDataExtractorConnector, initialiseDataProcessingComponent, initialiseDocumentManagementComponent, initialiseEntityStorageComponent, initialiseEntityStorageConnector, initialiseEventBusComponent, initialiseEventBusConnector, initialiseFaucetConnector, initialiseIdentityComponent, initialiseIdentityConnector, initialiseIdentityProfileComponent, initialiseIdentityProfileConnector, initialiseIdentityResolverComponent, initialiseIdentityResolverConnector, initialiseImmutableProofComponent, initialiseLoggingComponent, initialiseLoggingConnector, initialiseMessagingComponent, initialiseMessagingEmailConnector, initialiseMessagingPushNotificationConnector, initialiseMessagingSmsConnector, initialiseNftComponent, initialiseNftConnector, initialiseTelemetryComponent, initialiseTelemetryConnector, initialiseVaultConnector, initialiseVerifiableStorageComponent, initialiseVerifiableStorageConnector, initialiseWalletConnector, initialiseWalletStorage };
2418
+ export { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, BackgroundTaskConnectorType, BlobStorageComponentType, BlobStorageConnectorType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DltConfigType, DocumentManagementComponentType, EntityStorageComponentType, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, FederatedCatalogueComponentType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, TelemetryComponentType, TelemetryConnectorType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType, initialiseAttestationComponent, initialiseAttestationConnector, initialiseAuditableItemGraphComponent, initialiseAuditableItemStreamComponent, initialiseBackgroundTaskConnector, initialiseBlobStorageComponent, initialiseBlobStorageConnector, initialiseDataConverterConnector, initialiseDataExtractorConnector, initialiseDataProcessingComponent, initialiseDocumentManagementComponent, initialiseEntityStorageComponent, initialiseEntityStorageConnector, initialiseEventBusComponent, initialiseEventBusConnector, initialiseFaucetConnector, initialiseFederatedCatalogueComponent, initialiseIdentityComponent, initialiseIdentityConnector, initialiseIdentityProfileComponent, initialiseIdentityProfileConnector, initialiseIdentityResolverComponent, initialiseIdentityResolverConnector, initialiseImmutableProofComponent, initialiseLoggingComponent, initialiseLoggingConnector, initialiseMessagingComponent, initialiseMessagingEmailConnector, initialiseMessagingPushNotificationConnector, initialiseMessagingSmsConnector, initialiseNftComponent, initialiseNftConnector, initialiseTelemetryComponent, initialiseTelemetryConnector, initialiseVaultConnector, initialiseVerifiableStorageComponent, initialiseVerifiableStorageConnector, initialiseWalletConnector, initialiseWalletStorage };
@@ -0,0 +1,13 @@
1
+ import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
2
+ import type { FederatedCatalogueComponentConfig } from "../models/config/federatedCatalogueComponentConfig";
3
+ import type { IEngineConfig } from "../models/IEngineConfig";
4
+ /**
5
+ * Initialise the federated catalogue component.
6
+ * @param engineCore The engine core.
7
+ * @param context The context for the engine.
8
+ * @param instanceConfig The instance config.
9
+ * @param overrideInstanceType The instance type to override the default.
10
+ * @returns The name of the instance created.
11
+ * @throws GeneralError if the component type is unknown.
12
+ */
13
+ export declare function initialiseFederatedCatalogueComponent(engineCore: IEngineCore<IEngineConfig>, context: IEngineCoreContext<IEngineConfig>, instanceConfig: FederatedCatalogueComponentConfig, overrideInstanceType?: string): string | undefined;
@@ -8,16 +8,17 @@ export * from "./components/documentManagement";
8
8
  export * from "./components/entityStorage";
9
9
  export * from "./components/eventBus";
10
10
  export * from "./components/faucet";
11
+ export * from "./components/federatedCatalogue";
11
12
  export * from "./components/identity";
12
13
  export * from "./components/identityProfile";
13
14
  export * from "./components/identityResolver";
14
15
  export * from "./components/immutableProof";
15
- export * from "./components/verifiableStorage";
16
16
  export * from "./components/logging";
17
17
  export * from "./components/messaging";
18
18
  export * from "./components/nft";
19
19
  export * from "./components/telemetry";
20
20
  export * from "./components/vault";
21
+ export * from "./components/verifiableStorage";
21
22
  export * from "./components/wallet";
22
23
  export * from "./models/config/attestationComponentConfig";
23
24
  export * from "./models/config/attestationConnectorConfig";
@@ -36,6 +37,7 @@ export * from "./models/config/entityStorageConnectorConfig";
36
37
  export * from "./models/config/eventBusComponentConfig";
37
38
  export * from "./models/config/eventBusConnectorConfig";
38
39
  export * from "./models/config/faucetConnectorConfig";
40
+ export * from "./models/config/federatedCatalogueComponentConfig";
39
41
  export * from "./models/config/identityComponentConfig";
40
42
  export * from "./models/config/identityConnectorConfig";
41
43
  export * from "./models/config/identityProfileComponentConfig";
@@ -43,8 +45,6 @@ export * from "./models/config/identityProfileConnectorConfig";
43
45
  export * from "./models/config/identityResolverComponentConfig";
44
46
  export * from "./models/config/identityResolverConnectorConfig";
45
47
  export * from "./models/config/immutableProofComponentConfig";
46
- export * from "./models/config/verifiableStorageComponentConfig";
47
- export * from "./models/config/verifiableStorageConnectorConfig";
48
48
  export * from "./models/config/loggingComponentConfig";
49
49
  export * from "./models/config/loggingConnectorConfig";
50
50
  export * from "./models/config/messagingComponentConfig";
@@ -56,6 +56,8 @@ export * from "./models/config/nftConnectorConfig";
56
56
  export * from "./models/config/telemetryComponentConfig";
57
57
  export * from "./models/config/telemetryConnectorConfig";
58
58
  export * from "./models/config/vaultConnectorConfig";
59
+ export * from "./models/config/verifiableStorageComponentConfig";
60
+ export * from "./models/config/verifiableStorageConnectorConfig";
59
61
  export * from "./models/config/walletConnectorConfig";
60
62
  export * from "./models/IEngineConfig";
61
63
  export * from "./models/types/attestationComponentType";
@@ -75,6 +77,7 @@ export * from "./models/types/entityStorageConnectorType";
75
77
  export * from "./models/types/eventBusComponentType";
76
78
  export * from "./models/types/eventBusConnectorType";
77
79
  export * from "./models/types/faucetConnectorType";
80
+ export * from "./models/types/federatedCatalogueComponentType";
78
81
  export * from "./models/types/identityComponentType";
79
82
  export * from "./models/types/identityConnectorType";
80
83
  export * from "./models/types/identityProfileComponentType";
@@ -82,8 +85,6 @@ export * from "./models/types/identityProfileConnectorType";
82
85
  export * from "./models/types/identityResolverComponentType";
83
86
  export * from "./models/types/identityResolverConnectorType";
84
87
  export * from "./models/types/immutableProofComponentType";
85
- export * from "./models/types/verifiableStorageComponentType";
86
- export * from "./models/types/verifiableStorageConnectorType";
87
88
  export * from "./models/types/loggingComponentType";
88
89
  export * from "./models/types/loggingConnectorType";
89
90
  export * from "./models/types/messagingComponentType";
@@ -95,4 +96,6 @@ export * from "./models/types/nftConnectorType";
95
96
  export * from "./models/types/telemetryComponentType";
96
97
  export * from "./models/types/telemetryConnectorType";
97
98
  export * from "./models/types/vaultConnectorType";
99
+ export * from "./models/types/verifiableStorageComponentType";
100
+ export * from "./models/types/verifiableStorageConnectorType";
98
101
  export * from "./models/types/walletConnectorType";
@@ -16,6 +16,7 @@ import type { EntityStorageConnectorConfig } from "./config/entityStorageConnect
16
16
  import type { EventBusComponentConfig } from "./config/eventBusComponentConfig";
17
17
  import type { EventBusConnectorConfig } from "./config/eventBusConnectorConfig";
18
18
  import type { FaucetConnectorConfig } from "./config/faucetConnectorConfig";
19
+ import type { FederatedCatalogueComponentConfig } from "./config/federatedCatalogueComponentConfig";
19
20
  import type { IdentityComponentConfig } from "./config/identityComponentConfig";
20
21
  import type { IdentityConnectorConfig } from "./config/identityConnectorConfig";
21
22
  import type { IdentityProfileComponentConfig } from "./config/identityProfileComponentConfig";
@@ -198,5 +199,9 @@ export interface IEngineConfig extends IEngineCoreConfig {
198
199
  * Document management options which can be overridden by individual components by specifying types other than default.
199
200
  */
200
201
  documentManagementComponent?: IEngineCoreTypeConfig<DocumentManagementComponentConfig>[];
202
+ /**
203
+ * Federated catalogue options which can be overridden by individual components by specifying types other than default.
204
+ */
205
+ federatedCatalogueComponent?: IEngineCoreTypeConfig<FederatedCatalogueComponentConfig>[];
201
206
  };
202
207
  }
@@ -0,0 +1,9 @@
1
+ import type { IFederatedCatalogueServiceConstructorOptions } from "@twin.org/federated-catalogue-service";
2
+ import type { FederatedCatalogueComponentType } from "../types/federatedCatalogueComponentType";
3
+ /**
4
+ * Federated catalog component config types.
5
+ */
6
+ export type FederatedCatalogueComponentConfig = {
7
+ type: typeof FederatedCatalogueComponentType.Service;
8
+ options: IFederatedCatalogueServiceConstructorOptions;
9
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Federated catalogue component types.
3
+ */
4
+ export declare const FederatedCatalogueComponentType: {
5
+ /**
6
+ * Service.
7
+ */
8
+ readonly Service: "service";
9
+ };
10
+ /**
11
+ * Federated catalogue component types.
12
+ */
13
+ export type FederatedCatalogueComponentType = (typeof FederatedCatalogueComponentType)[keyof typeof FederatedCatalogueComponentType];
package/docs/changelog.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @twin.org/engine-types - Changelog
2
2
 
3
+ ## [0.0.1-next.74](https://github.com/twinfoundation/engine/compare/engine-types-v0.0.1-next.73...engine-types-v0.0.1-next.74) (2025-05-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * add federated catalogue ([1b15dd0](https://github.com/twinfoundation/engine/commit/1b15dd059a11446457651c411a73145fab37f025))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/engine-models bumped from 0.0.1-next.73 to 0.0.1-next.74
16
+
17
+ ## [0.0.1-next.73](https://github.com/twinfoundation/engine/compare/engine-types-v0.0.1-next.72...engine-types-v0.0.1-next.73) (2025-05-22)
18
+
19
+
20
+ ### Miscellaneous Chores
21
+
22
+ * **engine-types:** Synchronize repo versions
23
+
24
+
25
+ ### Dependencies
26
+
27
+ * The following workspace dependencies were updated
28
+ * dependencies
29
+ * @twin.org/engine-models bumped from 0.0.1-next.72 to 0.0.1-next.73
30
+
3
31
  ## [0.0.1-next.72](https://github.com/twinfoundation/engine/compare/engine-types-v0.0.1-next.71...engine-types-v0.0.1-next.72) (2025-05-06)
4
32
 
5
33
 
@@ -0,0 +1,41 @@
1
+ # Function: initialiseFederatedCatalogueComponent()
2
+
3
+ > **initialiseFederatedCatalogueComponent**(`engineCore`, `context`, `instanceConfig`, `overrideInstanceType?`): `undefined` \| `string`
4
+
5
+ Initialise the federated catalogue component.
6
+
7
+ ## Parameters
8
+
9
+ ### engineCore
10
+
11
+ `IEngineCore`\<[`IEngineConfig`](../interfaces/IEngineConfig.md)\>
12
+
13
+ The engine core.
14
+
15
+ ### context
16
+
17
+ `IEngineCoreContext`\<[`IEngineConfig`](../interfaces/IEngineConfig.md)\>
18
+
19
+ The context for the engine.
20
+
21
+ ### instanceConfig
22
+
23
+ [`FederatedCatalogueComponentConfig`](../type-aliases/FederatedCatalogueComponentConfig.md)
24
+
25
+ The instance config.
26
+
27
+ ### overrideInstanceType?
28
+
29
+ `string`
30
+
31
+ The instance type to override the default.
32
+
33
+ ## Returns
34
+
35
+ `undefined` \| `string`
36
+
37
+ The name of the instance created.
38
+
39
+ ## Throws
40
+
41
+ GeneralError if the component type is unknown.
@@ -23,6 +23,7 @@
23
23
  - [EventBusComponentConfig](type-aliases/EventBusComponentConfig.md)
24
24
  - [EventBusConnectorConfig](type-aliases/EventBusConnectorConfig.md)
25
25
  - [FaucetConnectorConfig](type-aliases/FaucetConnectorConfig.md)
26
+ - [FederatedCatalogueComponentConfig](type-aliases/FederatedCatalogueComponentConfig.md)
26
27
  - [IdentityComponentConfig](type-aliases/IdentityComponentConfig.md)
27
28
  - [IdentityConnectorConfig](type-aliases/IdentityConnectorConfig.md)
28
29
  - [IdentityProfileComponentConfig](type-aliases/IdentityProfileComponentConfig.md)
@@ -61,6 +62,7 @@
61
62
  - [EventBusComponentType](type-aliases/EventBusComponentType.md)
62
63
  - [EventBusConnectorType](type-aliases/EventBusConnectorType.md)
63
64
  - [FaucetConnectorType](type-aliases/FaucetConnectorType.md)
65
+ - [FederatedCatalogueComponentType](type-aliases/FederatedCatalogueComponentType.md)
64
66
  - [IdentityComponentType](type-aliases/IdentityComponentType.md)
65
67
  - [IdentityConnectorType](type-aliases/IdentityConnectorType.md)
66
68
  - [IdentityProfileComponentType](type-aliases/IdentityProfileComponentType.md)
@@ -102,6 +104,7 @@
102
104
  - [EventBusComponentType](variables/EventBusComponentType.md)
103
105
  - [EventBusConnectorType](variables/EventBusConnectorType.md)
104
106
  - [FaucetConnectorType](variables/FaucetConnectorType.md)
107
+ - [FederatedCatalogueComponentType](variables/FederatedCatalogueComponentType.md)
105
108
  - [IdentityComponentType](variables/IdentityComponentType.md)
106
109
  - [IdentityConnectorType](variables/IdentityConnectorType.md)
107
110
  - [IdentityProfileComponentType](variables/IdentityProfileComponentType.md)
@@ -142,6 +145,7 @@
142
145
  - [initialiseEventBusConnector](functions/initialiseEventBusConnector.md)
143
146
  - [initialiseEventBusComponent](functions/initialiseEventBusComponent.md)
144
147
  - [initialiseFaucetConnector](functions/initialiseFaucetConnector.md)
148
+ - [initialiseFederatedCatalogueComponent](functions/initialiseFederatedCatalogueComponent.md)
145
149
  - [initialiseIdentityConnector](functions/initialiseIdentityConnector.md)
146
150
  - [initialiseIdentityComponent](functions/initialiseIdentityComponent.md)
147
151
  - [initialiseIdentityProfileConnector](functions/initialiseIdentityProfileConnector.md)
@@ -246,6 +246,12 @@ Date processing options which can be overridden by individual components by spec
246
246
 
247
247
  Document management options which can be overridden by individual components by specifying types other than default.
248
248
 
249
+ #### federatedCatalogueComponent?
250
+
251
+ > `optional` **federatedCatalogueComponent**: `IEngineCoreTypeConfig`\<[`FederatedCatalogueComponentConfig`](../type-aliases/FederatedCatalogueComponentConfig.md)\>[]
252
+
253
+ Federated catalogue options which can be overridden by individual components by specifying types other than default.
254
+
249
255
  #### Overrides
250
256
 
251
257
  `IEngineCoreConfig.types`
@@ -0,0 +1,17 @@
1
+ # Type Alias: FederatedCatalogueComponentConfig
2
+
3
+ > **FederatedCatalogueComponentConfig** = `object`
4
+
5
+ Federated catalog component config types.
6
+
7
+ ## Properties
8
+
9
+ ### type
10
+
11
+ > **type**: *typeof* [`Service`](../variables/FederatedCatalogueComponentType.md#service)
12
+
13
+ ***
14
+
15
+ ### options
16
+
17
+ > **options**: `IFederatedCatalogueServiceConstructorOptions`
@@ -0,0 +1,5 @@
1
+ # Type Alias: FederatedCatalogueComponentType
2
+
3
+ > **FederatedCatalogueComponentType** = *typeof* [`FederatedCatalogueComponentType`](../variables/FederatedCatalogueComponentType.md)\[keyof *typeof* [`FederatedCatalogueComponentType`](../variables/FederatedCatalogueComponentType.md)\]
4
+
5
+ Federated catalogue component types.
@@ -0,0 +1,13 @@
1
+ # Variable: FederatedCatalogueComponentType
2
+
3
+ > `const` **FederatedCatalogueComponentType**: `object`
4
+
5
+ Federated catalogue component types.
6
+
7
+ ## Type declaration
8
+
9
+ ### Service
10
+
11
+ > `readonly` **Service**: `"service"` = `"service"`
12
+
13
+ Service.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/engine-types",
3
- "version": "0.0.1-next.72",
3
+ "version": "0.0.1-next.74",
4
4
  "description": "Types to use in an engine.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "@twin.org/core": "next",
18
18
  "@twin.org/crypto": "next",
19
19
  "@twin.org/data-core": "next",
20
- "@twin.org/engine-models": "0.0.1-next.72",
20
+ "@twin.org/engine-models": "0.0.1-next.74",
21
21
  "@twin.org/entity": "next",
22
22
  "@twin.org/modules": "next",
23
23
  "@twin.org/nameof": "next"
@@ -60,6 +60,8 @@
60
60
  "@twin.org/event-bus-connector-local": "next",
61
61
  "@twin.org/event-bus-models": "next",
62
62
  "@twin.org/event-bus-service": "next",
63
+ "@twin.org/federated-catalogue-models": "next",
64
+ "@twin.org/federated-catalogue-service": "next",
63
65
  "@twin.org/identity-connector-entity-storage": "next",
64
66
  "@twin.org/identity-connector-iota": "next",
65
67
  "@twin.org/identity-connector-universal": "next",