@twin.org/node-core 0.0.2-next.2 → 0.0.2-next.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/cjs/index.cjs +864 -391
  2. package/dist/esm/index.mjs +852 -394
  3. package/dist/types/bootstrap.d.ts +9 -9
  4. package/dist/types/builders/engineEnvBuilder.d.ts +1 -1
  5. package/dist/types/builders/engineServerEnvBuilder.d.ts +3 -2
  6. package/dist/types/builders/extensionsBuilder.d.ts +32 -0
  7. package/dist/types/defaults.d.ts +6 -0
  8. package/dist/types/index.d.ts +4 -0
  9. package/dist/types/models/IEngineEnvironmentVariables.d.ts +188 -24
  10. package/dist/types/models/IEngineServerEnvironmentVariables.d.ts +12 -3
  11. package/dist/types/models/INodeEngineConfig.d.ts +6 -0
  12. package/dist/types/models/INodeEnvironmentVariables.d.ts +1 -2
  13. package/dist/types/models/INodeOptions.d.ts +6 -1
  14. package/dist/types/models/nodeExtensionMethods.d.ts +27 -0
  15. package/dist/types/models/nodeFeatures.d.ts +4 -0
  16. package/dist/types/node.d.ts +7 -2
  17. package/dist/types/server.d.ts +4 -2
  18. package/dist/types/utils.d.ts +24 -0
  19. package/docs/changelog.md +138 -0
  20. package/docs/reference/functions/{bootstrapAttestationMethod.md → bootstrapSynchronisedStorage.md} +3 -3
  21. package/docs/reference/functions/buildConfiguration.md +2 -2
  22. package/docs/reference/functions/buildEngineConfiguration.md +2 -2
  23. package/docs/reference/functions/buildEngineServerConfiguration.md +9 -3
  24. package/docs/reference/functions/directoryExists.md +19 -0
  25. package/docs/reference/functions/extensionsConfiguration.md +25 -0
  26. package/docs/reference/functions/extensionsInitialiseEngine.md +25 -0
  27. package/docs/reference/functions/extensionsInitialiseEngineServer.md +31 -0
  28. package/docs/reference/functions/getFiles.md +19 -0
  29. package/docs/reference/functions/getSubFolders.md +19 -0
  30. package/docs/reference/functions/loadTextFile.md +19 -0
  31. package/docs/reference/functions/overrideModuleImport.md +17 -0
  32. package/docs/reference/functions/shutdownExtensions.md +25 -0
  33. package/docs/reference/functions/start.md +4 -4
  34. package/docs/reference/index.md +21 -1
  35. package/docs/reference/interfaces/IEngineEnvironmentVariables.md +374 -36
  36. package/docs/reference/interfaces/IEngineServerEnvironmentVariables.md +1673 -5
  37. package/docs/reference/interfaces/INodeEngineConfig.md +7 -0
  38. package/docs/reference/interfaces/INodeEnvironmentVariables.md +643 -137
  39. package/docs/reference/interfaces/INodeOptions.md +14 -2
  40. package/docs/reference/type-aliases/NodeExtensionInitialiseEngineMethod.md +18 -0
  41. package/docs/reference/type-aliases/NodeExtensionInitialiseEngineServerMethod.md +24 -0
  42. package/docs/reference/type-aliases/NodeExtensionInitialiseMethod.md +23 -0
  43. package/docs/reference/type-aliases/NodeExtensionShutdownMethod.md +10 -0
  44. package/docs/reference/variables/ATTESTATION_VERIFICATION_METHOD_ID.md +3 -0
  45. package/docs/reference/variables/AUTH_SIGNING_KEY_ID.md +3 -0
  46. package/docs/reference/variables/BLOB_STORAGE_ENCRYPTION_KEY_ID.md +3 -0
  47. package/docs/reference/variables/IMMUTABLE_PROOF_VERIFICATION_METHOD_ID.md +3 -0
  48. package/docs/reference/variables/NodeFeatures.md +7 -1
  49. package/docs/reference/variables/SYNCHRONISED_STORAGE_BLOB_STORAGE_ENCRYPTION_KEY_ID.md +3 -0
  50. package/docs/reference/variables/VC_AUTHENTICATION_VERIFICATION_METHOD_ID.md +3 -0
  51. package/locales/en.json +15 -7
  52. package/package.json +18 -2
@@ -4,7 +4,7 @@ The engine core environment variables.
4
4
 
5
5
  ## Extended by
6
6
 
7
- - [`INodeEnvironmentVariables`](INodeEnvironmentVariables.md)
7
+ - [`IEngineServerEnvironmentVariables`](IEngineServerEnvironmentVariables.md)
8
8
 
9
9
  ## Properties
10
10
 
@@ -49,19 +49,19 @@ The default entity storage connector to use, defaults to the first one in the li
49
49
 
50
50
  ***
51
51
 
52
- ### entityStorageConnectorDecentralised?
52
+ ### entityStorageTablePrefix?
53
53
 
54
- > `optional` **entityStorageConnectorDecentralised**: `string`
54
+ > `optional` **entityStorageTablePrefix**: `string`
55
55
 
56
- Entity storage connector for decentralized storage
56
+ A prefix for all the table in entity-storage, can be empty.
57
57
 
58
58
  ***
59
59
 
60
- ### entityStorageTablePrefix?
60
+ ### awsDynamodbAuthMode?
61
61
 
62
- > `optional` **entityStorageTablePrefix**: `string`
62
+ > `optional` **awsDynamodbAuthMode**: `string`
63
63
 
64
- A prefix for all the table in entity-storage, can be empty.
64
+ AWS DynamoDB auth mode, either credentials or pod.
65
65
 
66
66
  ***
67
67
 
@@ -354,11 +354,11 @@ The default blob storage connector to use, defaults to the first one in the list
354
354
 
355
355
  ***
356
356
 
357
- ### blobStorageConnectorDecentralised?
357
+ ### blobStorageConnectorPublic?
358
358
 
359
- > `optional` **blobStorageConnectorDecentralised**: `string`
359
+ > `optional` **blobStorageConnectorPublic**: `string`
360
360
 
361
- Blog storage connector for decentralized storage
361
+ Blog storage connector which has public access.
362
362
 
363
363
  ***
364
364
 
@@ -370,11 +370,20 @@ Enable encryption for the blob storage.
370
370
 
371
371
  ***
372
372
 
373
- ### blobStorageEncryptionKey?
373
+ ### blobStorageEncryptionKeyId?
374
374
 
375
- > `optional` **blobStorageEncryptionKey**: `string`
375
+ > `optional` **blobStorageEncryptionKeyId**: `string`
376
376
 
377
- The encryption key for the blob storage.
377
+ The id of the encryption key for the blob storage.
378
+
379
+ ***
380
+
381
+ ### blobStorageSymmetricEncryptionKey?
382
+
383
+ > `optional` **blobStorageSymmetricEncryptionKey**: `string`
384
+
385
+ A symmetric encryption key for the blob storage, should be ChaCha20Poly1305 in base64 format.
386
+ If encryption is enabled but a key is not provided one will be generated.
378
387
 
379
388
  ***
380
389
 
@@ -386,11 +395,11 @@ A prefix for all the blobs in blob-storage, can be empty.
386
395
 
387
396
  ***
388
397
 
389
- ### awsS3AccessKeyId?
398
+ ### awsS3Region?
390
399
 
391
- > `optional` **awsS3AccessKeyId**: `string`
400
+ > `optional` **awsS3Region**: `string`
392
401
 
393
- AWS S3 access key id.
402
+ AWS S3 region.
394
403
 
395
404
  ***
396
405
 
@@ -402,19 +411,19 @@ AWS S3 bucket name.
402
411
 
403
412
  ***
404
413
 
405
- ### awsS3Endpoint?
414
+ ### awsS3AuthMode?
406
415
 
407
- > `optional` **awsS3Endpoint**: `string`
416
+ > `optional` **awsS3AuthMode**: `string`
408
417
 
409
- AWS S3 endpoint.
418
+ AWS S3 auth mode, either credentials or pod, defaults to credentials.
410
419
 
411
420
  ***
412
421
 
413
- ### awsS3Region?
422
+ ### awsS3AccessKeyId?
414
423
 
415
- > `optional` **awsS3Region**: `string`
424
+ > `optional` **awsS3AccessKeyId**: `string`
416
425
 
417
- AWS S3 region.
426
+ AWS S3 access key id.
418
427
 
419
428
  ***
420
429
 
@@ -426,6 +435,14 @@ AWS S3 secret access key.
426
435
 
427
436
  ***
428
437
 
438
+ ### awsS3Endpoint?
439
+
440
+ > `optional` **awsS3Endpoint**: `string`
441
+
442
+ AWS S3 endpoint.
443
+
444
+ ***
445
+
429
446
  ### azureStorageAccountKey?
430
447
 
431
448
  > `optional` **azureStorageAccountKey**: `string`
@@ -518,7 +535,7 @@ Hashicorp Vault endpoint.
518
535
 
519
536
  > `optional` **loggingConnector**: `string`
520
537
 
521
- The type of background task connector, can be a comma separated list: console, entity-storage.
538
+ The type of logging task connector, can be a comma separated list: console, entity-storage.
522
539
 
523
540
  ***
524
541
 
@@ -546,27 +563,60 @@ The type of event bus component: service.
546
563
 
547
564
  ***
548
565
 
549
- ### messagingEmailConnector?
566
+ ### messagingEnabled?
550
567
 
551
- > `optional` **messagingEmailConnector**: `string`
568
+ > `optional` **messagingEnabled**: `string`
552
569
 
553
- The type of messaging email connector: entity-storage, aws.
570
+ Are the messaging components enabled, defaults to false.
554
571
 
555
572
  ***
556
573
 
557
- ### messagingSmsConnector?
574
+ ### messagingTemplates?
558
575
 
559
- > `optional` **messagingSmsConnector**: `string`
576
+ > `optional` **messagingTemplates**: `string`
560
577
 
561
- The type of messaging sms connector: entity-storage, aws.
578
+ An initial set of templates for the messages.
579
+ Use the @json: prefix to specify the path to the JSON file.
562
580
 
563
581
  ***
564
582
 
565
- ### messagingPushNotificationConnector?
583
+ ### awsSesRegion?
566
584
 
567
- > `optional` **messagingPushNotificationConnector**: `string`
585
+ > `optional` **awsSesRegion**: `string`
568
586
 
569
- The type of messaging push notification connector: entity-storage, aws.
587
+ AWS SES region.
588
+
589
+ ***
590
+
591
+ ### awsSesAuthMode?
592
+
593
+ > `optional` **awsSesAuthMode**: `string`
594
+
595
+ AWS SES auth mode, either credentials or pod, defaults to credentials.
596
+
597
+ ***
598
+
599
+ ### awsSesSecretAccessKey?
600
+
601
+ > `optional` **awsSesSecretAccessKey**: `string`
602
+
603
+ AWS SES secret access key.
604
+
605
+ ***
606
+
607
+ ### awsSesAccessKeyId?
608
+
609
+ > `optional` **awsSesAccessKeyId**: `string`
610
+
611
+ AWS SES access key id.
612
+
613
+ ***
614
+
615
+ ### awsSesEndpoint?
616
+
617
+ > `optional` **awsSesEndpoint**: `string`
618
+
619
+ AWS SES endpoint.
570
620
 
571
621
  ***
572
622
 
@@ -578,11 +628,27 @@ The applications for the push notifications JSON stringified array of IAwsApplic
578
628
 
579
629
  ***
580
630
 
581
- ### messagingComponent?
631
+ ### messagingEmailConnector?
632
+
633
+ > `optional` **messagingEmailConnector**: `string`
582
634
 
583
- > `optional` **messagingComponent**: `string`
635
+ The type of messaging email connector: entity-storage, aws.
584
636
 
585
- The type of messaging component: service.
637
+ ***
638
+
639
+ ### messagingSmsConnector?
640
+
641
+ > `optional` **messagingSmsConnector**: `string`
642
+
643
+ The type of messaging sms connector: entity-storage, aws.
644
+
645
+ ***
646
+
647
+ ### messagingPushNotificationConnector?
648
+
649
+ > `optional` **messagingPushNotificationConnector**: `string`
650
+
651
+ The type of messaging push notification connector: entity-storage, aws.
586
652
 
587
653
  ***
588
654
 
@@ -738,6 +804,14 @@ The identity verification method id to use with attestation.
738
804
 
739
805
  ***
740
806
 
807
+ ### dataProcessingEnabled?
808
+
809
+ > `optional` **dataProcessingEnabled**: `string`
810
+
811
+ Is the data processing enabled, defaults to false.
812
+
813
+ ***
814
+
741
815
  ### dataConverterConnectors?
742
816
 
743
817
  > `optional` **dataConverterConnectors**: `string`
@@ -754,6 +828,138 @@ The type of the default data extractor, can be a comma separated list: json-path
754
828
 
755
829
  ***
756
830
 
831
+ ### auditableItemGraphEnabled?
832
+
833
+ > `optional` **auditableItemGraphEnabled**: `string`
834
+
835
+ Is the auditable item graph enabled, defaults to false.
836
+
837
+ ***
838
+
839
+ ### auditableItemStreamEnabled?
840
+
841
+ > `optional` **auditableItemStreamEnabled**: `string`
842
+
843
+ Is the auditable item stream enabled, defaults to false.
844
+
845
+ ***
846
+
847
+ ### documentManagementEnabled?
848
+
849
+ > `optional` **documentManagementEnabled**: `string`
850
+
851
+ Is the document management enabled, defaults to false.
852
+
853
+ ***
854
+
855
+ ### synchronisedStorageEnabled?
856
+
857
+ > `optional` **synchronisedStorageEnabled**: `string`
858
+
859
+ Is the synchronised storage enabled, defaults to false.
860
+
861
+ ***
862
+
863
+ ### synchronisedStorageTrustedUrl?
864
+
865
+ > `optional` **synchronisedStorageTrustedUrl**: `string`
866
+
867
+ Url which points to the api for a trusted synchronised storage node, not required if this is a trusted node.
868
+
869
+ ***
870
+
871
+ ### synchronisedStorageVerifiableStorageKeyId?
872
+
873
+ > `optional` **synchronisedStorageVerifiableStorageKeyId**: `string`
874
+
875
+ The key for the smart contract which contains the verifiable storage pointer store for synchronised storage.
876
+ This only required if using a custom verifiable storage item, otherwise it will default to the network name.
877
+
878
+ ***
879
+
880
+ ### synchronisedStorageBlobStorageEncryptionKeyId?
881
+
882
+ > `optional` **synchronisedStorageBlobStorageEncryptionKeyId**: `string`
883
+
884
+ The key from the vault which is used to encrypt the synchronised storage blobs.
885
+ Only required for trusted nodes, as regular nodes will request from the trusted nodes.
886
+ Defaults to synchronised-storage-blob-encryption
887
+
888
+ ***
889
+
890
+ ### synchronisedStorageBlobStorageKey?
891
+
892
+ > `optional` **synchronisedStorageBlobStorageKey**: `string`
893
+
894
+ The key used for blob encryption, should be ChaCha20Poly1305 encoded as base64.
895
+ Only required for trusted nodes, as regular nodes will not write encrypted data.
896
+
897
+ ***
898
+
899
+ ### synchronisedStorageEntityUpdateIntervalMinutes?
900
+
901
+ > `optional` **synchronisedStorageEntityUpdateIntervalMinutes**: `string`
902
+
903
+ How often to check for entity updates in minutes.
904
+
905
+ #### Default
906
+
907
+ ```ts
908
+ 5
909
+ ```
910
+
911
+ ***
912
+
913
+ ### synchronisedStorageConsolidationIntervalMinutes?
914
+
915
+ > `optional` **synchronisedStorageConsolidationIntervalMinutes**: `string`
916
+
917
+ Interval to perform consolidation of changesets, only used if this is a trusted node.
918
+
919
+ #### Default
920
+
921
+ ```ts
922
+ 60
923
+ ```
924
+
925
+ ***
926
+
927
+ ### synchronisedStorageConsolidationBatchSize?
928
+
929
+ > `optional` **synchronisedStorageConsolidationBatchSize**: `string`
930
+
931
+ The number of entities to process in a single consolidation batch, only used if this is a trusted node.
932
+
933
+ #### Default
934
+
935
+ ```ts
936
+ 1000
937
+ ```
938
+
939
+ ***
940
+
941
+ ### synchronisedStorageMaxConsolidations?
942
+
943
+ > `optional` **synchronisedStorageMaxConsolidations**: `string`
944
+
945
+ The maximum number of consolidations to keep in storage, only used if this is a trusted node.
946
+
947
+ #### Default
948
+
949
+ ```ts
950
+ 5
951
+ ```
952
+
953
+ ***
954
+
955
+ ### federatedCatalogueEnabled?
956
+
957
+ > `optional` **federatedCatalogueEnabled**: `string`
958
+
959
+ Is the federated catalogue enabled, defaults to false.
960
+
961
+ ***
962
+
757
963
  ### federatedCatalogueCacheTtlMs?
758
964
 
759
965
  > `optional` **federatedCatalogueCacheTtlMs**: `number`
@@ -778,8 +984,140 @@ Is the rights management enabled, defaults to false.
778
984
 
779
985
  ***
780
986
 
987
+ ### rightsManagementBaseCallbackUrl?
988
+
989
+ > `optional` **rightsManagementBaseCallbackUrl**: `string`
990
+
991
+ What is the base callback url for rights management negotiations e.g. https://my-node/rights-management.
992
+
993
+ ***
994
+
995
+ ### rightsManagementInformationSources?
996
+
997
+ > `optional` **rightsManagementInformationSources**: `string`
998
+
999
+ The rights management configuration which includes the information sources modules to load.
1000
+ Use the @json: prefix to specify the path to the JSON configuration file.
1001
+
1002
+ ***
1003
+
1004
+ ### rightsManagementNegotiators?
1005
+
1006
+ > `optional` **rightsManagementNegotiators**: `string`
1007
+
1008
+ The rights management configuration which includes the negotiator modules to load.
1009
+ Use the @json: prefix to specify the path to the JSON configuration file.
1010
+
1011
+ ***
1012
+
1013
+ ### rightsManagementRequesters?
1014
+
1015
+ > `optional` **rightsManagementRequesters**: `string`
1016
+
1017
+ The rights management configuration which includes the requester modules to load.
1018
+ Use the @json: prefix to specify the path to the JSON configuration file.
1019
+
1020
+ ***
1021
+
1022
+ ### rightsManagementExecutionActions?
1023
+
1024
+ > `optional` **rightsManagementExecutionActions**: `string`
1025
+
1026
+ The rights management configuration which includes the execution actions modules to load.
1027
+ Use the @json: prefix to specify the path to the JSON configuration file.
1028
+
1029
+ ***
1030
+
1031
+ ### rightsManagementEnforcementProcessors?
1032
+
1033
+ > `optional` **rightsManagementEnforcementProcessors**: `string`
1034
+
1035
+ The rights management configuration which includes the enforcement processor modules to load.
1036
+ Use the @json: prefix to specify the path to the JSON configuration file.
1037
+
1038
+ ***
1039
+
1040
+ ### rightsManagementArbiters?
1041
+
1042
+ > `optional` **rightsManagementArbiters**: `string`
1043
+
1044
+ The rights management configuration which includes the arbiter modules to load.
1045
+ Use the @json: prefix to specify the path to the JSON configuration file.
1046
+
1047
+ ***
1048
+
1049
+ ### rightsManagementOffers?
1050
+
1051
+ > `optional` **rightsManagementOffers**: `string`
1052
+
1053
+ The rights management configuration which includes the offer modules to load.
1054
+ Use the @json: prefix to specify the path to the JSON configuration file.
1055
+
1056
+ ***
1057
+
781
1058
  ### taskSchedulerEnabled?
782
1059
 
783
1060
  > `optional` **taskSchedulerEnabled**: `string`
784
1061
 
785
- Is the task scheduler enabled, defaults to true.
1062
+ Is the task scheduler enabled, defaults to false.
1063
+
1064
+ ***
1065
+
1066
+ ### dataSpaceConnectorEnabled?
1067
+
1068
+ > `optional` **dataSpaceConnectorEnabled**: `string`
1069
+
1070
+ Is the data space connector enabled, defaults to false.
1071
+
1072
+ ***
1073
+
1074
+ ### dataSpaceConnectorRetainActivityLogsFor?
1075
+
1076
+ > `optional` **dataSpaceConnectorRetainActivityLogsFor**: `string`
1077
+
1078
+ The length of time to retain the activity logs for in minutes, set to -1 to keep forever.
1079
+
1080
+ #### Default
1081
+
1082
+ ```ts
1083
+ 10
1084
+ ```
1085
+
1086
+ ***
1087
+
1088
+ ### dataSpaceConnectorActivityLogsCleanUpInterval?
1089
+
1090
+ > `optional` **dataSpaceConnectorActivityLogsCleanUpInterval**: `string`
1091
+
1092
+ The interval for cleaning up the activity logs.
1093
+
1094
+ #### Default
1095
+
1096
+ ```ts
1097
+ 60
1098
+ ```
1099
+
1100
+ ***
1101
+
1102
+ ### vcAuthenticationEnabled?
1103
+
1104
+ > `optional` **vcAuthenticationEnabled**: `string`
1105
+
1106
+ Enable verifiable credential authentication for the API.
1107
+
1108
+ ***
1109
+
1110
+ ### vcAuthenticationVerificationMethodId?
1111
+
1112
+ > `optional` **vcAuthenticationVerificationMethodId**: `string`
1113
+
1114
+ Verifiable credential assertion for node to node communication.
1115
+ Defaults to node-authentication-assertion.
1116
+
1117
+ ***
1118
+
1119
+ ### extensions?
1120
+
1121
+ > `optional` **extensions**: `string`
1122
+
1123
+ A comma separated list of additional node extensions to load, the initialiseExtension method will be called for each extension.