@tdxvolt/volt-client-grpc 0.20.19 → 0.20.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.
package/lib/index.cjs CHANGED
@@ -1018,12 +1018,6 @@ message SaveDriveInstanceRequest {
1018
1018
  // The local path of the folder to sync.
1019
1019
  string target_folder = 6;
1020
1020
 
1021
- // The comma-separated include patterns.
1022
- string include = 7;
1023
-
1024
- // The comma-separated exclude patterns.
1025
- string exclude = 8;
1026
-
1027
1021
  // The DID of the identity that should be used to authenticate with the remote Volt. If omitted, the authenticated identity will be used.
1028
1022
  // The identity must have a private key stored in the Volt key store.
1029
1023
  string identity_did = 9;
@@ -1048,6 +1042,7 @@ message SaveDriveInstanceRequest {
1048
1042
 
1049
1043
  // Optional challenge of the relay.
1050
1044
  string relay_challenge = 16;
1045
+
1051
1046
  }
1052
1047
 
1053
1048
  message SaveDriveInstanceResponse {
@@ -1469,6 +1464,9 @@ message CreateEmailCredentialRequest {
1469
1464
 
1470
1465
  // The passphrase for the identity key, if required (i.e. the key is encrypted).
1471
1466
  string key_passphrase = 4;
1467
+
1468
+ // Optional description rendered in the verification email body.
1469
+ string description = 5;
1472
1470
  }
1473
1471
 
1474
1472
  message CreateEmailCredentialResponse {
@@ -1759,6 +1757,9 @@ message CreateSynapseConnectionRequest {
1759
1757
 
1760
1758
  // Optional challenge of the relay.
1761
1759
  string relay_challenge = 14;
1760
+
1761
+ // Optional http address of the relay. If given, the relay_address and relay_ca will be ignored and the relay will be discovered at the given address.
1762
+ string relay_http_address = 15;
1762
1763
  }
1763
1764
 
1764
1765
  message CreateSynapseConnectionResponse {
@@ -1822,6 +1823,9 @@ message SaveSyncDatabaseRequest {
1822
1823
 
1823
1824
  // By default, yjs updates are periodically compressed and stored as snapshots. Set this flag to disable snapshots. This will reduce the size of the database and improve performance, but will also reduce the ability to rollback to a previous state.
1824
1825
  bool no_snapshots = 8;
1826
+
1827
+ // The number of updates to batch before flushing to the database. Defaults to 100.
1828
+ uint32 batch_size = 9;
1825
1829
  }
1826
1830
 
1827
1831
  message SaveSyncDatabaseResponse {
@@ -2233,6 +2237,15 @@ enum SecureMode {
2233
2237
  SECURE_MODE_TLS = 2;
2234
2238
  }
2235
2239
 
2240
+ // Per-method gRPC rate limit (unary: each RPC; client/bidi streams: first client message only).
2241
+ message GrpcRpcRateLimit {
2242
+ // Full gRPC method path, e.g. "/tdx.volt_api.volt.v1.VoltAPI/SendEmail"
2243
+ string method_full_name = 1;
2244
+
2245
+ // Maximum requests allowed per rolling 60-second window per identity. Zero disables this rule.
2246
+ uint32 max_requests_per_minute = 2;
2247
+ }
2248
+
2236
2249
  // Encapsulates the various Volt parameters that are configurable by the Volt owner.
2237
2250
  message VoltParameters {
2238
2251
  string id = 1;
@@ -2400,6 +2413,17 @@ message VoltParameters {
2400
2413
 
2401
2414
  // If set, exposes a resource that gives the Volt owner read-only access the file system.
2402
2415
  bool enable_owner_file_system_access = 54;
2416
+
2417
+ // Maximum number of pending gRPC events per event thread queue.
2418
+ // If unset or zero, the server default queue size is used.
2419
+ uint32 grpc_event_queue_size = 55;
2420
+
2421
+ // Number of gRPC event processing threads.
2422
+ // If unset or zero, the server default thread count is used.
2423
+ uint32 grpc_num_event_threads = 56;
2424
+
2425
+ // Optional per-method gRPC rate limits (see GrpcRpcRateLimit). Keyed by peer identity or fingerprint.
2426
+ repeated GrpcRpcRateLimit grpc_rpc_rate_limit = 57;
2403
2427
  }
2404
2428
 
2405
2429
  message VoltEndpoint {
@@ -2790,6 +2814,27 @@ message Session {
2790
2814
 
2791
2815
  SessionStatus status = 10;
2792
2816
  }
2817
+
2818
+ message Email {
2819
+ // The email address to send to.
2820
+ repeated string to = 1;
2821
+
2822
+ // The email address to send cc to.
2823
+ repeated string cc = 2;
2824
+
2825
+ // The email address to send bcc to.
2826
+ repeated string bcc = 3;
2827
+
2828
+ // The subject of the email.
2829
+ string subject = 4;
2830
+
2831
+ // The body of the email.
2832
+ string body = 5;
2833
+
2834
+ // The email address to send from.
2835
+ string from = 6;
2836
+ }
2837
+
2793
2838
  `;
2794
2839
  const volt_api = `syntax = "proto3";
2795
2840
 
@@ -2938,6 +2983,10 @@ service VoltAPI {
2938
2983
  // Requires \`volt:session-write\` permission. Authenticated sessions have this privilege by default.
2939
2984
  rpc SaveSession(SaveSessionRequest) returns (SaveSessionResponse);
2940
2985
 
2986
+ // Send an email.
2987
+ // This is a privileged API call and requires volt:api-call / volt:send-email permission.
2988
+ rpc SendEmail(SendEmailRequest) returns (SendEmailResponse);
2989
+
2941
2990
  // Set Volt access request decision.
2942
2991
  // This is a privileged API call and requires volt:api-call / volt:set-access-request-decision permission.
2943
2992
  rpc SetAccessRequestDecision(SetAccessRequestDecisionRequest) returns (SetAccessRequestDecisionResponse);
@@ -3958,6 +4007,29 @@ message SaveSessionResponse {
3958
4007
  Session session = 2;
3959
4008
  }
3960
4009
 
4010
+ message SendEmailRequest {
4011
+ // The email to send.
4012
+ Email email = 1;
4013
+ }
4014
+
4015
+ message SendEmailResponse {
4016
+ // Details of any error that occurred on the call.
4017
+ tdx.volt_api.volt.v1.Status status = 1;
4018
+ }
4019
+
4020
+ message SetAccessRequestDecisionRequest {
4021
+ // The id of the access request.
4022
+ string id = 1;
4023
+
4024
+ // The decision to save against the access request.
4025
+ PolicyDecision decision = 2;
4026
+ }
4027
+
4028
+ message SetAccessRequestDecisionResponse {
4029
+ // Details of any error that occurred on the call.
4030
+ tdx.volt_api.volt.v1.Status status = 1;
4031
+ }
4032
+
3961
4033
  message SetPolicyRequest {
3962
4034
  // The id of the policy to set.
3963
4035
  // Should be either 00000000-0000-0000-0000-000000000000 or 00000000-0000-0000-0000-000000000001 for the first or last custom policy respectively.
@@ -3985,19 +4057,6 @@ message SetServiceStatusResponse {
3985
4057
  Resource resource = 2;
3986
4058
  }
3987
4059
 
3988
- message SetAccessRequestDecisionRequest {
3989
- // The id of the access request.
3990
- string id = 1;
3991
-
3992
- // The decision to save against the access request.
3993
- PolicyDecision decision = 2;
3994
- }
3995
-
3996
- message SetAccessRequestDecisionResponse {
3997
- // Details of any error that occurred on the call.
3998
- tdx.volt_api.volt.v1.Status status = 1;
3999
- }
4000
-
4001
4060
  // This message is emtpy.
4002
4061
  message ShutdownRequest {
4003
4062
  }
@@ -6268,22 +6327,6 @@ class VoltClient extends EventEmitter__default["default"] {
6268
6327
  return unaryCallInternal.call(this, "SaveMirroredLink", request);
6269
6328
  }
6270
6329
 
6271
- SaveSyncDatabase(request) {
6272
- return unaryCallInternal.call(this, "SaveSyncDatabase", request);
6273
- }
6274
-
6275
- SaveSynapse(request) {
6276
- return unaryCallInternal.call(this, "SaveSynapse", request);
6277
- }
6278
-
6279
- CreateSynapseConnection(request) {
6280
- return unaryCallInternal.call(this, "CreateSynapseConnection", request);
6281
- }
6282
-
6283
- DeleteSynapseConnection(request) {
6284
- return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
6285
- }
6286
-
6287
6330
  SaveSymbolicLink(request) {
6288
6331
  return unaryCallInternal.call(this, "SaveSymbolicLink", request);
6289
6332
  }
@@ -6352,6 +6395,10 @@ class VoltClient extends EventEmitter__default["default"] {
6352
6395
  return unaryCallInternal.call(this, "SaveSession", request);
6353
6396
  }
6354
6397
 
6398
+ SendEmail(request) {
6399
+ return unaryCallInternal.call(this, "SendEmail", request);
6400
+ }
6401
+
6355
6402
  SetAccessRequestDecision(request) {
6356
6403
  return unaryCallInternal.call(this, "SetAccessRequestDecision", request);
6357
6404
  }
@@ -6595,22 +6642,19 @@ class VoltClient extends EventEmitter__default["default"] {
6595
6642
  /**
6596
6643
  * DriveAPI
6597
6644
  */
6598
- SaveDrive(request) {
6599
- return unaryCallInternal.call(this, "SaveDrive", request);
6645
+ SaveDriveInstance(request) {
6646
+ return unaryCallInternal.call(this, "SaveDriveInstance", request);
6600
6647
  }
6601
6648
 
6602
6649
  /**
6603
6650
  * SyncAPI
6604
6651
  */
6605
- SyncDocument(request) {
6606
- const grpcClient = this.getVoltAPIClient();
6652
+ CreateSynapseConnection(request) {
6653
+ return unaryCallInternal.call(this, "CreateSynapseConnection", request);
6654
+ }
6607
6655
 
6608
- const syncDocumentCall = new GRPCCall(
6609
- this,
6610
- "SyncDocument",
6611
- "METHOD_TYPE_BIDI"
6612
- );
6613
- return syncDocumentCall.start(grpcClient, request);
6656
+ DeleteSynapseConnection(request) {
6657
+ return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
6614
6658
  }
6615
6659
 
6616
6660
  DeleteSynapseDocumentMetadata(request) {
@@ -6621,10 +6665,29 @@ class VoltClient extends EventEmitter__default["default"] {
6621
6665
  );
6622
6666
  }
6623
6667
 
6668
+ SaveSynapse(request) {
6669
+ return unaryCallInternal.call(this, "SaveSynapse", request);
6670
+ }
6671
+
6672
+ SaveSyncDatabase(request) {
6673
+ return unaryCallInternal.call(this, "SaveSyncDatabase", request);
6674
+ }
6675
+
6624
6676
  SetSynapseDocumentMetadata(request) {
6625
6677
  return unaryCallInternal.call(this, "SetSynapseDocumentMetadata", request);
6626
6678
  }
6627
6679
 
6680
+ SyncDocument(request) {
6681
+ const grpcClient = this.getVoltAPIClient();
6682
+
6683
+ const syncDocumentCall = new GRPCCall(
6684
+ this,
6685
+ "SyncDocument",
6686
+ "METHOD_TYPE_BIDI"
6687
+ );
6688
+ return syncDocumentCall.start(grpcClient, request);
6689
+ }
6690
+
6628
6691
  WatchSynapsePath(request) {
6629
6692
  const grpcClient = this.getVoltAPIClient();
6630
6693
 
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.20.19",
6
+ "version": "0.20.21",
7
7
  "description": "tdx Volt library for nodejs clients",
8
8
  "type": "module",
9
9
  "exports": {
@@ -33,8 +33,8 @@
33
33
  "author": "toby.ealden@gmail.com",
34
34
  "license": "ISC",
35
35
  "dependencies": {
36
- "@tdxvolt/volt-client-web": "^0.20.19",
37
- "@tdxvolt/volt-utility": "^0.20.18",
36
+ "@tdxvolt/volt-client-web": "^0.20.21",
37
+ "@tdxvolt/volt-utility": "^0.20.21",
38
38
  "debug": "^4.1.1",
39
39
  "ip": "^1.1.5",
40
40
  "jsonwebtoken": "^8.5.1",
@@ -403,22 +403,6 @@ export class VoltClient extends EventEmitter {
403
403
  return unaryCallInternal.call(this, "SaveMirroredLink", request);
404
404
  }
405
405
 
406
- SaveSyncDatabase(request) {
407
- return unaryCallInternal.call(this, "SaveSyncDatabase", request);
408
- }
409
-
410
- SaveSynapse(request) {
411
- return unaryCallInternal.call(this, "SaveSynapse", request);
412
- }
413
-
414
- CreateSynapseConnection(request) {
415
- return unaryCallInternal.call(this, "CreateSynapseConnection", request);
416
- }
417
-
418
- DeleteSynapseConnection(request) {
419
- return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
420
- }
421
-
422
406
  SaveSymbolicLink(request) {
423
407
  return unaryCallInternal.call(this, "SaveSymbolicLink", request);
424
408
  }
@@ -487,6 +471,10 @@ export class VoltClient extends EventEmitter {
487
471
  return unaryCallInternal.call(this, "SaveSession", request);
488
472
  }
489
473
 
474
+ SendEmail(request) {
475
+ return unaryCallInternal.call(this, "SendEmail", request);
476
+ }
477
+
490
478
  SetAccessRequestDecision(request) {
491
479
  return unaryCallInternal.call(this, "SetAccessRequestDecision", request);
492
480
  }
@@ -732,22 +720,19 @@ export class VoltClient extends EventEmitter {
732
720
  /**
733
721
  * DriveAPI
734
722
  */
735
- SaveDrive(request) {
736
- return unaryCallInternal.call(this, "SaveDrive", request);
723
+ SaveDriveInstance(request) {
724
+ return unaryCallInternal.call(this, "SaveDriveInstance", request);
737
725
  }
738
726
 
739
727
  /**
740
728
  * SyncAPI
741
729
  */
742
- SyncDocument(request) {
743
- const grpcClient = this.getVoltAPIClient();
730
+ CreateSynapseConnection(request) {
731
+ return unaryCallInternal.call(this, "CreateSynapseConnection", request);
732
+ }
744
733
 
745
- const syncDocumentCall = new GRPCCall(
746
- this,
747
- "SyncDocument",
748
- "METHOD_TYPE_BIDI"
749
- );
750
- return syncDocumentCall.start(grpcClient, request);
734
+ DeleteSynapseConnection(request) {
735
+ return unaryCallInternal.call(this, "DeleteSynapseConnection", request);
751
736
  }
752
737
 
753
738
  DeleteSynapseDocumentMetadata(request) {
@@ -758,10 +743,29 @@ export class VoltClient extends EventEmitter {
758
743
  );
759
744
  }
760
745
 
746
+ SaveSynapse(request) {
747
+ return unaryCallInternal.call(this, "SaveSynapse", request);
748
+ }
749
+
750
+ SaveSyncDatabase(request) {
751
+ return unaryCallInternal.call(this, "SaveSyncDatabase", request);
752
+ }
753
+
761
754
  SetSynapseDocumentMetadata(request) {
762
755
  return unaryCallInternal.call(this, "SetSynapseDocumentMetadata", request);
763
756
  }
764
757
 
758
+ SyncDocument(request) {
759
+ const grpcClient = this.getVoltAPIClient();
760
+
761
+ const syncDocumentCall = new GRPCCall(
762
+ this,
763
+ "SyncDocument",
764
+ "METHOD_TYPE_BIDI"
765
+ );
766
+ return syncDocumentCall.start(grpcClient, request);
767
+ }
768
+
765
769
  WatchSynapsePath(request) {
766
770
  const grpcClient = this.getVoltAPIClient();
767
771
 
@@ -470,12 +470,6 @@ message SaveDriveInstanceRequest {
470
470
  // The local path of the folder to sync.
471
471
  string target_folder = 6;
472
472
 
473
- // The comma-separated include patterns.
474
- string include = 7;
475
-
476
- // The comma-separated exclude patterns.
477
- string exclude = 8;
478
-
479
473
  // The DID of the identity that should be used to authenticate with the remote Volt. If omitted, the authenticated identity will be used.
480
474
  // The identity must have a private key stored in the Volt key store.
481
475
  string identity_did = 9;
@@ -500,6 +494,7 @@ message SaveDriveInstanceRequest {
500
494
 
501
495
  // Optional challenge of the relay.
502
496
  string relay_challenge = 16;
497
+
503
498
  }
504
499
 
505
500
  message SaveDriveInstanceResponse {
@@ -921,6 +916,9 @@ message CreateEmailCredentialRequest {
921
916
 
922
917
  // The passphrase for the identity key, if required (i.e. the key is encrypted).
923
918
  string key_passphrase = 4;
919
+
920
+ // Optional description rendered in the verification email body.
921
+ string description = 5;
924
922
  }
925
923
 
926
924
  message CreateEmailCredentialResponse {
@@ -1211,6 +1209,9 @@ message CreateSynapseConnectionRequest {
1211
1209
 
1212
1210
  // Optional challenge of the relay.
1213
1211
  string relay_challenge = 14;
1212
+
1213
+ // Optional http address of the relay. If given, the relay_address and relay_ca will be ignored and the relay will be discovered at the given address.
1214
+ string relay_http_address = 15;
1214
1215
  }
1215
1216
 
1216
1217
  message CreateSynapseConnectionResponse {
@@ -1274,6 +1275,9 @@ message SaveSyncDatabaseRequest {
1274
1275
 
1275
1276
  // By default, yjs updates are periodically compressed and stored as snapshots. Set this flag to disable snapshots. This will reduce the size of the database and improve performance, but will also reduce the ability to rollback to a previous state.
1276
1277
  bool no_snapshots = 8;
1278
+
1279
+ // The number of updates to batch before flushing to the database. Defaults to 100.
1280
+ uint32 batch_size = 9;
1277
1281
  }
1278
1282
 
1279
1283
  message SaveSyncDatabaseResponse {
@@ -1685,6 +1689,15 @@ enum SecureMode {
1685
1689
  SECURE_MODE_TLS = 2;
1686
1690
  }
1687
1691
 
1692
+ // Per-method gRPC rate limit (unary: each RPC; client/bidi streams: first client message only).
1693
+ message GrpcRpcRateLimit {
1694
+ // Full gRPC method path, e.g. "/tdx.volt_api.volt.v1.VoltAPI/SendEmail"
1695
+ string method_full_name = 1;
1696
+
1697
+ // Maximum requests allowed per rolling 60-second window per identity. Zero disables this rule.
1698
+ uint32 max_requests_per_minute = 2;
1699
+ }
1700
+
1688
1701
  // Encapsulates the various Volt parameters that are configurable by the Volt owner.
1689
1702
  message VoltParameters {
1690
1703
  string id = 1;
@@ -1852,6 +1865,17 @@ message VoltParameters {
1852
1865
 
1853
1866
  // If set, exposes a resource that gives the Volt owner read-only access the file system.
1854
1867
  bool enable_owner_file_system_access = 54;
1868
+
1869
+ // Maximum number of pending gRPC events per event thread queue.
1870
+ // If unset or zero, the server default queue size is used.
1871
+ uint32 grpc_event_queue_size = 55;
1872
+
1873
+ // Number of gRPC event processing threads.
1874
+ // If unset or zero, the server default thread count is used.
1875
+ uint32 grpc_num_event_threads = 56;
1876
+
1877
+ // Optional per-method gRPC rate limits (see GrpcRpcRateLimit). Keyed by peer identity or fingerprint.
1878
+ repeated GrpcRpcRateLimit grpc_rpc_rate_limit = 57;
1855
1879
  }
1856
1880
 
1857
1881
  message VoltEndpoint {
@@ -2242,6 +2266,27 @@ message Session {
2242
2266
 
2243
2267
  SessionStatus status = 10;
2244
2268
  }
2269
+
2270
+ message Email {
2271
+ // The email address to send to.
2272
+ repeated string to = 1;
2273
+
2274
+ // The email address to send cc to.
2275
+ repeated string cc = 2;
2276
+
2277
+ // The email address to send bcc to.
2278
+ repeated string bcc = 3;
2279
+
2280
+ // The subject of the email.
2281
+ string subject = 4;
2282
+
2283
+ // The body of the email.
2284
+ string body = 5;
2285
+
2286
+ // The email address to send from.
2287
+ string from = 6;
2288
+ }
2289
+
2245
2290
  `;
2246
2291
  export const volt_api = `syntax = "proto3";
2247
2292
 
@@ -2390,6 +2435,10 @@ service VoltAPI {
2390
2435
  // Requires \`volt:session-write\` permission. Authenticated sessions have this privilege by default.
2391
2436
  rpc SaveSession(SaveSessionRequest) returns (SaveSessionResponse);
2392
2437
 
2438
+ // Send an email.
2439
+ // This is a privileged API call and requires volt:api-call / volt:send-email permission.
2440
+ rpc SendEmail(SendEmailRequest) returns (SendEmailResponse);
2441
+
2393
2442
  // Set Volt access request decision.
2394
2443
  // This is a privileged API call and requires volt:api-call / volt:set-access-request-decision permission.
2395
2444
  rpc SetAccessRequestDecision(SetAccessRequestDecisionRequest) returns (SetAccessRequestDecisionResponse);
@@ -3410,6 +3459,29 @@ message SaveSessionResponse {
3410
3459
  Session session = 2;
3411
3460
  }
3412
3461
 
3462
+ message SendEmailRequest {
3463
+ // The email to send.
3464
+ Email email = 1;
3465
+ }
3466
+
3467
+ message SendEmailResponse {
3468
+ // Details of any error that occurred on the call.
3469
+ tdx.volt_api.volt.v1.Status status = 1;
3470
+ }
3471
+
3472
+ message SetAccessRequestDecisionRequest {
3473
+ // The id of the access request.
3474
+ string id = 1;
3475
+
3476
+ // The decision to save against the access request.
3477
+ PolicyDecision decision = 2;
3478
+ }
3479
+
3480
+ message SetAccessRequestDecisionResponse {
3481
+ // Details of any error that occurred on the call.
3482
+ tdx.volt_api.volt.v1.Status status = 1;
3483
+ }
3484
+
3413
3485
  message SetPolicyRequest {
3414
3486
  // The id of the policy to set.
3415
3487
  // Should be either 00000000-0000-0000-0000-000000000000 or 00000000-0000-0000-0000-000000000001 for the first or last custom policy respectively.
@@ -3437,19 +3509,6 @@ message SetServiceStatusResponse {
3437
3509
  Resource resource = 2;
3438
3510
  }
3439
3511
 
3440
- message SetAccessRequestDecisionRequest {
3441
- // The id of the access request.
3442
- string id = 1;
3443
-
3444
- // The decision to save against the access request.
3445
- PolicyDecision decision = 2;
3446
- }
3447
-
3448
- message SetAccessRequestDecisionResponse {
3449
- // Details of any error that occurred on the call.
3450
- tdx.volt_api.volt.v1.Status status = 1;
3451
- }
3452
-
3453
3512
  // This message is emtpy.
3454
3513
  message ShutdownRequest {
3455
3514
  }