@twin.org/engine-core 0.0.3-next.3 → 0.0.3-next.30

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/docs/changelog.md CHANGED
@@ -1,4 +1,457 @@
1
- # @twin.org/engine-core - Changelog
1
+ # Changelog
2
+
3
+ ## [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)
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.29 to 0.0.3-next.30
16
+
17
+ ## [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)
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.28 to 0.0.3-next.29
30
+
31
+ ## [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)
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.27 to 0.0.3-next.28
44
+
45
+ ## [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)
46
+
47
+
48
+ ### Features
49
+
50
+ * update dependencies ([e6ebe42](https://github.com/twinfoundation/engine/commit/e6ebe42b9d61066227ad8b45dae14c8f8615b760))
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.26 to 0.0.3-next.27
58
+
59
+ ## [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)
60
+
61
+
62
+ ### Miscellaneous Chores
63
+
64
+ * **engine-core:** Synchronize repo versions
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.25 to 0.0.3-next.26
72
+
73
+ ## [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)
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.24 to 0.0.3-next.25
86
+
87
+ ## [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)
88
+
89
+
90
+ ### Features
91
+
92
+ * use factory default feature for sorting ([ec8b370](https://github.com/twinfoundation/engine/commit/ec8b370c5c028cb300cdd1e76b0a0cdb2263773c))
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.23 to 0.0.3-next.24
100
+
101
+ ## [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)
102
+
103
+
104
+ ### Features
105
+
106
+ * add auth admin component ([201cd06](https://github.com/twinfoundation/engine/commit/201cd061be83afccb5a6b06856ffe7cf8db7d6b3))
107
+ * add context id features ([#51](https://github.com/twinfoundation/engine/issues/51)) ([eaef180](https://github.com/twinfoundation/engine/commit/eaef1807397a907bc7655ef1545a151a710ca2f1))
108
+ * add default logging component for web server ([8ad94f0](https://github.com/twinfoundation/engine/commit/8ad94f0d2d9a5241a8854b1e59fb9a55ce310142))
109
+ * add isPrimary and isClone methods ([a7c63e9](https://github.com/twinfoundation/engine/commit/a7c63e97f54c95b104cc81e66d3fa42c6607bdc1))
110
+ * add mimeTypeProcessors and disableNodeIdentity ([bb7e81e](https://github.com/twinfoundation/engine/commit/bb7e81e2036fe042068a5645ec59b22e20d33aad))
111
+ * add rights management negotiation ([84ef46b](https://github.com/twinfoundation/engine/commit/84ef46bff110611a19512793425c8c873ee2a590))
112
+ * add skipComponentStart flag ([#62](https://github.com/twinfoundation/engine/issues/62)) ([07e90af](https://github.com/twinfoundation/engine/commit/07e90afa4ba1baaa79c0c6f0f45200d781801534))
113
+ * add sorting to factories so default entries are at start ([1a69356](https://github.com/twinfoundation/engine/commit/1a693567befcf27e6edc9880746ee82cfb9538e5))
114
+ * add synchronised storage support ([5142e34](https://github.com/twinfoundation/engine/commit/5142e3488f09195cf9f48a9c6c6d1014231a4c2c))
115
+ * add tenant admin routes ([#76](https://github.com/twinfoundation/engine/issues/76)) ([3c0af90](https://github.com/twinfoundation/engine/commit/3c0af90a572fcda08d8720bdcee9b9f1cd02b872))
116
+ * add validate-locales ([b92ea09](https://github.com/twinfoundation/engine/commit/b92ea09dbcfe35225271a51f24d231f59e2d363e))
117
+ * close already started components on startup error ([a55a117](https://github.com/twinfoundation/engine/commit/a55a117a508998288c8ae804e732fc6085cb22fa))
118
+ * context id handlers repopulated after engine clone ([9712e32](https://github.com/twinfoundation/engine/commit/9712e328f4607f5b2c82355c394c61bde0ee39bf))
119
+ * eslint migration to flat config ([6b978da](https://github.com/twinfoundation/engine/commit/6b978daf777a615d7758b63c3df57d5a376f6dfb))
120
+ * improve startup error handling ([#65](https://github.com/twinfoundation/engine/issues/65)) ([5b2d1c5](https://github.com/twinfoundation/engine/commit/5b2d1c539cf5484afa85e294d6d6c18f24ef8274))
121
+ * initialise context id handlers before bootstrap ([e94df44](https://github.com/twinfoundation/engine/commit/e94df440aa553350dba5da2ae93b5c34e0ac3692))
122
+ * interlock stop method ([3806ba7](https://github.com/twinfoundation/engine/commit/3806ba7b44b3cb3ce130f4e3684a666533674663))
123
+ * maintain isDefault flag for registered instances ([2ac5bee](https://github.com/twinfoundation/engine/commit/2ac5bee094bef42b396cc82b0d18bb6aebe27352))
124
+ * multi instance component support ([#83](https://github.com/twinfoundation/engine/issues/83)) ([6012b50](https://github.com/twinfoundation/engine/commit/6012b50959df5af893f05516d42eea2e0800b31a))
125
+ * override type initialisers with new registrations ([5b4ff56](https://github.com/twinfoundation/engine/commit/5b4ff561d06b6513c870a72bb20ba23c0653cfe8))
126
+ * remove bootstrapped components, component should manage their own state ([5c7e9e4](https://github.com/twinfoundation/engine/commit/5c7e9e419ef26933e49c9c5a21a20a8961244e7f))
127
+ * remove unused component states ([d56d648](https://github.com/twinfoundation/engine/commit/d56d6486119ea8b8501a33f9e3a3101a08b826ed))
128
+ * set initialised flag when skipping start ([039b4df](https://github.com/twinfoundation/engine/commit/039b4dff22c90d0ba3703372a11213709d26aa52))
129
+ * simplify config building ([732c871](https://github.com/twinfoundation/engine/commit/732c871c5aca236759168f4bc15aeffd98a330a8))
130
+ * standardised engine logging naming ([0dbf857](https://github.com/twinfoundation/engine/commit/0dbf857587641f86ddf010143519d0e8333489ff))
131
+ * update dependencies ([97c9f64](https://github.com/twinfoundation/engine/commit/97c9f64b6ef096963bcc5de338a2a9e99bdc1a11))
132
+ * update framework core ([acc0f8d](https://github.com/twinfoundation/engine/commit/acc0f8d455a4b8ec47f1da643139fa0f07775fa6))
133
+ * upgrade framework components ([efd52e8](https://github.com/twinfoundation/engine/commit/efd52e80564fff29c3897bfa09b6305b3a322812))
134
+ * use peer dependencies ([69dd744](https://github.com/twinfoundation/engine/commit/69dd7449010b8e6f5f35e7fad201ad4c1cab400c))
135
+ * use shared store mechanism ([#2](https://github.com/twinfoundation/engine/issues/2)) ([9eed8d7](https://github.com/twinfoundation/engine/commit/9eed8d7766388479b42f03e2542fe761f2156408))
136
+
137
+
138
+ ### Bug Fixes
139
+
140
+ * make sure stop is called even if start is not implemented ([ece2b9d](https://github.com/twinfoundation/engine/commit/ece2b9de5c6dff2b5ccf2a3115c1a7328a330125))
141
+ * pass contextIds to populateClone ([#79](https://github.com/twinfoundation/engine/issues/79)) ([b22f1bb](https://github.com/twinfoundation/engine/commit/b22f1bbf0319069914e316d27de4c2a8623421cf))
142
+ * save state if dirty even if not started ([1abe4b9](https://github.com/twinfoundation/engine/commit/1abe4b97e6d27364dd673f62f83034b88b7fae0c))
143
+ * use correct instance type name ([6278486](https://github.com/twinfoundation/engine/commit/6278486d8f0f2d601d3cf521a647898cd7cc1f31))
144
+
145
+
146
+ ### Dependencies
147
+
148
+ * The following workspace dependencies were updated
149
+ * dependencies
150
+ * @twin.org/engine-models bumped from 0.0.3-next.22 to 0.0.3-next.23
151
+
152
+ ## [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)
153
+
154
+
155
+ ### Features
156
+
157
+ * add sorting to factories so default entries are at start ([1a69356](https://github.com/twinfoundation/engine/commit/1a693567befcf27e6edc9880746ee82cfb9538e5))
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.21 to 0.0.3-next.22
165
+
166
+ ## [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)
167
+
168
+
169
+ ### Features
170
+
171
+ * multi instance component support ([#83](https://github.com/twinfoundation/engine/issues/83)) ([6012b50](https://github.com/twinfoundation/engine/commit/6012b50959df5af893f05516d42eea2e0800b31a))
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.20 to 0.0.3-next.21
179
+
180
+ ## [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)
181
+
182
+
183
+ ### Miscellaneous Chores
184
+
185
+ * **engine-core:** Synchronize repo versions
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.19 to 0.0.3-next.20
193
+
194
+ ## [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)
195
+
196
+
197
+ ### Features
198
+
199
+ * set initialised flag when skipping start ([039b4df](https://github.com/twinfoundation/engine/commit/039b4dff22c90d0ba3703372a11213709d26aa52))
200
+
201
+
202
+ ### Bug Fixes
203
+
204
+ * pass contextIds to populateClone ([#79](https://github.com/twinfoundation/engine/issues/79)) ([b22f1bb](https://github.com/twinfoundation/engine/commit/b22f1bbf0319069914e316d27de4c2a8623421cf))
205
+
206
+
207
+ ### Dependencies
208
+
209
+ * The following workspace dependencies were updated
210
+ * dependencies
211
+ * @twin.org/engine-models bumped from 0.0.3-next.18 to 0.0.3-next.19
212
+
213
+ ## [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)
214
+
215
+
216
+ ### Features
217
+
218
+ * add tenant admin routes ([#76](https://github.com/twinfoundation/engine/issues/76)) ([3c0af90](https://github.com/twinfoundation/engine/commit/3c0af90a572fcda08d8720bdcee9b9f1cd02b872))
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.17 to 0.0.3-next.18
226
+
227
+ ## [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)
228
+
229
+
230
+ ### Miscellaneous Chores
231
+
232
+ * **engine-core:** Synchronize repo versions
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.16 to 0.0.3-next.17
240
+
241
+ ## [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)
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.15 to 0.0.3-next.16
254
+
255
+ ## [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)
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.14 to 0.0.3-next.15
268
+
269
+ ## [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)
270
+
271
+
272
+ ### Features
273
+
274
+ * add auth admin component ([201cd06](https://github.com/twinfoundation/engine/commit/201cd061be83afccb5a6b06856ffe7cf8db7d6b3))
275
+ * add context id features ([#51](https://github.com/twinfoundation/engine/issues/51)) ([eaef180](https://github.com/twinfoundation/engine/commit/eaef1807397a907bc7655ef1545a151a710ca2f1))
276
+ * add default logging component for web server ([8ad94f0](https://github.com/twinfoundation/engine/commit/8ad94f0d2d9a5241a8854b1e59fb9a55ce310142))
277
+ * add isPrimary and isClone methods ([a7c63e9](https://github.com/twinfoundation/engine/commit/a7c63e97f54c95b104cc81e66d3fa42c6607bdc1))
278
+ * add mimeTypeProcessors and disableNodeIdentity ([bb7e81e](https://github.com/twinfoundation/engine/commit/bb7e81e2036fe042068a5645ec59b22e20d33aad))
279
+ * add rights management negotiation ([84ef46b](https://github.com/twinfoundation/engine/commit/84ef46bff110611a19512793425c8c873ee2a590))
280
+ * add skipComponentStart flag ([#62](https://github.com/twinfoundation/engine/issues/62)) ([07e90af](https://github.com/twinfoundation/engine/commit/07e90afa4ba1baaa79c0c6f0f45200d781801534))
281
+ * add synchronised storage support ([5142e34](https://github.com/twinfoundation/engine/commit/5142e3488f09195cf9f48a9c6c6d1014231a4c2c))
282
+ * add validate-locales ([b92ea09](https://github.com/twinfoundation/engine/commit/b92ea09dbcfe35225271a51f24d231f59e2d363e))
283
+ * close already started components on startup error ([a55a117](https://github.com/twinfoundation/engine/commit/a55a117a508998288c8ae804e732fc6085cb22fa))
284
+ * context id handlers repopulated after engine clone ([9712e32](https://github.com/twinfoundation/engine/commit/9712e328f4607f5b2c82355c394c61bde0ee39bf))
285
+ * eslint migration to flat config ([6b978da](https://github.com/twinfoundation/engine/commit/6b978daf777a615d7758b63c3df57d5a376f6dfb))
286
+ * improve startup error handling ([#65](https://github.com/twinfoundation/engine/issues/65)) ([5b2d1c5](https://github.com/twinfoundation/engine/commit/5b2d1c539cf5484afa85e294d6d6c18f24ef8274))
287
+ * initialise context id handlers before bootstrap ([e94df44](https://github.com/twinfoundation/engine/commit/e94df440aa553350dba5da2ae93b5c34e0ac3692))
288
+ * interlock stop method ([3806ba7](https://github.com/twinfoundation/engine/commit/3806ba7b44b3cb3ce130f4e3684a666533674663))
289
+ * maintain isDefault flag for registered instances ([2ac5bee](https://github.com/twinfoundation/engine/commit/2ac5bee094bef42b396cc82b0d18bb6aebe27352))
290
+ * override type initialisers with new registrations ([5b4ff56](https://github.com/twinfoundation/engine/commit/5b4ff561d06b6513c870a72bb20ba23c0653cfe8))
291
+ * remove bootstrapped components, component should manage their own state ([5c7e9e4](https://github.com/twinfoundation/engine/commit/5c7e9e419ef26933e49c9c5a21a20a8961244e7f))
292
+ * remove unused component states ([d56d648](https://github.com/twinfoundation/engine/commit/d56d6486119ea8b8501a33f9e3a3101a08b826ed))
293
+ * simplify config building ([732c871](https://github.com/twinfoundation/engine/commit/732c871c5aca236759168f4bc15aeffd98a330a8))
294
+ * standardised engine logging naming ([0dbf857](https://github.com/twinfoundation/engine/commit/0dbf857587641f86ddf010143519d0e8333489ff))
295
+ * update dependencies ([97c9f64](https://github.com/twinfoundation/engine/commit/97c9f64b6ef096963bcc5de338a2a9e99bdc1a11))
296
+ * update framework core ([acc0f8d](https://github.com/twinfoundation/engine/commit/acc0f8d455a4b8ec47f1da643139fa0f07775fa6))
297
+ * upgrade framework components ([efd52e8](https://github.com/twinfoundation/engine/commit/efd52e80564fff29c3897bfa09b6305b3a322812))
298
+ * use peer dependencies ([69dd744](https://github.com/twinfoundation/engine/commit/69dd7449010b8e6f5f35e7fad201ad4c1cab400c))
299
+ * use shared store mechanism ([#2](https://github.com/twinfoundation/engine/issues/2)) ([9eed8d7](https://github.com/twinfoundation/engine/commit/9eed8d7766388479b42f03e2542fe761f2156408))
300
+
301
+
302
+ ### Bug Fixes
303
+
304
+ * make sure stop is called even if start is not implemented ([ece2b9d](https://github.com/twinfoundation/engine/commit/ece2b9de5c6dff2b5ccf2a3115c1a7328a330125))
305
+ * save state if dirty even if not started ([1abe4b9](https://github.com/twinfoundation/engine/commit/1abe4b97e6d27364dd673f62f83034b88b7fae0c))
306
+ * use correct instance type name ([6278486](https://github.com/twinfoundation/engine/commit/6278486d8f0f2d601d3cf521a647898cd7cc1f31))
307
+
308
+
309
+ ### Dependencies
310
+
311
+ * The following workspace dependencies were updated
312
+ * dependencies
313
+ * @twin.org/engine-models bumped from 0.0.3-next.13 to 0.0.3-next.14
314
+
315
+ ## [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)
316
+
317
+
318
+ ### Miscellaneous Chores
319
+
320
+ * **engine-core:** Synchronize repo versions
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.12 to 0.0.3-next.13
328
+
329
+ ## [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)
330
+
331
+
332
+ ### Features
333
+
334
+ * improve startup error handling ([#65](https://github.com/twinfoundation/engine/issues/65)) ([5b2d1c5](https://github.com/twinfoundation/engine/commit/5b2d1c539cf5484afa85e294d6d6c18f24ef8274))
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.11 to 0.0.3-next.12
342
+
343
+ ## [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)
344
+
345
+
346
+ ### Bug Fixes
347
+
348
+ * save state if dirty even if not started ([1abe4b9](https://github.com/twinfoundation/engine/commit/1abe4b97e6d27364dd673f62f83034b88b7fae0c))
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.10 to 0.0.3-next.11
356
+
357
+ ## [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)
358
+
359
+
360
+ ### Features
361
+
362
+ * add skipComponentStart flag ([#62](https://github.com/twinfoundation/engine/issues/62)) ([07e90af](https://github.com/twinfoundation/engine/commit/07e90afa4ba1baaa79c0c6f0f45200d781801534))
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.9 to 0.0.3-next.10
370
+
371
+ ## [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)
372
+
373
+
374
+ ### Miscellaneous Chores
375
+
376
+ * **engine-core:** Synchronize repo versions
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.8 to 0.0.3-next.9
384
+
385
+ ## [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)
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.7 to 0.0.3-next.8
398
+
399
+ ## [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)
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.6 to 0.0.3-next.7
412
+
413
+ ## [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)
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.5 to 0.0.3-next.6
426
+
427
+ ## [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)
428
+
429
+
430
+ ### Features
431
+
432
+ * initialise context id handlers before bootstrap ([e94df44](https://github.com/twinfoundation/engine/commit/e94df440aa553350dba5da2ae93b5c34e0ac3692))
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.4 to 0.0.3-next.5
440
+
441
+ ## [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)
442
+
443
+
444
+ ### Features
445
+
446
+ * context id handlers repopulated after engine clone ([9712e32](https://github.com/twinfoundation/engine/commit/9712e328f4607f5b2c82355c394c61bde0ee39bf))
447
+ * interlock stop method ([3806ba7](https://github.com/twinfoundation/engine/commit/3806ba7b44b3cb3ce130f4e3684a666533674663))
448
+
449
+
450
+ ### Dependencies
451
+
452
+ * The following workspace dependencies were updated
453
+ * dependencies
454
+ * @twin.org/engine-models bumped from 0.0.3-next.3 to 0.0.3-next.4
2
455
 
3
456
  ## [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
457
 
package/docs/examples.md CHANGED
@@ -1 +1,156 @@
1
- # @twin.org/engine-core - Examples
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
+ ```