@leaflow/sdk 0.190.1 → 0.192.0

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.
@@ -337,7 +337,7 @@ export interface MachineFeature {
337
337
  /** The protocol package that defines the feature, such as `leaflow.fleet.command.v1` */
338
338
  name: string;
339
339
  state: FeatureState;
340
- /** Why it cannot be used, such as `Xvfb is not installed`; empty while available */
340
+ /** Why it cannot be used, such as `Xwayland is not installed`; empty while available */
341
341
  reason: string;
342
342
  /** What it can do on this machine, as the dotted names its package defines, such as `audio.pipewire` */
343
343
  details: string[];
@@ -244,7 +244,7 @@ export const MachineFeature = zod.strictObject({
244
244
  state: FeatureState,
245
245
  reason: zod
246
246
  .string()
247
- .describe("Why it cannot be used, such as `Xvfb is not installed`; empty while available"),
247
+ .describe("Why it cannot be used, such as `Xwayland is not installed`; empty while available"),
248
248
  details: zod
249
249
  .array(zod.string())
250
250
  .describe("What it can do on this machine, as the dotted names its package defines, such as `audio.pipewire`"),
@@ -242,12 +242,13 @@ export type CameraLimits = Message<"leaflow.fleet.device.v1.CameraLimits"> & {
242
242
  export declare const CameraLimitsSchema: GenMessage<CameraLimits>;
243
243
  /**
244
244
  * Limits of the gamepads one participant provides. 0: the session's limit.
245
+ * They bound what devices exist; how fast states come is never limited.
245
246
  *
246
247
  * @generated from message leaflow.fleet.device.v1.GamepadLimits
247
248
  */
248
249
  export type GamepadLimits = Message<"leaflow.fleet.device.v1.GamepadLimits"> & {
249
250
  /**
250
- * The most gamepads, at most 8.
251
+ * The most gamepads, at most 16.
251
252
  *
252
253
  * @generated from field: uint32 max_devices = 1;
253
254
  */
@@ -264,25 +265,6 @@ export type GamepadLimits = Message<"leaflow.fleet.device.v1.GamepadLimits"> & {
264
265
  * @generated from field: uint32 max_buttons = 3;
265
266
  */
266
267
  maxButtons: number;
267
- /**
268
- * The most changed states per second of one gamepad, at most 250.
269
- *
270
- * @generated from field: uint32 max_updates_per_second = 4;
271
- */
272
- maxUpdatesPerSecond: number;
273
- /**
274
- * The most bytes of states queued, in flight included, at most 64 KiB.
275
- *
276
- * @generated from field: uint32 max_queue_size_bytes = 5;
277
- */
278
- maxQueueSizeBytes: number;
279
- /**
280
- * The oldest a queued state may get, at most 200 milliseconds; older
281
- * states are dropped, never their button changes replayed late.
282
- *
283
- * @generated from field: google.protobuf.Duration max_queue_time = 6;
284
- */
285
- maxQueueTime?: Duration | undefined;
286
268
  };
287
269
  /**
288
270
  * Describes the message leaflow.fleet.device.v1.GamepadLimits.
@@ -6,7 +6,7 @@ import { file_google_protobuf_duration } from "@bufbuild/protobuf/wkt";
6
6
  /**
7
7
  * Describes the file leaflow/fleet/device/v1/device.proto.
8
8
  */
9
- export const file_leaflow_fleet_device_v1_device = /*@__PURE__*/ fileDesc("CiRsZWFmbG93L2ZsZWV0L2RldmljZS92MS9kZXZpY2UucHJvdG8SF2xlYWZsb3cuZmxlZXQuZGV2aWNlLnYxIpEBCg1TZXJ2ZXJNZXNzYWdlEjcKBmRlbWFuZBgBIAEoCzIlLmxlYWZsb3cuZmxlZXQuZGV2aWNlLnYxLkRldmljZURlbWFuZEgAEjwKDHNuYXBzaG90X2VuZBgCIAEoCzIkLmxlYWZsb3cuZmxlZXQuZGV2aWNlLnYxLlNuYXBzaG90RW5kSABCCQoHbWVzc2FnZSKJAgoMRGV2aWNlRGVtYW5kEjEKBHR5cGUYASABKA4yIy5sZWFmbG93LmZsZWV0LmRldmljZS52MS5EZXZpY2VUeXBlEjMKBXN0YXRlGAIgASgOMiQubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuRGVtYW5kU3RhdGUSFgoOY29uc3VtZXJfY291bnQYAyABKA0SHAoUY29uc3VtZXJfY291bnRfZXhhY3QYBCABKAgSOgoJY29uc3VtZXJzGAUgAygLMicubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuRGV2aWNlQ29uc3VtZXISHwoXcHJvdmlkZXJfcGFydGljaXBhbnRfaWQYBiABKAQiPwoORGV2aWNlQ29uc3VtZXISEwoLY29uc3VtZXJfaWQYASABKAkSGAoQYXBwbGljYXRpb25fbmFtZRgCIAEoCSINCgtTbmFwc2hvdEVuZCJHCgpDYXB0dXJlRW5kEjkKBnJlYXNvbhgBIAEoDjIpLmxlYWZsb3cuZmxlZXQuZGV2aWNlLnYxLkNhcHR1cmVFbmRSZWFzb24inAIKDERldmljZVBvbGljeRI6Cg1hbGxvd2VkX3R5cGVzGAEgAygOMiMubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuRGV2aWNlVHlwZRIZChFwcm92aWRlcl9wcmlvcml0eRgCIAEoDRI3ChRtYXhfY2FwdHVyZV9kdXJhdGlvbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI8Cg1jYW1lcmFfbGltaXRzGAQgASgLMiUubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuQ2FtZXJhTGltaXRzEj4KDmdhbWVwYWRfbGltaXRzGAUgASgLMiYubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuR2FtZXBhZExpbWl0cyK5AQoMQ2FtZXJhTGltaXRzEhEKCW1heF93aWR0aBgBIAEoDRISCgptYXhfaGVpZ2h0GAIgASgNEhYKDm1heF9mcmFtZV9yYXRlGAMgASgNEhwKFG1heF9mcmFtZV9zaXplX2J5dGVzGAQgASgNEhkKEW1heF9xdWV1ZWRfZnJhbWVzGAUgASgNEjEKDm1heF9xdWV1ZV90aW1lGAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIrwBCg1HYW1lcGFkTGltaXRzEhMKC21heF9kZXZpY2VzGAEgASgNEhAKCG1heF9heGVzGAIgASgNEhMKC21heF9idXR0b25zGAMgASgNEh4KFm1heF91cGRhdGVzX3Blcl9zZWNvbmQYBCABKA0SHAoUbWF4X3F1ZXVlX3NpemVfYnl0ZXMYBSABKA0SMQoObWF4X3F1ZXVlX3RpbWUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24qpwEKCkRldmljZVR5cGUSGwoXREVWSUNFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZERVZJQ0VfVFlQRV9NSUNST1BIT05FEAESFgoSREVWSUNFX1RZUEVfQ0FNRVJBEAISEwoPREVWSUNFX1RZUEVfVVNCEAMSGgoWREVWSUNFX1RZUEVfU01BUlRfQ0FSRBAEEhcKE0RFVklDRV9UWVBFX0dBTUVQQUQQBSp5CgtEZW1hbmRTdGF0ZRIcChhERU1BTkRfU1RBVEVfVU5TUEVDSUZJRUQQABIVChFERU1BTkRfU1RBVEVfSURMRRABEhcKE0RFTUFORF9TVEFURV9BQ1RJVkUQAhIcChhERU1BTkRfU1RBVEVfVU5BVkFJTEFCTEUQAyqwAgoQQ2FwdHVyZUVuZFJlYXNvbhIiCh5DQVBUVVJFX0VORF9SRUFTT05fVU5TUEVDSUZJRUQQABIjCh9DQVBUVVJFX0VORF9SRUFTT05fTk9fQ09OU1VNRVJTEAESKQolQ0FQVFVSRV9FTkRfUkVBU09OX1BFUk1JU1NJT05fUkVWT0tFRBACEikKJUNBUFRVUkVfRU5EX1JFQVNPTl9ERVZJQ0VfVU5BVkFJTEFCTEUQAxIoCiRDQVBUVVJFX0VORF9SRUFTT05fUFJPVklERVJfUkVQTEFDRUQQBBIoCiRDQVBUVVJFX0VORF9SRUFTT05fREVBRExJTkVfRVhDRUVERUQQBRIpCiVDQVBUVVJFX0VORF9SRUFTT05fVU5TVVBQT1JURURfRk9STUFUEAZCPFo6Z2l0aHViLmNvbS9sZWFmbG93YXBpcy9sZWFmbG93LWdvL2ZsZWV0L2RldmljZS92MTtkZXZpY2V2MWIGcHJvdG8z", [file_google_protobuf_duration]);
9
+ export const file_leaflow_fleet_device_v1_device = /*@__PURE__*/ fileDesc("CiRsZWFmbG93L2ZsZWV0L2RldmljZS92MS9kZXZpY2UucHJvdG8SF2xlYWZsb3cuZmxlZXQuZGV2aWNlLnYxIpEBCg1TZXJ2ZXJNZXNzYWdlEjcKBmRlbWFuZBgBIAEoCzIlLmxlYWZsb3cuZmxlZXQuZGV2aWNlLnYxLkRldmljZURlbWFuZEgAEjwKDHNuYXBzaG90X2VuZBgCIAEoCzIkLmxlYWZsb3cuZmxlZXQuZGV2aWNlLnYxLlNuYXBzaG90RW5kSABCCQoHbWVzc2FnZSKJAgoMRGV2aWNlRGVtYW5kEjEKBHR5cGUYASABKA4yIy5sZWFmbG93LmZsZWV0LmRldmljZS52MS5EZXZpY2VUeXBlEjMKBXN0YXRlGAIgASgOMiQubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuRGVtYW5kU3RhdGUSFgoOY29uc3VtZXJfY291bnQYAyABKA0SHAoUY29uc3VtZXJfY291bnRfZXhhY3QYBCABKAgSOgoJY29uc3VtZXJzGAUgAygLMicubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuRGV2aWNlQ29uc3VtZXISHwoXcHJvdmlkZXJfcGFydGljaXBhbnRfaWQYBiABKAQiPwoORGV2aWNlQ29uc3VtZXISEwoLY29uc3VtZXJfaWQYASABKAkSGAoQYXBwbGljYXRpb25fbmFtZRgCIAEoCSINCgtTbmFwc2hvdEVuZCJHCgpDYXB0dXJlRW5kEjkKBnJlYXNvbhgBIAEoDjIpLmxlYWZsb3cuZmxlZXQuZGV2aWNlLnYxLkNhcHR1cmVFbmRSZWFzb24inAIKDERldmljZVBvbGljeRI6Cg1hbGxvd2VkX3R5cGVzGAEgAygOMiMubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuRGV2aWNlVHlwZRIZChFwcm92aWRlcl9wcmlvcml0eRgCIAEoDRI3ChRtYXhfY2FwdHVyZV9kdXJhdGlvbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI8Cg1jYW1lcmFfbGltaXRzGAQgASgLMiUubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuQ2FtZXJhTGltaXRzEj4KDmdhbWVwYWRfbGltaXRzGAUgASgLMiYubGVhZmxvdy5mbGVldC5kZXZpY2UudjEuR2FtZXBhZExpbWl0cyK5AQoMQ2FtZXJhTGltaXRzEhEKCW1heF93aWR0aBgBIAEoDRISCgptYXhfaGVpZ2h0GAIgASgNEhYKDm1heF9mcmFtZV9yYXRlGAMgASgNEhwKFG1heF9mcmFtZV9zaXplX2J5dGVzGAQgASgNEhkKEW1heF9xdWV1ZWRfZnJhbWVzGAUgASgNEjEKDm1heF9xdWV1ZV90aW1lGAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIksKDUdhbWVwYWRMaW1pdHMSEwoLbWF4X2RldmljZXMYASABKA0SEAoIbWF4X2F4ZXMYAiABKA0SEwoLbWF4X2J1dHRvbnMYAyABKA0qpwEKCkRldmljZVR5cGUSGwoXREVWSUNFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZERVZJQ0VfVFlQRV9NSUNST1BIT05FEAESFgoSREVWSUNFX1RZUEVfQ0FNRVJBEAISEwoPREVWSUNFX1RZUEVfVVNCEAMSGgoWREVWSUNFX1RZUEVfU01BUlRfQ0FSRBAEEhcKE0RFVklDRV9UWVBFX0dBTUVQQUQQBSp5CgtEZW1hbmRTdGF0ZRIcChhERU1BTkRfU1RBVEVfVU5TUEVDSUZJRUQQABIVChFERU1BTkRfU1RBVEVfSURMRRABEhcKE0RFTUFORF9TVEFURV9BQ1RJVkUQAhIcChhERU1BTkRfU1RBVEVfVU5BVkFJTEFCTEUQAyqwAgoQQ2FwdHVyZUVuZFJlYXNvbhIiCh5DQVBUVVJFX0VORF9SRUFTT05fVU5TUEVDSUZJRUQQABIjCh9DQVBUVVJFX0VORF9SRUFTT05fTk9fQ09OU1VNRVJTEAESKQolQ0FQVFVSRV9FTkRfUkVBU09OX1BFUk1JU1NJT05fUkVWT0tFRBACEikKJUNBUFRVUkVfRU5EX1JFQVNPTl9ERVZJQ0VfVU5BVkFJTEFCTEUQAxIoCiRDQVBUVVJFX0VORF9SRUFTT05fUFJPVklERVJfUkVQTEFDRUQQBBIoCiRDQVBUVVJFX0VORF9SRUFTT05fREVBRExJTkVfRVhDRUVERUQQBRIpCiVDQVBUVVJFX0VORF9SRUFTT05fVU5TVVBQT1JURURfRk9STUFUEAZCPFo6Z2l0aHViLmNvbS9sZWFmbG93YXBpcy9sZWFmbG93LWdvL2ZsZWV0L2RldmljZS92MTtkZXZpY2V2MWIGcHJvdG8z", [file_google_protobuf_duration]);
10
10
  /**
11
11
  * Describes the message leaflow.fleet.device.v1.ServerMessage.
12
12
  * Use `create(ServerMessageSchema)` to create a new message.
@@ -461,6 +461,16 @@ export type DirectoryEntry = Message<"leaflow.fleet.filetransfer.v1.DirectoryEnt
461
461
  * @generated from field: uint32 mode = 5;
462
462
  */
463
463
  mode: number;
464
+ /**
465
+ * Its media type (Shared MIME-info Database), as GIO's
466
+ * standard::content-type gives it: that of the target for a symbolic link,
467
+ * "inode/symlink" for one whose target is missing, "inode/directory" and the
468
+ * other inode types by kind, "application/x-zerosize" for an empty file,
469
+ * otherwise by name and, where the name leaves it open, by content.
470
+ *
471
+ * @generated from field: string mime_type = 6;
472
+ */
473
+ mimeType: string;
464
474
  };
465
475
  /**
466
476
  * Describes the message leaflow.fleet.filetransfer.v1.DirectoryEntry.
@@ -560,6 +570,70 @@ export type RemoveFileResponse = Message<"leaflow.fleet.filetransfer.v1.RemoveFi
560
570
  * Use `create(RemoveFileResponseSchema)` to create a new message.
561
571
  */
562
572
  export declare const RemoveFileResponseSchema: GenMessage<RemoveFileResponse>;
573
+ /**
574
+ * The request of CopyFile.
575
+ *
576
+ * @generated from message leaflow.fleet.filetransfer.v1.CopyFileRequest
577
+ */
578
+ export type CopyFileRequest = Message<"leaflow.fleet.filetransfer.v1.CopyFileRequest"> & {
579
+ /**
580
+ * The file, symbolic link or directory.
581
+ *
582
+ * @generated from field: string source_path = 1;
583
+ */
584
+ sourcePath: string;
585
+ /**
586
+ * The path of the copy. Its parent must exist.
587
+ *
588
+ * @generated from field: string destination_path = 2;
589
+ */
590
+ destinationPath: string;
591
+ };
592
+ /**
593
+ * Describes the message leaflow.fleet.filetransfer.v1.CopyFileRequest.
594
+ * Use `create(CopyFileRequestSchema)` to create a new message.
595
+ */
596
+ export declare const CopyFileRequestSchema: GenMessage<CopyFileRequest>;
597
+ /**
598
+ * The response of CopyFile.
599
+ *
600
+ * @generated from message leaflow.fleet.filetransfer.v1.CopyFileResponse
601
+ */
602
+ export type CopyFileResponse = Message<"leaflow.fleet.filetransfer.v1.CopyFileResponse"> & {};
603
+ /**
604
+ * Describes the message leaflow.fleet.filetransfer.v1.CopyFileResponse.
605
+ * Use `create(CopyFileResponseSchema)` to create a new message.
606
+ */
607
+ export declare const CopyFileResponseSchema: GenMessage<CopyFileResponse>;
608
+ /**
609
+ * The request of TrashFile.
610
+ *
611
+ * @generated from message leaflow.fleet.filetransfer.v1.TrashFileRequest
612
+ */
613
+ export type TrashFileRequest = Message<"leaflow.fleet.filetransfer.v1.TrashFileRequest"> & {
614
+ /**
615
+ * The file or directory.
616
+ *
617
+ * @generated from field: string path = 1;
618
+ */
619
+ path: string;
620
+ };
621
+ /**
622
+ * Describes the message leaflow.fleet.filetransfer.v1.TrashFileRequest.
623
+ * Use `create(TrashFileRequestSchema)` to create a new message.
624
+ */
625
+ export declare const TrashFileRequestSchema: GenMessage<TrashFileRequest>;
626
+ /**
627
+ * The response of TrashFile.
628
+ *
629
+ * @generated from message leaflow.fleet.filetransfer.v1.TrashFileResponse
630
+ */
631
+ export type TrashFileResponse = Message<"leaflow.fleet.filetransfer.v1.TrashFileResponse"> & {};
632
+ /**
633
+ * Describes the message leaflow.fleet.filetransfer.v1.TrashFileResponse.
634
+ * Use `create(TrashFileResponseSchema)` to create a new message.
635
+ */
636
+ export declare const TrashFileResponseSchema: GenMessage<TrashFileResponse>;
563
637
  /**
564
638
  * The request of CreateFileOffer.
565
639
  *
@@ -622,7 +696,8 @@ export type FileTransferPolicy = Message<"leaflow.fleet.filetransfer.v1.FileTran
622
696
  */
623
697
  fileSystemAllowed: boolean;
624
698
  /**
625
- * The most entries, directories included, of one offer. 0: 1024.
699
+ * The most entries, directories included, of one offer. 0: as many as one
700
+ * offer holds.
626
701
  *
627
702
  * @generated from field: uint32 max_entries = 4;
628
703
  */
@@ -669,7 +744,8 @@ export declare const FileTypeSchema: GenEnum<FileType>;
669
744
  /**
670
745
  * The files of the session's user, by absolute path. Paths are resolved as
671
746
  * that user; an empty path is the user's home directory. Nothing is removed
672
- * recursively and nothing is overwritten implicitly. Needs
747
+ * recursively, a directory goes to the trash with its contents instead, and
748
+ * nothing is overwritten implicitly. Needs
673
749
  * FileTransferPolicy.file_system_allowed.
674
750
  *
675
751
  * @generated from service leaflow.fleet.filetransfer.v1.FileSystemService
@@ -717,6 +793,43 @@ export declare const FileSystemService: GenService<{
717
793
  input: typeof RemoveFileRequestSchema;
718
794
  output: typeof RemoveFileResponseSchema;
719
795
  };
796
+ /**
797
+ * Copies a file, a symbolic link (as the link) or a directory with its
798
+ * contents, keeping permission bits and modification times, as file
799
+ * managers copy (GIO g_file_copy with G_FILE_COPY_NOFOLLOW_SYMLINKS). It
800
+ * fails with ALREADY_EXISTS when something is at the destination. The copy
801
+ * appears whole or not at all: it is made under a hidden name in the
802
+ * destination's directory and renamed into place, and a copy that fails or
803
+ * is cancelled (leaflow.fleet.rpc.v1 CallCancel) leaves nothing behind.
804
+ * Copying a directory into itself fails with INVALID_ARGUMENT and reason
805
+ * FILE_COPY_INTO_ITSELF; a FIFO, socket or device, on its own or inside a
806
+ * directory, with FAILED_PRECONDITION and reason FILE_TYPE_UNSUPPORTED.
807
+ *
808
+ * @generated from rpc leaflow.fleet.filetransfer.v1.FileSystemService.CopyFile
809
+ */
810
+ copyFile: {
811
+ methodKind: "unary";
812
+ input: typeof CopyFileRequestSchema;
813
+ output: typeof CopyFileResponseSchema;
814
+ };
815
+ /**
816
+ * Moves a file or a directory with its contents to the user's trash
817
+ * (freedesktop Trash Specification 1.0), where the person can restore it
818
+ * from: the home trash ($XDG_DATA_HOME/Trash) for files on the file system
819
+ * of the home directory, otherwise the trash of the file's mount,
820
+ * $topdir/.Trash/$uid or $topdir/.Trash-$uid, as GIO g_file_trash chooses.
821
+ * Fails with FAILED_PRECONDITION and reason FILE_TRASH_UNAVAILABLE where the
822
+ * file system has no trash, such as a tmpfs or another mount of the system's
823
+ * own; with PERMISSION_DENIED for a directory holding files the user could
824
+ * not remove from the trash again.
825
+ *
826
+ * @generated from rpc leaflow.fleet.filetransfer.v1.FileSystemService.TrashFile
827
+ */
828
+ trashFile: {
829
+ methodKind: "unary";
830
+ input: typeof TrashFileRequestSchema;
831
+ output: typeof TrashFileResponseSchema;
832
+ };
720
833
  /**
721
834
  * Offers files of the user to the participant, which fetches them as for any
722
835
  * offer.
@@ -7,7 +7,7 @@ import { file_google_rpc_status } from "../../../../google/rpc/status_pb.js";
7
7
  /**
8
8
  * Describes the file leaflow/fleet/filetransfer/v1/filetransfer.proto.
9
9
  */
10
- export const file_leaflow_fleet_filetransfer_v1_filetransfer = /*@__PURE__*/ fileDesc("CjBsZWFmbG93L2ZsZWV0L2ZpbGV0cmFuc2Zlci92MS9maWxldHJhbnNmZXIucHJvdG8SHWxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxIv0CChNGaWxlVHJhbnNmZXJNZXNzYWdlEkEKBW9mZmVyGAEgASgLMjAubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVRyYW5zZmVyT2ZmZXJIABJFCgdyZXF1ZXN0GAIgASgLMjIubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVRyYW5zZmVyUmVxdWVzdEgAEkcKCHJlc3BvbnNlGAMgASgLMjMubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVRyYW5zZmVyUmVzcG9uc2VIABJDCgZjYW5jZWwYBCABKAsyMS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlVHJhbnNmZXJDYW5jZWxIABJDCgZyZXN1bHQYBSABKAsyMS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlVHJhbnNmZXJSZXN1bHRIAEIJCgdtZXNzYWdlIpwBChFGaWxlVHJhbnNmZXJPZmZlchITCgt0cmFuc2Zlcl9pZBgBIAEoCRI5CgdlbnRyaWVzGAIgAygLMigubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZUVudHJ5EhgKEHRvdGFsX3NpemVfYnl0ZXMYAyABKAQSHQoVZGVzdGluYXRpb25fZGlyZWN0b3J5GAQgASgJIpsBCglGaWxlRW50cnkSDwoHZmlsZV9pZBgBIAEoCRIRCglwYXJlbnRfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRI1CgR0eXBlGAQgASgOMicubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVR5cGUSEgoKc2l6ZV9ieXRlcxgFIAEoBBIRCgltaW1lX3R5cGUYBiABKAkiYwoTRmlsZVRyYW5zZmVyUmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgEEhMKC3RyYW5zZmVyX2lkGAIgASgJEhAKCGZpbGVfaWRzGAMgAygJEhEKCWNsaXBib2FyZBgEIAEoCCJ0ChRGaWxlVHJhbnNmZXJSZXNwb25zZRISCgpyZXF1ZXN0X2lkGAEgASgEEhMKC3RyYW5zZmVyX2lkGAIgASgJEhAKCGZpbGVfaWRzGAMgAygJEiEKBWVycm9yGAQgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMiKQoSRmlsZVRyYW5zZmVyQ2FuY2VsEhMKC3RyYW5zZmVyX2lkGAEgASgJIl4KEkZpbGVUcmFuc2ZlclJlc3VsdBITCgt0cmFuc2Zlcl9pZBgBIAEoCRIQCghmaWxlX2lkcxgCIAMoCRIhCgVlcnJvchgDIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzIjoKEkZpbGVDb250ZW50UmVxdWVzdBITCgt0cmFuc2Zlcl9pZBgBIAEoCRIPCgdmaWxlX2lkGAIgASgJImMKC0ZpbGVDb250ZW50Eg4KBGRhdGEYASABKAxIABI8CgNlbmQYAiABKAsyLS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlQ29udGVudEVuZEgAQgYKBHBhcnQiQwoORmlsZUNvbnRlbnRFbmQSDgoGc2hhMjU2GAEgASgMEiEKBWVycm9yGAIgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMiSwoUTGlzdERpcmVjdG9yeVJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglwYWdlX3NpemUYAiABKA0SEgoKcGFnZV90b2tlbhgDIAEoCSJ+ChVMaXN0RGlyZWN0b3J5UmVzcG9uc2USDAoEcGF0aBgBIAEoCRI+CgdlbnRyaWVzGAIgAygLMi0ubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRGlyZWN0b3J5RW50cnkSFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJIqgBCg5EaXJlY3RvcnlFbnRyeRIMCgRuYW1lGAEgASgJEjUKBHR5cGUYAiABKA4yJy5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlVHlwZRISCgpzaXplX2J5dGVzGAMgASgEEi8KC21vZGlmaWVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRtb2RlGAUgASgNIiYKFkNyZWF0ZURpcmVjdG9yeVJlcXVlc3QSDAoEcGF0aBgBIAEoCSIZChdDcmVhdGVEaXJlY3RvcnlSZXNwb25zZSJCChFSZW5hbWVGaWxlUmVxdWVzdBITCgtzb3VyY2VfcGF0aBgBIAEoCRIYChBkZXN0aW5hdGlvbl9wYXRoGAIgASgJIhQKElJlbmFtZUZpbGVSZXNwb25zZSIhChFSZW1vdmVGaWxlUmVxdWVzdBIMCgRwYXRoGAEgASgJIhQKElJlbW92ZUZpbGVSZXNwb25zZSInChZDcmVhdGVGaWxlT2ZmZXJSZXF1ZXN0Eg0KBXBhdGhzGAEgAygJIloKF0NyZWF0ZUZpbGVPZmZlclJlc3BvbnNlEj8KBW9mZmVyGAEgASgLMjAubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVRyYW5zZmVyT2ZmZXIieAoSRmlsZVRyYW5zZmVyUG9saWN5EhYKDnVwbG9hZF9hbGxvd2VkGAEgASgIEhgKEGRvd25sb2FkX2FsbG93ZWQYAiABKAgSGwoTZmlsZV9zeXN0ZW1fYWxsb3dlZBgDIAEoCBITCgttYXhfZW50cmllcxgEIAEoDSpyCghGaWxlVHlwZRIZChVGSUxFX1RZUEVfVU5TUEVDSUZJRUQQABIVChFGSUxFX1RZUEVfUkVHVUxBUhABEhcKE0ZJTEVfVFlQRV9ESVJFQ1RPUlkQAhIbChdGSUxFX1RZUEVfU1lNQk9MSUNfTElOSxADMoAFChFGaWxlU3lzdGVtU2VydmljZRJ/Cg1MaXN0RGlyZWN0b3J5EjMubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuTGlzdERpcmVjdG9yeVJlcXVlc3QaNC5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5MaXN0RGlyZWN0b3J5UmVzcG9uc2UiA5ACARKAAQoPQ3JlYXRlRGlyZWN0b3J5EjUubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuQ3JlYXRlRGlyZWN0b3J5UmVxdWVzdBo2LmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLkNyZWF0ZURpcmVjdG9yeVJlc3BvbnNlEnEKClJlbmFtZUZpbGUSMC5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5SZW5hbWVGaWxlUmVxdWVzdBoxLmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLlJlbmFtZUZpbGVSZXNwb25zZRJxCgpSZW1vdmVGaWxlEjAubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuUmVtb3ZlRmlsZVJlcXVlc3QaMS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5SZW1vdmVGaWxlUmVzcG9uc2USgAEKD0NyZWF0ZUZpbGVPZmZlchI1LmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLkNyZWF0ZUZpbGVPZmZlclJlcXVlc3QaNi5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5DcmVhdGVGaWxlT2ZmZXJSZXNwb25zZUJIWkZnaXRodWIuY29tL2xlYWZsb3dhcGlzL2xlYWZsb3ctZ28vZmxlZXQvZmlsZXRyYW5zZmVyL3YxO2ZpbGV0cmFuc2ZlcnYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_google_rpc_status]);
10
+ export const file_leaflow_fleet_filetransfer_v1_filetransfer = /*@__PURE__*/ fileDesc("CjBsZWFmbG93L2ZsZWV0L2ZpbGV0cmFuc2Zlci92MS9maWxldHJhbnNmZXIucHJvdG8SHWxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxIv0CChNGaWxlVHJhbnNmZXJNZXNzYWdlEkEKBW9mZmVyGAEgASgLMjAubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVRyYW5zZmVyT2ZmZXJIABJFCgdyZXF1ZXN0GAIgASgLMjIubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVRyYW5zZmVyUmVxdWVzdEgAEkcKCHJlc3BvbnNlGAMgASgLMjMubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVRyYW5zZmVyUmVzcG9uc2VIABJDCgZjYW5jZWwYBCABKAsyMS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlVHJhbnNmZXJDYW5jZWxIABJDCgZyZXN1bHQYBSABKAsyMS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlVHJhbnNmZXJSZXN1bHRIAEIJCgdtZXNzYWdlIpwBChFGaWxlVHJhbnNmZXJPZmZlchITCgt0cmFuc2Zlcl9pZBgBIAEoCRI5CgdlbnRyaWVzGAIgAygLMigubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZUVudHJ5EhgKEHRvdGFsX3NpemVfYnl0ZXMYAyABKAQSHQoVZGVzdGluYXRpb25fZGlyZWN0b3J5GAQgASgJIpsBCglGaWxlRW50cnkSDwoHZmlsZV9pZBgBIAEoCRIRCglwYXJlbnRfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRI1CgR0eXBlGAQgASgOMicubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRmlsZVR5cGUSEgoKc2l6ZV9ieXRlcxgFIAEoBBIRCgltaW1lX3R5cGUYBiABKAkiYwoTRmlsZVRyYW5zZmVyUmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgEEhMKC3RyYW5zZmVyX2lkGAIgASgJEhAKCGZpbGVfaWRzGAMgAygJEhEKCWNsaXBib2FyZBgEIAEoCCJ0ChRGaWxlVHJhbnNmZXJSZXNwb25zZRISCgpyZXF1ZXN0X2lkGAEgASgEEhMKC3RyYW5zZmVyX2lkGAIgASgJEhAKCGZpbGVfaWRzGAMgAygJEiEKBWVycm9yGAQgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMiKQoSRmlsZVRyYW5zZmVyQ2FuY2VsEhMKC3RyYW5zZmVyX2lkGAEgASgJIl4KEkZpbGVUcmFuc2ZlclJlc3VsdBITCgt0cmFuc2Zlcl9pZBgBIAEoCRIQCghmaWxlX2lkcxgCIAMoCRIhCgVlcnJvchgDIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzIjoKEkZpbGVDb250ZW50UmVxdWVzdBITCgt0cmFuc2Zlcl9pZBgBIAEoCRIPCgdmaWxlX2lkGAIgASgJImMKC0ZpbGVDb250ZW50Eg4KBGRhdGEYASABKAxIABI8CgNlbmQYAiABKAsyLS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlQ29udGVudEVuZEgAQgYKBHBhcnQiQwoORmlsZUNvbnRlbnRFbmQSDgoGc2hhMjU2GAEgASgMEiEKBWVycm9yGAIgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMiSwoUTGlzdERpcmVjdG9yeVJlcXVlc3QSDAoEcGF0aBgBIAEoCRIRCglwYWdlX3NpemUYAiABKA0SEgoKcGFnZV90b2tlbhgDIAEoCSJ+ChVMaXN0RGlyZWN0b3J5UmVzcG9uc2USDAoEcGF0aBgBIAEoCRI+CgdlbnRyaWVzGAIgAygLMi0ubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuRGlyZWN0b3J5RW50cnkSFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJIrsBCg5EaXJlY3RvcnlFbnRyeRIMCgRuYW1lGAEgASgJEjUKBHR5cGUYAiABKA4yJy5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5GaWxlVHlwZRISCgpzaXplX2J5dGVzGAMgASgEEi8KC21vZGlmaWVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRtb2RlGAUgASgNEhEKCW1pbWVfdHlwZRgGIAEoCSImChZDcmVhdGVEaXJlY3RvcnlSZXF1ZXN0EgwKBHBhdGgYASABKAkiGQoXQ3JlYXRlRGlyZWN0b3J5UmVzcG9uc2UiQgoRUmVuYW1lRmlsZVJlcXVlc3QSEwoLc291cmNlX3BhdGgYASABKAkSGAoQZGVzdGluYXRpb25fcGF0aBgCIAEoCSIUChJSZW5hbWVGaWxlUmVzcG9uc2UiIQoRUmVtb3ZlRmlsZVJlcXVlc3QSDAoEcGF0aBgBIAEoCSIUChJSZW1vdmVGaWxlUmVzcG9uc2UiQAoPQ29weUZpbGVSZXF1ZXN0EhMKC3NvdXJjZV9wYXRoGAEgASgJEhgKEGRlc3RpbmF0aW9uX3BhdGgYAiABKAkiEgoQQ29weUZpbGVSZXNwb25zZSIgChBUcmFzaEZpbGVSZXF1ZXN0EgwKBHBhdGgYASABKAkiEwoRVHJhc2hGaWxlUmVzcG9uc2UiJwoWQ3JlYXRlRmlsZU9mZmVyUmVxdWVzdBINCgVwYXRocxgBIAMoCSJaChdDcmVhdGVGaWxlT2ZmZXJSZXNwb25zZRI/CgVvZmZlchgBIAEoCzIwLmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLkZpbGVUcmFuc2Zlck9mZmVyIngKEkZpbGVUcmFuc2ZlclBvbGljeRIWCg51cGxvYWRfYWxsb3dlZBgBIAEoCBIYChBkb3dubG9hZF9hbGxvd2VkGAIgASgIEhsKE2ZpbGVfc3lzdGVtX2FsbG93ZWQYAyABKAgSEwoLbWF4X2VudHJpZXMYBCABKA0qcgoIRmlsZVR5cGUSGQoVRklMRV9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRRklMRV9UWVBFX1JFR1VMQVIQARIXChNGSUxFX1RZUEVfRElSRUNUT1JZEAISGwoXRklMRV9UWVBFX1NZTUJPTElDX0xJTksQAzLdBgoRRmlsZVN5c3RlbVNlcnZpY2USfwoNTGlzdERpcmVjdG9yeRIzLmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLkxpc3REaXJlY3RvcnlSZXF1ZXN0GjQubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuTGlzdERpcmVjdG9yeVJlc3BvbnNlIgOQAgESgAEKD0NyZWF0ZURpcmVjdG9yeRI1LmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLkNyZWF0ZURpcmVjdG9yeVJlcXVlc3QaNi5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5DcmVhdGVEaXJlY3RvcnlSZXNwb25zZRJxCgpSZW5hbWVGaWxlEjAubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuUmVuYW1lRmlsZVJlcXVlc3QaMS5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5SZW5hbWVGaWxlUmVzcG9uc2UScQoKUmVtb3ZlRmlsZRIwLmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLlJlbW92ZUZpbGVSZXF1ZXN0GjEubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuUmVtb3ZlRmlsZVJlc3BvbnNlEmsKCENvcHlGaWxlEi4ubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuQ29weUZpbGVSZXF1ZXN0Gi8ubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuQ29weUZpbGVSZXNwb25zZRJuCglUcmFzaEZpbGUSLy5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5UcmFzaEZpbGVSZXF1ZXN0GjAubGVhZmxvdy5mbGVldC5maWxldHJhbnNmZXIudjEuVHJhc2hGaWxlUmVzcG9uc2USgAEKD0NyZWF0ZUZpbGVPZmZlchI1LmxlYWZsb3cuZmxlZXQuZmlsZXRyYW5zZmVyLnYxLkNyZWF0ZUZpbGVPZmZlclJlcXVlc3QaNi5sZWFmbG93LmZsZWV0LmZpbGV0cmFuc2Zlci52MS5DcmVhdGVGaWxlT2ZmZXJSZXNwb25zZUJIWkZnaXRodWIuY29tL2xlYWZsb3dhcGlzL2xlYWZsb3ctZ28vZmxlZXQvZmlsZXRyYW5zZmVyL3YxO2ZpbGV0cmFuc2ZlcnYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_google_rpc_status]);
11
11
  /**
12
12
  * Describes the message leaflow.fleet.filetransfer.v1.FileTransferMessage.
13
13
  * Use `create(FileTransferMessageSchema)` to create a new message.
@@ -103,21 +103,41 @@ export const RemoveFileRequestSchema = /*@__PURE__*/ messageDesc(file_leaflow_fl
103
103
  * Use `create(RemoveFileResponseSchema)` to create a new message.
104
104
  */
105
105
  export const RemoveFileResponseSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 18);
106
+ /**
107
+ * Describes the message leaflow.fleet.filetransfer.v1.CopyFileRequest.
108
+ * Use `create(CopyFileRequestSchema)` to create a new message.
109
+ */
110
+ export const CopyFileRequestSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 19);
111
+ /**
112
+ * Describes the message leaflow.fleet.filetransfer.v1.CopyFileResponse.
113
+ * Use `create(CopyFileResponseSchema)` to create a new message.
114
+ */
115
+ export const CopyFileResponseSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 20);
116
+ /**
117
+ * Describes the message leaflow.fleet.filetransfer.v1.TrashFileRequest.
118
+ * Use `create(TrashFileRequestSchema)` to create a new message.
119
+ */
120
+ export const TrashFileRequestSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 21);
121
+ /**
122
+ * Describes the message leaflow.fleet.filetransfer.v1.TrashFileResponse.
123
+ * Use `create(TrashFileResponseSchema)` to create a new message.
124
+ */
125
+ export const TrashFileResponseSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 22);
106
126
  /**
107
127
  * Describes the message leaflow.fleet.filetransfer.v1.CreateFileOfferRequest.
108
128
  * Use `create(CreateFileOfferRequestSchema)` to create a new message.
109
129
  */
110
- export const CreateFileOfferRequestSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 19);
130
+ export const CreateFileOfferRequestSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 23);
111
131
  /**
112
132
  * Describes the message leaflow.fleet.filetransfer.v1.CreateFileOfferResponse.
113
133
  * Use `create(CreateFileOfferResponseSchema)` to create a new message.
114
134
  */
115
- export const CreateFileOfferResponseSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 20);
135
+ export const CreateFileOfferResponseSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 24);
116
136
  /**
117
137
  * Describes the message leaflow.fleet.filetransfer.v1.FileTransferPolicy.
118
138
  * Use `create(FileTransferPolicySchema)` to create a new message.
119
139
  */
120
- export const FileTransferPolicySchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 21);
140
+ export const FileTransferPolicySchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_filetransfer_v1_filetransfer, 25);
121
141
  /**
122
142
  * The type of a file.
123
143
  *
@@ -155,7 +175,8 @@ export const FileTypeSchema = /*@__PURE__*/ enumDesc(file_leaflow_fleet_filetran
155
175
  /**
156
176
  * The files of the session's user, by absolute path. Paths are resolved as
157
177
  * that user; an empty path is the user's home directory. Nothing is removed
158
- * recursively and nothing is overwritten implicitly. Needs
178
+ * recursively, a directory goes to the trash with its contents instead, and
179
+ * nothing is overwritten implicitly. Needs
159
180
  * FileTransferPolicy.file_system_allowed.
160
181
  *
161
182
  * @generated from service leaflow.fleet.filetransfer.v1.FileSystemService
@@ -224,14 +224,15 @@ export type GamepadButton = Message<"leaflow.fleet.gamepad.v1.GamepadButton"> &
224
224
  */
225
225
  export declare const GamepadButtonSchema: GenMessage<GamepadButton>;
226
226
  /**
227
- * A state was written to the device and reported (SYN_REPORT), not merely
227
+ * States were written to the device and reported (SYN_REPORT), not merely
228
228
  * received.
229
229
  *
230
230
  * @generated from message leaflow.fleet.gamepad.v1.GamepadApplied
231
231
  */
232
232
  export type GamepadApplied = Message<"leaflow.fleet.gamepad.v1.GamepadApplied"> & {
233
233
  /**
234
- * GamepadState.sequence.
234
+ * The newest state written (GamepadState.sequence). It covers every earlier
235
+ * state, those merged into it included.
235
236
  *
236
237
  * @generated from field: uint64 sequence = 1;
237
238
  */
@@ -335,7 +336,7 @@ export declare enum GamepadCloseReason {
335
336
  */
336
337
  PROTOCOL_ERROR = 4,
337
338
  /**
338
- * A limit of GamepadLimits was exceeded.
339
+ * The participant has as many gamepads as GamepadLimits allows.
339
340
  *
340
341
  * @generated from enum value: GAMEPAD_CLOSE_REASON_RESOURCE_EXHAUSTED = 5;
341
342
  */
@@ -112,7 +112,7 @@ export var GamepadCloseReason;
112
112
  */
113
113
  GamepadCloseReason[GamepadCloseReason["PROTOCOL_ERROR"] = 4] = "PROTOCOL_ERROR";
114
114
  /**
115
- * A limit of GamepadLimits was exceeded.
115
+ * The participant has as many gamepads as GamepadLimits allows.
116
116
  *
117
117
  * @generated from enum value: GAMEPAD_CLOSE_REASON_RESOURCE_EXHAUSTED = 5;
118
118
  */
@@ -516,9 +516,9 @@ export declare const SessionHostService: GenService<{
516
516
  * and returns once it is ready: its session process started, with what
517
517
  * its options add, such as the X server of a desktop. On a machine, an
518
518
  * account has at most one session with a desktop, since a desktop's
519
- * per-user services exist once per account, and at most 8 sessions in all:
520
- * sessions without a desktop run side by side, such as one for a program
521
- * and one for a person. Calling again with the session_id of an open
519
+ * per-user services exist once per account; sessions without a desktop
520
+ * run side by side, as many as are opened, such as one for a program and
521
+ * one for a person. Calling again with the session_id of an open
522
522
  * session of the same user returns that session.
523
523
  *
524
524
  * Fails with:
@@ -540,8 +540,6 @@ export declare const SessionHostService: GenService<{
540
540
  * - ALREADY_EXISTS and reason USER_HAS_DESKTOP_SESSION for a session
541
541
  * with a desktop when the user has one with another id, with metadata
542
542
  * "sessionId";
543
- * - FAILED_PRECONDITION and reason SESSION_LIMIT_REACHED when the user
544
- * has 8 open sessions on the machine;
545
543
  * - ALREADY_EXISTS and reason SESSION_ID_CONFLICT when another user's
546
544
  * session has the id;
547
545
  * - INTERNAL and reason SESSION_START_FAILED when the session process or
@@ -125,7 +125,7 @@ export type Feature = Message<"leaflow.fleet.machine.v1.Feature"> & {
125
125
  state: FeatureState;
126
126
  /**
127
127
  * UNAVAILABLE only: why, plain text for people, at most 1024 bytes, such
128
- * as "Xvfb is not installed".
128
+ * as "Xwayland is not installed".
129
129
  *
130
130
  * @generated from field: string reason = 3;
131
131
  */
@@ -440,13 +440,13 @@ export type PortForwardPolicy = Message<"leaflow.fleet.portforward.v1.PortForwar
440
440
  */
441
441
  localTargets?: EndpointPolicy | undefined;
442
442
  /**
443
- * The most forwards at once, at most 32. 0: 8.
443
+ * The most forwards at once. 0: no limit.
444
444
  *
445
445
  * @generated from field: uint32 max_forwards = 7;
446
446
  */
447
447
  maxForwards: number;
448
448
  /**
449
- * The most connections and associations at once, at most 256. 0: 32.
449
+ * The most connections and associations at once. 0: no limit.
450
450
  *
451
451
  * @generated from field: uint32 max_connections = 8;
452
452
  */
@@ -554,19 +554,19 @@ export declare const PrintDocumentEndSchema: GenMessage<PrintDocumentEnd>;
554
554
  */
555
555
  export type PrintingPolicy = Message<"leaflow.fleet.printing.v1.PrintingPolicy"> & {
556
556
  /**
557
- * The largest document, at most 128 MiB. 0: no documents.
557
+ * The largest document. 0: no documents.
558
558
  *
559
559
  * @generated from field: uint64 max_document_size_bytes = 1;
560
560
  */
561
561
  maxDocumentSizeBytes: bigint;
562
562
  /**
563
- * The most jobs received or submitted at a time, at most 4. 0: no jobs.
563
+ * The most jobs received or submitted at a time. 0: no jobs.
564
564
  *
565
565
  * @generated from field: uint32 max_jobs = 2;
566
566
  */
567
567
  maxJobs: number;
568
568
  /**
569
- * The most printers shared, at most 16. 0: none.
569
+ * The most printers shared. 0: none.
570
570
  *
571
571
  * @generated from field: uint32 max_printers = 3;
572
572
  */
@@ -104,7 +104,8 @@ export type SshAgentPolicy = Message<"leaflow.fleet.sshagent.v1.SshAgentPolicy">
104
104
  */
105
105
  providerPriority: number;
106
106
  /**
107
- * The most connections at once, at most 32. 0: the session's limit.
107
+ * The most connections at once. 0: as many as the provider takes
108
+ * (ProviderHello.max_connections).
108
109
  *
109
110
  * @generated from field: uint32 max_connections = 2;
110
111
  */
@@ -24,12 +24,6 @@ export type DesktopOptions = Message<"leaflow.fleet.virtualdesktop.host.v1.Deskt
24
24
  * @generated from field: leaflow.fleet.virtualdesktop.display.v1.Size size = 2;
25
25
  */
26
26
  size?: Size | undefined;
27
- /**
28
- * The largest size the canvas may grow to. Unset: the Agent's default.
29
- *
30
- * @generated from field: leaflow.fleet.virtualdesktop.display.v1.Size max_size = 3;
31
- */
32
- maxSize?: Size | undefined;
33
27
  /**
34
28
  * SESSION_MODE_DESKTOP only: the desktop environment to start, one the
35
29
  * feature's details name after "desktop.". Empty: the Agent's default.
@@ -6,7 +6,7 @@ import { file_leaflow_fleet_virtualdesktop_display_v1_display } from "../../disp
6
6
  /**
7
7
  * Describes the file leaflow/fleet/virtualdesktop/host/v1/host.proto.
8
8
  */
9
- export const file_leaflow_fleet_virtualdesktop_host_v1_host = /*@__PURE__*/ fileDesc("Ci9sZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2hvc3QvdjEvaG9zdC5wcm90bxIkbGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5ob3N0LnYxIusBCg5EZXNrdG9wT3B0aW9ucxJCCgRtb2RlGAEgASgOMjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlNlc3Npb25Nb2RlEjsKBHNpemUYAiABKAsyLS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuU2l6ZRI/CghtYXhfc2l6ZRgDIAEoCzItLmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TaXplEhcKD3Nlc3Npb25fZGVza3RvcBgEIAEoCSJjCgxEZXNrdG9wU3RhdGUSDwoHZGlzcGxheRgBIAEoCRJCCgRtb2RlGAIgASgOMjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlNlc3Npb25Nb2RlQkdaRWdpdGh1Yi5jb20vbGVhZmxvd2FwaXMvbGVhZmxvdy1nby9mbGVldC92aXJ0dWFsZGVza3RvcC9ob3N0L3YxO2hvc3R2MWIGcHJvdG8z", [file_leaflow_fleet_virtualdesktop_display_v1_display]);
9
+ export const file_leaflow_fleet_virtualdesktop_host_v1_host = /*@__PURE__*/ fileDesc("Ci9sZWFmbG93L2ZsZWV0L3ZpcnR1YWxkZXNrdG9wL2hvc3QvdjEvaG9zdC5wcm90bxIkbGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5ob3N0LnYxIqoBCg5EZXNrdG9wT3B0aW9ucxJCCgRtb2RlGAEgASgOMjQubGVhZmxvdy5mbGVldC52aXJ0dWFsZGVza3RvcC5kaXNwbGF5LnYxLlNlc3Npb25Nb2RlEjsKBHNpemUYAiABKAsyLS5sZWFmbG93LmZsZWV0LnZpcnR1YWxkZXNrdG9wLmRpc3BsYXkudjEuU2l6ZRIXCg9zZXNzaW9uX2Rlc2t0b3AYBCABKAkiYwoMRGVza3RvcFN0YXRlEg8KB2Rpc3BsYXkYASABKAkSQgoEbW9kZRgCIAEoDjI0LmxlYWZsb3cuZmxlZXQudmlydHVhbGRlc2t0b3AuZGlzcGxheS52MS5TZXNzaW9uTW9kZUJHWkVnaXRodWIuY29tL2xlYWZsb3dhcGlzL2xlYWZsb3ctZ28vZmxlZXQvdmlydHVhbGRlc2t0b3AvaG9zdC92MTtob3N0djFiBnByb3RvMw", [file_leaflow_fleet_virtualdesktop_display_v1_display]);
10
10
  /**
11
11
  * Describes the message leaflow.fleet.virtualdesktop.host.v1.DesktopOptions.
12
12
  * Use `create(DesktopOptionsSchema)` to create a new message.
@@ -619,10 +619,10 @@ export type CompositionKey = Message<"leaflow.fleet.virtualdesktop.input.v1.Comp
619
619
  export declare const CompositionKeySchema: GenMessage<CompositionKey>;
620
620
  /**
621
621
  * The session dropped a KeyEvent, PointerButton or PointerWheel. Its
622
- * google.rpc.ErrorInfo reason is one of:
623
- * CLIPBOARD_INPUT_DEPENDENCY_FAILED the clipboard content it named was not
624
- * in place in time;
625
- * INPUT_QUEUE_FULL too much input waited to be applied.
622
+ * google.rpc.ErrorInfo reason is CLIPBOARD_INPUT_DEPENDENCY_FAILED: the
623
+ * clipboard content it named was not in place in time. Input is never dropped
624
+ * for its amount: while the session is behind, it reads no more input of the
625
+ * channel, and the channel's credit holds the participant back.
626
626
  *
627
627
  * @generated from message leaflow.fleet.virtualdesktop.input.v1.InputError
628
628
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflow/sdk",
3
- "version": "0.190.1",
3
+ "version": "0.192.0",
4
4
  "description": "Leaflow 平台 API 的 TypeScript SDK",
5
5
  "license": "MIT",
6
6
  "repository": {