grpc-tools 1.65.2 → 1.82.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.
- checksums.yaml +4 -4
- data/bin/x86-linux/google/protobuf/any.proto +52 -108
- data/bin/x86-linux/google/protobuf/api.proto +24 -2
- data/bin/x86-linux/google/protobuf/compiler/plugin.proto +2 -2
- data/bin/x86-linux/google/protobuf/descriptor.proto +306 -53
- data/bin/x86-linux/google/protobuf/field_mask.proto +16 -18
- data/bin/x86-linux/google/protobuf/struct.proto +38 -22
- data/bin/x86-linux/google/protobuf/timestamp.proto +9 -8
- data/bin/x86-linux/google/protobuf/type.proto +24 -0
- data/bin/x86-linux/google/protobuf/wrappers.proto +38 -4
- data/bin/x86-linux/grpc_ruby_plugin +0 -0
- data/bin/x86-linux/protoc +0 -0
- data/bin/x86-windows/google/protobuf/any.proto +52 -108
- data/bin/x86-windows/google/protobuf/api.proto +24 -2
- data/bin/x86-windows/google/protobuf/compiler/plugin.proto +2 -2
- data/bin/x86-windows/google/protobuf/descriptor.proto +306 -53
- data/bin/x86-windows/google/protobuf/field_mask.proto +16 -18
- data/bin/x86-windows/google/protobuf/struct.proto +38 -22
- data/bin/x86-windows/google/protobuf/timestamp.proto +9 -8
- data/bin/x86-windows/google/protobuf/type.proto +24 -0
- data/bin/x86-windows/google/protobuf/wrappers.proto +38 -4
- data/bin/x86-windows/grpc_ruby_plugin.exe +0 -0
- data/bin/x86-windows/protoc.exe +0 -0
- data/bin/x86_64-linux/google/protobuf/any.proto +52 -108
- data/bin/x86_64-linux/google/protobuf/api.proto +24 -2
- data/bin/x86_64-linux/google/protobuf/compiler/plugin.proto +2 -2
- data/bin/x86_64-linux/google/protobuf/descriptor.proto +306 -53
- data/bin/x86_64-linux/google/protobuf/field_mask.proto +16 -18
- data/bin/x86_64-linux/google/protobuf/struct.proto +38 -22
- data/bin/x86_64-linux/google/protobuf/timestamp.proto +9 -8
- data/bin/x86_64-linux/google/protobuf/type.proto +24 -0
- data/bin/x86_64-linux/google/protobuf/wrappers.proto +38 -4
- data/bin/x86_64-linux/grpc_ruby_plugin +0 -0
- data/bin/x86_64-linux/protoc +0 -0
- data/bin/x86_64-macos/google/protobuf/any.proto +52 -108
- data/bin/x86_64-macos/google/protobuf/api.proto +24 -2
- data/bin/x86_64-macos/google/protobuf/compiler/plugin.proto +2 -2
- data/bin/x86_64-macos/google/protobuf/descriptor.proto +306 -53
- data/bin/x86_64-macos/google/protobuf/field_mask.proto +16 -18
- data/bin/x86_64-macos/google/protobuf/struct.proto +38 -22
- data/bin/x86_64-macos/google/protobuf/timestamp.proto +9 -8
- data/bin/x86_64-macos/google/protobuf/type.proto +24 -0
- data/bin/x86_64-macos/google/protobuf/wrappers.proto +38 -4
- data/bin/x86_64-macos/grpc_ruby_plugin +0 -0
- data/bin/x86_64-macos/protoc +0 -0
- data/bin/x86_64-windows/google/protobuf/any.proto +52 -108
- data/bin/x86_64-windows/google/protobuf/api.proto +24 -2
- data/bin/x86_64-windows/google/protobuf/compiler/plugin.proto +2 -2
- data/bin/x86_64-windows/google/protobuf/descriptor.proto +306 -53
- data/bin/x86_64-windows/google/protobuf/field_mask.proto +16 -18
- data/bin/x86_64-windows/google/protobuf/struct.proto +38 -22
- data/bin/x86_64-windows/google/protobuf/timestamp.proto +9 -8
- data/bin/x86_64-windows/google/protobuf/type.proto +24 -0
- data/bin/x86_64-windows/google/protobuf/wrappers.proto +38 -4
- data/bin/x86_64-windows/grpc_ruby_plugin.exe +0 -0
- data/bin/x86_64-windows/protoc.exe +0 -0
- data/version.rb +1 -1
- metadata +4 -4
|
@@ -1,32 +1,9 @@
|
|
|
1
1
|
// Protocol Buffers - Google's data interchange format
|
|
2
|
-
// Copyright 2008 Google
|
|
3
|
-
// https://developers.google.com/protocol-buffers/
|
|
2
|
+
// Copyright 2008 Google LLC. All rights reserved.
|
|
4
3
|
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// * Redistributions of source code must retain the above copyright
|
|
10
|
-
// notice, this list of conditions and the following disclaimer.
|
|
11
|
-
// * Redistributions in binary form must reproduce the above
|
|
12
|
-
// copyright notice, this list of conditions and the following disclaimer
|
|
13
|
-
// in the documentation and/or other materials provided with the
|
|
14
|
-
// distribution.
|
|
15
|
-
// * Neither the name of Google Inc. nor the names of its
|
|
16
|
-
// contributors may be used to endorse or promote products derived from
|
|
17
|
-
// this software without specific prior written permission.
|
|
18
|
-
//
|
|
19
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
20
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
21
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
22
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
23
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
25
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
26
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
27
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
28
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
4
|
+
// Use of this source code is governed by a BSD-style
|
|
5
|
+
// license that can be found in the LICENSE file or at
|
|
6
|
+
// https://developers.google.com/open-source/licenses/bsd
|
|
30
7
|
|
|
31
8
|
// Author: kenton@google.com (Kenton Varda)
|
|
32
9
|
// Based on original Protocol Buffers design by
|
|
@@ -55,6 +32,13 @@ option optimize_for = SPEED;
|
|
|
55
32
|
// files it parses.
|
|
56
33
|
message FileDescriptorSet {
|
|
57
34
|
repeated FileDescriptorProto file = 1;
|
|
35
|
+
|
|
36
|
+
// Extensions for tooling.
|
|
37
|
+
extensions 536000000 [declaration = {
|
|
38
|
+
number: 536000000
|
|
39
|
+
type: ".buf.descriptor.v1.FileDescriptorSetExtension"
|
|
40
|
+
full_name: ".buf.descriptor.v1.buf_file_descriptor_set_extension"
|
|
41
|
+
}];
|
|
58
42
|
}
|
|
59
43
|
|
|
60
44
|
// The full set of known editions.
|
|
@@ -62,6 +46,10 @@ enum Edition {
|
|
|
62
46
|
// A placeholder for an unknown edition value.
|
|
63
47
|
EDITION_UNKNOWN = 0;
|
|
64
48
|
|
|
49
|
+
// A placeholder edition for specifying default behaviors *before* a feature
|
|
50
|
+
// was first introduced. This is effectively an "infinite past".
|
|
51
|
+
EDITION_LEGACY = 900;
|
|
52
|
+
|
|
65
53
|
// Legacy syntax "editions". These pre-date editions, but behave much like
|
|
66
54
|
// distinct editions. These can't be used to specify the edition of proto
|
|
67
55
|
// files, but feature definitions must supply proto2/proto3 defaults for
|
|
@@ -74,9 +62,13 @@ enum Edition {
|
|
|
74
62
|
// comparison.
|
|
75
63
|
EDITION_2023 = 1000;
|
|
76
64
|
EDITION_2024 = 1001;
|
|
65
|
+
EDITION_2026 = 1002;
|
|
66
|
+
|
|
67
|
+
// A placeholder edition for developing and testing unscheduled features.
|
|
68
|
+
EDITION_UNSTABLE = 9999;
|
|
77
69
|
|
|
78
70
|
// Placeholder editions for testing feature resolution. These should not be
|
|
79
|
-
// used or
|
|
71
|
+
// used or relied on outside of tests.
|
|
80
72
|
EDITION_1_TEST_ONLY = 1;
|
|
81
73
|
EDITION_2_TEST_ONLY = 2;
|
|
82
74
|
EDITION_99997_TEST_ONLY = 99997;
|
|
@@ -102,6 +94,10 @@ message FileDescriptorProto {
|
|
|
102
94
|
// For Google-internal migration only. Do not use.
|
|
103
95
|
repeated int32 weak_dependency = 11;
|
|
104
96
|
|
|
97
|
+
// Names of files imported by this file purely for the purpose of providing
|
|
98
|
+
// option extensions. These are excluded from the dependency list above.
|
|
99
|
+
repeated string option_dependency = 15;
|
|
100
|
+
|
|
105
101
|
// All top-level definitions in this file.
|
|
106
102
|
repeated DescriptorProto message_type = 4;
|
|
107
103
|
repeated EnumDescriptorProto enum_type = 5;
|
|
@@ -120,9 +116,15 @@ message FileDescriptorProto {
|
|
|
120
116
|
// The supported values are "proto2", "proto3", and "editions".
|
|
121
117
|
//
|
|
122
118
|
// If `edition` is present, this value must be "editions".
|
|
119
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
120
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
121
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
123
122
|
optional string syntax = 12;
|
|
124
123
|
|
|
125
124
|
// The edition of the proto file.
|
|
125
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
126
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
127
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
126
128
|
optional Edition edition = 14;
|
|
127
129
|
}
|
|
128
130
|
|
|
@@ -159,9 +161,15 @@ message DescriptorProto {
|
|
|
159
161
|
// Reserved field names, which may not be used by fields in the same message.
|
|
160
162
|
// A given name may only be reserved once.
|
|
161
163
|
repeated string reserved_name = 10;
|
|
164
|
+
|
|
165
|
+
// Support for `export` and `local` keywords on enums.
|
|
166
|
+
optional SymbolVisibility visibility = 11;
|
|
162
167
|
}
|
|
163
168
|
|
|
164
169
|
message ExtensionRangeOptions {
|
|
170
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
171
|
+
// team. User custom options must use the 1000+ range instead.
|
|
172
|
+
extensions 990 to 998;
|
|
165
173
|
// The parser stores options it doesn't recognize here. See above.
|
|
166
174
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
167
175
|
|
|
@@ -355,6 +363,9 @@ message EnumDescriptorProto {
|
|
|
355
363
|
// Reserved enum value names, which may not be reused. A given name may only
|
|
356
364
|
// be reserved once.
|
|
357
365
|
repeated string reserved_name = 5;
|
|
366
|
+
|
|
367
|
+
// Support for `export` and `local` keywords on enums.
|
|
368
|
+
optional SymbolVisibility visibility = 6;
|
|
358
369
|
}
|
|
359
370
|
|
|
360
371
|
// Describes a value within an enum.
|
|
@@ -371,6 +382,9 @@ message ServiceDescriptorProto {
|
|
|
371
382
|
repeated MethodDescriptorProto method = 2;
|
|
372
383
|
|
|
373
384
|
optional ServiceOptions options = 3;
|
|
385
|
+
|
|
386
|
+
reserved 4;
|
|
387
|
+
reserved "stream";
|
|
374
388
|
}
|
|
375
389
|
|
|
376
390
|
// Describes a method of a service.
|
|
@@ -443,17 +457,31 @@ message FileOptions {
|
|
|
443
457
|
// named by java_outer_classname. However, the wrapper class will still be
|
|
444
458
|
// generated to contain the file's getDescriptor() method as well as any
|
|
445
459
|
// top-level extensions defined in the file.
|
|
446
|
-
optional bool java_multiple_files = 10 [
|
|
460
|
+
optional bool java_multiple_files = 10 [
|
|
461
|
+
default = false,
|
|
462
|
+
feature_support = {
|
|
463
|
+
edition_introduced: EDITION_PROTO2
|
|
464
|
+
edition_removed: EDITION_2024
|
|
465
|
+
removal_error: "This behavior is enabled by default in editions 2024 and above. "
|
|
466
|
+
"To disable it, you can set `features.(pb.java).nest_in_file_class = YES` "
|
|
467
|
+
"on individual messages, enums, or services."
|
|
468
|
+
|
|
469
|
+
}
|
|
470
|
+
];
|
|
447
471
|
|
|
448
472
|
// This option does nothing.
|
|
449
473
|
optional bool java_generate_equals_and_hash = 20 [deprecated=true];
|
|
450
474
|
|
|
451
|
-
//
|
|
452
|
-
//
|
|
453
|
-
//
|
|
454
|
-
//
|
|
455
|
-
//
|
|
456
|
-
//
|
|
475
|
+
// A proto2 file can set this to true to opt in to UTF-8 checking for Java,
|
|
476
|
+
// which will throw an exception if invalid UTF-8 is parsed from the wire or
|
|
477
|
+
// assigned to a string field.
|
|
478
|
+
//
|
|
479
|
+
// TODO: clarify exactly what kinds of field types this option
|
|
480
|
+
// applies to, and update these docs accordingly.
|
|
481
|
+
//
|
|
482
|
+
// Proto3 files already perform these checks. Setting the option explicitly to
|
|
483
|
+
// false has no effect: it cannot be used to opt proto3 files out of UTF-8
|
|
484
|
+
// checks.
|
|
457
485
|
optional bool java_string_check_utf8 = 27 [default = false];
|
|
458
486
|
|
|
459
487
|
// Generated classes can be optimized for speed or code size.
|
|
@@ -486,6 +514,7 @@ message FileOptions {
|
|
|
486
514
|
optional bool java_generic_services = 17 [default = false];
|
|
487
515
|
optional bool py_generic_services = 18 [default = false];
|
|
488
516
|
reserved 42; // removed php_generic_services
|
|
517
|
+
reserved "php_generic_services";
|
|
489
518
|
|
|
490
519
|
// Is this file deprecated?
|
|
491
520
|
// Depending on the target platform, this can emit Deprecated annotations
|
|
@@ -530,8 +559,19 @@ message FileOptions {
|
|
|
530
559
|
optional string ruby_package = 45;
|
|
531
560
|
|
|
532
561
|
// Any features defined in the specific edition.
|
|
562
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
563
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
564
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
533
565
|
optional FeatureSet features = 50;
|
|
534
566
|
|
|
567
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
568
|
+
// team. User custom options must use the 1000+ range instead.
|
|
569
|
+
extensions 990 to 998 [declaration = {
|
|
570
|
+
number: 990,
|
|
571
|
+
full_name: ".pb.file.cpp",
|
|
572
|
+
type: ".pb.file.CppFileOptions"
|
|
573
|
+
}];
|
|
574
|
+
|
|
535
575
|
// The parser stores options it doesn't recognize here.
|
|
536
576
|
// See the documentation for the "Options" section above.
|
|
537
577
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
@@ -616,8 +656,15 @@ message MessageOptions {
|
|
|
616
656
|
optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
|
|
617
657
|
|
|
618
658
|
// Any features defined in the specific edition.
|
|
659
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
660
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
661
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
619
662
|
optional FeatureSet features = 12;
|
|
620
663
|
|
|
664
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
665
|
+
// team. User custom options must use the 1000+ range instead.
|
|
666
|
+
extensions 990 to 998;
|
|
667
|
+
|
|
621
668
|
// The parser stores options it doesn't recognize here. See above.
|
|
622
669
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
623
670
|
|
|
@@ -626,13 +673,14 @@ message MessageOptions {
|
|
|
626
673
|
}
|
|
627
674
|
|
|
628
675
|
message FieldOptions {
|
|
676
|
+
// NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
|
|
629
677
|
// The ctype option instructs the C++ code generator to use a different
|
|
630
678
|
// representation of the field than it normally would. See the specific
|
|
631
679
|
// options below. This option is only implemented to support use of
|
|
632
680
|
// [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
|
|
633
|
-
// type "bytes" in the open source release
|
|
634
|
-
//
|
|
635
|
-
optional CType ctype = 1 [default = STRING];
|
|
681
|
+
// type "bytes" in the open source release.
|
|
682
|
+
// TODO: make ctype actually deprecated.
|
|
683
|
+
optional CType ctype = 1 [/*deprecated = true,*/ default = STRING];
|
|
636
684
|
enum CType {
|
|
637
685
|
// Default mode.
|
|
638
686
|
STRING = 0;
|
|
@@ -714,16 +762,15 @@ message FieldOptions {
|
|
|
714
762
|
// is a formalization for deprecating fields.
|
|
715
763
|
optional bool deprecated = 3 [default = false];
|
|
716
764
|
|
|
765
|
+
// DEPRECATED. DO NOT USE!
|
|
717
766
|
// For Google-internal migration only. Do not use.
|
|
718
|
-
optional bool weak = 10 [default = false];
|
|
767
|
+
optional bool weak = 10 [default = false, deprecated = true];
|
|
719
768
|
|
|
720
769
|
// Indicate that the field value should not be printed out when using debug
|
|
721
770
|
// formats, e.g. when the field contains sensitive credentials.
|
|
722
771
|
optional bool debug_redact = 16 [default = false];
|
|
723
772
|
|
|
724
773
|
// If set to RETENTION_SOURCE, the option will be omitted from the binary.
|
|
725
|
-
// Note: as of January 2023, support for this is in progress and does not yet
|
|
726
|
-
// have an effect (b/264593489).
|
|
727
774
|
enum OptionRetention {
|
|
728
775
|
RETENTION_UNKNOWN = 0;
|
|
729
776
|
RETENTION_RUNTIME = 1;
|
|
@@ -734,8 +781,7 @@ message FieldOptions {
|
|
|
734
781
|
|
|
735
782
|
// This indicates the types of entities that the field may apply to when used
|
|
736
783
|
// as an option. If it is unset, then the field may be freely used as an
|
|
737
|
-
// option on any kind of entity.
|
|
738
|
-
// in progress and does not yet have an effect (b/264593489).
|
|
784
|
+
// option on any kind of entity.
|
|
739
785
|
enum OptionTargetType {
|
|
740
786
|
TARGET_TYPE_UNKNOWN = 0;
|
|
741
787
|
TARGET_TYPE_FILE = 1;
|
|
@@ -758,8 +804,41 @@ message FieldOptions {
|
|
|
758
804
|
repeated EditionDefault edition_defaults = 20;
|
|
759
805
|
|
|
760
806
|
// Any features defined in the specific edition.
|
|
807
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
808
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
809
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
761
810
|
optional FeatureSet features = 21;
|
|
762
811
|
|
|
812
|
+
// Information about the support window of a feature.
|
|
813
|
+
message FeatureSupport {
|
|
814
|
+
// The edition that this feature was first available in. In editions
|
|
815
|
+
// earlier than this one, the default assigned to EDITION_LEGACY will be
|
|
816
|
+
// used, and proto files will not be able to override it.
|
|
817
|
+
optional Edition edition_introduced = 1;
|
|
818
|
+
|
|
819
|
+
// The edition this feature becomes deprecated in. Using this after this
|
|
820
|
+
// edition may trigger warnings.
|
|
821
|
+
optional Edition edition_deprecated = 2;
|
|
822
|
+
|
|
823
|
+
// The deprecation warning text if this feature is used after the edition it
|
|
824
|
+
// was marked deprecated in.
|
|
825
|
+
optional string deprecation_warning = 3;
|
|
826
|
+
|
|
827
|
+
// The edition this feature is no longer available in. In editions after
|
|
828
|
+
// this one, the last default assigned will be used, and proto files will
|
|
829
|
+
// not be able to override it.
|
|
830
|
+
optional Edition edition_removed = 4;
|
|
831
|
+
|
|
832
|
+
// The removal error text if this feature is used after the edition it was
|
|
833
|
+
// removed in.
|
|
834
|
+
optional string removal_error = 5;
|
|
835
|
+
}
|
|
836
|
+
optional FeatureSupport feature_support = 22;
|
|
837
|
+
|
|
838
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
839
|
+
// team. User custom options must use the 1000+ range instead.
|
|
840
|
+
extensions 990 to 998;
|
|
841
|
+
|
|
763
842
|
// The parser stores options it doesn't recognize here. See above.
|
|
764
843
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
765
844
|
|
|
@@ -772,8 +851,15 @@ message FieldOptions {
|
|
|
772
851
|
|
|
773
852
|
message OneofOptions {
|
|
774
853
|
// Any features defined in the specific edition.
|
|
854
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
855
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
856
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
775
857
|
optional FeatureSet features = 1;
|
|
776
858
|
|
|
859
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
860
|
+
// team. User custom options must use the 1000+ range instead.
|
|
861
|
+
extensions 990 to 998;
|
|
862
|
+
|
|
777
863
|
// The parser stores options it doesn't recognize here. See above.
|
|
778
864
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
779
865
|
|
|
@@ -804,8 +890,15 @@ message EnumOptions {
|
|
|
804
890
|
optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
|
|
805
891
|
|
|
806
892
|
// Any features defined in the specific edition.
|
|
893
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
894
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
895
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
807
896
|
optional FeatureSet features = 7;
|
|
808
897
|
|
|
898
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
899
|
+
// team. User custom options must use the 1000+ range instead.
|
|
900
|
+
extensions 990 to 998;
|
|
901
|
+
|
|
809
902
|
// The parser stores options it doesn't recognize here. See above.
|
|
810
903
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
811
904
|
|
|
@@ -821,6 +914,9 @@ message EnumValueOptions {
|
|
|
821
914
|
optional bool deprecated = 1 [default = false];
|
|
822
915
|
|
|
823
916
|
// Any features defined in the specific edition.
|
|
917
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
918
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
919
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
824
920
|
optional FeatureSet features = 2;
|
|
825
921
|
|
|
826
922
|
// Indicate that fields annotated with this enum value should not be printed
|
|
@@ -828,6 +924,13 @@ message EnumValueOptions {
|
|
|
828
924
|
// credentials.
|
|
829
925
|
optional bool debug_redact = 3 [default = false];
|
|
830
926
|
|
|
927
|
+
// Information about the support window of a feature value.
|
|
928
|
+
optional FieldOptions.FeatureSupport feature_support = 4;
|
|
929
|
+
|
|
930
|
+
// Range reserved for first-class extension options defined by the Protobuf
|
|
931
|
+
// team. Custom options must use the 1000+ range instead.
|
|
932
|
+
extensions 990 to 998;
|
|
933
|
+
|
|
831
934
|
// The parser stores options it doesn't recognize here. See above.
|
|
832
935
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
833
936
|
|
|
@@ -838,6 +941,9 @@ message EnumValueOptions {
|
|
|
838
941
|
message ServiceOptions {
|
|
839
942
|
|
|
840
943
|
// Any features defined in the specific edition.
|
|
944
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
945
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
946
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
841
947
|
optional FeatureSet features = 34;
|
|
842
948
|
|
|
843
949
|
// Note: Field numbers 1 through 32 are reserved for Google's internal RPC
|
|
@@ -851,6 +957,10 @@ message ServiceOptions {
|
|
|
851
957
|
// this is a formalization for deprecating services.
|
|
852
958
|
optional bool deprecated = 33 [default = false];
|
|
853
959
|
|
|
960
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
961
|
+
// team. User custom options must use the 1000+ range instead.
|
|
962
|
+
extensions 990 to 998;
|
|
963
|
+
|
|
854
964
|
// The parser stores options it doesn't recognize here. See above.
|
|
855
965
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
856
966
|
|
|
@@ -883,8 +993,15 @@ message MethodOptions {
|
|
|
883
993
|
[default = IDEMPOTENCY_UNKNOWN];
|
|
884
994
|
|
|
885
995
|
// Any features defined in the specific edition.
|
|
996
|
+
// WARNING: This field should only be used by protobuf plugins or special
|
|
997
|
+
// cases like the proto compiler. Other uses are discouraged and
|
|
998
|
+
// developers should rely on the protoreflect APIs for their client language.
|
|
886
999
|
optional FeatureSet features = 35;
|
|
887
1000
|
|
|
1001
|
+
// Range reserved for first-class custom options defined by the Protobuf
|
|
1002
|
+
// team. User custom options must use the 1000+ range instead.
|
|
1003
|
+
extensions 990 to 998;
|
|
1004
|
+
|
|
888
1005
|
// The parser stores options it doesn't recognize here. See above.
|
|
889
1006
|
repeated UninterpretedOption uninterpreted_option = 999;
|
|
890
1007
|
|
|
@@ -940,7 +1057,10 @@ message FeatureSet {
|
|
|
940
1057
|
retention = RETENTION_RUNTIME,
|
|
941
1058
|
targets = TARGET_TYPE_FIELD,
|
|
942
1059
|
targets = TARGET_TYPE_FILE,
|
|
943
|
-
|
|
1060
|
+
feature_support = {
|
|
1061
|
+
edition_introduced: EDITION_2023,
|
|
1062
|
+
},
|
|
1063
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "EXPLICIT" },
|
|
944
1064
|
edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" },
|
|
945
1065
|
edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" }
|
|
946
1066
|
];
|
|
@@ -954,7 +1074,10 @@ message FeatureSet {
|
|
|
954
1074
|
retention = RETENTION_RUNTIME,
|
|
955
1075
|
targets = TARGET_TYPE_ENUM,
|
|
956
1076
|
targets = TARGET_TYPE_FILE,
|
|
957
|
-
|
|
1077
|
+
feature_support = {
|
|
1078
|
+
edition_introduced: EDITION_2023,
|
|
1079
|
+
},
|
|
1080
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "CLOSED" },
|
|
958
1081
|
edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" }
|
|
959
1082
|
];
|
|
960
1083
|
|
|
@@ -967,7 +1090,10 @@ message FeatureSet {
|
|
|
967
1090
|
retention = RETENTION_RUNTIME,
|
|
968
1091
|
targets = TARGET_TYPE_FIELD,
|
|
969
1092
|
targets = TARGET_TYPE_FILE,
|
|
970
|
-
|
|
1093
|
+
feature_support = {
|
|
1094
|
+
edition_introduced: EDITION_2023,
|
|
1095
|
+
},
|
|
1096
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "EXPANDED" },
|
|
971
1097
|
edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" }
|
|
972
1098
|
];
|
|
973
1099
|
|
|
@@ -975,12 +1101,16 @@ message FeatureSet {
|
|
|
975
1101
|
UTF8_VALIDATION_UNKNOWN = 0;
|
|
976
1102
|
VERIFY = 2;
|
|
977
1103
|
NONE = 3;
|
|
1104
|
+
reserved 1;
|
|
978
1105
|
}
|
|
979
1106
|
optional Utf8Validation utf8_validation = 4 [
|
|
980
1107
|
retention = RETENTION_RUNTIME,
|
|
981
1108
|
targets = TARGET_TYPE_FIELD,
|
|
982
1109
|
targets = TARGET_TYPE_FILE,
|
|
983
|
-
|
|
1110
|
+
feature_support = {
|
|
1111
|
+
edition_introduced: EDITION_2023,
|
|
1112
|
+
},
|
|
1113
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "NONE" },
|
|
984
1114
|
edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" }
|
|
985
1115
|
];
|
|
986
1116
|
|
|
@@ -993,7 +1123,10 @@ message FeatureSet {
|
|
|
993
1123
|
retention = RETENTION_RUNTIME,
|
|
994
1124
|
targets = TARGET_TYPE_FIELD,
|
|
995
1125
|
targets = TARGET_TYPE_FILE,
|
|
996
|
-
|
|
1126
|
+
feature_support = {
|
|
1127
|
+
edition_introduced: EDITION_2023,
|
|
1128
|
+
},
|
|
1129
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "LENGTH_PREFIXED" }
|
|
997
1130
|
];
|
|
998
1131
|
|
|
999
1132
|
enum JsonFormat {
|
|
@@ -1006,15 +1139,109 @@ message FeatureSet {
|
|
|
1006
1139
|
targets = TARGET_TYPE_MESSAGE,
|
|
1007
1140
|
targets = TARGET_TYPE_ENUM,
|
|
1008
1141
|
targets = TARGET_TYPE_FILE,
|
|
1009
|
-
|
|
1142
|
+
feature_support = {
|
|
1143
|
+
edition_introduced: EDITION_2023,
|
|
1144
|
+
},
|
|
1145
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "LEGACY_BEST_EFFORT" },
|
|
1010
1146
|
edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
|
|
1011
1147
|
];
|
|
1012
1148
|
|
|
1149
|
+
enum EnforceNamingStyle {
|
|
1150
|
+
ENFORCE_NAMING_STYLE_UNKNOWN = 0;
|
|
1151
|
+
STYLE2024 = 1;
|
|
1152
|
+
STYLE_LEGACY = 2;
|
|
1153
|
+
STYLE2026 = 3;
|
|
1154
|
+
}
|
|
1155
|
+
optional EnforceNamingStyle enforce_naming_style = 7 [
|
|
1156
|
+
retention = RETENTION_SOURCE,
|
|
1157
|
+
targets = TARGET_TYPE_FILE,
|
|
1158
|
+
targets = TARGET_TYPE_EXTENSION_RANGE,
|
|
1159
|
+
targets = TARGET_TYPE_MESSAGE,
|
|
1160
|
+
targets = TARGET_TYPE_FIELD,
|
|
1161
|
+
targets = TARGET_TYPE_ONEOF,
|
|
1162
|
+
targets = TARGET_TYPE_ENUM,
|
|
1163
|
+
targets = TARGET_TYPE_ENUM_ENTRY,
|
|
1164
|
+
targets = TARGET_TYPE_SERVICE,
|
|
1165
|
+
targets = TARGET_TYPE_METHOD,
|
|
1166
|
+
feature_support = {
|
|
1167
|
+
edition_introduced: EDITION_2024,
|
|
1168
|
+
},
|
|
1169
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
|
|
1170
|
+
edition_defaults = { edition: EDITION_2024, value: "STYLE2024" },
|
|
1171
|
+
edition_defaults = { edition: EDITION_UNSTABLE, value: "STYLE2026" }
|
|
1172
|
+
];
|
|
1173
|
+
|
|
1174
|
+
message VisibilityFeature {
|
|
1175
|
+
enum DefaultSymbolVisibility {
|
|
1176
|
+
DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0;
|
|
1177
|
+
|
|
1178
|
+
// Default pre-EDITION_2024, all UNSET visibility are export.
|
|
1179
|
+
EXPORT_ALL = 1;
|
|
1180
|
+
|
|
1181
|
+
// All top-level symbols default to export, nested default to local.
|
|
1182
|
+
EXPORT_TOP_LEVEL = 2;
|
|
1183
|
+
|
|
1184
|
+
// All symbols default to local.
|
|
1185
|
+
LOCAL_ALL = 3;
|
|
1186
|
+
|
|
1187
|
+
// All symbols local by default. Nested types cannot be exported.
|
|
1188
|
+
// With special case caveat for message { enum {} reserved 1 to max; }
|
|
1189
|
+
// This is the recommended setting for new protos.
|
|
1190
|
+
STRICT = 4;
|
|
1191
|
+
}
|
|
1192
|
+
reserved 1 to max;
|
|
1193
|
+
}
|
|
1194
|
+
optional VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility =
|
|
1195
|
+
8 [
|
|
1196
|
+
retention = RETENTION_SOURCE,
|
|
1197
|
+
targets = TARGET_TYPE_FILE,
|
|
1198
|
+
feature_support = {
|
|
1199
|
+
edition_introduced: EDITION_2024,
|
|
1200
|
+
},
|
|
1201
|
+
edition_defaults = { edition: EDITION_LEGACY, value: "EXPORT_ALL" },
|
|
1202
|
+
edition_defaults = { edition: EDITION_2024, value: "EXPORT_TOP_LEVEL" }
|
|
1203
|
+
];
|
|
1204
|
+
|
|
1013
1205
|
reserved 999;
|
|
1014
1206
|
|
|
1015
|
-
extensions 1000
|
|
1016
|
-
|
|
1017
|
-
|
|
1207
|
+
extensions 1000 to 9994 [
|
|
1208
|
+
declaration = {
|
|
1209
|
+
number: 1000,
|
|
1210
|
+
full_name: ".pb.cpp",
|
|
1211
|
+
type: ".pb.CppFeatures"
|
|
1212
|
+
},
|
|
1213
|
+
declaration = {
|
|
1214
|
+
number: 1001,
|
|
1215
|
+
full_name: ".pb.java",
|
|
1216
|
+
type: ".pb.JavaFeatures"
|
|
1217
|
+
},
|
|
1218
|
+
declaration = { number: 1002, full_name: ".pb.go", type: ".pb.GoFeatures" },
|
|
1219
|
+
declaration = {
|
|
1220
|
+
number: 1003,
|
|
1221
|
+
full_name: ".pb.python",
|
|
1222
|
+
type: ".pb.PythonFeatures"
|
|
1223
|
+
},
|
|
1224
|
+
declaration = {
|
|
1225
|
+
number: 1004,
|
|
1226
|
+
full_name: ".pb.csharp",
|
|
1227
|
+
type: ".pb.CSharpFeatures"
|
|
1228
|
+
},
|
|
1229
|
+
declaration = {
|
|
1230
|
+
number: 1100,
|
|
1231
|
+
full_name: ".imp.impress_feature_set",
|
|
1232
|
+
type: ".imp.ImpressFeatureSet"
|
|
1233
|
+
},
|
|
1234
|
+
declaration = {
|
|
1235
|
+
number: 9989,
|
|
1236
|
+
full_name: ".pb.java_mutable",
|
|
1237
|
+
type: ".pb.JavaMutableFeatures"
|
|
1238
|
+
},
|
|
1239
|
+
declaration = {
|
|
1240
|
+
number: 9990,
|
|
1241
|
+
full_name: ".pb.proto1",
|
|
1242
|
+
type: ".pb.Proto1Features"
|
|
1243
|
+
}
|
|
1244
|
+
];
|
|
1018
1245
|
|
|
1019
1246
|
extensions 9995 to 9999; // For internal testing
|
|
1020
1247
|
extensions 10000; // for https://github.com/bufbuild/protobuf-es
|
|
@@ -1031,7 +1258,15 @@ message FeatureSetDefaults {
|
|
|
1031
1258
|
// be used. This field must be in strict ascending order by edition.
|
|
1032
1259
|
message FeatureSetEditionDefault {
|
|
1033
1260
|
optional Edition edition = 3;
|
|
1034
|
-
|
|
1261
|
+
|
|
1262
|
+
// Defaults of features that can be overridden in this edition.
|
|
1263
|
+
optional FeatureSet overridable_features = 4;
|
|
1264
|
+
|
|
1265
|
+
// Defaults of features that can't be overridden in this edition.
|
|
1266
|
+
optional FeatureSet fixed_features = 5;
|
|
1267
|
+
|
|
1268
|
+
reserved 1, 2;
|
|
1269
|
+
reserved "features";
|
|
1035
1270
|
}
|
|
1036
1271
|
repeated FeatureSetEditionDefault defaults = 1;
|
|
1037
1272
|
|
|
@@ -1178,6 +1413,13 @@ message SourceCodeInfo {
|
|
|
1178
1413
|
optional string trailing_comments = 4;
|
|
1179
1414
|
repeated string leading_detached_comments = 6;
|
|
1180
1415
|
}
|
|
1416
|
+
|
|
1417
|
+
// Extensions for tooling.
|
|
1418
|
+
extensions 536000000 [declaration = {
|
|
1419
|
+
number: 536000000
|
|
1420
|
+
type: ".buf.descriptor.v1.SourceCodeInfoExtension"
|
|
1421
|
+
full_name: ".buf.descriptor.v1.buf_source_code_info_extension"
|
|
1422
|
+
}];
|
|
1181
1423
|
}
|
|
1182
1424
|
|
|
1183
1425
|
// Describes the relationship between generated code and its original source
|
|
@@ -1217,3 +1459,14 @@ message GeneratedCodeInfo {
|
|
|
1217
1459
|
optional Semantic semantic = 5;
|
|
1218
1460
|
}
|
|
1219
1461
|
}
|
|
1462
|
+
|
|
1463
|
+
// Describes the 'visibility' of a symbol with respect to the proto import
|
|
1464
|
+
// system. Symbols can only be imported when the visibility rules do not prevent
|
|
1465
|
+
// it (ex: local symbols cannot be imported). Visibility modifiers can only set
|
|
1466
|
+
// on `message` and `enum` as they are the only types available to be referenced
|
|
1467
|
+
// from other files.
|
|
1468
|
+
enum SymbolVisibility {
|
|
1469
|
+
VISIBILITY_UNSET = 0;
|
|
1470
|
+
VISIBILITY_LOCAL = 1;
|
|
1471
|
+
VISIBILITY_EXPORT = 2;
|
|
1472
|
+
}
|
|
@@ -152,24 +152,22 @@ option cc_enable_arenas = true;
|
|
|
152
152
|
// An implementation may provide options to override this default behavior for
|
|
153
153
|
// repeated and message fields.
|
|
154
154
|
//
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
//
|
|
160
|
-
//
|
|
161
|
-
//
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
//
|
|
167
|
-
//
|
|
168
|
-
//
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
// operation kind. In any case, the effect of the field mask is
|
|
172
|
-
// required to be honored by the API.
|
|
155
|
+
// Note that libraries which implement FieldMask resolution have various
|
|
156
|
+
// different behaviors in the face of empty masks or the special "*" mask.
|
|
157
|
+
// When implementing a service you should confirm these cases have the
|
|
158
|
+
// appropriate behavior in the underlying FieldMask library that you desire,
|
|
159
|
+
// and you may need to special case those cases in your application code if
|
|
160
|
+
// the underlying field mask library behavior differs from your intended
|
|
161
|
+
// service semantics.
|
|
162
|
+
//
|
|
163
|
+
// Update methods implementing https://google.aip.dev/134
|
|
164
|
+
// - MUST support the special value * meaning "full replace"
|
|
165
|
+
// - MUST treat an omitted field mask as "replace fields which are present".
|
|
166
|
+
//
|
|
167
|
+
// Other methods implementing https://google.aip.dev/157
|
|
168
|
+
// - SHOULD support the special value "*" to mean "get all".
|
|
169
|
+
// - MUST treat an omitted field mask to mean "get all", unless otherwise
|
|
170
|
+
// documented.
|
|
173
171
|
//
|
|
174
172
|
// ## Considerations for HTTP REST
|
|
175
173
|
//
|