@twin.org/node-core 0.0.2-next.26 → 0.0.2-next.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -20
- package/dist/es/bootstrap.js +374 -0
- package/dist/es/bootstrap.js.map +1 -0
- package/dist/es/builders/engineEnvBuilder.js +1051 -0
- package/dist/es/builders/engineEnvBuilder.js.map +1 -0
- package/dist/es/builders/engineServerEnvBuilder.js +197 -0
- package/dist/es/builders/engineServerEnvBuilder.js.map +1 -0
- package/dist/es/builders/extensionsBuilder.js +100 -0
- package/dist/es/builders/extensionsBuilder.js.map +1 -0
- package/dist/es/defaults.js +9 -0
- package/dist/es/defaults.js.map +1 -0
- package/dist/es/identity.js +169 -0
- package/dist/es/identity.js.map +1 -0
- package/dist/es/index.js +23 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/models/ICacheMetadata.js +4 -0
- package/dist/es/models/ICacheMetadata.js.map +1 -0
- package/dist/es/models/IEngineEnvironmentVariables.js +4 -0
- package/dist/es/models/IEngineEnvironmentVariables.js.map +1 -0
- package/dist/es/models/IEngineServerEnvironmentVariables.js +2 -0
- package/dist/es/models/IEngineServerEnvironmentVariables.js.map +1 -0
- package/dist/es/models/IModuleProtocol.js +2 -0
- package/dist/es/models/IModuleProtocol.js.map +1 -0
- package/dist/es/models/INodeEngineConfig.js +2 -0
- package/dist/es/models/INodeEngineConfig.js.map +1 -0
- package/dist/es/models/INodeEngineState.js +2 -0
- package/dist/es/models/INodeEngineState.js.map +1 -0
- package/dist/es/models/INodeEnvironmentVariables.js +2 -0
- package/dist/es/models/INodeEnvironmentVariables.js.map +1 -0
- package/dist/es/models/INodeOptions.js +2 -0
- package/dist/es/models/INodeOptions.js.map +1 -0
- package/dist/es/models/IProtocolHandlerResult.js +4 -0
- package/dist/es/models/IProtocolHandlerResult.js.map +1 -0
- package/dist/es/models/moduleProtocol.js +29 -0
- package/dist/es/models/moduleProtocol.js.map +1 -0
- package/dist/es/models/nodeExtensionMethods.js +2 -0
- package/dist/es/models/nodeExtensionMethods.js.map +1 -0
- package/dist/es/models/nodeFeatures.js +21 -0
- package/dist/es/models/nodeFeatures.js.map +1 -0
- package/dist/es/node.js +265 -0
- package/dist/es/node.js.map +1 -0
- package/dist/es/server.js +74 -0
- package/dist/es/server.js.map +1 -0
- package/dist/es/utils.js +418 -0
- package/dist/es/utils.js.map +1 -0
- package/dist/types/bootstrap.d.ts +27 -10
- package/dist/types/builders/engineEnvBuilder.d.ts +3 -2
- package/dist/types/builders/engineServerEnvBuilder.d.ts +3 -2
- package/dist/types/builders/extensionsBuilder.d.ts +2 -2
- package/dist/types/identity.d.ts +14 -0
- package/dist/types/index.d.ts +20 -19
- package/dist/types/models/IEngineEnvironmentVariables.d.ts +12 -5
- package/dist/types/models/IEngineServerEnvironmentVariables.d.ts +1 -1
- package/dist/types/models/IModuleProtocol.d.ts +1 -1
- package/dist/types/models/INodeEngineState.d.ts +22 -0
- package/dist/types/models/INodeEnvironmentVariables.d.ts +24 -8
- package/dist/types/models/INodeOptions.d.ts +13 -3
- package/dist/types/models/nodeExtensionMethods.d.ts +2 -2
- package/dist/types/models/nodeFeatures.d.ts +5 -5
- package/dist/types/node.d.ts +14 -5
- package/dist/types/server.d.ts +7 -6
- package/dist/types/utils.d.ts +5 -5
- package/docs/detailed-guide.md +14 -14
- package/docs/reference/functions/bootstrap.md +1 -1
- package/docs/reference/functions/bootstrapAuth.md +1 -1
- package/docs/reference/functions/bootstrapBlobEncryption.md +1 -1
- package/docs/reference/functions/bootstrapContextIdHandlers.md +35 -0
- package/docs/reference/functions/bootstrapImmutableProofMethod.md +1 -1
- package/docs/reference/functions/{bootstrapNodeUser.md → bootstrapNodeAdminUser.md} +3 -3
- package/docs/reference/functions/{bootstrapNodeIdentity.md → bootstrapNodeId.md} +3 -3
- package/docs/reference/functions/bootstrapSynchronisedStorage.md +1 -1
- package/docs/reference/functions/bootstrapTenantId.md +35 -0
- package/docs/reference/functions/buildConfiguration.md +2 -2
- package/docs/reference/functions/buildEngineConfiguration.md +7 -1
- package/docs/reference/functions/buildEngineServerConfiguration.md +7 -1
- package/docs/reference/functions/run.md +3 -3
- package/docs/reference/functions/start.md +8 -2
- package/docs/reference/index.md +5 -2
- package/docs/reference/interfaces/IEngineEnvironmentVariables.md +24 -9
- package/docs/reference/interfaces/IEngineServerEnvironmentVariables.md +36 -13
- package/docs/reference/interfaces/INodeEngineConfig.md +430 -0
- package/docs/reference/interfaces/INodeEngineState.md +39 -0
- package/docs/reference/interfaces/INodeEnvironmentVariables.md +79 -24
- package/docs/reference/interfaces/INodeOptions.md +21 -1
- package/docs/reference/variables/NodeFeatures.md +7 -7
- package/locales/en.json +10 -7
- package/package.json +40 -8
- package/dist/cjs/index.cjs +0 -2570
- package/dist/esm/index.mjs +0 -2508
|
@@ -44,6 +44,42 @@ The name of the state file.
|
|
|
44
44
|
|
|
45
45
|
***
|
|
46
46
|
|
|
47
|
+
### tenantEnabled?
|
|
48
|
+
|
|
49
|
+
> `optional` **tenantEnabled**: `string`
|
|
50
|
+
|
|
51
|
+
Is multi-tenant support enabled, defaults to false.
|
|
52
|
+
|
|
53
|
+
#### Inherited from
|
|
54
|
+
|
|
55
|
+
[`IEngineServerEnvironmentVariables`](IEngineServerEnvironmentVariables.md).[`tenantEnabled`](IEngineServerEnvironmentVariables.md#tenantenabled)
|
|
56
|
+
|
|
57
|
+
***
|
|
58
|
+
|
|
59
|
+
### tenantId?
|
|
60
|
+
|
|
61
|
+
> `optional` **tenantId**: `string`
|
|
62
|
+
|
|
63
|
+
A tenant id to use as a default for the node.
|
|
64
|
+
|
|
65
|
+
#### Inherited from
|
|
66
|
+
|
|
67
|
+
[`IEngineServerEnvironmentVariables`](IEngineServerEnvironmentVariables.md).[`tenantId`](IEngineServerEnvironmentVariables.md#tenantid)
|
|
68
|
+
|
|
69
|
+
***
|
|
70
|
+
|
|
71
|
+
### tenantApiKey?
|
|
72
|
+
|
|
73
|
+
> `optional` **tenantApiKey**: `string`
|
|
74
|
+
|
|
75
|
+
A tenant api key to use as a default for the node.
|
|
76
|
+
|
|
77
|
+
#### Inherited from
|
|
78
|
+
|
|
79
|
+
[`IEngineServerEnvironmentVariables`](IEngineServerEnvironmentVariables.md).[`tenantApiKey`](IEngineServerEnvironmentVariables.md#tenantapikey)
|
|
80
|
+
|
|
81
|
+
***
|
|
82
|
+
|
|
47
83
|
### entityStorageConnectorType?
|
|
48
84
|
|
|
49
85
|
> `optional` **entityStorageConnectorType**: `string`
|
|
@@ -851,19 +887,6 @@ Are the messaging components enabled, defaults to false.
|
|
|
851
887
|
|
|
852
888
|
***
|
|
853
889
|
|
|
854
|
-
### messagingTemplates?
|
|
855
|
-
|
|
856
|
-
> `optional` **messagingTemplates**: `string`
|
|
857
|
-
|
|
858
|
-
An initial set of templates for the messages.
|
|
859
|
-
Use the @json: prefix to specify the path to the JSON file.
|
|
860
|
-
|
|
861
|
-
#### Inherited from
|
|
862
|
-
|
|
863
|
-
[`IEngineServerEnvironmentVariables`](IEngineServerEnvironmentVariables.md).[`messagingTemplates`](IEngineServerEnvironmentVariables.md#messagingtemplates)
|
|
864
|
-
|
|
865
|
-
***
|
|
866
|
-
|
|
867
890
|
### awsSesRegion?
|
|
868
891
|
|
|
869
892
|
> `optional` **awsSesRegion**: `string`
|
|
@@ -1821,32 +1844,64 @@ The features that are enabled on the node.
|
|
|
1821
1844
|
#### Default
|
|
1822
1845
|
|
|
1823
1846
|
```ts
|
|
1824
|
-
[
|
|
1847
|
+
[]
|
|
1825
1848
|
```
|
|
1826
1849
|
|
|
1827
1850
|
***
|
|
1828
1851
|
|
|
1829
|
-
###
|
|
1852
|
+
### nodeIdentity?
|
|
1830
1853
|
|
|
1831
|
-
> `optional` **
|
|
1854
|
+
> `optional` **nodeIdentity**: `string`
|
|
1832
1855
|
|
|
1833
1856
|
The identity of the node which, if empty and node-identity feature is enabled it will be generated.
|
|
1834
1857
|
|
|
1835
1858
|
***
|
|
1836
1859
|
|
|
1837
|
-
###
|
|
1860
|
+
### nodeMnemonic?
|
|
1838
1861
|
|
|
1839
|
-
> `optional` **
|
|
1862
|
+
> `optional` **nodeMnemonic**: `string`
|
|
1840
1863
|
|
|
1841
1864
|
The mnemonic for the identity, if empty and node-identity feature is enabled it will be randomly generated.
|
|
1842
1865
|
|
|
1843
1866
|
***
|
|
1844
1867
|
|
|
1845
|
-
###
|
|
1868
|
+
### organizationIdentity?
|
|
1869
|
+
|
|
1870
|
+
> `optional` **organizationIdentity**: `string`
|
|
1871
|
+
|
|
1872
|
+
If the node-admin-user feature is enabled, this will be the organization of the user, if one is not provided it will be generated
|
|
1873
|
+
|
|
1874
|
+
***
|
|
1875
|
+
|
|
1876
|
+
### organizationMnemonic?
|
|
1877
|
+
|
|
1878
|
+
> `optional` **organizationMnemonic**: `string`
|
|
1879
|
+
|
|
1880
|
+
The mnemonic for the organization, if empty and node-admin-user feature is enabled it will be randomly generated.
|
|
1881
|
+
|
|
1882
|
+
***
|
|
1883
|
+
|
|
1884
|
+
### adminUserIdentity?
|
|
1885
|
+
|
|
1886
|
+
> `optional` **adminUserIdentity**: `string`
|
|
1887
|
+
|
|
1888
|
+
If the node-admin-user feature is enabled, this will be the identity of the user, if one is not provided it will be generated
|
|
1889
|
+
|
|
1890
|
+
***
|
|
1891
|
+
|
|
1892
|
+
### adminUserMnemonic?
|
|
1893
|
+
|
|
1894
|
+
> `optional` **adminUserMnemonic**: `string`
|
|
1895
|
+
|
|
1896
|
+
The mnemonic for the admin user, if empty and node-admin-user feature is enabled it will be randomly generated.
|
|
1897
|
+
|
|
1898
|
+
***
|
|
1899
|
+
|
|
1900
|
+
### adminUserName?
|
|
1846
1901
|
|
|
1847
|
-
> `optional` **
|
|
1902
|
+
> `optional` **adminUserName**: `string`
|
|
1848
1903
|
|
|
1849
|
-
If the node-user feature is enabled, this will be the name of the user.
|
|
1904
|
+
If the node-admin-user feature is enabled, this will be the name of the user.
|
|
1850
1905
|
|
|
1851
1906
|
#### Default
|
|
1852
1907
|
|
|
@@ -1856,11 +1911,11 @@ admin@node
|
|
|
1856
1911
|
|
|
1857
1912
|
***
|
|
1858
1913
|
|
|
1859
|
-
###
|
|
1914
|
+
### adminUserPassword?
|
|
1860
1915
|
|
|
1861
|
-
> `optional` **
|
|
1916
|
+
> `optional` **adminUserPassword**: `string`
|
|
1862
1917
|
|
|
1863
|
-
If the node-user feature is enabled, this will be the password of the user, if empty it will be randomly generated.
|
|
1918
|
+
If the node-admin-user feature is enabled, this will be the password of the user, if empty it will be randomly generated.
|
|
1864
1919
|
|
|
1865
1920
|
***
|
|
1866
1921
|
|
|
@@ -26,6 +26,18 @@ The version of the server, defaults to the current version.
|
|
|
26
26
|
|
|
27
27
|
***
|
|
28
28
|
|
|
29
|
+
### envVars?
|
|
30
|
+
|
|
31
|
+
> `optional` **envVars**: `object`
|
|
32
|
+
|
|
33
|
+
Additional environment variables to set.
|
|
34
|
+
|
|
35
|
+
#### Index Signature
|
|
36
|
+
|
|
37
|
+
\[`key`: `string`\]: `string`
|
|
38
|
+
|
|
39
|
+
***
|
|
40
|
+
|
|
29
41
|
### envFilenames?
|
|
30
42
|
|
|
31
43
|
> `optional` **envFilenames**: `string`[]
|
|
@@ -38,7 +50,7 @@ Additional environment variable filenames to load, defaults to .env.
|
|
|
38
50
|
|
|
39
51
|
> `optional` **envPrefix**: `string`
|
|
40
52
|
|
|
41
|
-
The prefix for environment variables, defaults to "
|
|
53
|
+
The prefix for environment variables, defaults to "TWIN_".
|
|
42
54
|
|
|
43
55
|
***
|
|
44
56
|
|
|
@@ -175,3 +187,11 @@ Method to extend the engine server with any additional options.
|
|
|
175
187
|
|
|
176
188
|
The state storage to use for the engine.
|
|
177
189
|
If not provided, a default file-based state storage will be used.
|
|
190
|
+
|
|
191
|
+
***
|
|
192
|
+
|
|
193
|
+
### disableProcessExitOnFailure?
|
|
194
|
+
|
|
195
|
+
> `optional` **disableProcessExitOnFailure**: `boolean`
|
|
196
|
+
|
|
197
|
+
Disables process.exit calls on fatal errors and throws instead.
|
|
@@ -6,20 +6,20 @@ The features that can be enabled on the node.
|
|
|
6
6
|
|
|
7
7
|
## Type Declaration
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### NodeId
|
|
10
10
|
|
|
11
|
-
> `readonly` **
|
|
11
|
+
> `readonly` **NodeId**: `"node-identity"` = `"node-identity"`
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
NodeId - generates an identity for the node if not provided in config.
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### NodeAdminUser
|
|
16
16
|
|
|
17
|
-
> `readonly` **
|
|
17
|
+
> `readonly` **NodeAdminUser**: `"node-admin-user"` = `"node-admin-user"`
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
NodeAdminUser - generates an admin user for the node if not provided in config.
|
|
20
20
|
|
|
21
21
|
### NodeWallet
|
|
22
22
|
|
|
23
23
|
> `readonly` **NodeWallet**: `"node-wallet"` = `"node-wallet"`
|
|
24
24
|
|
|
25
|
-
NodeWallet - generates
|
|
25
|
+
NodeWallet - generates wallets for any identities that need them.
|
package/locales/en.json
CHANGED
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
"existingMnemonic": "Mnemonic already exists",
|
|
16
16
|
"fundingWallet": "Funding wallet \"{address}\"",
|
|
17
17
|
"fundedWallet": "Wallet already funded",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
18
|
+
"processingIdentity": "Processing identity of type \"{identityType}\"",
|
|
19
|
+
"generatingIdentity": "Generating identity of type \"{identityType}\"",
|
|
20
|
+
"existingIdentity": "Identity already exists \"{identity}\"",
|
|
21
|
+
"createdIdentity": "Identity created \"{identity}\"",
|
|
21
22
|
"identityExplorer": "Identity explorer \"{url}\"",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
23
|
+
"creatingUser": "Creating user \"{email}\"",
|
|
24
|
+
"existingUser": "User already exists \"{email}\"",
|
|
24
25
|
"creatingAuthKey": "Creating authentication key \"{keyName}\"",
|
|
25
26
|
"existingAuthKey": "Authentication key already exists \"{keyName}\"",
|
|
26
27
|
"addingVerificationMethod": "Adding {title} verification method \"{methodId}\"",
|
|
@@ -33,7 +34,7 @@
|
|
|
33
34
|
"existingSynchronisedStorageBlobEncryptionKey": "Synchronised storage blob encryption key already exists \"{keyName}\"",
|
|
34
35
|
"creatingUserProfile": "Creating user profile \"{identity}\"",
|
|
35
36
|
"existingUserProfile": "User profile already exists \"{identity}\"",
|
|
36
|
-
"
|
|
37
|
+
"nodeId": "Node identity \"{identity}\"",
|
|
37
38
|
"nodeAdminUserEmail": "Node Admin User Email \"{email}\"",
|
|
38
39
|
"nodeAdminUserPassword": "Node Admin User Password \"{password}\"",
|
|
39
40
|
"extensionLoading": "Loading Extension",
|
|
@@ -46,6 +47,8 @@
|
|
|
46
47
|
"extensionNpmInstalling": "Installing npm extension",
|
|
47
48
|
"extensionHttpsDownloading": "Downloading HTTPS extension",
|
|
48
49
|
"extensionCacheExpired": "Cache expired for extension: {url}",
|
|
49
|
-
"extensionForceRefresh": "Force refresh enabled for extension: {url}"
|
|
50
|
+
"extensionForceRefresh": "Force refresh enabled for extension: {url}",
|
|
51
|
+
"createdTenantId": "Created tenant id \"{identity}\" with api key \"{apiKey}\"",
|
|
52
|
+
"existingTenantId": "Existing tenant id \"{identity}\""
|
|
50
53
|
}
|
|
51
54
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/node-core",
|
|
3
|
-
"version": "0.0.2-next.
|
|
3
|
+
"version": "0.0.2-next.27",
|
|
4
4
|
"description": "TWIN Node Core for serving APIs using the specified configuration",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,10 +13,27 @@
|
|
|
13
13
|
"engines": {
|
|
14
14
|
"node": ">=20.0.0"
|
|
15
15
|
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"clean": "rimraf dist coverage docs/reference",
|
|
18
|
+
"build": "tspc",
|
|
19
|
+
"dev": "nodemon --watch src --ext ts --exec \"npm run build\"",
|
|
20
|
+
"merge-locales": "merge-locales",
|
|
21
|
+
"test": "vitest --run --config ./vitest.config.ts --no-cache",
|
|
22
|
+
"test:build": "tspc -p ./tests/tsconfig.json --noEmit",
|
|
23
|
+
"validate-locales": "validate-locales",
|
|
24
|
+
"test:coverage": "vitest --run --coverage --config ./vitest.config.ts --no-cache",
|
|
25
|
+
"docs:clean": "rimraf docs/reference",
|
|
26
|
+
"docs:generate": "typedoc",
|
|
27
|
+
"docs": "npm run docs:clean && npm run docs:generate",
|
|
28
|
+
"dist": "npm run clean && npm run build && npm run merge-locales && npm run validate-locales && npm run test:build && npm run test && npm run docs",
|
|
29
|
+
"dist:no-test": "npm run clean && npm run build && npm run merge-locales && npm run docs"
|
|
30
|
+
},
|
|
16
31
|
"dependencies": {
|
|
17
32
|
"@twin.org/api-auth-entity-storage-service": "next",
|
|
18
|
-
"@twin.org/
|
|
33
|
+
"@twin.org/api-tenant-processor": "next",
|
|
34
|
+
"@twin.org/context": "next",
|
|
19
35
|
"@twin.org/core": "next",
|
|
36
|
+
"@twin.org/cli-core": "next",
|
|
20
37
|
"@twin.org/crypto": "next",
|
|
21
38
|
"@twin.org/data-space-connector-models": "next",
|
|
22
39
|
"@twin.org/engine": "next",
|
|
@@ -36,20 +53,35 @@
|
|
|
36
53
|
"dotenv": "17.2.3",
|
|
37
54
|
"schema-dts": "1.1.5"
|
|
38
55
|
},
|
|
39
|
-
"
|
|
40
|
-
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@twin.org/entity-storage-connector-memory": "next",
|
|
58
|
+
"@twin.org/merge-locales": "next",
|
|
59
|
+
"@twin.org/nameof-transformer": "next",
|
|
60
|
+
"@twin.org/nameof-vitest-plugin": "next",
|
|
61
|
+
"@twin.org/validate-locales": "next",
|
|
62
|
+
"@twin.org/ts-to-openapi": "next",
|
|
63
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
64
|
+
"copyfiles": "2.4.1",
|
|
65
|
+
"nodemon": "3.1.10",
|
|
66
|
+
"rimraf": "6.0.1",
|
|
67
|
+
"ts-patch": "3.3.0",
|
|
68
|
+
"typedoc": "0.28.13",
|
|
69
|
+
"typedoc-plugin-markdown": "4.9.0",
|
|
70
|
+
"typescript": "5.9.3",
|
|
71
|
+
"vitest": "3.2.4"
|
|
72
|
+
},
|
|
73
|
+
"main": "./dist/es/index.js",
|
|
41
74
|
"types": "./dist/types/index.d.ts",
|
|
42
75
|
"exports": {
|
|
43
76
|
".": {
|
|
44
77
|
"types": "./dist/types/index.d.ts",
|
|
45
|
-
"
|
|
46
|
-
"
|
|
78
|
+
"import": "./dist/es/index.js",
|
|
79
|
+
"default": "./dist/es/index.js"
|
|
47
80
|
},
|
|
48
81
|
"./locales/*.json": "./locales/*.json"
|
|
49
82
|
},
|
|
50
83
|
"files": [
|
|
51
|
-
"dist/
|
|
52
|
-
"dist/esm",
|
|
84
|
+
"dist/es",
|
|
53
85
|
"dist/types",
|
|
54
86
|
"locales",
|
|
55
87
|
"docs"
|