@twin.org/node-core 0.0.3-next.4 → 0.0.3-next.40
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 +3 -1
- package/dist/es/builders/engineEnvBuilder.js +443 -126
- package/dist/es/builders/engineEnvBuilder.js.map +1 -1
- package/dist/es/builders/engineServerEnvBuilder.js +89 -32
- package/dist/es/builders/engineServerEnvBuilder.js.map +1 -1
- package/dist/es/builders/extensionsBuilder.js.map +1 -1
- package/dist/es/cli.js +247 -0
- package/dist/es/cli.js.map +1 -0
- package/dist/es/commands/bootstrapLegacy.js +199 -0
- package/dist/es/commands/bootstrapLegacy.js.map +1 -0
- package/dist/es/commands/help.js +85 -0
- package/dist/es/commands/help.js.map +1 -0
- package/dist/es/commands/identityCreate.js +327 -0
- package/dist/es/commands/identityCreate.js.map +1 -0
- package/dist/es/commands/identityImports.js +82 -0
- package/dist/es/commands/identityImports.js.map +1 -0
- package/dist/es/commands/identityVerifiableCredentialCreate.js +146 -0
- package/dist/es/commands/identityVerifiableCredentialCreate.js.map +1 -0
- package/dist/es/commands/identityVerificationMethodCreate.js +228 -0
- package/dist/es/commands/identityVerificationMethodCreate.js.map +1 -0
- package/dist/es/commands/identityVerificationMethodImport.js +126 -0
- package/dist/es/commands/identityVerificationMethodImport.js.map +1 -0
- package/dist/es/commands/nodeSetIdentity.js +64 -0
- package/dist/es/commands/nodeSetIdentity.js.map +1 -0
- package/dist/es/commands/nodeSetTenant.js +68 -0
- package/dist/es/commands/nodeSetTenant.js.map +1 -0
- package/dist/es/commands/tenantCreate.js +139 -0
- package/dist/es/commands/tenantCreate.js.map +1 -0
- package/dist/es/commands/tenantImport.js +97 -0
- package/dist/es/commands/tenantImport.js.map +1 -0
- package/dist/es/commands/tenantUpdate.js +94 -0
- package/dist/es/commands/tenantUpdate.js.map +1 -0
- package/dist/es/commands/userCreate.js +239 -0
- package/dist/es/commands/userCreate.js.map +1 -0
- package/dist/es/commands/userUpdate.js +154 -0
- package/dist/es/commands/userUpdate.js.map +1 -0
- package/dist/es/commands/vaultKeyCreate.js +191 -0
- package/dist/es/commands/vaultKeyCreate.js.map +1 -0
- package/dist/es/commands/vaultKeyImport.js +104 -0
- package/dist/es/commands/vaultKeyImport.js.map +1 -0
- package/dist/es/defaults.js +19 -1
- package/dist/es/defaults.js.map +1 -1
- package/dist/es/index.js +11 -4
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/ICliArgs.js +4 -0
- package/dist/es/models/ICliArgs.js.map +1 -0
- package/dist/es/models/ICliCommand.js +2 -0
- package/dist/es/models/ICliCommand.js.map +1 -0
- package/dist/es/models/ICliCommandDefinition.js +2 -0
- package/dist/es/models/ICliCommandDefinition.js.map +1 -0
- package/dist/es/models/ICliCommandDefinitionParam.js +2 -0
- package/dist/es/models/ICliCommandDefinitionParam.js.map +1 -0
- package/dist/es/models/IEngineEnvironmentVariables.js.map +1 -1
- package/dist/es/models/IEngineServerEnvironmentVariables.js.map +1 -1
- package/dist/es/models/INodeEngineState.js.map +1 -1
- package/dist/es/models/INodeEnvironmentVariables.js.map +1 -1
- package/dist/es/models/INodeOptions.js.map +1 -1
- package/dist/es/models/cliCommandParamType.js +4 -0
- package/dist/es/models/cliCommandParamType.js.map +1 -0
- package/dist/es/models/nodeExtensionInitialiseEngineMethod.js +2 -0
- package/dist/es/models/nodeExtensionInitialiseEngineMethod.js.map +1 -0
- package/dist/es/models/nodeExtensionInitialiseEngineServerMethod.js +2 -0
- package/dist/es/models/nodeExtensionInitialiseEngineServerMethod.js.map +1 -0
- package/dist/es/models/nodeExtensionInitialiseMethod.js +2 -0
- package/dist/es/models/nodeExtensionInitialiseMethod.js.map +1 -0
- package/dist/es/models/nodeExtensionShutdownMethod.js +4 -0
- package/dist/es/models/nodeExtensionShutdownMethod.js.map +1 -0
- package/dist/es/node.js +86 -39
- package/dist/es/node.js.map +1 -1
- package/dist/es/start.js +139 -0
- package/dist/es/start.js.map +1 -0
- package/dist/es/utils.js +12 -22
- package/dist/es/utils.js.map +1 -1
- package/dist/types/builders/engineEnvBuilder.d.ts +64 -1
- package/dist/types/builders/engineServerEnvBuilder.d.ts +11 -2
- package/dist/types/cli.d.ts +56 -0
- package/dist/types/commands/bootstrapLegacy.d.ts +66 -0
- package/dist/types/commands/help.d.ts +23 -0
- package/dist/types/commands/identityCreate.d.ts +39 -0
- package/dist/types/commands/identityImports.d.ts +24 -0
- package/dist/types/commands/identityVerifiableCredentialCreate.d.ts +43 -0
- package/dist/types/commands/identityVerificationMethodCreate.d.ts +47 -0
- package/dist/types/commands/identityVerificationMethodImport.d.ts +31 -0
- package/dist/types/commands/nodeSetIdentity.d.ts +22 -0
- package/dist/types/commands/nodeSetTenant.d.ts +22 -0
- package/dist/types/commands/tenantCreate.d.ts +38 -0
- package/dist/types/commands/tenantImport.d.ts +26 -0
- package/dist/types/commands/tenantUpdate.d.ts +26 -0
- package/dist/types/commands/userCreate.d.ts +51 -0
- package/dist/types/commands/userUpdate.d.ts +40 -0
- package/dist/types/commands/vaultKeyCreate.d.ts +43 -0
- package/dist/types/commands/vaultKeyImport.d.ts +28 -0
- package/dist/types/defaults.d.ts +10 -1
- package/dist/types/index.d.ts +11 -4
- package/dist/types/models/ICliArgs.d.ts +20 -0
- package/dist/types/models/ICliCommand.d.ts +17 -0
- package/dist/types/models/ICliCommandDefinition.d.ts +46 -0
- package/dist/types/models/ICliCommandDefinitionParam.d.ts +35 -0
- package/dist/types/models/IEngineEnvironmentVariables.d.ts +117 -60
- package/dist/types/models/IEngineServerEnvironmentVariables.d.ts +8 -0
- package/dist/types/models/INodeEngineState.d.ts +0 -8
- package/dist/types/models/INodeEnvironmentVariables.d.ts +0 -38
- package/dist/types/models/INodeOptions.d.ts +6 -2
- package/dist/types/models/cliCommandParamType.d.ts +4 -0
- package/dist/types/models/nodeExtensionInitialiseEngineMethod.d.ts +7 -0
- package/dist/types/models/nodeExtensionInitialiseEngineServerMethod.d.ts +8 -0
- package/dist/types/models/nodeExtensionInitialiseMethod.d.ts +8 -0
- package/dist/types/models/nodeExtensionShutdownMethod.d.ts +5 -0
- package/dist/types/node.d.ts +5 -4
- package/dist/types/{server.d.ts → start.d.ts} +4 -2
- package/dist/types/utils.d.ts +6 -8
- package/docs/changelog.md +532 -176
- package/docs/examples.md +99 -1
- package/docs/reference/functions/buildConfiguration.md +1 -1
- package/docs/reference/functions/buildEngineServerConfiguration.md +1 -1
- package/docs/reference/functions/constructCliCommand.md +27 -0
- package/docs/reference/functions/executeCommand.md +29 -0
- package/docs/reference/functions/getEnvDefaults.md +19 -0
- package/docs/reference/functions/getScriptDirectory.md +19 -0
- package/docs/reference/functions/isAuthEntityStorageRequired.md +20 -0
- package/docs/reference/functions/isAutomationRequired.md +20 -0
- package/docs/reference/functions/isBackgroundTasksRequired.md +20 -0
- package/docs/reference/functions/isFederatedCatalogueRequired.md +20 -0
- package/docs/reference/functions/isImmutableProofRequired.md +20 -0
- package/docs/reference/functions/isRightsManagementRequired.md +20 -0
- package/docs/reference/functions/isTaskSchedulerRequired.md +20 -0
- package/docs/reference/functions/isTelemetryRequired.md +20 -0
- package/docs/reference/functions/isTrustRequired.md +20 -0
- package/docs/reference/functions/isUrlTransformerRequired.md +20 -0
- package/docs/reference/functions/parseCommandLineArgs.md +19 -0
- package/docs/reference/functions/processEnvOptions.md +27 -0
- package/docs/reference/functions/registerCommands.md +9 -0
- package/docs/reference/functions/resolvePackageEntryPoint.md +2 -2
- package/docs/reference/functions/run.md +8 -2
- package/docs/reference/functions/start.md +9 -3
- package/docs/reference/functions/substituteEnvOptions.md +25 -0
- package/docs/reference/index.md +26 -13
- package/docs/reference/interfaces/ICacheMetadata.md +3 -3
- package/docs/reference/interfaces/ICliArgs.md +35 -0
- package/docs/reference/interfaces/ICliCommand.md +23 -0
- package/docs/reference/interfaces/ICliCommandDefinition.md +101 -0
- package/docs/reference/interfaces/ICliCommandDefinitionParam.md +65 -0
- package/docs/reference/interfaces/IEngineEnvironmentVariables.md +420 -311
- package/docs/reference/interfaces/IEngineServerEnvironmentVariables.md +545 -368
- package/docs/reference/interfaces/IModuleProtocol.md +3 -3
- package/docs/reference/interfaces/INodeEngineState.md +4 -20
- package/docs/reference/interfaces/INodeEnvironmentVariables.md +551 -450
- package/docs/reference/interfaces/INodeOptions.md +44 -36
- package/docs/reference/interfaces/IProtocolHandlerResult.md +2 -2
- package/docs/reference/type-aliases/CliCommandParamType.md +5 -0
- package/docs/reference/type-aliases/NodeExtensionInitialiseEngineMethod.md +1 -1
- package/docs/reference/type-aliases/NodeExtensionInitialiseEngineServerMethod.md +1 -1
- package/docs/reference/type-aliases/NodeExtensionInitialiseMethod.md +1 -1
- package/docs/reference/type-aliases/NodeExtensionShutdownMethod.md +1 -1
- package/docs/reference/variables/ModuleProtocol.md +5 -5
- package/docs/reference/variables/TRUST_VERIFICATION_METHOD_ID.md +3 -0
- package/docs/reference/variables/URL_TRANSFORMER_ENCRYPTION_KEY_ID.md +3 -0
- package/locales/en.json +600 -30
- package/package.json +10 -6
- package/dist/es/bootstrap.js +0 -366
- package/dist/es/bootstrap.js.map +0 -1
- package/dist/es/identity.js +0 -182
- package/dist/es/identity.js.map +0 -1
- package/dist/es/models/nodeExtensionMethods.js +0 -2
- package/dist/es/models/nodeExtensionMethods.js.map +0 -1
- package/dist/es/models/nodeFeatures.js +0 -21
- package/dist/es/models/nodeFeatures.js.map +0 -1
- package/dist/es/server.js +0 -81
- package/dist/es/server.js.map +0 -1
- package/dist/types/bootstrap.d.ts +0 -68
- package/dist/types/identity.d.ts +0 -14
- package/dist/types/models/nodeExtensionMethods.d.ts +0 -27
- package/dist/types/models/nodeFeatures.d.ts +0 -21
- package/docs/detailed-guide.md +0 -129
- package/docs/reference/functions/bootstrap.md +0 -29
- package/docs/reference/functions/bootstrapAuth.md +0 -35
- package/docs/reference/functions/bootstrapBlobEncryption.md +0 -35
- package/docs/reference/functions/bootstrapImmutableProofMethod.md +0 -35
- package/docs/reference/functions/bootstrapNodeAdminUser.md +0 -35
- package/docs/reference/functions/bootstrapNodeId.md +0 -35
- package/docs/reference/functions/bootstrapSynchronisedStorage.md +0 -35
- package/docs/reference/functions/bootstrapTenantId.md +0 -35
- package/docs/reference/functions/getFeatures.md +0 -19
- package/docs/reference/type-aliases/NodeFeatures.md +0 -5
- package/docs/reference/variables/NodeFeatures.md +0 -25
- package/docs/reference/variables/VC_AUTHENTICATION_VERIFICATION_METHOD_ID.md +0 -3
package/docs/examples.md
CHANGED
|
@@ -1 +1,99 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Node Core Examples
|
|
2
|
+
|
|
3
|
+
These snippets show practical runtime setup patterns, state inspection, and controlled shutdown so you can move from local development to automation with predictable behaviour.
|
|
4
|
+
|
|
5
|
+
## Engine
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { run } from '@twin.org/node-core';
|
|
9
|
+
|
|
10
|
+
const runtime = await run(
|
|
11
|
+
{
|
|
12
|
+
disableProcessExitOnFailure: true,
|
|
13
|
+
envVars: {
|
|
14
|
+
TWIN_HOST: '127.0.0.1',
|
|
15
|
+
TWIN_PORT: '8080',
|
|
16
|
+
TWIN_STORAGE_FILE_ROOT: './storage',
|
|
17
|
+
TWIN_STATE_FILENAME: 'engine-state.json'
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
['node', 'index.js']
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
if (runtime) {
|
|
24
|
+
const state = runtime.engine.getState();
|
|
25
|
+
console.log(typeof state); // object
|
|
26
|
+
console.log(state.nodeId ?? 'not-configured'); // not-configured
|
|
27
|
+
await runtime.shutdown();
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { run } from '@twin.org/node-core';
|
|
33
|
+
|
|
34
|
+
const runtime = await run(
|
|
35
|
+
{
|
|
36
|
+
disableProcessExitOnFailure: true,
|
|
37
|
+
envVars: {
|
|
38
|
+
TWIN_HOST: '127.0.0.1',
|
|
39
|
+
TWIN_PORT: '8081',
|
|
40
|
+
TWIN_STORAGE_FILE_ROOT: './storage',
|
|
41
|
+
TWIN_STATE_FILENAME: 'engine-state.json'
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
['node', 'index.js']
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
if (runtime) {
|
|
48
|
+
await runtime.engine.logInfo('Startup validation completed');
|
|
49
|
+
const state = runtime.engine.getState();
|
|
50
|
+
console.log(Object.keys(state).length >= 0); // true
|
|
51
|
+
await runtime.shutdown();
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## EngineServer
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import type { IServerInfo } from '@twin.org/api-models';
|
|
59
|
+
import type { INodeOptions } from '@twin.org/node-core';
|
|
60
|
+
import { buildConfiguration, start } from '@twin.org/node-core';
|
|
61
|
+
|
|
62
|
+
const processEnv: Record<string, string> = {
|
|
63
|
+
TWIN_HOST: '127.0.0.1',
|
|
64
|
+
TWIN_PORT: '8082',
|
|
65
|
+
TWIN_STORAGE_FILE_ROOT: './storage',
|
|
66
|
+
TWIN_STATE_FILENAME: 'engine-state.json'
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const options: INodeOptions = {
|
|
70
|
+
disableProcessExitOnFailure: true,
|
|
71
|
+
envPrefix: 'TWIN_',
|
|
72
|
+
executionDirectory: process.cwd(),
|
|
73
|
+
scriptDirectory: process.cwd()
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const serverInfo: IServerInfo = {
|
|
77
|
+
name: 'Local Runtime',
|
|
78
|
+
version: '0.0.0-dev'
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const { nodeEngineConfig, nodeEnvVars, availableContextIdKeys } = await buildConfiguration(
|
|
82
|
+
processEnv,
|
|
83
|
+
options,
|
|
84
|
+
serverInfo
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
const runtime = await start(
|
|
88
|
+
options,
|
|
89
|
+
nodeEngineConfig,
|
|
90
|
+
nodeEnvVars,
|
|
91
|
+
undefined,
|
|
92
|
+
availableContextIdKeys
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
if (runtime) {
|
|
96
|
+
console.log(typeof runtime.server.stop); // function
|
|
97
|
+
await runtime.server.stop();
|
|
98
|
+
}
|
|
99
|
+
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **buildConfiguration**(`processEnv`, `options`, `serverInfo`): `Promise`\<\{ `nodeEnvVars`: [`INodeEnvironmentVariables`](../interfaces/INodeEnvironmentVariables.md) & `object`; `nodeEngineConfig`: [`INodeEngineConfig`](../interfaces/INodeEngineConfig.md); `availableContextIdKeys`: `object`[]; \}\>
|
|
4
4
|
|
|
5
|
-
Build the configuration for the TWIN Node
|
|
5
|
+
Build the configuration for the TWIN Node.
|
|
6
6
|
|
|
7
7
|
## Parameters
|
|
8
8
|
|
|
@@ -8,7 +8,7 @@ Handles the configuration of the server.
|
|
|
8
8
|
|
|
9
9
|
### envVars
|
|
10
10
|
|
|
11
|
-
[`IEngineServerEnvironmentVariables`](../interfaces/IEngineServerEnvironmentVariables.md)
|
|
11
|
+
[`IEngineServerEnvironmentVariables`](../interfaces/IEngineServerEnvironmentVariables.md) & `object`
|
|
12
12
|
|
|
13
13
|
The environment variables for the engine server.
|
|
14
14
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Function: constructCliCommand()
|
|
2
|
+
|
|
3
|
+
> **constructCliCommand**(`processEnv`, `cliArgs`): [`ICliCommand`](../interfaces/ICliCommand.md) \| `undefined`
|
|
4
|
+
|
|
5
|
+
Construct the CLI command from the parsed arguments.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
### processEnv
|
|
10
|
+
|
|
11
|
+
The environment variables from the process.
|
|
12
|
+
|
|
13
|
+
### cliArgs
|
|
14
|
+
|
|
15
|
+
[`ICliArgs`](../interfaces/ICliArgs.md)
|
|
16
|
+
|
|
17
|
+
The parsed CLI arguments.
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
[`ICliCommand`](../interfaces/ICliCommand.md) \| `undefined`
|
|
22
|
+
|
|
23
|
+
The constructed CLI command.
|
|
24
|
+
|
|
25
|
+
## Throws
|
|
26
|
+
|
|
27
|
+
GeneralError if the command is missing.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Function: executeCommand()
|
|
2
|
+
|
|
3
|
+
> **executeCommand**(`engineCore`, `envVars`, `cliCommand`): `Promise`\<`void`\>
|
|
4
|
+
|
|
5
|
+
Execute the CLI command.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
### engineCore
|
|
10
|
+
|
|
11
|
+
`IEngineCore`
|
|
12
|
+
|
|
13
|
+
The engine core.
|
|
14
|
+
|
|
15
|
+
### envVars
|
|
16
|
+
|
|
17
|
+
[`INodeEnvironmentVariables`](../interfaces/INodeEnvironmentVariables.md)
|
|
18
|
+
|
|
19
|
+
The environment variables for the node.
|
|
20
|
+
|
|
21
|
+
### cliCommand
|
|
22
|
+
|
|
23
|
+
[`ICliCommand`](../interfaces/ICliCommand.md)
|
|
24
|
+
|
|
25
|
+
The CLI command to execute.
|
|
26
|
+
|
|
27
|
+
## Returns
|
|
28
|
+
|
|
29
|
+
`Promise`\<`void`\>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Function: getEnvDefaults()
|
|
2
|
+
|
|
3
|
+
> **getEnvDefaults**(`envPrefix`): `object`
|
|
4
|
+
|
|
5
|
+
Get the default environment variables for the node.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
### envPrefix
|
|
10
|
+
|
|
11
|
+
`string`
|
|
12
|
+
|
|
13
|
+
The environment variable prefix.
|
|
14
|
+
|
|
15
|
+
## Returns
|
|
16
|
+
|
|
17
|
+
`object`
|
|
18
|
+
|
|
19
|
+
The default environment variables.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Function: getScriptDirectory()
|
|
2
|
+
|
|
3
|
+
> **getScriptDirectory**(`args?`): `string`
|
|
4
|
+
|
|
5
|
+
Get the directory where the script is located.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
### args?
|
|
10
|
+
|
|
11
|
+
`string`[]
|
|
12
|
+
|
|
13
|
+
The command line arguments.
|
|
14
|
+
|
|
15
|
+
## Returns
|
|
16
|
+
|
|
17
|
+
`string`
|
|
18
|
+
|
|
19
|
+
The execution directory.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isAuthEntityStorageRequired()
|
|
2
|
+
|
|
3
|
+
> **isAuthEntityStorageRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the authentication entity storage subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the authentication entity storage subsystem is enabled.
|
|
7
|
+
|
|
8
|
+
## Parameters
|
|
9
|
+
|
|
10
|
+
### envVars
|
|
11
|
+
|
|
12
|
+
[`IEngineServerEnvironmentVariables`](../interfaces/IEngineServerEnvironmentVariables.md)
|
|
13
|
+
|
|
14
|
+
The environment variables.
|
|
15
|
+
|
|
16
|
+
## Returns
|
|
17
|
+
|
|
18
|
+
`boolean`
|
|
19
|
+
|
|
20
|
+
True if authentication entity storage is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isAutomationRequired()
|
|
2
|
+
|
|
3
|
+
> **isAutomationRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the automation subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the automation 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 automation is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isBackgroundTasksRequired()
|
|
2
|
+
|
|
3
|
+
> **isBackgroundTasksRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the background tasks subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the background tasks 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 dataspace or verifiable storage is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isFederatedCatalogueRequired()
|
|
2
|
+
|
|
3
|
+
> **isFederatedCatalogueRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the immutable proof subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the immutable proof 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 verifiable storage is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isImmutableProofRequired()
|
|
2
|
+
|
|
3
|
+
> **isImmutableProofRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the immutable proof subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the immutable proof 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 verifiable storage is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isRightsManagementRequired()
|
|
2
|
+
|
|
3
|
+
> **isRightsManagementRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the rights management subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the rights management 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 rights management is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isTaskSchedulerRequired()
|
|
2
|
+
|
|
3
|
+
> **isTaskSchedulerRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the task scheduler subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the task scheduler 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 task scheduler is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isTelemetryRequired()
|
|
2
|
+
|
|
3
|
+
> **isTelemetryRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the telemetry subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the telemetry 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 telemetry is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isTrustRequired()
|
|
2
|
+
|
|
3
|
+
> **isTrustRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the trust subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the trust 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 rights-management, synchronised-storage, or dataspace is enabled.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Function: isUrlTransformerRequired()
|
|
2
|
+
|
|
3
|
+
> **isUrlTransformerRequired**(`envVars`): `boolean`
|
|
4
|
+
|
|
5
|
+
Checks if the URL transformer subsystem is required.
|
|
6
|
+
Returns true when any component that depends on the URL transformer 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 rights-management, dataspace, federated-catalogue, or tenant is enabled.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Function: parseCommandLineArgs()
|
|
2
|
+
|
|
3
|
+
> **parseCommandLineArgs**(`args?`): [`ICliArgs`](../interfaces/ICliArgs.md)
|
|
4
|
+
|
|
5
|
+
Parse command line arguments.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
### args?
|
|
10
|
+
|
|
11
|
+
`string`[]
|
|
12
|
+
|
|
13
|
+
The command line arguments.
|
|
14
|
+
|
|
15
|
+
## Returns
|
|
16
|
+
|
|
17
|
+
[`ICliArgs`](../interfaces/ICliArgs.md)
|
|
18
|
+
|
|
19
|
+
The parsed command line arguments.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Function: processEnvOptions()
|
|
2
|
+
|
|
3
|
+
> **processEnvOptions**(`processEnv`, `options`): `void`
|
|
4
|
+
|
|
5
|
+
Load the env files and process the options.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
### processEnv
|
|
10
|
+
|
|
11
|
+
The environment variables from the process.
|
|
12
|
+
|
|
13
|
+
### options
|
|
14
|
+
|
|
15
|
+
`object`[]
|
|
16
|
+
|
|
17
|
+
The options.
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
`void`
|
|
22
|
+
|
|
23
|
+
The processed parameters.
|
|
24
|
+
|
|
25
|
+
## Throws
|
|
26
|
+
|
|
27
|
+
GeneralError if an env file has errors.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: resolvePackageEntryPoint()
|
|
2
2
|
|
|
3
|
-
> **resolvePackageEntryPoint**(`packagePath`, `packageName`, `fallback
|
|
3
|
+
> **resolvePackageEntryPoint**(`packagePath`, `packageName`, `fallback?`): `Promise`\<`string`\>
|
|
4
4
|
|
|
5
5
|
Resolve the main entry point from a package directory using Node.js resolution with fallback.
|
|
6
6
|
Uses require.resolve() when possible for standard Node.js behavior, with manual fallback.
|
|
@@ -19,7 +19,7 @@ The absolute path to the package directory.
|
|
|
19
19
|
|
|
20
20
|
The package name for require.resolve().
|
|
21
21
|
|
|
22
|
-
### fallback
|
|
22
|
+
### fallback?
|
|
23
23
|
|
|
24
24
|
`string` = `"index.js"`
|
|
25
25
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Function: run()
|
|
2
2
|
|
|
3
|
-
> **run**(`nodeOptions?`): `Promise`\<\{ `engine`: `Engine`\<`IEngineServerConfig`, [`INodeEngineState`](../interfaces/INodeEngineState.md)\>; `server`: `EngineServer`; `shutdown`: () => `Promise`\<`void`\>; \} \| `undefined`\>
|
|
3
|
+
> **run**(`nodeOptions?`, `args?`): `Promise`\<\{ `engine`: `Engine`\<`IEngineServerConfig`, [`INodeEngineState`](../interfaces/INodeEngineState.md)\>; `server`: `EngineServer`; `shutdown`: () => `Promise`\<`void`\>; \} \| `undefined`\>
|
|
4
4
|
|
|
5
|
-
Run the TWIN Node
|
|
5
|
+
Run the TWIN Node.
|
|
6
6
|
|
|
7
7
|
## Parameters
|
|
8
8
|
|
|
@@ -12,6 +12,12 @@ Run the TWIN Node server.
|
|
|
12
12
|
|
|
13
13
|
Optional configuration options for running the server.
|
|
14
14
|
|
|
15
|
+
### args?
|
|
16
|
+
|
|
17
|
+
`string`[]
|
|
18
|
+
|
|
19
|
+
Optional command line arguments.
|
|
20
|
+
|
|
15
21
|
## Returns
|
|
16
22
|
|
|
17
23
|
`Promise`\<\{ `engine`: `Engine`\<`IEngineServerConfig`, [`INodeEngineState`](../interfaces/INodeEngineState.md)\>; `server`: `EngineServer`; `shutdown`: () => `Promise`\<`void`\>; \} \| `undefined`\>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: start()
|
|
2
2
|
|
|
3
|
-
> **start**(`nodeOptions`, `nodeEngineConfig`, `envVars`, `availableContextIdKeys?`): `Promise`\<\{ `engine`: `Engine`\<`IEngineServerConfig`, [`INodeEngineState`](../interfaces/INodeEngineState.md)\>; `server`: `EngineServer`; `shutdown`: () => `Promise`\<`void`\>; \} \| `undefined`\>
|
|
3
|
+
> **start**(`nodeOptions`, `nodeEngineConfig`, `envVars`, `cliCommand?`, `availableContextIdKeys?`): `Promise`\<\{ `engine`: `Engine`\<`IEngineServerConfig`, [`INodeEngineState`](../interfaces/INodeEngineState.md)\>; `server`: `EngineServer`; `shutdown`: () => `Promise`\<`void`\>; \} \| `undefined`\>
|
|
4
4
|
|
|
5
5
|
Start the engine server.
|
|
6
6
|
|
|
@@ -8,9 +8,9 @@ Start the engine server.
|
|
|
8
8
|
|
|
9
9
|
### nodeOptions
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
[`INodeOptions`](../interfaces/INodeOptions.md) \| `undefined`
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Optional run options for the engine server.
|
|
14
14
|
|
|
15
15
|
### nodeEngineConfig
|
|
16
16
|
|
|
@@ -24,6 +24,12 @@ The configuration for the engine server.
|
|
|
24
24
|
|
|
25
25
|
The environment variables.
|
|
26
26
|
|
|
27
|
+
### cliCommand?
|
|
28
|
+
|
|
29
|
+
[`ICliCommand`](../interfaces/ICliCommand.md)
|
|
30
|
+
|
|
31
|
+
The constructed CLI command (optional).
|
|
32
|
+
|
|
27
33
|
### availableContextIdKeys?
|
|
28
34
|
|
|
29
35
|
`object`[]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Function: substituteEnvOptions()
|
|
2
|
+
|
|
3
|
+
> **substituteEnvOptions**(`processEnv`, `options`): `void`
|
|
4
|
+
|
|
5
|
+
Process options and replace any env variables with their values.
|
|
6
|
+
|
|
7
|
+
## Parameters
|
|
8
|
+
|
|
9
|
+
### processEnv
|
|
10
|
+
|
|
11
|
+
The environment variables from the process.
|
|
12
|
+
|
|
13
|
+
### options
|
|
14
|
+
|
|
15
|
+
`object`[]
|
|
16
|
+
|
|
17
|
+
The options.
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
`void`
|
|
22
|
+
|
|
23
|
+
## Throws
|
|
24
|
+
|
|
25
|
+
GeneralError if an env variable is missing.
|
package/docs/reference/index.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
## Interfaces
|
|
4
4
|
|
|
5
5
|
- [ICacheMetadata](interfaces/ICacheMetadata.md)
|
|
6
|
+
- [ICliArgs](interfaces/ICliArgs.md)
|
|
7
|
+
- [ICliCommand](interfaces/ICliCommand.md)
|
|
8
|
+
- [ICliCommandDefinition](interfaces/ICliCommandDefinition.md)
|
|
9
|
+
- [ICliCommandDefinitionParam](interfaces/ICliCommandDefinitionParam.md)
|
|
6
10
|
- [IEngineEnvironmentVariables](interfaces/IEngineEnvironmentVariables.md)
|
|
7
11
|
- [IEngineServerEnvironmentVariables](interfaces/IEngineServerEnvironmentVariables.md)
|
|
8
12
|
- [IModuleProtocol](interfaces/IModuleProtocol.md)
|
|
@@ -14,12 +18,12 @@
|
|
|
14
18
|
|
|
15
19
|
## Type Aliases
|
|
16
20
|
|
|
21
|
+
- [CliCommandParamType](type-aliases/CliCommandParamType.md)
|
|
17
22
|
- [ModuleProtocol](type-aliases/ModuleProtocol.md)
|
|
18
|
-
- [NodeExtensionInitialiseMethod](type-aliases/NodeExtensionInitialiseMethod.md)
|
|
19
23
|
- [NodeExtensionInitialiseEngineMethod](type-aliases/NodeExtensionInitialiseEngineMethod.md)
|
|
20
24
|
- [NodeExtensionInitialiseEngineServerMethod](type-aliases/NodeExtensionInitialiseEngineServerMethod.md)
|
|
25
|
+
- [NodeExtensionInitialiseMethod](type-aliases/NodeExtensionInitialiseMethod.md)
|
|
21
26
|
- [NodeExtensionShutdownMethod](type-aliases/NodeExtensionShutdownMethod.md)
|
|
22
|
-
- [NodeFeatures](type-aliases/NodeFeatures.md)
|
|
23
27
|
|
|
24
28
|
## Variables
|
|
25
29
|
|
|
@@ -27,42 +31,51 @@
|
|
|
27
31
|
- [IMMUTABLE\_PROOF\_VERIFICATION\_METHOD\_ID](variables/IMMUTABLE_PROOF_VERIFICATION_METHOD_ID.md)
|
|
28
32
|
- [BLOB\_STORAGE\_ENCRYPTION\_KEY\_ID](variables/BLOB_STORAGE_ENCRYPTION_KEY_ID.md)
|
|
29
33
|
- [SYNCHRONISED\_STORAGE\_BLOB\_STORAGE\_ENCRYPTION\_KEY\_ID](variables/SYNCHRONISED_STORAGE_BLOB_STORAGE_ENCRYPTION_KEY_ID.md)
|
|
30
|
-
- [
|
|
34
|
+
- [TRUST\_VERIFICATION\_METHOD\_ID](variables/TRUST_VERIFICATION_METHOD_ID.md)
|
|
31
35
|
- [AUTH\_SIGNING\_KEY\_ID](variables/AUTH_SIGNING_KEY_ID.md)
|
|
36
|
+
- [URL\_TRANSFORMER\_ENCRYPTION\_KEY\_ID](variables/URL_TRANSFORMER_ENCRYPTION_KEY_ID.md)
|
|
32
37
|
- [CONTEXT\_ID\_HANDLER\_FEATURE\_DID](variables/CONTEXT_ID_HANDLER_FEATURE_DID.md)
|
|
33
38
|
- [CONTEXT\_ID\_HANDLER\_FEATURE\_TENANT](variables/CONTEXT_ID_HANDLER_FEATURE_TENANT.md)
|
|
34
39
|
- [ModuleProtocol](variables/ModuleProtocol.md)
|
|
35
|
-
- [NodeFeatures](variables/NodeFeatures.md)
|
|
36
40
|
|
|
37
41
|
## Functions
|
|
38
42
|
|
|
39
|
-
- [bootstrap](functions/bootstrap.md)
|
|
40
|
-
- [bootstrapNodeId](functions/bootstrapNodeId.md)
|
|
41
|
-
- [bootstrapTenantId](functions/bootstrapTenantId.md)
|
|
42
|
-
- [bootstrapNodeAdminUser](functions/bootstrapNodeAdminUser.md)
|
|
43
|
-
- [bootstrapImmutableProofMethod](functions/bootstrapImmutableProofMethod.md)
|
|
44
|
-
- [bootstrapBlobEncryption](functions/bootstrapBlobEncryption.md)
|
|
45
|
-
- [bootstrapAuth](functions/bootstrapAuth.md)
|
|
46
|
-
- [bootstrapSynchronisedStorage](functions/bootstrapSynchronisedStorage.md)
|
|
47
43
|
- [buildEngineConfiguration](functions/buildEngineConfiguration.md)
|
|
44
|
+
- [isTrustRequired](functions/isTrustRequired.md)
|
|
45
|
+
- [isUrlTransformerRequired](functions/isUrlTransformerRequired.md)
|
|
46
|
+
- [isBackgroundTasksRequired](functions/isBackgroundTasksRequired.md)
|
|
47
|
+
- [isImmutableProofRequired](functions/isImmutableProofRequired.md)
|
|
48
|
+
- [isFederatedCatalogueRequired](functions/isFederatedCatalogueRequired.md)
|
|
49
|
+
- [isRightsManagementRequired](functions/isRightsManagementRequired.md)
|
|
50
|
+
- [isTaskSchedulerRequired](functions/isTaskSchedulerRequired.md)
|
|
51
|
+
- [isAutomationRequired](functions/isAutomationRequired.md)
|
|
52
|
+
- [isTelemetryRequired](functions/isTelemetryRequired.md)
|
|
48
53
|
- [buildEngineServerConfiguration](functions/buildEngineServerConfiguration.md)
|
|
54
|
+
- [isAuthEntityStorageRequired](functions/isAuthEntityStorageRequired.md)
|
|
49
55
|
- [extensionsConfiguration](functions/extensionsConfiguration.md)
|
|
50
56
|
- [extensionsInitialiseEngine](functions/extensionsInitialiseEngine.md)
|
|
51
57
|
- [extensionsInitialiseEngineServer](functions/extensionsInitialiseEngineServer.md)
|
|
52
58
|
- [shutdownExtensions](functions/shutdownExtensions.md)
|
|
59
|
+
- [parseCommandLineArgs](functions/parseCommandLineArgs.md)
|
|
60
|
+
- [constructCliCommand](functions/constructCliCommand.md)
|
|
61
|
+
- [executeCommand](functions/executeCommand.md)
|
|
62
|
+
- [processEnvOptions](functions/processEnvOptions.md)
|
|
63
|
+
- [substituteEnvOptions](functions/substituteEnvOptions.md)
|
|
64
|
+
- [registerCommands](functions/registerCommands.md)
|
|
65
|
+
- [getEnvDefaults](functions/getEnvDefaults.md)
|
|
53
66
|
- [run](functions/run.md)
|
|
54
67
|
- [buildConfiguration](functions/buildConfiguration.md)
|
|
55
68
|
- [overrideModuleImport](functions/overrideModuleImport.md)
|
|
56
69
|
- [start](functions/start.md)
|
|
57
70
|
- [initialiseLocales](functions/initialiseLocales.md)
|
|
58
71
|
- [getExecutionDirectory](functions/getExecutionDirectory.md)
|
|
72
|
+
- [getScriptDirectory](functions/getScriptDirectory.md)
|
|
59
73
|
- [fileExists](functions/fileExists.md)
|
|
60
74
|
- [directoryExists](functions/directoryExists.md)
|
|
61
75
|
- [getSubFolders](functions/getSubFolders.md)
|
|
62
76
|
- [getFiles](functions/getFiles.md)
|
|
63
77
|
- [loadTextFile](functions/loadTextFile.md)
|
|
64
78
|
- [loadJsonFile](functions/loadJsonFile.md)
|
|
65
|
-
- [getFeatures](functions/getFeatures.md)
|
|
66
79
|
- [parseModuleProtocol](functions/parseModuleProtocol.md)
|
|
67
80
|
- [hashUrl](functions/hashUrl.md)
|
|
68
81
|
- [getExtensionsCacheDir](functions/getExtensionsCacheDir.md)
|