@leaflow/sdk 0.191.0 → 0.193.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.
@@ -1265,8 +1265,11 @@ export interface PeerConnection {
1265
1265
  /** The session's SDP answer (RFC 8866); it holds ICE credentials, so never log it */
1266
1266
  answer: string;
1267
1267
  /**
1268
- * The session's ICE candidates gathered until it reported the end of its candidates, or
1269
- * until 10 seconds after its answer
1268
+ * The session's ICE candidates that arrived until it reported the end of its candidates, or
1269
+ * 500 milliseconds after one candidate of each type its ICE servers yield had arrived
1270
+ * (server reflexive when the RTC configuration has STUN servers and the policy is not
1271
+ * `relay`, relayed when it has TURN servers), and at most until 10 seconds after its
1272
+ * answer. Candidates the session gathers later are not passed on.
1270
1273
  */
1271
1274
  candidates: IceCandidate[];
1272
1275
  /** The signed `PeerAuthorization` of the PeerConnection, the same one the session holds */
@@ -248,7 +248,7 @@ export const PeerConnection = zod
248
248
  .describe("The session's SDP answer (RFC 8866); it holds ICE credentials, so never log it"),
249
249
  candidates: zod
250
250
  .array(IceCandidate)
251
- .describe("The session's ICE candidates gathered until it reported the end of its candidates, or\nuntil 10 seconds after its answer"),
251
+ .describe("The session's ICE candidates that arrived until it reported the end of its candidates, or\n500 milliseconds after one candidate of each type its ICE servers yield had arrived\n(server reflexive when the RTC configuration has STUN servers and the policy is not\n`relay`, relayed when it has TURN servers), and at most until 10 seconds after its\nanswer. Candidates the session gathers later are not passed on."),
252
252
  authorization: SignedMessage.describe("The signed `PeerAuthorization` of the PeerConnection, the same one the session holds"),
253
253
  })
254
254
  .describe("One PeerConnection of a participant, as the session answered it. Set the answer as the\nremote description, add the candidates, and verify the authorization before sending\napplication data; the SHA-256 of its `message` goes into `Hello.authorization_sha256`.");
@@ -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
  *
@@ -670,7 +744,8 @@ export declare const FileTypeSchema: GenEnum<FileType>;
670
744
  /**
671
745
  * The files of the session's user, by absolute path. Paths are resolved as
672
746
  * that user; an empty path is the user's home directory. Nothing is removed
673
- * 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
674
749
  * FileTransferPolicy.file_system_allowed.
675
750
  *
676
751
  * @generated from service leaflow.fleet.filetransfer.v1.FileSystemService
@@ -718,6 +793,43 @@ export declare const FileSystemService: GenService<{
718
793
  input: typeof RemoveFileRequestSchema;
719
794
  output: typeof RemoveFileResponseSchema;
720
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
+ };
721
833
  /**
722
834
  * Offers files of the user to the participant, which fetches them as for any
723
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
@@ -41,6 +41,15 @@ export type ClientMessage = Message<"leaflow.fleet.terminal.v1.ClientMessage"> &
41
41
  */
42
42
  value: TerminalSize;
43
43
  case: "resize";
44
+ } | {
45
+ /**
46
+ * Answers of the participant's terminal to terminal queries, written to
47
+ * the terminal only when the participant is the answerer.
48
+ *
49
+ * @generated from field: leaflow.fleet.terminal.v1.TerminalAnswer answer = 4;
50
+ */
51
+ value: TerminalAnswer;
52
+ case: "answer";
44
53
  } | {
45
54
  case: undefined;
46
55
  value?: undefined;
@@ -127,6 +136,13 @@ export type TerminalAttach = Message<"leaflow.fleet.terminal.v1.TerminalAttach">
127
136
  * @generated from field: uint64 offset = 1;
128
137
  */
129
138
  offset: bigint;
139
+ /**
140
+ * The participant's terminal answers terminal queries in the output, and
141
+ * the participant sends those answers as TerminalAnswer.
142
+ *
143
+ * @generated from field: bool answers_queries = 2;
144
+ */
145
+ answersQueries: boolean;
130
146
  };
131
147
  /**
132
148
  * Describes the message leaflow.fleet.terminal.v1.TerminalAttach.
@@ -160,6 +176,14 @@ export type TerminalAttached = Message<"leaflow.fleet.terminal.v1.TerminalAttach
160
176
  * @generated from field: leaflow.fleet.terminal.v1.TerminalSize size = 3;
161
177
  */
162
178
  size?: TerminalSize | undefined;
179
+ /**
180
+ * The end of the output when the participant attached: the output from
181
+ * offset up to here is replayed, what follows is new. Equal to offset when
182
+ * nothing is replayed.
183
+ *
184
+ * @generated from field: uint64 replay_end = 4;
185
+ */
186
+ replayEnd: bigint;
163
187
  };
164
188
  /**
165
189
  * Describes the message leaflow.fleet.terminal.v1.TerminalAttached.
@@ -184,6 +208,24 @@ export type TerminalInput = Message<"leaflow.fleet.terminal.v1.TerminalInput"> &
184
208
  * Use `create(TerminalInputSchema)` to create a new message.
185
209
  */
186
210
  export declare const TerminalInputSchema: GenMessage<TerminalInput>;
211
+ /**
212
+ * Answers of the participant's terminal to terminal queries in the output.
213
+ *
214
+ * @generated from message leaflow.fleet.terminal.v1.TerminalAnswer
215
+ */
216
+ export type TerminalAnswer = Message<"leaflow.fleet.terminal.v1.TerminalAnswer"> & {
217
+ /**
218
+ * The bytes, at most 64 KiB.
219
+ *
220
+ * @generated from field: bytes data = 1;
221
+ */
222
+ data: Uint8Array;
223
+ };
224
+ /**
225
+ * Describes the message leaflow.fleet.terminal.v1.TerminalAnswer.
226
+ * Use `create(TerminalAnswerSchema)` to create a new message.
227
+ */
228
+ export declare const TerminalAnswerSchema: GenMessage<TerminalAnswer>;
187
229
  /**
188
230
  * Output of the terminal.
189
231
  *
@@ -6,7 +6,7 @@ import { file_google_rpc_status } from "../../../../google/rpc/status_pb.js";
6
6
  /**
7
7
  * Describes the file leaflow/fleet/terminal/v1/terminal.proto.
8
8
  */
9
- export const file_leaflow_fleet_terminal_v1_terminal = /*@__PURE__*/ fileDesc("CihsZWFmbG93L2ZsZWV0L3Rlcm1pbmFsL3YxL3Rlcm1pbmFsLnByb3RvEhlsZWFmbG93LmZsZWV0LnRlcm1pbmFsLnYxIs0BCg1DbGllbnRNZXNzYWdlEjsKBmF0dGFjaBgBIAEoCzIpLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxBdHRhY2hIABI5CgVpbnB1dBgCIAEoCzIoLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxJbnB1dEgAEjkKBnJlc2l6ZRgDIAEoCzInLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxTaXplSABCCQoHbWVzc2FnZSKxAgoNU2VydmVyTWVzc2FnZRI/CghhdHRhY2hlZBgBIAEoCzIrLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxBdHRhY2hlZEgAEjsKBm91dHB1dBgCIAEoCzIpLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxPdXRwdXRIABI5CgZyZXNpemUYAyABKAsyJy5sZWFmbG93LmZsZWV0LnRlcm1pbmFsLnYxLlRlcm1pbmFsU2l6ZUgAEjcKBGV4aXQYBCABKAsyJy5sZWFmbG93LmZsZWV0LnRlcm1pbmFsLnYxLlRlcm1pbmFsRXhpdEgAEiMKBWVycm9yGAUgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXNIAEIJCgdtZXNzYWdlIiAKDlRlcm1pbmFsQXR0YWNoEg4KBm9mZnNldBgBIAEoBCJoChBUZXJtaW5hbEF0dGFjaGVkEg4KBm9mZnNldBgBIAEoBBINCgVyZXNldBgCIAEoCBI1CgRzaXplGAMgASgLMicubGVhZmxvdy5mbGVldC50ZXJtaW5hbC52MS5UZXJtaW5hbFNpemUiHQoNVGVybWluYWxJbnB1dBIMCgRkYXRhGAEgASgMIh4KDlRlcm1pbmFsT3V0cHV0EgwKBGRhdGEYASABKAwiUgoMVGVybWluYWxTaXplEg8KB2NvbHVtbnMYASABKA0SDAoEcm93cxgCIAEoDRIQCgh3aWR0aF9weBgDIAEoDRIRCgloZWlnaHRfcHgYBCABKA0iWQoMVGVybWluYWxFeGl0EhMKCWV4aXRfY29kZRgBIAEoDUgAEhUKC3NpZ25hbF9uYW1lGAIgASgJSAASEwoLY29yZV9kdW1wZWQYAyABKAhCCAoGc3RhdHVzIhAKDlRlcm1pbmFsUG9saWN5QkBaPmdpdGh1Yi5jb20vbGVhZmxvd2FwaXMvbGVhZmxvdy1nby9mbGVldC90ZXJtaW5hbC92MTt0ZXJtaW5hbHYxYgZwcm90bzM", [file_google_rpc_status]);
9
+ export const file_leaflow_fleet_terminal_v1_terminal = /*@__PURE__*/ fileDesc("CihsZWFmbG93L2ZsZWV0L3Rlcm1pbmFsL3YxL3Rlcm1pbmFsLnByb3RvEhlsZWFmbG93LmZsZWV0LnRlcm1pbmFsLnYxIooCCg1DbGllbnRNZXNzYWdlEjsKBmF0dGFjaBgBIAEoCzIpLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxBdHRhY2hIABI5CgVpbnB1dBgCIAEoCzIoLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxJbnB1dEgAEjkKBnJlc2l6ZRgDIAEoCzInLmxlYWZsb3cuZmxlZXQudGVybWluYWwudjEuVGVybWluYWxTaXplSAASOwoGYW5zd2VyGAQgASgLMikubGVhZmxvdy5mbGVldC50ZXJtaW5hbC52MS5UZXJtaW5hbEFuc3dlckgAQgkKB21lc3NhZ2UisQIKDVNlcnZlck1lc3NhZ2USPwoIYXR0YWNoZWQYASABKAsyKy5sZWFmbG93LmZsZWV0LnRlcm1pbmFsLnYxLlRlcm1pbmFsQXR0YWNoZWRIABI7CgZvdXRwdXQYAiABKAsyKS5sZWFmbG93LmZsZWV0LnRlcm1pbmFsLnYxLlRlcm1pbmFsT3V0cHV0SAASOQoGcmVzaXplGAMgASgLMicubGVhZmxvdy5mbGVldC50ZXJtaW5hbC52MS5UZXJtaW5hbFNpemVIABI3CgRleGl0GAQgASgLMicubGVhZmxvdy5mbGVldC50ZXJtaW5hbC52MS5UZXJtaW5hbEV4aXRIABIjCgVlcnJvchgFIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzSABCCQoHbWVzc2FnZSI5Cg5UZXJtaW5hbEF0dGFjaBIOCgZvZmZzZXQYASABKAQSFwoPYW5zd2Vyc19xdWVyaWVzGAIgASgIInwKEFRlcm1pbmFsQXR0YWNoZWQSDgoGb2Zmc2V0GAEgASgEEg0KBXJlc2V0GAIgASgIEjUKBHNpemUYAyABKAsyJy5sZWFmbG93LmZsZWV0LnRlcm1pbmFsLnYxLlRlcm1pbmFsU2l6ZRISCgpyZXBsYXlfZW5kGAQgASgEIh0KDVRlcm1pbmFsSW5wdXQSDAoEZGF0YRgBIAEoDCIeCg5UZXJtaW5hbEFuc3dlchIMCgRkYXRhGAEgASgMIh4KDlRlcm1pbmFsT3V0cHV0EgwKBGRhdGEYASABKAwiUgoMVGVybWluYWxTaXplEg8KB2NvbHVtbnMYASABKA0SDAoEcm93cxgCIAEoDRIQCgh3aWR0aF9weBgDIAEoDRIRCgloZWlnaHRfcHgYBCABKA0iWQoMVGVybWluYWxFeGl0EhMKCWV4aXRfY29kZRgBIAEoDUgAEhUKC3NpZ25hbF9uYW1lGAIgASgJSAASEwoLY29yZV9kdW1wZWQYAyABKAhCCAoGc3RhdHVzIhAKDlRlcm1pbmFsUG9saWN5QkBaPmdpdGh1Yi5jb20vbGVhZmxvd2FwaXMvbGVhZmxvdy1nby9mbGVldC90ZXJtaW5hbC92MTt0ZXJtaW5hbHYxYgZwcm90bzM", [file_google_rpc_status]);
10
10
  /**
11
11
  * Describes the message leaflow.fleet.terminal.v1.ClientMessage.
12
12
  * Use `create(ClientMessageSchema)` to create a new message.
@@ -32,23 +32,28 @@ export const TerminalAttachedSchema = /*@__PURE__*/ messageDesc(file_leaflow_fle
32
32
  * Use `create(TerminalInputSchema)` to create a new message.
33
33
  */
34
34
  export const TerminalInputSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 4);
35
+ /**
36
+ * Describes the message leaflow.fleet.terminal.v1.TerminalAnswer.
37
+ * Use `create(TerminalAnswerSchema)` to create a new message.
38
+ */
39
+ export const TerminalAnswerSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 5);
35
40
  /**
36
41
  * Describes the message leaflow.fleet.terminal.v1.TerminalOutput.
37
42
  * Use `create(TerminalOutputSchema)` to create a new message.
38
43
  */
39
- export const TerminalOutputSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 5);
44
+ export const TerminalOutputSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 6);
40
45
  /**
41
46
  * Describes the message leaflow.fleet.terminal.v1.TerminalSize.
42
47
  * Use `create(TerminalSizeSchema)` to create a new message.
43
48
  */
44
- export const TerminalSizeSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 6);
49
+ export const TerminalSizeSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 7);
45
50
  /**
46
51
  * Describes the message leaflow.fleet.terminal.v1.TerminalExit.
47
52
  * Use `create(TerminalExitSchema)` to create a new message.
48
53
  */
49
- export const TerminalExitSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 7);
54
+ export const TerminalExitSchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 8);
50
55
  /**
51
56
  * Describes the message leaflow.fleet.terminal.v1.TerminalPolicy.
52
57
  * Use `create(TerminalPolicySchema)` to create a new message.
53
58
  */
54
- export const TerminalPolicySchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 8);
59
+ export const TerminalPolicySchema = /*@__PURE__*/ messageDesc(file_leaflow_fleet_terminal_v1_terminal, 9);
@@ -583,9 +583,12 @@ export declare const CloseSchema: GenMessage<Close>;
583
583
  * a PeerConnection through the Fleet API, and receives the session's answer,
584
584
  * candidates and the PeerAuthorization in the answer of its request. The
585
585
  * service passes on the session's candidates that arrive until the session
586
- * sends end_of_candidates, and at most 10 seconds after the answer; the
587
- * session therefore sends end_of_candidates as soon as it gathered, and the
588
- * participant's request waits no longer than that.
586
+ * sends end_of_candidates, or until 500 milliseconds after one candidate of
587
+ * each type the session's ICE servers yield has arrived (srflx when the
588
+ * configuration has STUN servers and the policy is not relay, relay when it
589
+ * has TURN servers), and at most 10 seconds after the answer; later candidates
590
+ * are dropped. The session therefore sends each candidate as soon as it has
591
+ * it and end_of_candidates as soon as it gathered.
589
592
  *
590
593
  * The offer is the first signal of a PeerConnection: the service sends it
591
594
  * before any other signal of that PeerConnection. The participant's later
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflow/sdk",
3
- "version": "0.191.0",
3
+ "version": "0.193.0",
4
4
  "description": "Leaflow 平台 API 的 TypeScript SDK",
5
5
  "license": "MIT",
6
6
  "repository": {