@twin.org/engine-core 0.0.3-next.3 → 0.0.3-next.31
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.
- package/README.md +1 -1
- package/dist/es/engineCore.js +116 -74
- package/dist/es/engineCore.js.map +1 -1
- package/dist/es/storage/fileStateStorage.js.map +1 -1
- package/dist/es/storage/memoryStateStorage.js.map +1 -1
- package/dist/types/engineCore.d.ts +15 -5
- package/docs/changelog.md +468 -1
- package/docs/examples.md +156 -1
- package/docs/reference/classes/EngineCore.md +83 -39
- package/docs/reference/classes/EngineModuleHelper.md +2 -2
- package/docs/reference/classes/FileStateStorage.md +7 -7
- package/docs/reference/classes/MemoryStateStorage.md +7 -7
- package/docs/reference/interfaces/IEngineCoreOptions.md +10 -10
- package/locales/en.json +2 -1
- package/package.json +3 -3
package/docs/changelog.md
CHANGED
|
@@ -1,4 +1,471 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.0.3-next.31](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.30...engine-core-v0.0.3-next.31) (2026-04-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Miscellaneous Chores
|
|
7
|
+
|
|
8
|
+
* **engine-core:** Synchronize repo versions
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/engine-models bumped from 0.0.3-next.30 to 0.0.3-next.31
|
|
16
|
+
|
|
17
|
+
## [0.0.3-next.30](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.29...engine-core-v0.0.3-next.30) (2026-04-16)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Miscellaneous Chores
|
|
21
|
+
|
|
22
|
+
* **engine-core:** 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.3-next.29 to 0.0.3-next.30
|
|
30
|
+
|
|
31
|
+
## [0.0.3-next.29](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.28...engine-core-v0.0.3-next.29) (2026-04-14)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Miscellaneous Chores
|
|
35
|
+
|
|
36
|
+
* **engine-core:** Synchronize repo versions
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Dependencies
|
|
40
|
+
|
|
41
|
+
* The following workspace dependencies were updated
|
|
42
|
+
* dependencies
|
|
43
|
+
* @twin.org/engine-models bumped from 0.0.3-next.28 to 0.0.3-next.29
|
|
44
|
+
|
|
45
|
+
## [0.0.3-next.28](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.27...engine-core-v0.0.3-next.28) (2026-04-10)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Miscellaneous Chores
|
|
49
|
+
|
|
50
|
+
* **engine-core:** Synchronize repo versions
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Dependencies
|
|
54
|
+
|
|
55
|
+
* The following workspace dependencies were updated
|
|
56
|
+
* dependencies
|
|
57
|
+
* @twin.org/engine-models bumped from 0.0.3-next.27 to 0.0.3-next.28
|
|
58
|
+
|
|
59
|
+
## [0.0.3-next.27](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.26...engine-core-v0.0.3-next.27) (2026-03-20)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Features
|
|
63
|
+
|
|
64
|
+
* update dependencies ([e6ebe42](https://github.com/twinfoundation/engine/commit/e6ebe42b9d61066227ad8b45dae14c8f8615b760))
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### Dependencies
|
|
68
|
+
|
|
69
|
+
* The following workspace dependencies were updated
|
|
70
|
+
* dependencies
|
|
71
|
+
* @twin.org/engine-models bumped from 0.0.3-next.26 to 0.0.3-next.27
|
|
72
|
+
|
|
73
|
+
## [0.0.3-next.26](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.25...engine-core-v0.0.3-next.26) (2026-03-05)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
### Miscellaneous Chores
|
|
77
|
+
|
|
78
|
+
* **engine-core:** Synchronize repo versions
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Dependencies
|
|
82
|
+
|
|
83
|
+
* The following workspace dependencies were updated
|
|
84
|
+
* dependencies
|
|
85
|
+
* @twin.org/engine-models bumped from 0.0.3-next.25 to 0.0.3-next.26
|
|
86
|
+
|
|
87
|
+
## [0.0.3-next.25](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.24...engine-core-v0.0.3-next.25) (2026-03-02)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
### Miscellaneous Chores
|
|
91
|
+
|
|
92
|
+
* **engine-core:** Synchronize repo versions
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### Dependencies
|
|
96
|
+
|
|
97
|
+
* The following workspace dependencies were updated
|
|
98
|
+
* dependencies
|
|
99
|
+
* @twin.org/engine-models bumped from 0.0.3-next.24 to 0.0.3-next.25
|
|
100
|
+
|
|
101
|
+
## [0.0.3-next.24](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.23...engine-core-v0.0.3-next.24) (2026-02-26)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
### Features
|
|
105
|
+
|
|
106
|
+
* use factory default feature for sorting ([ec8b370](https://github.com/twinfoundation/engine/commit/ec8b370c5c028cb300cdd1e76b0a0cdb2263773c))
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Dependencies
|
|
110
|
+
|
|
111
|
+
* The following workspace dependencies were updated
|
|
112
|
+
* dependencies
|
|
113
|
+
* @twin.org/engine-models bumped from 0.0.3-next.23 to 0.0.3-next.24
|
|
114
|
+
|
|
115
|
+
## [0.0.3-next.23](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.22...engine-core-v0.0.3-next.23) (2026-02-23)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### Features
|
|
119
|
+
|
|
120
|
+
* add auth admin component ([201cd06](https://github.com/twinfoundation/engine/commit/201cd061be83afccb5a6b06856ffe7cf8db7d6b3))
|
|
121
|
+
* add context id features ([#51](https://github.com/twinfoundation/engine/issues/51)) ([eaef180](https://github.com/twinfoundation/engine/commit/eaef1807397a907bc7655ef1545a151a710ca2f1))
|
|
122
|
+
* add default logging component for web server ([8ad94f0](https://github.com/twinfoundation/engine/commit/8ad94f0d2d9a5241a8854b1e59fb9a55ce310142))
|
|
123
|
+
* add isPrimary and isClone methods ([a7c63e9](https://github.com/twinfoundation/engine/commit/a7c63e97f54c95b104cc81e66d3fa42c6607bdc1))
|
|
124
|
+
* add mimeTypeProcessors and disableNodeIdentity ([bb7e81e](https://github.com/twinfoundation/engine/commit/bb7e81e2036fe042068a5645ec59b22e20d33aad))
|
|
125
|
+
* add rights management negotiation ([84ef46b](https://github.com/twinfoundation/engine/commit/84ef46bff110611a19512793425c8c873ee2a590))
|
|
126
|
+
* add skipComponentStart flag ([#62](https://github.com/twinfoundation/engine/issues/62)) ([07e90af](https://github.com/twinfoundation/engine/commit/07e90afa4ba1baaa79c0c6f0f45200d781801534))
|
|
127
|
+
* add sorting to factories so default entries are at start ([1a69356](https://github.com/twinfoundation/engine/commit/1a693567befcf27e6edc9880746ee82cfb9538e5))
|
|
128
|
+
* add synchronised storage support ([5142e34](https://github.com/twinfoundation/engine/commit/5142e3488f09195cf9f48a9c6c6d1014231a4c2c))
|
|
129
|
+
* add tenant admin routes ([#76](https://github.com/twinfoundation/engine/issues/76)) ([3c0af90](https://github.com/twinfoundation/engine/commit/3c0af90a572fcda08d8720bdcee9b9f1cd02b872))
|
|
130
|
+
* add validate-locales ([b92ea09](https://github.com/twinfoundation/engine/commit/b92ea09dbcfe35225271a51f24d231f59e2d363e))
|
|
131
|
+
* close already started components on startup error ([a55a117](https://github.com/twinfoundation/engine/commit/a55a117a508998288c8ae804e732fc6085cb22fa))
|
|
132
|
+
* context id handlers repopulated after engine clone ([9712e32](https://github.com/twinfoundation/engine/commit/9712e328f4607f5b2c82355c394c61bde0ee39bf))
|
|
133
|
+
* eslint migration to flat config ([6b978da](https://github.com/twinfoundation/engine/commit/6b978daf777a615d7758b63c3df57d5a376f6dfb))
|
|
134
|
+
* improve startup error handling ([#65](https://github.com/twinfoundation/engine/issues/65)) ([5b2d1c5](https://github.com/twinfoundation/engine/commit/5b2d1c539cf5484afa85e294d6d6c18f24ef8274))
|
|
135
|
+
* initialise context id handlers before bootstrap ([e94df44](https://github.com/twinfoundation/engine/commit/e94df440aa553350dba5da2ae93b5c34e0ac3692))
|
|
136
|
+
* interlock stop method ([3806ba7](https://github.com/twinfoundation/engine/commit/3806ba7b44b3cb3ce130f4e3684a666533674663))
|
|
137
|
+
* maintain isDefault flag for registered instances ([2ac5bee](https://github.com/twinfoundation/engine/commit/2ac5bee094bef42b396cc82b0d18bb6aebe27352))
|
|
138
|
+
* multi instance component support ([#83](https://github.com/twinfoundation/engine/issues/83)) ([6012b50](https://github.com/twinfoundation/engine/commit/6012b50959df5af893f05516d42eea2e0800b31a))
|
|
139
|
+
* override type initialisers with new registrations ([5b4ff56](https://github.com/twinfoundation/engine/commit/5b4ff561d06b6513c870a72bb20ba23c0653cfe8))
|
|
140
|
+
* remove bootstrapped components, component should manage their own state ([5c7e9e4](https://github.com/twinfoundation/engine/commit/5c7e9e419ef26933e49c9c5a21a20a8961244e7f))
|
|
141
|
+
* remove unused component states ([d56d648](https://github.com/twinfoundation/engine/commit/d56d6486119ea8b8501a33f9e3a3101a08b826ed))
|
|
142
|
+
* set initialised flag when skipping start ([039b4df](https://github.com/twinfoundation/engine/commit/039b4dff22c90d0ba3703372a11213709d26aa52))
|
|
143
|
+
* simplify config building ([732c871](https://github.com/twinfoundation/engine/commit/732c871c5aca236759168f4bc15aeffd98a330a8))
|
|
144
|
+
* standardised engine logging naming ([0dbf857](https://github.com/twinfoundation/engine/commit/0dbf857587641f86ddf010143519d0e8333489ff))
|
|
145
|
+
* update dependencies ([97c9f64](https://github.com/twinfoundation/engine/commit/97c9f64b6ef096963bcc5de338a2a9e99bdc1a11))
|
|
146
|
+
* update framework core ([acc0f8d](https://github.com/twinfoundation/engine/commit/acc0f8d455a4b8ec47f1da643139fa0f07775fa6))
|
|
147
|
+
* upgrade framework components ([efd52e8](https://github.com/twinfoundation/engine/commit/efd52e80564fff29c3897bfa09b6305b3a322812))
|
|
148
|
+
* use peer dependencies ([69dd744](https://github.com/twinfoundation/engine/commit/69dd7449010b8e6f5f35e7fad201ad4c1cab400c))
|
|
149
|
+
* use shared store mechanism ([#2](https://github.com/twinfoundation/engine/issues/2)) ([9eed8d7](https://github.com/twinfoundation/engine/commit/9eed8d7766388479b42f03e2542fe761f2156408))
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
### Bug Fixes
|
|
153
|
+
|
|
154
|
+
* make sure stop is called even if start is not implemented ([ece2b9d](https://github.com/twinfoundation/engine/commit/ece2b9de5c6dff2b5ccf2a3115c1a7328a330125))
|
|
155
|
+
* pass contextIds to populateClone ([#79](https://github.com/twinfoundation/engine/issues/79)) ([b22f1bb](https://github.com/twinfoundation/engine/commit/b22f1bbf0319069914e316d27de4c2a8623421cf))
|
|
156
|
+
* save state if dirty even if not started ([1abe4b9](https://github.com/twinfoundation/engine/commit/1abe4b97e6d27364dd673f62f83034b88b7fae0c))
|
|
157
|
+
* use correct instance type name ([6278486](https://github.com/twinfoundation/engine/commit/6278486d8f0f2d601d3cf521a647898cd7cc1f31))
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
### Dependencies
|
|
161
|
+
|
|
162
|
+
* The following workspace dependencies were updated
|
|
163
|
+
* dependencies
|
|
164
|
+
* @twin.org/engine-models bumped from 0.0.3-next.22 to 0.0.3-next.23
|
|
165
|
+
|
|
166
|
+
## [0.0.3-next.22](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.21...engine-core-v0.0.3-next.22) (2026-02-23)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
### Features
|
|
170
|
+
|
|
171
|
+
* add sorting to factories so default entries are at start ([1a69356](https://github.com/twinfoundation/engine/commit/1a693567befcf27e6edc9880746ee82cfb9538e5))
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
### Dependencies
|
|
175
|
+
|
|
176
|
+
* The following workspace dependencies were updated
|
|
177
|
+
* dependencies
|
|
178
|
+
* @twin.org/engine-models bumped from 0.0.3-next.21 to 0.0.3-next.22
|
|
179
|
+
|
|
180
|
+
## [0.0.3-next.21](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.20...engine-core-v0.0.3-next.21) (2026-02-13)
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
### Features
|
|
184
|
+
|
|
185
|
+
* multi instance component support ([#83](https://github.com/twinfoundation/engine/issues/83)) ([6012b50](https://github.com/twinfoundation/engine/commit/6012b50959df5af893f05516d42eea2e0800b31a))
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
### Dependencies
|
|
189
|
+
|
|
190
|
+
* The following workspace dependencies were updated
|
|
191
|
+
* dependencies
|
|
192
|
+
* @twin.org/engine-models bumped from 0.0.3-next.20 to 0.0.3-next.21
|
|
193
|
+
|
|
194
|
+
## [0.0.3-next.20](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.19...engine-core-v0.0.3-next.20) (2026-02-06)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
### Miscellaneous Chores
|
|
198
|
+
|
|
199
|
+
* **engine-core:** Synchronize repo versions
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
### Dependencies
|
|
203
|
+
|
|
204
|
+
* The following workspace dependencies were updated
|
|
205
|
+
* dependencies
|
|
206
|
+
* @twin.org/engine-models bumped from 0.0.3-next.19 to 0.0.3-next.20
|
|
207
|
+
|
|
208
|
+
## [0.0.3-next.19](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.18...engine-core-v0.0.3-next.19) (2026-02-05)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
### Features
|
|
212
|
+
|
|
213
|
+
* set initialised flag when skipping start ([039b4df](https://github.com/twinfoundation/engine/commit/039b4dff22c90d0ba3703372a11213709d26aa52))
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
### Bug Fixes
|
|
217
|
+
|
|
218
|
+
* pass contextIds to populateClone ([#79](https://github.com/twinfoundation/engine/issues/79)) ([b22f1bb](https://github.com/twinfoundation/engine/commit/b22f1bbf0319069914e316d27de4c2a8623421cf))
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
### Dependencies
|
|
222
|
+
|
|
223
|
+
* The following workspace dependencies were updated
|
|
224
|
+
* dependencies
|
|
225
|
+
* @twin.org/engine-models bumped from 0.0.3-next.18 to 0.0.3-next.19
|
|
226
|
+
|
|
227
|
+
## [0.0.3-next.18](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.17...engine-core-v0.0.3-next.18) (2026-02-04)
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
### Features
|
|
231
|
+
|
|
232
|
+
* add tenant admin routes ([#76](https://github.com/twinfoundation/engine/issues/76)) ([3c0af90](https://github.com/twinfoundation/engine/commit/3c0af90a572fcda08d8720bdcee9b9f1cd02b872))
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
### Dependencies
|
|
236
|
+
|
|
237
|
+
* The following workspace dependencies were updated
|
|
238
|
+
* dependencies
|
|
239
|
+
* @twin.org/engine-models bumped from 0.0.3-next.17 to 0.0.3-next.18
|
|
240
|
+
|
|
241
|
+
## [0.0.3-next.17](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.16...engine-core-v0.0.3-next.17) (2026-02-02)
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
### Miscellaneous Chores
|
|
245
|
+
|
|
246
|
+
* **engine-core:** Synchronize repo versions
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
### Dependencies
|
|
250
|
+
|
|
251
|
+
* The following workspace dependencies were updated
|
|
252
|
+
* dependencies
|
|
253
|
+
* @twin.org/engine-models bumped from 0.0.3-next.16 to 0.0.3-next.17
|
|
254
|
+
|
|
255
|
+
## [0.0.3-next.16](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.15...engine-core-v0.0.3-next.16) (2026-01-28)
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
### Miscellaneous Chores
|
|
259
|
+
|
|
260
|
+
* **engine-core:** Synchronize repo versions
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
### Dependencies
|
|
264
|
+
|
|
265
|
+
* The following workspace dependencies were updated
|
|
266
|
+
* dependencies
|
|
267
|
+
* @twin.org/engine-models bumped from 0.0.3-next.15 to 0.0.3-next.16
|
|
268
|
+
|
|
269
|
+
## [0.0.3-next.15](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.14...engine-core-v0.0.3-next.15) (2026-01-26)
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
### Miscellaneous Chores
|
|
273
|
+
|
|
274
|
+
* **engine-core:** Synchronize repo versions
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
### Dependencies
|
|
278
|
+
|
|
279
|
+
* The following workspace dependencies were updated
|
|
280
|
+
* dependencies
|
|
281
|
+
* @twin.org/engine-models bumped from 0.0.3-next.14 to 0.0.3-next.15
|
|
282
|
+
|
|
283
|
+
## [0.0.3-next.14](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.13...engine-core-v0.0.3-next.14) (2026-01-19)
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
### Features
|
|
287
|
+
|
|
288
|
+
* add auth admin component ([201cd06](https://github.com/twinfoundation/engine/commit/201cd061be83afccb5a6b06856ffe7cf8db7d6b3))
|
|
289
|
+
* add context id features ([#51](https://github.com/twinfoundation/engine/issues/51)) ([eaef180](https://github.com/twinfoundation/engine/commit/eaef1807397a907bc7655ef1545a151a710ca2f1))
|
|
290
|
+
* add default logging component for web server ([8ad94f0](https://github.com/twinfoundation/engine/commit/8ad94f0d2d9a5241a8854b1e59fb9a55ce310142))
|
|
291
|
+
* add isPrimary and isClone methods ([a7c63e9](https://github.com/twinfoundation/engine/commit/a7c63e97f54c95b104cc81e66d3fa42c6607bdc1))
|
|
292
|
+
* add mimeTypeProcessors and disableNodeIdentity ([bb7e81e](https://github.com/twinfoundation/engine/commit/bb7e81e2036fe042068a5645ec59b22e20d33aad))
|
|
293
|
+
* add rights management negotiation ([84ef46b](https://github.com/twinfoundation/engine/commit/84ef46bff110611a19512793425c8c873ee2a590))
|
|
294
|
+
* add skipComponentStart flag ([#62](https://github.com/twinfoundation/engine/issues/62)) ([07e90af](https://github.com/twinfoundation/engine/commit/07e90afa4ba1baaa79c0c6f0f45200d781801534))
|
|
295
|
+
* add synchronised storage support ([5142e34](https://github.com/twinfoundation/engine/commit/5142e3488f09195cf9f48a9c6c6d1014231a4c2c))
|
|
296
|
+
* add validate-locales ([b92ea09](https://github.com/twinfoundation/engine/commit/b92ea09dbcfe35225271a51f24d231f59e2d363e))
|
|
297
|
+
* close already started components on startup error ([a55a117](https://github.com/twinfoundation/engine/commit/a55a117a508998288c8ae804e732fc6085cb22fa))
|
|
298
|
+
* context id handlers repopulated after engine clone ([9712e32](https://github.com/twinfoundation/engine/commit/9712e328f4607f5b2c82355c394c61bde0ee39bf))
|
|
299
|
+
* eslint migration to flat config ([6b978da](https://github.com/twinfoundation/engine/commit/6b978daf777a615d7758b63c3df57d5a376f6dfb))
|
|
300
|
+
* improve startup error handling ([#65](https://github.com/twinfoundation/engine/issues/65)) ([5b2d1c5](https://github.com/twinfoundation/engine/commit/5b2d1c539cf5484afa85e294d6d6c18f24ef8274))
|
|
301
|
+
* initialise context id handlers before bootstrap ([e94df44](https://github.com/twinfoundation/engine/commit/e94df440aa553350dba5da2ae93b5c34e0ac3692))
|
|
302
|
+
* interlock stop method ([3806ba7](https://github.com/twinfoundation/engine/commit/3806ba7b44b3cb3ce130f4e3684a666533674663))
|
|
303
|
+
* maintain isDefault flag for registered instances ([2ac5bee](https://github.com/twinfoundation/engine/commit/2ac5bee094bef42b396cc82b0d18bb6aebe27352))
|
|
304
|
+
* override type initialisers with new registrations ([5b4ff56](https://github.com/twinfoundation/engine/commit/5b4ff561d06b6513c870a72bb20ba23c0653cfe8))
|
|
305
|
+
* remove bootstrapped components, component should manage their own state ([5c7e9e4](https://github.com/twinfoundation/engine/commit/5c7e9e419ef26933e49c9c5a21a20a8961244e7f))
|
|
306
|
+
* remove unused component states ([d56d648](https://github.com/twinfoundation/engine/commit/d56d6486119ea8b8501a33f9e3a3101a08b826ed))
|
|
307
|
+
* simplify config building ([732c871](https://github.com/twinfoundation/engine/commit/732c871c5aca236759168f4bc15aeffd98a330a8))
|
|
308
|
+
* standardised engine logging naming ([0dbf857](https://github.com/twinfoundation/engine/commit/0dbf857587641f86ddf010143519d0e8333489ff))
|
|
309
|
+
* update dependencies ([97c9f64](https://github.com/twinfoundation/engine/commit/97c9f64b6ef096963bcc5de338a2a9e99bdc1a11))
|
|
310
|
+
* update framework core ([acc0f8d](https://github.com/twinfoundation/engine/commit/acc0f8d455a4b8ec47f1da643139fa0f07775fa6))
|
|
311
|
+
* upgrade framework components ([efd52e8](https://github.com/twinfoundation/engine/commit/efd52e80564fff29c3897bfa09b6305b3a322812))
|
|
312
|
+
* use peer dependencies ([69dd744](https://github.com/twinfoundation/engine/commit/69dd7449010b8e6f5f35e7fad201ad4c1cab400c))
|
|
313
|
+
* use shared store mechanism ([#2](https://github.com/twinfoundation/engine/issues/2)) ([9eed8d7](https://github.com/twinfoundation/engine/commit/9eed8d7766388479b42f03e2542fe761f2156408))
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
### Bug Fixes
|
|
317
|
+
|
|
318
|
+
* make sure stop is called even if start is not implemented ([ece2b9d](https://github.com/twinfoundation/engine/commit/ece2b9de5c6dff2b5ccf2a3115c1a7328a330125))
|
|
319
|
+
* save state if dirty even if not started ([1abe4b9](https://github.com/twinfoundation/engine/commit/1abe4b97e6d27364dd673f62f83034b88b7fae0c))
|
|
320
|
+
* use correct instance type name ([6278486](https://github.com/twinfoundation/engine/commit/6278486d8f0f2d601d3cf521a647898cd7cc1f31))
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
### Dependencies
|
|
324
|
+
|
|
325
|
+
* The following workspace dependencies were updated
|
|
326
|
+
* dependencies
|
|
327
|
+
* @twin.org/engine-models bumped from 0.0.3-next.13 to 0.0.3-next.14
|
|
328
|
+
|
|
329
|
+
## [0.0.3-next.13](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.12...engine-core-v0.0.3-next.13) (2026-01-19)
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
### Miscellaneous Chores
|
|
333
|
+
|
|
334
|
+
* **engine-core:** Synchronize repo versions
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
### Dependencies
|
|
338
|
+
|
|
339
|
+
* The following workspace dependencies were updated
|
|
340
|
+
* dependencies
|
|
341
|
+
* @twin.org/engine-models bumped from 0.0.3-next.12 to 0.0.3-next.13
|
|
342
|
+
|
|
343
|
+
## [0.0.3-next.12](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.11...engine-core-v0.0.3-next.12) (2026-01-19)
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
### Features
|
|
347
|
+
|
|
348
|
+
* improve startup error handling ([#65](https://github.com/twinfoundation/engine/issues/65)) ([5b2d1c5](https://github.com/twinfoundation/engine/commit/5b2d1c539cf5484afa85e294d6d6c18f24ef8274))
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
### Dependencies
|
|
352
|
+
|
|
353
|
+
* The following workspace dependencies were updated
|
|
354
|
+
* dependencies
|
|
355
|
+
* @twin.org/engine-models bumped from 0.0.3-next.11 to 0.0.3-next.12
|
|
356
|
+
|
|
357
|
+
## [0.0.3-next.11](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.10...engine-core-v0.0.3-next.11) (2026-01-16)
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
### Bug Fixes
|
|
361
|
+
|
|
362
|
+
* save state if dirty even if not started ([1abe4b9](https://github.com/twinfoundation/engine/commit/1abe4b97e6d27364dd673f62f83034b88b7fae0c))
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
### Dependencies
|
|
366
|
+
|
|
367
|
+
* The following workspace dependencies were updated
|
|
368
|
+
* dependencies
|
|
369
|
+
* @twin.org/engine-models bumped from 0.0.3-next.10 to 0.0.3-next.11
|
|
370
|
+
|
|
371
|
+
## [0.0.3-next.10](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.9...engine-core-v0.0.3-next.10) (2026-01-13)
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
### Features
|
|
375
|
+
|
|
376
|
+
* add skipComponentStart flag ([#62](https://github.com/twinfoundation/engine/issues/62)) ([07e90af](https://github.com/twinfoundation/engine/commit/07e90afa4ba1baaa79c0c6f0f45200d781801534))
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
### Dependencies
|
|
380
|
+
|
|
381
|
+
* The following workspace dependencies were updated
|
|
382
|
+
* dependencies
|
|
383
|
+
* @twin.org/engine-models bumped from 0.0.3-next.9 to 0.0.3-next.10
|
|
384
|
+
|
|
385
|
+
## [0.0.3-next.9](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.8...engine-core-v0.0.3-next.9) (2026-01-07)
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
### Miscellaneous Chores
|
|
389
|
+
|
|
390
|
+
* **engine-core:** Synchronize repo versions
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
### Dependencies
|
|
394
|
+
|
|
395
|
+
* The following workspace dependencies were updated
|
|
396
|
+
* dependencies
|
|
397
|
+
* @twin.org/engine-models bumped from 0.0.3-next.8 to 0.0.3-next.9
|
|
398
|
+
|
|
399
|
+
## [0.0.3-next.8](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.7...engine-core-v0.0.3-next.8) (2026-01-06)
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
### Miscellaneous Chores
|
|
403
|
+
|
|
404
|
+
* **engine-core:** Synchronize repo versions
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
### Dependencies
|
|
408
|
+
|
|
409
|
+
* The following workspace dependencies were updated
|
|
410
|
+
* dependencies
|
|
411
|
+
* @twin.org/engine-models bumped from 0.0.3-next.7 to 0.0.3-next.8
|
|
412
|
+
|
|
413
|
+
## [0.0.3-next.7](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.6...engine-core-v0.0.3-next.7) (2025-12-04)
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
### Miscellaneous Chores
|
|
417
|
+
|
|
418
|
+
* **engine-core:** Synchronize repo versions
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
### Dependencies
|
|
422
|
+
|
|
423
|
+
* The following workspace dependencies were updated
|
|
424
|
+
* dependencies
|
|
425
|
+
* @twin.org/engine-models bumped from 0.0.3-next.6 to 0.0.3-next.7
|
|
426
|
+
|
|
427
|
+
## [0.0.3-next.6](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.5...engine-core-v0.0.3-next.6) (2025-11-28)
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
### Miscellaneous Chores
|
|
431
|
+
|
|
432
|
+
* **engine-core:** Synchronize repo versions
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
### Dependencies
|
|
436
|
+
|
|
437
|
+
* The following workspace dependencies were updated
|
|
438
|
+
* dependencies
|
|
439
|
+
* @twin.org/engine-models bumped from 0.0.3-next.5 to 0.0.3-next.6
|
|
440
|
+
|
|
441
|
+
## [0.0.3-next.5](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.4...engine-core-v0.0.3-next.5) (2025-11-20)
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
### Features
|
|
445
|
+
|
|
446
|
+
* initialise context id handlers before bootstrap ([e94df44](https://github.com/twinfoundation/engine/commit/e94df440aa553350dba5da2ae93b5c34e0ac3692))
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
### Dependencies
|
|
450
|
+
|
|
451
|
+
* The following workspace dependencies were updated
|
|
452
|
+
* dependencies
|
|
453
|
+
* @twin.org/engine-models bumped from 0.0.3-next.4 to 0.0.3-next.5
|
|
454
|
+
|
|
455
|
+
## [0.0.3-next.4](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.3...engine-core-v0.0.3-next.4) (2025-11-20)
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
### Features
|
|
459
|
+
|
|
460
|
+
* context id handlers repopulated after engine clone ([9712e32](https://github.com/twinfoundation/engine/commit/9712e328f4607f5b2c82355c394c61bde0ee39bf))
|
|
461
|
+
* interlock stop method ([3806ba7](https://github.com/twinfoundation/engine/commit/3806ba7b44b3cb3ce130f4e3684a666533674663))
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
### Dependencies
|
|
465
|
+
|
|
466
|
+
* The following workspace dependencies were updated
|
|
467
|
+
* dependencies
|
|
468
|
+
* @twin.org/engine-models bumped from 0.0.3-next.3 to 0.0.3-next.4
|
|
2
469
|
|
|
3
470
|
## [0.0.3-next.3](https://github.com/twinfoundation/engine/compare/engine-core-v0.0.3-next.2...engine-core-v0.0.3-next.3) (2025-11-14)
|
|
4
471
|
|
package/docs/examples.md
CHANGED
|
@@ -1 +1,156 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Engine Core Examples
|
|
2
|
+
|
|
3
|
+
These examples focus on common runtime patterns such as lifecycle control, cloning, state storage, and module loading.
|
|
4
|
+
|
|
5
|
+
## EngineCore
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { EngineCore, MemoryStateStorage } from '@twin.org/engine-core';
|
|
9
|
+
import type { IEngineCoreConfig, IEngineState } from '@twin.org/engine-models';
|
|
10
|
+
|
|
11
|
+
interface AppState extends IEngineState {
|
|
12
|
+
runCount?: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const config: IEngineCoreConfig = {
|
|
16
|
+
debug: true,
|
|
17
|
+
silent: false,
|
|
18
|
+
types: {}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const stateStorage = new MemoryStateStorage<AppState>();
|
|
22
|
+
const engineCore = new EngineCore<IEngineCoreConfig, AppState>({
|
|
23
|
+
config,
|
|
24
|
+
stateStorage,
|
|
25
|
+
skipBootstrap: true
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
engineCore.addTypeInitialiser('loggingConnector', '@twin.org/engine-types', 'initLoggingConnector');
|
|
29
|
+
console.log(engineCore.getTypeConfig('loggingConnector')?.length ?? 0); // 0
|
|
30
|
+
|
|
31
|
+
engineCore.addContextIdKey('tenant', ['tenant']);
|
|
32
|
+
engineCore.addContextId('tenant', 'tenant-a');
|
|
33
|
+
|
|
34
|
+
console.log(engineCore.getContextIdKeys()); // ["tenant"]
|
|
35
|
+
console.log(engineCore.getContextIds()); // { tenant: "tenant-a" }
|
|
36
|
+
console.log(engineCore.isPrimary()); // true
|
|
37
|
+
console.log(engineCore.isClone()); // false
|
|
38
|
+
console.log(engineCore.isStarted()); // false
|
|
39
|
+
|
|
40
|
+
await engineCore.start(true);
|
|
41
|
+
console.log(engineCore.isStarted()); // true
|
|
42
|
+
|
|
43
|
+
await engineCore.logInfo('Engine started for tenant-a');
|
|
44
|
+
|
|
45
|
+
const state = engineCore.getState();
|
|
46
|
+
state.runCount = (state.runCount ?? 0) + 1;
|
|
47
|
+
engineCore.setStateDirty();
|
|
48
|
+
|
|
49
|
+
console.log(engineCore.getConfig().debug); // true
|
|
50
|
+
console.log(engineCore.getRegisteredInstances()); // { loggingConnector: [...], loggingComponent: [...] }
|
|
51
|
+
console.log(engineCore.getRegisteredInstanceType('loggingComponent')); // "engine-logging-service"
|
|
52
|
+
console.log(engineCore.getRegisteredInstanceTypeOptional('hostingComponent')); // undefined
|
|
53
|
+
|
|
54
|
+
await engineCore.stop();
|
|
55
|
+
console.log(engineCore.isStarted()); // false
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
import { BaseError, GeneralError } from '@twin.org/core';
|
|
60
|
+
import { EngineCore } from '@twin.org/engine-core';
|
|
61
|
+
|
|
62
|
+
const engineCore = new EngineCore({
|
|
63
|
+
config: { debug: false, silent: true, types: {} },
|
|
64
|
+
skipBootstrap: true
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
const wrapped = new GeneralError(
|
|
68
|
+
EngineCore.CLASS_NAME,
|
|
69
|
+
'sampleFailure',
|
|
70
|
+
{ area: 'examples' },
|
|
71
|
+
BaseError.fromError(new Error('Sample failure'))
|
|
72
|
+
);
|
|
73
|
+
await engineCore.logError(wrapped);
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
import { EngineCore } from '@twin.org/engine-core';
|
|
78
|
+
|
|
79
|
+
const primary = new EngineCore({
|
|
80
|
+
config: { debug: false, silent: true, types: {} },
|
|
81
|
+
skipBootstrap: true
|
|
82
|
+
});
|
|
83
|
+
primary.addContextIdKey('node', ['node']);
|
|
84
|
+
|
|
85
|
+
const cloneData = primary.getCloneData();
|
|
86
|
+
|
|
87
|
+
const clone = new EngineCore({ config: { debug: false, silent: true, types: {} } });
|
|
88
|
+
clone.populateClone(cloneData, { node: 'node-1', tenant: 'tenant-a' }, true);
|
|
89
|
+
|
|
90
|
+
console.log(clone.isClone()); // true
|
|
91
|
+
console.log(clone.getContextIds()); // { node: "node-1", tenant: "tenant-a" }
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## FileStateStorage
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
import { EngineCore, FileStateStorage } from '@twin.org/engine-core';
|
|
98
|
+
|
|
99
|
+
const engineCore = new EngineCore({
|
|
100
|
+
config: { debug: false, silent: true, types: {} },
|
|
101
|
+
skipBootstrap: true
|
|
102
|
+
});
|
|
103
|
+
const fileStorage = new FileStateStorage('./data/engine-state.json');
|
|
104
|
+
|
|
105
|
+
await fileStorage.save(engineCore, { ready: true });
|
|
106
|
+
|
|
107
|
+
const loaded = await fileStorage.load(engineCore);
|
|
108
|
+
console.log(loaded); // { ready: true }
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## MemoryStateStorage
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
import { EngineCore, MemoryStateStorage } from '@twin.org/engine-core';
|
|
115
|
+
|
|
116
|
+
const engineCore = new EngineCore({
|
|
117
|
+
config: { debug: false, silent: true, types: {} },
|
|
118
|
+
skipBootstrap: true
|
|
119
|
+
});
|
|
120
|
+
const memoryStorage = new MemoryStateStorage(false, { retries: 1 });
|
|
121
|
+
|
|
122
|
+
console.log(await memoryStorage.load(engineCore)); // { retries: 1 }
|
|
123
|
+
|
|
124
|
+
await memoryStorage.save(engineCore, { retries: 2 });
|
|
125
|
+
console.log(await memoryStorage.load(engineCore)); // { retries: 2 }
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## EngineModuleHelper
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
import { EngineCore, EngineModuleHelper } from '@twin.org/engine-core';
|
|
132
|
+
import type { IEngineModuleConfig } from '@twin.org/engine-models';
|
|
133
|
+
|
|
134
|
+
const engineCore = new EngineCore({
|
|
135
|
+
config: { debug: false, silent: true, types: {} },
|
|
136
|
+
skipBootstrap: true
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
const moduleConfig: IEngineModuleConfig = {
|
|
140
|
+
moduleName: '@twin.org/logging-service',
|
|
141
|
+
className: 'LoggingService',
|
|
142
|
+
dependencies: [
|
|
143
|
+
{
|
|
144
|
+
propertyName: 'loggingConnectorType',
|
|
145
|
+
componentName: 'loggingConnector',
|
|
146
|
+
isOptional: false
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
config: {
|
|
150
|
+
level: 'info'
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
const component = await EngineModuleHelper.loadComponent<unknown>(engineCore, moduleConfig);
|
|
155
|
+
console.log(component !== undefined); // true
|
|
156
|
+
```
|