@twin.org/synchronised-storage-service 0.0.1-next.2 → 0.0.1-next.4

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 (34) hide show
  1. package/dist/cjs/index.cjs +962 -314
  2. package/dist/esm/index.mjs +963 -316
  3. package/dist/types/entities/syncSnapshotEntry.d.ts +4 -5
  4. package/dist/types/helpers/blobStorageHelper.d.ts +33 -0
  5. package/dist/types/helpers/changeSetHelper.d.ts +20 -7
  6. package/dist/types/helpers/localSyncStateHelper.d.ts +13 -28
  7. package/dist/types/helpers/remoteSyncStateHelper.d.ts +26 -21
  8. package/dist/types/helpers/versions.d.ts +3 -0
  9. package/dist/types/index.d.ts +4 -2
  10. package/dist/types/models/ISyncPointerStore.d.ts +15 -0
  11. package/dist/types/models/ISyncSnapshot.d.ts +5 -1
  12. package/dist/types/models/ISyncState.d.ts +4 -0
  13. package/dist/types/models/ISynchronisedStorageServiceConfig.d.ts +17 -11
  14. package/dist/types/models/ISynchronisedStorageServiceConstructorOptions.d.ts +11 -2
  15. package/dist/types/synchronisedStorageRoutes.d.ts +9 -1
  16. package/dist/types/synchronisedStorageService.d.ts +13 -4
  17. package/docs/architecture.md +125 -0
  18. package/docs/changelog.md +29 -0
  19. package/docs/open-api/spec.json +244 -18
  20. package/docs/reference/classes/SyncSnapshotEntry.md +5 -5
  21. package/docs/reference/classes/SynchronisedStorageService.md +38 -5
  22. package/docs/reference/functions/synchronisedStorageGetDecryptionKeyRequest.md +31 -0
  23. package/docs/reference/index.md +4 -1
  24. package/docs/reference/interfaces/ISyncPointerStore.md +23 -0
  25. package/docs/reference/interfaces/ISyncSnapshot.md +43 -0
  26. package/docs/reference/interfaces/ISyncState.md +19 -0
  27. package/docs/reference/interfaces/ISynchronisedStorageServiceConfig.md +37 -17
  28. package/docs/reference/interfaces/ISynchronisedStorageServiceConstructorOptions.md +25 -3
  29. package/locales/en.json +62 -14
  30. package/package.json +4 -2
  31. package/dist/types/models/ISyncChange.d.ts +0 -18
  32. package/dist/types/models/ISyncChangeSet.d.ts +0 -36
  33. package/dist/types/models/ISyncPointer.d.ts +0 -9
  34. package/docs/reference/interfaces/ISyncChange.md +0 -33
package/docs/changelog.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.1-next.4](https://github.com/twinfoundation/synchronised-storage/compare/synchronised-storage-service-v0.0.1-next.3...synchronised-storage-service-v0.0.1-next.4) (2025-08-08)
4
+
5
+
6
+ ### Features
7
+
8
+ * add payload versioning ([3bbbce0](https://github.com/twinfoundation/synchronised-storage/commit/3bbbce0bdf24bbe67c1a265704538d505d7feb91))
9
+ * blob storage connector instead of component ([#7](https://github.com/twinfoundation/synchronised-storage/issues/7)) ([ea27241](https://github.com/twinfoundation/synchronised-storage/commit/ea27241cf0810b52ab7a6be7346809d127b7109a))
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * The following workspace dependencies were updated
15
+ * dependencies
16
+ * @twin.org/synchronised-storage-models bumped from 0.0.1-next.3 to 0.0.1-next.4
17
+
18
+ ## [0.0.1-next.3](https://github.com/twinfoundation/synchronised-storage/compare/synchronised-storage-service-v0.0.1-next.2...synchronised-storage-service-v0.0.1-next.3) (2025-07-25)
19
+
20
+
21
+ ### Features
22
+
23
+ * sync testing ([#5](https://github.com/twinfoundation/synchronised-storage/issues/5)) ([f78d5ac](https://github.com/twinfoundation/synchronised-storage/commit/f78d5ac661b891f9912e0a81d028453f909a64b4))
24
+
25
+
26
+ ### Dependencies
27
+
28
+ * The following workspace dependencies were updated
29
+ * dependencies
30
+ * @twin.org/synchronised-storage-models bumped from 0.0.1-next.2 to 0.0.1-next.3
31
+
3
32
  ## [0.0.1-next.2](https://github.com/twinfoundation/synchronised-storage/compare/synchronised-storage-service-v0.0.1-next.1...synchronised-storage-service-v0.0.1-next.2) (2025-07-22)
4
33
 
5
34
 
@@ -21,30 +21,52 @@
21
21
  }
22
22
  ],
23
23
  "paths": {
24
- "/synchronised-storage": {
25
- "get": {
24
+ "/synchronised-storage/sync-changeset": {
25
+ "post": {
26
26
  "operationId": "synchronisedStorageSyncChangeSetRequest",
27
27
  "summary": "Request that the node perform a sync request for a changeset.",
28
28
  "tags": [
29
29
  "Synchronised Storage"
30
30
  ],
31
- "parameters": [
32
- {
33
- "name": "changeSetStorageId",
34
- "description": "The storage id of the changeset.",
35
- "in": "query",
36
- "required": false,
37
- "schema": {
38
- "type": "string"
39
- },
40
- "example": "12345"
41
- }
42
- ],
43
- "security": [
44
- {
45
- "jwtBearerAuthScheme": []
31
+ "requestBody": {
32
+ "description": "Request a trusted node to perform a sync request for a changeset.",
33
+ "required": true,
34
+ "content": {
35
+ "application/json": {
36
+ "schema": {
37
+ "$ref": "#/components/schemas/SyncChangeSet"
38
+ },
39
+ "examples": {
40
+ "synchronisedStorageSyncChangeSetRequestExample": {
41
+ "value": {
42
+ "id": "0909090909090909090909090909090909090909090909090909090909090909",
43
+ "dateCreated": "2025-05-29T01:00:00.000Z",
44
+ "nodeIdentity": "did:entity-storage:0xd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2",
45
+ "changes": [
46
+ {
47
+ "entity": {
48
+ "dateModified": "2025-01-01T00:00:00.000Z"
49
+ },
50
+ "id": "test-id-1",
51
+ "operation": "set"
52
+ }
53
+ ],
54
+ "proof": {
55
+ "@context": "https://www.w3.org/ns/credentials/v2",
56
+ "created": "2025-05-29T01:00:00.000Z",
57
+ "cryptosuite": "eddsa-jcs-2022",
58
+ "proofPurpose": "assertionMethod",
59
+ "proofValue": "z5efBErQs3YBLZoH7jgKMQaRc9YjAxA5XSYKmW3FmTBDw9WionT2NS2x1SMvcRyBvw53cSSoaCT1xQH9tkWngGCX3",
60
+ "type": "DataIntegrityProof",
61
+ "verificationMethod": "did:entity-storage:0xd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0#synchronised-storage-assertion"
62
+ },
63
+ "storageKey": "test-type"
64
+ }
65
+ }
66
+ }
67
+ }
46
68
  }
47
- ],
69
+ },
48
70
  "responses": {
49
71
  "204": {
50
72
  "description": "The rest request ended in success with no data."
@@ -70,6 +92,100 @@
70
92
  }
71
93
  }
72
94
  },
95
+ "500": {
96
+ "description": "The server has encountered a situation it does not know how to handle, see the content for more details.",
97
+ "content": {
98
+ "application/json": {
99
+ "schema": {
100
+ "$ref": "#/components/schemas/Error"
101
+ },
102
+ "examples": {
103
+ "exampleResponse": {
104
+ "value": {
105
+ "name": "InternalServerError",
106
+ "message": "component.error"
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ },
116
+ "/synchronised-storage/decryption-key": {
117
+ "post": {
118
+ "operationId": "synchronisedStorageGetDecryptionKeyRequest",
119
+ "summary": "Request the decryption key.",
120
+ "tags": [
121
+ "Synchronised Storage"
122
+ ],
123
+ "requestBody": {
124
+ "description": "Request a trusted node to perform a sync request for a changeset.",
125
+ "required": true,
126
+ "content": {
127
+ "application/json": {
128
+ "schema": {
129
+ "$ref": "#/components/schemas/SyncChangeSet"
130
+ },
131
+ "examples": {
132
+ "synchronisedStorageSyncGetDecryptionKeyRequestExample": {
133
+ "value": {
134
+ "nodeIdentity": "did:entity-storage:0xd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2",
135
+ "proof": {
136
+ "@context": "https://www.w3.org/ns/credentials/v2",
137
+ "created": "2025-05-29T01:00:00.000Z",
138
+ "cryptosuite": "eddsa-jcs-2022",
139
+ "proofPurpose": "assertionMethod",
140
+ "proofValue": "z5efBErQs3YBLZoH7jgKMQaRc9YjAxA5XSYKmW3FmTBDw9WionT2NS2x1SMvcRyBvw53cSSoaCT1xQH9tkWngGCX3",
141
+ "type": "DataIntegrityProof",
142
+ "verificationMethod": "did:entity-storage:0xd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0#synchronised-storage-assertion"
143
+ }
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ },
150
+ "responses": {
151
+ "200": {
152
+ "description": "Response to a request for the decryption key for the synchronised storage.",
153
+ "content": {
154
+ "application/json": {
155
+ "schema": {
156
+ "$ref": "#/components/schemas/SyncDecryptionKeyResponse"
157
+ },
158
+ "examples": {
159
+ "synchronisedStorageSyncGetDecryptionKeyResponseExample": {
160
+ "value": {
161
+ "decryptionKey": "z5efBErQs3YBLZoH7jgKMQaRc9YjAxA5XSYKmW3FmTBDw9WionT2NS2x1SMvcRyBvw53cSSoaCT1xQH9tkWngGCX3"
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ },
168
+ "400": {
169
+ "description": "The server cannot process the request, see the content for more details.",
170
+ "content": {
171
+ "application/json": {
172
+ "schema": {
173
+ "$ref": "#/components/schemas/Error"
174
+ },
175
+ "examples": {
176
+ "exampleResponse": {
177
+ "value": {
178
+ "name": "GeneralError",
179
+ "message": "component.error",
180
+ "properties": {
181
+ "foo": "bar"
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+ },
73
189
  "401": {
74
190
  "description": "You are not authorized to use the API or no credentials were supplied, see the content for more details.",
75
191
  "content": {
@@ -146,6 +262,116 @@
146
262
  ],
147
263
  "additionalProperties": false,
148
264
  "description": "Model to describe serialized error."
265
+ },
266
+ "SyncChange<SynchronisedEntity>": {
267
+ "type": "object",
268
+ "properties": {
269
+ "operation": {
270
+ "$ref": "#/components/schemas/SyncChangeOperation"
271
+ },
272
+ "id": {
273
+ "type": "string",
274
+ "description": "The item id."
275
+ },
276
+ "entity": {
277
+ "$ref": "#/components/schemas/SynchronisedEntity"
278
+ }
279
+ },
280
+ "required": [
281
+ "operation",
282
+ "id"
283
+ ],
284
+ "additionalProperties": false,
285
+ "description": "The object definition for a sync change."
286
+ },
287
+ "SyncChangeOperation": {
288
+ "anyOf": [
289
+ {
290
+ "type": "string",
291
+ "const": "set",
292
+ "description": "An item was set in the storage."
293
+ },
294
+ {
295
+ "type": "string",
296
+ "const": "delete",
297
+ "description": "An item was deleted from the storage."
298
+ }
299
+ ],
300
+ "description": "The operations for a change. The operations for a change"
301
+ },
302
+ "SyncChangeSet": {
303
+ "type": "object",
304
+ "properties": {
305
+ "id": {
306
+ "type": "string",
307
+ "description": "The id of the change set."
308
+ },
309
+ "dateCreated": {
310
+ "type": "string",
311
+ "description": "The date the change set was created."
312
+ },
313
+ "storageKey": {
314
+ "type": "string",
315
+ "description": "The storage key of the change set. This is used to identify the entities being synchronised."
316
+ },
317
+ "dateModified": {
318
+ "type": "string",
319
+ "description": "The date the change set was last modified."
320
+ },
321
+ "changes": {
322
+ "type": "array",
323
+ "items": false,
324
+ "description": "The changes to apply after a snapshot.",
325
+ "prefixItems": [
326
+ {
327
+ "$ref": "#/components/schemas/SyncChange<SynchronisedEntity>"
328
+ }
329
+ ]
330
+ },
331
+ "nodeIdentity": {
332
+ "type": "string",
333
+ "description": "The identity of the node that created the change set."
334
+ },
335
+ "proof": {
336
+ "$ref": "https://schema.twindev.org/w3c-did/Proof"
337
+ }
338
+ },
339
+ "required": [
340
+ "id",
341
+ "dateCreated",
342
+ "storageKey",
343
+ "changes",
344
+ "nodeIdentity"
345
+ ],
346
+ "additionalProperties": false,
347
+ "description": "The object definition for a sync change set."
348
+ },
349
+ "SyncDecryptionKeyResponse": {
350
+ "type": "object",
351
+ "properties": {
352
+ "decryptionKey": {
353
+ "type": "string",
354
+ "description": "The decryption key for the synchronised storage as base64."
355
+ }
356
+ },
357
+ "required": [
358
+ "decryptionKey"
359
+ ],
360
+ "additionalProperties": false,
361
+ "description": "The body of the response."
362
+ },
363
+ "SynchronisedEntity": {
364
+ "type": "object",
365
+ "properties": {
366
+ "dateModified": {
367
+ "type": "string",
368
+ "description": "The date the entry was modified"
369
+ }
370
+ },
371
+ "required": [
372
+ "dateModified"
373
+ ],
374
+ "additionalProperties": false
149
375
  }
150
376
  },
151
377
  "securitySchemes": {
@@ -28,11 +28,11 @@ The id for the snapshot.
28
28
 
29
29
  ***
30
30
 
31
- ### schemaType
31
+ ### storageKey
32
32
 
33
- > **schemaType**: `string`
33
+ > **storageKey**: `string`
34
34
 
35
- The schema type for the snapshot i.e. which entity is being synchronized.
35
+ The storage key for the snapshot i.e. which entity is being synchronized.
36
36
 
37
37
  ***
38
38
 
@@ -68,8 +68,8 @@ The ids of the storage for the change sets in the snapshot, if this is not a loc
68
68
 
69
69
  ***
70
70
 
71
- ### localChanges?
71
+ ### changes?
72
72
 
73
- > `optional` **localChanges**: [`ISyncChange`](../interfaces/ISyncChange.md)\<`T`\>[]
73
+ > `optional` **changes**: `ISyncChange`\<`T`\>[]
74
74
 
75
75
  The changes that were made in this snapshot, if this is a local snapshot.
@@ -118,19 +118,52 @@ Nothing.
118
118
 
119
119
  ***
120
120
 
121
- ### syncChangeSet()
121
+ ### getDecryptionKey()
122
122
 
123
- > **syncChangeSet**(`changeSetStorageId`): `Promise`\<`void`\>
123
+ > **getDecryptionKey**(`nodeIdentity`, `proof`): `Promise`\<`string`\>
124
124
 
125
- Synchronise a complete set of changes, assumes this is a trusted node.
125
+ Get the decryption key for the synchronised storage.
126
+ This is used to decrypt the data stored in the synchronised storage.
126
127
 
127
128
  #### Parameters
128
129
 
129
- ##### changeSetStorageId
130
+ ##### nodeIdentity
130
131
 
131
132
  `string`
132
133
 
133
- The id of the change set to synchronise in blob storage.
134
+ The identity of the node requesting the decryption key.
135
+
136
+ ##### proof
137
+
138
+ `IProof`
139
+
140
+ The proof of the request so we know the request is from the specified node.
141
+
142
+ #### Returns
143
+
144
+ `Promise`\<`string`\>
145
+
146
+ The decryption key.
147
+
148
+ #### Implementation of
149
+
150
+ `ISynchronisedStorageComponent.getDecryptionKey`
151
+
152
+ ***
153
+
154
+ ### syncChangeSet()
155
+
156
+ > **syncChangeSet**(`syncChangeSet`): `Promise`\<`void`\>
157
+
158
+ Synchronise a set of changes from an untrusted node, assumes this is a trusted node.
159
+
160
+ #### Parameters
161
+
162
+ ##### syncChangeSet
163
+
164
+ `ISyncChangeSet`\<`T`\>
165
+
166
+ The change set to synchronise.
134
167
 
135
168
  #### Returns
136
169
 
@@ -0,0 +1,31 @@
1
+ # Function: synchronisedStorageGetDecryptionKeyRequest()
2
+
3
+ > **synchronisedStorageGetDecryptionKeyRequest**(`httpRequestContext`, `componentName`, `request`): `Promise`\<`ISyncDecryptionKeyResponse`\>
4
+
5
+ Request the decryption key.
6
+
7
+ ## Parameters
8
+
9
+ ### httpRequestContext
10
+
11
+ `IHttpRequestContext`
12
+
13
+ The request context for the API.
14
+
15
+ ### componentName
16
+
17
+ `string`
18
+
19
+ The name of the component to use in the routes.
20
+
21
+ ### request
22
+
23
+ `ISyncDecryptionKeyRequest`
24
+
25
+ The request.
26
+
27
+ ## Returns
28
+
29
+ `Promise`\<`ISyncDecryptionKeyResponse`\>
30
+
31
+ The response object with additional http response properties.
@@ -7,7 +7,9 @@
7
7
 
8
8
  ## Interfaces
9
9
 
10
- - [ISyncChange](interfaces/ISyncChange.md)
10
+ - [ISyncPointerStore](interfaces/ISyncPointerStore.md)
11
+ - [ISyncSnapshot](interfaces/ISyncSnapshot.md)
12
+ - [ISyncState](interfaces/ISyncState.md)
11
13
  - [ISynchronisedStorageServiceConfig](interfaces/ISynchronisedStorageServiceConfig.md)
12
14
  - [ISynchronisedStorageServiceConstructorOptions](interfaces/ISynchronisedStorageServiceConstructorOptions.md)
13
15
 
@@ -21,3 +23,4 @@
21
23
  - [initSchema](functions/initSchema.md)
22
24
  - [generateRestRoutesSynchronisedStorage](functions/generateRestRoutesSynchronisedStorage.md)
23
25
  - [synchronisedStorageSyncChangeSetRequest](functions/synchronisedStorageSyncChangeSetRequest.md)
26
+ - [synchronisedStorageGetDecryptionKeyRequest](functions/synchronisedStorageGetDecryptionKeyRequest.md)
@@ -0,0 +1,23 @@
1
+ # Interface: ISyncPointerStore
2
+
3
+ The object definition for the sync pointer store.
4
+
5
+ ## Properties
6
+
7
+ ### version
8
+
9
+ > **version**: `string`
10
+
11
+ The version of the sync pointer store.
12
+
13
+ ***
14
+
15
+ ### syncPointers
16
+
17
+ > **syncPointers**: `object`
18
+
19
+ The mapping from storage keys to sync pointers.
20
+
21
+ #### Index Signature
22
+
23
+ \[`key`: `string`\]: `string`
@@ -0,0 +1,43 @@
1
+ # Interface: ISyncSnapshot
2
+
3
+ The object definition for a sync snapshot.
4
+
5
+ ## Properties
6
+
7
+ ### version
8
+
9
+ > **version**: `string`
10
+
11
+ The version of the sync state.
12
+
13
+ ***
14
+
15
+ ### id
16
+
17
+ > **id**: `string`
18
+
19
+ The id of the snapshot.
20
+
21
+ ***
22
+
23
+ ### dateCreated
24
+
25
+ > **dateCreated**: `string`
26
+
27
+ The date the snapshot was created.
28
+
29
+ ***
30
+
31
+ ### dateModified
32
+
33
+ > **dateModified**: `string`
34
+
35
+ The date the snapshot was last modified.
36
+
37
+ ***
38
+
39
+ ### changeSetStorageIds
40
+
41
+ > **changeSetStorageIds**: `string`[]
42
+
43
+ The ids of the storage for the change sets in the snapshot.
@@ -0,0 +1,19 @@
1
+ # Interface: ISyncState
2
+
3
+ The object definition for a sync state.
4
+
5
+ ## Properties
6
+
7
+ ### version
8
+
9
+ > **version**: `string`
10
+
11
+ The version of the sync state.
12
+
13
+ ***
14
+
15
+ ### snapshots
16
+
17
+ > **snapshots**: [`ISyncSnapshot`](ISyncSnapshot.md)[]
18
+
19
+ The snapshots.
@@ -4,20 +4,11 @@ Configuration for the Synchronised Storage Service.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### synchronisedStorageKey
8
-
9
- > **synchronisedStorageKey**: `string`
10
-
11
- The key to use for the remote synchronised storage, the initial item will have been
12
- generated by a trusted node.
13
-
14
- ***
15
-
16
7
  ### synchronisedStorageMethodId?
17
8
 
18
9
  > `optional` **synchronisedStorageMethodId**: `string`
19
10
 
20
- The id of the identity method to use when signing/verifying changesets.
11
+ The id of the identity method to use when signing/verifying requests and changesets.
21
12
 
22
13
  #### Default
23
14
 
@@ -27,16 +18,16 @@ synchronised-storage-assertion
27
18
 
28
19
  ***
29
20
 
30
- ### entityUpdateIntervalMs?
21
+ ### entityUpdateIntervalMinutes?
31
22
 
32
- > `optional` **entityUpdateIntervalMs**: `number`
23
+ > `optional` **entityUpdateIntervalMinutes**: `number`
33
24
 
34
- How often to check for entity updates in milliseconds.
25
+ How often to check for entity updates in minutes.
35
26
 
36
27
  #### Default
37
28
 
38
29
  ```ts
39
- 300000 (5 minutes)
30
+ 5
40
31
  ```
41
32
 
42
33
  ***
@@ -55,16 +46,16 @@ false
55
46
 
56
47
  ***
57
48
 
58
- ### consolidationIntervalMs?
49
+ ### consolidationIntervalMinutes?
59
50
 
60
- > `optional` **consolidationIntervalMs**: `number`
51
+ > `optional` **consolidationIntervalMinutes**: `number`
61
52
 
62
53
  Interval to perform consolidation of changesets, only used if isTrustedNode is set.
63
54
 
64
55
  #### Default
65
56
 
66
57
  ```ts
67
- 300000 (5 minutes)
58
+ 60
68
59
  ```
69
60
 
70
61
  ***
@@ -80,3 +71,32 @@ The number of entities to process in a single consolidation batch.
80
71
  ```ts
81
72
  1000
82
73
  ```
74
+
75
+ ***
76
+
77
+ ### blobStorageEncryptionKeyId?
78
+
79
+ > `optional` **blobStorageEncryptionKeyId**: `string`
80
+
81
+ The encryption key id from the vault to use for blob storage, only required for trusted nodes, untrusted nodes will request the key.
82
+
83
+ #### Default
84
+
85
+ ```ts
86
+ synchronised-storage-blob-encryption-key
87
+ ```
88
+
89
+ ***
90
+
91
+ ### verifiableStorageKeyId
92
+
93
+ > **verifiableStorageKeyId**: `string`
94
+
95
+ The verifiable storage key to use, already expected to be created.
96
+ if the key is not found in the keys.json it is considered to be a custom verifiable storage id.
97
+
98
+ #### Default
99
+
100
+ ```ts
101
+ local
102
+ ```
@@ -20,6 +20,14 @@ The event bus component type.
20
20
 
21
21
  ***
22
22
 
23
+ ### vaultConnectorType?
24
+
25
+ > `optional` **vaultConnectorType**: `string`
26
+
27
+ The vault connector type.
28
+
29
+ ***
30
+
23
31
  ### syncSnapshotStorageConnectorType?
24
32
 
25
33
  > `optional` **syncSnapshotStorageConnectorType**: `string`
@@ -34,11 +42,11 @@ sync-snapshot-entry
34
42
 
35
43
  ***
36
44
 
37
- ### blobStorageComponentType?
45
+ ### blobStorageConnectorType?
38
46
 
39
- > `optional` **blobStorageComponentType**: `string`
47
+ > `optional` **blobStorageConnectorType**: `string`
40
48
 
41
- The blob storage component used for remote sync state.
49
+ The blob storage connector used for remote sync state.
42
50
 
43
51
  #### Default
44
52
 
@@ -76,6 +84,20 @@ identity
76
84
 
77
85
  ***
78
86
 
87
+ ### taskSchedulerComponentType?
88
+
89
+ > `optional` **taskSchedulerComponentType**: `string`
90
+
91
+ The task scheduler component.
92
+
93
+ #### Default
94
+
95
+ ```ts
96
+ task-scheduler
97
+ ```
98
+
99
+ ***
100
+
79
101
  ### trustedSynchronisedStorageComponentType?
80
102
 
81
103
  > `optional` **trustedSynchronisedStorageComponentType**: `string`