@twin.org/engine-models 0.0.1-next.1

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 (188) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +21 -0
  3. package/dist/cjs/index.cjs +550 -0
  4. package/dist/esm/index.mjs +517 -0
  5. package/dist/types/factories/engineCoreFactory.d.ts +6 -0
  6. package/dist/types/factories/engineServerFactory.d.ts +6 -0
  7. package/dist/types/index.d.ts +74 -0
  8. package/dist/types/models/IEngineCore.d.ts +55 -0
  9. package/dist/types/models/IEngineCoreContext.d.ts +33 -0
  10. package/dist/types/models/IEngineServer.d.ts +32 -0
  11. package/dist/types/models/IEngineState.d.ts +13 -0
  12. package/dist/types/models/IEngineStateStorage.d.ts +20 -0
  13. package/dist/types/models/config/IEngineCoreConfig.d.ts +141 -0
  14. package/dist/types/models/config/IEngineCoreTypeBaseConfig.d.ts +13 -0
  15. package/dist/types/models/config/IEngineCoreTypeConfig.d.ts +11 -0
  16. package/dist/types/models/config/IEngineServerConfig.d.ts +36 -0
  17. package/dist/types/models/config/typeConfig/attestationComponentConfig.d.ts +12 -0
  18. package/dist/types/models/config/typeConfig/attestationConnectorConfig.d.ts +21 -0
  19. package/dist/types/models/config/typeConfig/auditableItemGraphComponentConfig.d.ts +14 -0
  20. package/dist/types/models/config/typeConfig/auditableItemStreamComponentConfig.d.ts +14 -0
  21. package/dist/types/models/config/typeConfig/authenticationComponentConfig.d.ts +13 -0
  22. package/dist/types/models/config/typeConfig/backgroundTaskConnectorConfig.d.ts +13 -0
  23. package/dist/types/models/config/typeConfig/blobStorageComponentConfig.d.ts +13 -0
  24. package/dist/types/models/config/typeConfig/blobStorageConnectorConfig.d.ts +42 -0
  25. package/dist/types/models/config/typeConfig/dltConfig.d.ts +11 -0
  26. package/dist/types/models/config/typeConfig/entityStorageComponentConfig.d.ts +12 -0
  27. package/dist/types/models/config/typeConfig/entityStorageConnectorConfig.d.ts +46 -0
  28. package/dist/types/models/config/typeConfig/faucetConnectorConfig.d.ts +18 -0
  29. package/dist/types/models/config/typeConfig/identityComponentConfig.d.ts +11 -0
  30. package/dist/types/models/config/typeConfig/identityConnectorConfig.d.ts +18 -0
  31. package/dist/types/models/config/typeConfig/identityProfileComponentConfig.d.ts +10 -0
  32. package/dist/types/models/config/typeConfig/identityProfileConnectorConfig.d.ts +10 -0
  33. package/dist/types/models/config/typeConfig/immutableProofComponentConfig.d.ts +16 -0
  34. package/dist/types/models/config/typeConfig/immutableStorageConnectorConfig.d.ts +17 -0
  35. package/dist/types/models/config/typeConfig/informationComponentConfig.d.ts +11 -0
  36. package/dist/types/models/config/typeConfig/loggingComponentConfig.d.ts +10 -0
  37. package/dist/types/models/config/typeConfig/loggingConnectorConfig.d.ts +25 -0
  38. package/dist/types/models/config/typeConfig/mimeTypeProcessorConfig.d.ts +8 -0
  39. package/dist/types/models/config/typeConfig/nftComponentConfig.d.ts +11 -0
  40. package/dist/types/models/config/typeConfig/nftConnectorConfig.d.ts +17 -0
  41. package/dist/types/models/config/typeConfig/restRouteProcessorConfig.d.ts +32 -0
  42. package/dist/types/models/config/typeConfig/socketRouteProcessorConfig.d.ts +32 -0
  43. package/dist/types/models/config/typeConfig/telemetryComponentConfig.d.ts +10 -0
  44. package/dist/types/models/config/typeConfig/telemetryConnectorConfig.d.ts +12 -0
  45. package/dist/types/models/config/typeConfig/vaultConnectorConfig.d.ts +17 -0
  46. package/dist/types/models/config/typeConfig/walletConnectorConfig.d.ts +22 -0
  47. package/dist/types/models/engineTypeInitialiser.d.ts +7 -0
  48. package/dist/types/models/restRouteGenerator.d.ts +5 -0
  49. package/dist/types/models/socketRouteGenerator.d.ts +5 -0
  50. package/dist/types/models/types/attestationComponentType.d.ts +13 -0
  51. package/dist/types/models/types/attestationConnectorType.d.ts +17 -0
  52. package/dist/types/models/types/auditableItemGraphComponentType.d.ts +13 -0
  53. package/dist/types/models/types/auditableItemStreamComponentType.d.ts +13 -0
  54. package/dist/types/models/types/authenticationComponentType.d.ts +13 -0
  55. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +13 -0
  56. package/dist/types/models/types/blobStorageComponentType.d.ts +13 -0
  57. package/dist/types/models/types/blobStorageConnectorType.d.ts +33 -0
  58. package/dist/types/models/types/dltConfigType.d.ts +13 -0
  59. package/dist/types/models/types/entityStorageComponentType.d.ts +13 -0
  60. package/dist/types/models/types/entityStorageConnectorType.d.ts +33 -0
  61. package/dist/types/models/types/faucetConnectorType.d.ts +17 -0
  62. package/dist/types/models/types/identityComponentType.d.ts +13 -0
  63. package/dist/types/models/types/identityConnectorType.d.ts +17 -0
  64. package/dist/types/models/types/identityProfileComponentType.d.ts +13 -0
  65. package/dist/types/models/types/identityProfileConnectorType.d.ts +13 -0
  66. package/dist/types/models/types/immutableProofComponentType.d.ts +13 -0
  67. package/dist/types/models/types/immutableStorageConnectorType.d.ts +17 -0
  68. package/dist/types/models/types/informationComponentType.d.ts +13 -0
  69. package/dist/types/models/types/loggingComponentType.d.ts +13 -0
  70. package/dist/types/models/types/loggingConnectorType.d.ts +21 -0
  71. package/dist/types/models/types/mimeTypeProcessorType.d.ts +13 -0
  72. package/dist/types/models/types/nftComponentType.d.ts +13 -0
  73. package/dist/types/models/types/nftConnectorType.d.ts +17 -0
  74. package/dist/types/models/types/restRouteProcessorType.d.ts +29 -0
  75. package/dist/types/models/types/socketRouteProcessorType.d.ts +29 -0
  76. package/dist/types/models/types/telemetryComponentType.d.ts +13 -0
  77. package/dist/types/models/types/telemetryConnectorType.d.ts +13 -0
  78. package/dist/types/models/types/vaultConnectorType.d.ts +17 -0
  79. package/dist/types/models/types/walletConnectorType.d.ts +17 -0
  80. package/docs/changelog.md +5 -0
  81. package/docs/examples.md +1 -0
  82. package/docs/reference/index.md +114 -0
  83. package/docs/reference/interfaces/IEngineCore.md +139 -0
  84. package/docs/reference/interfaces/IEngineCoreConfig.md +231 -0
  85. package/docs/reference/interfaces/IEngineCoreContext.md +47 -0
  86. package/docs/reference/interfaces/IEngineCoreTypeBaseConfig.md +23 -0
  87. package/docs/reference/interfaces/IEngineServer.md +83 -0
  88. package/docs/reference/interfaces/IEngineServerConfig.md +51 -0
  89. package/docs/reference/interfaces/IEngineState.md +19 -0
  90. package/docs/reference/interfaces/IEngineStateStorage.md +47 -0
  91. package/docs/reference/type-aliases/AttestationComponentConfig.md +23 -0
  92. package/docs/reference/type-aliases/AttestationComponentType.md +5 -0
  93. package/docs/reference/type-aliases/AttestationConnectorConfig.md +5 -0
  94. package/docs/reference/type-aliases/AttestationConnectorType.md +5 -0
  95. package/docs/reference/type-aliases/AuditableItemGraphComponentConfig.md +31 -0
  96. package/docs/reference/type-aliases/AuditableItemGraphComponentType.md +5 -0
  97. package/docs/reference/type-aliases/AuditableItemStreamComponentConfig.md +31 -0
  98. package/docs/reference/type-aliases/AuditableItemStreamComponentType.md +5 -0
  99. package/docs/reference/type-aliases/AuthenticationComponentConfig.md +27 -0
  100. package/docs/reference/type-aliases/AuthenticationComponentType.md +5 -0
  101. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +27 -0
  102. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +5 -0
  103. package/docs/reference/type-aliases/BlobStorageComponentConfig.md +27 -0
  104. package/docs/reference/type-aliases/BlobStorageComponentType.md +5 -0
  105. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +5 -0
  106. package/docs/reference/type-aliases/BlobStorageConnectorType.md +5 -0
  107. package/docs/reference/type-aliases/DltConfig.md +19 -0
  108. package/docs/reference/type-aliases/DltConfigType.md +5 -0
  109. package/docs/reference/type-aliases/EngineTypeInitialiser.md +23 -0
  110. package/docs/reference/type-aliases/EntityStorageComponentConfig.md +23 -0
  111. package/docs/reference/type-aliases/EntityStorageComponentType.md +5 -0
  112. package/docs/reference/type-aliases/EntityStorageConnectorConfig.md +5 -0
  113. package/docs/reference/type-aliases/EntityStorageConnectorType.md +5 -0
  114. package/docs/reference/type-aliases/FaucetConnectorConfig.md +5 -0
  115. package/docs/reference/type-aliases/FaucetConnectorType.md +5 -0
  116. package/docs/reference/type-aliases/IEngineCoreTypeConfig.md +19 -0
  117. package/docs/reference/type-aliases/IImmutableProofComponentType.md +5 -0
  118. package/docs/reference/type-aliases/IdentityComponentConfig.md +19 -0
  119. package/docs/reference/type-aliases/IdentityComponentType.md +5 -0
  120. package/docs/reference/type-aliases/IdentityConnectorConfig.md +5 -0
  121. package/docs/reference/type-aliases/IdentityConnectorType.md +5 -0
  122. package/docs/reference/type-aliases/IdentityProfileComponentConfig.md +19 -0
  123. package/docs/reference/type-aliases/IdentityProfileComponentType.md +5 -0
  124. package/docs/reference/type-aliases/IdentityProfileConnectorConfig.md +19 -0
  125. package/docs/reference/type-aliases/IdentityProfileConnectorType.md +5 -0
  126. package/docs/reference/type-aliases/ImmutableProofComponentConfig.md +39 -0
  127. package/docs/reference/type-aliases/ImmutableStorageConnectorConfig.md +5 -0
  128. package/docs/reference/type-aliases/ImmutableStorageConnectorType.md +5 -0
  129. package/docs/reference/type-aliases/InformationComponentConfig.md +19 -0
  130. package/docs/reference/type-aliases/InformationComponentType.md +5 -0
  131. package/docs/reference/type-aliases/LoggingComponentConfig.md +19 -0
  132. package/docs/reference/type-aliases/LoggingComponentType.md +5 -0
  133. package/docs/reference/type-aliases/LoggingConnectorConfig.md +5 -0
  134. package/docs/reference/type-aliases/LoggingConnectorType.md +5 -0
  135. package/docs/reference/type-aliases/MimeTypeProcessorConfig.md +15 -0
  136. package/docs/reference/type-aliases/MimeTypeProcessorType.md +5 -0
  137. package/docs/reference/type-aliases/NftComponentConfig.md +19 -0
  138. package/docs/reference/type-aliases/NftComponentType.md +5 -0
  139. package/docs/reference/type-aliases/NftConnectorConfig.md +5 -0
  140. package/docs/reference/type-aliases/NftConnectorType.md +5 -0
  141. package/docs/reference/type-aliases/RestRouteGenerator.md +15 -0
  142. package/docs/reference/type-aliases/RestRouteProcessorConfig.md +5 -0
  143. package/docs/reference/type-aliases/RestRouteProcessorType.md +5 -0
  144. package/docs/reference/type-aliases/SocketRouteGenerator.md +15 -0
  145. package/docs/reference/type-aliases/SocketRouteProcessorConfig.md +5 -0
  146. package/docs/reference/type-aliases/SocketRouteProcessorType.md +5 -0
  147. package/docs/reference/type-aliases/TelemetryComponentConfig.md +19 -0
  148. package/docs/reference/type-aliases/TelemetryComponentType.md +5 -0
  149. package/docs/reference/type-aliases/TelemetryConnectorConfig.md +27 -0
  150. package/docs/reference/type-aliases/TelemetryConnectorType.md +5 -0
  151. package/docs/reference/type-aliases/VaultConnectorConfig.md +5 -0
  152. package/docs/reference/type-aliases/VaultConnectorType.md +5 -0
  153. package/docs/reference/type-aliases/WalletConnectorConfig.md +5 -0
  154. package/docs/reference/type-aliases/WalletConnectorType.md +5 -0
  155. package/docs/reference/variables/AttestationComponentType.md +13 -0
  156. package/docs/reference/variables/AttestationConnectorType.md +19 -0
  157. package/docs/reference/variables/AuditableItemGraphComponentType.md +13 -0
  158. package/docs/reference/variables/AuditableItemStreamComponentType.md +13 -0
  159. package/docs/reference/variables/AuthenticationComponentType.md +13 -0
  160. package/docs/reference/variables/BackgroundTaskConnectorType.md +13 -0
  161. package/docs/reference/variables/BlobStorageComponentType.md +13 -0
  162. package/docs/reference/variables/BlobStorageConnectorType.md +43 -0
  163. package/docs/reference/variables/DltConfigType.md +13 -0
  164. package/docs/reference/variables/EngineCoreFactory.md +5 -0
  165. package/docs/reference/variables/EngineServerFactory.md +5 -0
  166. package/docs/reference/variables/EntityStorageComponentType.md +13 -0
  167. package/docs/reference/variables/EntityStorageConnectorType.md +43 -0
  168. package/docs/reference/variables/FaucetConnectorType.md +19 -0
  169. package/docs/reference/variables/IdentityComponentType.md +13 -0
  170. package/docs/reference/variables/IdentityConnectorType.md +19 -0
  171. package/docs/reference/variables/IdentityProfileComponentType.md +13 -0
  172. package/docs/reference/variables/IdentityProfileConnectorType.md +13 -0
  173. package/docs/reference/variables/ImmutableProofComponentType.md +13 -0
  174. package/docs/reference/variables/ImmutableStorageConnectorType.md +19 -0
  175. package/docs/reference/variables/InformationComponentType.md +13 -0
  176. package/docs/reference/variables/LoggingComponentType.md +13 -0
  177. package/docs/reference/variables/LoggingConnectorType.md +25 -0
  178. package/docs/reference/variables/MimeTypeProcessorType.md +13 -0
  179. package/docs/reference/variables/NftComponentType.md +13 -0
  180. package/docs/reference/variables/NftConnectorType.md +19 -0
  181. package/docs/reference/variables/RestRouteProcessorType.md +37 -0
  182. package/docs/reference/variables/SocketRouteProcessorType.md +37 -0
  183. package/docs/reference/variables/TelemetryComponentType.md +13 -0
  184. package/docs/reference/variables/TelemetryConnectorType.md +13 -0
  185. package/docs/reference/variables/VaultConnectorType.md +19 -0
  186. package/docs/reference/variables/WalletConnectorType.md +19 -0
  187. package/locales/en.json +1 -0
  188. package/package.json +101 -0
@@ -0,0 +1,517 @@
1
+ import { Factory } from '@twin.org/core';
2
+
3
+ // Copyright 2024 IOTA Stiftung.
4
+ // SPDX-License-Identifier: Apache-2.0.
5
+ /**
6
+ * Factory for creating engine cores.
7
+ */
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
9
+ const EngineCoreFactory = Factory.createFactory("engine-core");
10
+
11
+ // Copyright 2024 IOTA Stiftung.
12
+ // SPDX-License-Identifier: Apache-2.0.
13
+ /**
14
+ * Factory for creating engine servers.
15
+ */
16
+ // eslint-disable-next-line @typescript-eslint/naming-convention
17
+ const EngineServerFactory = Factory.createFactory("engine-server");
18
+
19
+ // Copyright 2024 IOTA Stiftung.
20
+ // SPDX-License-Identifier: Apache-2.0.
21
+ /**
22
+ * Attestation component types.
23
+ */
24
+ // eslint-disable-next-line @typescript-eslint/naming-convention
25
+ const AttestationComponentType = {
26
+ /**
27
+ * Service.
28
+ */
29
+ Service: "service"
30
+ };
31
+
32
+ // Copyright 2024 IOTA Stiftung.
33
+ // SPDX-License-Identifier: Apache-2.0.
34
+ /**
35
+ * Attestation connector types.
36
+ */
37
+ // eslint-disable-next-line @typescript-eslint/naming-convention
38
+ const AttestationConnectorType = {
39
+ /**
40
+ * Entity storage.
41
+ */
42
+ EntityStorage: "entity-storage",
43
+ /**
44
+ * IOTA.
45
+ */
46
+ Iota: "iota"
47
+ };
48
+
49
+ // Copyright 2024 IOTA Stiftung.
50
+ // SPDX-License-Identifier: Apache-2.0.
51
+ /**
52
+ * Auditable item graph component types.
53
+ */
54
+ // eslint-disable-next-line @typescript-eslint/naming-convention
55
+ const AuditableItemGraphComponentType = {
56
+ /**
57
+ * Service.
58
+ */
59
+ Service: "service"
60
+ };
61
+
62
+ // Copyright 2024 IOTA Stiftung.
63
+ // SPDX-License-Identifier: Apache-2.0.
64
+ /**
65
+ * Auditable item stream component types.
66
+ */
67
+ // eslint-disable-next-line @typescript-eslint/naming-convention
68
+ const AuditableItemStreamComponentType = {
69
+ /**
70
+ * Service.
71
+ */
72
+ Service: "service"
73
+ };
74
+
75
+ // Copyright 2024 IOTA Stiftung.
76
+ // SPDX-License-Identifier: Apache-2.0.
77
+ /**
78
+ * Authentication component types.
79
+ */
80
+ // eslint-disable-next-line @typescript-eslint/naming-convention
81
+ const AuthenticationComponentType = {
82
+ /**
83
+ * Authentication entity storage.
84
+ */
85
+ AuthEntityStorage: "auth-entity-storage"
86
+ };
87
+
88
+ // Copyright 2024 IOTA Stiftung.
89
+ // SPDX-License-Identifier: Apache-2.0.
90
+ /**
91
+ * Background task connector types.
92
+ */
93
+ // eslint-disable-next-line @typescript-eslint/naming-convention
94
+ const BackgroundTaskConnectorType = {
95
+ /**
96
+ * Entity storage.
97
+ */
98
+ EntityStorage: "entity-storage"
99
+ };
100
+
101
+ // Copyright 2024 IOTA Stiftung.
102
+ // SPDX-License-Identifier: Apache-2.0.
103
+ /**
104
+ * Blob storage component types.
105
+ */
106
+ // eslint-disable-next-line @typescript-eslint/naming-convention
107
+ const BlobStorageComponentType = {
108
+ /**
109
+ * Service.
110
+ */
111
+ Service: "service"
112
+ };
113
+
114
+ // Copyright 2024 IOTA Stiftung.
115
+ // SPDX-License-Identifier: Apache-2.0.
116
+ /**
117
+ * Blob storage connector types.
118
+ */
119
+ // eslint-disable-next-line @typescript-eslint/naming-convention
120
+ const BlobStorageConnectorType = {
121
+ /**
122
+ * File storage.
123
+ */
124
+ File: "file",
125
+ /**
126
+ * Memory.
127
+ */
128
+ Memory: "memory",
129
+ /**
130
+ * IPFS.
131
+ */
132
+ Ipfs: "ipfs",
133
+ /**
134
+ * AWS S3.
135
+ */
136
+ AwsS3: "aws-s3",
137
+ /**
138
+ * Azure Storage.
139
+ */
140
+ AzureStorage: "azure-storage",
141
+ /**
142
+ * GCP Storage.
143
+ */
144
+ GcpStorage: "gcp-storage"
145
+ };
146
+
147
+ // Copyright 2024 IOTA Stiftung.
148
+ // SPDX-License-Identifier: Apache-2.0.
149
+ /**
150
+ * DLT config types.
151
+ */
152
+ // eslint-disable-next-line @typescript-eslint/naming-convention
153
+ const DltConfigType = {
154
+ /**
155
+ * IOTA.
156
+ */
157
+ Iota: "iota"
158
+ };
159
+
160
+ // Copyright 2024 IOTA Stiftung.
161
+ // SPDX-License-Identifier: Apache-2.0.
162
+ /**
163
+ * Entity storage component types.
164
+ */
165
+ // eslint-disable-next-line @typescript-eslint/naming-convention
166
+ const EntityStorageComponentType = {
167
+ /**
168
+ * Service.
169
+ */
170
+ Service: "service"
171
+ };
172
+
173
+ // Copyright 2024 IOTA Stiftung.
174
+ // SPDX-License-Identifier: Apache-2.0.
175
+ /**
176
+ * Entity storage connector types.
177
+ */
178
+ // eslint-disable-next-line @typescript-eslint/naming-convention
179
+ const EntityStorageConnectorType = {
180
+ /**
181
+ * Use storage.
182
+ */
183
+ File: "file",
184
+ /**
185
+ * Memory.
186
+ */
187
+ Memory: "memory",
188
+ /**
189
+ * ScyllaDb.
190
+ */
191
+ ScyllaDb: "scylladb",
192
+ /**
193
+ * AWS DynamoDB.
194
+ */
195
+ AwsDynamoDb: "aws-dynamodb",
196
+ /**
197
+ * Azure CosmosDB.
198
+ */
199
+ AzureCosmosDb: "azure-cosmosdb",
200
+ /**
201
+ * GCP Firestore.
202
+ */
203
+ GcpFirestoreDb: "gcp-firestoredb"
204
+ };
205
+
206
+ // Copyright 2024 IOTA Stiftung.
207
+ // SPDX-License-Identifier: Apache-2.0.
208
+ /**
209
+ * Faucet connector types.
210
+ */
211
+ // eslint-disable-next-line @typescript-eslint/naming-convention
212
+ const FaucetConnectorType = {
213
+ /**
214
+ * Entity storage.
215
+ */
216
+ EntityStorage: "entity-storage",
217
+ /**
218
+ * IOTA.
219
+ */
220
+ Iota: "iota"
221
+ };
222
+
223
+ // Copyright 2024 IOTA Stiftung.
224
+ // SPDX-License-Identifier: Apache-2.0.
225
+ /**
226
+ * Identity component types.
227
+ */
228
+ // eslint-disable-next-line @typescript-eslint/naming-convention
229
+ const IdentityComponentType = {
230
+ /**
231
+ * Service.
232
+ */
233
+ Service: "service"
234
+ };
235
+
236
+ // Copyright 2024 IOTA Stiftung.
237
+ // SPDX-License-Identifier: Apache-2.0.
238
+ /**
239
+ * Identity connector types.
240
+ */
241
+ // eslint-disable-next-line @typescript-eslint/naming-convention
242
+ const IdentityConnectorType = {
243
+ /**
244
+ * Entity storage.
245
+ */
246
+ EntityStorage: "entity-storage",
247
+ /**
248
+ * IOTA.
249
+ */
250
+ Iota: "iota"
251
+ };
252
+
253
+ // Copyright 2024 IOTA Stiftung.
254
+ // SPDX-License-Identifier: Apache-2.0.
255
+ /**
256
+ * Identity profile component types.
257
+ */
258
+ // eslint-disable-next-line @typescript-eslint/naming-convention
259
+ const IdentityProfileComponentType = {
260
+ /**
261
+ * Service.
262
+ */
263
+ Service: "service"
264
+ };
265
+
266
+ // Copyright 2024 IOTA Stiftung.
267
+ // SPDX-License-Identifier: Apache-2.0.
268
+ /**
269
+ * Identity profile connector types.
270
+ */
271
+ // eslint-disable-next-line @typescript-eslint/naming-convention
272
+ const IdentityProfileConnectorType = {
273
+ /**
274
+ * Entity storage.
275
+ */
276
+ EntityStorage: "entity-storage"
277
+ };
278
+
279
+ // Copyright 2024 IOTA Stiftung.
280
+ // SPDX-License-Identifier: Apache-2.0.
281
+ /**
282
+ * Immutable proof component types.
283
+ */
284
+ // eslint-disable-next-line @typescript-eslint/naming-convention
285
+ const ImmutableProofComponentType = {
286
+ /**
287
+ * Service.
288
+ */
289
+ Service: "service"
290
+ };
291
+
292
+ // Copyright 2024 IOTA Stiftung.
293
+ // SPDX-License-Identifier: Apache-2.0.
294
+ /**
295
+ * Immutable storage connector types.
296
+ */
297
+ // eslint-disable-next-line @typescript-eslint/naming-convention
298
+ const ImmutableStorageConnectorType = {
299
+ /**
300
+ * Entity storage.
301
+ */
302
+ EntityStorage: "entity-storage",
303
+ /**
304
+ * IOTA.
305
+ */
306
+ Iota: "iota"
307
+ };
308
+
309
+ // Copyright 2024 IOTA Stiftung.
310
+ // SPDX-License-Identifier: Apache-2.0.
311
+ /**
312
+ * Information component types.
313
+ */
314
+ // eslint-disable-next-line @typescript-eslint/naming-convention
315
+ const InformationComponentType = {
316
+ /**
317
+ * Service.
318
+ */
319
+ Service: "service"
320
+ };
321
+
322
+ // Copyright 2024 IOTA Stiftung.
323
+ // SPDX-License-Identifier: Apache-2.0.
324
+ /**
325
+ * Logging component types.
326
+ */
327
+ // eslint-disable-next-line @typescript-eslint/naming-convention
328
+ const LoggingComponentType = {
329
+ /**
330
+ * Service.
331
+ */
332
+ Service: "service"
333
+ };
334
+
335
+ // Copyright 2024 IOTA Stiftung.
336
+ // SPDX-License-Identifier: Apache-2.0.
337
+ /**
338
+ * Logging connector types.
339
+ */
340
+ // eslint-disable-next-line @typescript-eslint/naming-convention
341
+ const LoggingConnectorType = {
342
+ /**
343
+ * Entity storage.
344
+ */
345
+ EntityStorage: "entity-storage",
346
+ /**
347
+ * Console.
348
+ */
349
+ Console: "console",
350
+ /**
351
+ * Multi combines other loggers.
352
+ */
353
+ Multi: "multi"
354
+ };
355
+
356
+ // Copyright 2024 IOTA Stiftung.
357
+ // SPDX-License-Identifier: Apache-2.0.
358
+ /**
359
+ * Mime type route processor types.
360
+ */
361
+ // eslint-disable-next-line @typescript-eslint/naming-convention
362
+ const MimeTypeProcessorType = {
363
+ /**
364
+ * Jwt.
365
+ */
366
+ Jwt: "jwt"
367
+ };
368
+
369
+ // Copyright 2024 IOTA Stiftung.
370
+ // SPDX-License-Identifier: Apache-2.0.
371
+ /**
372
+ * NFT component types.
373
+ */
374
+ // eslint-disable-next-line @typescript-eslint/naming-convention
375
+ const NftComponentType = {
376
+ /**
377
+ * Service.
378
+ */
379
+ Service: "service"
380
+ };
381
+
382
+ // Copyright 2024 IOTA Stiftung.
383
+ // SPDX-License-Identifier: Apache-2.0.
384
+ /**
385
+ * NFT connector types.
386
+ */
387
+ // eslint-disable-next-line @typescript-eslint/naming-convention
388
+ const NftConnectorType = {
389
+ /**
390
+ * Entity storage.
391
+ */
392
+ EntityStorage: "entity-storage",
393
+ /**
394
+ * IOTA.
395
+ */
396
+ Iota: "iota"
397
+ };
398
+
399
+ // Copyright 2024 IOTA Stiftung.
400
+ // SPDX-License-Identifier: Apache-2.0.
401
+ /**
402
+ * REST route processor types.
403
+ */
404
+ // eslint-disable-next-line @typescript-eslint/naming-convention
405
+ const RestRouteProcessorType = {
406
+ /**
407
+ * Auth header.
408
+ */
409
+ AuthHeader: "auth-header",
410
+ /**
411
+ * Logging.
412
+ */
413
+ Logging: "logging",
414
+ /**
415
+ * Node Identity.
416
+ */
417
+ NodeIdentity: "node-identity",
418
+ /**
419
+ * Static User Identity.
420
+ */
421
+ StaticUserIdentity: "static-user-identity",
422
+ /**
423
+ * REST Route.
424
+ */
425
+ RestRoute: "rest-route"
426
+ };
427
+
428
+ // Copyright 2024 IOTA Stiftung.
429
+ // SPDX-License-Identifier: Apache-2.0.
430
+ /**
431
+ * Socket route processor types.
432
+ */
433
+ // eslint-disable-next-line @typescript-eslint/naming-convention
434
+ const SocketRouteProcessorType = {
435
+ /**
436
+ * Auth header.
437
+ */
438
+ AuthHeader: "auth-header",
439
+ /**
440
+ * Logging.
441
+ */
442
+ Logging: "logging",
443
+ /**
444
+ * Node Identity.
445
+ */
446
+ NodeIdentity: "node-identity",
447
+ /**
448
+ * Static User Identity.
449
+ */
450
+ StaticUserIdentity: "static-user-identity",
451
+ /**
452
+ * Socket Route.
453
+ */
454
+ SocketRoute: "socket-route"
455
+ };
456
+
457
+ // Copyright 2024 IOTA Stiftung.
458
+ // SPDX-License-Identifier: Apache-2.0.
459
+ /**
460
+ * Telemetry component types.
461
+ */
462
+ // eslint-disable-next-line @typescript-eslint/naming-convention
463
+ const TelemetryComponentType = {
464
+ /**
465
+ * Service.
466
+ */
467
+ Service: "service"
468
+ };
469
+
470
+ // Copyright 2024 IOTA Stiftung.
471
+ // SPDX-License-Identifier: Apache-2.0.
472
+ /**
473
+ * Telemetry connector types.
474
+ */
475
+ // eslint-disable-next-line @typescript-eslint/naming-convention
476
+ const TelemetryConnectorType = {
477
+ /**
478
+ * Entity storage.
479
+ */
480
+ EntityStorage: "entity-storage"
481
+ };
482
+
483
+ // Copyright 2024 IOTA Stiftung.
484
+ // SPDX-License-Identifier: Apache-2.0.
485
+ /**
486
+ * Vault connector types.
487
+ */
488
+ // eslint-disable-next-line @typescript-eslint/naming-convention
489
+ const VaultConnectorType = {
490
+ /**
491
+ * Entity storage.
492
+ */
493
+ EntityStorage: "entity-storage",
494
+ /**
495
+ * Hashicorp.
496
+ */
497
+ Hashicorp: "hashicorp"
498
+ };
499
+
500
+ // Copyright 2024 IOTA Stiftung.
501
+ // SPDX-License-Identifier: Apache-2.0.
502
+ /**
503
+ * Wallet connector types.
504
+ */
505
+ // eslint-disable-next-line @typescript-eslint/naming-convention
506
+ const WalletConnectorType = {
507
+ /**
508
+ * Entity storage.
509
+ */
510
+ EntityStorage: "entity-storage",
511
+ /**
512
+ * IOTA.
513
+ */
514
+ Iota: "iota"
515
+ };
516
+
517
+ export { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, AuthenticationComponentType, BackgroundTaskConnectorType, BlobStorageComponentType, BlobStorageConnectorType, DltConfigType, EngineCoreFactory, EngineServerFactory, EntityStorageComponentType, EntityStorageConnectorType, FaucetConnectorType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, ImmutableProofComponentType, ImmutableStorageConnectorType, InformationComponentType, LoggingComponentType, LoggingConnectorType, MimeTypeProcessorType, NftComponentType, NftConnectorType, RestRouteProcessorType, SocketRouteProcessorType, TelemetryComponentType, TelemetryConnectorType, VaultConnectorType, WalletConnectorType };
@@ -0,0 +1,6 @@
1
+ import { Factory } from "@twin.org/core";
2
+ import type { IEngineCore } from "../models/IEngineCore";
3
+ /**
4
+ * Factory for creating engine cores.
5
+ */
6
+ export declare const EngineCoreFactory: Factory<IEngineCore>;
@@ -0,0 +1,6 @@
1
+ import { Factory } from "@twin.org/core";
2
+ import type { IEngineServer } from "../models/IEngineServer";
3
+ /**
4
+ * Factory for creating engine servers.
5
+ */
6
+ export declare const EngineServerFactory: Factory<IEngineServer>;
@@ -0,0 +1,74 @@
1
+ export * from "./factories/engineCoreFactory";
2
+ export * from "./factories/engineServerFactory";
3
+ export * from "./models/config/IEngineCoreConfig";
4
+ export * from "./models/config/IEngineCoreTypeBaseConfig";
5
+ export * from "./models/config/IEngineCoreTypeConfig";
6
+ export * from "./models/config/IEngineServerConfig";
7
+ export * from "./models/config/typeConfig/attestationComponentConfig";
8
+ export * from "./models/config/typeConfig/attestationConnectorConfig";
9
+ export * from "./models/config/typeConfig/auditableItemGraphComponentConfig";
10
+ export * from "./models/config/typeConfig/auditableItemStreamComponentConfig";
11
+ export * from "./models/config/typeConfig/authenticationComponentConfig";
12
+ export * from "./models/config/typeConfig/backgroundTaskConnectorConfig";
13
+ export * from "./models/config/typeConfig/blobStorageComponentConfig";
14
+ export * from "./models/config/typeConfig/blobStorageConnectorConfig";
15
+ export * from "./models/config/typeConfig/dltConfig";
16
+ export * from "./models/config/typeConfig/entityStorageComponentConfig";
17
+ export * from "./models/config/typeConfig/entityStorageConnectorConfig";
18
+ export * from "./models/config/typeConfig/faucetConnectorConfig";
19
+ export * from "./models/config/typeConfig/identityComponentConfig";
20
+ export * from "./models/config/typeConfig/identityConnectorConfig";
21
+ export * from "./models/config/typeConfig/identityProfileComponentConfig";
22
+ export * from "./models/config/typeConfig/identityProfileConnectorConfig";
23
+ export * from "./models/config/typeConfig/immutableProofComponentConfig";
24
+ export * from "./models/config/typeConfig/immutableStorageConnectorConfig";
25
+ export * from "./models/config/typeConfig/informationComponentConfig";
26
+ export * from "./models/config/typeConfig/loggingComponentConfig";
27
+ export * from "./models/config/typeConfig/loggingConnectorConfig";
28
+ export * from "./models/config/typeConfig/mimeTypeProcessorConfig";
29
+ export * from "./models/config/typeConfig/nftComponentConfig";
30
+ export * from "./models/config/typeConfig/nftConnectorConfig";
31
+ export * from "./models/config/typeConfig/restRouteProcessorConfig";
32
+ export * from "./models/config/typeConfig/socketRouteProcessorConfig";
33
+ export * from "./models/config/typeConfig/telemetryComponentConfig";
34
+ export * from "./models/config/typeConfig/telemetryConnectorConfig";
35
+ export * from "./models/config/typeConfig/vaultConnectorConfig";
36
+ export * from "./models/config/typeConfig/walletConnectorConfig";
37
+ export * from "./models/engineTypeInitialiser";
38
+ export * from "./models/IEngineCore";
39
+ export * from "./models/IEngineCoreContext";
40
+ export * from "./models/IEngineServer";
41
+ export * from "./models/IEngineState";
42
+ export * from "./models/IEngineStateStorage";
43
+ export * from "./models/restRouteGenerator";
44
+ export * from "./models/socketRouteGenerator";
45
+ export * from "./models/types/attestationComponentType";
46
+ export * from "./models/types/attestationConnectorType";
47
+ export * from "./models/types/auditableItemGraphComponentType";
48
+ export * from "./models/types/auditableItemStreamComponentType";
49
+ export * from "./models/types/authenticationComponentType";
50
+ export * from "./models/types/backgroundTaskConnectorType";
51
+ export * from "./models/types/blobStorageComponentType";
52
+ export * from "./models/types/blobStorageConnectorType";
53
+ export * from "./models/types/dltConfigType";
54
+ export * from "./models/types/entityStorageComponentType";
55
+ export * from "./models/types/entityStorageConnectorType";
56
+ export * from "./models/types/faucetConnectorType";
57
+ export * from "./models/types/identityComponentType";
58
+ export * from "./models/types/identityConnectorType";
59
+ export * from "./models/types/identityProfileComponentType";
60
+ export * from "./models/types/identityProfileConnectorType";
61
+ export * from "./models/types/immutableProofComponentType";
62
+ export * from "./models/types/immutableStorageConnectorType";
63
+ export * from "./models/types/informationComponentType";
64
+ export * from "./models/types/loggingComponentType";
65
+ export * from "./models/types/loggingConnectorType";
66
+ export * from "./models/types/mimeTypeProcessorType";
67
+ export * from "./models/types/nftComponentType";
68
+ export * from "./models/types/nftConnectorType";
69
+ export * from "./models/types/restRouteProcessorType";
70
+ export * from "./models/types/socketRouteProcessorType";
71
+ export * from "./models/types/telemetryComponentType";
72
+ export * from "./models/types/telemetryConnectorType";
73
+ export * from "./models/types/vaultConnectorType";
74
+ export * from "./models/types/walletConnectorType";
@@ -0,0 +1,55 @@
1
+ import type { IError } from "@twin.org/core";
2
+ import type { IEngineCoreConfig } from "./config/IEngineCoreConfig";
3
+ import type { IEngineCoreTypeBaseConfig } from "./config/IEngineCoreTypeBaseConfig";
4
+ import type { IEngineCoreTypeConfig } from "./config/IEngineCoreTypeConfig";
5
+ import type { EngineTypeInitialiser } from "./engineTypeInitialiser";
6
+ import type { IEngineState } from "./IEngineState";
7
+ /**
8
+ * Interface describing the engine core methods.
9
+ */
10
+ export interface IEngineCore {
11
+ /**
12
+ * Add a type initialiser.
13
+ * @param type The type to add the initialiser for.
14
+ * @param typeConfig The type config.
15
+ * @param initialiser The initialiser to add.
16
+ */
17
+ addTypeInitialiser<T extends IEngineCoreTypeBaseConfig>(type: string, typeConfig: IEngineCoreTypeConfig[] | undefined, initialiser: EngineTypeInitialiser<T>): void;
18
+ /**
19
+ * Start the engine core.
20
+ * @returns Nothing.
21
+ */
22
+ start(): Promise<void>;
23
+ /**
24
+ * Stop the engine core.
25
+ * @returns Nothing.
26
+ */
27
+ stop(): Promise<void>;
28
+ /**
29
+ * Log info.
30
+ * @param message The message to log.
31
+ */
32
+ logInfo(message: string): void;
33
+ /**
34
+ * Log error.
35
+ * @param error The error to log.
36
+ */
37
+ logError(error: IError): void;
38
+ /**
39
+ * Get the config for the engine.
40
+ * @returns The config for the engine.
41
+ */
42
+ getConfig(): IEngineCoreConfig;
43
+ /**
44
+ * Get the state of the engine.
45
+ * @returns The state of the engine.
46
+ */
47
+ getState(): IEngineState;
48
+ /**
49
+ * Get the types for the component.
50
+ * @returns The default types.
51
+ */
52
+ getDefaultTypes(): {
53
+ [type: string]: string;
54
+ };
55
+ }
@@ -0,0 +1,33 @@
1
+ import type { IComponent } from "@twin.org/core";
2
+ import type { IEngineCoreConfig } from "./config/IEngineCoreConfig";
3
+ import type { IEngineState } from "./IEngineState";
4
+ /**
5
+ * The context for the engine core.
6
+ */
7
+ export interface IEngineCoreContext {
8
+ /**
9
+ * The engine core config.
10
+ */
11
+ config: IEngineCoreConfig;
12
+ /**
13
+ * The engine core state.
14
+ */
15
+ state: IEngineState;
16
+ /**
17
+ * The state dirty flag, which flags that the state needs saving.
18
+ */
19
+ stateDirty: boolean;
20
+ /**
21
+ * The default types to use when components don't have custom types.
22
+ */
23
+ defaultTypes: {
24
+ [type: string]: string;
25
+ };
26
+ /**
27
+ * The components.
28
+ */
29
+ componentInstances: {
30
+ instanceType: string;
31
+ component: IComponent;
32
+ }[];
33
+ }