@twin.org/node-core 0.0.3-next.6 → 0.0.3-next.60

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 (206) hide show
  1. package/README.md +3 -1
  2. package/dist/es/builders/engineEnvBuilder.js +538 -213
  3. package/dist/es/builders/engineEnvBuilder.js.map +1 -1
  4. package/dist/es/builders/engineServerEnvBuilder.js +86 -39
  5. package/dist/es/builders/engineServerEnvBuilder.js.map +1 -1
  6. package/dist/es/builders/extensionsBuilder.js +3 -3
  7. package/dist/es/builders/extensionsBuilder.js.map +1 -1
  8. package/dist/es/cli.js +254 -0
  9. package/dist/es/cli.js.map +1 -0
  10. package/dist/es/commands/bootstrapLegacy.js +311 -0
  11. package/dist/es/commands/bootstrapLegacy.js.map +1 -0
  12. package/dist/es/commands/help.js +86 -0
  13. package/dist/es/commands/help.js.map +1 -0
  14. package/dist/es/commands/identityCreate.js +377 -0
  15. package/dist/es/commands/identityCreate.js.map +1 -0
  16. package/dist/es/commands/identityImports.js +83 -0
  17. package/dist/es/commands/identityImports.js.map +1 -0
  18. package/dist/es/commands/identityVerifiableCredentialCreate.js +146 -0
  19. package/dist/es/commands/identityVerifiableCredentialCreate.js.map +1 -0
  20. package/dist/es/commands/identityVerificationMethodCreate.js +230 -0
  21. package/dist/es/commands/identityVerificationMethodCreate.js.map +1 -0
  22. package/dist/es/commands/identityVerificationMethodImport.js +127 -0
  23. package/dist/es/commands/identityVerificationMethodImport.js.map +1 -0
  24. package/dist/es/commands/nodeSetIdentity.js +69 -0
  25. package/dist/es/commands/nodeSetIdentity.js.map +1 -0
  26. package/dist/es/commands/removeTenantOrgAlias.js +83 -0
  27. package/dist/es/commands/removeTenantOrgAlias.js.map +1 -0
  28. package/dist/es/commands/setNodeOrgId.js +62 -0
  29. package/dist/es/commands/setNodeOrgId.js.map +1 -0
  30. package/dist/es/commands/setTenantOrgId.js +99 -0
  31. package/dist/es/commands/setTenantOrgId.js.map +1 -0
  32. package/dist/es/commands/tenantCreate.js +165 -0
  33. package/dist/es/commands/tenantCreate.js.map +1 -0
  34. package/dist/es/commands/tenantImport.js +108 -0
  35. package/dist/es/commands/tenantImport.js.map +1 -0
  36. package/dist/es/commands/tenantUpdate.js +108 -0
  37. package/dist/es/commands/tenantUpdate.js.map +1 -0
  38. package/dist/es/commands/userCreate.js +239 -0
  39. package/dist/es/commands/userCreate.js.map +1 -0
  40. package/dist/es/commands/userUpdate.js +154 -0
  41. package/dist/es/commands/userUpdate.js.map +1 -0
  42. package/dist/es/commands/vaultKeyCreate.js +191 -0
  43. package/dist/es/commands/vaultKeyCreate.js.map +1 -0
  44. package/dist/es/commands/vaultKeyImport.js +105 -0
  45. package/dist/es/commands/vaultKeyImport.js.map +1 -0
  46. package/dist/es/defaults.js +37 -2
  47. package/dist/es/defaults.js.map +1 -1
  48. package/dist/es/index.js +11 -4
  49. package/dist/es/index.js.map +1 -1
  50. package/dist/es/models/ICliArgs.js +4 -0
  51. package/dist/es/models/ICliArgs.js.map +1 -0
  52. package/dist/es/models/ICliCommand.js +2 -0
  53. package/dist/es/models/ICliCommand.js.map +1 -0
  54. package/dist/es/models/ICliCommandDefinition.js +2 -0
  55. package/dist/es/models/ICliCommandDefinition.js.map +1 -0
  56. package/dist/es/models/ICliCommandDefinitionParam.js +2 -0
  57. package/dist/es/models/ICliCommandDefinitionParam.js.map +1 -0
  58. package/dist/es/models/IEngineEnvironmentVariables.js.map +1 -1
  59. package/dist/es/models/IEngineServerEnvironmentVariables.js.map +1 -1
  60. package/dist/es/models/INodeEngineState.js.map +1 -1
  61. package/dist/es/models/INodeEnvironmentVariables.js.map +1 -1
  62. package/dist/es/models/INodeOptions.js.map +1 -1
  63. package/dist/es/models/cliCommandParamType.js +4 -0
  64. package/dist/es/models/cliCommandParamType.js.map +1 -0
  65. package/dist/es/models/nodeExtensionInitialiseEngineMethod.js +2 -0
  66. package/dist/es/models/nodeExtensionInitialiseEngineMethod.js.map +1 -0
  67. package/dist/es/models/nodeExtensionInitialiseEngineServerMethod.js +2 -0
  68. package/dist/es/models/nodeExtensionInitialiseEngineServerMethod.js.map +1 -0
  69. package/dist/es/models/nodeExtensionInitialiseMethod.js +2 -0
  70. package/dist/es/models/nodeExtensionInitialiseMethod.js.map +1 -0
  71. package/dist/es/models/nodeExtensionShutdownMethod.js +4 -0
  72. package/dist/es/models/nodeExtensionShutdownMethod.js.map +1 -0
  73. package/dist/es/node.js +87 -40
  74. package/dist/es/node.js.map +1 -1
  75. package/dist/es/start.js +189 -0
  76. package/dist/es/start.js.map +1 -0
  77. package/dist/es/utils.js +24 -27
  78. package/dist/es/utils.js.map +1 -1
  79. package/dist/types/builders/engineEnvBuilder.d.ts +60 -5
  80. package/dist/types/builders/engineServerEnvBuilder.d.ts +11 -2
  81. package/dist/types/builders/extensionsBuilder.d.ts +3 -3
  82. package/dist/types/cli.d.ts +56 -0
  83. package/dist/types/commands/bootstrapLegacy.d.ts +67 -0
  84. package/dist/types/commands/help.d.ts +24 -0
  85. package/dist/types/commands/identityCreate.d.ts +45 -0
  86. package/dist/types/commands/identityImports.d.ts +25 -0
  87. package/dist/types/commands/identityVerifiableCredentialCreate.d.ts +43 -0
  88. package/dist/types/commands/identityVerificationMethodCreate.d.ts +47 -0
  89. package/dist/types/commands/identityVerificationMethodImport.d.ts +32 -0
  90. package/dist/types/commands/nodeSetIdentity.d.ts +23 -0
  91. package/dist/types/commands/removeTenantOrgAlias.d.ts +24 -0
  92. package/dist/types/commands/setNodeOrgId.d.ts +24 -0
  93. package/dist/types/commands/setTenantOrgId.d.ts +38 -0
  94. package/dist/types/commands/tenantCreate.d.ts +41 -0
  95. package/dist/types/commands/tenantImport.d.ts +29 -0
  96. package/dist/types/commands/tenantUpdate.d.ts +29 -0
  97. package/dist/types/commands/userCreate.d.ts +51 -0
  98. package/dist/types/commands/userUpdate.d.ts +40 -0
  99. package/dist/types/commands/vaultKeyCreate.d.ts +43 -0
  100. package/dist/types/commands/vaultKeyImport.d.ts +29 -0
  101. package/dist/types/defaults.d.ts +30 -2
  102. package/dist/types/index.d.ts +11 -4
  103. package/dist/types/models/ICliArgs.d.ts +20 -0
  104. package/dist/types/models/ICliCommand.d.ts +17 -0
  105. package/dist/types/models/ICliCommandDefinition.d.ts +46 -0
  106. package/dist/types/models/ICliCommandDefinitionParam.d.ts +35 -0
  107. package/dist/types/models/IEngineEnvironmentVariables.d.ts +168 -95
  108. package/dist/types/models/IEngineServerEnvironmentVariables.d.ts +8 -0
  109. package/dist/types/models/INodeEngineState.d.ts +2 -9
  110. package/dist/types/models/INodeEnvironmentVariables.d.ts +0 -38
  111. package/dist/types/models/INodeOptions.d.ts +6 -2
  112. package/dist/types/models/cliCommandParamType.d.ts +4 -0
  113. package/dist/types/models/nodeExtensionInitialiseEngineMethod.d.ts +8 -0
  114. package/dist/types/models/nodeExtensionInitialiseEngineServerMethod.d.ts +9 -0
  115. package/dist/types/models/nodeExtensionInitialiseMethod.d.ts +9 -0
  116. package/dist/types/models/nodeExtensionShutdownMethod.d.ts +6 -0
  117. package/dist/types/node.d.ts +5 -4
  118. package/dist/types/{server.d.ts → start.d.ts} +4 -2
  119. package/dist/types/utils.d.ts +9 -10
  120. package/docs/changelog.md +675 -180
  121. package/docs/examples.md +99 -1
  122. package/docs/reference/functions/buildConfiguration.md +1 -1
  123. package/docs/reference/functions/buildEngineConfiguration.md +1 -7
  124. package/docs/reference/functions/buildEngineServerConfiguration.md +1 -1
  125. package/docs/reference/functions/constructCliCommand.md +27 -0
  126. package/docs/reference/functions/executeCommand.md +29 -0
  127. package/docs/reference/functions/extensionsInitialiseEngine.md +1 -1
  128. package/docs/reference/functions/extensionsInitialiseEngineServer.md +1 -1
  129. package/docs/reference/functions/getEnvDefaults.md +19 -0
  130. package/docs/reference/functions/getScriptDirectory.md +19 -0
  131. package/docs/reference/functions/initialiseLocales.md +2 -0
  132. package/docs/reference/functions/isAuthEntityStorageRequired.md +20 -0
  133. package/docs/reference/functions/isAutomationRequired.md +20 -0
  134. package/docs/reference/functions/isBackgroundTasksRequired.md +20 -0
  135. package/docs/reference/functions/isFederatedCatalogueRequired.md +20 -0
  136. package/docs/reference/functions/isImmutableProofRequired.md +20 -0
  137. package/docs/reference/functions/isRightsManagementRequired.md +23 -0
  138. package/docs/reference/functions/isTaskSchedulerRequired.md +20 -0
  139. package/docs/reference/functions/isTelemetryRequired.md +20 -0
  140. package/docs/reference/functions/isTrustRequired.md +20 -0
  141. package/docs/reference/functions/loadJsonFile.md +1 -1
  142. package/docs/reference/functions/loadTextFile.md +1 -1
  143. package/docs/reference/functions/parseCommandLineArgs.md +19 -0
  144. package/docs/reference/functions/processEnvOptions.md +27 -0
  145. package/docs/reference/functions/registerCommands.md +9 -0
  146. package/docs/reference/functions/resolvePackageEntryPoint.md +2 -2
  147. package/docs/reference/functions/run.md +8 -2
  148. package/docs/reference/functions/shutdownExtensions.md +1 -1
  149. package/docs/reference/functions/start.md +9 -3
  150. package/docs/reference/functions/substituteEnvOptions.md +25 -0
  151. package/docs/reference/index.md +24 -14
  152. package/docs/reference/interfaces/ICacheMetadata.md +3 -3
  153. package/docs/reference/interfaces/ICliArgs.md +35 -0
  154. package/docs/reference/interfaces/ICliCommand.md +23 -0
  155. package/docs/reference/interfaces/ICliCommandDefinition.md +101 -0
  156. package/docs/reference/interfaces/ICliCommandDefinitionParam.md +65 -0
  157. package/docs/reference/interfaces/IEngineEnvironmentVariables.md +488 -359
  158. package/docs/reference/interfaces/IEngineServerEnvironmentVariables.md +652 -431
  159. package/docs/reference/interfaces/IModuleProtocol.md +3 -3
  160. package/docs/reference/interfaces/INodeEngineState.md +6 -21
  161. package/docs/reference/interfaces/INodeEnvironmentVariables.md +661 -516
  162. package/docs/reference/interfaces/INodeOptions.md +44 -36
  163. package/docs/reference/interfaces/IProtocolHandlerResult.md +2 -2
  164. package/docs/reference/type-aliases/CliCommandParamType.md +5 -0
  165. package/docs/reference/type-aliases/NodeExtensionInitialiseEngineMethod.md +3 -1
  166. package/docs/reference/type-aliases/NodeExtensionInitialiseEngineServerMethod.md +3 -1
  167. package/docs/reference/type-aliases/NodeExtensionInitialiseMethod.md +3 -1
  168. package/docs/reference/type-aliases/NodeExtensionShutdownMethod.md +3 -1
  169. package/docs/reference/variables/ATTESTATION_VERIFICATION_METHOD_ID.md +2 -0
  170. package/docs/reference/variables/AUTH_SIGNING_KEY_ID.md +2 -0
  171. package/docs/reference/variables/BLOB_STORAGE_ENCRYPTION_KEY_ID.md +2 -0
  172. package/docs/reference/variables/CONTEXT_ID_HANDLER_FEATURE_DID.md +2 -0
  173. package/docs/reference/variables/CONTEXT_ID_HANDLER_FEATURE_TENANT.md +2 -0
  174. package/docs/reference/variables/IMMUTABLE_PROOF_VERIFICATION_METHOD_ID.md +2 -0
  175. package/docs/reference/variables/ModuleProtocol.md +5 -5
  176. package/docs/reference/variables/TRUST_VERIFICATION_METHOD_ID.md +5 -0
  177. package/locales/en.json +674 -30
  178. package/package.json +10 -6
  179. package/dist/es/bootstrap.js +0 -366
  180. package/dist/es/bootstrap.js.map +0 -1
  181. package/dist/es/identity.js +0 -182
  182. package/dist/es/identity.js.map +0 -1
  183. package/dist/es/models/nodeExtensionMethods.js +0 -2
  184. package/dist/es/models/nodeExtensionMethods.js.map +0 -1
  185. package/dist/es/models/nodeFeatures.js +0 -21
  186. package/dist/es/models/nodeFeatures.js.map +0 -1
  187. package/dist/es/server.js +0 -81
  188. package/dist/es/server.js.map +0 -1
  189. package/dist/types/bootstrap.d.ts +0 -68
  190. package/dist/types/identity.d.ts +0 -14
  191. package/dist/types/models/nodeExtensionMethods.d.ts +0 -27
  192. package/dist/types/models/nodeFeatures.d.ts +0 -21
  193. package/docs/detailed-guide.md +0 -129
  194. package/docs/reference/functions/bootstrap.md +0 -29
  195. package/docs/reference/functions/bootstrapAuth.md +0 -35
  196. package/docs/reference/functions/bootstrapBlobEncryption.md +0 -35
  197. package/docs/reference/functions/bootstrapImmutableProofMethod.md +0 -35
  198. package/docs/reference/functions/bootstrapNodeAdminUser.md +0 -35
  199. package/docs/reference/functions/bootstrapNodeId.md +0 -35
  200. package/docs/reference/functions/bootstrapSynchronisedStorage.md +0 -35
  201. package/docs/reference/functions/bootstrapTenantId.md +0 -35
  202. package/docs/reference/functions/getFeatures.md +0 -19
  203. package/docs/reference/type-aliases/NodeFeatures.md +0 -5
  204. package/docs/reference/variables/NodeFeatures.md +0 -25
  205. package/docs/reference/variables/SYNCHRONISED_STORAGE_BLOB_STORAGE_ENCRYPTION_KEY_ID.md +0 -3
  206. package/docs/reference/variables/VC_AUTHENTICATION_VERIFICATION_METHOD_ID.md +0 -3
package/locales/en.json CHANGED
@@ -1,42 +1,74 @@
1
1
  {
2
2
  "error": {
3
3
  "node": {
4
+ "nodeIdentityNotSet": "The node identity is enabled in config but is not set, please set it using the \"node-set-identity\" CLI command.",
5
+ "nodeOrganizationIdNotSet": "The node organization is not set, please set it using the \"set-node-org-id\".",
6
+ "tenantsWithoutOrganizationId": "The following tenants have no organization ID assigned. Use the \"set-tenant-org-id\" command to assign one before starting the node: {tenantIds}",
4
7
  "storageFileRootNotSet": "{storageFileRoot} is not set, the server will not start without it, please set it in the shell or create a .env file",
5
8
  "extensionLoadingError": "Failed to load extension \"{extension}\"",
6
9
  "insecureProtocol": "Cannot load extension from insecure protocol: {protocol}. Only HTTPS is allowed for remote extensions.",
7
10
  "extensionDownloadFailed": "Failed to download extension from {url}",
8
11
  "extensionNpmInstallFailed": "Failed to install npm extension: {package}",
9
- "extensionSizeLimitExceeded": "Extension download size exceeds limit: {size} bytes > {limit} bytes"
12
+ "extensionSizeLimitExceeded": "Extension download size exceeds limit: {size} bytes > {limit} bytes",
13
+ "cliCommandMissing": "CLI command \"{command}\" is not recognised",
14
+ "cliCommandParamMissing": "Parameter \"{param}\" is required for command \"{command}\"",
15
+ "cliCommandParamExtra": "Parameter(s) \"{params}\" are not recognised for command \"{command}\"",
16
+ "cliEnvVarMissing": "Environment variable \"{envVar}\" does not exist"
17
+ },
18
+ "bootstrapLegacy": {
19
+ "noFeaturesEnabled": "No features are enabled in legacy bootstrap mode, at least one feature must be enabled.",
20
+ "organizationNotSet": "The organisation identity has not been set. Run \"set-node-org-id\"."
21
+ },
22
+ "identityCreate": {
23
+ "invalidMnemonic": "The mnemonic is invalid, it should be 24 words from the standard wordlist.",
24
+ "onlyOneAssignmentOptionAllowed": "Only one of node-id, node-organization-id, or tenant-organization-id can be set at the same time.",
25
+ "nodeOrganizationIdNotAvailableInMultiTenantMode": "The node-organization-id option is not available in multi-tenant mode, use tenant-organization-id instead."
26
+ },
27
+ "identityImport": {
28
+ "identityNotFound": "The identity was not found, it must be created on-chain already.",
29
+ "invalidMnemonic": "The mnemonic is invalid, it should be 24 words from the standard wordlist."
30
+ },
31
+ "identityVerificationMethodCreate": {
32
+ "verificationMethodAlreadyExists": "The verification method with ID already exists and overwriteMode is set to \"error\"."
33
+ },
34
+ "identityVerifiableCredentialCreate": {
35
+ "subjectJsonLoadFailed": "Failed to load subject JSON from file: \"{subjectFilename}\""
36
+ },
37
+ "tenantCreate": {
38
+ "tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
39
+ },
40
+ "tenantImport": {
41
+ "tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
42
+ },
43
+ "tenantUpdate": {
44
+ "tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
45
+ },
46
+ "userCreate": {
47
+ "passwordTooShort": "The password provided is too short, it must be at least {minLength} characters long.",
48
+ "userAlreadyExists": "The user with ID already exists and overwriteMode is set to \"error\".",
49
+ "tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
50
+ },
51
+ "userUpdate": {
52
+ "tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
53
+ },
54
+ "vaultKeyCreate": {
55
+ "vaultKeyAlreadyExists": "The vault key with ID already exists and overwriteMode is set to \"error\"."
56
+ },
57
+ "nodeSetIdentity": {
58
+ "identityNotFound": "The identity with DID \"{notFoundId}\" was not found in the system."
59
+ },
60
+ "setNodeOrgId": {
61
+ "notAvailableInMultiTenantMode": "The set-node-org-id command is not available in multi-tenant mode, use set-tenant-org-id instead."
62
+ },
63
+ "applyOrganizationIdToTenant": {
64
+ "tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
65
+ },
66
+ "removeTenantOrgAlias": {
67
+ "tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command.",
68
+ "aliasNotFound": "The alias \"{alias}\" was not found in the tenant organization legacy list."
10
69
  }
11
70
  },
12
71
  "node": {
13
- "storingMnemonic": "Storing mnemonic",
14
- "existingMnemonic": "Mnemonic already exists",
15
- "finalMnemonic": "Mnemonic is stored in the vault under the key \"{vaultKey}\"",
16
- "fundingWallet": "Funding wallet \"{address}\"",
17
- "fundedWallet": "Wallet already funded",
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}\"",
22
- "identityExplorer": "Identity explorer \"{url}\"",
23
- "creatingUser": "Creating user \"{email}\"",
24
- "existingUser": "User already exists \"{email}\"",
25
- "creatingAuthKey": "Creating authentication key \"{keyName}\"",
26
- "existingAuthKey": "Authentication key already exists \"{keyName}\"",
27
- "addingVerificationMethod": "Adding {title} verification method \"{methodId}\"",
28
- "existingVerificationMethod": "Verification method for {title} already exists \"{methodId}\"",
29
- "addingBlobEncryptionKey": "Adding blob encryption key \"{keyName}\"",
30
- "creatingBlobEncryptionKey": "Creating blob encryption key \"{keyName}\"",
31
- "createdBlobEncryptionKey": "Created blob encryption key \"{keyName}\" with value \"{keyValue}\"",
32
- "existingBlobEncryptionKey": "Blob encryption key already exists \"{keyName}\"",
33
- "addingSynchronisedStorageBlobEncryptionKey": "Adding synchronised storage blob encryption key \"{keyName}\"",
34
- "existingSynchronisedStorageBlobEncryptionKey": "Synchronised storage blob encryption key already exists \"{keyName}\"",
35
- "creatingUserProfile": "Creating user profile \"{identity}\"",
36
- "existingUserProfile": "User profile already exists \"{identity}\"",
37
- "nodeId": "Node identity \"{identity}\"",
38
- "nodeAdminUserEmail": "Node Admin User Email \"{email}\"",
39
- "nodeAdminUserPassword": "Node Admin User Password Generated and stored in the vault under the key \"{vaultKey}\"",
40
72
  "extensionLoading": "Loading Extension",
41
73
  "extensionInitialisingEngine": "Initialising engine for extension \"{extension}\"",
42
74
  "extensionInitialisingEngineServer": "Initialising engine server for extension \"{extension}\"",
@@ -48,7 +80,619 @@
48
80
  "extensionHttpsDownloading": "Downloading HTTPS extension",
49
81
  "extensionCacheExpired": "Cache expired for extension: {url}",
50
82
  "extensionForceRefresh": "Force refresh enabled for extension: {url}",
51
- "createdTenantId": "Created tenant id \"{identity}\" with api key \"{apiKey}\"",
52
- "existingTenantId": "Existing tenant id \"{identity}\""
83
+ "tenantOrganizationIdAutoAssigned": "Legacy migration: automatically assigned organization ID \"{organizationId}\" to tenant \"{tenantId}\".",
84
+ "cli": {
85
+ "commands": {
86
+ "command": "Command",
87
+ "help": {
88
+ "description": "Display help information about CLI commands",
89
+ "labels": {
90
+ "commands": "All the commands available are listed below, for more information use the --help option with a specific command.",
91
+ "example": "Example",
92
+ "optional": "optional",
93
+ "required": "required",
94
+ "default": "default",
95
+ "options": "options"
96
+ }
97
+ },
98
+ "bootstrap-legacy": {
99
+ "description": "Bootstrap in legacy mode for backwards compatibility, **will be deprecated in future versions**",
100
+ "example": "bootstrap-legacy --load-env=\"./.env.bootstrap-legacy\"",
101
+ "params": {
102
+ "env-prefix": {
103
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
104
+ },
105
+ "load-env": {
106
+ "description": "Comma separated list of paths to .env files to read input parameters from."
107
+ }
108
+ },
109
+ "labels": {
110
+ "nodeIdentityCreate": "Creating node identity",
111
+ "nodeAuthKeyCreate": "Creating node auth key",
112
+ "trustVerificationMethodCreate": "Creating trust verification method for organisation identity",
113
+ "nodeTenantCreate": "Creating node tenant",
114
+ "organisationCreate": "Creating organisation identity",
115
+ "blobStorageKeyCreate": "Creating blob storage encryption key for organisation identity",
116
+ "attestationMethodCreate": "Creating attestation method for organisation identity",
117
+ "immutableProofMethodCreate": "Creating immutable proof method for organisation identity",
118
+ "nodeOrganizationIdSet": "Setting node organisation ID",
119
+ "adminIdentityCreate": "Creating admin user identity",
120
+ "adminUserCreate": "Creating admin user",
121
+ "tenantFallback": "No Node-labelled tenant found; using first available tenant"
122
+ }
123
+ },
124
+ "identity-create": {
125
+ "description": "Create an identity",
126
+ "example": "identity-create --mnemonic=\"...\" --fund-wallet=true",
127
+ "params": {
128
+ "env-prefix": {
129
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
130
+ },
131
+ "mnemonic": {
132
+ "description": "The mnemonic phrase to use for the identity. If not provided, a random mnemonic will be generated."
133
+ },
134
+ "identity": {
135
+ "description": "The DID of the identity to create. If not provided, a new DID will be generated."
136
+ },
137
+ "controller": {
138
+ "description": "The controller DID for the identity. If not provided, the identity will be its own controller."
139
+ },
140
+ "fund-wallet": {
141
+ "description": "Whether to fund the wallet associated with the identity from a faucet."
142
+ },
143
+ "load-env": {
144
+ "description": "Comma separated list of paths to .env files to read input parameters from."
145
+ },
146
+ "output-json": {
147
+ "description": "Path to a .json file to store the command output."
148
+ },
149
+ "output-env": {
150
+ "description": "Path to a .env file to store the command output."
151
+ },
152
+ "output-env-prefix": {
153
+ "description": "Prefix to use for variables in the output .env file."
154
+ },
155
+ "node-id": {
156
+ "description": "If true, set the created identity DID as the node identity."
157
+ },
158
+ "node-organization-id": {
159
+ "description": "If true, set the created identity DID as the node organization ID (not available in multi-tenant mode)."
160
+ },
161
+ "tenant-organization-id": {
162
+ "description": "The tenant ID to set the created identity DID as the organization ID for (requires multi-tenant mode)."
163
+ }
164
+ },
165
+ "labels": {
166
+ "mnemonic": "Mnemonic",
167
+ "processingMnemonic": "Processing mnemonic",
168
+ "readingMnemonic": "Reading mnemonic",
169
+ "storingMnemonic": "Storing mnemonic",
170
+ "existingMnemonic": "Mnemonic already exists, skipping creation",
171
+ "noExistingMnemonic": "No existing mnemonic found",
172
+ "generatingMnemonic": "Generating mnemonic",
173
+ "processingIdentity": "Processing identity",
174
+ "resolvingIdentity": "Resolving identity",
175
+ "existingIdentity": "Identity already exists, skipping creation",
176
+ "noIdentityFound": "No identity found",
177
+ "creatingIdentity": "Creating identity",
178
+ "createdIdentity": "Created identity",
179
+ "fundingWallet": "Funding wallet",
180
+ "addressIndex": "Address Index",
181
+ "addingTokens": "Adding tokens to address \"{address}\"",
182
+ "explorer": "Explorer",
183
+ "walletAddress": "Wallet Address",
184
+ "did": "DID"
185
+ }
186
+ },
187
+ "identity-import": {
188
+ "description": "Import an identity",
189
+ "example": "identity-import --identity=\"did:iota:...\" --mnemonic=\"...\"",
190
+ "params": {
191
+ "env-prefix": {
192
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
193
+ },
194
+ "identity": {
195
+ "description": "The DID of the identity to import."
196
+ },
197
+ "mnemonic": {
198
+ "description": "The mnemonic phrase to use for the identity."
199
+ },
200
+ "load-env": {
201
+ "description": "Comma separated list of paths to .env files to read input parameters from."
202
+ }
203
+ },
204
+ "labels": {
205
+ "resolvingIdentity": "Resolving identity",
206
+ "storingMnemonic": "Storing mnemonic"
207
+ }
208
+ },
209
+ "identity-verifiable-credential-create": {
210
+ "description": "Create a verifiable credential",
211
+ "example": "identity-verifiable-credential-create --identity=\"did:iota:....\" --verification-method-id=\"my-id\" --subject-json=\"./subject.json\"",
212
+ "params": {
213
+ "env-prefix": {
214
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
215
+ },
216
+ "identity": {
217
+ "description": "The DID of the identity to use to create the credential."
218
+ },
219
+ "verification-method-id": {
220
+ "description": "The ID of the verification method to use to create the credential."
221
+ },
222
+ "controller": {
223
+ "description": "The controller DID for the identity. If not provided, the identity will be its own controller."
224
+ },
225
+ "subject-json": {
226
+ "description": "The subject JSON file to load."
227
+ },
228
+ "credential-id": {
229
+ "description": "The id of the verifiable credential."
230
+ },
231
+ "expiration-date": {
232
+ "description": "The expiration date of the verifiable credential."
233
+ },
234
+ "load-env": {
235
+ "description": "Comma separated list of paths to .env files to read input parameters from."
236
+ },
237
+ "output-json": {
238
+ "description": "Path to a .json file to store the command output."
239
+ },
240
+ "output-env": {
241
+ "description": "Path to a .env file to store the command output."
242
+ },
243
+ "output-env-prefix": {
244
+ "description": "Prefix to use for variables in the output .env file."
245
+ }
246
+ },
247
+ "labels": {
248
+ "creating": "Creating verifiable credential",
249
+ "created": "Created verifiable credential",
250
+ "jwtToken": "JWT Token"
251
+ }
252
+ },
253
+ "identity-verification-method-import": {
254
+ "description": "Import an identity verification method",
255
+ "example": "identity-verification-method-import --identity=\"did:iota:....\" --verification-method-type=\"verificationMethod\" --verification-method-id=\"my-key-1\" ----private-key-hex=\"15...a2\"",
256
+ "params": {
257
+ "env-prefix": {
258
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
259
+ },
260
+ "identity": {
261
+ "description": "The DID of the identity to import the verification method to."
262
+ },
263
+ "verification-method-type": {
264
+ "description": "The type of verification method to import."
265
+ },
266
+ "verification-method-id": {
267
+ "description": "The ID of the verification method to import."
268
+ },
269
+ "controller": {
270
+ "description": "The controller DID for the identity. If not provided, the identity will be its own controller."
271
+ },
272
+ "private-key-hex": {
273
+ "description": "The private key in hex format."
274
+ },
275
+ "load-env": {
276
+ "description": "Comma separated list of paths to .env files to read input parameters from."
277
+ }
278
+ },
279
+ "labels": {
280
+ "resolvingIdentity": "Resolving identity",
281
+ "importing": "Importing verification method",
282
+ "imported": "Imported verification method"
283
+ }
284
+ },
285
+ "identity-verification-method-create": {
286
+ "description": "Create an identity verification method",
287
+ "example": "identity-verification-method-create --identity=\"did:iota:....\" --verification-method-type=\"verificationMethod\" --verification-method-id=\"my-key-1\" --controller=\"did:iota:....\"",
288
+ "params": {
289
+ "env-prefix": {
290
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
291
+ },
292
+ "identity": {
293
+ "description": "The DID of the identity to add the verification method to."
294
+ },
295
+ "verification-method-type": {
296
+ "description": "The type of verification method to add."
297
+ },
298
+ "verification-method-id": {
299
+ "description": "The ID of the verification method to add."
300
+ },
301
+ "controller": {
302
+ "description": "The controller DID for the identity. If not provided, the identity will be its own controller."
303
+ },
304
+ "overwrite-mode": {
305
+ "description": "The mode to use when a verification method with the same ID already exists."
306
+ },
307
+ "load-env": {
308
+ "description": "Comma separated list of paths to .env files to read input parameters from."
309
+ },
310
+ "output-json": {
311
+ "description": "Path to a .json file to store the command output."
312
+ },
313
+ "output-env": {
314
+ "description": "Path to a .env file to store the command output."
315
+ },
316
+ "output-env-prefix": {
317
+ "description": "Prefix to use for variables in the output .env file."
318
+ }
319
+ },
320
+ "labels": {
321
+ "resolvingIdentity": "Resolving identity",
322
+ "skipping": "The verification method with ID already exists, skipping creation",
323
+ "creatingVerificationMethod": "Creating verification method",
324
+ "createdVerificationMethod": "Created verification method",
325
+ "verificationMethodId": "Verification Method ID",
326
+ "verificationMethodType": "Verification Method Type",
327
+ "kid": "Key Id",
328
+ "privateKeyBase64Url": "Private Key Base64Url",
329
+ "publicKeyBase64Url": "Public Key Base64Url",
330
+ "privateKeyBase64": "Private Key Base64",
331
+ "publicKeyBase64": "Public Key Base64",
332
+ "privateKeyHex": "Private Key Hex",
333
+ "publicKeyHex": "Public Key Hex"
334
+ }
335
+ },
336
+ "node-set-identity": {
337
+ "description": "Set the node identity",
338
+ "example": "node-set-identity --identity=\"did:iota...\"",
339
+ "params": {
340
+ "env-prefix": {
341
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
342
+ },
343
+ "identity": {
344
+ "description": "The identity to set in the node."
345
+ },
346
+ "load-env": {
347
+ "description": "Comma separated list of paths to .env files to read input parameters from."
348
+ }
349
+ },
350
+ "labels": {
351
+ "resolvingIdentity": "Resolving identity",
352
+ "stored": "The node identity has been stored",
353
+ "skipping": "The node identity has not changed, skipping"
354
+ }
355
+ },
356
+ "tenant-create": {
357
+ "description": "Create a tenant with associated api key",
358
+ "example": "tenant-create --tenant-id=\"0011..aabb\" --api-key=\"aabb..0099\" --organization-id=\"did:iota:...\" --label=\"My Tenant\" --public-origin=\"https://example.com:1234\"",
359
+ "params": {
360
+ "env-prefix": {
361
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
362
+ },
363
+ "tenant-id": {
364
+ "description": "The tenant ID to add. If not provided a random tenant id will be generated."
365
+ },
366
+ "api-key": {
367
+ "description": "The API key to associate with the tenant id. If not provided, a random key will be generated."
368
+ },
369
+ "organization-id": {
370
+ "description": "The organization DID to associate with the tenant."
371
+ },
372
+ "label": {
373
+ "description": "A descriptive label for the tenant."
374
+ },
375
+ "public-origin": {
376
+ "description": "The public URL origin for the tenant e.g. https://example.com:1234"
377
+ },
378
+ "load-env": {
379
+ "description": "Comma separated list of paths to .env files to read input parameters from."
380
+ },
381
+ "output-json": {
382
+ "description": "Path to a .json file to store the command output."
383
+ },
384
+ "output-env": {
385
+ "description": "Path to a .env file to store the command output."
386
+ },
387
+ "output-env-prefix": {
388
+ "description": "Prefix to use for variables in the output .env file."
389
+ }
390
+ },
391
+ "labels": {
392
+ "creating": "Creating tenant",
393
+ "tenantId": "Tenant ID",
394
+ "apiKey": "API Key",
395
+ "organizationId": "Organization ID",
396
+ "label": "Label",
397
+ "publicOrigin": "Public Origin"
398
+ }
399
+ },
400
+ "tenant-import": {
401
+ "description": "Import a tenant with associated api key",
402
+ "example": "tenant-import --tenant-id=\"0011..aabb\" --api-key=\"aabb..0099\" --organization-id=\"did:iota:...\" --label=\"My Tenant\" --public-origin=\"https://example.com:1234\"",
403
+ "params": {
404
+ "env-prefix": {
405
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
406
+ },
407
+ "tenant-id": {
408
+ "description": "The tenant ID to import."
409
+ },
410
+ "api-key": {
411
+ "description": "The API key to associate with the tenant id."
412
+ },
413
+ "organization-id": {
414
+ "description": "The organization DID to associate with the tenant."
415
+ },
416
+ "label": {
417
+ "description": "A descriptive label for the tenant."
418
+ },
419
+ "public-origin": {
420
+ "description": "The public URL origin for the tenant e.g. https://example.com:1234"
421
+ },
422
+ "load-env": {
423
+ "description": "Comma separated list of paths to .env files to read input parameters from."
424
+ }
425
+ },
426
+ "labels": {
427
+ "importing": "Importing tenant",
428
+ "imported": "Imported tenant"
429
+ }
430
+ },
431
+ "tenant-update": {
432
+ "description": "Update a tenant with associated api key",
433
+ "example": "tenant-update --tenant-id=\"0011..aabb\" --api-key=\"aabb..0099\" --label=\"My Tenant\" --public-origin=\"https://example.com:1234\"",
434
+ "params": {
435
+ "env-prefix": {
436
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
437
+ },
438
+ "tenant-id": {
439
+ "description": "The tenant ID to update."
440
+ },
441
+ "api-key": {
442
+ "description": "The API key to associate with the tenant id."
443
+ },
444
+ "organization-id": {
445
+ "description": "The organization DID to associate with the tenant."
446
+ },
447
+ "label": {
448
+ "description": "A descriptive label for the tenant."
449
+ },
450
+ "public-origin": {
451
+ "description": "The public URL origin for the tenant e.g. https://example.com:1234"
452
+ },
453
+ "load-env": {
454
+ "description": "Comma separated list of paths to .env files to read input parameters from."
455
+ }
456
+ },
457
+ "labels": {
458
+ "updating": "Updating tenant",
459
+ "updated": "Updated tenant"
460
+ }
461
+ },
462
+ "user-create": {
463
+ "description": "Create a user",
464
+ "example": "user-create --user-identity=\"did:iota:....\" --organization-identity=\"did:iota:....\" --email=\"bob@examples.com\" --password=\"pass1234\" --scope=\"tenant-admin\" --givenName=\"Bob\" --familyName=\"Smith\"",
465
+ "params": {
466
+ "env-prefix": {
467
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
468
+ },
469
+ "user-identity": {
470
+ "description": "The DID to associate the user with."
471
+ },
472
+ "organization-identity": {
473
+ "description": "The organization DID to associate the user with."
474
+ },
475
+ "tenant-id": {
476
+ "description": "The tenant ID to associate the user with."
477
+ },
478
+ "email": {
479
+ "description": "The email address of the user."
480
+ },
481
+ "password": {
482
+ "description": "The password for the user."
483
+ },
484
+ "scope": {
485
+ "description": "List of scopes to associate with the user, comma separated."
486
+ },
487
+ "given-name": {
488
+ "description": "The given name of the user."
489
+ },
490
+ "family-name": {
491
+ "description": "The family name of the user."
492
+ },
493
+ "overwrite-mode": {
494
+ "description": "The mode to use when a user with the same identity already exists."
495
+ },
496
+ "load-env": {
497
+ "description": "Comma separated list of paths to .env files to read input parameters from."
498
+ },
499
+ "output-json": {
500
+ "description": "Path to a .json file to store the command output."
501
+ },
502
+ "output-env": {
503
+ "description": "Path to a .env file to store the command output."
504
+ },
505
+ "output-env-prefix": {
506
+ "description": "Prefix to use for variables in the output .env file."
507
+ }
508
+ },
509
+ "labels": {
510
+ "creating": "Creating user",
511
+ "storingUser": "Storing user",
512
+ "storingProfile": "Storing profile",
513
+ "userCreated": "User created",
514
+ "skipping": "The user with ID already exists, skipping creation",
515
+ "overwriting": "Overwriting existing user with ID",
516
+ "email": "Email",
517
+ "password": "Password"
518
+ }
519
+ },
520
+ "user-update": {
521
+ "description": "Update a user",
522
+ "example": "user-update --email=\"bob@examples.com\" --user-identity=\"did:iota:....\" --organization-identity=\"did:iota:....\" --scope=\"tenant-admin\" --givenName=\"Bob\" --familyName=\"Smith\"",
523
+ "params": {
524
+ "env-prefix": {
525
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
526
+ },
527
+ "user-identity": {
528
+ "description": "The DID to associate the user with."
529
+ },
530
+ "organization-identity": {
531
+ "description": "The organization DID to associate the user with."
532
+ },
533
+ "tenant-id": {
534
+ "description": "The tenant ID to associate the user with."
535
+ },
536
+ "email": {
537
+ "description": "The email address of the user."
538
+ },
539
+ "scope": {
540
+ "description": "List of scopes to associate with the user, comma separated."
541
+ },
542
+ "given-name": {
543
+ "description": "The given name of the user."
544
+ },
545
+ "family-name": {
546
+ "description": "The family name of the user."
547
+ },
548
+ "load-env": {
549
+ "description": "Comma separated list of paths to .env files to read input parameters from."
550
+ }
551
+ },
552
+ "labels": {
553
+ "updating": "Updating user",
554
+ "storingUser": "Storing user",
555
+ "storingProfile": "Storing profile",
556
+ "userUpdated": "User updated"
557
+ }
558
+ },
559
+ "vault-key-create": {
560
+ "description": "Create a vault key for an identity",
561
+ "example": "vault-key-create --identity=\"did:iota:....\" --key-id=\"my-key\" --key-type=\"Ed25519\"",
562
+ "params": {
563
+ "env-prefix": {
564
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
565
+ },
566
+ "identity": {
567
+ "description": "The DID to associate the key with."
568
+ },
569
+ "key-id": {
570
+ "description": "The ID of the key."
571
+ },
572
+ "key-type": {
573
+ "description": "The type of the key."
574
+ },
575
+ "overwrite-mode": {
576
+ "description": "The mode to use when a key with the same id already exists."
577
+ },
578
+ "load-env": {
579
+ "description": "Comma separated list of paths to .env files to read input parameters from."
580
+ },
581
+ "output-json": {
582
+ "description": "Path to a .json file to store the command output."
583
+ },
584
+ "output-env": {
585
+ "description": "Path to a .env file to store the command output."
586
+ },
587
+ "output-env-prefix": {
588
+ "description": "Prefix to use for variables in the output .env file."
589
+ }
590
+ },
591
+ "labels": {
592
+ "creating": "Creating key",
593
+ "created": "Created key",
594
+ "skipping": "The key with ID already exists, skipping creation",
595
+ "overwriting": "Overwriting existing key with ID",
596
+ "keyId": "Key ID",
597
+ "keyType": "Key Type",
598
+ "privateKeyBase64": "Private Key Base64",
599
+ "publicKeyBase64": "Public Key Base64",
600
+ "privateKeyHex": "Private Key Hex",
601
+ "publicKeyHex": "Public Key Hex"
602
+ }
603
+ },
604
+ "set-node-org-id": {
605
+ "description": "Set the node organization ID",
606
+ "example": "set-node-org-id --organization-id=\"did:iota:...\"",
607
+ "params": {
608
+ "env-prefix": {
609
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
610
+ },
611
+ "organization-id": {
612
+ "description": "The organization DID to set as the node organization ID."
613
+ },
614
+ "load-env": {
615
+ "description": "Comma separated list of paths to .env files to read input parameters from."
616
+ }
617
+ },
618
+ "labels": {
619
+ "stored": "The node organization ID has been stored"
620
+ }
621
+ },
622
+ "set-tenant-org-id": {
623
+ "description": "Set the organization ID for a tenant",
624
+ "example": "set-tenant-org-id --tenant-id=\"0011..aabb\" --organization-id=\"did:iota:...\"",
625
+ "params": {
626
+ "env-prefix": {
627
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
628
+ },
629
+ "tenant-id": {
630
+ "description": "The tenant ID to update."
631
+ },
632
+ "organization-id": {
633
+ "description": "The organization DID to set as the tenant organization ID."
634
+ },
635
+ "load-env": {
636
+ "description": "Comma separated list of paths to .env files to read input parameters from."
637
+ }
638
+ },
639
+ "labels": {
640
+ "updating": "Updating tenant organization ID",
641
+ "stored": "The tenant organization ID has been stored"
642
+ }
643
+ },
644
+ "remove-tenant-org-alias": {
645
+ "description": "Remove an alias from the tenant organization ID legacy list",
646
+ "example": "remove-tenant-org-alias --tenant-id=\"0011..aabb\" --alias=\"did:iota:...\"",
647
+ "params": {
648
+ "env-prefix": {
649
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
650
+ },
651
+ "tenant-id": {
652
+ "description": "The tenant ID to update."
653
+ },
654
+ "alias": {
655
+ "description": "The organization DID alias to remove from the legacy list."
656
+ },
657
+ "load-env": {
658
+ "description": "Comma separated list of paths to .env files to read input parameters from."
659
+ }
660
+ },
661
+ "labels": {
662
+ "reading": "Reading tenant",
663
+ "updating": "Removing alias from tenant organization legacy list",
664
+ "removed": "The alias has been removed from the tenant organization legacy list"
665
+ }
666
+ },
667
+ "vault-key-import": {
668
+ "description": "Import a vault key for an identity",
669
+ "example": "vault-key-import --identity=\"did:iota:....\" --key-id=\"my-key\" --key-type=Ed25519 --private-key-hex=\"15...a2\"",
670
+ "params": {
671
+ "env-prefix": {
672
+ "description": "Prefix to use for standard .env files e.g. TWIN_."
673
+ },
674
+ "identity": {
675
+ "description": "The DID to associate the key with."
676
+ },
677
+ "key-id": {
678
+ "description": "The ID of the key."
679
+ },
680
+ "key-type": {
681
+ "description": "The type of the key."
682
+ },
683
+ "private-key-hex": {
684
+ "description": "The private key in hex format."
685
+ },
686
+ "load-env": {
687
+ "description": "Comma separated list of paths to .env files to read input parameters from."
688
+ }
689
+ },
690
+ "labels": {
691
+ "importing": "Importing key",
692
+ "imported": "Imported key"
693
+ }
694
+ }
695
+ }
696
+ }
53
697
  }
54
698
  }