@fatehan/tsrp 1.5.3 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/fatehan/activities/workflow.d.ts +8 -0
  2. package/dist/fatehan/activities/workflow.d.ts.map +1 -1
  3. package/dist/fatehan/activities/workflow.js +66 -3
  4. package/dist/fatehan/apis/client.d.ts +1 -1
  5. package/dist/fatehan/apis/client.js +3 -3
  6. package/dist/fatehan/areas/area.js +2 -2
  7. package/dist/fatehan/devices/devices.js +2 -2
  8. package/dist/fatehan/devices/maintenance.js +2 -2
  9. package/dist/fatehan/financial/financial.js +2 -2
  10. package/dist/fatehan/google/protobuf/descriptor.d.ts +470 -39
  11. package/dist/fatehan/google/protobuf/descriptor.d.ts.map +1 -1
  12. package/dist/fatehan/google/protobuf/descriptor.js +1070 -57
  13. package/dist/fatehan/google/protobuf/duration.js +2 -2
  14. package/dist/fatehan/google/protobuf/field_mask.d.ts +16 -18
  15. package/dist/fatehan/google/protobuf/field_mask.d.ts.map +1 -1
  16. package/dist/fatehan/google/protobuf/field_mask.js +2 -2
  17. package/dist/fatehan/google/protobuf/timestamp.d.ts +10 -9
  18. package/dist/fatehan/google/protobuf/timestamp.d.ts.map +1 -1
  19. package/dist/fatehan/google/protobuf/timestamp.js +2 -2
  20. package/dist/fatehan/identities/authentication.d.ts +82 -6
  21. package/dist/fatehan/identities/authentication.d.ts.map +1 -1
  22. package/dist/fatehan/identities/authentication.js +575 -47
  23. package/dist/fatehan/identities/identities.d.ts +13 -1
  24. package/dist/fatehan/identities/identities.d.ts.map +1 -1
  25. package/dist/fatehan/identities/identities.js +15 -3
  26. package/dist/fatehan/models/fusion.js +2 -2
  27. package/dist/fatehan/models/models.js +2 -2
  28. package/dist/fatehan/notifies/notify.js +2 -2
  29. package/dist/fatehan/packets/{messages.d.ts → commands.d.ts} +58 -1
  30. package/dist/fatehan/packets/commands.d.ts.map +1 -0
  31. package/dist/fatehan/packets/{messages.js → commands.js} +588 -3
  32. package/dist/fatehan/packets/dataModel.d.ts +189 -127
  33. package/dist/fatehan/packets/dataModel.d.ts.map +1 -1
  34. package/dist/fatehan/packets/dataModel.js +1642 -1005
  35. package/dist/fatehan/packets/dataModule.js +2 -2
  36. package/dist/fatehan/packets/forge.d.ts +117 -0
  37. package/dist/fatehan/packets/forge.d.ts.map +1 -0
  38. package/dist/fatehan/packets/forge.js +1079 -0
  39. package/dist/fatehan/services/api.d.ts +813 -26
  40. package/dist/fatehan/services/api.d.ts.map +1 -1
  41. package/dist/fatehan/services/api.js +8452 -244
  42. package/dist/fatehan/services/repositories.js +2 -2
  43. package/dist/fatehan/stream/stream.d.ts +224 -0
  44. package/dist/fatehan/stream/stream.d.ts.map +1 -0
  45. package/dist/fatehan/stream/stream.js +1416 -0
  46. package/dist/fatehan/trips/trip.d.ts +159 -159
  47. package/dist/fatehan/trips/trip.d.ts.map +1 -1
  48. package/dist/fatehan/trips/trip.js +169 -169
  49. package/dist/fatehan/utils/buf/validate/validate.js +2 -2
  50. package/dist/services.d.ts +65 -0
  51. package/dist/services.d.ts.map +1 -0
  52. package/dist/services.js +205 -0
  53. package/package.json +12 -12
  54. package/dist/api.d.ts +0 -36
  55. package/dist/api.d.ts.map +0 -1
  56. package/dist/api.js +0 -146
  57. package/dist/fatehan/activities/camera.d.ts +0 -95
  58. package/dist/fatehan/activities/camera.d.ts.map +0 -1
  59. package/dist/fatehan/activities/camera.js +0 -811
  60. package/dist/fatehan/google/protobuf/any.d.ts +0 -146
  61. package/dist/fatehan/google/protobuf/any.d.ts.map +0 -1
  62. package/dist/fatehan/google/protobuf/any.js +0 -104
  63. package/dist/fatehan/google/status.d.ts +0 -53
  64. package/dist/fatehan/google/status.d.ts.map +0 -1
  65. package/dist/fatehan/google/status.js +0 -95
  66. package/dist/fatehan/packets/messages.d.ts.map +0 -1
  67. package/dist/fatehan/reports/report.d.ts +0 -830
  68. package/dist/fatehan/reports/report.d.ts.map +0 -1
  69. package/dist/fatehan/reports/report.js +0 -8380
  70. package/dist/index.d.ts +0 -2
  71. package/dist/index.d.ts.map +0 -1
  72. package/dist/index.js +0 -1
  73. package/dist/report.d.ts +0 -29
  74. package/dist/report.d.ts.map +0 -1
  75. package/dist/report.js +0 -139
  76. package/readme.md +0 -26
@@ -1,6 +1,62 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
2
  import Long from "long";
3
3
  export declare const protobufPackage = "google.protobuf";
4
+ /** The full set of known editions. */
5
+ export declare enum Edition {
6
+ /** EDITION_UNKNOWN - A placeholder for an unknown edition value. */
7
+ EDITION_UNKNOWN = 0,
8
+ /**
9
+ * EDITION_LEGACY - A placeholder edition for specifying default behaviors *before* a feature
10
+ * was first introduced. This is effectively an "infinite past".
11
+ */
12
+ EDITION_LEGACY = 900,
13
+ /**
14
+ * EDITION_PROTO2 - Legacy syntax "editions". These pre-date editions, but behave much like
15
+ * distinct editions. These can't be used to specify the edition of proto
16
+ * files, but feature definitions must supply proto2/proto3 defaults for
17
+ * backwards compatibility.
18
+ */
19
+ EDITION_PROTO2 = 998,
20
+ EDITION_PROTO3 = 999,
21
+ /**
22
+ * EDITION_2023 - Editions that have been released. The specific values are arbitrary and
23
+ * should not be depended on, but they will always be time-ordered for easy
24
+ * comparison.
25
+ */
26
+ EDITION_2023 = 1000,
27
+ EDITION_2024 = 1001,
28
+ /** EDITION_UNSTABLE - A placeholder edition for developing and testing unscheduled features. */
29
+ EDITION_UNSTABLE = 9999,
30
+ /**
31
+ * EDITION_1_TEST_ONLY - Placeholder editions for testing feature resolution. These should not be
32
+ * used or relied on outside of tests.
33
+ */
34
+ EDITION_1_TEST_ONLY = 1,
35
+ EDITION_2_TEST_ONLY = 2,
36
+ EDITION_99997_TEST_ONLY = 99997,
37
+ EDITION_99998_TEST_ONLY = 99998,
38
+ EDITION_99999_TEST_ONLY = 99999,
39
+ /**
40
+ * EDITION_MAX - Placeholder for specifying unbounded edition support. This should only
41
+ * ever be used by plugins that can expect to never require any changes to
42
+ * support a new edition.
43
+ */
44
+ EDITION_MAX = 2147483647,
45
+ UNRECOGNIZED = -1
46
+ }
47
+ /**
48
+ * Describes the 'visibility' of a symbol with respect to the proto import
49
+ * system. Symbols can only be imported when the visibility rules do not prevent
50
+ * it (ex: local symbols cannot be imported). Visibility modifiers can only set
51
+ * on `message` and `enum` as they are the only types available to be referenced
52
+ * from other files.
53
+ */
54
+ export declare enum SymbolVisibility {
55
+ VISIBILITY_UNSET = 0,
56
+ VISIBILITY_LOCAL = 1,
57
+ VISIBILITY_EXPORT = 2,
58
+ UNRECOGNIZED = -1
59
+ }
4
60
  /**
5
61
  * The protocol compiler can output a FileDescriptorSet containing the .proto
6
62
  * files it parses.
@@ -23,6 +79,11 @@ export interface FileDescriptorProto {
23
79
  * For Google-internal migration only. Do not use.
24
80
  */
25
81
  weakDependency: number[];
82
+ /**
83
+ * Names of files imported by this file purely for the purpose of providing
84
+ * option extensions. These are excluded from the dependency list above.
85
+ */
86
+ optionDependency: string[];
26
87
  /** All top-level definitions in this file. */
27
88
  messageType: DescriptorProto[];
28
89
  enumType: EnumDescriptorProto[];
@@ -38,9 +99,21 @@ export interface FileDescriptorProto {
38
99
  sourceCodeInfo?: SourceCodeInfo | undefined;
39
100
  /**
40
101
  * The syntax of the proto file.
41
- * The supported values are "proto2" and "proto3".
102
+ * The supported values are "proto2", "proto3", and "editions".
103
+ *
104
+ * If `edition` is present, this value must be "editions".
105
+ * WARNING: This field should only be used by protobuf plugins or special
106
+ * cases like the proto compiler. Other uses are discouraged and
107
+ * developers should rely on the protoreflect APIs for their client language.
42
108
  */
43
109
  syntax?: string | undefined;
110
+ /**
111
+ * The edition of the proto file.
112
+ * WARNING: This field should only be used by protobuf plugins or special
113
+ * cases like the proto compiler. Other uses are discouraged and
114
+ * developers should rely on the protoreflect APIs for their client language.
115
+ */
116
+ edition?: Edition | undefined;
44
117
  }
45
118
  /** Describes a message type. */
46
119
  export interface DescriptorProto {
@@ -58,6 +131,8 @@ export interface DescriptorProto {
58
131
  * A given name may only be reserved once.
59
132
  */
60
133
  reservedName: string[];
134
+ /** Support for `export` and `local` keywords on enums. */
135
+ visibility?: SymbolVisibility | undefined;
61
136
  }
62
137
  export interface DescriptorProto_ExtensionRange {
63
138
  /** Inclusive. */
@@ -80,6 +155,53 @@ export interface DescriptorProto_ReservedRange {
80
155
  export interface ExtensionRangeOptions {
81
156
  /** The parser stores options it doesn't recognize here. See above. */
82
157
  uninterpretedOption: UninterpretedOption[];
158
+ /**
159
+ * For external users: DO NOT USE. We are in the process of open sourcing
160
+ * extension declaration and executing internal cleanups before it can be
161
+ * used externally.
162
+ */
163
+ declaration: ExtensionRangeOptions_Declaration[];
164
+ /** Any features defined in the specific edition. */
165
+ features?: FeatureSet | undefined;
166
+ /**
167
+ * The verification state of the range.
168
+ * TODO: flip the default to DECLARATION once all empty ranges
169
+ * are marked as UNVERIFIED.
170
+ */
171
+ verification?: ExtensionRangeOptions_VerificationState | undefined;
172
+ }
173
+ /** The verification state of the extension range. */
174
+ export declare enum ExtensionRangeOptions_VerificationState {
175
+ /** DECLARATION - All the extensions of the range must be declared. */
176
+ DECLARATION = 0,
177
+ UNVERIFIED = 1,
178
+ UNRECOGNIZED = -1
179
+ }
180
+ export interface ExtensionRangeOptions_Declaration {
181
+ /** The extension number declared within the extension range. */
182
+ number?: number | undefined;
183
+ /**
184
+ * The fully-qualified name of the extension field. There must be a leading
185
+ * dot in front of the full name.
186
+ */
187
+ fullName?: string | undefined;
188
+ /**
189
+ * The fully-qualified type name of the extension field. Unlike
190
+ * Metadata.type, Declaration.type must have a leading dot for messages
191
+ * and enums.
192
+ */
193
+ type?: string | undefined;
194
+ /**
195
+ * If true, indicates that the number is reserved in the extension range,
196
+ * and any extension field with the number will fail to compile. Set this
197
+ * when a declared extension field is deleted.
198
+ */
199
+ reserved?: boolean | undefined;
200
+ /**
201
+ * If true, indicates that the extension must be defined as repeated.
202
+ * Otherwise the extension must be defined as optional.
203
+ */
204
+ repeated?: boolean | undefined;
83
205
  }
84
206
  /** Describes a field within a message. */
85
207
  export interface FieldDescriptorProto {
@@ -128,12 +250,12 @@ export interface FieldDescriptorProto {
128
250
  * If true, this is a proto3 "optional". When a proto3 field is optional, it
129
251
  * tracks presence regardless of field type.
130
252
  *
131
- * When proto3_optional is true, this field must be belong to a oneof to
132
- * signal to old proto3 clients that presence is tracked for this field. This
133
- * oneof is known as a "synthetic" oneof, and this field must be its sole
134
- * member (each proto3 optional field gets its own synthetic oneof). Synthetic
135
- * oneofs exist in the descriptor only, and do not generate any API. Synthetic
136
- * oneofs must be ordered after all "real" oneofs.
253
+ * When proto3_optional is true, this field must belong to a oneof to signal
254
+ * to old proto3 clients that presence is tracked for this field. This oneof
255
+ * is known as a "synthetic" oneof, and this field must be its sole member
256
+ * (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
257
+ * exist in the descriptor only, and do not generate any API. Synthetic oneofs
258
+ * must be ordered after all "real" oneofs.
137
259
  *
138
260
  * For message fields, proto3_optional doesn't create any semantic change,
139
261
  * since non-repeated message fields always track presence. However it still
@@ -173,9 +295,10 @@ export declare enum FieldDescriptorProto_Type {
173
295
  TYPE_STRING = 9,
174
296
  /**
175
297
  * TYPE_GROUP - Tag-delimited aggregate.
176
- * Group type is deprecated and not supported in proto3. However, Proto3
298
+ * Group type is deprecated and not supported after google.protobuf. However, Proto3
177
299
  * implementations should still be able to parse the group wire format and
178
- * treat group fields as unknown fields.
300
+ * treat group fields as unknown fields. In Editions, the group wire format
301
+ * can be enabled via the `message_encoding` feature.
179
302
  */
180
303
  TYPE_GROUP = 10,
181
304
  /** TYPE_MESSAGE - Length-delimited aggregate. */
@@ -195,8 +318,13 @@ export declare enum FieldDescriptorProto_Type {
195
318
  export declare enum FieldDescriptorProto_Label {
196
319
  /** LABEL_OPTIONAL - 0 is reserved for errors */
197
320
  LABEL_OPTIONAL = 1,
198
- LABEL_REQUIRED = 2,
199
321
  LABEL_REPEATED = 3,
322
+ /**
323
+ * LABEL_REQUIRED - The required label is only allowed in google.protobuf. In proto3 and Editions
324
+ * it's explicitly prohibited. In Editions, the `field_presence` feature
325
+ * can be used to get this behavior.
326
+ */
327
+ LABEL_REQUIRED = 2,
200
328
  UNRECOGNIZED = -1
201
329
  }
202
330
  /** Describes a oneof. */
@@ -220,6 +348,8 @@ export interface EnumDescriptorProto {
220
348
  * be reserved once.
221
349
  */
222
350
  reservedName: string[];
351
+ /** Support for `export` and `local` keywords on enums. */
352
+ visibility?: SymbolVisibility | undefined;
223
353
  }
224
354
  /**
225
355
  * Range of reserved numeric values. Reserved values may not be used by
@@ -294,12 +424,16 @@ export interface FileOptions {
294
424
  */
295
425
  javaGenerateEqualsAndHash?: boolean | undefined;
296
426
  /**
297
- * If set true, then the Java2 code generator will generate code that
298
- * throws an exception whenever an attempt is made to assign a non-UTF-8
299
- * byte sequence to a string field.
300
- * Message reflection will do the same.
301
- * However, an extension field still accepts non-UTF-8 byte sequences.
302
- * This option has no effect on when used with the lite runtime.
427
+ * A proto2 file can set this to true to opt in to UTF-8 checking for Java,
428
+ * which will throw an exception if invalid UTF-8 is parsed from the wire or
429
+ * assigned to a string field.
430
+ *
431
+ * TODO: clarify exactly what kinds of field types this option
432
+ * applies to, and update these docs accordingly.
433
+ *
434
+ * Proto3 files already perform these checks. Setting the option explicitly to
435
+ * false has no effect: it cannot be used to opt proto3 files out of UTF-8
436
+ * checks.
303
437
  */
304
438
  javaStringCheckUtf8?: boolean | undefined;
305
439
  optimizeFor?: FileOptions_OptimizeMode | undefined;
@@ -326,7 +460,6 @@ export interface FileOptions {
326
460
  ccGenericServices?: boolean | undefined;
327
461
  javaGenericServices?: boolean | undefined;
328
462
  pyGenericServices?: boolean | undefined;
329
- phpGenericServices?: boolean | undefined;
330
463
  /**
331
464
  * Is this file deprecated?
332
465
  * Depending on the target platform, this can emit Deprecated annotations
@@ -376,6 +509,13 @@ export interface FileOptions {
376
509
  * determining the ruby package.
377
510
  */
378
511
  rubyPackage?: string | undefined;
512
+ /**
513
+ * Any features defined in the specific edition.
514
+ * WARNING: This field should only be used by protobuf plugins or special
515
+ * cases like the proto compiler. Other uses are discouraged and
516
+ * developers should rely on the protoreflect APIs for their client language.
517
+ */
518
+ features?: FeatureSet | undefined;
379
519
  /**
380
520
  * The parser stores options it doesn't recognize here.
381
521
  * See the documentation for the "Options" section above.
@@ -451,15 +591,40 @@ export interface MessageOptions {
451
591
  * parser.
452
592
  */
453
593
  mapEntry?: boolean | undefined;
594
+ /**
595
+ * Enable the legacy handling of JSON field name conflicts. This lowercases
596
+ * and strips underscored from the fields before comparison in proto3 only.
597
+ * The new behavior takes `json_name` into account and applies to proto2 as
598
+ * well.
599
+ *
600
+ * This should only be used as a temporary measure against broken builds due
601
+ * to the change in behavior for JSON field name conflicts.
602
+ *
603
+ * TODO This is legacy behavior we plan to remove once downstream
604
+ * teams have had time to migrate.
605
+ *
606
+ * @deprecated
607
+ */
608
+ deprecatedLegacyJsonFieldConflicts?: boolean | undefined;
609
+ /**
610
+ * Any features defined in the specific edition.
611
+ * WARNING: This field should only be used by protobuf plugins or special
612
+ * cases like the proto compiler. Other uses are discouraged and
613
+ * developers should rely on the protoreflect APIs for their client language.
614
+ */
615
+ features?: FeatureSet | undefined;
454
616
  /** The parser stores options it doesn't recognize here. See above. */
455
617
  uninterpretedOption: UninterpretedOption[];
456
618
  }
457
619
  export interface FieldOptions {
458
620
  /**
621
+ * NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
459
622
  * The ctype option instructs the C++ code generator to use a different
460
623
  * representation of the field than it normally would. See the specific
461
- * options below. This option is not yet implemented in the open source
462
- * release -- sorry, we'll try to include it in a future version!
624
+ * options below. This option is only implemented to support use of
625
+ * [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
626
+ * type "bytes" in the open source release.
627
+ * TODO: make ctype actually deprecated.
463
628
  */
464
629
  ctype?: FieldOptions_CType | undefined;
465
630
  /**
@@ -467,7 +632,9 @@ export interface FieldOptions {
467
632
  * a more efficient representation on the wire. Rather than repeatedly
468
633
  * writing the tag and type for each element, the entire array is encoded as
469
634
  * a single length-delimited blob. In proto3, only explicit setting it to
470
- * false will avoid using packed encoding.
635
+ * false will avoid using packed encoding. This option is prohibited in
636
+ * Editions, but the `repeated_field_encoding` feature can be used to control
637
+ * the behavior.
471
638
  */
472
639
  packed?: boolean | undefined;
473
640
  /**
@@ -502,22 +669,11 @@ export interface FieldOptions {
502
669
  * call from multiple threads concurrently, while non-const methods continue
503
670
  * to require exclusive access.
504
671
  *
505
- * Note that implementations may choose not to check required fields within
506
- * a lazy sub-message. That is, calling IsInitialized() on the outer message
507
- * may return true even if the inner message has missing required fields.
508
- * This is necessary because otherwise the inner message would have to be
509
- * parsed in order to perform the check, defeating the purpose of lazy
510
- * parsing. An implementation which chooses not to check required fields
511
- * must be consistent about it. That is, for any particular sub-message, the
512
- * implementation must either *always* check its required fields, or *never*
513
- * check its required fields, regardless of whether or not the message has
514
- * been parsed.
515
- *
516
- * As of 2021, lazy does no correctness checks on the byte stream during
517
- * parsing. This may lead to crashes if and when an invalid byte stream is
518
- * finally parsed upon access.
519
- *
520
- * TODO(b/211906113): Enable validation on lazy fields.
672
+ * Note that lazy message fields are still eagerly verified to check
673
+ * ill-formed wireformat or missing required fields. Calling IsInitialized()
674
+ * on the outer message would fail if the inner message has missing required
675
+ * fields. Failed verification would result in parsing failure (except when
676
+ * uninitialized messages are acceptable).
521
677
  */
522
678
  lazy?: boolean | undefined;
523
679
  /**
@@ -533,14 +689,43 @@ export interface FieldOptions {
533
689
  * is a formalization for deprecating fields.
534
690
  */
535
691
  deprecated?: boolean | undefined;
536
- /** For Google-internal migration only. Do not use. */
692
+ /**
693
+ * DEPRECATED. DO NOT USE!
694
+ * For Google-internal migration only. Do not use.
695
+ *
696
+ * @deprecated
697
+ */
537
698
  weak?: boolean | undefined;
699
+ /**
700
+ * Indicate that the field value should not be printed out when using debug
701
+ * formats, e.g. when the field contains sensitive credentials.
702
+ */
703
+ debugRedact?: boolean | undefined;
704
+ retention?: FieldOptions_OptionRetention | undefined;
705
+ targets: FieldOptions_OptionTargetType[];
706
+ editionDefaults: FieldOptions_EditionDefault[];
707
+ /**
708
+ * Any features defined in the specific edition.
709
+ * WARNING: This field should only be used by protobuf plugins or special
710
+ * cases like the proto compiler. Other uses are discouraged and
711
+ * developers should rely on the protoreflect APIs for their client language.
712
+ */
713
+ features?: FeatureSet | undefined;
714
+ featureSupport?: FieldOptions_FeatureSupport | undefined;
538
715
  /** The parser stores options it doesn't recognize here. See above. */
539
716
  uninterpretedOption: UninterpretedOption[];
540
717
  }
541
718
  export declare enum FieldOptions_CType {
542
719
  /** STRING - Default mode. */
543
720
  STRING = 0,
721
+ /**
722
+ * CORD - The option [ctype=CORD] may be applied to a non-repeated field of type
723
+ * "bytes". It indicates that in C++, the data should be stored in a Cord
724
+ * instead of a string. For very large strings, this may reduce memory
725
+ * fragmentation. It may also allow better performance when parsing from a
726
+ * Cord, or when parsing with aliasing enabled, as the parsed Cord may then
727
+ * alias the original buffer.
728
+ */
544
729
  CORD = 1,
545
730
  STRING_PIECE = 2,
546
731
  UNRECOGNIZED = -1
@@ -554,7 +739,74 @@ export declare enum FieldOptions_JSType {
554
739
  JS_NUMBER = 2,
555
740
  UNRECOGNIZED = -1
556
741
  }
742
+ /** If set to RETENTION_SOURCE, the option will be omitted from the binary. */
743
+ export declare enum FieldOptions_OptionRetention {
744
+ RETENTION_UNKNOWN = 0,
745
+ RETENTION_RUNTIME = 1,
746
+ RETENTION_SOURCE = 2,
747
+ UNRECOGNIZED = -1
748
+ }
749
+ /**
750
+ * This indicates the types of entities that the field may apply to when used
751
+ * as an option. If it is unset, then the field may be freely used as an
752
+ * option on any kind of entity.
753
+ */
754
+ export declare enum FieldOptions_OptionTargetType {
755
+ TARGET_TYPE_UNKNOWN = 0,
756
+ TARGET_TYPE_FILE = 1,
757
+ TARGET_TYPE_EXTENSION_RANGE = 2,
758
+ TARGET_TYPE_MESSAGE = 3,
759
+ TARGET_TYPE_FIELD = 4,
760
+ TARGET_TYPE_ONEOF = 5,
761
+ TARGET_TYPE_ENUM = 6,
762
+ TARGET_TYPE_ENUM_ENTRY = 7,
763
+ TARGET_TYPE_SERVICE = 8,
764
+ TARGET_TYPE_METHOD = 9,
765
+ UNRECOGNIZED = -1
766
+ }
767
+ export interface FieldOptions_EditionDefault {
768
+ edition?: Edition | undefined;
769
+ /** Textproto value. */
770
+ value?: string | undefined;
771
+ }
772
+ /** Information about the support window of a feature. */
773
+ export interface FieldOptions_FeatureSupport {
774
+ /**
775
+ * The edition that this feature was first available in. In editions
776
+ * earlier than this one, the default assigned to EDITION_LEGACY will be
777
+ * used, and proto files will not be able to override it.
778
+ */
779
+ editionIntroduced?: Edition | undefined;
780
+ /**
781
+ * The edition this feature becomes deprecated in. Using this after this
782
+ * edition may trigger warnings.
783
+ */
784
+ editionDeprecated?: Edition | undefined;
785
+ /**
786
+ * The deprecation warning text if this feature is used after the edition it
787
+ * was marked deprecated in.
788
+ */
789
+ deprecationWarning?: string | undefined;
790
+ /**
791
+ * The edition this feature is no longer available in. In editions after
792
+ * this one, the last default assigned will be used, and proto files will
793
+ * not be able to override it.
794
+ */
795
+ editionRemoved?: Edition | undefined;
796
+ /**
797
+ * The removal error text if this feature is used after the edition it was
798
+ * removed in.
799
+ */
800
+ removalError?: string | undefined;
801
+ }
557
802
  export interface OneofOptions {
803
+ /**
804
+ * Any features defined in the specific edition.
805
+ * WARNING: This field should only be used by protobuf plugins or special
806
+ * cases like the proto compiler. Other uses are discouraged and
807
+ * developers should rely on the protoreflect APIs for their client language.
808
+ */
809
+ features?: FeatureSet | undefined;
558
810
  /** The parser stores options it doesn't recognize here. See above. */
559
811
  uninterpretedOption: UninterpretedOption[];
560
812
  }
@@ -571,6 +823,24 @@ export interface EnumOptions {
571
823
  * is a formalization for deprecating enums.
572
824
  */
573
825
  deprecated?: boolean | undefined;
826
+ /**
827
+ * Enable the legacy handling of JSON field name conflicts. This lowercases
828
+ * and strips underscored from the fields before comparison in proto3 only.
829
+ * The new behavior takes `json_name` into account and applies to proto2 as
830
+ * well.
831
+ * TODO Remove this legacy behavior once downstream teams have
832
+ * had time to migrate.
833
+ *
834
+ * @deprecated
835
+ */
836
+ deprecatedLegacyJsonFieldConflicts?: boolean | undefined;
837
+ /**
838
+ * Any features defined in the specific edition.
839
+ * WARNING: This field should only be used by protobuf plugins or special
840
+ * cases like the proto compiler. Other uses are discouraged and
841
+ * developers should rely on the protoreflect APIs for their client language.
842
+ */
843
+ features?: FeatureSet | undefined;
574
844
  /** The parser stores options it doesn't recognize here. See above. */
575
845
  uninterpretedOption: UninterpretedOption[];
576
846
  }
@@ -582,10 +852,32 @@ export interface EnumValueOptions {
582
852
  * this is a formalization for deprecating enum values.
583
853
  */
584
854
  deprecated?: boolean | undefined;
855
+ /**
856
+ * Any features defined in the specific edition.
857
+ * WARNING: This field should only be used by protobuf plugins or special
858
+ * cases like the proto compiler. Other uses are discouraged and
859
+ * developers should rely on the protoreflect APIs for their client language.
860
+ */
861
+ features?: FeatureSet | undefined;
862
+ /**
863
+ * Indicate that fields annotated with this enum value should not be printed
864
+ * out when using debug formats, e.g. when the field contains sensitive
865
+ * credentials.
866
+ */
867
+ debugRedact?: boolean | undefined;
868
+ /** Information about the support window of a feature value. */
869
+ featureSupport?: FieldOptions_FeatureSupport | undefined;
585
870
  /** The parser stores options it doesn't recognize here. See above. */
586
871
  uninterpretedOption: UninterpretedOption[];
587
872
  }
588
873
  export interface ServiceOptions {
874
+ /**
875
+ * Any features defined in the specific edition.
876
+ * WARNING: This field should only be used by protobuf plugins or special
877
+ * cases like the proto compiler. Other uses are discouraged and
878
+ * developers should rely on the protoreflect APIs for their client language.
879
+ */
880
+ features?: FeatureSet | undefined;
589
881
  /**
590
882
  * Is this service deprecated?
591
883
  * Depending on the target platform, this can emit Deprecated annotations
@@ -605,6 +897,13 @@ export interface MethodOptions {
605
897
  */
606
898
  deprecated?: boolean | undefined;
607
899
  idempotencyLevel?: MethodOptions_IdempotencyLevel | undefined;
900
+ /**
901
+ * Any features defined in the specific edition.
902
+ * WARNING: This field should only be used by protobuf plugins or special
903
+ * cases like the proto compiler. Other uses are discouraged and
904
+ * developers should rely on the protoreflect APIs for their client language.
905
+ */
906
+ features?: FeatureSet | undefined;
608
907
  /** The parser stores options it doesn't recognize here. See above. */
609
908
  uninterpretedOption: UninterpretedOption[];
610
909
  }
@@ -653,6 +952,117 @@ export interface UninterpretedOption_NamePart {
653
952
  namePart: string;
654
953
  isExtension: boolean;
655
954
  }
955
+ /**
956
+ * TODO Enums in C++ gencode (and potentially other languages) are
957
+ * not well scoped. This means that each of the feature enums below can clash
958
+ * with each other. The short names we've chosen maximize call-site
959
+ * readability, but leave us very open to this scenario. A future feature will
960
+ * be designed and implemented to handle this, hopefully before we ever hit a
961
+ * conflict here.
962
+ */
963
+ export interface FeatureSet {
964
+ fieldPresence?: FeatureSet_FieldPresence | undefined;
965
+ enumType?: FeatureSet_EnumType | undefined;
966
+ repeatedFieldEncoding?: FeatureSet_RepeatedFieldEncoding | undefined;
967
+ utf8Validation?: FeatureSet_Utf8Validation | undefined;
968
+ messageEncoding?: FeatureSet_MessageEncoding | undefined;
969
+ jsonFormat?: FeatureSet_JsonFormat | undefined;
970
+ enforceNamingStyle?: FeatureSet_EnforceNamingStyle | undefined;
971
+ defaultSymbolVisibility?: FeatureSet_VisibilityFeature_DefaultSymbolVisibility | undefined;
972
+ }
973
+ export declare enum FeatureSet_FieldPresence {
974
+ FIELD_PRESENCE_UNKNOWN = 0,
975
+ EXPLICIT = 1,
976
+ IMPLICIT = 2,
977
+ LEGACY_REQUIRED = 3,
978
+ UNRECOGNIZED = -1
979
+ }
980
+ export declare enum FeatureSet_EnumType {
981
+ ENUM_TYPE_UNKNOWN = 0,
982
+ OPEN = 1,
983
+ CLOSED = 2,
984
+ UNRECOGNIZED = -1
985
+ }
986
+ export declare enum FeatureSet_RepeatedFieldEncoding {
987
+ REPEATED_FIELD_ENCODING_UNKNOWN = 0,
988
+ PACKED = 1,
989
+ EXPANDED = 2,
990
+ UNRECOGNIZED = -1
991
+ }
992
+ export declare enum FeatureSet_Utf8Validation {
993
+ UTF8_VALIDATION_UNKNOWN = 0,
994
+ VERIFY = 2,
995
+ NONE = 3,
996
+ UNRECOGNIZED = -1
997
+ }
998
+ export declare enum FeatureSet_MessageEncoding {
999
+ MESSAGE_ENCODING_UNKNOWN = 0,
1000
+ LENGTH_PREFIXED = 1,
1001
+ DELIMITED = 2,
1002
+ UNRECOGNIZED = -1
1003
+ }
1004
+ export declare enum FeatureSet_JsonFormat {
1005
+ JSON_FORMAT_UNKNOWN = 0,
1006
+ ALLOW = 1,
1007
+ LEGACY_BEST_EFFORT = 2,
1008
+ UNRECOGNIZED = -1
1009
+ }
1010
+ export declare enum FeatureSet_EnforceNamingStyle {
1011
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0,
1012
+ STYLE2024 = 1,
1013
+ STYLE_LEGACY = 2,
1014
+ UNRECOGNIZED = -1
1015
+ }
1016
+ export interface FeatureSet_VisibilityFeature {
1017
+ }
1018
+ export declare enum FeatureSet_VisibilityFeature_DefaultSymbolVisibility {
1019
+ DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0,
1020
+ /** EXPORT_ALL - Default pre-EDITION_2024, all UNSET visibility are export. */
1021
+ EXPORT_ALL = 1,
1022
+ /** EXPORT_TOP_LEVEL - All top-level symbols default to export, nested default to local. */
1023
+ EXPORT_TOP_LEVEL = 2,
1024
+ /** LOCAL_ALL - All symbols default to local. */
1025
+ LOCAL_ALL = 3,
1026
+ /**
1027
+ * STRICT - All symbols local by default. Nested types cannot be exported.
1028
+ * With special case caveat for message { enum {} reserved 1 to max; }
1029
+ * This is the recommended setting for new protos.
1030
+ */
1031
+ STRICT = 4,
1032
+ UNRECOGNIZED = -1
1033
+ }
1034
+ /**
1035
+ * A compiled specification for the defaults of a set of features. These
1036
+ * messages are generated from FeatureSet extensions and can be used to seed
1037
+ * feature resolution. The resolution with this object becomes a simple search
1038
+ * for the closest matching edition, followed by proto merges.
1039
+ */
1040
+ export interface FeatureSetDefaults {
1041
+ defaults: FeatureSetDefaults_FeatureSetEditionDefault[];
1042
+ /**
1043
+ * The minimum supported edition (inclusive) when this was constructed.
1044
+ * Editions before this will not have defaults.
1045
+ */
1046
+ minimumEdition?: Edition | undefined;
1047
+ /**
1048
+ * The maximum known edition (inclusive) when this was constructed. Editions
1049
+ * after this will not have reliable defaults.
1050
+ */
1051
+ maximumEdition?: Edition | undefined;
1052
+ }
1053
+ /**
1054
+ * A map from every known edition with a unique set of defaults to its
1055
+ * defaults. Not all editions may be contained here. For a given edition,
1056
+ * the defaults at the closest matching edition ordered at or before it should
1057
+ * be used. This field must be in strict ascending order by edition.
1058
+ */
1059
+ export interface FeatureSetDefaults_FeatureSetEditionDefault {
1060
+ edition?: Edition | undefined;
1061
+ /** Defaults of features that can be overridden in this edition. */
1062
+ overridableFeatures?: FeatureSet | undefined;
1063
+ /** Defaults of features that can't be overridden in this edition. */
1064
+ fixedFeatures?: FeatureSet | undefined;
1065
+ }
656
1066
  /**
657
1067
  * Encapsulates information about the original source file from which a
658
1068
  * FileDescriptorProto was generated.
@@ -711,7 +1121,7 @@ export interface SourceCodeInfo_Location {
711
1121
  * location.
712
1122
  *
713
1123
  * Each element is a field number or an index. They form a path from
714
- * the root FileDescriptorProto to the place where the definition occurs.
1124
+ * the root FileDescriptorProto to the place where the definition appears.
715
1125
  * For example, this path:
716
1126
  * [ 4, 3, 2, 7, 1 ]
717
1127
  * refers to:
@@ -820,10 +1230,24 @@ export interface GeneratedCodeInfo_Annotation {
820
1230
  begin?: number | undefined;
821
1231
  /**
822
1232
  * Identifies the ending offset in bytes in the generated code that
823
- * relates to the identified offset. The end offset should be one past
1233
+ * relates to the identified object. The end offset should be one past
824
1234
  * the last relevant byte (so the length of the text = end - begin).
825
1235
  */
826
1236
  end?: number | undefined;
1237
+ semantic?: GeneratedCodeInfo_Annotation_Semantic | undefined;
1238
+ }
1239
+ /**
1240
+ * Represents the identified object's effect on the element in the original
1241
+ * .proto file.
1242
+ */
1243
+ export declare enum GeneratedCodeInfo_Annotation_Semantic {
1244
+ /** NONE - There is no effect or the effect is indescribable. */
1245
+ NONE = 0,
1246
+ /** SET - The element is set or otherwise mutated. */
1247
+ SET = 1,
1248
+ /** ALIAS - An alias to the element is returned. */
1249
+ ALIAS = 2,
1250
+ UNRECOGNIZED = -1
827
1251
  }
828
1252
  export declare const FileDescriptorSet: MessageFns<FileDescriptorSet>;
829
1253
  export declare const FileDescriptorProto: MessageFns<FileDescriptorProto>;
@@ -831,6 +1255,7 @@ export declare const DescriptorProto: MessageFns<DescriptorProto>;
831
1255
  export declare const DescriptorProto_ExtensionRange: MessageFns<DescriptorProto_ExtensionRange>;
832
1256
  export declare const DescriptorProto_ReservedRange: MessageFns<DescriptorProto_ReservedRange>;
833
1257
  export declare const ExtensionRangeOptions: MessageFns<ExtensionRangeOptions>;
1258
+ export declare const ExtensionRangeOptions_Declaration: MessageFns<ExtensionRangeOptions_Declaration>;
834
1259
  export declare const FieldDescriptorProto: MessageFns<FieldDescriptorProto>;
835
1260
  export declare const OneofDescriptorProto: MessageFns<OneofDescriptorProto>;
836
1261
  export declare const EnumDescriptorProto: MessageFns<EnumDescriptorProto>;
@@ -841,6 +1266,8 @@ export declare const MethodDescriptorProto: MessageFns<MethodDescriptorProto>;
841
1266
  export declare const FileOptions: MessageFns<FileOptions>;
842
1267
  export declare const MessageOptions: MessageFns<MessageOptions>;
843
1268
  export declare const FieldOptions: MessageFns<FieldOptions>;
1269
+ export declare const FieldOptions_EditionDefault: MessageFns<FieldOptions_EditionDefault>;
1270
+ export declare const FieldOptions_FeatureSupport: MessageFns<FieldOptions_FeatureSupport>;
844
1271
  export declare const OneofOptions: MessageFns<OneofOptions>;
845
1272
  export declare const EnumOptions: MessageFns<EnumOptions>;
846
1273
  export declare const EnumValueOptions: MessageFns<EnumValueOptions>;
@@ -848,6 +1275,10 @@ export declare const ServiceOptions: MessageFns<ServiceOptions>;
848
1275
  export declare const MethodOptions: MessageFns<MethodOptions>;
849
1276
  export declare const UninterpretedOption: MessageFns<UninterpretedOption>;
850
1277
  export declare const UninterpretedOption_NamePart: MessageFns<UninterpretedOption_NamePart>;
1278
+ export declare const FeatureSet: MessageFns<FeatureSet>;
1279
+ export declare const FeatureSet_VisibilityFeature: MessageFns<FeatureSet_VisibilityFeature>;
1280
+ export declare const FeatureSetDefaults: MessageFns<FeatureSetDefaults>;
1281
+ export declare const FeatureSetDefaults_FeatureSetEditionDefault: MessageFns<FeatureSetDefaults_FeatureSetEditionDefault>;
851
1282
  export declare const SourceCodeInfo: MessageFns<SourceCodeInfo>;
852
1283
  export declare const SourceCodeInfo_Location: MessageFns<SourceCodeInfo_Location>;
853
1284
  export declare const GeneratedCodeInfo: MessageFns<GeneratedCodeInfo>;