@twin.org/node 0.9.1-next.3 → 0.9.1-next.5
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/dist/locales/en.json +241 -20
- package/docs/changelog.md +28 -0
- package/docs/usage.md +240 -5
- package/package.json +2 -2
package/dist/locales/en.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
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
|
|
5
|
-
"nodeOrganizationIdNotSet": "The node organization is not set, please set it using the \"
|
|
6
|
-
"tenantsWithoutOrganizationId": "The following tenants have no organization ID assigned. Use the \"
|
|
4
|
+
"nodeIdentityNotSet": "The node identity is enabled in config but is not set, please set it using the \"node-identity-set\" CLI command.",
|
|
5
|
+
"nodeOrganizationIdNotSet": "The node organization is not set, please set it using the \"node-org-id-set\".",
|
|
6
|
+
"tenantsWithoutOrganizationId": "The following tenants have no organization ID assigned. Use the \"tenant-org-id-set\" command to assign one before starting the node: {tenantIds}",
|
|
7
7
|
"storageFileRootNotSet": "{storageFileRoot} is not set, the server will not start without it, please set it in the shell or create a .env file",
|
|
8
8
|
"extensionLoadingError": "Failed to load extension \"{extension}\"",
|
|
9
9
|
"insecureProtocol": "Cannot load extension from insecure protocol: {protocol}. Only HTTPS is allowed for remote extensions.",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"bootstrapLegacy": {
|
|
20
20
|
"noFeaturesEnabled": "No features are enabled in legacy bootstrap mode, at least one feature must be enabled.",
|
|
21
|
-
"organizationNotSet": "The organisation identity has not been set. Run \"
|
|
21
|
+
"organizationNotSet": "The organisation identity has not been set. Run \"node-org-id-set\"."
|
|
22
22
|
},
|
|
23
23
|
"identityCreate": {
|
|
24
24
|
"invalidMnemonic": "The mnemonic is invalid, it should be 24 words from the standard wordlist.",
|
|
@@ -49,17 +49,27 @@
|
|
|
49
49
|
"userAlreadyExists": "The user with ID already exists and overwriteMode is set to \"error\".",
|
|
50
50
|
"tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
|
|
51
51
|
},
|
|
52
|
+
"userGet": {
|
|
53
|
+
"tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
|
|
54
|
+
},
|
|
52
55
|
"userUpdate": {
|
|
53
56
|
"tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
|
|
54
57
|
},
|
|
58
|
+
"orgUsersList": {
|
|
59
|
+
"orgDidRequired": "The organization DID is required in multi-tenant mode. Provide --org-did or switch to single-tenant mode."
|
|
60
|
+
},
|
|
55
61
|
"vaultKeyCreate": {
|
|
56
62
|
"vaultKeyAlreadyExists": "The vault key with ID already exists and overwriteMode is set to \"error\"."
|
|
57
63
|
},
|
|
58
|
-
"
|
|
64
|
+
"nodeIdentitySet": {
|
|
59
65
|
"identityNotFound": "The identity with DID \"{notFoundId}\" was not found in the system."
|
|
60
66
|
},
|
|
61
|
-
"
|
|
62
|
-
"notAvailableInMultiTenantMode": "The
|
|
67
|
+
"nodeOrgIdGet": {
|
|
68
|
+
"notAvailableInMultiTenantMode": "The node-org-id-get command is not available in multi-tenant mode, use tenant-org-id-set instead.",
|
|
69
|
+
"nodeOrganizationIdNotSet": "The node organization ID is not set. Use \"node-org-id-set\" to set it first."
|
|
70
|
+
},
|
|
71
|
+
"nodeOrgIdSet": {
|
|
72
|
+
"notAvailableInMultiTenantMode": "The node-org-id-set command is not available in multi-tenant mode, use tenant-org-id-set instead."
|
|
63
73
|
},
|
|
64
74
|
"applyOrganizationIdToTenant": {
|
|
65
75
|
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
@@ -68,6 +78,21 @@
|
|
|
68
78
|
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command.",
|
|
69
79
|
"aliasNotFound": "The alias \"{alias}\" was not found in the tenant organization legacy list."
|
|
70
80
|
},
|
|
81
|
+
"tenantList": {
|
|
82
|
+
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
83
|
+
},
|
|
84
|
+
"tenantGet": {
|
|
85
|
+
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
86
|
+
},
|
|
87
|
+
"tenantListByOrg": {
|
|
88
|
+
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
89
|
+
},
|
|
90
|
+
"nodeIdentityGet": {
|
|
91
|
+
"nodeIdentityNotSet": "The node identity is not set. Use \"node-identity-set\" to set it first."
|
|
92
|
+
},
|
|
93
|
+
"identityResolve": {
|
|
94
|
+
"identityNotFound": "The identity \"{identity}\" was not found."
|
|
95
|
+
},
|
|
71
96
|
"entityStorageAuthenticationService": {
|
|
72
97
|
"loginFailed": "Login failed",
|
|
73
98
|
"userNotFound": "The user with the specified e-mail could not be found",
|
|
@@ -353,7 +378,10 @@
|
|
|
353
378
|
},
|
|
354
379
|
"entityStorageHelper": {
|
|
355
380
|
"sortNotIndexed": "The property \"{property}\" is not indexed and cannot be used for sorting",
|
|
356
|
-
"propertyNotInSchema": "The property \"{property}\" does not exist in the schema and cannot be used for projection"
|
|
381
|
+
"propertyNotInSchema": "The property \"{property}\" does not exist in the schema and cannot be used for projection",
|
|
382
|
+
"unknownPropertyInConditionProperty": "The property \"{property}\" is not a recognised schema property and cannot be used as a condition property",
|
|
383
|
+
"unknownPropertyInConditions": "The property \"{property}\" is not a recognised schema property and cannot be used in conditions",
|
|
384
|
+
"invalidConditionPropertyPath": "The property \"{property}\" has an invalid path: the root must be an object or array type, segments must not exceed 128 characters, and must not contain SQL metacharacters or control characters"
|
|
357
385
|
},
|
|
358
386
|
"migrationHelper": {
|
|
359
387
|
"migrateSchemaFailed": "Migration failed for schema \"{schemaName}\".",
|
|
@@ -619,7 +647,6 @@
|
|
|
619
647
|
"autoStartFailed": "Provider auto-start of a requested transfer failed (consumerPid: {consumerPid})",
|
|
620
648
|
"autoStartPublicOriginMissing": "Cannot auto-start the transfer: this node's public origin could not be resolved; holding the transfer in REQUESTED (consumerPid: {consumerPid})",
|
|
621
649
|
"transferProcessNotFound": "Transfer Process not found",
|
|
622
|
-
"pullTransfersNotSupported": "PULL transfers are not supported. Configure dataPlanePath in service configuration to enable PULL transfers.",
|
|
623
650
|
"transferProcessTerminated": "Transfer Process \"{consumerPid}\" is terminated and cannot be used",
|
|
624
651
|
"transferProcessTerminatedProvider": "Transfer Process \"{providerPid}\" is terminated and cannot be used",
|
|
625
652
|
"invalidTransferRequest": "Transfer Request does not conform to Dataspace Protocol specification",
|
|
@@ -660,9 +687,6 @@
|
|
|
660
687
|
"callerNotAuthorizedAsProvider": "The caller's verified identity does not match the provider for this transfer process",
|
|
661
688
|
"callerNotAuthorizedForTransfer": "The caller's verified identity does not match the consumer or provider for this transfer process",
|
|
662
689
|
"multipleAssignersNotSupported": "Multiple assigners found in agreement, which is not supported. Only single assigner agreements are supported.",
|
|
663
|
-
"invalidPushDataAddress": "PUSH transfer cannot start: consumer dataAddress is missing endpoint or endpointType (consumerPid: {consumerPid})",
|
|
664
|
-
"pushTransferDataPathNotConfigured": "PUSH transfer cannot start: dataPlanePath is not configured (consumerPid: {consumerPid})",
|
|
665
|
-
"dataPlaneNotRegistered": "Push-mode transfer requires the data plane component to be registered (factory key: \"dataspace-data-plane\"). This deployment was configured without a data plane — register one to enable push, or use pull-mode transfers only.",
|
|
666
690
|
"datasetPublishFailed": "Failed to publish dataset \"{datasetId}\" for app \"{appId}\" (tenant: \"{tenantId}\")",
|
|
667
691
|
"datasetRemoveFailed": "Failed to remove dataset \"{datasetId}\" from the Federated Catalogue (tenant: \"{tenantId}\")",
|
|
668
692
|
"datasetAlreadyExists": "A dataset with id \"{existingId}\" already exists.",
|
|
@@ -672,6 +696,18 @@
|
|
|
672
696
|
"invalidDatasetId": "Dataset ID \"{id}\" is not a valid URN or URL"
|
|
673
697
|
},
|
|
674
698
|
"dataspaceControlPlanePolicyRequester": {},
|
|
699
|
+
"httpDataPullTransferHandler": {
|
|
700
|
+
"pullTransfersNotSupported": "PULL transfers are not supported: dataPlanePath is not configured (consumerPid: {consumerPid}, providerPid: {providerPid})",
|
|
701
|
+
"providerIdentityMissing": "Provider identity (DID) is required to sign data access tokens but was not set on the Transfer Process"
|
|
702
|
+
},
|
|
703
|
+
"httpDataPushTransferHandler": {
|
|
704
|
+
"pushTransferDataPathNotConfigured": "PUSH transfer cannot start: dataPlanePath is not configured (consumerPid: {consumerPid})",
|
|
705
|
+
"invalidPushDataAddress": "PUSH transfer cannot start: consumer dataAddress is missing endpoint or endpointType (consumerPid: {consumerPid})"
|
|
706
|
+
},
|
|
707
|
+
"httpDataPostTransferHandler": {
|
|
708
|
+
"pushTransferDataPathNotConfigured": "POST transfer cannot start: dataPlanePath is not configured (consumerPid: {consumerPid})",
|
|
709
|
+
"providerIdentityMissing": "Provider identity (DID) is required to sign data access tokens but was not set on the Transfer Process"
|
|
710
|
+
},
|
|
675
711
|
"trustHelper": {
|
|
676
712
|
"trustVerifyFailed": "Trust verification failed for action \"{action}\""
|
|
677
713
|
},
|
|
@@ -1433,11 +1469,13 @@
|
|
|
1433
1469
|
"cli": {
|
|
1434
1470
|
"commands": {
|
|
1435
1471
|
"command": "Command",
|
|
1472
|
+
"deprecatedAlias": "\"{alias}\" is a deprecated alias, please use \"{command}\" instead.",
|
|
1436
1473
|
"help": {
|
|
1437
1474
|
"description": "Display help information about CLI commands",
|
|
1438
1475
|
"labels": {
|
|
1439
1476
|
"commands": "All the commands available are listed below, for more information use the --help option with a specific command.",
|
|
1440
1477
|
"example": "Example",
|
|
1478
|
+
"aliases": "Deprecated aliases",
|
|
1441
1479
|
"optional": "optional",
|
|
1442
1480
|
"required": "required",
|
|
1443
1481
|
"default": "default",
|
|
@@ -1682,9 +1720,9 @@
|
|
|
1682
1720
|
"publicKeyHex": "Public Key Hex"
|
|
1683
1721
|
}
|
|
1684
1722
|
},
|
|
1685
|
-
"node-set
|
|
1723
|
+
"node-identity-set": {
|
|
1686
1724
|
"description": "Set the node identity",
|
|
1687
|
-
"example": "node-set
|
|
1725
|
+
"example": "node-identity-set --identity=\"did:iota...\"",
|
|
1688
1726
|
"params": {
|
|
1689
1727
|
"env-prefix": {
|
|
1690
1728
|
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
@@ -1808,6 +1846,31 @@
|
|
|
1808
1846
|
"updated": "Updated tenant"
|
|
1809
1847
|
}
|
|
1810
1848
|
},
|
|
1849
|
+
"user-get": {
|
|
1850
|
+
"description": "Get a user by email address",
|
|
1851
|
+
"example": "user-get --email=\"bob@example.com\"",
|
|
1852
|
+
"params": {
|
|
1853
|
+
"env-prefix": {
|
|
1854
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
1855
|
+
},
|
|
1856
|
+
"email": {
|
|
1857
|
+
"description": "The email address of the user to retrieve."
|
|
1858
|
+
},
|
|
1859
|
+
"tenant-id": {
|
|
1860
|
+
"description": "The tenant ID to retrieve the user from (multi-tenant mode only)."
|
|
1861
|
+
},
|
|
1862
|
+
"load-env": {
|
|
1863
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
1864
|
+
}
|
|
1865
|
+
},
|
|
1866
|
+
"labels": {
|
|
1867
|
+
"retrieving": "Retrieving user",
|
|
1868
|
+
"email": "Email",
|
|
1869
|
+
"identity": "Identity",
|
|
1870
|
+
"organization": "Organization",
|
|
1871
|
+
"scope": "Scope"
|
|
1872
|
+
}
|
|
1873
|
+
},
|
|
1811
1874
|
"user-create": {
|
|
1812
1875
|
"description": "Create a user",
|
|
1813
1876
|
"example": "user-create --user-identity=\"did:iota:....\" --organization-identity=\"did:iota:....\" --email=\"bob@examples.com\" --password=\"pass1234\" --scope=\"tenant-admin\" --givenName=\"Bob\" --familyName=\"Smith\"",
|
|
@@ -1950,9 +2013,24 @@
|
|
|
1950
2013
|
"publicKeyHex": "Public Key Hex"
|
|
1951
2014
|
}
|
|
1952
2015
|
},
|
|
1953
|
-
"
|
|
2016
|
+
"node-org-id-get": {
|
|
2017
|
+
"description": "Get the organization ID currently assigned to the node",
|
|
2018
|
+
"example": "node-org-id-get",
|
|
2019
|
+
"params": {
|
|
2020
|
+
"env-prefix": {
|
|
2021
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2022
|
+
},
|
|
2023
|
+
"load-env": {
|
|
2024
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2025
|
+
}
|
|
2026
|
+
},
|
|
2027
|
+
"labels": {
|
|
2028
|
+
"organizationId": "Organization ID"
|
|
2029
|
+
}
|
|
2030
|
+
},
|
|
2031
|
+
"node-org-id-set": {
|
|
1954
2032
|
"description": "Set the node organization ID",
|
|
1955
|
-
"example": "
|
|
2033
|
+
"example": "node-org-id-set --organization-id=\"did:iota:...\"",
|
|
1956
2034
|
"params": {
|
|
1957
2035
|
"env-prefix": {
|
|
1958
2036
|
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
@@ -1968,9 +2046,9 @@
|
|
|
1968
2046
|
"stored": "The node organization ID has been stored"
|
|
1969
2047
|
}
|
|
1970
2048
|
},
|
|
1971
|
-
"
|
|
2049
|
+
"tenant-org-id-set": {
|
|
1972
2050
|
"description": "Set the organization ID for a tenant",
|
|
1973
|
-
"example": "
|
|
2051
|
+
"example": "tenant-org-id-set --tenant-id=\"0011..aabb\" --organization-id=\"did:iota:...\"",
|
|
1974
2052
|
"params": {
|
|
1975
2053
|
"env-prefix": {
|
|
1976
2054
|
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
@@ -2040,6 +2118,151 @@
|
|
|
2040
2118
|
"importing": "Importing key",
|
|
2041
2119
|
"imported": "Imported key"
|
|
2042
2120
|
}
|
|
2121
|
+
},
|
|
2122
|
+
"tenant-list": {
|
|
2123
|
+
"description": "List all tenants",
|
|
2124
|
+
"example": "tenant-list",
|
|
2125
|
+
"params": {
|
|
2126
|
+
"env-prefix": {
|
|
2127
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2128
|
+
},
|
|
2129
|
+
"load-env": {
|
|
2130
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2131
|
+
}
|
|
2132
|
+
},
|
|
2133
|
+
"labels": {
|
|
2134
|
+
"listing": "Listing tenants",
|
|
2135
|
+
"tenantId": "Tenant ID",
|
|
2136
|
+
"apiKey": "API Key",
|
|
2137
|
+
"organizationId": "Organization ID",
|
|
2138
|
+
"label": "Label",
|
|
2139
|
+
"count": "Total tenants"
|
|
2140
|
+
}
|
|
2141
|
+
},
|
|
2142
|
+
"tenant-get": {
|
|
2143
|
+
"description": "Get the full configuration record for a single tenant",
|
|
2144
|
+
"example": "tenant-get --tenant-id=\"0011..aabb\"",
|
|
2145
|
+
"params": {
|
|
2146
|
+
"env-prefix": {
|
|
2147
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2148
|
+
},
|
|
2149
|
+
"tenant-id": {
|
|
2150
|
+
"description": "The tenant ID to retrieve."
|
|
2151
|
+
},
|
|
2152
|
+
"load-env": {
|
|
2153
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2154
|
+
}
|
|
2155
|
+
},
|
|
2156
|
+
"labels": {
|
|
2157
|
+
"retrieving": "Retrieving tenant",
|
|
2158
|
+
"tenantId": "Tenant ID",
|
|
2159
|
+
"apiKey": "API Key",
|
|
2160
|
+
"organizationId": "Organization ID",
|
|
2161
|
+
"label": "Label",
|
|
2162
|
+
"publicOrigin": "Public Origin",
|
|
2163
|
+
"dateCreated": "Date Created",
|
|
2164
|
+
"dateModified": "Date Modified"
|
|
2165
|
+
}
|
|
2166
|
+
},
|
|
2167
|
+
"tenant-list-by-org": {
|
|
2168
|
+
"description": "List all tenants associated with a given organization DID",
|
|
2169
|
+
"example": "tenant-list-by-org --org-id=\"did:iota:...\"",
|
|
2170
|
+
"params": {
|
|
2171
|
+
"env-prefix": {
|
|
2172
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2173
|
+
},
|
|
2174
|
+
"org-id": {
|
|
2175
|
+
"description": "The organization DID to filter tenants by."
|
|
2176
|
+
},
|
|
2177
|
+
"load-env": {
|
|
2178
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2179
|
+
}
|
|
2180
|
+
},
|
|
2181
|
+
"labels": {
|
|
2182
|
+
"listing": "Listing tenants for organization",
|
|
2183
|
+
"tenantId": "Tenant ID",
|
|
2184
|
+
"apiKey": "API Key",
|
|
2185
|
+
"organizationId": "Organization ID",
|
|
2186
|
+
"label": "Label",
|
|
2187
|
+
"count": "Total tenants"
|
|
2188
|
+
}
|
|
2189
|
+
},
|
|
2190
|
+
"node-identity-get": {
|
|
2191
|
+
"description": "Get the identity currently assigned to the node",
|
|
2192
|
+
"example": "node-identity-get",
|
|
2193
|
+
"params": {
|
|
2194
|
+
"env-prefix": {
|
|
2195
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2196
|
+
},
|
|
2197
|
+
"load-env": {
|
|
2198
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2199
|
+
}
|
|
2200
|
+
},
|
|
2201
|
+
"labels": {
|
|
2202
|
+
"resolving": "Resolving node identity",
|
|
2203
|
+
"did": "DID",
|
|
2204
|
+
"verificationMethods": "Verification Methods"
|
|
2205
|
+
}
|
|
2206
|
+
},
|
|
2207
|
+
"identity-list": {
|
|
2208
|
+
"description": "List all identities held in custody by the node",
|
|
2209
|
+
"example": "identity-list",
|
|
2210
|
+
"params": {
|
|
2211
|
+
"env-prefix": {
|
|
2212
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2213
|
+
},
|
|
2214
|
+
"load-env": {
|
|
2215
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2216
|
+
}
|
|
2217
|
+
},
|
|
2218
|
+
"labels": {
|
|
2219
|
+
"listing": "Listing identities",
|
|
2220
|
+
"did": "DID",
|
|
2221
|
+
"controller": "Controller",
|
|
2222
|
+
"count": "Total identities"
|
|
2223
|
+
}
|
|
2224
|
+
},
|
|
2225
|
+
"identity-resolve": {
|
|
2226
|
+
"description": "Resolve an identity DID to its full document",
|
|
2227
|
+
"example": "identity-resolve --identity=\"did:iota:...\"",
|
|
2228
|
+
"params": {
|
|
2229
|
+
"env-prefix": {
|
|
2230
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2231
|
+
},
|
|
2232
|
+
"identity": {
|
|
2233
|
+
"description": "The DID to resolve."
|
|
2234
|
+
},
|
|
2235
|
+
"load-env": {
|
|
2236
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2237
|
+
}
|
|
2238
|
+
},
|
|
2239
|
+
"labels": {
|
|
2240
|
+
"resolving": "Resolving identity",
|
|
2241
|
+
"did": "DID",
|
|
2242
|
+
"verificationMethods": "Verification Methods"
|
|
2243
|
+
}
|
|
2244
|
+
},
|
|
2245
|
+
"org-users-list": {
|
|
2246
|
+
"description": "List all users belonging to an organization DID",
|
|
2247
|
+
"example": "org-users-list --org-did=\"did:iota:...\"",
|
|
2248
|
+
"params": {
|
|
2249
|
+
"env-prefix": {
|
|
2250
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2251
|
+
},
|
|
2252
|
+
"org-did": {
|
|
2253
|
+
"description": "The organization DID to list users for. Defaults to the node organization ID in single-tenant mode."
|
|
2254
|
+
},
|
|
2255
|
+
"load-env": {
|
|
2256
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2257
|
+
}
|
|
2258
|
+
},
|
|
2259
|
+
"labels": {
|
|
2260
|
+
"listing": "Listing organization users",
|
|
2261
|
+
"email": "Email",
|
|
2262
|
+
"identity": "Identity",
|
|
2263
|
+
"scope": "Scope",
|
|
2264
|
+
"count": "Total users"
|
|
2265
|
+
}
|
|
2043
2266
|
}
|
|
2044
2267
|
}
|
|
2045
2268
|
}
|
|
@@ -2127,7 +2350,6 @@
|
|
|
2127
2350
|
"transferProcessInitiated": "Transfer Process initiated",
|
|
2128
2351
|
"transferProcessQueried": "Transfer Process queried (role: {role})",
|
|
2129
2352
|
"transferProcessStarted": "Transfer Process started",
|
|
2130
|
-
"dataAccessTokenGenerated": "Data access token generated for PULL transfer",
|
|
2131
2353
|
"transferProcessCompleted": "Transfer Process completed",
|
|
2132
2354
|
"transferProcessSuspended": "Transfer Process suspended",
|
|
2133
2355
|
"transferProcessTerminated": "Transfer Process terminated",
|
|
@@ -2148,7 +2370,6 @@
|
|
|
2148
2370
|
"negotiationHistoryRetrieved": "Negotiation history retrieved successfully",
|
|
2149
2371
|
"stalledNegotiationsCleanupComplete": "Stalled negotiations cleanup completed (cleanedUp: {cleanedUp})",
|
|
2150
2372
|
"stalledTransfersCleanupComplete": "Stalled transfers cleanup completed (cleanedUp: {cleanedUp})",
|
|
2151
|
-
"pushTransferStarted": "PUSH transfer started (consumerPid: {consumerPid}, providerPid: {providerPid}, endpoint: {endpoint})",
|
|
2152
2373
|
"preparingTransfer": "Preparing consumer-initiated data transfer (agreementId: {agreementId}, providerEndpoint: {providerEndpoint}, format: {format})",
|
|
2153
2374
|
"transferPrepared": "Consumer data transfer prepared successfully (consumerPid: {consumerPid}, providerPid: {providerPid}, agreementId: {agreementId}, format: {format})"
|
|
2154
2375
|
},
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.1-next.5](https://github.com/iotaledger/twin-node/compare/node-v0.9.1-next.4...node-v0.9.1-next.5) (2026-07-02)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* dataspace plane path ([#272](https://github.com/iotaledger/twin-node/issues/272)) ([5998eeb](https://github.com/iotaledger/twin-node/commit/5998eeb6fa1392ae753eb6bafeccefa1fb690573))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/node-core bumped from 0.9.1-next.4 to 0.9.1-next.5
|
|
16
|
+
|
|
17
|
+
## [0.9.1-next.4](https://github.com/iotaledger/twin-node/compare/node-v0.9.1-next.3...node-v0.9.1-next.4) (2026-07-01)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* additional cli commands ([#269](https://github.com/iotaledger/twin-node/issues/269)) ([c9e7c93](https://github.com/iotaledger/twin-node/commit/c9e7c939aedfceed9cbe501f2dc936e84289ed62))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Dependencies
|
|
26
|
+
|
|
27
|
+
* The following workspace dependencies were updated
|
|
28
|
+
* dependencies
|
|
29
|
+
* @twin.org/node-core bumped from 0.9.1-next.3 to 0.9.1-next.4
|
|
30
|
+
|
|
3
31
|
## [0.9.1-next.3](https://github.com/iotaledger/twin-node/compare/node-v0.9.1-next.2...node-v0.9.1-next.3) (2026-06-30)
|
|
4
32
|
|
|
5
33
|
|
package/docs/usage.md
CHANGED
|
@@ -28,17 +28,26 @@ All the commands available are listed below, for more information use the --help
|
|
|
28
28
|
bootstrap-legacy: Bootstrap in legacy mode for backwards compatibility, **will be deprecated in future versions**
|
|
29
29
|
identity-create: Create an identity
|
|
30
30
|
identity-import: Import an identity
|
|
31
|
+
identity-list: List all identities held in custody by the node
|
|
32
|
+
identity-resolve: Resolve an identity DID to its full document
|
|
31
33
|
identity-verification-method-create: Create an identity verification method
|
|
32
34
|
identity-verification-method-import: Import an identity verification method
|
|
33
35
|
identity-verifiable-credential-create: Create a verifiable credential
|
|
34
|
-
node-
|
|
36
|
+
node-identity-get: Get the identity currently assigned to the node
|
|
37
|
+
node-identity-set: Set the node identity
|
|
38
|
+
org-users-list: List all users belonging to an organization DID
|
|
35
39
|
remove-tenant-org-alias: Remove an alias from the tenant organization ID legacy list
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
node-org-id-get: Get the organization ID currently assigned to the node
|
|
41
|
+
node-org-id-set: Set the node organization ID
|
|
42
|
+
tenant-org-id-set: Set the organization ID for a tenant
|
|
38
43
|
tenant-create: Create a tenant with associated api key
|
|
44
|
+
tenant-get: Get the full configuration record for a single tenant
|
|
39
45
|
tenant-import: Import a tenant with associated api key
|
|
46
|
+
tenant-list: List all tenants
|
|
47
|
+
tenant-list-by-org: List all tenants associated with a given organization DID
|
|
40
48
|
tenant-update: Update a tenant with associated api key
|
|
41
49
|
user-create: Create a user
|
|
50
|
+
user-get: Get a user by email address
|
|
42
51
|
user-update: Update a user
|
|
43
52
|
vault-key-create: Create a vault key for an identity
|
|
44
53
|
vault-key-import: Import a vault key for an identity
|
|
@@ -127,6 +136,150 @@ The tenant ID to set the created identity DID as the organization ID for (requir
|
|
|
127
136
|
Example: identity-create --mnemonic="..." --fund-wallet=true
|
|
128
137
|
```
|
|
129
138
|
|
|
139
|
+
## identity-list --help
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
identity-list: List all identities held in custody by the node
|
|
143
|
+
|
|
144
|
+
env-prefix: (string, optional)
|
|
145
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
146
|
+
|
|
147
|
+
load-env: (string, optional)
|
|
148
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
149
|
+
|
|
150
|
+
Example: identity-list
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## identity-resolve --help
|
|
154
|
+
|
|
155
|
+
```text
|
|
156
|
+
identity-resolve: Resolve an identity DID to its full document
|
|
157
|
+
|
|
158
|
+
env-prefix: (string, optional)
|
|
159
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
160
|
+
|
|
161
|
+
identity: (string, did, required)
|
|
162
|
+
The DID to resolve.
|
|
163
|
+
|
|
164
|
+
load-env: (string, optional)
|
|
165
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
166
|
+
|
|
167
|
+
Example: identity-resolve --identity="did:iota:..."
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## node-identity-get --help
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
node-identity-get: Get the identity currently assigned to the node
|
|
174
|
+
|
|
175
|
+
env-prefix: (string, optional)
|
|
176
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
177
|
+
|
|
178
|
+
load-env: (string, optional)
|
|
179
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
180
|
+
|
|
181
|
+
Example: node-identity-get
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## node-org-id-get --help
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
node-org-id-get: Get the organization ID currently assigned to the node
|
|
188
|
+
|
|
189
|
+
env-prefix: (string, optional)
|
|
190
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
191
|
+
|
|
192
|
+
load-env: (string, optional)
|
|
193
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
194
|
+
|
|
195
|
+
Example: node-org-id-get
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## org-users-list --help
|
|
199
|
+
|
|
200
|
+
```text
|
|
201
|
+
org-users-list: List all users belonging to an organization DID
|
|
202
|
+
|
|
203
|
+
env-prefix: (string, optional)
|
|
204
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
205
|
+
|
|
206
|
+
org-did: (string, did, optional)
|
|
207
|
+
The organization DID to list users for. Defaults to the node organization ID in single-tenant mode.
|
|
208
|
+
|
|
209
|
+
load-env: (string, optional)
|
|
210
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
211
|
+
|
|
212
|
+
Example: org-users-list --org-did="did:iota:..."
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## user-get --help
|
|
216
|
+
|
|
217
|
+
```text
|
|
218
|
+
user-get: Get a user by email address
|
|
219
|
+
|
|
220
|
+
env-prefix: (string, optional)
|
|
221
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
222
|
+
|
|
223
|
+
email: (string, email, required)
|
|
224
|
+
The email address of the user to retrieve.
|
|
225
|
+
|
|
226
|
+
tenant-id: (string, hex(32), optional)
|
|
227
|
+
The tenant ID to retrieve the user from (multi-tenant mode only).
|
|
228
|
+
|
|
229
|
+
load-env: (string, optional)
|
|
230
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
231
|
+
|
|
232
|
+
Example: user-get --email="bob@example.com"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## tenant-get --help
|
|
236
|
+
|
|
237
|
+
```text
|
|
238
|
+
tenant-get: Get the full configuration record for a single tenant
|
|
239
|
+
|
|
240
|
+
env-prefix: (string, optional)
|
|
241
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
242
|
+
|
|
243
|
+
tenant-id: (string, hex(32), required)
|
|
244
|
+
The tenant ID to retrieve.
|
|
245
|
+
|
|
246
|
+
load-env: (string, optional)
|
|
247
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
248
|
+
|
|
249
|
+
Example: tenant-get --tenant-id="0011..aabb"
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## tenant-list --help
|
|
253
|
+
|
|
254
|
+
```text
|
|
255
|
+
tenant-list: List all tenants
|
|
256
|
+
|
|
257
|
+
env-prefix: (string, optional)
|
|
258
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
259
|
+
|
|
260
|
+
load-env: (string, optional)
|
|
261
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
262
|
+
|
|
263
|
+
Example: tenant-list
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## tenant-list-by-org --help
|
|
267
|
+
|
|
268
|
+
```text
|
|
269
|
+
tenant-list-by-org: List all tenants associated with a given organization DID
|
|
270
|
+
|
|
271
|
+
env-prefix: (string, optional)
|
|
272
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
273
|
+
|
|
274
|
+
org-id: (string, did, required)
|
|
275
|
+
The organization DID to filter tenants by.
|
|
276
|
+
|
|
277
|
+
load-env: (string, optional)
|
|
278
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
279
|
+
|
|
280
|
+
Example: tenant-list-by-org --org-id="did:iota:..."
|
|
281
|
+
```
|
|
282
|
+
|
|
130
283
|
## Example
|
|
131
284
|
|
|
132
285
|
### Bootstrap legacy (single command)
|
|
@@ -176,7 +329,7 @@ twin-node identity-verification-method-create --load-env="node-identity.env,orga
|
|
|
176
329
|
### Step 5 - Set the organisation identity on the node (single-tenant)
|
|
177
330
|
|
|
178
331
|
```shell
|
|
179
|
-
twin-node
|
|
332
|
+
twin-node node-org-id-set --load-env="organization-identity.env" --organization-id=!ORGANIZATION_DID
|
|
180
333
|
```
|
|
181
334
|
|
|
182
335
|
### Step 6 - Create the node tenant and associate the organisation (multi-tenant only)
|
|
@@ -186,7 +339,7 @@ twin-node tenant-create --load-env="node-identity.env" --label="Node" --output-j
|
|
|
186
339
|
```
|
|
187
340
|
|
|
188
341
|
```shell
|
|
189
|
-
twin-node
|
|
342
|
+
twin-node tenant-org-id-set --load-env="node-tenant.env,organization-identity.env" --tenant-id=!NODE_TENANT_ID --organization-id=!ORGANIZATION_DID
|
|
190
343
|
```
|
|
191
344
|
|
|
192
345
|
To import an existing tenant instead:
|
|
@@ -258,3 +411,85 @@ To update an existing user:
|
|
|
258
411
|
```shell
|
|
259
412
|
twin-node user-update --load-env="organization-identity.env,admin-user-identity.env,node-tenant.env" --email="admin@node" --scope="tenant-admin,user-admin,foo"
|
|
260
413
|
```
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Inspection commands
|
|
418
|
+
|
|
419
|
+
The following commands are read-only and can be run at any time to inspect the state of the node.
|
|
420
|
+
|
|
421
|
+
### Get the node identity
|
|
422
|
+
|
|
423
|
+
Resolves and displays the DID document currently assigned as the node identity:
|
|
424
|
+
|
|
425
|
+
```shell
|
|
426
|
+
twin-node node-identity-get
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Get the node organization ID
|
|
430
|
+
|
|
431
|
+
Displays the organization DID currently assigned to the node (single-tenant only):
|
|
432
|
+
|
|
433
|
+
```shell
|
|
434
|
+
twin-node node-org-id-get
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### Resolve an identity
|
|
438
|
+
|
|
439
|
+
Resolve any DID to its full document, including its verification methods:
|
|
440
|
+
|
|
441
|
+
```shell
|
|
442
|
+
twin-node identity-resolve --identity="did:iota:..."
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### List all identities
|
|
446
|
+
|
|
447
|
+
List every identity held in custody by the node, showing each DID and its controller:
|
|
448
|
+
|
|
449
|
+
```shell
|
|
450
|
+
twin-node identity-list
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
### List all tenants (multi-tenant only)
|
|
454
|
+
|
|
455
|
+
```shell
|
|
456
|
+
twin-node tenant-list
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
### Get a single tenant (multi-tenant only)
|
|
460
|
+
|
|
461
|
+
```shell
|
|
462
|
+
twin-node tenant-get --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
### List tenants for an organization (multi-tenant only)
|
|
466
|
+
|
|
467
|
+
```shell
|
|
468
|
+
twin-node tenant-list-by-org --load-env="organization-identity.env" --org-id=!ORGANIZATION_DID
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
### List users for an organization
|
|
472
|
+
|
|
473
|
+
In single-tenant mode, `--org-did` can be omitted and the node organization ID is used automatically:
|
|
474
|
+
|
|
475
|
+
```shell
|
|
476
|
+
twin-node org-users-list
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
To list users for a specific organization:
|
|
480
|
+
|
|
481
|
+
```shell
|
|
482
|
+
twin-node org-users-list --load-env="organization-identity.env" --org-did=!ORGANIZATION_DID
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
### Get a single user
|
|
486
|
+
|
|
487
|
+
```shell
|
|
488
|
+
twin-node user-get --email="admin@node"
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
In multi-tenant mode supply the tenant ID:
|
|
492
|
+
|
|
493
|
+
```shell
|
|
494
|
+
twin-node user-get --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --email="admin@node"
|
|
495
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/node",
|
|
3
|
-
"version": "0.9.1-next.
|
|
3
|
+
"version": "0.9.1-next.5",
|
|
4
4
|
"description": "TWIN Node serving APIs using the specified configuration",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"node": ">=20.0.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@twin.org/node-core": "0.9.1-next.
|
|
17
|
+
"@twin.org/node-core": "0.9.1-next.5"
|
|
18
18
|
},
|
|
19
19
|
"bugs": {
|
|
20
20
|
"url": "git+https://github.com/iotaledger/twin-node/issues"
|