@twin.org/node 0.9.2-next.1 → 0.9.2-next.10

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.
@@ -14,10 +14,11 @@
14
14
  "cliCommandParamMissing": "Parameter \"{param}\" is required for command \"{command}\"",
15
15
  "cliCommandParamExtra": "Parameter(s) \"{params}\" are not recognised for command \"{command}\"",
16
16
  "cliEnvVarMissing": "Environment variable \"{envVar}\" does not exist",
17
+ "invalidEnvVarValue": "Environment variable \"{key}\" has an invalid value \"{value}\", expected {type} type",
17
18
  "unknownEnvVars": "Unknown environment variable properties [{keys}]. Check for typos in variable names, for custom variables use the {prefix}ENV_ALLOW_LIST."
18
19
  },
19
- "bootstrapLegacy": {
20
- "noFeaturesEnabled": "No features are enabled in legacy bootstrap mode, at least one feature must be enabled.",
20
+ "bootstrapDev": {
21
+ "noFeaturesEnabled": "No features are enabled, at least one feature must be enabled.",
21
22
  "organizationNotSet": "The organisation identity has not been set. Run \"node-org-id-set\"."
22
23
  },
23
24
  "identityCreate": {
@@ -93,51 +94,7 @@
93
94
  "identityResolve": {
94
95
  "identityNotFound": "The identity \"{identity}\" was not found."
95
96
  },
96
- "entityStorageAuthenticationService": {
97
- "loginFailed": "Login failed",
98
- "userNotFound": "The user with the specified e-mail could not be found",
99
- "passwordMismatch": "The password does not match the user's password",
100
- "nodeIdNotSet": "The node ID has not been set"
101
- },
102
- "entityStorageAuthenticationAdminService": {
103
- "userExists": "The user with the specified e-mail already exists",
104
- "createUserFailed": "Creating the user failed",
105
- "getUserFailed": "Getting the user failed",
106
- "updateUserFailed": "Updating the user failed",
107
- "removeUserFailed": "Removing the user failed",
108
- "updatePasswordFailed": "Updating the user's password failed",
109
- "userNotFound": "The user with the specified e-mail could not be found \"{notFoundId}\""
110
- },
111
- "authHeaderProcessor": {
112
- "nodeIdNotSet": "The node ID has not been set"
113
- },
114
- "passwordHelper": {
115
- "currentPasswordMismatch": "The current password is incorrect"
116
- },
117
- "entityStorageAuthenticationAuditService": {
118
- "auditEntryNotFound": "The audit entry with the specified identifier could not be found \"{notFoundId}\"",
119
- "getAuditEntryFailed": "Getting the audit entry failed",
120
- "updateAuditEntryFailed": "Updating the audit entry failed",
121
- "removeAuditEntryFailed": "Removing the audit entry failed"
122
- },
123
- "entityStorageAuthenticationRateService": {
124
- "actionConfigMissing": "No rate-limit configuration exists for action \"{action}\".",
125
- "rateLimitExceeded": "The rate limit for action \"{action}\" has been exceeded. Retry after {retryAfterSeconds} seconds."
126
- },
127
- "tokenHelper": {
128
- "missing": "The JSON Web token could not be found in the authorization header",
129
- "headerKeyIdMismatch": "The JSON Web token key identifier does not match the expected signing key",
130
- "payloadIssuerMismatch": "The JSON Web token issuer does not match the expected signing key",
131
- "payloadMissingSubject": "The JSON Web token payload does not contain a subject",
132
- "payloadMissingOrganization": "The JSON Web token payload does not contain an organization",
133
- "expired": "The JSON Web token has expired",
134
- "insufficientScopes": "The JSON Web token does not have the required scopes to access this resource",
135
- "userNotVerified": "The user associated with the JSON Web token could not be verified",
136
- "organizationNotVerified": "The organization associated with the JSON Web token could not be verified",
137
- "tenantNotVerified": "The tenant associated with the JSON Web token could not be verified"
138
- },
139
97
  "validation": {
140
- "saltEntropyTooLow": "Salt must have at least 8 unique characters for sufficient entropy.",
141
98
  "beEmpty": "{fieldName} must be empty",
142
99
  "beNotEmpty": "{fieldName} must not be empty",
143
100
  "beText": "{fieldName} must be text",
@@ -183,11 +140,11 @@
183
140
  "atLeastOneUpperCase": "The value should contain at least one uppercase character",
184
141
  "atLeastOneNumber": "The value should contain at least one number",
185
142
  "atLeastOneSpecialChar": "The value should contain at least one symbol",
143
+ "saltEntropyTooLow": "Salt must have at least 8 unique characters for sufficient entropy.",
186
144
  "schema": {
187
145
  "missingType": "Failed to validate as there is no handler for type \"{dataType}\""
188
146
  },
189
147
  "schemaFailed": "Schema failed validation, \"{message}\", keyword: \"{keyword}\", schemaPath: \"{schemaPath}\"",
190
- "missingType": "The object must include at least one @type value",
191
148
  "geo": {
192
149
  "coordinatesLatitudeNumber": "The latitude value must be a number",
193
150
  "coordinatesLatitudeRange": "The latitude value must be between -90 and 90",
@@ -196,7 +153,8 @@
196
153
  },
197
154
  "auditableItemGraphService": {
198
155
  "edgeIdSameAsVertexId": "The edge with target id \"{targetId}\" can not point to the vertex it belongs to"
199
- }
156
+ },
157
+ "missingType": "The object must include at least one @type value"
200
158
  },
201
159
  "guard": {
202
160
  "undefined": "Property \"{property}\" must be defined, it is \"{value}\"",
@@ -347,6 +305,49 @@
347
305
  "pbkdf2": {
348
306
  "keyLengthTooSmall": "The key length must be at least 1, it is \"{keyLength}\""
349
307
  },
308
+ "entityStorageAuthenticationService": {
309
+ "loginFailed": "Login failed",
310
+ "userNotFound": "The user with the specified e-mail could not be found",
311
+ "passwordMismatch": "The password does not match the user's password",
312
+ "nodeIdNotSet": "The node ID has not been set"
313
+ },
314
+ "entityStorageAuthenticationAdminService": {
315
+ "userExists": "The user with the specified e-mail already exists",
316
+ "createUserFailed": "Creating the user failed",
317
+ "getUserFailed": "Getting the user failed",
318
+ "updateUserFailed": "Updating the user failed",
319
+ "removeUserFailed": "Removing the user failed",
320
+ "updatePasswordFailed": "Updating the user's password failed",
321
+ "userNotFound": "The user with the specified e-mail could not be found \"{notFoundId}\""
322
+ },
323
+ "authHeaderProcessor": {
324
+ "nodeIdNotSet": "The node ID has not been set"
325
+ },
326
+ "passwordHelper": {
327
+ "currentPasswordMismatch": "The current password is incorrect"
328
+ },
329
+ "entityStorageAuthenticationAuditService": {
330
+ "auditEntryNotFound": "The audit entry with the specified identifier could not be found \"{notFoundId}\"",
331
+ "getAuditEntryFailed": "Getting the audit entry failed",
332
+ "updateAuditEntryFailed": "Updating the audit entry failed",
333
+ "removeAuditEntryFailed": "Removing the audit entry failed"
334
+ },
335
+ "entityStorageAuthenticationRateService": {
336
+ "actionConfigMissing": "No rate-limit configuration exists for action \"{action}\".",
337
+ "rateLimitExceeded": "The rate limit for action \"{action}\" has been exceeded. Retry after {retryAfterSeconds} seconds."
338
+ },
339
+ "tokenHelper": {
340
+ "missing": "The JSON Web token could not be found in the authorization header",
341
+ "headerKeyIdMismatch": "The JSON Web token key identifier does not match the expected signing key",
342
+ "payloadIssuerMismatch": "The JSON Web token issuer does not match the expected signing key",
343
+ "payloadMissingSubject": "The JSON Web token payload does not contain a subject",
344
+ "payloadMissingOrganization": "The JSON Web token payload does not contain an organization",
345
+ "expired": "The JSON Web token has expired",
346
+ "insufficientScopes": "The JSON Web token does not have the required scopes to access this resource",
347
+ "userNotVerified": "The user associated with the JSON Web token could not be verified",
348
+ "organizationNotVerified": "The organization associated with the JSON Web token could not be verified",
349
+ "tenantNotVerified": "The tenant associated with the JSON Web token could not be verified"
350
+ },
350
351
  "baseRestClient": {
351
352
  "missingRouteProp": "Missing route parameter in data \"{routeProp}\" for route \"{route}\"",
352
353
  "decodingFailed": "Decoding JSON failed for route \"{route}\"",
@@ -374,7 +375,9 @@
374
375
  "invalidEntityProperty": "The entity value of \"{value}\" does not match the type \"{type}\" for property \"{property}\"",
375
376
  "invalidOptional": "The entity property \"{property}\" of type \"{type}\" is not optional, but no value has been provided",
376
377
  "invalidEntityKeys": "The entity had additional properties that are not in the schema, \"{keys}\"",
377
- "versionMustBeGreaterThanOrEqualZero": "Property \"entitySchema.version\" must be an integer >= 0, but got {version}"
378
+ "versionMustBeGreaterThanOrEqualZero": "Property \"entitySchema.version\" must be an integer >= 0, but got {version}",
379
+ "multipleVersionProperties": "The schema has more than one property with isVersion set, only one is allowed",
380
+ "versionPropertyMustBeInteger": "The version property \"{property}\" has type \"{type}\" but must be of type integer"
378
381
  },
379
382
  "entityStorageHelper": {
380
383
  "sortNotIndexed": "The property \"{property}\" is not indexed and cannot be used for sorting",
@@ -424,45 +427,47 @@
424
427
  "invalidUrl": "The JSON-LD processing failed to retrieve from the following url \"{url}\"",
425
428
  "jsonLdError": "The JSON-LD processing failed due to the following error: \"{code}\""
426
429
  },
427
- "odrlPolicyHelper": {
428
- "policyMissingAssignee": "The {policyType} with id \"{policyId}\" is missing an assignee.",
429
- "policyMissingAssigner": "The {policyType} with id \"{policyId}\" is missing an assigner."
430
- },
431
- "verificationHelper": {
432
- "jwtDecodeFailed": "Decoding the JWT failed",
433
- "proofMissingVerificationMethod": "The proof is missing the verification method"
434
- },
435
- "documentHelper": {
436
- "verificationMethodNotFound": "The verification method \"{methodName}\" of type \"{methodType}\" could not be found",
437
- "verificationMethodJwkNotFound": "The verification method \"{methodName}\" of type \"{methodType}\" is missing the JWK"
438
- },
439
- "proofHelper": {
440
- "unsupportedProofType": "Proof type \"{proofType}\" not supported."
441
- },
442
- "jsonWebSignature2020SignerVerifier": {
443
- "missingJws": "JWS is missing from proof."
444
- },
445
- "dataIntegrityProofSignerVerifier": {
446
- "cryptosuiteNotSupported": "Cryptosuite \"{cryptoSuite}\" is not supported.",
447
- "missingPrivateKey": "Private key is missing.",
448
- "missingPublicKey": "Public key is missing."
430
+ "accountHelper": {
431
+ "addressNotFound": "The address is missing could not be found from the seed \"{address}\"",
432
+ "missingPublicKey": "The public key is missing for vault key \"{keyName}\""
449
433
  },
450
- "multikeyHelper": {
451
- "invalidPublicKeyMultibase": "Public key multibase \"{publicKeyMultibase}\" is invalid.",
452
- "invalidSecretKeyMultibase": "Secret key multibase \"{secretKeyMultibase}\" is invalid.",
453
- "unsupportedCrv": "Curve \"{crv}\" is not supported.",
454
- "unsupportedKty": "Key type \"{kty}\" is not supported.",
455
- "publicKeyMultibaseMissingHeader": "Public key multibase \"{publicKeyMultibase}\" is missing the multi codec header",
456
- "secretKeyMultibaseMissingHeader": "Secret key multibase \"{secretKeyMultibase}\" is missing the multi codec header"
434
+ "iota": {
435
+ "insufficientFunds": "There were insufficient funds to complete the operation",
436
+ "packageNotFoundOnNetwork": "The package \"{packageId}\" was not found on the network",
437
+ "packageObjectError": "Failed to fetch the package object \"{packageId}\"",
438
+ "valueTransactionFailed": "The value transaction failed",
439
+ "transactionFailed": "The transaction failed",
440
+ "objectReservationConflict": "One or more of the transaction's owned objects are contended by another in-flight transaction; submit transactions that share objects sequentially and retry",
441
+ "gasStationTransactionFailed": "The gas station transaction failed",
442
+ "dryRunFailed": "The dry run execution failed",
443
+ "fundingFailed": "Fund the address from faucet failed",
444
+ "faucetRateLimit": "Faucet rate limit exceeded"
457
445
  },
458
- "silentTelemetryConnector": {
459
- "notSupported": "The method \"{methodName}\" is not supported on silent telemetry connector."
446
+ "vaultJwkStorage": {
447
+ "generateNotSupported": "Key generation is not supported; keys are managed by the vault"
460
448
  },
461
- "dataspaceProtocolHelper": {
462
- "schemaNotRegistered": "JSON Schema \"{schemaId}\" is not registered in DataTypeHandlerFactory"
449
+ "iotaIdentityUtils": {
450
+ "getControllerCapInfoFailed": "Getting the controller capability info for the identity failed",
451
+ "identityNotFound": "The identity could not be found \"{notFoundId}\"",
452
+ "identityDeleted": "The identity \"{identityId}\" has been deleted and cannot be used for minting",
453
+ "controllerTokenNotFound": "No controller token found for the identity \"{notFoundId}\" with the provided controller address"
463
454
  },
464
- "trustHelper": {
465
- "trustVerifyFailed": "Trust verification failed for action \"{action}\""
455
+ "iotaSmartContractUtils": {
456
+ "migrationFailed": "Smart contract migration failed",
457
+ "migrateSmartContractFailed": "Failed to migrate smart contract for object \"{objectId}\"",
458
+ "enableMigrationFailed": "Failed to enable migration for smart contract",
459
+ "disableMigrationFailed": "Failed to disable migration for smart contract",
460
+ "migrationStateNotReadable": "Cannot read migration state for ID \"{migrationStateId}\"",
461
+ "isMigrationActiveFailed": "Failed to check if migration is active",
462
+ "invalidVersionData": "Invalid version data received from smart contract",
463
+ "getCurrentContractVersionNoData": "No version data returned from contract",
464
+ "getCurrentContractVersionFailed": "Failed to get current contract version",
465
+ "objectNotReadable": "Cannot read object with ID \"{objectId}\"",
466
+ "objectInvalidFormat": "Object \"{objectId}\" has invalid format",
467
+ "validateObjectVersionFailed": "Failed to validate object version for \"{objectId}\"",
468
+ "getContractObjectIdsFailed": "Failed to get contract object IDs for namespace \"{namespace}\" on network \"{network}\"",
469
+ "adminCapNotFound": "AdminCap object not found for type \"{adminCapType}\" and address \"{adminAddress}\"",
470
+ "migrationStateNotFound": "MigrationState object not found for type \"{migrationStateType}\" and address \"{adminAddress}\""
466
471
  },
467
472
  "engineCore": {
468
473
  "componentUnknownType": "Unknown component type \"{type}\" specified for \"{componentType}\"",
@@ -488,7 +493,10 @@
488
493
  "connectorUnknownType": "Unknown connector type \"{type}\" specified for \"{connectorType}\""
489
494
  },
490
495
  "healthService": {
491
- "componentHealthCheckFailed": "Health check failed for component \"{className}\""
496
+ "componentHealthCheckFailed": "Health check failed for component \"{className}\"",
497
+ "componentHealthApplicationInitFailed": "Application health check init failed for component \"{className}\"",
498
+ "componentHealthApplicationCheckFailed": "Application health check failed for component \"{className}\"",
499
+ "componentHealthApplicationTeardownFailed": "Application health check teardown failed for component \"{className}\""
492
500
  },
493
501
  "nftAttestationConnector": {
494
502
  "attestingFailed": "Attesting the data failed",
@@ -497,6 +505,36 @@
497
505
  "destroyFailed": "Destroying the attestation failed",
498
506
  "namespaceMismatch": "The namespace in the urn \"{id}\" does not match the namespace of the NFT Attestation connector \"{namespace}\""
499
507
  },
508
+ "proofHelper": {
509
+ "unsupportedProofType": "Proof type \"{proofType}\" not supported."
510
+ },
511
+ "jsonWebSignature2020SignerVerifier": {
512
+ "missingJws": "JWS is missing from proof."
513
+ },
514
+ "dataIntegrityProofSignerVerifier": {
515
+ "cryptosuiteNotSupported": "Cryptosuite \"{cryptoSuite}\" is not supported.",
516
+ "missingPrivateKey": "Private key is missing.",
517
+ "missingPublicKey": "Public key is missing."
518
+ },
519
+ "multikeyHelper": {
520
+ "invalidPublicKeyMultibase": "Public key multibase \"{publicKeyMultibase}\" is invalid.",
521
+ "invalidSecretKeyMultibase": "Secret key multibase \"{secretKeyMultibase}\" is invalid.",
522
+ "unsupportedCrv": "Curve \"{crv}\" is not supported.",
523
+ "unsupportedKty": "Key type \"{kty}\" is not supported.",
524
+ "publicKeyMultibaseMissingHeader": "Public key multibase \"{publicKeyMultibase}\" is missing the multi codec header",
525
+ "secretKeyMultibaseMissingHeader": "Secret key multibase \"{secretKeyMultibase}\" is missing the multi codec header"
526
+ },
527
+ "silentTelemetryConnector": {
528
+ "notSupported": "The method \"{methodName}\" is not supported on silent telemetry connector."
529
+ },
530
+ "verificationHelper": {
531
+ "jwtDecodeFailed": "Decoding the JWT failed",
532
+ "proofMissingVerificationMethod": "The proof is missing the verification method"
533
+ },
534
+ "documentHelper": {
535
+ "verificationMethodNotFound": "The verification method \"{methodName}\" of type \"{methodType}\" could not be found",
536
+ "verificationMethodJwkNotFound": "The verification method \"{methodName}\" of type \"{methodType}\" is missing the JWK"
537
+ },
500
538
  "attestationService": {
501
539
  "noConnectors": "There are no connectors registered with the attestation factory",
502
540
  "attestFailed": "The attestation of the data failed",
@@ -562,7 +600,8 @@
562
600
  "dispatchFailed": "Failed to dispatch task \"{taskId}\" with type \"{taskType}\"",
563
601
  "stateChangeCallbackFailed": "The state change callback failed for task \"{id}\" with type \"{type}\" and status \"{status}\"",
564
602
  "taskFinishedProcessingFailed": "Failed to finalise background task processing for task \"{id}\" with method \"{type}\"",
565
- "executionTimeout": "Task \"{id}\" with type \"{type}\" exceeded its execution timeout of {timeout} ms and has been marked as failed"
603
+ "executionTimeout": "Task \"{id}\" with type \"{type}\" exceeded its execution timeout of {timeout} ms and has been marked as failed",
604
+ "healthCheckTimeout": "Health check task exceeded its timeout of {timeout} ms and has been marked as failed"
566
605
  },
567
606
  "s3BlobStorageConnector": {
568
607
  "bucketCreateFailed": "Creating bucket \"{bucket}\" failed",
@@ -622,6 +661,7 @@
622
661
  "emptyFailed": "There was a problem emptying the blob storage",
623
662
  "namespaceMismatch": "The namespace in the urn \"{id}\" does not match the namespace of the blob storage service \"{namespace}\"",
624
663
  "vaultConnectorNotConfigured": "The vault connector is not configured, but encryption/decryption was requested.",
664
+ "vaultKeyIdMissing": "The blob is encrypted but no vault key id is available for decryption.",
625
665
  "blobNotFound": "The blob with id \"{notFoundId}\" was not found",
626
666
  "entityNotFound": "The entity with id \"{notFoundId}\" was not found"
627
667
  },
@@ -688,6 +728,7 @@
688
728
  "transferRequestRejectedByProvider": "Provider rejected transfer request for agreement {agreementId} at {providerEndpoint} (code: {code})",
689
729
  "providerPidMissingInResponse": "Provider accepted transfer request for {consumerPid} but returned no providerPid",
690
730
  "unsupportedTransferFormat": "Transfer format \"{format}\" is not supported. Supported formats: {supported}",
731
+ "transferFormatNotInDistributions": "Transfer format \"{format}\" is not available in any distribution of dataset \"{datasetId}\" (Agreement: {agreementId}). Available formats: {availableFormats}",
691
732
  "catalogDatasetMissingId": "Catalog dataset is missing a required @id identifier",
692
733
  "providerIdentityMissing": "Provider identity (DID) is required to sign data access tokens but was not set on the Transfer Process",
693
734
  "callerNotAuthorizedForAgreement": "The caller's verified identity does not match the agreement assignee (consumer)",
@@ -717,6 +758,16 @@
717
758
  "pushTransferDataPathNotConfigured": "POST transfer cannot start: dataPlanePath is not configured (consumerPid: {consumerPid})",
718
759
  "providerIdentityMissing": "Provider identity (DID) is required to sign data access tokens but was not set on the Transfer Process"
719
760
  },
761
+ "odrlPolicyHelper": {
762
+ "policyMissingAssignee": "The {policyType} with id \"{policyId}\" is missing an assignee.",
763
+ "policyMissingAssigner": "The {policyType} with id \"{policyId}\" is missing an assigner."
764
+ },
765
+ "dataspaceProtocolHelper": {
766
+ "schemaNotRegistered": "JSON Schema \"{schemaId}\" is not registered in DataTypeHandlerFactory"
767
+ },
768
+ "trustHelper": {
769
+ "trustVerifyFailed": "Trust verification failed for action \"{action}\""
770
+ },
720
771
  "dataspaceDataPlaneRestClient": {
721
772
  "notSupportedOnClient": "The method \"{methodName}\" is not supported on the REST client, it can only be used on a server side component"
722
773
  },
@@ -770,13 +821,15 @@
770
821
  "removeRevisionFailed": "Failed to remove document revision"
771
822
  },
772
823
  "cosmosDbEntityStorageConnector": {
824
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
825
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
773
826
  "setFailed": "Unable to set entity \"{id}\"",
774
827
  "getFailed": "Unable to get entity \"{id}\"",
775
828
  "removeFailed": "Unable to remove entity \"{id}\"",
776
829
  "queryFailed": "The query failed",
777
830
  "comparisonNotSupported": "Comparison operator \"{comparison}\" is not supported",
778
831
  "conditionalNotSupported": "Conditional operator \"{operator}\" is not supported",
779
- "sortSingle": "You can only sort by a single property",
832
+ "sortUnsupported": "Sorting supports at most one property other than the primary key \"{primaryKey}\"",
780
833
  "containerCreateFailed": "The container couldn't be created \"{containerId}\"",
781
834
  "databaseCreateFailed": "Unable to create database \"{databaseId}\"",
782
835
  "containerDoesNotExist": "Container \"{containerId}\" does not exist",
@@ -789,6 +842,8 @@
789
842
  "finalizeMigrationFailedBootstrap": "Finalizing migration failed during bootstrap phase"
790
843
  },
791
844
  "dynamoDbEntityStorageConnector": {
845
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
846
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
792
847
  "tableCreateFailed": "Creating table \"{tableName}\" failed",
793
848
  "tableDoesNotExist": "Table \"{tableName}\" does not exist",
794
849
  "setFailed": "Unable to set entity \"{id}\"",
@@ -797,7 +852,7 @@
797
852
  "queryFailed": "The query failed",
798
853
  "comparisonNotSupported": "Comparison operator \"{comparison}\" is not supported",
799
854
  "conditionalNotSupported": "Conditional operator \"{operator}\" is not supported",
800
- "sortSingle": "You can only sort by a single property",
855
+ "sortUnsupported": "Sorting supports at most one property other than the primary key \"{primaryKey}\"",
801
856
  "propertyNotFound": "The property \"{property}\" was not found on the entity schema",
802
857
  "getPartitionContextIdsFailed": "Unable to get partition context ids",
803
858
  "setBatchFailed": "Unable to set batch of entities",
@@ -808,6 +863,8 @@
808
863
  "finalizeMigrationFailedBootstrap": "Finalizing migration failed during bootstrap phase"
809
864
  },
810
865
  "fileEntityStorageConnector": {
866
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
867
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
811
868
  "directoryCreateFailed": "Creating directory \"{directory}\" failed",
812
869
  "emptyFailed": "Unable to empty entity storage",
813
870
  "readStoreCorrupt": "The entity storage store file in directory \"{directory}\" contains corrupt JSON",
@@ -817,6 +874,8 @@
817
874
  "writeStoreFailed": "Unable to write the entity storage store file in directory \"{directory}\""
818
875
  },
819
876
  "firestoreEntityStorageConnector": {
877
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
878
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
820
879
  "firestoreCreationFailed": "Failed to connect to Firestore",
821
880
  "getPartitionContextIdsFailed": "Unable to get partition context ids",
822
881
  "setEntityFailed": "Failed to set entity \"{id}\"",
@@ -831,7 +890,13 @@
831
890
  "teardownFailed": "Unable to teardown entity storage",
832
891
  "finalizeMigrationFailedBootstrap": "Finalizing migration failed during bootstrap phase"
833
892
  },
893
+ "memoryEntityStorageConnector": {
894
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
895
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state"
896
+ },
834
897
  "mongoDbEntityStorageConnector": {
898
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
899
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
835
900
  "setFailed": "Unable to set entity \"{id}\"",
836
901
  "getFailed": "Unable to get entity \"{id}\"",
837
902
  "removeFailed": "Unable to remove entity \"{id}\"",
@@ -846,6 +911,8 @@
846
911
  "finalizeMigrationFailedBootstrap": "Finalizing migration failed during bootstrap phase"
847
912
  },
848
913
  "mySqlEntityStorageConnector": {
914
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
915
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
849
916
  "setFailed": "Unable to set entity \"{id}\"",
850
917
  "getFailed": "Unable to get entity \"{id}\"",
851
918
  "removeFailed": "Unable to remove entity \"{id}\"",
@@ -863,6 +930,8 @@
863
930
  "finalizeMigrationFailedBootstrap": "Finalizing migration failed during bootstrap phase"
864
931
  },
865
932
  "postgreSqlEntityStorageConnector": {
933
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
934
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
866
935
  "databaseCreateFailed": "Unable to create database \"{databaseName}\"",
867
936
  "setFailed": "Unable to set entity \"{id}\"",
868
937
  "getFailed": "Unable to get entity \"{id}\"",
@@ -880,6 +949,8 @@
880
949
  "finalizeMigrationFailedBootstrap": "Finalizing migration failed during bootstrap phase"
881
950
  },
882
951
  "scyllaDBTableConnector": {
952
+ "optimisticLockFailed": "The entity \"{conflictId}\" could not be written because the optimistic lock check failed",
953
+ "conditionFailed": "The entity \"{conflictId}\" could not be updated because the supplied conditions did not match the stored state",
883
954
  "tableCreateFailed": "Creating table \"{table}\" failed",
884
955
  "removeFailed": "Removing item with \"{id}\" failed",
885
956
  "setFailed": "Setting item with \"{id}\" failed",
@@ -1011,48 +1082,9 @@
1011
1082
  "unrevokeVerifiableCredentialsFailed": "Unrevoking verifiable credentials failed",
1012
1083
  "verificationKeyMissing": "The verification key is missing from the vault for method \"{method}\"",
1013
1084
  "verificationMethodNotFound": "The verification method could not be found",
1085
+ "signatureVerificationFailed": "The document integrity check failed",
1014
1086
  "verifyProofFailed": "Verifying the signature for the data failed"
1015
1087
  },
1016
- "iota": {
1017
- "insufficientFunds": "There were insufficient funds to complete the operation",
1018
- "packageNotFoundOnNetwork": "The package \"{packageId}\" was not found on the network",
1019
- "packageObjectError": "Failed to fetch the package object \"{packageId}\"",
1020
- "valueTransactionFailed": "The value transaction failed",
1021
- "transactionFailed": "The transaction failed",
1022
- "objectReservationConflict": "One or more of the transaction's owned objects are contended by another in-flight transaction; submit transactions that share objects sequentially and retry",
1023
- "addressNotFound": "The address is missing could not be found from the seed \"{address}\"",
1024
- "gasStationTransactionFailed": "The gas station transaction failed",
1025
- "dryRunFailed": "The dry run execution failed",
1026
- "fundingFailed": "Fund the address from faucet failed",
1027
- "faucetRateLimit": "Faucet rate limit exceeded",
1028
- "missingPublicKey": "The public key is missing for vault key \"{keyName}\""
1029
- },
1030
- "vaultJwkStorage": {
1031
- "generateNotSupported": "Key generation is not supported; keys are managed by the vault"
1032
- },
1033
- "iotaIdentityUtils": {
1034
- "getControllerCapInfoFailed": "Getting the controller capability info for the identity failed",
1035
- "identityNotFound": "The identity could not be found \"{notFoundId}\"",
1036
- "identityDeleted": "The identity \"{identityId}\" has been deleted and cannot be used for minting",
1037
- "controllerTokenNotFound": "No controller token found for the identity \"{notFoundId}\" with the provided controller address"
1038
- },
1039
- "iotaSmartContractUtils": {
1040
- "migrationFailed": "Smart contract migration failed",
1041
- "migrateSmartContractFailed": "Failed to migrate smart contract for object \"{objectId}\"",
1042
- "enableMigrationFailed": "Failed to enable migration for smart contract",
1043
- "disableMigrationFailed": "Failed to disable migration for smart contract",
1044
- "migrationStateNotReadable": "Cannot read migration state for ID \"{migrationStateId}\"",
1045
- "isMigrationActiveFailed": "Failed to check if migration is active",
1046
- "invalidVersionData": "Invalid version data received from smart contract",
1047
- "getCurrentContractVersionNoData": "No version data returned from contract",
1048
- "getCurrentContractVersionFailed": "Failed to get current contract version",
1049
- "objectNotReadable": "Cannot read object with ID \"{objectId}\"",
1050
- "objectInvalidFormat": "Object \"{objectId}\" has invalid format",
1051
- "validateObjectVersionFailed": "Failed to validate object version for \"{objectId}\"",
1052
- "getContractObjectIdsFailed": "Failed to get contract object IDs for namespace \"{namespace}\" on network \"{network}\"",
1053
- "adminCapNotFound": "AdminCap object not found for type \"{adminCapType}\" and address \"{adminAddress}\"",
1054
- "migrationStateNotFound": "MigrationState object not found for type \"{migrationStateType}\" and address \"{adminAddress}\""
1055
- },
1056
1088
  "universalResolverConnector": {
1057
1089
  "resolveDocumentFailed": "Resolving the document failed \"{documentId}\""
1058
1090
  },
@@ -1101,7 +1133,8 @@
1101
1133
  "removeFailed": "Removing the Immutable Proof failed",
1102
1134
  "removeNotarizationFailed": "Removing notarization entry from the Immutable Proof failed",
1103
1135
  "proofNotFound": "The proof with the Id \"{notFoundId}\" was not found",
1104
- "createProofFailed": "Creating the immutable proof failed"
1136
+ "createProofFailed": "Creating the immutable proof failed",
1137
+ "sweepFailed": "The reconciliation sweep cycle failed"
1105
1138
  },
1106
1139
  "immutableProofTask": {
1107
1140
  "taskNotarizationFailed": "The notarization for proof \"{proofId}\" failed after {elapsedMs}ms, the task will not be retried as the notarization may already be on the ledger"
@@ -1337,12 +1370,21 @@
1337
1370
  "gaugeNoIncDec": "A gauge can not be incremented or decremented",
1338
1371
  "maxHistoryMustBePositiveInteger": "The maxHistory option must be a positive integer"
1339
1372
  },
1340
- "openTelemetryTelemetryConnector": {
1341
- "unknownReaderType": "The reader type \"{type}\" is not supported, valid values are: prometheus"
1342
- },
1343
1373
  "metricsCollectorService": {
1344
1374
  "producerCollectionFailed": "Failed to collect metrics from producer \"{producer}\""
1345
1375
  },
1376
+ "entityStorageTracingConnector": {
1377
+ "spanNotFound": "The span could not be found \"{notFoundId}\""
1378
+ },
1379
+ "spanHelper": {
1380
+ "traceFlagsOutOfRange": "The trace flags value \"{traceFlags}\" is outside the valid range 0 to 255"
1381
+ },
1382
+ "openTelemetryTracingConnector": {
1383
+ "sampleRatioOutOfRange": "The sample ratio \"{sampleRatio}\" must be between 0 and 1"
1384
+ },
1385
+ "tracingRoutes": {
1386
+ "spanIdMismatch": "The span id in the path \"{pathSpanId}\" does not match the span id in the body \"{bodySpanId}\""
1387
+ },
1346
1388
  "trustService": {
1347
1389
  "notVerified": "Payload verification failed",
1348
1390
  "noGeneratorsRegistered": "No trust generators are registered in the factory",
@@ -1461,7 +1503,11 @@
1461
1503
  "transferRetrievalRecordFailed": "Failed to record the transfer retrieval (consumerPid: {consumerPid})"
1462
1504
  },
1463
1505
  "immutableProofService": {
1464
- "taskRecordRemoveFailed": "Removing the completed task record for proof \"{proofId}\" failed, the record will be removed when its retention expires"
1506
+ "taskRecordRemoveFailed": "Removing the completed task record for proof \"{proofId}\" failed, the record will be removed when its retention expires",
1507
+ "orphanedTaskRemoveFailed": "Removing the background task \"{taskId}\" for proof \"{proofId}\" failed after the proof entity could not be persisted; the task will still run to completion",
1508
+ "supersededTaskRemoveFailed": "Removing the superseded background task \"{taskId}\" for proof \"{proofId}\" failed, the record will be removed when its retention expires",
1509
+ "sweepParked": "Parked proof \"{proofId}\" after {sweepAttempts} sweep attempts",
1510
+ "sweepParkedTotal": "{totalParked} proof(s) are currently parked and require operator investigation"
1465
1511
  },
1466
1512
  "immutableProofTask": {
1467
1513
  "taskEngineStopFailed": "Stopping the task engine for proof \"{proofId}\" failed, the task result is unaffected"
@@ -1470,7 +1516,8 @@
1470
1516
  "sendTerminateFailed": "Failed to send terminate to consumer for negotiation id: \"{id}\", correlation id: \"{correlationId}\""
1471
1517
  },
1472
1518
  "policyNegotiationPointService": {
1473
- "terminatedCallbackFailed": "Failed to notify requester via terminated() for negotiation id: \"{negotiationId}\""
1519
+ "terminatedCallbackFailed": "Failed to notify requester via terminated() for negotiation id: \"{negotiationId}\"",
1520
+ "callbackDeliveryFailed": "Failed to deliver the negotiation callback to \"{callbackAddress}\" for negotiation id: \"{negotiationId}\" in state \"{state}\"; the negotiation is unchanged and remains discoverable by polling"
1474
1521
  }
1475
1522
  },
1476
1523
  "node": {
@@ -1503,9 +1550,9 @@
1503
1550
  "singleTenantOnly": "single-tenant only"
1504
1551
  }
1505
1552
  },
1506
- "bootstrap-legacy": {
1507
- "description": "Bootstrap in legacy mode for backwards compatibility, **will be deprecated in future versions**",
1508
- "example": "bootstrap-legacy --load-env=\"./.env.bootstrap-legacy\"",
1553
+ "bootstrap-dev": {
1554
+ "description": "Bootstrap the development environment",
1555
+ "example": "bootstrap-dev --load-env=\"./.env.bootstrap-dev\"",
1509
1556
  "params": {
1510
1557
  "env-prefix": {
1511
1558
  "description": "Prefix to use for standard .env files e.g. TWIN_."
@@ -2312,13 +2359,12 @@
2312
2359
  "migrateSchemaFinalizing": "Finalizing migration of schema \"{schemaName}\"",
2313
2360
  "migrateSchemaComplete": "Migration of schema \"{schemaName}\" complete"
2314
2361
  },
2362
+ "iota": {
2363
+ "transactionCosts": "Transaction costs for operation \"{operation}\", \"{cost}\""
2364
+ },
2315
2365
  "engineTypes": {
2316
2366
  "configuringEntityStorage": "Configuring {element} with name \"{storageName}\" using \"{storageType}\" connector"
2317
2367
  },
2318
- "memoryEntityStorageConnector": {
2319
- "storeTearingDown": "Tearing down entity storage",
2320
- "storeTornDown": "Entity storage torn down"
2321
- },
2322
2368
  "fetchAction": {
2323
2369
  "fetch": "Fetch \"{url}\" with method \"{method}\""
2324
2370
  },
@@ -2385,6 +2431,7 @@
2385
2431
  "offerFoundInCatalog": "Offer found in Federated Catalogue and validated",
2386
2432
  "negotiationInitiated": "Contract negotiation initiated successfully",
2387
2433
  "implicitTrustAgreementCreated": "Implicit trust agreement created (agreementId: {agreementId}, datasetId: {datasetId}, organizationId: {organizationId})",
2434
+ "agreementReused": "Existing agreement reused (agreementId: {agreementId}, offerId: {offerId}, datasetId: {datasetId})",
2388
2435
  "implicitTrustAgreementReused": "Existing implicit trust agreement reused (agreementId: {agreementId}, datasetId: {datasetId}, organizationId: {organizationId})",
2389
2436
  "getNegotiation": "Retrieving negotiation status",
2390
2437
  "negotiationStateRetrieved": "Negotiation state retrieved successfully",
@@ -2444,6 +2491,10 @@
2444
2491
  "storeTearingDown": "Tearing down entity storage",
2445
2492
  "storeTornDown": "Entity storage torn down"
2446
2493
  },
2494
+ "memoryEntityStorageConnector": {
2495
+ "storeTearingDown": "Tearing down entity storage",
2496
+ "storeTornDown": "Entity storage torn down"
2497
+ },
2447
2498
  "mongoDbEntityStorageConnector": {
2448
2499
  "databaseCreating": "Database \"{databaseName}\" creating",
2449
2500
  "databaseExists": "Database \"{databaseName}\" created or it already exists",
@@ -2488,6 +2539,8 @@
2488
2539
  "schemaVersionService": {
2489
2540
  "noMigrationRequired": "No migration required for schema \"{schemaName}\", version {version}.",
2490
2541
  "migrationRequired": "Migration required for schema \"{schemaName}\" from version {from} to {to}.",
2542
+ "connectorVersionUpdated": "Connector version changed from {from} to {to}; forcing schema migrations.",
2543
+ "connectorVersionForceUpgrade": "Forcing migration for schema \"{schemaName}\" because connector version changed.",
2491
2544
  "partitionStart": "Starting migration of {itemTotal} partitions.",
2492
2545
  "partitionProgress": "Migrating partition {itemIndex} of {itemTotal}.",
2493
2546
  "partitionEnd": "Completed migration of {itemTotal} partitions.",
@@ -2512,11 +2565,10 @@
2512
2565
  "catalogQueryComplete": "Catalogue query complete, found {resultCount} results",
2513
2566
  "filterIndexPersisted": "Filter indexes persisted for dataset \"{datasetId}\" using filter \"{filterType}\", {indexCount} entries"
2514
2567
  },
2515
- "iota": {
2516
- "transactionCosts": "Transaction costs for operation \"{operation}\", \"{cost}\""
2517
- },
2518
2568
  "immutableProofService": {
2519
- "createdProof": "The immutable proof with Id \"{proofId}\" has been created successfully"
2569
+ "createdProof": "The immutable proof with Id \"{proofId}\" has been created successfully",
2570
+ "sweepReEnqueued": "Re-enqueued stuck proof \"{proofId}\" as task \"{taskId}\"",
2571
+ "sweepCompleted": "Reconciliation sweep cycle completed (scanned: {scanned}, reEnqueued: {reEnqueued}, skippedInFlight: {skippedInFlight}, newlyParked: {newlyParked}, totalParked: {totalParked})"
2520
2572
  },
2521
2573
  "openTelemetryLoggingConnector": {
2522
2574
  "connectorStarted": "The connector was started with \"{exporterCount}\" exporter(s)",
@@ -2615,6 +2667,10 @@
2615
2667
  "connectorStarted": "The connector was started with \"{readerCount}\" metric reader(s)",
2616
2668
  "connectorStopped": "The connector was stopped"
2617
2669
  },
2670
+ "openTelemetryTracingConnector": {
2671
+ "connectorStarted": "The connector was started with \"{exporterCount}\" exporter(s)",
2672
+ "connectorStopped": "The connector was stopped"
2673
+ },
2618
2674
  "trustService": {
2619
2675
  "verifying": "Verifying payload: \"{payload}\"",
2620
2676
  "verified": "Payload verified successfully"
@@ -2624,7 +2680,7 @@
2624
2680
  },
2625
2681
  "fastifyWebServer": {
2626
2682
  "building": "Building Web Server",
2627
- "starting": "Starting Web Server at address \"{host}\" on port \"{port}\"",
2683
+ "starting": "Starting Web Server with binding \"{host}\" on port \"{port}\"",
2628
2684
  "started": "The Web Server started on {addresses}",
2629
2685
  "stopped": "The Web Server was stopped",
2630
2686
  "restRouteAdded": "Added REST route \"{route}\" \"{method}\"",
@@ -2712,8 +2768,17 @@
2712
2768
  }
2713
2769
  },
2714
2770
  "health": {
2715
- "memoryEntityStorageConnector": {
2716
- "healthDescription": "Memory entity storage for \"{entityType}\" is always available"
2771
+ "attestationService": {
2772
+ "healthDescription": "Attestation lifecycle (create, get, destroy) using the \"{namespace}\" namespace",
2773
+ "getAttestationFailed": "Failed to get the health check attestation"
2774
+ },
2775
+ "auditableItemGraphService": {
2776
+ "healthDescription": "Auditable item graph service application health check",
2777
+ "getVertexFailed": "Failed to complete the auditable item graph vertex storage health check"
2778
+ },
2779
+ "auditableItemStreamService": {
2780
+ "healthDescription": "Auditable item stream service application health check",
2781
+ "getStreamFailed": "Failed to complete the auditable item stream storage health check"
2717
2782
  },
2718
2783
  "s3BlobStorageConnector": {
2719
2784
  "healthDescription": "S3 blob storage connector is healthy, bucket \"{bucketName}\" in region \"{region}\"",
@@ -2724,8 +2789,10 @@
2724
2789
  "healthCheckFailed": "Failed to connect to Azure blob storage container \"{containerName}\" in account \"{accountName}\""
2725
2790
  },
2726
2791
  "fileBlobStorageConnector": {
2727
- "healthDescription": "File blob storage connector is healthy, directory \"{directory}\"",
2728
- "healthCheckFailed": "Failed to access the storage directory \"{directory}\""
2792
+ "healthDescription": "Checks if there is sufficient disk space in directory \"{directory}\" for the file blob storage connector to operate properly",
2793
+ "diskSpaceError": "Disk space critically low in directory \"{directory}\", {freeBytes} bytes free, threshold is {thresholdBytes} bytes",
2794
+ "diskSpaceWarning": "Disk space low in directory \"{directory}\", {freeBytes} bytes free, threshold is {thresholdBytes} bytes",
2795
+ "diskSpaceCheckFailed": "Failed to check disk space in directory \"{directory}\""
2729
2796
  },
2730
2797
  "gcpBlobStorageConnector": {
2731
2798
  "healthDescription": "GCP blob storage connector is healthy, bucket \"{bucketName}\" in project \"{projectId}\"",
@@ -2738,6 +2805,10 @@
2738
2805
  "memoryBlobStorageConnector": {
2739
2806
  "healthDescription": "Memory blob storage connector is healthy, storing \"{storedItemCount}\" items"
2740
2807
  },
2808
+ "documentManagementService": {
2809
+ "healthDescription": "Document management service application health check",
2810
+ "getBlobFailed": "Failed to retrieve the health check blob"
2811
+ },
2741
2812
  "cosmosDbEntityStorageConnector": {
2742
2813
  "healthDescription": "Checks if the Cosmos DB container \"{containerId}\" in database \"{databaseId}\" is available",
2743
2814
  "connectionFailed": "Failed to connect to Cosmos DB container \"{containerId}\" in database \"{databaseId}\""
@@ -2756,6 +2827,9 @@
2756
2827
  "healthDescription": "Checks if the Firestore collection \"{collectionName}\" in project \"{projectId}\" is available",
2757
2828
  "connectionFailed": "Failed to connect to Firestore collection \"{collectionName}\" in project \"{projectId}\""
2758
2829
  },
2830
+ "memoryEntityStorageConnector": {
2831
+ "healthDescription": "Memory entity storage for \"{entityType}\" is always available"
2832
+ },
2759
2833
  "mongoDbEntityStorageConnector": {
2760
2834
  "healthDescription": "Checks if the MongoDB collection \"{collection}\" in database \"{database}\" is available",
2761
2835
  "connectionFailed": "Failed to connect to MongoDB collection \"{collection}\" in database \"{database}\""
@@ -2774,11 +2848,11 @@
2774
2848
  },
2775
2849
  "iotaIdentityConnector": {
2776
2850
  "healthDescription": "Connectivity and availability of the IOTA node \"{endpoint}\"",
2777
- "nodeHealthCheckFailed": "Failed to check IOTA node health status \"{endpoint}\""
2778
- },
2779
- "iotaIdentityConnectorGasStation": {
2780
- "healthDescription": "Connectivity and availability of the IOTA gas station \"{endpoint}\"",
2781
- "healthCheckFailed": "Failed to check gas station health status \"{endpoint}\""
2851
+ "nodeHealthCheckFailed": "Failed to check IOTA node health status \"{endpoint}\"",
2852
+ "healthDescriptionGasStationConnectivity": "Connectivity and availability of the IOTA gas station \"{endpoint}\"",
2853
+ "healthCheckFailedGasStationConnectivity": "Failed to check gas station connectivity \"{endpoint}\"",
2854
+ "healthDescriptionGasStationWorking": "Operational status of the IOTA gas station \"{endpoint}\"",
2855
+ "healthCheckFailedGasStationWorking": "Gas station sponsored transaction check failed \"{endpoint}\""
2782
2856
  },
2783
2857
  "iotaIdentityResolverConnector": {
2784
2858
  "healthDescription": "Connectivity and availability of the IOTA resolver node \"{endpoint}\"",
@@ -2788,14 +2862,47 @@
2788
2862
  "healthDescription": "Connectivity and availability of the universal resolver \"{endpoint}\"",
2789
2863
  "resolverHealthCheckFailed": "Failed to check universal resolver health status \"{endpoint}\""
2790
2864
  },
2865
+ "identityService": {
2866
+ "healthDescription": "DID document lifecycle (create, resolve, remove) using the \"{namespace}\" namespace",
2867
+ "createDocumentFailed": "Failed to create the health check identity document",
2868
+ "resolveDocumentFailed": "Failed to resolve the health check identity document"
2869
+ },
2870
+ "immutableProofService": {
2871
+ "healthDescription": "Immutable proof service application health check",
2872
+ "getNotarizationFailed": "Failed to retrieve the health check notarization"
2873
+ },
2874
+ "nftService": {
2875
+ "healthDescription": "NFT service application health check",
2876
+ "resolveNftFailed": "Failed to resolve the health check NFT"
2877
+ },
2878
+ "notarizationService": {
2879
+ "healthDescription": "Notarization service application health check",
2880
+ "getNotarizationFailed": "Failed to retrieve the health check notarization"
2881
+ },
2791
2882
  "hashicorpVaultConnector": {
2792
2883
  "healthDescription": "Connectivity and availability of the Hashicorp Vault server \"{endpoint}\"",
2793
2884
  "vaultHealthCheckFailed": "Failed to check Vault health status \"{endpoint}\""
2794
2885
  },
2886
+ "entityStorageWalletConnector": {
2887
+ "healthDescription": "Entity storage wallet connector application health check",
2888
+ "fundFromFaucet": "Fund wallet from faucet on address \"{address}\"",
2889
+ "healthNoFaucet": "No faucet available for the network",
2890
+ "fundWalletFailed": "Failed to fund the wallet"
2891
+ },
2892
+ "iotaWalletConnector": {
2893
+ "healthDescription": "IOTA wallet connector application health check",
2894
+ "fundFromFaucet": "Fund wallet from faucet on address \"{address}\"",
2895
+ "healthNoFaucet": "No faucet available for the network",
2896
+ "fundWalletFailed": "Failed to fund the wallet"
2897
+ },
2795
2898
  "fastifyWebServer": {
2796
- "description": "Checks if the Web Server is reachable",
2899
+ "healthConnectivityDescription": "Checks if the Web Server is reachable",
2797
2900
  "reachable": "The Web Server is reachable",
2798
- "unreachable": "The Web Server is unreachable"
2901
+ "unreachable": "The Web Server is unreachable",
2902
+ "healthApplicationDescription": "Checks if the root endpoint is reachable",
2903
+ "rootEndpointReachable": "The root endpoint is reachable",
2904
+ "rootEndpointError": "The root endpoint returned an unexpected response",
2905
+ "serverNotBuilt": "The server has not been built"
2799
2906
  }
2800
2907
  },
2801
2908
  "auditableItemGraphService": {},
@@ -2818,6 +2925,9 @@
2818
2925
  "activityLogStatusConnected": "Web Socket Connected: Socket Id: \"{socketId}\"",
2819
2926
  "activityLogStatusDisconnected": "Web Socket disconnected: Socket Id: \"{socketId}\""
2820
2927
  },
2928
+ "immutableProofService": {
2929
+ "sweepSkippedInFlight": "Skipped sweeping proof \"{proofId}\", a task is already in flight"
2930
+ },
2821
2931
  "immutableProofTask": {
2822
2932
  "taskEngineStarted": "The proof task engine started for proof \"{proofId}\" in {elapsedMs}ms",
2823
2933
  "taskVerifiableCredentialCreated": "The verifiable credential for proof \"{proofId}\" was created in {elapsedMs}ms",
package/docs/changelog.md CHANGED
@@ -1,5 +1,132 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.2-next.10](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.9...node-v0.9.2-next.10) (2026-08-12)
4
+
5
+
6
+ ### Miscellaneous Chores
7
+
8
+ * **node:** Synchronize repo versions
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/node-core bumped from 0.9.2-next.9 to 0.9.2-next.10
16
+
17
+ ## [0.9.2-next.9](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.8...node-v0.9.2-next.9) (2026-08-12)
18
+
19
+
20
+ ### Features
21
+
22
+ * pool env vars ([#331](https://github.com/iotaledger/twin-node/issues/331)) ([338ea61](https://github.com/iotaledger/twin-node/commit/338ea612b37aa4d15971c8a09def47bee9395d0c))
23
+
24
+
25
+ ### Dependencies
26
+
27
+ * The following workspace dependencies were updated
28
+ * dependencies
29
+ * @twin.org/node-core bumped from 0.9.2-next.8 to 0.9.2-next.9
30
+
31
+ ## [0.9.2-next.8](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.7...node-v0.9.2-next.8) (2026-08-11)
32
+
33
+
34
+ ### Features
35
+
36
+ * add additional env vars ([#328](https://github.com/iotaledger/twin-node/issues/328)) ([6ca8718](https://github.com/iotaledger/twin-node/commit/6ca87184bc4d78829c957ea055d3c281aca6cf9f))
37
+
38
+
39
+ ### Dependencies
40
+
41
+ * The following workspace dependencies were updated
42
+ * dependencies
43
+ * @twin.org/node-core bumped from 0.9.2-next.7 to 0.9.2-next.8
44
+
45
+ ## [0.9.2-next.7](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.6...node-v0.9.2-next.7) (2026-08-10)
46
+
47
+
48
+ ### Features
49
+
50
+ * additional env vars and validation ([#324](https://github.com/iotaledger/twin-node/issues/324)) ([6b01e8c](https://github.com/iotaledger/twin-node/commit/6b01e8c10f9aa7181f51f13534d8164db3e7322d))
51
+
52
+
53
+ ### Dependencies
54
+
55
+ * The following workspace dependencies were updated
56
+ * dependencies
57
+ * @twin.org/node-core bumped from 0.9.2-next.6 to 0.9.2-next.7
58
+
59
+ ## [0.9.2-next.6](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.5...node-v0.9.2-next.6) (2026-08-07)
60
+
61
+
62
+ ### Features
63
+
64
+ * add tracing support ([a4986fc](https://github.com/iotaledger/twin-node/commit/a4986fc4af603ee461ec8d18ff502dddbc43edec))
65
+ * update docs ([61e5a00](https://github.com/iotaledger/twin-node/commit/61e5a004089a0c11ec03e354b076604ecdeb4817))
66
+
67
+
68
+ ### Dependencies
69
+
70
+ * The following workspace dependencies were updated
71
+ * dependencies
72
+ * @twin.org/node-core bumped from 0.9.2-next.5 to 0.9.2-next.6
73
+
74
+ ## [0.9.2-next.5](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.4...node-v0.9.2-next.5) (2026-08-03)
75
+
76
+
77
+ ### Features
78
+
79
+ * update dependencies ([#316](https://github.com/iotaledger/twin-node/issues/316)) ([f3fe328](https://github.com/iotaledger/twin-node/commit/f3fe3281a80f34763c923eacca58364273a550b7))
80
+
81
+
82
+ ### Dependencies
83
+
84
+ * The following workspace dependencies were updated
85
+ * dependencies
86
+ * @twin.org/node-core bumped from 0.9.2-next.4 to 0.9.2-next.5
87
+
88
+ ## [0.9.2-next.4](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.3...node-v0.9.2-next.4) (2026-08-03)
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * wire includeErrorStack debug flag into auth and tenant processor configs ([#313](https://github.com/iotaledger/twin-node/issues/313)) ([3c69c51](https://github.com/iotaledger/twin-node/commit/3c69c51bfdd65305efe2fbe9da508e684a4245d1))
94
+
95
+
96
+ ### Dependencies
97
+
98
+ * The following workspace dependencies were updated
99
+ * dependencies
100
+ * @twin.org/node-core bumped from 0.9.2-next.3 to 0.9.2-next.4
101
+
102
+ ## [0.9.2-next.3](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.2...node-v0.9.2-next.3) (2026-07-30)
103
+
104
+
105
+ ### Features
106
+
107
+ * bootstrap-legacy rename ([#310](https://github.com/iotaledger/twin-node/issues/310)) ([53af8a2](https://github.com/iotaledger/twin-node/commit/53af8a2e797e90bb601416215247cd8649dd6220))
108
+
109
+
110
+ ### Dependencies
111
+
112
+ * The following workspace dependencies were updated
113
+ * dependencies
114
+ * @twin.org/node-core bumped from 0.9.2-next.2 to 0.9.2-next.3
115
+
116
+ ## [0.9.2-next.2](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.1...node-v0.9.2-next.2) (2026-07-29)
117
+
118
+
119
+ ### Features
120
+
121
+ * immutable proof config ([#307](https://github.com/iotaledger/twin-node/issues/307)) ([9257495](https://github.com/iotaledger/twin-node/commit/92574953329647756aa6ab4cca80b1707e14a33f))
122
+
123
+
124
+ ### Dependencies
125
+
126
+ * The following workspace dependencies were updated
127
+ * dependencies
128
+ * @twin.org/node-core bumped from 0.9.2-next.1 to 0.9.2-next.2
129
+
3
130
  ## [0.9.2-next.1](https://github.com/iotaledger/twin-node/compare/node-v0.9.2-next.0...node-v0.9.2-next.1) (2026-07-28)
4
131
 
5
132
 
@@ -153,11 +153,13 @@
153
153
  "components": [
154
154
  {
155
155
  "source": "Database",
156
- "status": "ok"
156
+ "status": "ok",
157
+ "category": "connectivity"
157
158
  },
158
159
  {
159
160
  "source": "Storage",
160
- "status": "ok"
161
+ "status": "ok",
162
+ "category": "connectivity"
161
163
  }
162
164
  ]
163
165
  }
@@ -170,11 +172,13 @@
170
172
  {
171
173
  "source": "Database",
172
174
  "status": "warning",
173
- "description": "slowRunning"
175
+ "description": "slowRunning",
176
+ "category": "connectivity"
174
177
  },
175
178
  {
176
179
  "source": "Storage",
177
- "status": "ok"
180
+ "status": "ok",
181
+ "category": "connectivity"
178
182
  }
179
183
  ]
180
184
  }
@@ -186,12 +190,14 @@
186
190
  "components": [
187
191
  {
188
192
  "source": "Database",
189
- "status": "ok"
193
+ "status": "ok",
194
+ "category": "connectivity"
190
195
  },
191
196
  {
192
197
  "source": "Storage",
193
198
  "status": "error",
194
- "description": "storageFull"
199
+ "description": "storageFull",
200
+ "category": "connectivity"
195
201
  }
196
202
  ]
197
203
  }
@@ -2384,6 +2390,15 @@
2384
2390
  },
2385
2391
  "style": "simple",
2386
2392
  "example": "did:iota:tst:0xe3088ba9aa8c28e1d139708a14e8c0fdff11ee8223baac4aa5bcf3321e4bfc6a"
2393
+ },
2394
+ {
2395
+ "name": "removeKeys",
2396
+ "description": "Also remove any associated private keys from the vault.",
2397
+ "in": "query",
2398
+ "required": false,
2399
+ "schema": {
2400
+ "type": "string"
2401
+ }
2387
2402
  }
2388
2403
  ],
2389
2404
  "security": [
@@ -2724,6 +2739,15 @@
2724
2739
  },
2725
2740
  "style": "simple",
2726
2741
  "example": "my-assertion"
2742
+ },
2743
+ {
2744
+ "name": "removeKeys",
2745
+ "description": "Also remove any associated private key from the vault.",
2746
+ "in": "query",
2747
+ "required": false,
2748
+ "schema": {
2749
+ "type": "string"
2750
+ }
2727
2751
  }
2728
2752
  ],
2729
2753
  "security": [
@@ -12506,7 +12530,7 @@
12506
12530
  }
12507
12531
  ],
12508
12532
  "requestBody": {
12509
- "description": "Update an auditable item graph vertex (PUT full replacement of vertex state).",
12533
+ "description": "Update an auditable item graph vertex (PUT - full replacement of vertex state).",
12510
12534
  "required": true,
12511
12535
  "content": {
12512
12536
  "application/json": {
@@ -12688,7 +12712,7 @@
12688
12712
  }
12689
12713
  ],
12690
12714
  "requestBody": {
12691
- "description": "Partially update an auditable item graph vertex (PATCH explicit list patches).",
12715
+ "description": "Partially update an auditable item graph vertex (PATCH - explicit list patches).",
12692
12716
  "required": true,
12693
12717
  "content": {
12694
12718
  "application/json": {
@@ -17233,7 +17257,8 @@
17233
17257
  "version": "2025-1",
17234
17258
  "path": "/dataspace-control-plane/2025-1",
17235
17259
  "binding": "HTTPS",
17236
- "serviceId": "twin-connector"
17260
+ "identifierType": "did:iota",
17261
+ "serviceId": "iota/twin.org/dspace-connector"
17237
17262
  }
17238
17263
  ]
17239
17264
  }
@@ -17999,7 +18024,7 @@
17999
18024
  }
18000
18025
  ],
18001
18026
  "requestBody": {
18002
- "description": "API request to register an app dataset.\n\nThe owning `tenantId` is captured automatically from the request's tenant\ncontext callers do not supply it.",
18027
+ "description": "API request to register an app dataset.\n\nThe owning `tenantId` is captured automatically from the request's tenant\ncontext - callers do not supply it.",
18003
18028
  "required": true,
18004
18029
  "content": {
18005
18030
  "application/json": {
@@ -22478,9 +22503,15 @@
22478
22503
  "type": "string",
22479
22504
  "description": "The description of the component as an i18n key."
22480
22505
  },
22506
+ "category": {
22507
+ "$ref": "#/components/schemas/HealthCategory"
22508
+ },
22481
22509
  "status": {
22482
22510
  "$ref": "#/components/schemas/HealthStatus"
22483
22511
  },
22512
+ "error": {
22513
+ "$ref": "#/components/schemas/Error"
22514
+ },
22484
22515
  "message": {
22485
22516
  "type": "string",
22486
22517
  "description": "The message for the status if there are further details to provide as an i18n key."
@@ -22503,6 +22534,19 @@
22503
22534
  "status"
22504
22535
  ]
22505
22536
  },
22537
+ "HealthCategory": {
22538
+ "description": "The category of a health check.",
22539
+ "anyOf": [
22540
+ {
22541
+ "const": "connectivity",
22542
+ "description": "Connectivity health check for infrastructure connectors."
22543
+ },
22544
+ {
22545
+ "const": "application",
22546
+ "description": "Application health check for domain services."
22547
+ }
22548
+ ]
22549
+ },
22506
22550
  "HealthStatus": {
22507
22551
  "description": "The health status of the component.",
22508
22552
  "anyOf": [
@@ -23562,11 +23606,11 @@
23562
23606
  "properties": {
23563
23607
  "dateCreated": {
23564
23608
  "type": "string",
23565
- "description": "schema.org dateCreated ISO 8601 date-time set by PAP on create."
23609
+ "description": "schema.org dateCreated - ISO 8601 date-time set by PAP on create."
23566
23610
  },
23567
23611
  "dateModified": {
23568
23612
  "type": "string",
23569
- "description": "schema.org dateModified ISO 8601 date-time set by PAP on create and update."
23613
+ "description": "schema.org dateModified - ISO 8601 date-time set by PAP on create and update."
23570
23614
  }
23571
23615
  }
23572
23616
  },
package/docs/usage.md CHANGED
@@ -25,7 +25,7 @@ npx "@twin.org/node"
25
25
  Command: help
26
26
 
27
27
  All the commands available are listed below, for more information use the --help option with a specific command.
28
- bootstrap-legacy: Bootstrap in legacy mode for backwards compatibility, **will be deprecated in future versions**
28
+ bootstrap-dev: Bootstrap the development environment
29
29
  identity-create: Create an identity
30
30
  identity-import: Import an identity
31
31
  identity-list: List all identities held in custody by the node
@@ -62,10 +62,10 @@ Key environment variables that control how the node server handles authenticatio
62
62
  | `TWIN_AUTH_API_KEY_HEADER` | `x-api-key` | HTTP header name for the API key on requests. |
63
63
  | `TWIN_AUTH_SIGNING_KEY_ID` | `auth-signing` | Vault key ID used to sign authentication JWTs. |
64
64
 
65
- ## bootstrap-legacy --help
65
+ ## bootstrap-dev --help
66
66
 
67
67
  ```text
68
- bootstrap-legacy: Bootstrap in legacy mode for backwards compatibility, **will be deprecated in future versions**
68
+ bootstrap-dev: Bootstrap the development environment
69
69
 
70
70
  env-prefix: (string, optional)
71
71
  Prefix to use for standard .env files e.g. TWIN_.
@@ -73,7 +73,7 @@ Prefix to use for standard .env files e.g. TWIN_.
73
73
  load-env: (string, optional)
74
74
  Comma separated list of paths to .env files to read input parameters from.
75
75
 
76
- Example: bootstrap-legacy --load-env=".env.bootstrap-legacy"
76
+ Example: bootstrap-dev --load-env=".env.bootstrap-dev"
77
77
  ```
78
78
 
79
79
  The command reads the following environment variables (use `load-env` to supply them from a file):
@@ -306,15 +306,15 @@ Example: tenant-list-by-org --org-id="did:iota:..."
306
306
 
307
307
  ## Example
308
308
 
309
- ### Bootstrap legacy (single command)
309
+ ### Bootstrap dev (single command)
310
310
 
311
- Runs the complete bootstrap sequence in one step using values from `.env.bootstrap-legacy`:
311
+ Runs the complete bootstrap sequence in one step using values from `.env.bootstrap-dev`:
312
312
 
313
313
  ```shell
314
- twin-node bootstrap-legacy --load-env=".env.bootstrap-legacy"
314
+ twin-node bootstrap-dev --load-env=".env.bootstrap-dev"
315
315
  ```
316
316
 
317
- The sections below show the equivalent step-by-step commands that replicate the bootstrap-legacy process.
317
+ The sections below show the equivalent step-by-step commands that replicate the bootstrap-dev process.
318
318
 
319
319
  ---
320
320
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/node",
3
- "version": "0.9.2-next.1",
3
+ "version": "0.9.2-next.10",
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": ">=24.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/node-core": "0.9.2-next.1"
17
+ "@twin.org/node-core": "0.9.2-next.10"
18
18
  },
19
19
  "bugs": {
20
20
  "url": "git+https://github.com/iotaledger/twin-node/issues"