@twin.org/node-core 0.9.3 → 0.9.4-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/es/builders/engineEnvBuilder.js +453 -364
  2. package/dist/es/builders/engineEnvBuilder.js.map +1 -1
  3. package/dist/es/builders/helper/envHelpers.js +39 -0
  4. package/dist/es/builders/helper/envHelpers.js.map +1 -1
  5. package/dist/es/cli.js +1 -1
  6. package/dist/es/cli.js.map +1 -1
  7. package/dist/es/commands/bootstrapDev.js +3 -3
  8. package/dist/es/commands/bootstrapDev.js.map +1 -1
  9. package/dist/es/commands/help.js +1 -1
  10. package/dist/es/commands/help.js.map +1 -1
  11. package/dist/es/commands/identityCreate.js +2 -2
  12. package/dist/es/commands/identityCreate.js.map +1 -1
  13. package/dist/es/commands/identityVerificationMethodCreate.js +2 -2
  14. package/dist/es/commands/identityVerificationMethodCreate.js.map +1 -1
  15. package/dist/es/commands/userCreate.js +1 -1
  16. package/dist/es/commands/userCreate.js.map +1 -1
  17. package/dist/es/commands/vaultKeyCreate.js +1 -1
  18. package/dist/es/commands/vaultKeyCreate.js.map +1 -1
  19. package/dist/es/commands/vaultKeyImport.js +1 -1
  20. package/dist/es/commands/vaultKeyImport.js.map +1 -1
  21. package/dist/es/models/IEngineEnvironmentVariables.js.map +1 -1
  22. package/dist/es/models/deprecatedEnvironmentVariableKeys.js +16 -0
  23. package/dist/es/models/deprecatedEnvironmentVariableKeys.js.map +1 -0
  24. package/dist/es/models/engineEnvironmentVariableKeys.js +7 -2
  25. package/dist/es/models/engineEnvironmentVariableKeys.js.map +1 -1
  26. package/dist/es/node.js +41 -21
  27. package/dist/es/node.js.map +1 -1
  28. package/dist/types/builders/engineEnvBuilder.d.ts +7 -0
  29. package/dist/types/builders/helper/envHelpers.d.ts +30 -0
  30. package/dist/types/models/IEngineEnvironmentVariables.d.ts +24 -8
  31. package/dist/types/models/deprecatedEnvironmentVariableKeys.d.ts +7 -0
  32. package/docs/changelog.md +166 -0
  33. package/docs/reference/functions/isMailboxEnabled.md +20 -0
  34. package/docs/reference/index.md +1 -0
  35. package/docs/reference/interfaces/IEngineEnvironmentVariables.md +45 -13
  36. package/locales/en.json +3 -1
  37. package/package.json +34 -34
@@ -1,3 +1,23 @@
1
+ /**
2
+ * Returns an env var as a string when it holds a non-empty value, falling back to the supplied default.
3
+ * @param envVars The environment variables object.
4
+ * @param key The property name of the env var to read.
5
+ * @param defaultValue The value to return when the env var is absent or empty. Omit to return undefined when absent.
6
+ * @returns The string value, the default, or undefined when absent and no default given.
7
+ */
8
+ export declare function envString<T>(envVars: T, key: keyof T, defaultValue: string): string;
9
+ export declare function envString<T>(envVars: T, key: keyof T): string | undefined;
10
+ /**
11
+ * Returns an env var constrained to one of the supplied choices, falling back to the supplied default.
12
+ * @param envVars The environment variables object.
13
+ * @param key The property name of the env var to read.
14
+ * @param choices The permitted values for the env var.
15
+ * @param defaultValue The value to return when the env var is absent or empty. Omit to return undefined when absent.
16
+ * @returns The matching choice, the default, or undefined when absent and no default given.
17
+ * @throws GeneralError if the value is set but is not one of the choices.
18
+ */
19
+ export declare function envChoice<T, U extends string>(envVars: T, key: keyof T, choices: readonly U[], defaultValue: U): U;
20
+ export declare function envChoice<T, U extends string>(envVars: T, key: keyof T, choices: readonly U[]): U | undefined;
1
21
  /**
2
22
  * Coerces an env var to a boolean, falling back to the supplied default when not set.
3
23
  * @param envVars The environment variables object.
@@ -122,6 +142,16 @@ export declare function envSecToMs<T>(envVars: T, key: keyof T): number | undefi
122
142
  */
123
143
  export declare function envMinToMs<T>(envVars: T, key: keyof T, defaultValue: number): number;
124
144
  export declare function envMinToMs<T>(envVars: T, key: keyof T): number | undefined;
145
+ /**
146
+ * Converts a comma separated list to an array.
147
+ * @param envVars The environment variables object.
148
+ * @param key The property name of the env var.
149
+ * @param expectedValues An optional array of expected values.
150
+ * @param defaultValue The default value to return when the list is empty or undefined.
151
+ * @throws GeneralError if the list contains a value not in the expected values.
152
+ * @returns The array.
153
+ */
154
+ export declare function envListToArray<T, U>(envVars: T, key: keyof T, expectedValues?: U[], defaultValue?: U[] | undefined): U[];
125
155
  /**
126
156
  * Converts a comma separated list to an array.
127
157
  * @param value The comma separated list.
@@ -441,9 +441,9 @@ export interface IEngineEnvironmentVariables {
441
441
  */
442
442
  eventBusComponent?: string;
443
443
  /**
444
- * Are the messaging components enabled, defaults to false.
444
+ * The email protocol connector types, comma-separated: pop3, imap.
445
445
  */
446
- messagingEnabled?: string;
446
+ emailProtocolConnector?: string;
447
447
  /**
448
448
  * AWS SES region.
449
449
  */
@@ -469,9 +469,29 @@ export interface IEngineEnvironmentVariables {
469
469
  */
470
470
  awsMessagingPushNotificationApplications?: string;
471
471
  /**
472
- * The type of messaging email connector: entity-storage, aws.
472
+ * The type of messaging email connector: entity-storage, aws, smtp.
473
473
  */
474
474
  messagingEmailConnector?: string;
475
+ /**
476
+ * SMTP server hostname or IP address.
477
+ */
478
+ smtpHost?: string;
479
+ /**
480
+ * SMTP server port, defaults to 587.
481
+ */
482
+ smtpPort?: string;
483
+ /**
484
+ * Whether the SMTP connector uses TLS.
485
+ */
486
+ smtpSecure?: string;
487
+ /**
488
+ * SMTP authentication username.
489
+ */
490
+ smtpUsername?: string;
491
+ /**
492
+ * SMTP authentication password.
493
+ */
494
+ smtpPassword?: string;
475
495
  /**
476
496
  * The type of messaging sms connector: entity-storage, aws.
477
497
  */
@@ -544,7 +564,7 @@ export interface IEngineEnvironmentVariables {
544
564
  */
545
565
  tracingSilentComponents?: string;
546
566
  /**
547
- * The type of tracing connector, comma-separated for multiple: entity-storage, open-telemetry, silent.
567
+ * The type of tracing connector, comma-separated for multiple: entity-storage, open-telemetry, console, silent.
548
568
  */
549
569
  tracingConnector?: string;
550
570
  /**
@@ -724,10 +744,6 @@ export interface IEngineEnvironmentVariables {
724
744
  * The identity verification method id to use with attestation.
725
745
  */
726
746
  attestationVerificationMethodId?: string;
727
- /**
728
- * Is the data processing enabled, defaults to false.
729
- */
730
- dataProcessingEnabled?: string;
731
747
  /**
732
748
  * The type of the default data converters, can be a comma separated list: json, xml.
733
749
  */
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The camelCase property names which are no longer used, mapped to the keys which replace them.
3
+ * They are still recognised so an existing configuration does not fail validation, but each one
4
+ * reports a deprecation warning and has no effect on the engine configuration.
5
+ * An empty array is a key which has been withdrawn with nothing to replace it.
6
+ */
7
+ export declare const DEPRECATED_ENVIRONMENT_VARIABLE_KEYS: ReadonlyMap<string, readonly string[]>;
package/docs/changelog.md CHANGED
@@ -1,5 +1,171 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.4-next.2](https://github.com/iotaledger/twin-node/compare/node-core-v0.9.4-next.1...node-core-v0.9.4-next.2) (2026-09-08)
4
+
5
+
6
+ ### Features
7
+
8
+ * telemetry and deprecated variables ([198f43f](https://github.com/iotaledger/twin-node/commit/198f43fd2d94e2f6721924365b73c0af3020e31d))
9
+
10
+ ## [0.9.4-next.1](https://github.com/iotaledger/twin-node/compare/node-core-v0.9.4-next.0...node-core-v0.9.4-next.1) (2026-09-07)
11
+
12
+
13
+ ### Features
14
+
15
+ * add additional env vars ([#328](https://github.com/iotaledger/twin-node/issues/328)) ([6ca8718](https://github.com/iotaledger/twin-node/commit/6ca87184bc4d78829c957ea055d3c281aca6cf9f))
16
+ * add automation ([cfc63b4](https://github.com/iotaledger/twin-node/commit/cfc63b465c139280f696877df21d54dc6a065a7e))
17
+ * add CLI commands and remove automated bootstrap code ([#69](https://github.com/iotaledger/twin-node/issues/69)) ([6e40933](https://github.com/iotaledger/twin-node/commit/6e40933d8bb820b380e1074fc88feeedca0ef7d9))
18
+ * add context id features ([#53](https://github.com/iotaledger/twin-node/issues/53)) ([827adf5](https://github.com/iotaledger/twin-node/commit/827adf52cb87fca53cec52b27e67f7a9dba2c088))
19
+ * add data space connector ([5a57087](https://github.com/iotaledger/twin-node/commit/5a57087d938265d3a4a812ff7c83d130ea4e103c))
20
+ * add data space connector ([f7a3644](https://github.com/iotaledger/twin-node/commit/f7a364477ec664e333e5ad018795acec6ee61edc))
21
+ * add data space connector ([157e8b0](https://github.com/iotaledger/twin-node/commit/157e8b0a76e3a8a63c1991924f7f963eb83e27ae))
22
+ * add dataspace endpoint tests for app-datasets, transfers, and data plane ([#213](https://github.com/iotaledger/twin-node/issues/213)) ([5641a78](https://github.com/iotaledger/twin-node/commit/5641a781bf17a1914912f3162116d7c5f5c0dca2))
23
+ * add dsp sweep vars ([#340](https://github.com/iotaledger/twin-node/issues/340)) ([5487c13](https://github.com/iotaledger/twin-node/commit/5487c13197fcd386206ec37f9f342c55ec5b1176))
24
+ * add extensions support ([476d5a8](https://github.com/iotaledger/twin-node/commit/476d5a864026a2f78e5b02bc9eb81359777a4a45))
25
+ * add isDefault flag to logging connectors ([358e839](https://github.com/iotaledger/twin-node/commit/358e8394819dab9832d3a9ebfac74b897b7d5f40))
26
+ * add logging otel ([2adf4e4](https://github.com/iotaledger/twin-node/commit/2adf4e44fd2ef4cce43f354da2187719c72cc3cd))
27
+ * add module cache and improve resolution ([482be05](https://github.com/iotaledger/twin-node/commit/482be056c37a598033250ea8a7288a33cf3470b4))
28
+ * add module override for better local import resolution ([ba00d17](https://github.com/iotaledger/twin-node/commit/ba00d17beea0a9a1851c89ad7c6a33256051c818))
29
+ * add mutex settings ([#222](https://github.com/iotaledger/twin-node/issues/222)) ([492c55f](https://github.com/iotaledger/twin-node/commit/492c55f67d5f70c2a4a27dfdb2700a644ee87955))
30
+ * add new endpoints ([cc6e30d](https://github.com/iotaledger/twin-node/commit/cc6e30d85f7ed8018697462a7100e5c2f4e8f407))
31
+ * add notarization ([#121](https://github.com/iotaledger/twin-node/issues/121)) ([b2a11df](https://github.com/iotaledger/twin-node/commit/b2a11df92c7b5026f73f08a018c0586ebe008e92))
32
+ * add obligation enforcers and multi instance support ([#89](https://github.com/iotaledger/twin-node/issues/89)) ([d81af99](https://github.com/iotaledger/twin-node/commit/d81af99b8c4db6e9a1370b7065bf6d9d222c71ed))
33
+ * add rights management ([78fba62](https://github.com/iotaledger/twin-node/commit/78fba62f82afdbe615d55dd90eca8ee70ea62fc0))
34
+ * add rights management components ([0fc6293](https://github.com/iotaledger/twin-node/commit/0fc629332db24494bd73003625c7bf3f939a2597))
35
+ * add standalone federated catalogue example config and endpoint tests ([#235](https://github.com/iotaledger/twin-node/issues/235)) ([ffb51dd](https://github.com/iotaledger/twin-node/commit/ffb51ddda5188c2f21b8ce65343b39a28f4eee4b))
36
+ * add support for dynamodb connection timeout ([63051b0](https://github.com/iotaledger/twin-node/commit/63051b0d22138079115dfac921e7f0c45eaad34e))
37
+ * add synchronised storage config ([e315869](https://github.com/iotaledger/twin-node/commit/e315869adbffcd7fe5d3ce151dd35f662f6134a9))
38
+ * add tenant override ([#337](https://github.com/iotaledger/twin-node/issues/337)) ([b4ea765](https://github.com/iotaledger/twin-node/commit/b4ea7656e2557c19053365dd5d4af14d0d945cd5))
39
+ * add tracing ([#344](https://github.com/iotaledger/twin-node/issues/344)) ([4fa71cd](https://github.com/iotaledger/twin-node/commit/4fa71cd0eafd7d708df15c8f0a85323fecd05561))
40
+ * add tracing console connector ([#373](https://github.com/iotaledger/twin-node/issues/373)) ([fb36cb8](https://github.com/iotaledger/twin-node/commit/fb36cb8bebc2e8c1b94fa332cead8283ca5d636a))
41
+ * add tracing support ([a4986fc](https://github.com/iotaledger/twin-node/commit/a4986fc4af603ee461ec8d18ff502dddbc43edec))
42
+ * add trust and rights management plugin support ([cdeb504](https://github.com/iotaledger/twin-node/commit/cdeb504ee5986a347466162b9afa781645b4a54c))
43
+ * add trust ttl ([#73](https://github.com/iotaledger/twin-node/issues/73)) ([911cee7](https://github.com/iotaledger/twin-node/commit/911cee771bba490143bb1574ca8360f7cf8baa1a))
44
+ * add validate-locales ([1a19dcb](https://github.com/iotaledger/twin-node/commit/1a19dcb005c2f0e3103e290db28c48a3464094cb))
45
+ * add vault prefix configuration ([#75](https://github.com/iotaledger/twin-node/issues/75)) ([1d4afb1](https://github.com/iotaledger/twin-node/commit/1d4afb1b1a8aa60795898eeb9e7f5153c279527d))
46
+ * add well-known endpoint ([38cbab2](https://github.com/iotaledger/twin-node/commit/38cbab20631666d3bae8b0b5ae346a3488148b1d))
47
+ * adding npm and https protocols to load extensions ([#45](https://github.com/iotaledger/twin-node/issues/45)) ([33940b7](https://github.com/iotaledger/twin-node/commit/33940b7e771a0c5af32c18d442deb26a8631fd02))
48
+ * additional cli commands ([#269](https://github.com/iotaledger/twin-node/issues/269)) ([c9e7c93](https://github.com/iotaledger/twin-node/commit/c9e7c939aedfceed9cbe501f2dc936e84289ed62))
49
+ * additional env vars and validation ([#324](https://github.com/iotaledger/twin-node/issues/324)) ([6b01e8c](https://github.com/iotaledger/twin-node/commit/6b01e8c10f9aa7181f51f13534d8164db3e7322d))
50
+ * additional options for enabling components ([e13d772](https://github.com/iotaledger/twin-node/commit/e13d7721a0dd7143d456fff246622cbe63dbd0f1))
51
+ * additional route logging env vars ([7152c88](https://github.com/iotaledger/twin-node/commit/7152c887c3ba76778e2d9e68ba57198b8d81d802))
52
+ * additional stop interlock ([b3a2757](https://github.com/iotaledger/twin-node/commit/b3a2757325af0e7b258a9f97f1b52e86087e6301))
53
+ * align node module with dataspace rename and control plane integ… ([#95](https://github.com/iotaledger/twin-node/issues/95)) ([8129868](https://github.com/iotaledger/twin-node/commit/812986886fb5d779dd380956c4e6cc47c2d73530))
54
+ * auth fix ([a8e59e9](https://github.com/iotaledger/twin-node/commit/a8e59e947735180c9edee041f87af5e1e125e3c6))
55
+ * authentication services ([#118](https://github.com/iotaledger/twin-node/issues/118)) ([311a7f8](https://github.com/iotaledger/twin-node/commit/311a7f882db1e50a83e94d2dae32fefc68debb47))
56
+ * bootstrap legacy skip ([469d950](https://github.com/iotaledger/twin-node/commit/469d9505bd0497c271ba291641f63786200cb548))
57
+ * bootstrap-legacy rename ([#310](https://github.com/iotaledger/twin-node/issues/310)) ([53af8a2](https://github.com/iotaledger/twin-node/commit/53af8a2e797e90bb601416215247cd8649dd6220))
58
+ * bump [@twin](https://github.com/twin).org/* to latest next ([#172](https://github.com/iotaledger/twin-node/issues/172)) ([45862d5](https://github.com/iotaledger/twin-node/commit/45862d555e4958f1c12da357817b7b87642d7aba))
59
+ * bump dependencies ([#216](https://github.com/iotaledger/twin-node/issues/216)) ([a005824](https://github.com/iotaledger/twin-node/commit/a005824fe3e4a734543f613d8a7cc1275fec4572))
60
+ * cache the npm root to increase startup speed ([f10ea9e](https://github.com/iotaledger/twin-node/commit/f10ea9e22cc202f320df5fb21507b886c1f7345b))
61
+ * cli tenant-token command ([#177](https://github.com/iotaledger/twin-node/issues/177)) ([b3f68a4](https://github.com/iotaledger/twin-node/commit/b3f68a4972d065e865372230c078b4657dfabc1a))
62
+ * clone mode ([#360](https://github.com/iotaledger/twin-node/issues/360)) ([8bb56fb](https://github.com/iotaledger/twin-node/commit/8bb56fb6a4b138c2ff0d1267d1be4f8c24f492a6))
63
+ * component update ([9a3fdab](https://github.com/iotaledger/twin-node/commit/9a3fdab250e0dc8b8aa52479d5c72517de8d6c0f))
64
+ * component update ([8bf10da](https://github.com/iotaledger/twin-node/commit/8bf10da2e3e29f22afddd9cb55a26f343555e106))
65
+ * configure web server body limits from the environment ([#356](https://github.com/iotaledger/twin-node/issues/356)) ([f196ad3](https://github.com/iotaledger/twin-node/commit/f196ad368559515184e37a99d6876570074ebcd5))
66
+ * custom REST paths ([#99](https://github.com/iotaledger/twin-node/issues/99)) ([dcab1b2](https://github.com/iotaledger/twin-node/commit/dcab1b2b23c13b4c9f39c3c1c67284f56e732bd1))
67
+ * dataspace plane path ([#272](https://github.com/iotaledger/twin-node/issues/272)) ([5998eeb](https://github.com/iotaledger/twin-node/commit/5998eeb6fa1392ae753eb6bafeccefa1fb690573))
68
+ * don't override existing env vars with env files ([ebccac2](https://github.com/iotaledger/twin-node/commit/ebccac297c3156076f17c246a8abd994f8f20e61))
69
+ * dspace well-known endpoint test ([615bf55](https://github.com/iotaledger/twin-node/commit/615bf55de9e05ed410ed18348735cf4d6f392fe7))
70
+ * email ingestion ([#379](https://github.com/iotaledger/twin-node/issues/379)) ([12da79d](https://github.com/iotaledger/twin-node/commit/12da79dc9b167e288c555d4f1909a61c190eee4d))
71
+ * endpoints-runner ([#153](https://github.com/iotaledger/twin-node/issues/153)) ([cca42d0](https://github.com/iotaledger/twin-node/commit/cca42d07d6655d401c909308e8b73606fef05248))
72
+ * enhanced cli commands ([#288](https://github.com/iotaledger/twin-node/issues/288)) ([479fb34](https://github.com/iotaledger/twin-node/commit/479fb3448c493a134aee35b69ae39458e493a4ad))
73
+ * env var simplification ([460b0f2](https://github.com/iotaledger/twin-node/commit/460b0f20a73cb482f7443af502f261d5f9d01759))
74
+ * env var validation ([#243](https://github.com/iotaledger/twin-node/issues/243)) ([569945a](https://github.com/iotaledger/twin-node/commit/569945a751eb52d008a681777a3cba881af1b9a4))
75
+ * env vars consistency ([1823b7a](https://github.com/iotaledger/twin-node/commit/1823b7aeae5dc7484861534b851080afda64d869))
76
+ * env-prefix option and user-update cli command ([#83](https://github.com/iotaledger/twin-node/issues/83)) ([fc48efa](https://github.com/iotaledger/twin-node/commit/fc48efa7ad72173def048170c3afb5eeb9f1b292))
77
+ * eslint migration to flat config ([080db74](https://github.com/iotaledger/twin-node/commit/080db746390230f78725d214bc957da2efee9eb1))
78
+ * expose gasBudget and gasReservationDuration as configurable env vars ([#286](https://github.com/iotaledger/twin-node/issues/286)) ([d678b27](https://github.com/iotaledger/twin-node/commit/d678b27d629930a6ce85eeab9caf89d1187c3461))
79
+ * federated catalogue trust mode ([#194](https://github.com/iotaledger/twin-node/issues/194)) ([c18e6fb](https://github.com/iotaledger/twin-node/commit/c18e6fbe0014eb5faf8084d16169d86f3d3b23a6))
80
+ * file logging config ([#287](https://github.com/iotaledger/twin-node/issues/287)) ([a567b25](https://github.com/iotaledger/twin-node/commit/a567b253cbb8b9af872bb0e494c013212f4f55a2))
81
+ * first metrics in the core and app for testing ([#139](https://github.com/iotaledger/twin-node/issues/139)) ([abe17bb](https://github.com/iotaledger/twin-node/commit/abe17bb9a6261dcb7fd46253221182fbb1dc2259))
82
+ * health and url transformer ([#131](https://github.com/iotaledger/twin-node/issues/131)) ([3658903](https://github.com/iotaledger/twin-node/commit/36589036b9bea120880fc395b0d123a89032cf40))
83
+ * identity profile information source ([dbb53d1](https://github.com/iotaledger/twin-node/commit/dbb53d145f517070d864f37650a6dbc1f3e9c3a8))
84
+ * immutable proof config ([#307](https://github.com/iotaledger/twin-node/issues/307)) ([9257495](https://github.com/iotaledger/twin-node/commit/92574953329647756aa6ab4cca80b1707e14a33f))
85
+ * immutable proof gate and additional config ([#157](https://github.com/iotaledger/twin-node/issues/157)) ([1d1fbb7](https://github.com/iotaledger/twin-node/commit/1d1fbb7c53525af848761dc25b42e9e676929972))
86
+ * improve bootstrapping and shutdown behaviour ([#66](https://github.com/iotaledger/twin-node/issues/66)) ([65b3452](https://github.com/iotaledger/twin-node/commit/65b345240334bfff48b52e136cc486cd7ac7f290))
87
+ * improve error handling for extensions and logging ([bd84fde](https://github.com/iotaledger/twin-node/commit/bd84fde67e5a9db6ac66730397992401ca52e88c))
88
+ * improve node logging ([63d6ea6](https://github.com/iotaledger/twin-node/commit/63d6ea661c2c76985d98addb8d905ad6f0c7f164))
89
+ * improve node logging ([c25b9c6](https://github.com/iotaledger/twin-node/commit/c25b9c6779bdb76f341df072c39b4c2fae4565a3))
90
+ * improved cli commands ([#206](https://github.com/iotaledger/twin-node/issues/206)) ([cf00850](https://github.com/iotaledger/twin-node/commit/cf0085023a66e187aaaaf3889128c845c73a1faf))
91
+ * migration options ([#293](https://github.com/iotaledger/twin-node/issues/293)) ([91acc88](https://github.com/iotaledger/twin-node/commit/91acc881f665be0177b2e895e2810dd4d6145105))
92
+ * migration testing ([#199](https://github.com/iotaledger/twin-node/issues/199)) ([97a731c](https://github.com/iotaledger/twin-node/commit/97a731c520d66ab0588d80987a0f88d388ce51ae))
93
+ * multi-tenant env wiring, trust auto-enable, tenant-token vault key, engine-driven callbackPath ([#128](https://github.com/iotaledger/twin-node/issues/128)) ([0de4d35](https://github.com/iotaledger/twin-node/commit/0de4d356fb2f825afae5469005d475700f510ee4))
94
+ * new tenant auth mechanisms ([#168](https://github.com/iotaledger/twin-node/issues/168)) ([686f111](https://github.com/iotaledger/twin-node/commit/686f1118e79e6f26a8dc72a5e9172584057f4518))
95
+ * organization identifiers ([#203](https://github.com/iotaledger/twin-node/issues/203)) ([1a6b176](https://github.com/iotaledger/twin-node/commit/1a6b1760d9f8e43a769407668426c70e1c8e1aa8))
96
+ * pool env vars ([#331](https://github.com/iotaledger/twin-node/issues/331)) ([338ea61](https://github.com/iotaledger/twin-node/commit/338ea612b37aa4d15971c8a09def47bee9395d0c))
97
+ * refactor testing ([fc28140](https://github.com/iotaledger/twin-node/commit/fc28140c6a398d31e092752ef53fa490da167794))
98
+ * register task scheduler when immutable proof is enabled ([#320](https://github.com/iotaledger/twin-node/issues/320)) ([b1d9c81](https://github.com/iotaledger/twin-node/commit/b1d9c81e0ec267292c6eaba8a6228eff1c41a9f0))
99
+ * remove dap and darp ([36c3ffb](https://github.com/iotaledger/twin-node/commit/36c3ffb31af65a0e3025859dab675efeee043155))
100
+ * remove hosting component ([#219](https://github.com/iotaledger/twin-node/issues/219)) ([fb2fea4](https://github.com/iotaledger/twin-node/commit/fb2fea46f57aab9252ee1491499e84b8ad46533e))
101
+ * remove set-tenant ([#186](https://github.com/iotaledger/twin-node/issues/186)) ([1fc1909](https://github.com/iotaledger/twin-node/commit/1fc1909e6335dea51dfec3bb91fba4badaa9790a))
102
+ * remove unused properties ([d8344b5](https://github.com/iotaledger/twin-node/commit/d8344b5aee5dc1c8104d75fad5093097f6530168))
103
+ * rest metrics ([#341](https://github.com/iotaledger/twin-node/issues/341)) ([ebec573](https://github.com/iotaledger/twin-node/commit/ebec5736bb66adfd97f7d73912bec1ce7392e5f8))
104
+ * separate script directory from exec directory ([f6bb4db](https://github.com/iotaledger/twin-node/commit/f6bb4dbea1f1e200e0640fa154c6997ef99c99b4))
105
+ * silent telemetry and tracing options ([#351](https://github.com/iotaledger/twin-node/issues/351)) ([3a5752f](https://github.com/iotaledger/twin-node/commit/3a5752fc0bf8a028b3ebfc34878524ac799fb81e))
106
+ * support multiple entity and blob storage connectors ([a489f79](https://github.com/iotaledger/twin-node/commit/a489f7907544aef5708d5111e9f72985e1377bae))
107
+ * support public origin and hosting service ([#77](https://github.com/iotaledger/twin-node/issues/77)) ([3b9039f](https://github.com/iotaledger/twin-node/commit/3b9039fcba7f7038c06f8fd6a5ccc9fdbbf535b3))
108
+ * telemetry batching ([#347](https://github.com/iotaledger/twin-node/issues/347)) ([5d5b0a9](https://github.com/iotaledger/twin-node/commit/5d5b0a91396298fe774ae26193b0595875cd118a))
109
+ * telemetry tracing multi ([#357](https://github.com/iotaledger/twin-node/issues/357)) ([b6412ac](https://github.com/iotaledger/twin-node/commit/b6412ac3141a94a0f9f7d1dd391451ac9247e862))
110
+ * tenant-id in user create and update ([#148](https://github.com/iotaledger/twin-node/issues/148)) ([1143e30](https://github.com/iotaledger/twin-node/commit/1143e30fb0d2056d113367d0c5ea251f07695da1))
111
+ * typescript 6 update ([ce2e3ca](https://github.com/iotaledger/twin-node/commit/ce2e3ca5219587709f7b9cf6c65909b48fba11b5))
112
+ * update background tasks and add fedcat filters ([1fd297e](https://github.com/iotaledger/twin-node/commit/1fd297e29f60b5bb3909638b68e326c5b0e2d77d))
113
+ * update components ([35cdfdc](https://github.com/iotaledger/twin-node/commit/35cdfdcba2b52599b4db3afd8c9e6dd17468b21e))
114
+ * update context usage ([2215440](https://github.com/iotaledger/twin-node/commit/2215440801dea3955885b6579ad9b98b7a5d87ea))
115
+ * update dependencies ([34a5d51](https://github.com/iotaledger/twin-node/commit/34a5d5100140f6e642e8aaa1b4da5304b8ce6f0a))
116
+ * update dependencies ([64c8ea8](https://github.com/iotaledger/twin-node/commit/64c8ea8c8b5e918f7ad419c4e3b8d08faf5e3fdd))
117
+ * update dependencies ([aab05b5](https://github.com/iotaledger/twin-node/commit/aab05b552152a208a504fb9a080603f1990d4f79))
118
+ * update dependencies ([6cb3d3a](https://github.com/iotaledger/twin-node/commit/6cb3d3a63f7b976f80074ddecfba034b7e92f919))
119
+ * update dependencies ([#178](https://github.com/iotaledger/twin-node/issues/178)) ([0d346ec](https://github.com/iotaledger/twin-node/commit/0d346ec57f43f418b73fe71fcd2b187d769a53e9))
120
+ * update dependencies ([#316](https://github.com/iotaledger/twin-node/issues/316)) ([f3fe328](https://github.com/iotaledger/twin-node/commit/f3fe3281a80f34763c923eacca58364273a550b7))
121
+ * update docs ([61e5a00](https://github.com/iotaledger/twin-node/commit/61e5a004089a0c11ec03e354b076604ecdeb4817))
122
+ * update document management components ([ed2c065](https://github.com/iotaledger/twin-node/commit/ed2c065a5030a7233f3623818d7325d85654ef0d))
123
+ * update engine ([a40b377](https://github.com/iotaledger/twin-node/commit/a40b37726c3b61c6bb40265ec0006d1071ffac7e))
124
+ * update engine ([4b438e2](https://github.com/iotaledger/twin-node/commit/4b438e22c27d784ee6cc964b7cb4401e9699ab16))
125
+ * update engine dependency ([db290df](https://github.com/iotaledger/twin-node/commit/db290df3b18374f7d86da575c6048657b98c355b))
126
+ * update engine dependency ([3494c31](https://github.com/iotaledger/twin-node/commit/3494c3144fd5ce6d3a9f2936c7890ab36795aeaa))
127
+ * update for livez endpoint ([9fc2e6a](https://github.com/iotaledger/twin-node/commit/9fc2e6ade38b3ec9591399a633d02b1e5fe07910))
128
+ * update framework components ([4bee2b9](https://github.com/iotaledger/twin-node/commit/4bee2b9d3651df09b8550a9ed226be1b46031854))
129
+ * update framework core ([8bd769a](https://github.com/iotaledger/twin-node/commit/8bd769a4451f5f1f6be3f115a5e94eeb05bce7f1))
130
+ * update logging retention units in config ([0b9bb69](https://github.com/iotaledger/twin-node/commit/0b9bb696db0722f6b33e37e1ebd1f4d6ffbcf7cc))
131
+ * update order of logging ([2161938](https://github.com/iotaledger/twin-node/commit/2161938c969b18e4678459a69090287e5ccdb404))
132
+ * update order of logging ([b295f31](https://github.com/iotaledger/twin-node/commit/b295f315f7c5b611d229d9e5314d414da05828b9))
133
+ * update rights management ([5c992c6](https://github.com/iotaledger/twin-node/commit/5c992c6b0d72f3eeaa39ee267e096d9a3f477f4e))
134
+ * update rights management components ([176a0d6](https://github.com/iotaledger/twin-node/commit/176a0d611f88360fc845ae233b26ee0b43d7cb23))
135
+ * update rights management dependencies ([97ad02e](https://github.com/iotaledger/twin-node/commit/97ad02e4b74cfe5e722f74da2fc2229bbf004c0a))
136
+ * update tests ([f15bc1f](https://github.com/iotaledger/twin-node/commit/f15bc1fb9fc1a7a9b6611ad42591d9c02e078cfb))
137
+ * update tests ([633797e](https://github.com/iotaledger/twin-node/commit/633797e3c4766ad7e47c472c153456c60e1a6ba2))
138
+ * update to latest engine ([00d4974](https://github.com/iotaledger/twin-node/commit/00d4974f9cfb02bf48505cfb4af4a7aba1df4b3d))
139
+ * update to latest engine config ([347386c](https://github.com/iotaledger/twin-node/commit/347386c0609e717dc20c456ad2264c83df793c59))
140
+ * updated context id features ([ef7be07](https://github.com/iotaledger/twin-node/commit/ef7be07d44dccdeacf10f90cb4ffde0303faa6fa))
141
+ * updating linting ([feacd17](https://github.com/iotaledger/twin-node/commit/feacd178bb025bcd29a0ae6e4b8e79f23a989169))
142
+ * use core env helpers ([568fbc5](https://github.com/iotaledger/twin-node/commit/568fbc53906b022bc8465ffb941a160075d88e96))
143
+ * use features instead of disableNodeIdentity ([2e6109b](https://github.com/iotaledger/twin-node/commit/2e6109bd1de825e0f5396fc120d99ad7b3929852))
144
+
145
+
146
+ ### Bug Fixes
147
+
148
+ * bootstrap legacy fails on second run ([c0a4e6d](https://github.com/iotaledger/twin-node/commit/c0a4e6d6f8d1bf385412a22fed2a0974e219abaa))
149
+ * bootstrap vault key skip logic ([#112](https://github.com/iotaledger/twin-node/issues/112)) ([4084368](https://github.com/iotaledger/twin-node/commit/4084368f0762c3a1b8e214ac30f5545297c88ea6))
150
+ * bump [@twin](https://github.com/twin).org deps to next.30 stack, fix node-core route snapshot ([#159](https://github.com/iotaledger/twin-node/issues/159)) ([73ad77f](https://github.com/iotaledger/twin-node/commit/73ad77f862050cb8dfcf42c484332bdacf026092))
151
+ * example typo for vault-key-create ([eed5844](https://github.com/iotaledger/twin-node/commit/eed58448b8e6d057fa964822d337cb2898d5bb54))
152
+ * immutable proof requirements ([2940579](https://github.com/iotaledger/twin-node/commit/29405798b24053c017adaaf08a2537ea6b1c8d0f))
153
+ * improve calculation of execution directory ([106d65d](https://github.com/iotaledger/twin-node/commit/106d65d7ad5524e2e147b681d68f9476c024cfaa))
154
+ * only register DID context keys when nodeIdentityEnabled is true ([#140](https://github.com/iotaledger/twin-node/issues/140)) ([21f1c10](https://github.com/iotaledger/twin-node/commit/21f1c107adbd715518414f7255ead970b809b4b3))
155
+ * optional private key in identity create ([325ebd8](https://github.com/iotaledger/twin-node/commit/325ebd859d95b3078107e76f1806cded078a0ce1))
156
+ * org identity verification methods ([18f158b](https://github.com/iotaledger/twin-node/commit/18f158b2f63930e20e94437c17ed43421771a458))
157
+ * recover tenant id on bootstrap-legacy restart when TENANT_ID is unset ([#198](https://github.com/iotaledger/twin-node/issues/198)) ([d9451e1](https://github.com/iotaledger/twin-node/commit/d9451e188fe4fd20d5cfd0408b0dc226ddf25cd8))
158
+ * register dataspace control plane rest client as multi-instance ([#191](https://github.com/iotaledger/twin-node/issues/191)) ([4548f5c](https://github.com/iotaledger/twin-node/commit/4548f5c6e7f1d65fd147e502e57d5686e60e5195))
159
+ * set dataspace control-plane callbackPath in node env builder ([#237](https://github.com/iotaledger/twin-node/issues/237)) ([2eac214](https://github.com/iotaledger/twin-node/commit/2eac21438e9f4b4a0bf84f30ebc864bd424aac35))
160
+ * stalled timeout now is provided in seconds ([#241](https://github.com/iotaledger/twin-node/issues/241)) ([ebd827d](https://github.com/iotaledger/twin-node/commit/ebd827d02a9a4f8ad4f4c84d064d02831ef015cb))
161
+ * support load-env for tenant-token cli command ([34059c0](https://github.com/iotaledger/twin-node/commit/34059c052a685decdd689beb16d2b250e9a83643))
162
+ * synchronised storage construction ([#102](https://github.com/iotaledger/twin-node/issues/102)) ([58b61e9](https://github.com/iotaledger/twin-node/commit/58b61e9a67f499a35bea17e5d2dc6a1efc2cb893))
163
+ * test endpoints ([2b83ed0](https://github.com/iotaledger/twin-node/commit/2b83ed0d4f1da473a525a95202e01d9680c7d26c))
164
+ * test with latest dependencies ([91123b7](https://github.com/iotaledger/twin-node/commit/91123b71d0e7b51700a5d5452b2a0c9fc5c5256e))
165
+ * update dependencies ([#279](https://github.com/iotaledger/twin-node/issues/279)) ([2c0de07](https://github.com/iotaledger/twin-node/commit/2c0de07a15541e73612ba5bd62f4f566e4efca34))
166
+ * use async getStore in tests ([2189df4](https://github.com/iotaledger/twin-node/commit/2189df49a57637ba8effdee50965473f0a814c6c))
167
+ * wire includeErrorStack debug flag into auth and tenant processor configs ([#313](https://github.com/iotaledger/twin-node/issues/313)) ([3c69c51](https://github.com/iotaledger/twin-node/commit/3c69c51bfdd65305efe2fbe9da508e684a4245d1))
168
+
3
169
  ## [0.9.3](https://github.com/iotaledger/twin-node/compare/node-core-v0.9.3...node-core-v0.9.3) (2026-09-04)
4
170
 
5
171
 
@@ -0,0 +1,20 @@
1
+ # Function: isMailboxEnabled()
2
+
3
+ > **isMailboxEnabled**(`envVars`): `boolean`
4
+
5
+ Checks if the mailbox subsystem is enabled.
6
+ Returns true when any component that depends on the mailbox subsystem is enabled.
7
+
8
+ ## Parameters
9
+
10
+ ### envVars
11
+
12
+ [`IEngineEnvironmentVariables`](../interfaces/IEngineEnvironmentVariables.md)
13
+
14
+ The environment variables.
15
+
16
+ ## Returns
17
+
18
+ `boolean`
19
+
20
+ True if mailbox is enabled.
@@ -50,6 +50,7 @@
50
50
  - [isAutomationRequired](functions/isAutomationRequired.md)
51
51
  - [isTelemetryEnabled](functions/isTelemetryEnabled.md)
52
52
  - [isTracingEnabled](functions/isTracingEnabled.md)
53
+ - [isMailboxEnabled](functions/isMailboxEnabled.md)
53
54
  - [buildEngineServerConfiguration](functions/buildEngineServerConfiguration.md)
54
55
  - [isAuthEntityStorageRequired](functions/isAuthEntityStorageRequired.md)
55
56
  - [extensionsConfiguration](functions/extensionsConfiguration.md)
@@ -887,11 +887,11 @@ The type of event bus component: service.
887
887
 
888
888
  ***
889
889
 
890
- ### messagingEnabled? {#messagingenabled}
890
+ ### emailProtocolConnector? {#emailprotocolconnector}
891
891
 
892
- > `optional` **messagingEnabled?**: `string`
892
+ > `optional` **emailProtocolConnector?**: `string`
893
893
 
894
- Are the messaging components enabled, defaults to false.
894
+ The email protocol connector types, comma-separated: pop3, imap.
895
895
 
896
896
  ***
897
897
 
@@ -947,7 +947,47 @@ The applications for the push notifications reference a separate json with @json
947
947
 
948
948
  > `optional` **messagingEmailConnector?**: `string`
949
949
 
950
- The type of messaging email connector: entity-storage, aws.
950
+ The type of messaging email connector: entity-storage, aws, smtp.
951
+
952
+ ***
953
+
954
+ ### smtpHost? {#smtphost}
955
+
956
+ > `optional` **smtpHost?**: `string`
957
+
958
+ SMTP server hostname or IP address.
959
+
960
+ ***
961
+
962
+ ### smtpPort? {#smtpport}
963
+
964
+ > `optional` **smtpPort?**: `string`
965
+
966
+ SMTP server port, defaults to 587.
967
+
968
+ ***
969
+
970
+ ### smtpSecure? {#smtpsecure}
971
+
972
+ > `optional` **smtpSecure?**: `string`
973
+
974
+ Whether the SMTP connector uses TLS.
975
+
976
+ ***
977
+
978
+ ### smtpUsername? {#smtpusername}
979
+
980
+ > `optional` **smtpUsername?**: `string`
981
+
982
+ SMTP authentication username.
983
+
984
+ ***
985
+
986
+ ### smtpPassword? {#smtppassword}
987
+
988
+ > `optional` **smtpPassword?**: `string`
989
+
990
+ SMTP authentication password.
951
991
 
952
992
  ***
953
993
 
@@ -1109,7 +1149,7 @@ A list of components to exclude from tracing, can be a comma separated list of c
1109
1149
 
1110
1150
  > `optional` **tracingConnector?**: `string`
1111
1151
 
1112
- The type of tracing connector, comma-separated for multiple: entity-storage, open-telemetry, silent.
1152
+ The type of tracing connector, comma-separated for multiple: entity-storage, open-telemetry, console, silent.
1113
1153
 
1114
1154
  ***
1115
1155
 
@@ -1498,14 +1538,6 @@ The identity verification method id to use with attestation.
1498
1538
 
1499
1539
  ***
1500
1540
 
1501
- ### dataProcessingEnabled? {#dataprocessingenabled}
1502
-
1503
- > `optional` **dataProcessingEnabled?**: `string`
1504
-
1505
- Is the data processing enabled, defaults to false.
1506
-
1507
- ***
1508
-
1509
1541
  ### dataConverterConnectors? {#dataconverterconnectors}
1510
1542
 
1511
1543
  > `optional` **dataConverterConnectors?**: `string`
package/locales/en.json CHANGED
@@ -98,7 +98,9 @@
98
98
  },
99
99
  "warn": {
100
100
  "node": {
101
- "unknownEnvVars": "Unknown environment variable properties [{keys}], they will be ignored. Check for typos in variable names, for custom variables use the {prefix}ENV_ALLOW_LIST."
101
+ "unknownEnvVars": "Unknown environment variable properties [{keys}], they will be ignored. Check for typos in variable names, for custom variables use the {prefix}ENV_ALLOW_LIST.",
102
+ "deprecatedEnvVar": "The environment variable \"{key}\" is deprecated and no longer has any effect, please use {replacements} instead. This variable will be removed in a future release.",
103
+ "deprecatedEnvVarNoReplacement": "The environment variable \"{key}\" is deprecated and no longer has any effect. This variable will be removed in a future release."
102
104
  }
103
105
  },
104
106
  "node": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/node-core",
3
- "version": "0.9.3",
3
+ "version": "0.9.4-next.2",
4
4
  "description": "TWIN Node Core for serving APIs using the specified configuration",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,39 +14,39 @@
14
14
  "node": ">=24.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/api-auth-entity-storage-models": "^0.9.2",
18
- "@twin.org/api-auth-entity-storage-service": "^0.9.2",
19
- "@twin.org/api-models": "^0.9.2",
20
- "@twin.org/api-tenant-processor": "^0.9.2",
21
- "@twin.org/cli-core": "^0.9.2",
22
- "@twin.org/context": "^0.9.2",
23
- "@twin.org/core": "^0.9.2",
24
- "@twin.org/crypto": "^0.9.2",
25
- "@twin.org/data-json-ld": "^0.9.2",
26
- "@twin.org/dlt-account": "^0.9.2",
27
- "@twin.org/dlt-iota": "^0.9.2",
28
- "@twin.org/engine": "^0.9.2",
29
- "@twin.org/engine-core": "^0.9.2",
30
- "@twin.org/engine-models": "^0.9.2",
31
- "@twin.org/engine-server": "^0.9.2",
32
- "@twin.org/engine-server-types": "^0.9.2",
33
- "@twin.org/engine-types": "^0.9.2",
34
- "@twin.org/entity": "^0.9.2",
35
- "@twin.org/entity-storage-models": "^0.9.2",
36
- "@twin.org/identity-connector-entity-storage": "^0.9.2",
37
- "@twin.org/identity-models": "^0.9.2",
38
- "@twin.org/logging-connector-opentelemetry": "^0.9.2",
39
- "@twin.org/modules": "^0.9.2",
40
- "@twin.org/nameof": "^0.9.2",
41
- "@twin.org/standards-w3c-did": "^0.9.2",
42
- "@twin.org/standards-w3c-odrl": "^0.9.2",
43
- "@twin.org/telemetry-connector-opentelemetry": "^0.9.2",
44
- "@twin.org/tracing-connector-opentelemetry": "^0.9.2",
45
- "@twin.org/tracing-models": "^0.9.2",
46
- "@twin.org/vault-models": "^0.9.2",
47
- "@twin.org/wallet-connector-entity-storage": "^0.9.2",
48
- "@twin.org/wallet-models": "^0.9.2",
49
- "@twin.org/web": "^0.9.2",
17
+ "@twin.org/api-auth-entity-storage-models": "next",
18
+ "@twin.org/api-auth-entity-storage-service": "next",
19
+ "@twin.org/api-models": "next",
20
+ "@twin.org/api-tenant-processor": "next",
21
+ "@twin.org/cli-core": "next",
22
+ "@twin.org/context": "next",
23
+ "@twin.org/core": "next",
24
+ "@twin.org/crypto": "next",
25
+ "@twin.org/data-json-ld": "next",
26
+ "@twin.org/dlt-account": "next",
27
+ "@twin.org/dlt-iota": "next",
28
+ "@twin.org/engine": "next",
29
+ "@twin.org/engine-core": "next",
30
+ "@twin.org/engine-models": "next",
31
+ "@twin.org/engine-server": "next",
32
+ "@twin.org/engine-server-types": "next",
33
+ "@twin.org/engine-types": "next",
34
+ "@twin.org/entity": "next",
35
+ "@twin.org/entity-storage-models": "next",
36
+ "@twin.org/identity-connector-entity-storage": "next",
37
+ "@twin.org/identity-models": "next",
38
+ "@twin.org/logging-connector-opentelemetry": "next",
39
+ "@twin.org/modules": "next",
40
+ "@twin.org/nameof": "next",
41
+ "@twin.org/standards-w3c-did": "next",
42
+ "@twin.org/standards-w3c-odrl": "next",
43
+ "@twin.org/telemetry-connector-opentelemetry": "next",
44
+ "@twin.org/tracing-connector-opentelemetry": "next",
45
+ "@twin.org/tracing-models": "next",
46
+ "@twin.org/vault-models": "next",
47
+ "@twin.org/wallet-connector-entity-storage": "next",
48
+ "@twin.org/wallet-models": "next",
49
+ "@twin.org/web": "next",
50
50
  "dotenv": "17.4.2",
51
51
  "schema-dts": "2.0.0"
52
52
  },