@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/docs/changelog.md CHANGED
@@ -1,4 +1,471 @@
1
- # @twin.org/engine-core - Changelog
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
- # @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
+ ```