@twin.org/node-core 0.0.2-next.25 → 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 +1 -1
- 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 -15
- package/dist/types/models/ICacheMetadata.d.ts +17 -0
- 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 +18 -0
- package/dist/types/models/INodeEngineState.d.ts +22 -0
- package/dist/types/models/INodeEnvironmentVariables.d.ts +49 -8
- package/dist/types/models/INodeOptions.d.ts +13 -3
- package/dist/types/models/IProtocolHandlerResult.d.ts +13 -0
- package/dist/types/models/moduleProtocol.d.ts +29 -0
- package/dist/types/models/nodeExtensionMethods.d.ts +2 -2
- package/dist/types/models/nodeFeatures.d.ts +5 -5
- package/dist/types/node.d.ts +17 -7
- package/dist/types/server.d.ts +7 -6
- package/dist/types/utils.d.ts +69 -2
- package/docs/changelog.md +7 -0
- package/docs/detailed-guide.md +129 -0
- 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/createModuleImportUrl.md +21 -0
- package/docs/reference/functions/getExtensionsCacheDir.md +31 -0
- package/docs/reference/functions/handleHttpsProtocol.md +49 -0
- package/docs/reference/functions/handleNpmProtocol.md +31 -0
- package/docs/reference/functions/hashUrl.md +19 -0
- package/docs/reference/functions/isCacheExpired.md +31 -0
- package/docs/reference/functions/overrideModuleImport.md +8 -2
- package/docs/reference/functions/parseModuleProtocol.md +19 -0
- package/docs/reference/functions/resolvePackageEntryPoint.md +32 -0
- package/docs/reference/functions/run.md +3 -3
- package/docs/reference/functions/start.md +8 -2
- package/docs/reference/index.md +18 -2
- package/docs/reference/interfaces/ICacheMetadata.md +27 -0
- package/docs/reference/interfaces/IEngineEnvironmentVariables.md +24 -9
- package/docs/reference/interfaces/IEngineServerEnvironmentVariables.md +36 -13
- package/docs/reference/interfaces/IModuleProtocol.md +27 -0
- package/docs/reference/interfaces/INodeEngineConfig.md +430 -0
- package/docs/reference/interfaces/INodeEngineState.md +39 -0
- package/docs/reference/interfaces/INodeEnvironmentVariables.md +149 -24
- package/docs/reference/interfaces/INodeOptions.md +21 -1
- package/docs/reference/interfaces/IProtocolHandlerResult.md +19 -0
- package/docs/reference/type-aliases/ModuleProtocol.md +5 -0
- package/docs/reference/variables/ModuleProtocol.md +37 -0
- package/docs/reference/variables/NodeFeatures.md +7 -7
- package/locales/en.json +20 -8
- package/package.json +40 -8
- package/dist/cjs/index.cjs +0 -2232
- package/dist/esm/index.mjs +0 -2179
|
@@ -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.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Interface: IProtocolHandlerResult
|
|
2
|
+
|
|
3
|
+
The result from a protocol handler.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### resolvedPath
|
|
8
|
+
|
|
9
|
+
> **resolvedPath**: `string`
|
|
10
|
+
|
|
11
|
+
The resolved path to the module file.
|
|
12
|
+
|
|
13
|
+
***
|
|
14
|
+
|
|
15
|
+
### cached
|
|
16
|
+
|
|
17
|
+
> **cached**: `boolean`
|
|
18
|
+
|
|
19
|
+
Whether the module was cached.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Variable: ModuleProtocol
|
|
2
|
+
|
|
3
|
+
> `const` **ModuleProtocol**: `object`
|
|
4
|
+
|
|
5
|
+
The protocol types for modules.
|
|
6
|
+
|
|
7
|
+
## Type Declaration
|
|
8
|
+
|
|
9
|
+
### Local
|
|
10
|
+
|
|
11
|
+
> `readonly` **Local**: `"local"` = `"local"`
|
|
12
|
+
|
|
13
|
+
Local module (starts with . or / or file://).
|
|
14
|
+
|
|
15
|
+
### Npm
|
|
16
|
+
|
|
17
|
+
> `readonly` **Npm**: `"npm"` = `"npm"`
|
|
18
|
+
|
|
19
|
+
NPM package (starts with npm:).
|
|
20
|
+
|
|
21
|
+
### Https
|
|
22
|
+
|
|
23
|
+
> `readonly` **Https**: `"https"` = `"https"`
|
|
24
|
+
|
|
25
|
+
HTTPS URL (starts with https://).
|
|
26
|
+
|
|
27
|
+
### Http
|
|
28
|
+
|
|
29
|
+
> `readonly` **Http**: `"http"` = `"http"`
|
|
30
|
+
|
|
31
|
+
HTTP URL (starts with http://).
|
|
32
|
+
|
|
33
|
+
### Default
|
|
34
|
+
|
|
35
|
+
> `readonly` **Default**: `"default"` = `"default"`
|
|
36
|
+
|
|
37
|
+
Default/standard module resolution.
|
|
@@ -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
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
"error": {
|
|
3
3
|
"node": {
|
|
4
4
|
"storageFileRootNotSet": "{storageFileRoot} is not set, the server will not start without it, please set it in the shell or create a .env file",
|
|
5
|
-
"extensionLoadingError": "Failed to load extension \"{extension}\""
|
|
5
|
+
"extensionLoadingError": "Failed to load extension \"{extension}\"",
|
|
6
|
+
"insecureProtocol": "Cannot load extension from insecure protocol: {protocol}. Only HTTPS is allowed for remote extensions.",
|
|
7
|
+
"extensionDownloadFailed": "Failed to download extension from {url}",
|
|
8
|
+
"extensionNpmInstallFailed": "Failed to install npm extension: {package}",
|
|
9
|
+
"extensionSizeLimitExceeded": "Extension download size exceeds limit: {size} bytes > {limit} bytes"
|
|
6
10
|
}
|
|
7
11
|
},
|
|
8
12
|
"node": {
|
|
@@ -11,12 +15,13 @@
|
|
|
11
15
|
"existingMnemonic": "Mnemonic already exists",
|
|
12
16
|
"fundingWallet": "Funding wallet \"{address}\"",
|
|
13
17
|
"fundedWallet": "Wallet already funded",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
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}\"",
|
|
17
22
|
"identityExplorer": "Identity explorer \"{url}\"",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
23
|
+
"creatingUser": "Creating user \"{email}\"",
|
|
24
|
+
"existingUser": "User already exists \"{email}\"",
|
|
20
25
|
"creatingAuthKey": "Creating authentication key \"{keyName}\"",
|
|
21
26
|
"existingAuthKey": "Authentication key already exists \"{keyName}\"",
|
|
22
27
|
"addingVerificationMethod": "Adding {title} verification method \"{methodId}\"",
|
|
@@ -29,7 +34,7 @@
|
|
|
29
34
|
"existingSynchronisedStorageBlobEncryptionKey": "Synchronised storage blob encryption key already exists \"{keyName}\"",
|
|
30
35
|
"creatingUserProfile": "Creating user profile \"{identity}\"",
|
|
31
36
|
"existingUserProfile": "User profile already exists \"{identity}\"",
|
|
32
|
-
"
|
|
37
|
+
"nodeId": "Node identity \"{identity}\"",
|
|
33
38
|
"nodeAdminUserEmail": "Node Admin User Email \"{email}\"",
|
|
34
39
|
"nodeAdminUserPassword": "Node Admin User Password \"{password}\"",
|
|
35
40
|
"extensionLoading": "Loading Extension",
|
|
@@ -37,6 +42,13 @@
|
|
|
37
42
|
"extensionInitialisingEngineServer": "Initialising engine server for extension \"{extension}\"",
|
|
38
43
|
"extensionShutdown": "Shutdown extension \"{extension}\"",
|
|
39
44
|
"extendingEngine": "Extending Engine",
|
|
40
|
-
"extendingEngineServer": "Extending Engine Server"
|
|
45
|
+
"extendingEngineServer": "Extending Engine Server",
|
|
46
|
+
"extensionSecurityWarning": "SECURITY WARNING: Loading extension from external URL: {url}",
|
|
47
|
+
"extensionNpmInstalling": "Installing npm extension",
|
|
48
|
+
"extensionHttpsDownloading": "Downloading HTTPS extension",
|
|
49
|
+
"extensionCacheExpired": "Cache expired 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}\""
|
|
41
53
|
}
|
|
42
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"
|