basedpyright 1.10.3 → 1.10.4

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 (278) hide show
  1. package/dist/pyright-langserver.js +1 -1
  2. package/dist/pyright-langserver.js.map +1 -1
  3. package/dist/pyright.js +1 -1
  4. package/dist/pyright.js.map +1 -1
  5. package/dist/typeshed-fallback/commit.txt +1 -1
  6. package/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi +7 -2
  7. package/dist/typeshed-fallback/stdlib/asyncio/constants.pyi +3 -3
  8. package/dist/typeshed-fallback/stdlib/asyncio/locks.pyi +4 -4
  9. package/dist/typeshed-fallback/stdlib/asyncio/sslproto.pyi +9 -9
  10. package/dist/typeshed-fallback/stdlib/asyncio/streams.pyi +10 -5
  11. package/dist/typeshed-fallback/stdlib/contextlib.pyi +23 -22
  12. package/dist/typeshed-fallback/stdlib/email/message.pyi +26 -27
  13. package/dist/typeshed-fallback/stdlib/email/parser.pyi +25 -15
  14. package/dist/typeshed-fallback/stdlib/http/__init__.pyi +68 -68
  15. package/dist/typeshed-fallback/stdlib/http/client.pyi +7 -21
  16. package/dist/typeshed-fallback/stdlib/inspect.pyi +24 -24
  17. package/dist/typeshed-fallback/stdlib/multiprocessing/synchronize.pyi +2 -2
  18. package/dist/typeshed-fallback/stdlib/os/__init__.pyi +2 -2
  19. package/dist/typeshed-fallback/stdlib/plistlib.pyi +2 -2
  20. package/dist/typeshed-fallback/stdlib/pstats.pyi +9 -9
  21. package/dist/typeshed-fallback/stdlib/py_compile.pyi +3 -3
  22. package/dist/typeshed-fallback/stdlib/signal.pyi +46 -46
  23. package/dist/typeshed-fallback/stdlib/socket.pyi +75 -75
  24. package/dist/typeshed-fallback/stdlib/ssl.pyi +81 -81
  25. package/dist/typeshed-fallback/stdlib/tkinter/__init__.pyi +38 -38
  26. package/dist/typeshed-fallback/stdlib/typing.pyi +22 -14
  27. package/dist/typeshed-fallback/stdlib/typing_extensions.pyi +1 -1
  28. package/dist/typeshed-fallback/stdlib/uuid.pyi +3 -3
  29. package/dist/typeshed-fallback/stdlib/winreg.pyi +75 -46
  30. package/dist/typeshed-fallback/stubs/Pillow/METADATA.toml +1 -0
  31. package/dist/typeshed-fallback/stubs/Pillow/PIL/BlpImagePlugin.pyi +7 -7
  32. package/dist/typeshed-fallback/stubs/Pillow/PIL/ExifTags.pyi +331 -331
  33. package/dist/typeshed-fallback/stubs/Pillow/PIL/FtexImagePlugin.pyi +2 -2
  34. package/dist/typeshed-fallback/stubs/Pillow/PIL/Image.pyi +28 -28
  35. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageCms.pyi +7 -7
  36. package/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFont.pyi +2 -2
  37. package/dist/typeshed-fallback/stubs/Pillow/PIL/PngImagePlugin.pyi +5 -5
  38. package/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/reservoir.pyi +3 -3
  39. package/dist/typeshed-fallback/stubs/boltons/METADATA.toml +1 -1
  40. package/dist/typeshed-fallback/stubs/boltons/boltons/ecoutils.pyi +0 -1
  41. package/dist/typeshed-fallback/stubs/boltons/boltons/funcutils.pyi +15 -0
  42. package/dist/typeshed-fallback/stubs/boltons/boltons/ioutils.pyi +0 -2
  43. package/dist/typeshed-fallback/stubs/boltons/boltons/strutils.pyi +4 -6
  44. package/dist/typeshed-fallback/stubs/boltons/boltons/urlutils.pyi +2 -0
  45. package/dist/typeshed-fallback/stubs/capturer/METADATA.toml +2 -0
  46. package/dist/typeshed-fallback/stubs/capturer/capturer.pyi +122 -0
  47. package/dist/typeshed-fallback/stubs/croniter/croniter/croniter.pyi +1 -1
  48. package/dist/typeshed-fallback/stubs/dateparser/METADATA.toml +1 -1
  49. package/dist/typeshed-fallback/stubs/dateparser/dateparser/utils/__init__.pyi +1 -0
  50. package/dist/typeshed-fallback/stubs/docker/METADATA.toml +3 -0
  51. package/dist/typeshed-fallback/stubs/docker/docker/__init__.pyi +7 -0
  52. package/dist/typeshed-fallback/stubs/docker/docker/api/__init__.pyi +1 -0
  53. package/dist/typeshed-fallback/stubs/docker/docker/api/build.pyi +55 -0
  54. package/dist/typeshed-fallback/stubs/docker/docker/api/client.pyi +55 -0
  55. package/dist/typeshed-fallback/stubs/docker/docker/api/config.pyi +7 -0
  56. package/dist/typeshed-fallback/stubs/docker/docker/api/container.pyi +109 -0
  57. package/dist/typeshed-fallback/stubs/docker/docker/api/daemon.pyi +23 -0
  58. package/dist/typeshed-fallback/stubs/docker/docker/api/exec_api.pyi +22 -0
  59. package/dist/typeshed-fallback/stubs/docker/docker/api/image.pyi +59 -0
  60. package/dist/typeshed-fallback/stubs/docker/docker/api/network.pyi +34 -0
  61. package/dist/typeshed-fallback/stubs/docker/docker/api/plugin.pyi +14 -0
  62. package/dist/typeshed-fallback/stubs/docker/docker/api/secret.pyi +7 -0
  63. package/dist/typeshed-fallback/stubs/docker/docker/api/service.pyi +47 -0
  64. package/dist/typeshed-fallback/stubs/docker/docker/api/swarm.pyi +41 -0
  65. package/dist/typeshed-fallback/stubs/docker/docker/api/volume.pyi +14 -0
  66. package/dist/typeshed-fallback/stubs/docker/docker/auth.pyi +40 -0
  67. package/dist/typeshed-fallback/stubs/docker/docker/client.pyi +49 -0
  68. package/dist/typeshed-fallback/stubs/docker/docker/constants.pyi +22 -0
  69. package/dist/typeshed-fallback/stubs/docker/docker/context/__init__.pyi +2 -0
  70. package/dist/typeshed-fallback/stubs/docker/docker/context/api.pyi +30 -0
  71. package/dist/typeshed-fallback/stubs/docker/docker/context/config.pyi +10 -0
  72. package/dist/typeshed-fallback/stubs/docker/docker/context/context.pyi +47 -0
  73. package/dist/typeshed-fallback/stubs/docker/docker/credentials/__init__.pyi +8 -0
  74. package/dist/typeshed-fallback/stubs/docker/docker/credentials/constants.pyi +4 -0
  75. package/dist/typeshed-fallback/stubs/docker/docker/credentials/errors.pyi +7 -0
  76. package/dist/typeshed-fallback/stubs/docker/docker/credentials/store.pyi +11 -0
  77. package/dist/typeshed-fallback/stubs/docker/docker/credentials/utils.pyi +1 -0
  78. package/dist/typeshed-fallback/stubs/docker/docker/errors.pyi +71 -0
  79. package/dist/typeshed-fallback/stubs/docker/docker/models/__init__.pyi +0 -0
  80. package/dist/typeshed-fallback/stubs/docker/docker/models/configs.pyi +13 -0
  81. package/dist/typeshed-fallback/stubs/docker/docker/models/containers.pyi +81 -0
  82. package/dist/typeshed-fallback/stubs/docker/docker/models/images.pyi +43 -0
  83. package/dist/typeshed-fallback/stubs/docker/docker/models/networks.pyi +19 -0
  84. package/dist/typeshed-fallback/stubs/docker/docker/models/nodes.pyi +13 -0
  85. package/dist/typeshed-fallback/stubs/docker/docker/models/plugins.pyi +25 -0
  86. package/dist/typeshed-fallback/stubs/docker/docker/models/resource.pyi +27 -0
  87. package/dist/typeshed-fallback/stubs/docker/docker/models/secrets.pyi +13 -0
  88. package/dist/typeshed-fallback/stubs/docker/docker/models/services.pyi +27 -0
  89. package/dist/typeshed-fallback/stubs/docker/docker/models/swarm.pyi +33 -0
  90. package/dist/typeshed-fallback/stubs/docker/docker/models/volumes.pyi +16 -0
  91. package/dist/typeshed-fallback/stubs/docker/docker/tls.pyi +10 -0
  92. package/dist/typeshed-fallback/stubs/docker/docker/transport/__init__.pyi +4 -0
  93. package/dist/typeshed-fallback/stubs/docker/docker/transport/basehttpadapter.pyi +4 -0
  94. package/dist/typeshed-fallback/stubs/docker/docker/transport/npipeconn.pyi +29 -0
  95. package/dist/typeshed-fallback/stubs/docker/docker/transport/npipesocket.pyi +49 -0
  96. package/dist/typeshed-fallback/stubs/docker/docker/transport/sshconn.pyi +49 -0
  97. package/dist/typeshed-fallback/stubs/docker/docker/transport/unixconn.pyi +31 -0
  98. package/dist/typeshed-fallback/stubs/docker/docker/types/__init__.pyi +35 -0
  99. package/dist/typeshed-fallback/stubs/docker/docker/types/base.pyi +5 -0
  100. package/dist/typeshed-fallback/stubs/docker/docker/types/containers.pyi +164 -0
  101. package/dist/typeshed-fallback/stubs/docker/docker/types/daemon.pyi +6 -0
  102. package/dist/typeshed-fallback/stubs/docker/docker/types/healthcheck.pyi +24 -0
  103. package/dist/typeshed-fallback/stubs/docker/docker/types/networks.pyi +31 -0
  104. package/dist/typeshed-fallback/stubs/docker/docker/types/services.pyi +170 -0
  105. package/dist/typeshed-fallback/stubs/docker/docker/types/swarm.pyi +29 -0
  106. package/dist/typeshed-fallback/stubs/docker/docker/utils/__init__.pyi +32 -0
  107. package/dist/typeshed-fallback/stubs/docker/docker/utils/build.pyi +38 -0
  108. package/dist/typeshed-fallback/stubs/docker/docker/utils/config.pyi +10 -0
  109. package/dist/typeshed-fallback/stubs/docker/docker/utils/decorators.pyi +3 -0
  110. package/dist/typeshed-fallback/stubs/docker/docker/utils/fnmatch.pyi +5 -0
  111. package/dist/typeshed-fallback/stubs/docker/docker/utils/json_stream.pyi +10 -0
  112. package/dist/typeshed-fallback/stubs/docker/docker/utils/ports.pyi +9 -0
  113. package/dist/typeshed-fallback/stubs/docker/docker/utils/proxy.pyi +33 -0
  114. package/dist/typeshed-fallback/stubs/docker/docker/utils/socket.pyi +18 -0
  115. package/dist/typeshed-fallback/stubs/docker/docker/utils/utils.pyi +34 -0
  116. package/dist/typeshed-fallback/stubs/docker/docker/version.pyi +1 -0
  117. package/dist/typeshed-fallback/stubs/docutils/METADATA.toml +1 -1
  118. package/dist/typeshed-fallback/stubs/docutils/docutils/frontend.pyi +55 -11
  119. package/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.pyi +1 -1
  120. package/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/tableparser.pyi +1 -1
  121. package/dist/typeshed-fallback/stubs/docutils/docutils/statemachine.pyi +3 -2
  122. package/dist/typeshed-fallback/stubs/editdistance/METADATA.toml +1 -1
  123. package/dist/typeshed-fallback/stubs/editdistance/editdistance/__init__.pyi +2 -0
  124. package/dist/typeshed-fallback/stubs/flake8-bugbear/METADATA.toml +1 -1
  125. package/dist/typeshed-fallback/stubs/flake8-builtins/METADATA.toml +1 -1
  126. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/enums.pyi +163 -163
  127. package/dist/typeshed-fallback/stubs/gdb/gdb/__init__.pyi +5 -0
  128. package/dist/typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.pyi +2 -1
  129. package/dist/typeshed-fallback/stubs/icalendar/METADATA.toml +3 -0
  130. package/dist/typeshed-fallback/stubs/icalendar/icalendar/__init__.pyi +40 -0
  131. package/dist/typeshed-fallback/stubs/icalendar/icalendar/cal.pyi +86 -0
  132. package/dist/typeshed-fallback/stubs/icalendar/icalendar/caselessdict.pyi +43 -0
  133. package/dist/typeshed-fallback/stubs/icalendar/icalendar/parser.pyi +58 -0
  134. package/dist/typeshed-fallback/stubs/icalendar/icalendar/parser_tools.pyi +17 -0
  135. package/dist/typeshed-fallback/stubs/icalendar/icalendar/prop.pyi +225 -0
  136. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone_cache.pyi +0 -0
  137. package/dist/typeshed-fallback/stubs/icalendar/icalendar/tools.pyi +10 -0
  138. package/dist/typeshed-fallback/stubs/icalendar/icalendar/windows_to_olson.pyi +3 -0
  139. package/dist/typeshed-fallback/stubs/influxdb-client/METADATA.toml +1 -1
  140. package/dist/typeshed-fallback/stubs/influxdb-client/influxdb_client/client/flux_csv_parser.pyi +5 -5
  141. package/dist/typeshed-fallback/stubs/influxdb-client/influxdb_client/client/write_api.pyi +3 -3
  142. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness.pyi +9 -7
  143. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness_subset.pyi +8 -3
  144. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/closeness.pyi +11 -4
  145. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/degree_alg.pyi +4 -3
  146. package/dist/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/dispersion.pyi +5 -6
  147. package/dist/typeshed-fallback/stubs/networkx/networkx/convert.pyi +5 -5
  148. package/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/worksheet.pyi +7 -2
  149. package/dist/typeshed-fallback/stubs/paramiko/paramiko/client.pyi +4 -3
  150. package/dist/typeshed-fallback/stubs/paramiko/paramiko/config.pyi +2 -1
  151. package/dist/typeshed-fallback/stubs/paramiko/paramiko/dsskey.pyi +3 -3
  152. package/dist/typeshed-fallback/stubs/paramiko/paramiko/ecdsakey.pyi +3 -3
  153. package/dist/typeshed-fallback/stubs/paramiko/paramiko/ed25519key.pyi +2 -2
  154. package/dist/typeshed-fallback/stubs/paramiko/paramiko/hostkeys.pyi +4 -3
  155. package/dist/typeshed-fallback/stubs/paramiko/paramiko/pkey.pyi +4 -3
  156. package/dist/typeshed-fallback/stubs/paramiko/paramiko/primes.pyi +3 -1
  157. package/dist/typeshed-fallback/stubs/paramiko/paramiko/rsakey.pyi +3 -3
  158. package/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp_server.pyi +2 -1
  159. package/dist/typeshed-fallback/stubs/paramiko/paramiko/transport.pyi +2 -1
  160. package/dist/typeshed-fallback/stubs/paramiko/paramiko/util.pyi +3 -3
  161. package/dist/typeshed-fallback/stubs/peewee/METADATA.toml +9 -1
  162. package/dist/typeshed-fallback/stubs/peewee/peewee.pyi +53 -22
  163. package/dist/typeshed-fallback/stubs/peewee/playhouse/__init__.pyi +0 -0
  164. package/dist/typeshed-fallback/stubs/peewee/playhouse/flask_utils.pyi +28 -0
  165. package/dist/typeshed-fallback/stubs/pika/pika/delivery_mode.pyi +2 -2
  166. package/dist/typeshed-fallback/stubs/pika/pika/exchange_type.pyi +4 -4
  167. package/dist/typeshed-fallback/stubs/protobuf/METADATA.toml +4 -2
  168. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/any_pb2.pyi +13 -8
  169. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.pyi +25 -19
  170. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/plugin_pb2.pyi +51 -17
  171. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.pyi +84 -82
  172. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.pyi +743 -161
  173. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pool.pyi +3 -7
  174. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/duration_pb2.pyi +4 -3
  175. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/empty_pb2.pyi +2 -2
  176. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/field_mask_pb2.pyi +5 -3
  177. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/builder.pyi +2 -3
  178. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/containers.pyi +6 -5
  179. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/decoder.pyi +3 -3
  180. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.pyi +5 -7
  181. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/json_format.pyi +19 -19
  182. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/message.pyi +3 -3
  183. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/message_factory.pyi +2 -2
  184. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/source_context_pb2.pyi +4 -3
  185. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/struct_pb2.pyi +17 -12
  186. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/text_format.pyi +94 -92
  187. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp_pb2.pyi +5 -6
  188. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/type_pb2.pyi +43 -20
  189. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/wrappers_pb2.pyi +50 -19
  190. package/dist/typeshed-fallback/stubs/psutil/psutil/_common.pyi +5 -5
  191. package/dist/typeshed-fallback/stubs/psutil/psutil/_pslinux.pyi +4 -4
  192. package/dist/typeshed-fallback/stubs/psutil/psutil/_psutil_windows.pyi +8 -6
  193. package/dist/typeshed-fallback/stubs/psutil/psutil/_pswindows.pyi +10 -10
  194. package/dist/typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.pyi +3 -3
  195. package/dist/typeshed-fallback/stubs/psycopg2/psycopg2/pool.pyi +2 -2
  196. package/dist/typeshed-fallback/stubs/pyOpenSSL/METADATA.toml +1 -1
  197. package/dist/typeshed-fallback/stubs/pyOpenSSL/OpenSSL/SSL.pyi +2 -3
  198. package/dist/typeshed-fallback/stubs/pycurl/METADATA.toml +2 -13
  199. package/dist/typeshed-fallback/stubs/pycurl/pycurl.pyi +669 -639
  200. package/dist/typeshed-fallback/stubs/pyinstaller/METADATA.toml +1 -1
  201. package/dist/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/build_main.pyi +2 -1
  202. package/dist/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/splash.pyi +19 -1
  203. package/dist/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.pyi +64 -64
  204. package/dist/typeshed-fallback/stubs/pynput/pynput/mouse/_base.pyi +33 -33
  205. package/dist/typeshed-fallback/stubs/python-crontab/crontab.pyi +4 -4
  206. package/dist/typeshed-fallback/stubs/pytz/pytz/lazy.pyi +11 -7
  207. package/dist/typeshed-fallback/stubs/pywin32/win32comext/propsys/propsys.pyi +1 -1
  208. package/dist/typeshed-fallback/stubs/qrbill/METADATA.toml +3 -0
  209. package/dist/typeshed-fallback/stubs/qrbill/qrbill/__init__.pyi +1 -0
  210. package/dist/typeshed-fallback/stubs/qrbill/qrbill/bill.pyi +180 -0
  211. package/dist/typeshed-fallback/stubs/qrcode/qrcode/constants.pyi +6 -4
  212. package/dist/typeshed-fallback/stubs/qrcode/qrcode/main.pyi +68 -18
  213. package/dist/typeshed-fallback/stubs/qrcode/qrcode/util.pyi +24 -13
  214. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/client.pyi +7 -7
  215. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/cluster.pyi +56 -5
  216. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/connection.pyi +210 -128
  217. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/sentinel.pyi +141 -48
  218. package/dist/typeshed-fallback/stubs/redis/redis/cluster.pyi +1 -1
  219. package/dist/typeshed-fallback/stubs/redis/redis/commands/cluster.pyi +1 -1
  220. package/dist/typeshed-fallback/stubs/redis/redis/typing.pyi +2 -2
  221. package/dist/typeshed-fallback/stubs/regex/METADATA.toml +1 -1
  222. package/dist/typeshed-fallback/stubs/regex/regex/_regex_core.pyi +34 -34
  223. package/dist/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_session.pyi +1 -3
  224. package/dist/typeshed-fallback/stubs/s2clientprotocol/METADATA.toml +3 -0
  225. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/common_pb2.pyi +25 -23
  226. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/data_pb2.pyi +31 -28
  227. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/debug_pb2.pyi +53 -48
  228. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/error_pb2.pyi +1 -0
  229. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/query_pb2.pyi +33 -32
  230. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/raw_pb2.pyi +85 -71
  231. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/sc2api_pb2.pyi +246 -197
  232. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/score_pb2.pyi +31 -16
  233. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/spatial_pb2.pyi +75 -34
  234. package/dist/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/ui_pb2.pyi +61 -59
  235. package/dist/typeshed-fallback/stubs/seaborn/seaborn/_core/groupby.pyi +2 -2
  236. package/dist/typeshed-fallback/stubs/seaborn/seaborn/_core/plot.pyi +1 -1
  237. package/dist/typeshed-fallback/stubs/seaborn/seaborn/_core/scales.pyi +3 -3
  238. package/dist/typeshed-fallback/stubs/seaborn/seaborn/_core/typing.pyi +1 -1
  239. package/dist/typeshed-fallback/stubs/seaborn/seaborn/axisgrid.pyi +1 -1
  240. package/dist/typeshed-fallback/stubs/seaborn/seaborn/categorical.pyi +12 -13
  241. package/dist/typeshed-fallback/stubs/seaborn/seaborn/matrix.pyi +5 -7
  242. package/dist/typeshed-fallback/stubs/seaborn/seaborn/utils.pyi +1 -3
  243. package/dist/typeshed-fallback/stubs/setuptools/METADATA.toml +1 -1
  244. package/dist/typeshed-fallback/stubs/setuptools/distutils/_modified.pyi +1 -0
  245. package/dist/typeshed-fallback/stubs/setuptools/distutils/command/bdist.pyi +1 -0
  246. package/dist/typeshed-fallback/stubs/setuptools/distutils/command/install_lib.pyi +1 -0
  247. package/dist/typeshed-fallback/stubs/setuptools/distutils/compat/__init__.pyi +1 -0
  248. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.pyi +1 -1
  249. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist.pyi +25 -0
  250. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/register.pyi +13 -0
  251. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/sdist.pyi +10 -1
  252. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/upload.pyi +13 -1
  253. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compat/__init__.pyi +1 -0
  254. package/dist/typeshed-fallback/stubs/setuptools/setuptools/command/editable_wheel.pyi +3 -3
  255. package/dist/typeshed-fallback/stubs/tqdm/tqdm/contrib/discord.pyi +1 -6
  256. package/dist/typeshed-fallback/stubs/tqdm/tqdm/contrib/slack.pyi +3 -1
  257. package/dist/typeshed-fallback/stubs/tqdm/tqdm/contrib/telegram.pyi +3 -1
  258. package/dist/typeshed-fallback/stubs/tqdm/tqdm/rich.pyi +3 -3
  259. package/dist/typeshed-fallback/stubs/waitress/METADATA.toml +1 -4
  260. package/dist/typeshed-fallback/stubs/waitress/waitress/__init__.pyi +16 -5
  261. package/dist/typeshed-fallback/stubs/waitress/waitress/adjustments.pyi +12 -9
  262. package/dist/typeshed-fallback/stubs/waitress/waitress/buffers.pyi +8 -9
  263. package/dist/typeshed-fallback/stubs/waitress/waitress/channel.pyi +14 -11
  264. package/dist/typeshed-fallback/stubs/waitress/waitress/compat.pyi +6 -28
  265. package/dist/typeshed-fallback/stubs/waitress/waitress/parser.pyi +3 -2
  266. package/dist/typeshed-fallback/stubs/waitress/waitress/proxy_headers.pyi +12 -11
  267. package/dist/typeshed-fallback/stubs/waitress/waitress/rfc7230.pyi +27 -12
  268. package/dist/typeshed-fallback/stubs/waitress/waitress/runner.pyi +6 -5
  269. package/dist/typeshed-fallback/stubs/waitress/waitress/server.pyi +40 -37
  270. package/dist/typeshed-fallback/stubs/waitress/waitress/task.pyi +11 -10
  271. package/dist/typeshed-fallback/stubs/waitress/waitress/trigger.pyi +4 -3
  272. package/dist/typeshed-fallback/stubs/waitress/waitress/utilities.pyi +11 -11
  273. package/dist/typeshed-fallback/stubs/waitress/waitress/wasyncore.pyi +31 -34
  274. package/package.json +1 -1
  275. package/dist/typeshed-fallback/stubs/tzlocal/METADATA.toml +0 -4
  276. package/dist/typeshed-fallback/stubs/tzlocal/tzlocal/__init__.pyi +0 -8
  277. package/dist/typeshed-fallback/stubs/tzlocal/tzlocal/utils.pyi +0 -4
  278. package/dist/typeshed-fallback/stubs/tzlocal/tzlocal/windows_tz.pyi +0 -4
@@ -9,6 +9,7 @@ The messages in this file describe the definitions found in .proto files.
9
9
  A valid .proto file can be translated directly to a FileDescriptorProto
10
10
  without any other information (e.g. without reading its imports).
11
11
  """
12
+
12
13
  import builtins
13
14
  import collections.abc
14
15
  import sys
@@ -26,7 +27,75 @@ else:
26
27
 
27
28
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
28
29
 
29
- @typing_extensions.final
30
+ class _Edition:
31
+ ValueType = typing.NewType("ValueType", builtins.int)
32
+ V: typing_extensions.TypeAlias = ValueType
33
+
34
+ class _EditionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Edition.ValueType], builtins.type):
35
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
36
+ EDITION_UNKNOWN: _Edition.ValueType # 0
37
+ """A placeholder for an unknown edition value."""
38
+ EDITION_PROTO2: _Edition.ValueType # 998
39
+ """Legacy syntax "editions". These pre-date editions, but behave much like
40
+ distinct editions. These can't be used to specify the edition of proto
41
+ files, but feature definitions must supply proto2/proto3 defaults for
42
+ backwards compatibility.
43
+ """
44
+ EDITION_PROTO3: _Edition.ValueType # 999
45
+ EDITION_2023: _Edition.ValueType # 1000
46
+ """Editions that have been released. The specific values are arbitrary and
47
+ should not be depended on, but they will always be time-ordered for easy
48
+ comparison.
49
+ """
50
+ EDITION_2024: _Edition.ValueType # 1001
51
+ EDITION_1_TEST_ONLY: _Edition.ValueType # 1
52
+ """Placeholder editions for testing feature resolution. These should not be
53
+ used or relyed on outside of tests.
54
+ """
55
+ EDITION_2_TEST_ONLY: _Edition.ValueType # 2
56
+ EDITION_99997_TEST_ONLY: _Edition.ValueType # 99997
57
+ EDITION_99998_TEST_ONLY: _Edition.ValueType # 99998
58
+ EDITION_99999_TEST_ONLY: _Edition.ValueType # 99999
59
+ EDITION_MAX: _Edition.ValueType # 2147483647
60
+ """Placeholder for specifying unbounded edition support. This should only
61
+ ever be used by plugins that can expect to never require any changes to
62
+ support a new edition.
63
+ """
64
+
65
+ class Edition(_Edition, metaclass=_EditionEnumTypeWrapper):
66
+ """The full set of known editions."""
67
+
68
+ EDITION_UNKNOWN: Edition.ValueType # 0
69
+ """A placeholder for an unknown edition value."""
70
+ EDITION_PROTO2: Edition.ValueType # 998
71
+ """Legacy syntax "editions". These pre-date editions, but behave much like
72
+ distinct editions. These can't be used to specify the edition of proto
73
+ files, but feature definitions must supply proto2/proto3 defaults for
74
+ backwards compatibility.
75
+ """
76
+ EDITION_PROTO3: Edition.ValueType # 999
77
+ EDITION_2023: Edition.ValueType # 1000
78
+ """Editions that have been released. The specific values are arbitrary and
79
+ should not be depended on, but they will always be time-ordered for easy
80
+ comparison.
81
+ """
82
+ EDITION_2024: Edition.ValueType # 1001
83
+ EDITION_1_TEST_ONLY: Edition.ValueType # 1
84
+ """Placeholder editions for testing feature resolution. These should not be
85
+ used or relyed on outside of tests.
86
+ """
87
+ EDITION_2_TEST_ONLY: Edition.ValueType # 2
88
+ EDITION_99997_TEST_ONLY: Edition.ValueType # 99997
89
+ EDITION_99998_TEST_ONLY: Edition.ValueType # 99998
90
+ EDITION_99999_TEST_ONLY: Edition.ValueType # 99999
91
+ EDITION_MAX: Edition.ValueType # 2147483647
92
+ """Placeholder for specifying unbounded edition support. This should only
93
+ ever be used by plugins that can expect to never require any changes to
94
+ support a new edition.
95
+ """
96
+ global___Edition = Edition
97
+
98
+ @typing.final
30
99
  class FileDescriptorSet(google.protobuf.message.Message):
31
100
  """The protocol compiler can output a FileDescriptorSet containing the .proto
32
101
  files it parses.
@@ -42,11 +111,11 @@ class FileDescriptorSet(google.protobuf.message.Message):
42
111
  *,
43
112
  file: collections.abc.Iterable[global___FileDescriptorProto] | None = ...,
44
113
  ) -> None: ...
45
- def ClearField(self, field_name: typing_extensions.Literal["file", b"file"]) -> None: ...
114
+ def ClearField(self, field_name: typing.Literal["file", b"file"]) -> None: ...
46
115
 
47
116
  global___FileDescriptorSet = FileDescriptorSet
48
117
 
49
- @typing_extensions.final
118
+ @typing.final
50
119
  class FileDescriptorProto(google.protobuf.message.Message):
51
120
  """Describes a complete .proto file."""
52
121
 
@@ -64,24 +133,37 @@ class FileDescriptorProto(google.protobuf.message.Message):
64
133
  OPTIONS_FIELD_NUMBER: builtins.int
65
134
  SOURCE_CODE_INFO_FIELD_NUMBER: builtins.int
66
135
  SYNTAX_FIELD_NUMBER: builtins.int
136
+ EDITION_FIELD_NUMBER: builtins.int
67
137
  name: builtins.str
68
138
  """file name, relative to root of source tree"""
69
139
  package: builtins.str
70
140
  """e.g. "foo", "foo.bar", etc."""
141
+ syntax: builtins.str
142
+ """The syntax of the proto file.
143
+ The supported values are "proto2", "proto3", and "editions".
144
+
145
+ If `edition` is present, this value must be "editions".
146
+ """
147
+ edition: global___Edition.ValueType
148
+ """The edition of the proto file."""
71
149
  @property
72
150
  def dependency(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
73
151
  """Names of files imported by this file."""
152
+
74
153
  @property
75
154
  def public_dependency(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
76
155
  """Indexes of the public imported files in the dependency list above."""
156
+
77
157
  @property
78
158
  def weak_dependency(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
79
159
  """Indexes of the weak imported files in the dependency list.
80
160
  For Google-internal migration only. Do not use.
81
161
  """
162
+
82
163
  @property
83
164
  def message_type(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DescriptorProto]:
84
165
  """All top-level definitions in this file."""
166
+
85
167
  @property
86
168
  def enum_type(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EnumDescriptorProto]: ...
87
169
  @property
@@ -97,10 +179,7 @@ class FileDescriptorProto(google.protobuf.message.Message):
97
179
  functionality of the descriptors -- the information is needed only by
98
180
  development tools.
99
181
  """
100
- syntax: builtins.str
101
- """The syntax of the proto file.
102
- The supported values are "proto2" and "proto3".
103
- """
182
+
104
183
  def __init__(
105
184
  self,
106
185
  *,
@@ -116,19 +195,20 @@ class FileDescriptorProto(google.protobuf.message.Message):
116
195
  options: global___FileOptions | None = ...,
117
196
  source_code_info: global___SourceCodeInfo | None = ...,
118
197
  syntax: builtins.str | None = ...,
198
+ edition: global___Edition.ValueType | None = ...,
119
199
  ) -> None: ...
120
- def HasField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options", "package", b"package", "source_code_info", b"source_code_info", "syntax", b"syntax"]) -> builtins.bool: ...
121
- def ClearField(self, field_name: typing_extensions.Literal["dependency", b"dependency", "enum_type", b"enum_type", "extension", b"extension", "message_type", b"message_type", "name", b"name", "options", b"options", "package", b"package", "public_dependency", b"public_dependency", "service", b"service", "source_code_info", b"source_code_info", "syntax", b"syntax", "weak_dependency", b"weak_dependency"]) -> None: ...
200
+ def HasField(self, field_name: typing.Literal["edition", b"edition", "name", b"name", "options", b"options", "package", b"package", "source_code_info", b"source_code_info", "syntax", b"syntax"]) -> builtins.bool: ...
201
+ def ClearField(self, field_name: typing.Literal["dependency", b"dependency", "edition", b"edition", "enum_type", b"enum_type", "extension", b"extension", "message_type", b"message_type", "name", b"name", "options", b"options", "package", b"package", "public_dependency", b"public_dependency", "service", b"service", "source_code_info", b"source_code_info", "syntax", b"syntax", "weak_dependency", b"weak_dependency"]) -> None: ...
122
202
 
123
203
  global___FileDescriptorProto = FileDescriptorProto
124
204
 
125
- @typing_extensions.final
205
+ @typing.final
126
206
  class DescriptorProto(google.protobuf.message.Message):
127
207
  """Describes a message type."""
128
208
 
129
209
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
130
210
 
131
- @typing_extensions.final
211
+ @typing.final
132
212
  class ExtensionRange(google.protobuf.message.Message):
133
213
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
134
214
 
@@ -148,10 +228,10 @@ class DescriptorProto(google.protobuf.message.Message):
148
228
  end: builtins.int | None = ...,
149
229
  options: global___ExtensionRangeOptions | None = ...,
150
230
  ) -> None: ...
151
- def HasField(self, field_name: typing_extensions.Literal["end", b"end", "options", b"options", "start", b"start"]) -> builtins.bool: ...
152
- def ClearField(self, field_name: typing_extensions.Literal["end", b"end", "options", b"options", "start", b"start"]) -> None: ...
231
+ def HasField(self, field_name: typing.Literal["end", b"end", "options", b"options", "start", b"start"]) -> builtins.bool: ...
232
+ def ClearField(self, field_name: typing.Literal["end", b"end", "options", b"options", "start", b"start"]) -> None: ...
153
233
 
154
- @typing_extensions.final
234
+ @typing.final
155
235
  class ReservedRange(google.protobuf.message.Message):
156
236
  """Range of reserved tag numbers. Reserved tag numbers may not be used by
157
237
  fields or extension ranges in the same message. Reserved ranges may
@@ -172,8 +252,8 @@ class DescriptorProto(google.protobuf.message.Message):
172
252
  start: builtins.int | None = ...,
173
253
  end: builtins.int | None = ...,
174
254
  ) -> None: ...
175
- def HasField(self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"]) -> builtins.bool: ...
176
- def ClearField(self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"]) -> None: ...
255
+ def HasField(self, field_name: typing.Literal["end", b"end", "start", b"start"]) -> builtins.bool: ...
256
+ def ClearField(self, field_name: typing.Literal["end", b"end", "start", b"start"]) -> None: ...
177
257
 
178
258
  NAME_FIELD_NUMBER: builtins.int
179
259
  FIELD_FIELD_NUMBER: builtins.int
@@ -207,6 +287,7 @@ class DescriptorProto(google.protobuf.message.Message):
207
287
  """Reserved field names, which may not be used by fields in the same message.
208
288
  A given name may only be reserved once.
209
289
  """
290
+
210
291
  def __init__(
211
292
  self,
212
293
  *,
@@ -221,29 +302,111 @@ class DescriptorProto(google.protobuf.message.Message):
221
302
  reserved_range: collections.abc.Iterable[global___DescriptorProto.ReservedRange] | None = ...,
222
303
  reserved_name: collections.abc.Iterable[builtins.str] | None = ...,
223
304
  ) -> None: ...
224
- def HasField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
225
- def ClearField(self, field_name: typing_extensions.Literal["enum_type", b"enum_type", "extension", b"extension", "extension_range", b"extension_range", "field", b"field", "name", b"name", "nested_type", b"nested_type", "oneof_decl", b"oneof_decl", "options", b"options", "reserved_name", b"reserved_name", "reserved_range", b"reserved_range"]) -> None: ...
305
+ def HasField(self, field_name: typing.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
306
+ def ClearField(self, field_name: typing.Literal["enum_type", b"enum_type", "extension", b"extension", "extension_range", b"extension_range", "field", b"field", "name", b"name", "nested_type", b"nested_type", "oneof_decl", b"oneof_decl", "options", b"options", "reserved_name", b"reserved_name", "reserved_range", b"reserved_range"]) -> None: ...
226
307
 
227
308
  global___DescriptorProto = DescriptorProto
228
309
 
229
- @typing_extensions.final
310
+ @typing.final
230
311
  class ExtensionRangeOptions(google.protobuf.message.Message):
231
312
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
232
313
 
314
+ class _VerificationState:
315
+ ValueType = typing.NewType("ValueType", builtins.int)
316
+ V: typing_extensions.TypeAlias = ValueType
317
+
318
+ class _VerificationStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtensionRangeOptions._VerificationState.ValueType], builtins.type):
319
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
320
+ DECLARATION: ExtensionRangeOptions._VerificationState.ValueType # 0
321
+ """All the extensions of the range must be declared."""
322
+ UNVERIFIED: ExtensionRangeOptions._VerificationState.ValueType # 1
323
+
324
+ class VerificationState(_VerificationState, metaclass=_VerificationStateEnumTypeWrapper):
325
+ """The verification state of the extension range."""
326
+
327
+ DECLARATION: ExtensionRangeOptions.VerificationState.ValueType # 0
328
+ """All the extensions of the range must be declared."""
329
+ UNVERIFIED: ExtensionRangeOptions.VerificationState.ValueType # 1
330
+
331
+ @typing.final
332
+ class Declaration(google.protobuf.message.Message):
333
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
334
+
335
+ NUMBER_FIELD_NUMBER: builtins.int
336
+ FULL_NAME_FIELD_NUMBER: builtins.int
337
+ TYPE_FIELD_NUMBER: builtins.int
338
+ RESERVED_FIELD_NUMBER: builtins.int
339
+ REPEATED_FIELD_NUMBER: builtins.int
340
+ number: builtins.int
341
+ """The extension number declared within the extension range."""
342
+ full_name: builtins.str
343
+ """The fully-qualified name of the extension field. There must be a leading
344
+ dot in front of the full name.
345
+ """
346
+ type: builtins.str
347
+ """The fully-qualified type name of the extension field. Unlike
348
+ Metadata.type, Declaration.type must have a leading dot for messages
349
+ and enums.
350
+ """
351
+ reserved: builtins.bool
352
+ """If true, indicates that the number is reserved in the extension range,
353
+ and any extension field with the number will fail to compile. Set this
354
+ when a declared extension field is deleted.
355
+ """
356
+ repeated: builtins.bool
357
+ """If true, indicates that the extension must be defined as repeated.
358
+ Otherwise the extension must be defined as optional.
359
+ """
360
+ def __init__(
361
+ self,
362
+ *,
363
+ number: builtins.int | None = ...,
364
+ full_name: builtins.str | None = ...,
365
+ type: builtins.str | None = ...,
366
+ reserved: builtins.bool | None = ...,
367
+ repeated: builtins.bool | None = ...,
368
+ ) -> None: ...
369
+ def HasField(self, field_name: typing.Literal["full_name", b"full_name", "number", b"number", "repeated", b"repeated", "reserved", b"reserved", "type", b"type"]) -> builtins.bool: ...
370
+ def ClearField(self, field_name: typing.Literal["full_name", b"full_name", "number", b"number", "repeated", b"repeated", "reserved", b"reserved", "type", b"type"]) -> None: ...
371
+
233
372
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
373
+ DECLARATION_FIELD_NUMBER: builtins.int
374
+ FEATURES_FIELD_NUMBER: builtins.int
375
+ VERIFICATION_FIELD_NUMBER: builtins.int
376
+ verification: global___ExtensionRangeOptions.VerificationState.ValueType
377
+ """The verification state of the range.
378
+ TODO: flip the default to DECLARATION once all empty ranges
379
+ are marked as UNVERIFIED.
380
+ """
234
381
  @property
235
382
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
236
383
  """The parser stores options it doesn't recognize here. See above."""
384
+
385
+ @property
386
+ def declaration(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExtensionRangeOptions.Declaration]:
387
+ """For external users: DO NOT USE. We are in the process of open sourcing
388
+ extension declaration and executing internal cleanups before it can be
389
+ used externally.
390
+ """
391
+
392
+ @property
393
+ def features(self) -> global___FeatureSet:
394
+ """Any features defined in the specific edition."""
395
+
237
396
  def __init__(
238
397
  self,
239
398
  *,
240
399
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
400
+ declaration: collections.abc.Iterable[global___ExtensionRangeOptions.Declaration] | None = ...,
401
+ features: global___FeatureSet | None = ...,
402
+ verification: global___ExtensionRangeOptions.VerificationState.ValueType | None = ...,
241
403
  ) -> None: ...
242
- def ClearField(self, field_name: typing_extensions.Literal["uninterpreted_option", b"uninterpreted_option"]) -> None: ...
404
+ def HasField(self, field_name: typing.Literal["features", b"features", "verification", b"verification"]) -> builtins.bool: ...
405
+ def ClearField(self, field_name: typing.Literal["declaration", b"declaration", "features", b"features", "uninterpreted_option", b"uninterpreted_option", "verification", b"verification"]) -> None: ...
243
406
 
244
407
  global___ExtensionRangeOptions = ExtensionRangeOptions
245
408
 
246
- @typing_extensions.final
409
+ @typing.final
247
410
  class FieldDescriptorProto(google.protobuf.message.Message):
248
411
  """Describes a field within a message."""
249
412
 
@@ -275,9 +438,10 @@ class FieldDescriptorProto(google.protobuf.message.Message):
275
438
  TYPE_STRING: FieldDescriptorProto._Type.ValueType # 9
276
439
  TYPE_GROUP: FieldDescriptorProto._Type.ValueType # 10
277
440
  """Tag-delimited aggregate.
278
- Group type is deprecated and not supported in proto3. However, Proto3
441
+ Group type is deprecated and not supported after google.protobuf. However, Proto3
279
442
  implementations should still be able to parse the group wire format and
280
- treat group fields as unknown fields.
443
+ treat group fields as unknown fields. In Editions, the group wire format
444
+ can be enabled via the `message_encoding` feature.
281
445
  """
282
446
  TYPE_MESSAGE: FieldDescriptorProto._Type.ValueType # 11
283
447
  """Length-delimited aggregate."""
@@ -313,9 +477,10 @@ class FieldDescriptorProto(google.protobuf.message.Message):
313
477
  TYPE_STRING: FieldDescriptorProto.Type.ValueType # 9
314
478
  TYPE_GROUP: FieldDescriptorProto.Type.ValueType # 10
315
479
  """Tag-delimited aggregate.
316
- Group type is deprecated and not supported in proto3. However, Proto3
480
+ Group type is deprecated and not supported after google.protobuf. However, Proto3
317
481
  implementations should still be able to parse the group wire format and
318
- treat group fields as unknown fields.
482
+ treat group fields as unknown fields. In Editions, the group wire format
483
+ can be enabled via the `message_encoding` feature.
319
484
  """
320
485
  TYPE_MESSAGE: FieldDescriptorProto.Type.ValueType # 11
321
486
  """Length-delimited aggregate."""
@@ -338,14 +503,22 @@ class FieldDescriptorProto(google.protobuf.message.Message):
338
503
  DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
339
504
  LABEL_OPTIONAL: FieldDescriptorProto._Label.ValueType # 1
340
505
  """0 is reserved for errors"""
341
- LABEL_REQUIRED: FieldDescriptorProto._Label.ValueType # 2
342
506
  LABEL_REPEATED: FieldDescriptorProto._Label.ValueType # 3
507
+ LABEL_REQUIRED: FieldDescriptorProto._Label.ValueType # 2
508
+ """The required label is only allowed in google.protobuf. In proto3 and Editions
509
+ it's explicitly prohibited. In Editions, the `field_presence` feature
510
+ can be used to get this behavior.
511
+ """
343
512
 
344
513
  class Label(_Label, metaclass=_LabelEnumTypeWrapper): ...
345
514
  LABEL_OPTIONAL: FieldDescriptorProto.Label.ValueType # 1
346
515
  """0 is reserved for errors"""
347
- LABEL_REQUIRED: FieldDescriptorProto.Label.ValueType # 2
348
516
  LABEL_REPEATED: FieldDescriptorProto.Label.ValueType # 3
517
+ LABEL_REQUIRED: FieldDescriptorProto.Label.ValueType # 2
518
+ """The required label is only allowed in google.protobuf. In proto3 and Editions
519
+ it's explicitly prohibited. In Editions, the `field_presence` feature
520
+ can be used to get this behavior.
521
+ """
349
522
 
350
523
  NAME_FIELD_NUMBER: builtins.int
351
524
  NUMBER_FIELD_NUMBER: builtins.int
@@ -392,18 +565,16 @@ class FieldDescriptorProto(google.protobuf.message.Message):
392
565
  will be used. Otherwise, it's deduced from the field's name by converting
393
566
  it to camelCase.
394
567
  """
395
- @property
396
- def options(self) -> global___FieldOptions: ...
397
568
  proto3_optional: builtins.bool
398
569
  """If true, this is a proto3 "optional". When a proto3 field is optional, it
399
570
  tracks presence regardless of field type.
400
571
 
401
- When proto3_optional is true, this field must be belong to a oneof to
402
- signal to old proto3 clients that presence is tracked for this field. This
403
- oneof is known as a "synthetic" oneof, and this field must be its sole
404
- member (each proto3 optional field gets its own synthetic oneof). Synthetic
405
- oneofs exist in the descriptor only, and do not generate any API. Synthetic
406
- oneofs must be ordered after all "real" oneofs.
572
+ When proto3_optional is true, this field must belong to a oneof to signal
573
+ to old proto3 clients that presence is tracked for this field. This oneof
574
+ is known as a "synthetic" oneof, and this field must be its sole member
575
+ (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
576
+ exist in the descriptor only, and do not generate any API. Synthetic oneofs
577
+ must be ordered after all "real" oneofs.
407
578
 
408
579
  For message fields, proto3_optional doesn't create any semantic change,
409
580
  since non-repeated message fields always track presence. However it still
@@ -417,6 +588,8 @@ class FieldDescriptorProto(google.protobuf.message.Message):
417
588
  Proto2 optional fields do not set this flag, because they already indicate
418
589
  optional with `LABEL_OPTIONAL`.
419
590
  """
591
+ @property
592
+ def options(self) -> global___FieldOptions: ...
420
593
  def __init__(
421
594
  self,
422
595
  *,
@@ -432,12 +605,12 @@ class FieldDescriptorProto(google.protobuf.message.Message):
432
605
  options: global___FieldOptions | None = ...,
433
606
  proto3_optional: builtins.bool | None = ...,
434
607
  ) -> None: ...
435
- def HasField(self, field_name: typing_extensions.Literal["default_value", b"default_value", "extendee", b"extendee", "json_name", b"json_name", "label", b"label", "name", b"name", "number", b"number", "oneof_index", b"oneof_index", "options", b"options", "proto3_optional", b"proto3_optional", "type", b"type", "type_name", b"type_name"]) -> builtins.bool: ...
436
- def ClearField(self, field_name: typing_extensions.Literal["default_value", b"default_value", "extendee", b"extendee", "json_name", b"json_name", "label", b"label", "name", b"name", "number", b"number", "oneof_index", b"oneof_index", "options", b"options", "proto3_optional", b"proto3_optional", "type", b"type", "type_name", b"type_name"]) -> None: ...
608
+ def HasField(self, field_name: typing.Literal["default_value", b"default_value", "extendee", b"extendee", "json_name", b"json_name", "label", b"label", "name", b"name", "number", b"number", "oneof_index", b"oneof_index", "options", b"options", "proto3_optional", b"proto3_optional", "type", b"type", "type_name", b"type_name"]) -> builtins.bool: ...
609
+ def ClearField(self, field_name: typing.Literal["default_value", b"default_value", "extendee", b"extendee", "json_name", b"json_name", "label", b"label", "name", b"name", "number", b"number", "oneof_index", b"oneof_index", "options", b"options", "proto3_optional", b"proto3_optional", "type", b"type", "type_name", b"type_name"]) -> None: ...
437
610
 
438
611
  global___FieldDescriptorProto = FieldDescriptorProto
439
612
 
440
- @typing_extensions.final
613
+ @typing.final
441
614
  class OneofDescriptorProto(google.protobuf.message.Message):
442
615
  """Describes a oneof."""
443
616
 
@@ -454,18 +627,18 @@ class OneofDescriptorProto(google.protobuf.message.Message):
454
627
  name: builtins.str | None = ...,
455
628
  options: global___OneofOptions | None = ...,
456
629
  ) -> None: ...
457
- def HasField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
458
- def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options"]) -> None: ...
630
+ def HasField(self, field_name: typing.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
631
+ def ClearField(self, field_name: typing.Literal["name", b"name", "options", b"options"]) -> None: ...
459
632
 
460
633
  global___OneofDescriptorProto = OneofDescriptorProto
461
634
 
462
- @typing_extensions.final
635
+ @typing.final
463
636
  class EnumDescriptorProto(google.protobuf.message.Message):
464
637
  """Describes an enum type."""
465
638
 
466
639
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
467
640
 
468
- @typing_extensions.final
641
+ @typing.final
469
642
  class EnumReservedRange(google.protobuf.message.Message):
470
643
  """Range of reserved numeric values. Reserved values may not be used by
471
644
  entries in the same enum. Reserved ranges may not overlap.
@@ -489,8 +662,8 @@ class EnumDescriptorProto(google.protobuf.message.Message):
489
662
  start: builtins.int | None = ...,
490
663
  end: builtins.int | None = ...,
491
664
  ) -> None: ...
492
- def HasField(self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"]) -> builtins.bool: ...
493
- def ClearField(self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"]) -> None: ...
665
+ def HasField(self, field_name: typing.Literal["end", b"end", "start", b"start"]) -> builtins.bool: ...
666
+ def ClearField(self, field_name: typing.Literal["end", b"end", "start", b"start"]) -> None: ...
494
667
 
495
668
  NAME_FIELD_NUMBER: builtins.int
496
669
  VALUE_FIELD_NUMBER: builtins.int
@@ -508,11 +681,13 @@ class EnumDescriptorProto(google.protobuf.message.Message):
508
681
  by enum values in the same enum declaration. Reserved ranges may not
509
682
  overlap.
510
683
  """
684
+
511
685
  @property
512
686
  def reserved_name(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
513
687
  """Reserved enum value names, which may not be reused. A given name may only
514
688
  be reserved once.
515
689
  """
690
+
516
691
  def __init__(
517
692
  self,
518
693
  *,
@@ -522,12 +697,12 @@ class EnumDescriptorProto(google.protobuf.message.Message):
522
697
  reserved_range: collections.abc.Iterable[global___EnumDescriptorProto.EnumReservedRange] | None = ...,
523
698
  reserved_name: collections.abc.Iterable[builtins.str] | None = ...,
524
699
  ) -> None: ...
525
- def HasField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
526
- def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options", "reserved_name", b"reserved_name", "reserved_range", b"reserved_range", "value", b"value"]) -> None: ...
700
+ def HasField(self, field_name: typing.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
701
+ def ClearField(self, field_name: typing.Literal["name", b"name", "options", b"options", "reserved_name", b"reserved_name", "reserved_range", b"reserved_range", "value", b"value"]) -> None: ...
527
702
 
528
703
  global___EnumDescriptorProto = EnumDescriptorProto
529
704
 
530
- @typing_extensions.final
705
+ @typing.final
531
706
  class EnumValueDescriptorProto(google.protobuf.message.Message):
532
707
  """Describes a value within an enum."""
533
708
 
@@ -547,12 +722,12 @@ class EnumValueDescriptorProto(google.protobuf.message.Message):
547
722
  number: builtins.int | None = ...,
548
723
  options: global___EnumValueOptions | None = ...,
549
724
  ) -> None: ...
550
- def HasField(self, field_name: typing_extensions.Literal["name", b"name", "number", b"number", "options", b"options"]) -> builtins.bool: ...
551
- def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "number", b"number", "options", b"options"]) -> None: ...
725
+ def HasField(self, field_name: typing.Literal["name", b"name", "number", b"number", "options", b"options"]) -> builtins.bool: ...
726
+ def ClearField(self, field_name: typing.Literal["name", b"name", "number", b"number", "options", b"options"]) -> None: ...
552
727
 
553
728
  global___EnumValueDescriptorProto = EnumValueDescriptorProto
554
729
 
555
- @typing_extensions.final
730
+ @typing.final
556
731
  class ServiceDescriptorProto(google.protobuf.message.Message):
557
732
  """Describes a service."""
558
733
 
@@ -573,12 +748,12 @@ class ServiceDescriptorProto(google.protobuf.message.Message):
573
748
  method: collections.abc.Iterable[global___MethodDescriptorProto] | None = ...,
574
749
  options: global___ServiceOptions | None = ...,
575
750
  ) -> None: ...
576
- def HasField(self, field_name: typing_extensions.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
577
- def ClearField(self, field_name: typing_extensions.Literal["method", b"method", "name", b"name", "options", b"options"]) -> None: ...
751
+ def HasField(self, field_name: typing.Literal["name", b"name", "options", b"options"]) -> builtins.bool: ...
752
+ def ClearField(self, field_name: typing.Literal["method", b"method", "name", b"name", "options", b"options"]) -> None: ...
578
753
 
579
754
  global___ServiceDescriptorProto = ServiceDescriptorProto
580
755
 
581
- @typing_extensions.final
756
+ @typing.final
582
757
  class MethodDescriptorProto(google.protobuf.message.Message):
583
758
  """Describes a method of a service."""
584
759
 
@@ -596,12 +771,12 @@ class MethodDescriptorProto(google.protobuf.message.Message):
596
771
  FieldDescriptorProto.type_name, but must refer to a message type.
597
772
  """
598
773
  output_type: builtins.str
599
- @property
600
- def options(self) -> global___MethodOptions: ...
601
774
  client_streaming: builtins.bool
602
775
  """Identifies if client streams multiple client messages"""
603
776
  server_streaming: builtins.bool
604
777
  """Identifies if server streams multiple server messages"""
778
+ @property
779
+ def options(self) -> global___MethodOptions: ...
605
780
  def __init__(
606
781
  self,
607
782
  *,
@@ -612,12 +787,12 @@ class MethodDescriptorProto(google.protobuf.message.Message):
612
787
  client_streaming: builtins.bool | None = ...,
613
788
  server_streaming: builtins.bool | None = ...,
614
789
  ) -> None: ...
615
- def HasField(self, field_name: typing_extensions.Literal["client_streaming", b"client_streaming", "input_type", b"input_type", "name", b"name", "options", b"options", "output_type", b"output_type", "server_streaming", b"server_streaming"]) -> builtins.bool: ...
616
- def ClearField(self, field_name: typing_extensions.Literal["client_streaming", b"client_streaming", "input_type", b"input_type", "name", b"name", "options", b"options", "output_type", b"output_type", "server_streaming", b"server_streaming"]) -> None: ...
790
+ def HasField(self, field_name: typing.Literal["client_streaming", b"client_streaming", "input_type", b"input_type", "name", b"name", "options", b"options", "output_type", b"output_type", "server_streaming", b"server_streaming"]) -> builtins.bool: ...
791
+ def ClearField(self, field_name: typing.Literal["client_streaming", b"client_streaming", "input_type", b"input_type", "name", b"name", "options", b"options", "output_type", b"output_type", "server_streaming", b"server_streaming"]) -> None: ...
617
792
 
618
793
  global___MethodDescriptorProto = MethodDescriptorProto
619
794
 
620
- @typing_extensions.final
795
+ @typing.final
621
796
  class FileOptions(google.protobuf.message.Message):
622
797
  """Each of the definitions above may have "options" attached. These are
623
798
  just annotations which may cause code to be generated slightly differently
@@ -688,7 +863,6 @@ class FileOptions(google.protobuf.message.Message):
688
863
  CC_GENERIC_SERVICES_FIELD_NUMBER: builtins.int
689
864
  JAVA_GENERIC_SERVICES_FIELD_NUMBER: builtins.int
690
865
  PY_GENERIC_SERVICES_FIELD_NUMBER: builtins.int
691
- PHP_GENERIC_SERVICES_FIELD_NUMBER: builtins.int
692
866
  DEPRECATED_FIELD_NUMBER: builtins.int
693
867
  CC_ENABLE_ARENAS_FIELD_NUMBER: builtins.int
694
868
  OBJC_CLASS_PREFIX_FIELD_NUMBER: builtins.int
@@ -698,6 +872,7 @@ class FileOptions(google.protobuf.message.Message):
698
872
  PHP_NAMESPACE_FIELD_NUMBER: builtins.int
699
873
  PHP_METADATA_NAMESPACE_FIELD_NUMBER: builtins.int
700
874
  RUBY_PACKAGE_FIELD_NUMBER: builtins.int
875
+ FEATURES_FIELD_NUMBER: builtins.int
701
876
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
702
877
  java_package: builtins.str
703
878
  """Sets the Java package where classes generated from this .proto will be
@@ -752,7 +927,6 @@ class FileOptions(google.protobuf.message.Message):
752
927
  """
753
928
  java_generic_services: builtins.bool
754
929
  py_generic_services: builtins.bool
755
- php_generic_services: builtins.bool
756
930
  deprecated: builtins.bool
757
931
  """Is this file deprecated?
758
932
  Depending on the target platform, this can emit Deprecated annotations
@@ -794,11 +968,16 @@ class FileOptions(google.protobuf.message.Message):
794
968
  is empty. When this option is not set, the package name will be used for
795
969
  determining the ruby package.
796
970
  """
971
+ @property
972
+ def features(self) -> global___FeatureSet:
973
+ """Any features defined in the specific edition."""
974
+
797
975
  @property
798
976
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
799
977
  """The parser stores options it doesn't recognize here.
800
978
  See the documentation for the "Options" section above.
801
979
  """
980
+
802
981
  def __init__(
803
982
  self,
804
983
  *,
@@ -812,7 +991,6 @@ class FileOptions(google.protobuf.message.Message):
812
991
  cc_generic_services: builtins.bool | None = ...,
813
992
  java_generic_services: builtins.bool | None = ...,
814
993
  py_generic_services: builtins.bool | None = ...,
815
- php_generic_services: builtins.bool | None = ...,
816
994
  deprecated: builtins.bool | None = ...,
817
995
  cc_enable_arenas: builtins.bool | None = ...,
818
996
  objc_class_prefix: builtins.str | None = ...,
@@ -822,14 +1000,15 @@ class FileOptions(google.protobuf.message.Message):
822
1000
  php_namespace: builtins.str | None = ...,
823
1001
  php_metadata_namespace: builtins.str | None = ...,
824
1002
  ruby_package: builtins.str | None = ...,
1003
+ features: global___FeatureSet | None = ...,
825
1004
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
826
1005
  ) -> None: ...
827
- def HasField(self, field_name: typing_extensions.Literal["cc_enable_arenas", b"cc_enable_arenas", "cc_generic_services", b"cc_generic_services", "csharp_namespace", b"csharp_namespace", "deprecated", b"deprecated", "go_package", b"go_package", "java_generate_equals_and_hash", b"java_generate_equals_and_hash", "java_generic_services", b"java_generic_services", "java_multiple_files", b"java_multiple_files", "java_outer_classname", b"java_outer_classname", "java_package", b"java_package", "java_string_check_utf8", b"java_string_check_utf8", "objc_class_prefix", b"objc_class_prefix", "optimize_for", b"optimize_for", "php_class_prefix", b"php_class_prefix", "php_generic_services", b"php_generic_services", "php_metadata_namespace", b"php_metadata_namespace", "php_namespace", b"php_namespace", "py_generic_services", b"py_generic_services", "ruby_package", b"ruby_package", "swift_prefix", b"swift_prefix"]) -> builtins.bool: ...
828
- def ClearField(self, field_name: typing_extensions.Literal["cc_enable_arenas", b"cc_enable_arenas", "cc_generic_services", b"cc_generic_services", "csharp_namespace", b"csharp_namespace", "deprecated", b"deprecated", "go_package", b"go_package", "java_generate_equals_and_hash", b"java_generate_equals_and_hash", "java_generic_services", b"java_generic_services", "java_multiple_files", b"java_multiple_files", "java_outer_classname", b"java_outer_classname", "java_package", b"java_package", "java_string_check_utf8", b"java_string_check_utf8", "objc_class_prefix", b"objc_class_prefix", "optimize_for", b"optimize_for", "php_class_prefix", b"php_class_prefix", "php_generic_services", b"php_generic_services", "php_metadata_namespace", b"php_metadata_namespace", "php_namespace", b"php_namespace", "py_generic_services", b"py_generic_services", "ruby_package", b"ruby_package", "swift_prefix", b"swift_prefix", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1006
+ def HasField(self, field_name: typing.Literal["cc_enable_arenas", b"cc_enable_arenas", "cc_generic_services", b"cc_generic_services", "csharp_namespace", b"csharp_namespace", "deprecated", b"deprecated", "features", b"features", "go_package", b"go_package", "java_generate_equals_and_hash", b"java_generate_equals_and_hash", "java_generic_services", b"java_generic_services", "java_multiple_files", b"java_multiple_files", "java_outer_classname", b"java_outer_classname", "java_package", b"java_package", "java_string_check_utf8", b"java_string_check_utf8", "objc_class_prefix", b"objc_class_prefix", "optimize_for", b"optimize_for", "php_class_prefix", b"php_class_prefix", "php_metadata_namespace", b"php_metadata_namespace", "php_namespace", b"php_namespace", "py_generic_services", b"py_generic_services", "ruby_package", b"ruby_package", "swift_prefix", b"swift_prefix"]) -> builtins.bool: ...
1007
+ def ClearField(self, field_name: typing.Literal["cc_enable_arenas", b"cc_enable_arenas", "cc_generic_services", b"cc_generic_services", "csharp_namespace", b"csharp_namespace", "deprecated", b"deprecated", "features", b"features", "go_package", b"go_package", "java_generate_equals_and_hash", b"java_generate_equals_and_hash", "java_generic_services", b"java_generic_services", "java_multiple_files", b"java_multiple_files", "java_outer_classname", b"java_outer_classname", "java_package", b"java_package", "java_string_check_utf8", b"java_string_check_utf8", "objc_class_prefix", b"objc_class_prefix", "optimize_for", b"optimize_for", "php_class_prefix", b"php_class_prefix", "php_metadata_namespace", b"php_metadata_namespace", "php_namespace", b"php_namespace", "py_generic_services", b"py_generic_services", "ruby_package", b"ruby_package", "swift_prefix", b"swift_prefix", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
829
1008
 
830
1009
  global___FileOptions = FileOptions
831
1010
 
832
- @typing_extensions.final
1011
+ @typing.final
833
1012
  class MessageOptions(google.protobuf.message.Message):
834
1013
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
835
1014
 
@@ -837,6 +1016,8 @@ class MessageOptions(google.protobuf.message.Message):
837
1016
  NO_STANDARD_DESCRIPTOR_ACCESSOR_FIELD_NUMBER: builtins.int
838
1017
  DEPRECATED_FIELD_NUMBER: builtins.int
839
1018
  MAP_ENTRY_FIELD_NUMBER: builtins.int
1019
+ DEPRECATED_LEGACY_JSON_FIELD_CONFLICTS_FIELD_NUMBER: builtins.int
1020
+ FEATURES_FIELD_NUMBER: builtins.int
840
1021
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
841
1022
  message_set_wire_format: builtins.bool
842
1023
  """Set true to use the old proto1 MessageSet wire format for extensions.
@@ -892,9 +1073,26 @@ class MessageOptions(google.protobuf.message.Message):
892
1073
  instead. The option should only be implicitly set by the proto compiler
893
1074
  parser.
894
1075
  """
1076
+ deprecated_legacy_json_field_conflicts: builtins.bool
1077
+ """Enable the legacy handling of JSON field name conflicts. This lowercases
1078
+ and strips underscored from the fields before comparison in proto3 only.
1079
+ The new behavior takes `json_name` into account and applies to proto2 as
1080
+ well.
1081
+
1082
+ This should only be used as a temporary measure against broken builds due
1083
+ to the change in behavior for JSON field name conflicts.
1084
+
1085
+ TODO This is legacy behavior we plan to remove once downstream
1086
+ teams have had time to migrate.
1087
+ """
1088
+ @property
1089
+ def features(self) -> global___FeatureSet:
1090
+ """Any features defined in the specific edition."""
1091
+
895
1092
  @property
896
1093
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
897
1094
  """The parser stores options it doesn't recognize here. See above."""
1095
+
898
1096
  def __init__(
899
1097
  self,
900
1098
  *,
@@ -902,14 +1100,16 @@ class MessageOptions(google.protobuf.message.Message):
902
1100
  no_standard_descriptor_accessor: builtins.bool | None = ...,
903
1101
  deprecated: builtins.bool | None = ...,
904
1102
  map_entry: builtins.bool | None = ...,
1103
+ deprecated_legacy_json_field_conflicts: builtins.bool | None = ...,
1104
+ features: global___FeatureSet | None = ...,
905
1105
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
906
1106
  ) -> None: ...
907
- def HasField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated", "map_entry", b"map_entry", "message_set_wire_format", b"message_set_wire_format", "no_standard_descriptor_accessor", b"no_standard_descriptor_accessor"]) -> builtins.bool: ...
908
- def ClearField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated", "map_entry", b"map_entry", "message_set_wire_format", b"message_set_wire_format", "no_standard_descriptor_accessor", b"no_standard_descriptor_accessor", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1107
+ def HasField(self, field_name: typing.Literal["deprecated", b"deprecated", "deprecated_legacy_json_field_conflicts", b"deprecated_legacy_json_field_conflicts", "features", b"features", "map_entry", b"map_entry", "message_set_wire_format", b"message_set_wire_format", "no_standard_descriptor_accessor", b"no_standard_descriptor_accessor"]) -> builtins.bool: ...
1108
+ def ClearField(self, field_name: typing.Literal["deprecated", b"deprecated", "deprecated_legacy_json_field_conflicts", b"deprecated_legacy_json_field_conflicts", "features", b"features", "map_entry", b"map_entry", "message_set_wire_format", b"message_set_wire_format", "no_standard_descriptor_accessor", b"no_standard_descriptor_accessor", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
909
1109
 
910
1110
  global___MessageOptions = MessageOptions
911
1111
 
912
- @typing_extensions.final
1112
+ @typing.final
913
1113
  class FieldOptions(google.protobuf.message.Message):
914
1114
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
915
1115
 
@@ -922,12 +1122,26 @@ class FieldOptions(google.protobuf.message.Message):
922
1122
  STRING: FieldOptions._CType.ValueType # 0
923
1123
  """Default mode."""
924
1124
  CORD: FieldOptions._CType.ValueType # 1
1125
+ """The option [ctype=CORD] may be applied to a non-repeated field of type
1126
+ "bytes". It indicates that in C++, the data should be stored in a Cord
1127
+ instead of a string. For very large strings, this may reduce memory
1128
+ fragmentation. It may also allow better performance when parsing from a
1129
+ Cord, or when parsing with aliasing enabled, as the parsed Cord may then
1130
+ alias the original buffer.
1131
+ """
925
1132
  STRING_PIECE: FieldOptions._CType.ValueType # 2
926
1133
 
927
1134
  class CType(_CType, metaclass=_CTypeEnumTypeWrapper): ...
928
1135
  STRING: FieldOptions.CType.ValueType # 0
929
1136
  """Default mode."""
930
1137
  CORD: FieldOptions.CType.ValueType # 1
1138
+ """The option [ctype=CORD] may be applied to a non-repeated field of type
1139
+ "bytes". It indicates that in C++, the data should be stored in a Cord
1140
+ instead of a string. For very large strings, this may reduce memory
1141
+ fragmentation. It may also allow better performance when parsing from a
1142
+ Cord, or when parsing with aliasing enabled, as the parsed Cord may then
1143
+ alias the original buffer.
1144
+ """
931
1145
  STRING_PIECE: FieldOptions.CType.ValueType # 2
932
1146
 
933
1147
  class _JSType:
@@ -951,6 +1165,79 @@ class FieldOptions(google.protobuf.message.Message):
951
1165
  JS_NUMBER: FieldOptions.JSType.ValueType # 2
952
1166
  """Use JavaScript numbers."""
953
1167
 
1168
+ class _OptionRetention:
1169
+ ValueType = typing.NewType("ValueType", builtins.int)
1170
+ V: typing_extensions.TypeAlias = ValueType
1171
+
1172
+ class _OptionRetentionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FieldOptions._OptionRetention.ValueType], builtins.type):
1173
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1174
+ RETENTION_UNKNOWN: FieldOptions._OptionRetention.ValueType # 0
1175
+ RETENTION_RUNTIME: FieldOptions._OptionRetention.ValueType # 1
1176
+ RETENTION_SOURCE: FieldOptions._OptionRetention.ValueType # 2
1177
+
1178
+ class OptionRetention(_OptionRetention, metaclass=_OptionRetentionEnumTypeWrapper):
1179
+ """If set to RETENTION_SOURCE, the option will be omitted from the binary.
1180
+ Note: as of January 2023, support for this is in progress and does not yet
1181
+ have an effect (b/264593489).
1182
+ """
1183
+
1184
+ RETENTION_UNKNOWN: FieldOptions.OptionRetention.ValueType # 0
1185
+ RETENTION_RUNTIME: FieldOptions.OptionRetention.ValueType # 1
1186
+ RETENTION_SOURCE: FieldOptions.OptionRetention.ValueType # 2
1187
+
1188
+ class _OptionTargetType:
1189
+ ValueType = typing.NewType("ValueType", builtins.int)
1190
+ V: typing_extensions.TypeAlias = ValueType
1191
+
1192
+ class _OptionTargetTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FieldOptions._OptionTargetType.ValueType], builtins.type):
1193
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1194
+ TARGET_TYPE_UNKNOWN: FieldOptions._OptionTargetType.ValueType # 0
1195
+ TARGET_TYPE_FILE: FieldOptions._OptionTargetType.ValueType # 1
1196
+ TARGET_TYPE_EXTENSION_RANGE: FieldOptions._OptionTargetType.ValueType # 2
1197
+ TARGET_TYPE_MESSAGE: FieldOptions._OptionTargetType.ValueType # 3
1198
+ TARGET_TYPE_FIELD: FieldOptions._OptionTargetType.ValueType # 4
1199
+ TARGET_TYPE_ONEOF: FieldOptions._OptionTargetType.ValueType # 5
1200
+ TARGET_TYPE_ENUM: FieldOptions._OptionTargetType.ValueType # 6
1201
+ TARGET_TYPE_ENUM_ENTRY: FieldOptions._OptionTargetType.ValueType # 7
1202
+ TARGET_TYPE_SERVICE: FieldOptions._OptionTargetType.ValueType # 8
1203
+ TARGET_TYPE_METHOD: FieldOptions._OptionTargetType.ValueType # 9
1204
+
1205
+ class OptionTargetType(_OptionTargetType, metaclass=_OptionTargetTypeEnumTypeWrapper):
1206
+ """This indicates the types of entities that the field may apply to when used
1207
+ as an option. If it is unset, then the field may be freely used as an
1208
+ option on any kind of entity. Note: as of January 2023, support for this is
1209
+ in progress and does not yet have an effect (b/264593489).
1210
+ """
1211
+
1212
+ TARGET_TYPE_UNKNOWN: FieldOptions.OptionTargetType.ValueType # 0
1213
+ TARGET_TYPE_FILE: FieldOptions.OptionTargetType.ValueType # 1
1214
+ TARGET_TYPE_EXTENSION_RANGE: FieldOptions.OptionTargetType.ValueType # 2
1215
+ TARGET_TYPE_MESSAGE: FieldOptions.OptionTargetType.ValueType # 3
1216
+ TARGET_TYPE_FIELD: FieldOptions.OptionTargetType.ValueType # 4
1217
+ TARGET_TYPE_ONEOF: FieldOptions.OptionTargetType.ValueType # 5
1218
+ TARGET_TYPE_ENUM: FieldOptions.OptionTargetType.ValueType # 6
1219
+ TARGET_TYPE_ENUM_ENTRY: FieldOptions.OptionTargetType.ValueType # 7
1220
+ TARGET_TYPE_SERVICE: FieldOptions.OptionTargetType.ValueType # 8
1221
+ TARGET_TYPE_METHOD: FieldOptions.OptionTargetType.ValueType # 9
1222
+
1223
+ @typing.final
1224
+ class EditionDefault(google.protobuf.message.Message):
1225
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1226
+
1227
+ EDITION_FIELD_NUMBER: builtins.int
1228
+ VALUE_FIELD_NUMBER: builtins.int
1229
+ edition: global___Edition.ValueType
1230
+ value: builtins.str
1231
+ """Textproto value."""
1232
+ def __init__(
1233
+ self,
1234
+ *,
1235
+ edition: global___Edition.ValueType | None = ...,
1236
+ value: builtins.str | None = ...,
1237
+ ) -> None: ...
1238
+ def HasField(self, field_name: typing.Literal["edition", b"edition", "value", b"value"]) -> builtins.bool: ...
1239
+ def ClearField(self, field_name: typing.Literal["edition", b"edition", "value", b"value"]) -> None: ...
1240
+
954
1241
  CTYPE_FIELD_NUMBER: builtins.int
955
1242
  PACKED_FIELD_NUMBER: builtins.int
956
1243
  JSTYPE_FIELD_NUMBER: builtins.int
@@ -958,19 +1245,28 @@ class FieldOptions(google.protobuf.message.Message):
958
1245
  UNVERIFIED_LAZY_FIELD_NUMBER: builtins.int
959
1246
  DEPRECATED_FIELD_NUMBER: builtins.int
960
1247
  WEAK_FIELD_NUMBER: builtins.int
1248
+ DEBUG_REDACT_FIELD_NUMBER: builtins.int
1249
+ RETENTION_FIELD_NUMBER: builtins.int
1250
+ TARGETS_FIELD_NUMBER: builtins.int
1251
+ EDITION_DEFAULTS_FIELD_NUMBER: builtins.int
1252
+ FEATURES_FIELD_NUMBER: builtins.int
961
1253
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
962
1254
  ctype: global___FieldOptions.CType.ValueType
963
1255
  """The ctype option instructs the C++ code generator to use a different
964
1256
  representation of the field than it normally would. See the specific
965
- options below. This option is not yet implemented in the open source
966
- release -- sorry, we'll try to include it in a future version!
1257
+ options below. This option is only implemented to support use of
1258
+ [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
1259
+ type "bytes" in the open source release -- sorry, we'll try to include
1260
+ other types in a future version!
967
1261
  """
968
1262
  packed: builtins.bool
969
1263
  """The packed option can be enabled for repeated primitive fields to enable
970
1264
  a more efficient representation on the wire. Rather than repeatedly
971
1265
  writing the tag and type for each element, the entire array is encoded as
972
1266
  a single length-delimited blob. In proto3, only explicit setting it to
973
- false will avoid using packed encoding.
1267
+ false will avoid using packed encoding. This option is prohibited in
1268
+ Editions, but the `repeated_field_encoding` feature can be used to control
1269
+ the behavior.
974
1270
  """
975
1271
  jstype: global___FieldOptions.JSType.ValueType
976
1272
  """The jstype option determines the JavaScript type used for values of the
@@ -1003,23 +1299,11 @@ class FieldOptions(google.protobuf.message.Message):
1003
1299
  call from multiple threads concurrently, while non-const methods continue
1004
1300
  to require exclusive access.
1005
1301
 
1006
-
1007
- Note that implementations may choose not to check required fields within
1008
- a lazy sub-message. That is, calling IsInitialized() on the outer message
1009
- may return true even if the inner message has missing required fields.
1010
- This is necessary because otherwise the inner message would have to be
1011
- parsed in order to perform the check, defeating the purpose of lazy
1012
- parsing. An implementation which chooses not to check required fields
1013
- must be consistent about it. That is, for any particular sub-message, the
1014
- implementation must either *always* check its required fields, or *never*
1015
- check its required fields, regardless of whether or not the message has
1016
- been parsed.
1017
-
1018
- As of 2021, lazy does no correctness checks on the byte stream during
1019
- parsing. This may lead to crashes if and when an invalid byte stream is
1020
- finally parsed upon access.
1021
-
1022
- TODO(b/211906113): Enable validation on lazy fields.
1302
+ Note that lazy message fields are still eagerly verified to check
1303
+ ill-formed wireformat or missing required fields. Calling IsInitialized()
1304
+ on the outer message would fail if the inner message has missing required
1305
+ fields. Failed verification would result in parsing failure (except when
1306
+ uninitialized messages are acceptable).
1023
1307
  """
1024
1308
  unverified_lazy: builtins.bool
1025
1309
  """unverified_lazy does no correctness checks on the byte stream. This should
@@ -1034,9 +1318,23 @@ class FieldOptions(google.protobuf.message.Message):
1034
1318
  """
1035
1319
  weak: builtins.bool
1036
1320
  """For Google-internal migration only. Do not use."""
1321
+ debug_redact: builtins.bool
1322
+ """Indicate that the field value should not be printed out when using debug
1323
+ formats, e.g. when the field contains sensitive credentials.
1324
+ """
1325
+ retention: global___FieldOptions.OptionRetention.ValueType
1326
+ @property
1327
+ def targets(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___FieldOptions.OptionTargetType.ValueType]: ...
1328
+ @property
1329
+ def edition_defaults(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FieldOptions.EditionDefault]: ...
1330
+ @property
1331
+ def features(self) -> global___FeatureSet:
1332
+ """Any features defined in the specific edition."""
1333
+
1037
1334
  @property
1038
1335
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
1039
1336
  """The parser stores options it doesn't recognize here. See above."""
1337
+
1040
1338
  def __init__(
1041
1339
  self,
1042
1340
  *,
@@ -1047,36 +1345,51 @@ class FieldOptions(google.protobuf.message.Message):
1047
1345
  unverified_lazy: builtins.bool | None = ...,
1048
1346
  deprecated: builtins.bool | None = ...,
1049
1347
  weak: builtins.bool | None = ...,
1348
+ debug_redact: builtins.bool | None = ...,
1349
+ retention: global___FieldOptions.OptionRetention.ValueType | None = ...,
1350
+ targets: collections.abc.Iterable[global___FieldOptions.OptionTargetType.ValueType] | None = ...,
1351
+ edition_defaults: collections.abc.Iterable[global___FieldOptions.EditionDefault] | None = ...,
1352
+ features: global___FeatureSet | None = ...,
1050
1353
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
1051
1354
  ) -> None: ...
1052
- def HasField(self, field_name: typing_extensions.Literal["ctype", b"ctype", "deprecated", b"deprecated", "jstype", b"jstype", "lazy", b"lazy", "packed", b"packed", "unverified_lazy", b"unverified_lazy", "weak", b"weak"]) -> builtins.bool: ...
1053
- def ClearField(self, field_name: typing_extensions.Literal["ctype", b"ctype", "deprecated", b"deprecated", "jstype", b"jstype", "lazy", b"lazy", "packed", b"packed", "uninterpreted_option", b"uninterpreted_option", "unverified_lazy", b"unverified_lazy", "weak", b"weak"]) -> None: ...
1355
+ def HasField(self, field_name: typing.Literal["ctype", b"ctype", "debug_redact", b"debug_redact", "deprecated", b"deprecated", "features", b"features", "jstype", b"jstype", "lazy", b"lazy", "packed", b"packed", "retention", b"retention", "unverified_lazy", b"unverified_lazy", "weak", b"weak"]) -> builtins.bool: ...
1356
+ def ClearField(self, field_name: typing.Literal["ctype", b"ctype", "debug_redact", b"debug_redact", "deprecated", b"deprecated", "edition_defaults", b"edition_defaults", "features", b"features", "jstype", b"jstype", "lazy", b"lazy", "packed", b"packed", "retention", b"retention", "targets", b"targets", "uninterpreted_option", b"uninterpreted_option", "unverified_lazy", b"unverified_lazy", "weak", b"weak"]) -> None: ...
1054
1357
 
1055
1358
  global___FieldOptions = FieldOptions
1056
1359
 
1057
- @typing_extensions.final
1360
+ @typing.final
1058
1361
  class OneofOptions(google.protobuf.message.Message):
1059
1362
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1060
1363
 
1364
+ FEATURES_FIELD_NUMBER: builtins.int
1061
1365
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
1366
+ @property
1367
+ def features(self) -> global___FeatureSet:
1368
+ """Any features defined in the specific edition."""
1369
+
1062
1370
  @property
1063
1371
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
1064
1372
  """The parser stores options it doesn't recognize here. See above."""
1373
+
1065
1374
  def __init__(
1066
1375
  self,
1067
1376
  *,
1377
+ features: global___FeatureSet | None = ...,
1068
1378
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
1069
1379
  ) -> None: ...
1070
- def ClearField(self, field_name: typing_extensions.Literal["uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1380
+ def HasField(self, field_name: typing.Literal["features", b"features"]) -> builtins.bool: ...
1381
+ def ClearField(self, field_name: typing.Literal["features", b"features", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1071
1382
 
1072
1383
  global___OneofOptions = OneofOptions
1073
1384
 
1074
- @typing_extensions.final
1385
+ @typing.final
1075
1386
  class EnumOptions(google.protobuf.message.Message):
1076
1387
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1077
1388
 
1078
1389
  ALLOW_ALIAS_FIELD_NUMBER: builtins.int
1079
1390
  DEPRECATED_FIELD_NUMBER: builtins.int
1391
+ DEPRECATED_LEGACY_JSON_FIELD_CONFLICTS_FIELD_NUMBER: builtins.int
1392
+ FEATURES_FIELD_NUMBER: builtins.int
1080
1393
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
1081
1394
  allow_alias: builtins.bool
1082
1395
  """Set this option to true to allow mapping different tag names to the same
@@ -1088,26 +1401,43 @@ class EnumOptions(google.protobuf.message.Message):
1088
1401
  for the enum, or it will be completely ignored; in the very least, this
1089
1402
  is a formalization for deprecating enums.
1090
1403
  """
1404
+ deprecated_legacy_json_field_conflicts: builtins.bool
1405
+ """Enable the legacy handling of JSON field name conflicts. This lowercases
1406
+ and strips underscored from the fields before comparison in proto3 only.
1407
+ The new behavior takes `json_name` into account and applies to proto2 as
1408
+ well.
1409
+ TODO Remove this legacy behavior once downstream teams have
1410
+ had time to migrate.
1411
+ """
1412
+ @property
1413
+ def features(self) -> global___FeatureSet:
1414
+ """Any features defined in the specific edition."""
1415
+
1091
1416
  @property
1092
1417
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
1093
1418
  """The parser stores options it doesn't recognize here. See above."""
1419
+
1094
1420
  def __init__(
1095
1421
  self,
1096
1422
  *,
1097
1423
  allow_alias: builtins.bool | None = ...,
1098
1424
  deprecated: builtins.bool | None = ...,
1425
+ deprecated_legacy_json_field_conflicts: builtins.bool | None = ...,
1426
+ features: global___FeatureSet | None = ...,
1099
1427
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
1100
1428
  ) -> None: ...
1101
- def HasField(self, field_name: typing_extensions.Literal["allow_alias", b"allow_alias", "deprecated", b"deprecated"]) -> builtins.bool: ...
1102
- def ClearField(self, field_name: typing_extensions.Literal["allow_alias", b"allow_alias", "deprecated", b"deprecated", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1429
+ def HasField(self, field_name: typing.Literal["allow_alias", b"allow_alias", "deprecated", b"deprecated", "deprecated_legacy_json_field_conflicts", b"deprecated_legacy_json_field_conflicts", "features", b"features"]) -> builtins.bool: ...
1430
+ def ClearField(self, field_name: typing.Literal["allow_alias", b"allow_alias", "deprecated", b"deprecated", "deprecated_legacy_json_field_conflicts", b"deprecated_legacy_json_field_conflicts", "features", b"features", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1103
1431
 
1104
1432
  global___EnumOptions = EnumOptions
1105
1433
 
1106
- @typing_extensions.final
1434
+ @typing.final
1107
1435
  class EnumValueOptions(google.protobuf.message.Message):
1108
1436
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1109
1437
 
1110
1438
  DEPRECATED_FIELD_NUMBER: builtins.int
1439
+ FEATURES_FIELD_NUMBER: builtins.int
1440
+ DEBUG_REDACT_FIELD_NUMBER: builtins.int
1111
1441
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
1112
1442
  deprecated: builtins.bool
1113
1443
  """Is this enum value deprecated?
@@ -1115,24 +1445,37 @@ class EnumValueOptions(google.protobuf.message.Message):
1115
1445
  for the enum value, or it will be completely ignored; in the very least,
1116
1446
  this is a formalization for deprecating enum values.
1117
1447
  """
1448
+ debug_redact: builtins.bool
1449
+ """Indicate that fields annotated with this enum value should not be printed
1450
+ out when using debug formats, e.g. when the field contains sensitive
1451
+ credentials.
1452
+ """
1453
+ @property
1454
+ def features(self) -> global___FeatureSet:
1455
+ """Any features defined in the specific edition."""
1456
+
1118
1457
  @property
1119
1458
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
1120
1459
  """The parser stores options it doesn't recognize here. See above."""
1460
+
1121
1461
  def __init__(
1122
1462
  self,
1123
1463
  *,
1124
1464
  deprecated: builtins.bool | None = ...,
1465
+ features: global___FeatureSet | None = ...,
1466
+ debug_redact: builtins.bool | None = ...,
1125
1467
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
1126
1468
  ) -> None: ...
1127
- def HasField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated"]) -> builtins.bool: ...
1128
- def ClearField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1469
+ def HasField(self, field_name: typing.Literal["debug_redact", b"debug_redact", "deprecated", b"deprecated", "features", b"features"]) -> builtins.bool: ...
1470
+ def ClearField(self, field_name: typing.Literal["debug_redact", b"debug_redact", "deprecated", b"deprecated", "features", b"features", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1129
1471
 
1130
1472
  global___EnumValueOptions = EnumValueOptions
1131
1473
 
1132
- @typing_extensions.final
1474
+ @typing.final
1133
1475
  class ServiceOptions(google.protobuf.message.Message):
1134
1476
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1135
1477
 
1478
+ FEATURES_FIELD_NUMBER: builtins.int
1136
1479
  DEPRECATED_FIELD_NUMBER: builtins.int
1137
1480
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
1138
1481
  deprecated: builtins.bool
@@ -1146,21 +1489,27 @@ class ServiceOptions(google.protobuf.message.Message):
1146
1489
  for the service, or it will be completely ignored; in the very least,
1147
1490
  this is a formalization for deprecating services.
1148
1491
  """
1492
+ @property
1493
+ def features(self) -> global___FeatureSet:
1494
+ """Any features defined in the specific edition."""
1495
+
1149
1496
  @property
1150
1497
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
1151
1498
  """The parser stores options it doesn't recognize here. See above."""
1499
+
1152
1500
  def __init__(
1153
1501
  self,
1154
1502
  *,
1503
+ features: global___FeatureSet | None = ...,
1155
1504
  deprecated: builtins.bool | None = ...,
1156
1505
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
1157
1506
  ) -> None: ...
1158
- def HasField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated"]) -> builtins.bool: ...
1159
- def ClearField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1507
+ def HasField(self, field_name: typing.Literal["deprecated", b"deprecated", "features", b"features"]) -> builtins.bool: ...
1508
+ def ClearField(self, field_name: typing.Literal["deprecated", b"deprecated", "features", b"features", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1160
1509
 
1161
1510
  global___ServiceOptions = ServiceOptions
1162
1511
 
1163
- @typing_extensions.final
1512
+ @typing.final
1164
1513
  class MethodOptions(google.protobuf.message.Message):
1165
1514
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1166
1515
 
@@ -1190,6 +1539,7 @@ class MethodOptions(google.protobuf.message.Message):
1190
1539
 
1191
1540
  DEPRECATED_FIELD_NUMBER: builtins.int
1192
1541
  IDEMPOTENCY_LEVEL_FIELD_NUMBER: builtins.int
1542
+ FEATURES_FIELD_NUMBER: builtins.int
1193
1543
  UNINTERPRETED_OPTION_FIELD_NUMBER: builtins.int
1194
1544
  deprecated: builtins.bool
1195
1545
  """Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -1203,22 +1553,28 @@ class MethodOptions(google.protobuf.message.Message):
1203
1553
  this is a formalization for deprecating methods.
1204
1554
  """
1205
1555
  idempotency_level: global___MethodOptions.IdempotencyLevel.ValueType
1556
+ @property
1557
+ def features(self) -> global___FeatureSet:
1558
+ """Any features defined in the specific edition."""
1559
+
1206
1560
  @property
1207
1561
  def uninterpreted_option(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption]:
1208
1562
  """The parser stores options it doesn't recognize here. See above."""
1563
+
1209
1564
  def __init__(
1210
1565
  self,
1211
1566
  *,
1212
1567
  deprecated: builtins.bool | None = ...,
1213
1568
  idempotency_level: global___MethodOptions.IdempotencyLevel.ValueType | None = ...,
1569
+ features: global___FeatureSet | None = ...,
1214
1570
  uninterpreted_option: collections.abc.Iterable[global___UninterpretedOption] | None = ...,
1215
1571
  ) -> None: ...
1216
- def HasField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated", "idempotency_level", b"idempotency_level"]) -> builtins.bool: ...
1217
- def ClearField(self, field_name: typing_extensions.Literal["deprecated", b"deprecated", "idempotency_level", b"idempotency_level", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1572
+ def HasField(self, field_name: typing.Literal["deprecated", b"deprecated", "features", b"features", "idempotency_level", b"idempotency_level"]) -> builtins.bool: ...
1573
+ def ClearField(self, field_name: typing.Literal["deprecated", b"deprecated", "features", b"features", "idempotency_level", b"idempotency_level", "uninterpreted_option", b"uninterpreted_option"]) -> None: ...
1218
1574
 
1219
1575
  global___MethodOptions = MethodOptions
1220
1576
 
1221
- @typing_extensions.final
1577
+ @typing.final
1222
1578
  class UninterpretedOption(google.protobuf.message.Message):
1223
1579
  """A message representing a option the parser does not recognize. This only
1224
1580
  appears in options protos created by the compiler::Parser class.
@@ -1230,7 +1586,7 @@ class UninterpretedOption(google.protobuf.message.Message):
1230
1586
 
1231
1587
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1232
1588
 
1233
- @typing_extensions.final
1589
+ @typing.final
1234
1590
  class NamePart(google.protobuf.message.Message):
1235
1591
  """The name of the uninterpreted option. Each string represents a segment in
1236
1592
  a dot-separated name. is_extension is true iff a segment represents an
@@ -1251,8 +1607,8 @@ class UninterpretedOption(google.protobuf.message.Message):
1251
1607
  name_part: builtins.str | None = ...,
1252
1608
  is_extension: builtins.bool | None = ...,
1253
1609
  ) -> None: ...
1254
- def HasField(self, field_name: typing_extensions.Literal["is_extension", b"is_extension", "name_part", b"name_part"]) -> builtins.bool: ...
1255
- def ClearField(self, field_name: typing_extensions.Literal["is_extension", b"is_extension", "name_part", b"name_part"]) -> None: ...
1610
+ def HasField(self, field_name: typing.Literal["is_extension", b"is_extension", "name_part", b"name_part"]) -> builtins.bool: ...
1611
+ def ClearField(self, field_name: typing.Literal["is_extension", b"is_extension", "name_part", b"name_part"]) -> None: ...
1256
1612
 
1257
1613
  NAME_FIELD_NUMBER: builtins.int
1258
1614
  IDENTIFIER_VALUE_FIELD_NUMBER: builtins.int
@@ -1261,8 +1617,6 @@ class UninterpretedOption(google.protobuf.message.Message):
1261
1617
  DOUBLE_VALUE_FIELD_NUMBER: builtins.int
1262
1618
  STRING_VALUE_FIELD_NUMBER: builtins.int
1263
1619
  AGGREGATE_VALUE_FIELD_NUMBER: builtins.int
1264
- @property
1265
- def name(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption.NamePart]: ...
1266
1620
  identifier_value: builtins.str
1267
1621
  """The value of the uninterpreted option, in whatever type the tokenizer
1268
1622
  identified it as during parsing. Exactly one of these should be set.
@@ -1272,6 +1626,8 @@ class UninterpretedOption(google.protobuf.message.Message):
1272
1626
  double_value: builtins.float
1273
1627
  string_value: builtins.bytes
1274
1628
  aggregate_value: builtins.str
1629
+ @property
1630
+ def name(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UninterpretedOption.NamePart]: ...
1275
1631
  def __init__(
1276
1632
  self,
1277
1633
  *,
@@ -1283,12 +1639,205 @@ class UninterpretedOption(google.protobuf.message.Message):
1283
1639
  string_value: builtins.bytes | None = ...,
1284
1640
  aggregate_value: builtins.str | None = ...,
1285
1641
  ) -> None: ...
1286
- def HasField(self, field_name: typing_extensions.Literal["aggregate_value", b"aggregate_value", "double_value", b"double_value", "identifier_value", b"identifier_value", "negative_int_value", b"negative_int_value", "positive_int_value", b"positive_int_value", "string_value", b"string_value"]) -> builtins.bool: ...
1287
- def ClearField(self, field_name: typing_extensions.Literal["aggregate_value", b"aggregate_value", "double_value", b"double_value", "identifier_value", b"identifier_value", "name", b"name", "negative_int_value", b"negative_int_value", "positive_int_value", b"positive_int_value", "string_value", b"string_value"]) -> None: ...
1642
+ def HasField(self, field_name: typing.Literal["aggregate_value", b"aggregate_value", "double_value", b"double_value", "identifier_value", b"identifier_value", "negative_int_value", b"negative_int_value", "positive_int_value", b"positive_int_value", "string_value", b"string_value"]) -> builtins.bool: ...
1643
+ def ClearField(self, field_name: typing.Literal["aggregate_value", b"aggregate_value", "double_value", b"double_value", "identifier_value", b"identifier_value", "name", b"name", "negative_int_value", b"negative_int_value", "positive_int_value", b"positive_int_value", "string_value", b"string_value"]) -> None: ...
1288
1644
 
1289
1645
  global___UninterpretedOption = UninterpretedOption
1290
1646
 
1291
- @typing_extensions.final
1647
+ @typing.final
1648
+ class FeatureSet(google.protobuf.message.Message):
1649
+ """===================================================================
1650
+ Features
1651
+
1652
+ TODO Enums in C++ gencode (and potentially other languages) are
1653
+ not well scoped. This means that each of the feature enums below can clash
1654
+ with each other. The short names we've chosen maximize call-site
1655
+ readability, but leave us very open to this scenario. A future feature will
1656
+ be designed and implemented to handle this, hopefully before we ever hit a
1657
+ conflict here.
1658
+ """
1659
+
1660
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1661
+
1662
+ class _FieldPresence:
1663
+ ValueType = typing.NewType("ValueType", builtins.int)
1664
+ V: typing_extensions.TypeAlias = ValueType
1665
+
1666
+ class _FieldPresenceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FeatureSet._FieldPresence.ValueType], builtins.type):
1667
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1668
+ FIELD_PRESENCE_UNKNOWN: FeatureSet._FieldPresence.ValueType # 0
1669
+ EXPLICIT: FeatureSet._FieldPresence.ValueType # 1
1670
+ IMPLICIT: FeatureSet._FieldPresence.ValueType # 2
1671
+ LEGACY_REQUIRED: FeatureSet._FieldPresence.ValueType # 3
1672
+
1673
+ class FieldPresence(_FieldPresence, metaclass=_FieldPresenceEnumTypeWrapper): ...
1674
+ FIELD_PRESENCE_UNKNOWN: FeatureSet.FieldPresence.ValueType # 0
1675
+ EXPLICIT: FeatureSet.FieldPresence.ValueType # 1
1676
+ IMPLICIT: FeatureSet.FieldPresence.ValueType # 2
1677
+ LEGACY_REQUIRED: FeatureSet.FieldPresence.ValueType # 3
1678
+
1679
+ class _EnumType:
1680
+ ValueType = typing.NewType("ValueType", builtins.int)
1681
+ V: typing_extensions.TypeAlias = ValueType
1682
+
1683
+ class _EnumTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FeatureSet._EnumType.ValueType], builtins.type):
1684
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1685
+ ENUM_TYPE_UNKNOWN: FeatureSet._EnumType.ValueType # 0
1686
+ OPEN: FeatureSet._EnumType.ValueType # 1
1687
+ CLOSED: FeatureSet._EnumType.ValueType # 2
1688
+
1689
+ class EnumType(_EnumType, metaclass=_EnumTypeEnumTypeWrapper): ...
1690
+ ENUM_TYPE_UNKNOWN: FeatureSet.EnumType.ValueType # 0
1691
+ OPEN: FeatureSet.EnumType.ValueType # 1
1692
+ CLOSED: FeatureSet.EnumType.ValueType # 2
1693
+
1694
+ class _RepeatedFieldEncoding:
1695
+ ValueType = typing.NewType("ValueType", builtins.int)
1696
+ V: typing_extensions.TypeAlias = ValueType
1697
+
1698
+ class _RepeatedFieldEncodingEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FeatureSet._RepeatedFieldEncoding.ValueType], builtins.type):
1699
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1700
+ REPEATED_FIELD_ENCODING_UNKNOWN: FeatureSet._RepeatedFieldEncoding.ValueType # 0
1701
+ PACKED: FeatureSet._RepeatedFieldEncoding.ValueType # 1
1702
+ EXPANDED: FeatureSet._RepeatedFieldEncoding.ValueType # 2
1703
+
1704
+ class RepeatedFieldEncoding(_RepeatedFieldEncoding, metaclass=_RepeatedFieldEncodingEnumTypeWrapper): ...
1705
+ REPEATED_FIELD_ENCODING_UNKNOWN: FeatureSet.RepeatedFieldEncoding.ValueType # 0
1706
+ PACKED: FeatureSet.RepeatedFieldEncoding.ValueType # 1
1707
+ EXPANDED: FeatureSet.RepeatedFieldEncoding.ValueType # 2
1708
+
1709
+ class _Utf8Validation:
1710
+ ValueType = typing.NewType("ValueType", builtins.int)
1711
+ V: typing_extensions.TypeAlias = ValueType
1712
+
1713
+ class _Utf8ValidationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FeatureSet._Utf8Validation.ValueType], builtins.type):
1714
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1715
+ UTF8_VALIDATION_UNKNOWN: FeatureSet._Utf8Validation.ValueType # 0
1716
+ VERIFY: FeatureSet._Utf8Validation.ValueType # 2
1717
+ NONE: FeatureSet._Utf8Validation.ValueType # 3
1718
+
1719
+ class Utf8Validation(_Utf8Validation, metaclass=_Utf8ValidationEnumTypeWrapper): ...
1720
+ UTF8_VALIDATION_UNKNOWN: FeatureSet.Utf8Validation.ValueType # 0
1721
+ VERIFY: FeatureSet.Utf8Validation.ValueType # 2
1722
+ NONE: FeatureSet.Utf8Validation.ValueType # 3
1723
+
1724
+ class _MessageEncoding:
1725
+ ValueType = typing.NewType("ValueType", builtins.int)
1726
+ V: typing_extensions.TypeAlias = ValueType
1727
+
1728
+ class _MessageEncodingEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FeatureSet._MessageEncoding.ValueType], builtins.type):
1729
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1730
+ MESSAGE_ENCODING_UNKNOWN: FeatureSet._MessageEncoding.ValueType # 0
1731
+ LENGTH_PREFIXED: FeatureSet._MessageEncoding.ValueType # 1
1732
+ DELIMITED: FeatureSet._MessageEncoding.ValueType # 2
1733
+
1734
+ class MessageEncoding(_MessageEncoding, metaclass=_MessageEncodingEnumTypeWrapper): ...
1735
+ MESSAGE_ENCODING_UNKNOWN: FeatureSet.MessageEncoding.ValueType # 0
1736
+ LENGTH_PREFIXED: FeatureSet.MessageEncoding.ValueType # 1
1737
+ DELIMITED: FeatureSet.MessageEncoding.ValueType # 2
1738
+
1739
+ class _JsonFormat:
1740
+ ValueType = typing.NewType("ValueType", builtins.int)
1741
+ V: typing_extensions.TypeAlias = ValueType
1742
+
1743
+ class _JsonFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FeatureSet._JsonFormat.ValueType], builtins.type):
1744
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
1745
+ JSON_FORMAT_UNKNOWN: FeatureSet._JsonFormat.ValueType # 0
1746
+ ALLOW: FeatureSet._JsonFormat.ValueType # 1
1747
+ LEGACY_BEST_EFFORT: FeatureSet._JsonFormat.ValueType # 2
1748
+
1749
+ class JsonFormat(_JsonFormat, metaclass=_JsonFormatEnumTypeWrapper): ...
1750
+ JSON_FORMAT_UNKNOWN: FeatureSet.JsonFormat.ValueType # 0
1751
+ ALLOW: FeatureSet.JsonFormat.ValueType # 1
1752
+ LEGACY_BEST_EFFORT: FeatureSet.JsonFormat.ValueType # 2
1753
+
1754
+ FIELD_PRESENCE_FIELD_NUMBER: builtins.int
1755
+ ENUM_TYPE_FIELD_NUMBER: builtins.int
1756
+ REPEATED_FIELD_ENCODING_FIELD_NUMBER: builtins.int
1757
+ UTF8_VALIDATION_FIELD_NUMBER: builtins.int
1758
+ MESSAGE_ENCODING_FIELD_NUMBER: builtins.int
1759
+ JSON_FORMAT_FIELD_NUMBER: builtins.int
1760
+ field_presence: global___FeatureSet.FieldPresence.ValueType
1761
+ enum_type: global___FeatureSet.EnumType.ValueType
1762
+ repeated_field_encoding: global___FeatureSet.RepeatedFieldEncoding.ValueType
1763
+ utf8_validation: global___FeatureSet.Utf8Validation.ValueType
1764
+ message_encoding: global___FeatureSet.MessageEncoding.ValueType
1765
+ json_format: global___FeatureSet.JsonFormat.ValueType
1766
+ def __init__(
1767
+ self,
1768
+ *,
1769
+ field_presence: global___FeatureSet.FieldPresence.ValueType | None = ...,
1770
+ enum_type: global___FeatureSet.EnumType.ValueType | None = ...,
1771
+ repeated_field_encoding: global___FeatureSet.RepeatedFieldEncoding.ValueType | None = ...,
1772
+ utf8_validation: global___FeatureSet.Utf8Validation.ValueType | None = ...,
1773
+ message_encoding: global___FeatureSet.MessageEncoding.ValueType | None = ...,
1774
+ json_format: global___FeatureSet.JsonFormat.ValueType | None = ...,
1775
+ ) -> None: ...
1776
+ def HasField(self, field_name: typing.Literal["enum_type", b"enum_type", "field_presence", b"field_presence", "json_format", b"json_format", "message_encoding", b"message_encoding", "repeated_field_encoding", b"repeated_field_encoding", "utf8_validation", b"utf8_validation"]) -> builtins.bool: ...
1777
+ def ClearField(self, field_name: typing.Literal["enum_type", b"enum_type", "field_presence", b"field_presence", "json_format", b"json_format", "message_encoding", b"message_encoding", "repeated_field_encoding", b"repeated_field_encoding", "utf8_validation", b"utf8_validation"]) -> None: ...
1778
+
1779
+ global___FeatureSet = FeatureSet
1780
+
1781
+ @typing.final
1782
+ class FeatureSetDefaults(google.protobuf.message.Message):
1783
+ """A compiled specification for the defaults of a set of features. These
1784
+ messages are generated from FeatureSet extensions and can be used to seed
1785
+ feature resolution. The resolution with this object becomes a simple search
1786
+ for the closest matching edition, followed by proto merges.
1787
+ """
1788
+
1789
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1790
+
1791
+ @typing.final
1792
+ class FeatureSetEditionDefault(google.protobuf.message.Message):
1793
+ """A map from every known edition with a unique set of defaults to its
1794
+ defaults. Not all editions may be contained here. For a given edition,
1795
+ the defaults at the closest matching edition ordered at or before it should
1796
+ be used. This field must be in strict ascending order by edition.
1797
+ """
1798
+
1799
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1800
+
1801
+ EDITION_FIELD_NUMBER: builtins.int
1802
+ FEATURES_FIELD_NUMBER: builtins.int
1803
+ edition: global___Edition.ValueType
1804
+ @property
1805
+ def features(self) -> global___FeatureSet: ...
1806
+ def __init__(
1807
+ self,
1808
+ *,
1809
+ edition: global___Edition.ValueType | None = ...,
1810
+ features: global___FeatureSet | None = ...,
1811
+ ) -> None: ...
1812
+ def HasField(self, field_name: typing.Literal["edition", b"edition", "features", b"features"]) -> builtins.bool: ...
1813
+ def ClearField(self, field_name: typing.Literal["edition", b"edition", "features", b"features"]) -> None: ...
1814
+
1815
+ DEFAULTS_FIELD_NUMBER: builtins.int
1816
+ MINIMUM_EDITION_FIELD_NUMBER: builtins.int
1817
+ MAXIMUM_EDITION_FIELD_NUMBER: builtins.int
1818
+ minimum_edition: global___Edition.ValueType
1819
+ """The minimum supported edition (inclusive) when this was constructed.
1820
+ Editions before this will not have defaults.
1821
+ """
1822
+ maximum_edition: global___Edition.ValueType
1823
+ """The maximum known edition (inclusive) when this was constructed. Editions
1824
+ after this will not have reliable defaults.
1825
+ """
1826
+ @property
1827
+ def defaults(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeatureSetDefaults.FeatureSetEditionDefault]: ...
1828
+ def __init__(
1829
+ self,
1830
+ *,
1831
+ defaults: collections.abc.Iterable[global___FeatureSetDefaults.FeatureSetEditionDefault] | None = ...,
1832
+ minimum_edition: global___Edition.ValueType | None = ...,
1833
+ maximum_edition: global___Edition.ValueType | None = ...,
1834
+ ) -> None: ...
1835
+ def HasField(self, field_name: typing.Literal["maximum_edition", b"maximum_edition", "minimum_edition", b"minimum_edition"]) -> builtins.bool: ...
1836
+ def ClearField(self, field_name: typing.Literal["defaults", b"defaults", "maximum_edition", b"maximum_edition", "minimum_edition", b"minimum_edition"]) -> None: ...
1837
+
1838
+ global___FeatureSetDefaults = FeatureSetDefaults
1839
+
1840
+ @typing.final
1292
1841
  class SourceCodeInfo(google.protobuf.message.Message):
1293
1842
  """===================================================================
1294
1843
  Optional source code info
@@ -1299,7 +1848,7 @@ class SourceCodeInfo(google.protobuf.message.Message):
1299
1848
 
1300
1849
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1301
1850
 
1302
- @typing_extensions.final
1851
+ @typing.final
1303
1852
  class Location(google.protobuf.message.Message):
1304
1853
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1305
1854
 
@@ -1308,40 +1857,6 @@ class SourceCodeInfo(google.protobuf.message.Message):
1308
1857
  LEADING_COMMENTS_FIELD_NUMBER: builtins.int
1309
1858
  TRAILING_COMMENTS_FIELD_NUMBER: builtins.int
1310
1859
  LEADING_DETACHED_COMMENTS_FIELD_NUMBER: builtins.int
1311
- @property
1312
- def path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
1313
- """Identifies which part of the FileDescriptorProto was defined at this
1314
- location.
1315
-
1316
- Each element is a field number or an index. They form a path from
1317
- the root FileDescriptorProto to the place where the definition occurs.
1318
- For example, this path:
1319
- [ 4, 3, 2, 7, 1 ]
1320
- refers to:
1321
- file.message_type(3) // 4, 3
1322
- .field(7) // 2, 7
1323
- .name() // 1
1324
- This is because FileDescriptorProto.message_type has field number 4:
1325
- repeated DescriptorProto message_type = 4;
1326
- and DescriptorProto.field has field number 2:
1327
- repeated FieldDescriptorProto field = 2;
1328
- and FieldDescriptorProto.name has field number 1:
1329
- optional string name = 1;
1330
-
1331
- Thus, the above path gives the location of a field name. If we removed
1332
- the last element:
1333
- [ 4, 3, 2, 7 ]
1334
- this path refers to the whole field declaration (from the beginning
1335
- of the label to the terminating semicolon).
1336
- """
1337
- @property
1338
- def span(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
1339
- """Always has exactly three or four elements: start line, start column,
1340
- end line (optional, otherwise assumed same as start line), end column.
1341
- These are packed into a single field for efficiency. Note that line
1342
- and column numbers are zero-based -- typically you will want to add
1343
- 1 to each before displaying to a user.
1344
- """
1345
1860
  leading_comments: builtins.str
1346
1861
  """If this SourceCodeInfo represents a complete declaration, these are any
1347
1862
  comments appearing before and after the declaration which appear to be
@@ -1392,6 +1907,42 @@ class SourceCodeInfo(google.protobuf.message.Message):
1392
1907
  // ignored detached comments.
1393
1908
  """
1394
1909
  trailing_comments: builtins.str
1910
+ @property
1911
+ def path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
1912
+ """Identifies which part of the FileDescriptorProto was defined at this
1913
+ location.
1914
+
1915
+ Each element is a field number or an index. They form a path from
1916
+ the root FileDescriptorProto to the place where the definition appears.
1917
+ For example, this path:
1918
+ [ 4, 3, 2, 7, 1 ]
1919
+ refers to:
1920
+ file.message_type(3) // 4, 3
1921
+ .field(7) // 2, 7
1922
+ .name() // 1
1923
+ This is because FileDescriptorProto.message_type has field number 4:
1924
+ repeated DescriptorProto message_type = 4;
1925
+ and DescriptorProto.field has field number 2:
1926
+ repeated FieldDescriptorProto field = 2;
1927
+ and FieldDescriptorProto.name has field number 1:
1928
+ optional string name = 1;
1929
+
1930
+ Thus, the above path gives the location of a field name. If we removed
1931
+ the last element:
1932
+ [ 4, 3, 2, 7 ]
1933
+ this path refers to the whole field declaration (from the beginning
1934
+ of the label to the terminating semicolon).
1935
+ """
1936
+
1937
+ @property
1938
+ def span(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
1939
+ """Always has exactly three or four elements: start line, start column,
1940
+ end line (optional, otherwise assumed same as start line), end column.
1941
+ These are packed into a single field for efficiency. Note that line
1942
+ and column numbers are zero-based -- typically you will want to add
1943
+ 1 to each before displaying to a user.
1944
+ """
1945
+
1395
1946
  @property
1396
1947
  def leading_detached_comments(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
1397
1948
  def __init__(
@@ -1403,8 +1954,8 @@ class SourceCodeInfo(google.protobuf.message.Message):
1403
1954
  trailing_comments: builtins.str | None = ...,
1404
1955
  leading_detached_comments: collections.abc.Iterable[builtins.str] | None = ...,
1405
1956
  ) -> None: ...
1406
- def HasField(self, field_name: typing_extensions.Literal["leading_comments", b"leading_comments", "trailing_comments", b"trailing_comments"]) -> builtins.bool: ...
1407
- def ClearField(self, field_name: typing_extensions.Literal["leading_comments", b"leading_comments", "leading_detached_comments", b"leading_detached_comments", "path", b"path", "span", b"span", "trailing_comments", b"trailing_comments"]) -> None: ...
1957
+ def HasField(self, field_name: typing.Literal["leading_comments", b"leading_comments", "trailing_comments", b"trailing_comments"]) -> builtins.bool: ...
1958
+ def ClearField(self, field_name: typing.Literal["leading_comments", b"leading_comments", "leading_detached_comments", b"leading_detached_comments", "path", b"path", "span", b"span", "trailing_comments", b"trailing_comments"]) -> None: ...
1408
1959
 
1409
1960
  LOCATION_FIELD_NUMBER: builtins.int
1410
1961
  @property
@@ -1453,16 +2004,17 @@ class SourceCodeInfo(google.protobuf.message.Message):
1453
2004
  ignore those that it doesn't understand, as more types of locations could
1454
2005
  be recorded in the future.
1455
2006
  """
2007
+
1456
2008
  def __init__(
1457
2009
  self,
1458
2010
  *,
1459
2011
  location: collections.abc.Iterable[global___SourceCodeInfo.Location] | None = ...,
1460
2012
  ) -> None: ...
1461
- def ClearField(self, field_name: typing_extensions.Literal["location", b"location"]) -> None: ...
2013
+ def ClearField(self, field_name: typing.Literal["location", b"location"]) -> None: ...
1462
2014
 
1463
2015
  global___SourceCodeInfo = SourceCodeInfo
1464
2016
 
1465
- @typing_extensions.final
2017
+ @typing.final
1466
2018
  class GeneratedCodeInfo(google.protobuf.message.Message):
1467
2019
  """Describes the relationship between generated code and its original source
1468
2020
  file. A GeneratedCodeInfo message is associated with only one generated
@@ -1471,19 +2023,40 @@ class GeneratedCodeInfo(google.protobuf.message.Message):
1471
2023
 
1472
2024
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1473
2025
 
1474
- @typing_extensions.final
2026
+ @typing.final
1475
2027
  class Annotation(google.protobuf.message.Message):
1476
2028
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1477
2029
 
2030
+ class _Semantic:
2031
+ ValueType = typing.NewType("ValueType", builtins.int)
2032
+ V: typing_extensions.TypeAlias = ValueType
2033
+
2034
+ class _SemanticEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GeneratedCodeInfo.Annotation._Semantic.ValueType], builtins.type):
2035
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
2036
+ NONE: GeneratedCodeInfo.Annotation._Semantic.ValueType # 0
2037
+ """There is no effect or the effect is indescribable."""
2038
+ SET: GeneratedCodeInfo.Annotation._Semantic.ValueType # 1
2039
+ """The element is set or otherwise mutated."""
2040
+ ALIAS: GeneratedCodeInfo.Annotation._Semantic.ValueType # 2
2041
+ """An alias to the element is returned."""
2042
+
2043
+ class Semantic(_Semantic, metaclass=_SemanticEnumTypeWrapper):
2044
+ """Represents the identified object's effect on the element in the original
2045
+ .proto file.
2046
+ """
2047
+
2048
+ NONE: GeneratedCodeInfo.Annotation.Semantic.ValueType # 0
2049
+ """There is no effect or the effect is indescribable."""
2050
+ SET: GeneratedCodeInfo.Annotation.Semantic.ValueType # 1
2051
+ """The element is set or otherwise mutated."""
2052
+ ALIAS: GeneratedCodeInfo.Annotation.Semantic.ValueType # 2
2053
+ """An alias to the element is returned."""
2054
+
1478
2055
  PATH_FIELD_NUMBER: builtins.int
1479
2056
  SOURCE_FILE_FIELD_NUMBER: builtins.int
1480
2057
  BEGIN_FIELD_NUMBER: builtins.int
1481
2058
  END_FIELD_NUMBER: builtins.int
1482
- @property
1483
- def path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
1484
- """Identifies the element in the original source .proto file. This field
1485
- is formatted the same as SourceCodeInfo.Location.path.
1486
- """
2059
+ SEMANTIC_FIELD_NUMBER: builtins.int
1487
2060
  source_file: builtins.str
1488
2061
  """Identifies the filesystem path to the original source .proto."""
1489
2062
  begin: builtins.int
@@ -1492,9 +2065,16 @@ class GeneratedCodeInfo(google.protobuf.message.Message):
1492
2065
  """
1493
2066
  end: builtins.int
1494
2067
  """Identifies the ending offset in bytes in the generated code that
1495
- relates to the identified offset. The end offset should be one past
2068
+ relates to the identified object. The end offset should be one past
1496
2069
  the last relevant byte (so the length of the text = end - begin).
1497
2070
  """
2071
+ semantic: global___GeneratedCodeInfo.Annotation.Semantic.ValueType
2072
+ @property
2073
+ def path(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
2074
+ """Identifies the element in the original source .proto file. This field
2075
+ is formatted the same as SourceCodeInfo.Location.path.
2076
+ """
2077
+
1498
2078
  def __init__(
1499
2079
  self,
1500
2080
  *,
@@ -1502,9 +2082,10 @@ class GeneratedCodeInfo(google.protobuf.message.Message):
1502
2082
  source_file: builtins.str | None = ...,
1503
2083
  begin: builtins.int | None = ...,
1504
2084
  end: builtins.int | None = ...,
2085
+ semantic: global___GeneratedCodeInfo.Annotation.Semantic.ValueType | None = ...,
1505
2086
  ) -> None: ...
1506
- def HasField(self, field_name: typing_extensions.Literal["begin", b"begin", "end", b"end", "source_file", b"source_file"]) -> builtins.bool: ...
1507
- def ClearField(self, field_name: typing_extensions.Literal["begin", b"begin", "end", b"end", "path", b"path", "source_file", b"source_file"]) -> None: ...
2087
+ def HasField(self, field_name: typing.Literal["begin", b"begin", "end", b"end", "semantic", b"semantic", "source_file", b"source_file"]) -> builtins.bool: ...
2088
+ def ClearField(self, field_name: typing.Literal["begin", b"begin", "end", b"end", "path", b"path", "semantic", b"semantic", "source_file", b"source_file"]) -> None: ...
1508
2089
 
1509
2090
  ANNOTATION_FIELD_NUMBER: builtins.int
1510
2091
  @property
@@ -1512,11 +2093,12 @@ class GeneratedCodeInfo(google.protobuf.message.Message):
1512
2093
  """An Annotation connects some span of text in generated code to an element
1513
2094
  of its generating .proto file.
1514
2095
  """
2096
+
1515
2097
  def __init__(
1516
2098
  self,
1517
2099
  *,
1518
2100
  annotation: collections.abc.Iterable[global___GeneratedCodeInfo.Annotation] | None = ...,
1519
2101
  ) -> None: ...
1520
- def ClearField(self, field_name: typing_extensions.Literal["annotation", b"annotation"]) -> None: ...
2102
+ def ClearField(self, field_name: typing.Literal["annotation", b"annotation"]) -> None: ...
1521
2103
 
1522
2104
  global___GeneratedCodeInfo = GeneratedCodeInfo