diff --git a/examples/local_video/README.md b/examples/local_video/README.md new file mode 100644 index 00000000..f532c430 --- /dev/null +++ b/examples/local_video/README.md @@ -0,0 +1,67 @@ +# Local Video Packet-Trailer Examples + +These desktop examples show how to publish a local camera track and attach packet-trailer frame metadata from Python. + +## Setup + +```bash +export LIVEKIT_URL=https://your-livekit-host +export LIVEKIT_API_KEY=your-api-key +export LIVEKIT_API_SECRET=your-api-secret +``` + +Run these examples from the repository root with `uv run --project examples/local_video`. +LiveKit connection settings can also be passed with `--url`, `--api-key`, and `--api-secret`. + +## Publisher + +Publish a camera track: + +```bash +uv run --project examples/local_video python examples/local_video/publisher.py \ + --room-name demo \ + --identity py-cam \ + --camera-index 0 +``` + +Attach packet-trailer metadata: + +```bash +uv run --project examples/local_video python examples/local_video/publisher.py \ + --room-name demo \ + --identity py-cam \ + --attach-timestamp \ + --attach-frame-id +``` + +Useful flags: + +- `--camera-index `: OpenCV camera index to publish. +- `--width ` / `--height `: requested camera resolution. +- `--fps `: requested publish frame rate. +- `--attach-timestamp`: attach wall-clock microseconds since Unix epoch as `FrameMetadata.user_timestamp`. +- `--attach-frame-id`: attach a monotonically increasing `FrameMetadata.frame_id`. + +## Subscriber + +Render the first video track in the room: + +```bash +uv run --project examples/local_video python examples/local_video/subscriber.py \ + --room-name demo \ + --identity py-viewer +``` + +Display packet-trailer metadata over the video: + +```bash +uv run --project examples/local_video python examples/local_video/subscriber.py \ + --room-name demo \ + --identity py-viewer \ + --display-timestamp +``` + +Use `--participant py-cam` to only subscribe to video from a specific participant identity. +The subscriber keeps running across unpublish/republish cycles and will attach to the next matching video track. + +Press `q` in the video window or `Ctrl+C` in the terminal to exit. diff --git a/examples/local_video/publisher.py b/examples/local_video/publisher.py new file mode 100644 index 00000000..8ba41a4b --- /dev/null +++ b/examples/local_video/publisher.py @@ -0,0 +1,256 @@ +from __future__ import annotations + +import argparse +import asyncio +import logging +import os +import signal +import time + +import numpy as np +from livekit import api, rtc + +try: + import cv2 +except ImportError as exc: + raise SystemExit( + "opencv-python is required to run this example. " + "Run it with `uv run --project examples/local_video python examples/local_video/publisher.py`." + ) from exc + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Publish a local camera track with optional packet-trailer metadata.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--camera-index", type=int, default=0, help="OpenCV camera index to use") + parser.add_argument("--width", type=int, default=1280, help="Requested capture width") + parser.add_argument("--height", type=int, default=720, help="Requested capture height") + parser.add_argument("--fps", type=float, default=30.0, help="Requested publish frame rate") + parser.add_argument("--room-name", default="video-room", help="LiveKit room name") + parser.add_argument("--identity", default="python-camera-pub", help="Participant identity") + parser.add_argument("--url", help="LiveKit server URL; falls back to LIVEKIT_URL") + parser.add_argument("--api-key", help="LiveKit API key; falls back to LIVEKIT_API_KEY") + parser.add_argument( + "--api-secret", + help="LiveKit API secret; falls back to LIVEKIT_API_SECRET", + ) + parser.add_argument( + "--attach-timestamp", + action="store_true", + help="Attach wall-clock microseconds in FrameMetadata.user_timestamp", + ) + parser.add_argument( + "--attach-frame-id", + action="store_true", + help="Attach a monotonically increasing FrameMetadata.frame_id", + ) + return parser.parse_args() + + +def _require_connection(args: argparse.Namespace) -> tuple[str, str, str]: + url = args.url or os.getenv("LIVEKIT_URL") + api_key = args.api_key or os.getenv("LIVEKIT_API_KEY") + api_secret = args.api_secret or os.getenv("LIVEKIT_API_SECRET") + + missing = [ + name + for name, value in ( + ("LIVEKIT_URL or --url", url), + ("LIVEKIT_API_KEY or --api-key", api_key), + ("LIVEKIT_API_SECRET or --api-secret", api_secret), + ) + if not value + ] + if missing: + raise RuntimeError(f"Missing LiveKit connection settings: {', '.join(missing)}") + + return url, api_key, api_secret + + +def _create_token(args: argparse.Namespace, api_key: str, api_secret: str) -> str: + return ( + api.AccessToken(api_key, api_secret) + .with_identity(args.identity) + .with_name(args.identity) + .with_grants( + api.VideoGrants( + room_join=True, + room=args.room_name, + can_publish=True, + can_subscribe=False, + ) + ) + .to_jwt() + ) + + +def _open_camera(args: argparse.Namespace) -> tuple[cv2.VideoCapture, int, int]: + if args.fps <= 0: + raise RuntimeError("--fps must be greater than zero") + + capture = cv2.VideoCapture(args.camera_index) + if not capture.isOpened(): + raise RuntimeError(f"Could not open camera index {args.camera_index}") + + capture.set(cv2.CAP_PROP_FRAME_WIDTH, args.width) + capture.set(cv2.CAP_PROP_FRAME_HEIGHT, args.height) + capture.set(cv2.CAP_PROP_FPS, args.fps) + + ok, frame = capture.read() + if not ok or frame is None: + capture.release() + raise RuntimeError(f"Could not read from camera index {args.camera_index}") + + height, width = frame.shape[:2] + logging.info("camera opened at %sx%s", width, height) + return capture, width, height + + +def _packet_trailer_features(args: argparse.Namespace) -> list[int]: + features = [] + if args.attach_timestamp: + features.append(rtc.PacketTrailerFeature.PTF_USER_TIMESTAMP) + if args.attach_frame_id: + features.append(rtc.PacketTrailerFeature.PTF_FRAME_ID) + return features + + +def _metadata_for_frame( + args: argparse.Namespace, + *, + user_timestamp: int, + frame_id: int, +) -> rtc.FrameMetadata | None: + if not args.attach_timestamp and not args.attach_frame_id: + return None + + metadata = rtc.FrameMetadata() + if args.attach_timestamp: + metadata.user_timestamp = user_timestamp + if args.attach_frame_id: + metadata.frame_id = frame_id + return metadata + + +def _unix_time_us() -> int: + return time.time_ns() // 1_000 + + +def _install_signal_handlers(stop_event: asyncio.Event) -> None: + loop = asyncio.get_running_loop() + for sig in (signal.SIGINT, signal.SIGTERM): + try: + loop.add_signal_handler(sig, stop_event.set) + except (NotImplementedError, RuntimeError): + pass + + +async def _capture_loop( + args: argparse.Namespace, + capture: cv2.VideoCapture, + source: rtc.VideoSource, + width: int, + height: int, + stop_event: asyncio.Event, +) -> None: + interval = 1.0 / args.fps + next_frame_at = time.perf_counter() + started_at_ns = time.perf_counter_ns() + frame_id = 1 + submitted = 0 + last_log_at = time.perf_counter() + + while not stop_event.is_set(): + ok, bgr = await asyncio.to_thread(capture.read) + if not ok or bgr is None: + logging.warning("camera frame read failed") + await asyncio.sleep(0.1) + continue + + if bgr.shape[1] != width or bgr.shape[0] != height: + bgr = cv2.resize(bgr, (width, height), interpolation=cv2.INTER_AREA) + + user_timestamp = _unix_time_us() + timestamp_us = (time.perf_counter_ns() - started_at_ns) // 1_000 + rgba = cv2.cvtColor(bgr, cv2.COLOR_BGR2RGBA) + rgba = np.ascontiguousarray(rgba) + frame = rtc.VideoFrame(width, height, rtc.VideoBufferType.RGBA, rgba.tobytes()) + metadata = _metadata_for_frame( + args, + user_timestamp=user_timestamp, + frame_id=frame_id, + ) + source.capture_frame(frame, timestamp_us=timestamp_us, metadata=metadata) + + submitted += 1 + if args.attach_frame_id: + frame_id = (frame_id + 1) & 0xFFFFFFFF + + now = time.perf_counter() + if now - last_log_at >= 2.0: + logging.info( + "published %s frames at ~%.1f fps", submitted, submitted / (now - last_log_at) + ) + submitted = 0 + last_log_at = now + + next_frame_at += interval + sleep_for = next_frame_at - time.perf_counter() + if sleep_for > 0: + await asyncio.sleep(sleep_for) + else: + next_frame_at = time.perf_counter() + + +async def run(args: argparse.Namespace, stop_event: asyncio.Event) -> None: + url, api_key, api_secret = _require_connection(args) + capture, width, height = _open_camera(args) + room = rtc.Room() + source: rtc.VideoSource | None = None + + try: + token = _create_token(args, api_key, api_secret) + logging.info("connecting to room %s as %s", args.room_name, args.identity) + await room.connect(url, token) + logging.info("connected to room %s", room.name) + + source = rtc.VideoSource(width, height) + track = rtc.LocalVideoTrack.create_video_track("camera", source) + options = rtc.TrackPublishOptions( + source=rtc.TrackSource.SOURCE_CAMERA, + video_encoding=rtc.VideoEncoding( + max_framerate=args.fps, + max_bitrate=3_000_000, + ), + packet_trailer_features=_packet_trailer_features(args), + ) + publication = await room.local_participant.publish_track(track, options) + logging.info( + "published camera track %s with packet trailer features %s", + publication.sid, + list(publication.packet_trailer_features), + ) + + await _capture_loop(args, capture, source, width, height, stop_event) + finally: + capture.release() + if source is not None: + await source.aclose() + await room.disconnect() + + +async def main() -> None: + logging.basicConfig(level=logging.INFO) + args = parse_args() + stop_event = asyncio.Event() + _install_signal_handlers(stop_event) + await run(args, stop_event) + + +if __name__ == "__main__": + try: + asyncio.run(main()) + except KeyboardInterrupt: + pass diff --git a/examples/local_video/pyproject.toml b/examples/local_video/pyproject.toml new file mode 100644 index 00000000..e45cdcf2 --- /dev/null +++ b/examples/local_video/pyproject.toml @@ -0,0 +1,19 @@ +[project] +name = "livekit-local-video-example" +version = "0.1.0" +description = "Local video packet-trailer examples for the LiveKit Python SDK" +requires-python = ">=3.9" +dependencies = [ + "livekit", + "livekit-api", + "numpy", + "opencv-python", +] + +[tool.uv] +package = false + +[tool.uv.sources] +livekit = { path = "../../livekit-rtc", editable = true } +livekit-api = { path = "../../livekit-api", editable = true } +livekit-protocol = { path = "../../livekit-protocol", editable = true } diff --git a/examples/local_video/subscriber.py b/examples/local_video/subscriber.py new file mode 100644 index 00000000..11dc13f4 --- /dev/null +++ b/examples/local_video/subscriber.py @@ -0,0 +1,347 @@ +from __future__ import annotations + +import argparse +import asyncio +from dataclasses import dataclass +from datetime import datetime, timezone +import logging +import os +import signal +import time + +import numpy as np +from livekit import api, rtc + +try: + import cv2 +except ImportError as exc: + raise SystemExit( + "opencv-python is required to run this example. " + "Run it with `uv run --project examples/local_video python examples/local_video/subscriber.py`." + ) from exc + + +WINDOW_NAME = "livekit_video" + + +@dataclass(frozen=True) +class SubscribedVideoTrack: + track: rtc.Track + publication: rtc.RemoteTrackPublication + participant: rtc.RemoteParticipant + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Subscribe to a LiveKit video track and optionally display packet metadata.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--room-name", default="video-room", help="LiveKit room name") + parser.add_argument( + "--identity", default="python-video-subscriber", help="Participant identity" + ) + parser.add_argument( + "--participant", + help="Only subscribe to video from this participant identity", + ) + parser.add_argument("--url", help="LiveKit server URL; falls back to LIVEKIT_URL") + parser.add_argument("--api-key", help="LiveKit API key; falls back to LIVEKIT_API_KEY") + parser.add_argument( + "--api-secret", + help="LiveKit API secret; falls back to LIVEKIT_API_SECRET", + ) + parser.add_argument( + "--display-timestamp", + action="store_true", + help="Overlay frame ID, publisher timestamp, receive timestamp, and latency", + ) + return parser.parse_args() + + +def _require_connection(args: argparse.Namespace) -> tuple[str, str, str]: + url = args.url or os.getenv("LIVEKIT_URL") + api_key = args.api_key or os.getenv("LIVEKIT_API_KEY") + api_secret = args.api_secret or os.getenv("LIVEKIT_API_SECRET") + + missing = [ + name + for name, value in ( + ("LIVEKIT_URL or --url", url), + ("LIVEKIT_API_KEY or --api-key", api_key), + ("LIVEKIT_API_SECRET or --api-secret", api_secret), + ) + if not value + ] + if missing: + raise RuntimeError(f"Missing LiveKit connection settings: {', '.join(missing)}") + + return url, api_key, api_secret + + +def _create_token(args: argparse.Namespace, api_key: str, api_secret: str) -> str: + return ( + api.AccessToken(api_key, api_secret) + .with_identity(args.identity) + .with_name(args.identity) + .with_grants( + api.VideoGrants( + room_join=True, + room=args.room_name, + can_publish=False, + can_subscribe=True, + ) + ) + .to_jwt() + ) + + +def _unix_time_us() -> int: + return time.time_ns() // 1_000 + + +def _install_signal_handlers(stop_event: asyncio.Event) -> None: + loop = asyncio.get_running_loop() + for sig in (signal.SIGINT, signal.SIGTERM): + try: + loop.add_signal_handler(sig, stop_event.set) + except (NotImplementedError, RuntimeError): + pass + + +def _metadata_field(metadata: rtc.FrameMetadata | None, field: str) -> int | None: + if metadata is None: + return None + if not metadata.HasField(field): + return None + return getattr(metadata, field) + + +def _format_timestamp_us(timestamp_us: int | None) -> str: + if timestamp_us is None: + return "N/A" + try: + timestamp = datetime.fromtimestamp(timestamp_us / 1_000_000, tz=timezone.utc) + except (OverflowError, OSError, ValueError): + return f"" + return f"{timestamp:%Y-%m-%d %H:%M:%S}.{timestamp.microsecond // 1_000:03d}Z" + + +def _format_latency_us(receive_us: int, publish_us: int | None) -> str: + if publish_us is None: + return "N/A" + return f"{max(receive_us - publish_us, 0) / 1_000:.1f}ms" + + +def _draw_timestamp_overlay( + image: np.ndarray, + *, + metadata: rtc.FrameMetadata | None, + receive_us: int, +) -> None: + publish_us = _metadata_field(metadata, "user_timestamp") + frame_id = _metadata_field(metadata, "frame_id") + lines = [ + f"Frame ID: {frame_id if frame_id is not None else 'N/A'}", + f"Sensor: {_format_timestamp_us(publish_us)}", + f"Receive: {_format_timestamp_us(receive_us)}", + f"E2E Latency: {_format_latency_us(receive_us, publish_us)}", + ] + + font_face = cv2.FONT_HERSHEY_SIMPLEX + font_scale = 0.55 + thickness = 1 + line_height = 22 + padding = 8 + text_sizes = [cv2.getTextSize(line, font_face, font_scale, thickness)[0] for line in lines] + box_width = max(width for width, _ in text_sizes) + (padding * 2) + box_height = (line_height * len(lines)) + (padding * 2) + cv2.rectangle(image, (8, 8), (8 + box_width, 8 + box_height), (0, 0, 0), -1) + + y = 8 + padding + 16 + for line in lines: + cv2.putText( + image, + line, + (8 + padding, y), + font_face, + font_scale, + (255, 255, 255), + thickness, + cv2.LINE_AA, + ) + y += line_height + + +def _feature_names(features: list[int]) -> str: + names = [] + for feature in features: + try: + names.append(rtc.PacketTrailerFeature.Name(feature)) + except ValueError: + names.append(str(feature)) + return ", ".join(names) or "none" + + +def _window_is_open() -> bool: + try: + return cv2.getWindowProperty(WINDOW_NAME, cv2.WND_PROP_VISIBLE) >= 1 + except cv2.error: + return False + + +async def _next_video_track( + track_queue: asyncio.Queue[SubscribedVideoTrack], + stop_event: asyncio.Event, +) -> SubscribedVideoTrack | None: + while not stop_event.is_set(): + try: + return await asyncio.wait_for(track_queue.get(), timeout=0.5) + except asyncio.TimeoutError: + continue + return None + + +async def _render_video( + video_stream: rtc.VideoStream, + args: argparse.Namespace, + stop_event: asyncio.Event, + active_track_gone: asyncio.Event, +) -> None: + cv2.namedWindow(WINDOW_NAME, cv2.WINDOW_AUTOSIZE) + + try: + while not stop_event.is_set() and not active_track_gone.is_set(): + try: + frame_event = await asyncio.wait_for(video_stream.__anext__(), timeout=0.5) + except asyncio.TimeoutError: + if cv2.waitKey(1) & 0xFF == ord("q"): + stop_event.set() + continue + except StopAsyncIteration: + break + + receive_us = _unix_time_us() + frame = frame_event.frame + rgb = np.frombuffer(frame.data, dtype=np.uint8).reshape((frame.height, frame.width, 3)) + image = cv2.cvtColor(rgb, cv2.COLOR_RGB2BGR) + + if args.display_timestamp: + _draw_timestamp_overlay( + image, + metadata=frame_event.metadata, + receive_us=receive_us, + ) + + cv2.imshow(WINDOW_NAME, image) + if cv2.waitKey(1) & 0xFF == ord("q"): + stop_event.set() + if not _window_is_open(): + stop_event.set() + finally: + cv2.destroyAllWindows() + + +async def run(args: argparse.Namespace, stop_event: asyncio.Event) -> None: + url, api_key, api_secret = _require_connection(args) + room = rtc.Room() + track_queue: asyncio.Queue[SubscribedVideoTrack] = asyncio.Queue() + active_publication_sid: str | None = None + active_track_gone = asyncio.Event() + video_stream: rtc.VideoStream | None = None + + @room.on("track_subscribed") + def on_track_subscribed( + track: rtc.Track, + publication: rtc.RemoteTrackPublication, + participant: rtc.RemoteParticipant, + ) -> None: + if track.kind != rtc.TrackKind.KIND_VIDEO: + return + if args.participant and participant.identity != args.participant: + logging.info( + "skipping video track from %s; waiting for %s", + participant.identity, + args.participant, + ) + return + + track_queue.put_nowait( + SubscribedVideoTrack( + track=track, + publication=publication, + participant=participant, + ) + ) + + @room.on("track_unsubscribed") + def on_track_unsubscribed( + track: rtc.Track, + publication: rtc.RemoteTrackPublication, + participant: rtc.RemoteParticipant, + ) -> None: + nonlocal active_publication_sid + if publication.sid == active_publication_sid: + logging.info("active video track unsubscribed: %s", publication.sid) + active_track_gone.set() + + @room.on("track_unpublished") + def on_track_unpublished( + publication: rtc.RemoteTrackPublication, + participant: rtc.RemoteParticipant, + ) -> None: + nonlocal active_publication_sid + if publication.sid == active_publication_sid: + logging.info("active video track unpublished: %s", publication.sid) + active_track_gone.set() + + try: + token = _create_token(args, api_key, api_secret) + logging.info("connecting to room %s as %s", args.room_name, args.identity) + await room.connect(url, token) + logging.info("connected to room %s", room.name) + + while not stop_event.is_set(): + logging.info("waiting for a video track") + subscribed = await _next_video_track(track_queue, stop_event) + if subscribed is None: + break + + active_publication_sid = subscribed.publication.sid + active_track_gone = asyncio.Event() + logging.info( + "subscribed to %s from %s with packet trailer features: %s", + subscribed.publication.sid, + subscribed.participant.identity, + _feature_names(list(subscribed.publication.packet_trailer_features)), + ) + + video_stream = rtc.VideoStream.from_track( + track=subscribed.track, + format=rtc.VideoBufferType.RGB24, + capacity=1, + ) + try: + await _render_video(video_stream, args, stop_event, active_track_gone) + finally: + await video_stream.aclose() + video_stream = None + active_publication_sid = None + finally: + if video_stream is not None: + await video_stream.aclose() + await room.disconnect() + + +async def main() -> None: + logging.basicConfig(level=logging.INFO) + args = parse_args() + stop_event = asyncio.Event() + _install_signal_handlers(stop_event) + await run(args, stop_event) + + +if __name__ == "__main__": + try: + asyncio.run(main()) + except KeyboardInterrupt: + pass diff --git a/examples/local_video/uv.lock b/examples/local_video/uv.lock new file mode 100644 index 00000000..25e20f08 --- /dev/null +++ b/examples/local_video/uv.lock @@ -0,0 +1,1439 @@ +version = 1 +revision = 2 +requires-python = ">=3.9" +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version < '3.10'", +] + +[[package]] +name = "aiofiles" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/c3/534eac40372d8ee36ef40df62ec129bee4fdb5ad9706e58a29be53b2c970/aiofiles-25.1.0.tar.gz", hash = "sha256:a8d728f0a29de45dc521f18f07297428d56992a742f0cd2701ba86e44d23d5b2", size = 46354, upload-time = "2025-10-09T20:51:04.358Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl", hash = "sha256:abe311e527c862958650f9438e859c1fa7568a141b22abcd015e120e86a85695", size = 14668, upload-time = "2025-10-09T20:51:03.174Z" }, +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.13.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "propcache", version = "0.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "yarl", version = "1.22.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "yarl", version = "1.23.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz", hash = "sha256:9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1", size = 7858271, upload-time = "2026-03-31T22:01:03.343Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/85/cebc47ee74d8b408749073a1a46c6fcba13d170dc8af7e61996c6c9394ac/aiohttp-3.13.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:02222e7e233295f40e011c1b00e3b0bd451f22cf853a0304c3595633ee47da4b", size = 750547, upload-time = "2026-03-31T21:56:30.024Z" }, + { url = "https://files.pythonhosted.org/packages/05/98/afd308e35b9d3d8c9ec54c0918f1d722c86dc17ddfec272fcdbcce5a3124/aiohttp-3.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bace460460ed20614fa6bc8cb09966c0b8517b8c58ad8046828c6078d25333b5", size = 503535, upload-time = "2026-03-31T21:56:31.935Z" }, + { url = "https://files.pythonhosted.org/packages/6f/4d/926c183e06b09d5270a309eb50fbde7b09782bfd305dec1e800f329834fb/aiohttp-3.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f546a4dc1e6a5edbb9fd1fd6ad18134550e096a5a43f4ad74acfbd834fc6670", size = 497830, upload-time = "2026-03-31T21:56:33.654Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d6/f47d1c690f115a5c2a5e8938cce4a232a5be9aac5c5fb2647efcbbbda333/aiohttp-3.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c86969d012e51b8e415a8c6ce96f7857d6a87d6207303ab02d5d11ef0cad2274", size = 1682474, upload-time = "2026-03-31T21:56:35.513Z" }, + { url = "https://files.pythonhosted.org/packages/01/44/056fd37b1bb52eac760303e5196acc74d9d546631b035704ae5927f7b4ac/aiohttp-3.13.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b6f6cd1560c5fa427e3b6074bb24d2c64e225afbb7165008903bd42e4e33e28a", size = 1655259, upload-time = "2026-03-31T21:56:37.843Z" }, + { url = "https://files.pythonhosted.org/packages/91/9f/78eb1a20c1c28ae02f6a3c0f4d7b0dcc66abce5290cadd53d78ce3084175/aiohttp-3.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:636bc362f0c5bbc7372bc3ae49737f9e3030dbce469f0f422c8f38079780363d", size = 1736204, upload-time = "2026-03-31T21:56:39.822Z" }, + { url = "https://files.pythonhosted.org/packages/de/6c/d20d7de23f0b52b8c1d9e2033b2db1ac4dacbb470bb74c56de0f5f86bb4f/aiohttp-3.13.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a7cbeb06d1070f1d14895eeeed4dac5913b22d7b456f2eb969f11f4b3993796", size = 1826198, upload-time = "2026-03-31T21:56:41.378Z" }, + { url = "https://files.pythonhosted.org/packages/2f/86/a6f3ff1fd795f49545a7c74b2c92f62729135d73e7e4055bf74da5a26c82/aiohttp-3.13.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca9ef7517fd7874a1a08970ae88f497bf5c984610caa0bf40bd7e8450852b95", size = 1681329, upload-time = "2026-03-31T21:56:43.374Z" }, + { url = "https://files.pythonhosted.org/packages/fb/68/84cd3dab6b7b4f3e6fe9459a961acb142aaab846417f6e8905110d7027e5/aiohttp-3.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:019a67772e034a0e6b9b17c13d0a8fe56ad9fb150fc724b7f3ffd3724288d9e5", size = 1560023, upload-time = "2026-03-31T21:56:45.031Z" }, + { url = "https://files.pythonhosted.org/packages/41/2c/db61b64b0249e30f954a65ab4cb4970ced57544b1de2e3c98ee5dc24165f/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f34ecee82858e41dd217734f0c41a532bd066bcaab636ad830f03a30b2a96f2a", size = 1652372, upload-time = "2026-03-31T21:56:47.075Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/e96988a6c982d047810c772e28c43c64c300c943b0ed5c1c0c4ce1e1027c/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4eac02d9af4813ee289cd63a361576da36dba57f5a1ab36377bc2600db0cbb73", size = 1662031, upload-time = "2026-03-31T21:56:48.835Z" }, + { url = "https://files.pythonhosted.org/packages/b7/26/a56feace81f3d347b4052403a9d03754a0ab23f7940780dada0849a38c92/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4beac52e9fe46d6abf98b0176a88154b742e878fdf209d2248e99fcdf73cd297", size = 1708118, upload-time = "2026-03-31T21:56:50.833Z" }, + { url = "https://files.pythonhosted.org/packages/78/6e/b6173a8ff03d01d5e1a694bc06764b5dad1df2d4ed8f0ceec12bb3277936/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c180f480207a9b2475f2b8d8bd7204e47aec952d084b2a2be58a782ffcf96074", size = 1548667, upload-time = "2026-03-31T21:56:52.81Z" }, + { url = "https://files.pythonhosted.org/packages/16/13/13296ffe2c132d888b3fe2c195c8b9c0c24c89c3fa5cc2c44464dc23b22e/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2837fb92951564d6339cedae4a7231692aa9f73cbc4fb2e04263b96844e03b4e", size = 1724490, upload-time = "2026-03-31T21:56:54.541Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/1f1c287f4a79782ef36e5a6e62954c85343bc30470d862d30bd5f26c9fa2/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9010032a0b9710f58012a1e9c222528763d860ba2ee1422c03473eab47703e7", size = 1667109, upload-time = "2026-03-31T21:56:56.21Z" }, + { url = "https://files.pythonhosted.org/packages/ef/42/8461a2aaf60a8f4ea4549a4056be36b904b0eb03d97ca9a8a2604681a500/aiohttp-3.13.5-cp310-cp310-win32.whl", hash = "sha256:7c4b6668b2b2b9027f209ddf647f2a4407784b5d88b8be4efcc72036f365baf9", size = 439478, upload-time = "2026-03-31T21:56:58.292Z" }, + { url = "https://files.pythonhosted.org/packages/e5/71/06956304cb5ee439dfe8d86e1b2e70088bd88ed1ced1f42fb29e5d855f0e/aiohttp-3.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:cd3db5927bf9167d5a6157ddb2f036f6b6b0ad001ac82355d43e97a4bde76d76", size = 462047, upload-time = "2026-03-31T21:57:00.257Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f5/a20c4ac64aeaef1679e25c9983573618ff765d7aa829fa2b84ae7573169e/aiohttp-3.13.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ab7229b6f9b5c1ba4910d6c41a9eb11f543eadb3f384df1b4c293f4e73d44d6", size = 757513, upload-time = "2026-03-31T21:57:02.146Z" }, + { url = "https://files.pythonhosted.org/packages/75/0a/39fa6c6b179b53fcb3e4b3d2b6d6cad0180854eda17060c7218540102bef/aiohttp-3.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f14c50708bb156b3a3ca7230b3d820199d56a48e3af76fa21c2d6087190fe3d", size = 506748, upload-time = "2026-03-31T21:57:04.275Z" }, + { url = "https://files.pythonhosted.org/packages/87/ec/e38ce072e724fd7add6243613f8d1810da084f54175353d25ccf9f9c7e5a/aiohttp-3.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7d2f8616f0ff60bd332022279011776c3ac0faa0f1b463f7bb12326fbc97a1c", size = 501673, upload-time = "2026-03-31T21:57:06.208Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ba/3bc7525d7e2beaa11b309a70d48b0d3cfc3c2089ec6a7d0820d59c657053/aiohttp-3.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2567b72e1ffc3ab25510db43f355b29eeada56c0a622e58dcdb19530eb0a3cb", size = 1763757, upload-time = "2026-03-31T21:57:07.882Z" }, + { url = "https://files.pythonhosted.org/packages/5e/ab/e87744cf18f1bd78263aba24924d4953b41086bd3a31d22452378e9028a0/aiohttp-3.13.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fb0540c854ac9c0c5ad495908fdfd3e332d553ec731698c0e29b1877ba0d2ec6", size = 1720152, upload-time = "2026-03-31T21:57:09.946Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f3/ed17a6f2d742af17b50bae2d152315ed1b164b07a5fd5cc1754d99e4dfa5/aiohttp-3.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9883051c6972f58bfc4ebb2116345ee2aa151178e99c3f2b2bbe2af712abd13", size = 1818010, upload-time = "2026-03-31T21:57:12.157Z" }, + { url = "https://files.pythonhosted.org/packages/53/06/ecbc63dc937192e2a5cb46df4d3edb21deb8225535818802f210a6ea5816/aiohttp-3.13.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2294172ce08a82fb7c7273485895de1fa1186cc8294cfeb6aef4af42ad261174", size = 1907251, upload-time = "2026-03-31T21:57:14.023Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a5/0521aa32c1ddf3aa1e71dcc466be0b7db2771907a13f18cddaa45967d97b/aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a807cabd5115fb55af198b98178997a5e0e57dead43eb74a93d9c07d6d4a7dc", size = 1759969, upload-time = "2026-03-31T21:57:16.146Z" }, + { url = "https://files.pythonhosted.org/packages/f6/78/a38f8c9105199dd3b9706745865a8a59d0041b6be0ca0cc4b2ccf1bab374/aiohttp-3.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aa6d0d932e0f39c02b80744273cd5c388a2d9bc07760a03164f229c8e02662f6", size = 1616871, upload-time = "2026-03-31T21:57:17.856Z" }, + { url = "https://files.pythonhosted.org/packages/6f/41/27392a61ead8ab38072105c71aa44ff891e71653fe53d576a7067da2b4e8/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:60869c7ac4aaabe7110f26499f3e6e5696eae98144735b12a9c3d9eae2b51a49", size = 1739844, upload-time = "2026-03-31T21:57:19.679Z" }, + { url = "https://files.pythonhosted.org/packages/6e/55/5564e7ae26d94f3214250009a0b1c65a0c6af4bf88924ccb6fdab901de28/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:26d2f8546f1dfa75efa50c3488215a903c0168d253b75fba4210f57ab77a0fb8", size = 1731969, upload-time = "2026-03-31T21:57:22.006Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c5/705a3929149865fc941bcbdd1047b238e4a72bcb215a9b16b9d7a2e8d992/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1162a1492032c82f14271e831c8f4b49f2b6078f4f5fc74de2c912fa225d51d", size = 1795193, upload-time = "2026-03-31T21:57:24.256Z" }, + { url = "https://files.pythonhosted.org/packages/a6/19/edabed62f718d02cff7231ca0db4ef1c72504235bc467f7b67adb1679f48/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8b14eb3262fad0dc2f89c1a43b13727e709504972186ff6a99a3ecaa77102b6c", size = 1606477, upload-time = "2026-03-31T21:57:26.364Z" }, + { url = "https://files.pythonhosted.org/packages/de/fc/76f80ef008675637d88d0b21584596dc27410a990b0918cb1e5776545b5b/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ca9ac61ac6db4eb6c2a0cd1d0f7e1357647b638ccc92f7e9d8d133e71ed3c6ac", size = 1813198, upload-time = "2026-03-31T21:57:28.316Z" }, + { url = "https://files.pythonhosted.org/packages/e5/67/5b3ac26b80adb20ea541c487f73730dc8fa107d632c998f25bbbab98fcda/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7996023b2ed59489ae4762256c8516df9820f751cf2c5da8ed2fb20ee50abab3", size = 1752321, upload-time = "2026-03-31T21:57:30.549Z" }, + { url = "https://files.pythonhosted.org/packages/88/06/e4a2e49255ea23fa4feeb5ab092d90240d927c15e47b5b5c48dff5a9ce29/aiohttp-3.13.5-cp311-cp311-win32.whl", hash = "sha256:77dfa48c9f8013271011e51c00f8ada19851f013cde2c48fca1ba5e0caf5bb06", size = 439069, upload-time = "2026-03-31T21:57:32.388Z" }, + { url = "https://files.pythonhosted.org/packages/c0/43/8c7163a596dab4f8be12c190cf467a1e07e4734cf90eebb39f7f5d53fc6a/aiohttp-3.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:d3a4834f221061624b8887090637db9ad4f61752001eae37d56c52fddade2dc8", size = 462859, upload-time = "2026-03-31T21:57:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/be/6f/353954c29e7dcce7cf00280a02c75f30e133c00793c7a2ed3776d7b2f426/aiohttp-3.13.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:023ecba036ddd840b0b19bf195bfae970083fd7024ce1ac22e9bba90464620e9", size = 748876, upload-time = "2026-03-31T21:57:36.319Z" }, + { url = "https://files.pythonhosted.org/packages/f5/1b/428a7c64687b3b2e9cd293186695affc0e1e54a445d0361743b231f11066/aiohttp-3.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15c933ad7920b7d9a20de151efcd05a6e38302cbf0e10c9b2acb9a42210a2416", size = 499557, upload-time = "2026-03-31T21:57:38.236Z" }, + { url = "https://files.pythonhosted.org/packages/29/47/7be41556bfbb6917069d6a6634bb7dd5e163ba445b783a90d40f5ac7e3a7/aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab2899f9fa2f9f741896ebb6fa07c4c883bfa5c7f2ddd8cf2aafa86fa981b2d2", size = 500258, upload-time = "2026-03-31T21:57:39.923Z" }, + { url = "https://files.pythonhosted.org/packages/67/84/c9ecc5828cb0b3695856c07c0a6817a99d51e2473400f705275a2b3d9239/aiohttp-3.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60eaa2d440cd4707696b52e40ed3e2b0f73f65be07fd0ef23b6b539c9c0b0b4", size = 1749199, upload-time = "2026-03-31T21:57:41.938Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d3/3c6d610e66b495657622edb6ae7c7fd31b2e9086b4ec50b47897ad6042a9/aiohttp-3.13.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:55b3bdd3292283295774ab585160c4004f4f2f203946997f49aac032c84649e9", size = 1721013, upload-time = "2026-03-31T21:57:43.904Z" }, + { url = "https://files.pythonhosted.org/packages/49/a0/24409c12217456df0bae7babe3b014e460b0b38a8e60753d6cb339f6556d/aiohttp-3.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2b2355dc094e5f7d45a7bb262fe7207aa0460b37a0d87027dcf21b5d890e7d5", size = 1781501, upload-time = "2026-03-31T21:57:46.285Z" }, + { url = "https://files.pythonhosted.org/packages/98/9d/b65ec649adc5bccc008b0957a9a9c691070aeac4e41cea18559fef49958b/aiohttp-3.13.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b38765950832f7d728297689ad78f5f2cf79ff82487131c4d26fe6ceecdc5f8e", size = 1878981, upload-time = "2026-03-31T21:57:48.734Z" }, + { url = "https://files.pythonhosted.org/packages/57/d8/8d44036d7eb7b6a8ec4c5494ea0c8c8b94fbc0ed3991c1a7adf230df03bf/aiohttp-3.13.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b18f31b80d5a33661e08c89e202edabf1986e9b49c42b4504371daeaa11b47c1", size = 1767934, upload-time = "2026-03-31T21:57:51.171Z" }, + { url = "https://files.pythonhosted.org/packages/31/04/d3f8211f273356f158e3464e9e45484d3fb8c4ce5eb2f6fe9405c3273983/aiohttp-3.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33add2463dde55c4f2d9635c6ab33ce154e5ecf322bd26d09af95c5f81cfa286", size = 1566671, upload-time = "2026-03-31T21:57:53.326Z" }, + { url = "https://files.pythonhosted.org/packages/41/db/073e4ebe00b78e2dfcacff734291651729a62953b48933d765dc513bf798/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:327cc432fdf1356fb4fbc6fe833ad4e9f6aacb71a8acaa5f1855e4b25910e4a9", size = 1705219, upload-time = "2026-03-31T21:57:55.385Z" }, + { url = "https://files.pythonhosted.org/packages/48/45/7dfba71a2f9fd97b15c95c06819de7eb38113d2cdb6319669195a7d64270/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7c35b0bf0b48a70b4cb4fc5d7bed9b932532728e124874355de1a0af8ec4bc88", size = 1743049, upload-time = "2026-03-31T21:57:57.341Z" }, + { url = "https://files.pythonhosted.org/packages/18/71/901db0061e0f717d226386a7f471bb59b19566f2cae5f0d93874b017271f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:df23d57718f24badef8656c49743e11a89fd6f5358fa8a7b96e728fda2abf7d3", size = 1749557, upload-time = "2026-03-31T21:57:59.626Z" }, + { url = "https://files.pythonhosted.org/packages/08/d5/41eebd16066e59cd43728fe74bce953d7402f2b4ddfdfef2c0e9f17ca274/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:02e048037a6501a5ec1f6fc9736135aec6eb8a004ce48838cb951c515f32c80b", size = 1558931, upload-time = "2026-03-31T21:58:01.972Z" }, + { url = "https://files.pythonhosted.org/packages/30/e6/4a799798bf05740e66c3a1161079bda7a3dd8e22ca392481d7a7f9af82a6/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31cebae8b26f8a615d2b546fee45d5ffb76852ae6450e2a03f42c9102260d6fe", size = 1774125, upload-time = "2026-03-31T21:58:04.007Z" }, + { url = "https://files.pythonhosted.org/packages/84/63/7749337c90f92bc2cb18f9560d67aa6258c7060d1397d21529b8004fcf6f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:888e78eb5ca55a615d285c3c09a7a91b42e9dd6fc699b166ebd5dee87c9ccf14", size = 1732427, upload-time = "2026-03-31T21:58:06.337Z" }, + { url = "https://files.pythonhosted.org/packages/98/de/cf2f44ff98d307e72fb97d5f5bbae3bfcb442f0ea9790c0bf5c5c2331404/aiohttp-3.13.5-cp312-cp312-win32.whl", hash = "sha256:8bd3ec6376e68a41f9f95f5ed170e2fcf22d4eb27a1f8cb361d0508f6e0557f3", size = 433534, upload-time = "2026-03-31T21:58:08.712Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ca/eadf6f9c8fa5e31d40993e3db153fb5ed0b11008ad5d9de98a95045bed84/aiohttp-3.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:110e448e02c729bcebb18c60b9214a87ba33bac4a9fa5e9a5f139938b56c6cb1", size = 460446, upload-time = "2026-03-31T21:58:10.945Z" }, + { url = "https://files.pythonhosted.org/packages/78/e9/d76bf503005709e390122d34e15256b88f7008e246c4bdbe915cd4f1adce/aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61", size = 742930, upload-time = "2026-03-31T21:58:13.155Z" }, + { url = "https://files.pythonhosted.org/packages/57/00/4b7b70223deaebd9bb85984d01a764b0d7bd6526fcdc73cca83bcbe7243e/aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832", size = 496927, upload-time = "2026-03-31T21:58:15.073Z" }, + { url = "https://files.pythonhosted.org/packages/9c/f5/0fb20fb49f8efdcdce6cd8127604ad2c503e754a8f139f5e02b01626523f/aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9", size = 497141, upload-time = "2026-03-31T21:58:17.009Z" }, + { url = "https://files.pythonhosted.org/packages/3b/86/b7c870053e36a94e8951b803cb5b909bfbc9b90ca941527f5fcafbf6b0fa/aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090", size = 1732476, upload-time = "2026-03-31T21:58:18.925Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e5/4e161f84f98d80c03a238671b4136e6530453d65262867d989bbe78244d0/aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b", size = 1706507, upload-time = "2026-03-31T21:58:21.094Z" }, + { url = "https://files.pythonhosted.org/packages/d4/56/ea11a9f01518bd5a2a2fcee869d248c4b8a0cfa0bb13401574fa31adf4d4/aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a", size = 1773465, upload-time = "2026-03-31T21:58:23.159Z" }, + { url = "https://files.pythonhosted.org/packages/eb/40/333ca27fb74b0383f17c90570c748f7582501507307350a79d9f9f3c6eb1/aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8", size = 1873523, upload-time = "2026-03-31T21:58:25.59Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d2/e2f77eef1acb7111405433c707dc735e63f67a56e176e72e9e7a2cd3f493/aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665", size = 1754113, upload-time = "2026-03-31T21:58:27.624Z" }, + { url = "https://files.pythonhosted.org/packages/fb/56/3f653d7f53c89669301ec9e42c95233e2a0c0a6dd051269e6e678db4fdb0/aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540", size = 1562351, upload-time = "2026-03-31T21:58:29.918Z" }, + { url = "https://files.pythonhosted.org/packages/ec/a6/9b3e91eb8ae791cce4ee736da02211c85c6f835f1bdfac0594a8a3b7018c/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb", size = 1693205, upload-time = "2026-03-31T21:58:32.214Z" }, + { url = "https://files.pythonhosted.org/packages/98/fc/bfb437a99a2fcebd6b6eaec609571954de2ed424f01c352f4b5504371dd3/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46", size = 1730618, upload-time = "2026-03-31T21:58:34.728Z" }, + { url = "https://files.pythonhosted.org/packages/e4/b6/c8534862126191a034f68153194c389addc285a0f1347d85096d349bbc15/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8", size = 1745185, upload-time = "2026-03-31T21:58:36.909Z" }, + { url = "https://files.pythonhosted.org/packages/0b/93/4ca8ee2ef5236e2707e0fd5fecb10ce214aee1ff4ab307af9c558bda3b37/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d", size = 1557311, upload-time = "2026-03-31T21:58:39.38Z" }, + { url = "https://files.pythonhosted.org/packages/57/ae/76177b15f18c5f5d094f19901d284025db28eccc5ae374d1d254181d33f4/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6", size = 1773147, upload-time = "2026-03-31T21:58:41.476Z" }, + { url = "https://files.pythonhosted.org/packages/01/a4/62f05a0a98d88af59d93b7fcac564e5f18f513cb7471696ac286db970d6a/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c", size = 1730356, upload-time = "2026-03-31T21:58:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/e4/85/fc8601f59dfa8c9523808281f2da571f8b4699685f9809a228adcc90838d/aiohttp-3.13.5-cp313-cp313-win32.whl", hash = "sha256:329f292ed14d38a6c4c435e465f48bebb47479fd676a0411936cc371643225cc", size = 432637, upload-time = "2026-03-31T21:58:46.167Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1b/ac685a8882896acf0f6b31d689e3792199cfe7aba37969fa91da63a7fa27/aiohttp-3.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:69f571de7500e0557801c0b51f4780482c0ec5fe2ac851af5a92cfce1af1cb83", size = 458896, upload-time = "2026-03-31T21:58:48.119Z" }, + { url = "https://files.pythonhosted.org/packages/5d/ce/46572759afc859e867a5bc8ec3487315869013f59281ce61764f76d879de/aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c", size = 745721, upload-time = "2026-03-31T21:58:50.229Z" }, + { url = "https://files.pythonhosted.org/packages/13/fe/8a2efd7626dbe6049b2ef8ace18ffda8a4dfcbe1bcff3ac30c0c7575c20b/aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be", size = 497663, upload-time = "2026-03-31T21:58:52.232Z" }, + { url = "https://files.pythonhosted.org/packages/9b/91/cc8cc78a111826c54743d88651e1687008133c37e5ee615fee9b57990fac/aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25", size = 499094, upload-time = "2026-03-31T21:58:54.566Z" }, + { url = "https://files.pythonhosted.org/packages/0a/33/a8362cb15cf16a3af7e86ed11962d5cd7d59b449202dc576cdc731310bde/aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56", size = 1726701, upload-time = "2026-03-31T21:58:56.864Z" }, + { url = "https://files.pythonhosted.org/packages/45/0c/c091ac5c3a17114bd76cbf85d674650969ddf93387876cf67f754204bd77/aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2", size = 1683360, upload-time = "2026-03-31T21:58:59.072Z" }, + { url = "https://files.pythonhosted.org/packages/23/73/bcee1c2b79bc275e964d1446c55c54441a461938e70267c86afaae6fba27/aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a", size = 1773023, upload-time = "2026-03-31T21:59:01.776Z" }, + { url = "https://files.pythonhosted.org/packages/c7/ef/720e639df03004fee2d869f771799d8c23046dec47d5b81e396c7cda583a/aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be", size = 1853795, upload-time = "2026-03-31T21:59:04.568Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c9/989f4034fb46841208de7aeeac2c6d8300745ab4f28c42f629ba77c2d916/aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b", size = 1730405, upload-time = "2026-03-31T21:59:07.221Z" }, + { url = "https://files.pythonhosted.org/packages/ce/75/ee1fd286ca7dc599d824b5651dad7b3be7ff8d9a7e7b3fe9820d9180f7db/aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94", size = 1558082, upload-time = "2026-03-31T21:59:09.484Z" }, + { url = "https://files.pythonhosted.org/packages/c3/20/1e9e6650dfc436340116b7aa89ff8cb2bbdf0abc11dfaceaad8f74273a10/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d", size = 1692346, upload-time = "2026-03-31T21:59:12.068Z" }, + { url = "https://files.pythonhosted.org/packages/d8/40/8ebc6658d48ea630ac7903912fe0dd4e262f0e16825aa4c833c56c9f1f56/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7", size = 1698891, upload-time = "2026-03-31T21:59:14.552Z" }, + { url = "https://files.pythonhosted.org/packages/d8/78/ea0ae5ec8ba7a5c10bdd6e318f1ba5e76fcde17db8275188772afc7917a4/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772", size = 1742113, upload-time = "2026-03-31T21:59:17.068Z" }, + { url = "https://files.pythonhosted.org/packages/8a/66/9d308ed71e3f2491be1acb8769d96c6f0c47d92099f3bc9119cada27b357/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5", size = 1553088, upload-time = "2026-03-31T21:59:19.541Z" }, + { url = "https://files.pythonhosted.org/packages/da/a6/6cc25ed8dfc6e00c90f5c6d126a98e2cf28957ad06fa1036bd34b6f24a2c/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1", size = 1757976, upload-time = "2026-03-31T21:59:22.311Z" }, + { url = "https://files.pythonhosted.org/packages/c1/2b/cce5b0ffe0de99c83e5e36d8f828e4161e415660a9f3e58339d07cce3006/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b", size = 1712444, upload-time = "2026-03-31T21:59:24.635Z" }, + { url = "https://files.pythonhosted.org/packages/6c/cf/9e1795b4160c58d29421eafd1a69c6ce351e2f7c8d3c6b7e4ca44aea1a5b/aiohttp-3.13.5-cp314-cp314-win32.whl", hash = "sha256:b20df693de16f42b2472a9c485e1c948ee55524786a0a34345511afdd22246f3", size = 438128, upload-time = "2026-03-31T21:59:27.291Z" }, + { url = "https://files.pythonhosted.org/packages/22/4d/eaedff67fc805aeba4ba746aec891b4b24cebb1a7d078084b6300f79d063/aiohttp-3.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:f85c6f327bf0b8c29da7d93b1cabb6363fb5e4e160a32fa241ed2dce21b73162", size = 464029, upload-time = "2026-03-31T21:59:29.429Z" }, + { url = "https://files.pythonhosted.org/packages/79/11/c27d9332ee20d68dd164dc12a6ecdef2e2e35ecc97ed6cf0d2442844624b/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a", size = 778758, upload-time = "2026-03-31T21:59:31.547Z" }, + { url = "https://files.pythonhosted.org/packages/04/fb/377aead2e0a3ba5f09b7624f702a964bdf4f08b5b6728a9799830c80041e/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254", size = 512883, upload-time = "2026-03-31T21:59:34.098Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a6/aa109a33671f7a5d3bd78b46da9d852797c5e665bfda7d6b373f56bff2ec/aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36", size = 516668, upload-time = "2026-03-31T21:59:36.497Z" }, + { url = "https://files.pythonhosted.org/packages/79/b3/ca078f9f2fa9563c36fb8ef89053ea2bb146d6f792c5104574d49d8acb63/aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f", size = 1883461, upload-time = "2026-03-31T21:59:38.723Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e3/a7ad633ca1ca497b852233a3cce6906a56c3225fb6d9217b5e5e60b7419d/aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800", size = 1747661, upload-time = "2026-03-31T21:59:41.187Z" }, + { url = "https://files.pythonhosted.org/packages/33/b9/cd6fe579bed34a906d3d783fe60f2fa297ef55b27bb4538438ee49d4dc41/aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf", size = 1863800, upload-time = "2026-03-31T21:59:43.84Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3f/2c1e2f5144cefa889c8afd5cf431994c32f3b29da9961698ff4e3811b79a/aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b", size = 1958382, upload-time = "2026-03-31T21:59:46.187Z" }, + { url = "https://files.pythonhosted.org/packages/66/1d/f31ec3f1013723b3babe3609e7f119c2c2fb6ef33da90061a705ef3e1bc8/aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a", size = 1803724, upload-time = "2026-03-31T21:59:48.656Z" }, + { url = "https://files.pythonhosted.org/packages/0e/b4/57712dfc6f1542f067daa81eb61da282fab3e6f1966fca25db06c4fc62d5/aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8", size = 1640027, upload-time = "2026-03-31T21:59:51.284Z" }, + { url = "https://files.pythonhosted.org/packages/25/3c/734c878fb43ec083d8e31bf029daae1beafeae582d1b35da234739e82ee7/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be", size = 1806644, upload-time = "2026-03-31T21:59:53.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/a5/f671e5cbec1c21d044ff3078223f949748f3a7f86b14e34a365d74a5d21f/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b", size = 1791630, upload-time = "2026-03-31T21:59:56.239Z" }, + { url = "https://files.pythonhosted.org/packages/0b/63/fb8d0ad63a0b8a99be97deac8c04dacf0785721c158bdf23d679a87aa99e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6", size = 1809403, upload-time = "2026-03-31T21:59:59.103Z" }, + { url = "https://files.pythonhosted.org/packages/59/0c/bfed7f30662fcf12206481c2aac57dedee43fe1c49275e85b3a1e1742294/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037", size = 1634924, upload-time = "2026-03-31T22:00:02.116Z" }, + { url = "https://files.pythonhosted.org/packages/17/d6/fd518d668a09fd5a3319ae5e984d4d80b9a4b3df4e21c52f02251ef5a32e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500", size = 1836119, upload-time = "2026-03-31T22:00:04.756Z" }, + { url = "https://files.pythonhosted.org/packages/78/b7/15fb7a9d52e112a25b621c67b69c167805cb1f2ab8f1708a5c490d1b52fe/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9", size = 1772072, upload-time = "2026-03-31T22:00:07.494Z" }, + { url = "https://files.pythonhosted.org/packages/7e/df/57ba7f0c4a553fc2bd8b6321df236870ec6fd64a2a473a8a13d4f733214e/aiohttp-3.13.5-cp314-cp314t-win32.whl", hash = "sha256:9a0f4474b6ea6818b41f82172d799e4b3d29e22c2c520ce4357856fced9af2f8", size = 471819, upload-time = "2026-03-31T22:00:10.277Z" }, + { url = "https://files.pythonhosted.org/packages/62/29/2f8418269e46454a26171bfdd6a055d74febf32234e474930f2f60a17145/aiohttp-3.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:18a2f6c1182c51baa1d28d68fea51513cb2a76612f038853c0ad3c145423d3d9", size = 505441, upload-time = "2026-03-31T22:00:12.791Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a5/630bc484695d4a1342bbae85fb8689bf979106525684fc88f05b397324ad/aiohttp-3.13.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:347542f0ea3f95b2a955ee6656461fa1c776e401ac50ebce055a6c38454a0adf", size = 752872, upload-time = "2026-03-31T22:00:15.553Z" }, + { url = "https://files.pythonhosted.org/packages/cd/b8/6a19dda37fda94a9ebefb3c1ae0ff419ac7fbf4fb40750e992829fc13614/aiohttp-3.13.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:178c7b5e62b454c2bc790786e6058c3cc968613b4419251b478c153a4aec32b1", size = 504582, upload-time = "2026-03-31T22:00:18.191Z" }, + { url = "https://files.pythonhosted.org/packages/d5/34/8413eafee3421ade2d6ce9e7c0da1213e1d7f0049be09dcdc342b03a39ba/aiohttp-3.13.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af545c2cffdb0967a96b6249e6f5f7b0d92cdfd267f9d5238d5b9ca63e8edb10", size = 499094, upload-time = "2026-03-31T22:00:21.118Z" }, + { url = "https://files.pythonhosted.org/packages/da/cf/c6f97006093d1e8ca40fbab843ff49ec7725ab668f0714dd1cb702c62cbd/aiohttp-3.13.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:206b7b3ef96e4ce211754f0cd003feb28b7d81f0ad26b8d077a5d5161436067f", size = 1669505, upload-time = "2026-03-31T22:00:24.01Z" }, + { url = "https://files.pythonhosted.org/packages/c2/27/3b2288e66dcec8b04771b2bee3909f70e4072bea995cde5ab7e775e73ddc/aiohttp-3.13.5-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ee5e86776273de1795947d17bddd6bb19e0365fd2af4289c0d2c5454b6b1d36b", size = 1648928, upload-time = "2026-03-31T22:00:27.001Z" }, + { url = "https://files.pythonhosted.org/packages/3a/7f/605d766887594a88dcc27a19663499c7c5e13e7aa87f129b763765a2ee63/aiohttp-3.13.5-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:95d14ca7abefde230f7639ec136ade282655431fd5db03c343b19dda72dd1643", size = 1731800, upload-time = "2026-03-31T22:00:29.603Z" }, + { url = "https://files.pythonhosted.org/packages/71/94/5a878e728e30699d22b118f1a6ad576ab6fff9eb2c6fc8a7faa9376a1c3e/aiohttp-3.13.5-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:912d4b6af530ddb1338a66229dac3a25ff11d4448be3ec3d6340583995f56031", size = 1824247, upload-time = "2026-03-31T22:00:32.139Z" }, + { url = "https://files.pythonhosted.org/packages/37/99/84b448291e9996bb83bf4fad3a71a9786d542f19c50a3ff0531bfaba6fac/aiohttp-3.13.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e999f0c88a458c836d5fb521814e92ed2172c649200336a6df514987c1488258", size = 1670742, upload-time = "2026-03-31T22:00:34.788Z" }, + { url = "https://files.pythonhosted.org/packages/14/a8/d8d5d1ab6d29a4a3bdb9db31f161e338bfdf6638f6574ea8380f1d4a243c/aiohttp-3.13.5-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39380e12bd1f2fdab4285b6e055ad48efbaed5c836433b142ed4f5b9be71036a", size = 1562474, upload-time = "2026-03-31T22:00:37.623Z" }, + { url = "https://files.pythonhosted.org/packages/92/e8/bd889697916f10b65524422c61b4eeaf919eb35a170290cccb680cbe4eb4/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9efcc0f11d850cefcafdd9275b9576ad3bfb539bed96807663b32ad99c4d4b88", size = 1642235, upload-time = "2026-03-31T22:00:40.541Z" }, + { url = "https://files.pythonhosted.org/packages/60/42/3f1928107131f1413a5972ace14ddcd5364968e9bd7b3ad71272defafc9c/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:147b4f501d0292077f29d5268c16bb7c864a1f054d7001c4c1812c0421ea1ed0", size = 1655397, upload-time = "2026-03-31T22:00:43.167Z" }, + { url = "https://files.pythonhosted.org/packages/b2/79/c4bbcf4cac3a4715a326e49720ccdc3a4b5e14a367c5029eae7727d06029/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d147004fede1b12f6013a6dbb2a26a986a671a03c6ea740ddc76500e5f1c399f", size = 1703509, upload-time = "2026-03-31T22:00:45.908Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e6/32d245876f211a7308a7d5437707f9296b1f9837a2888a407ed04e61321c/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:9277145d36a01653863899c665243871434694bcc3431922c3b35c978061bdb8", size = 1550098, upload-time = "2026-03-31T22:00:49.48Z" }, + { url = "https://files.pythonhosted.org/packages/db/62/ab0f1304def56ce2356e6fbb9f0b024d6544010351430070f48f53b89e0a/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4e704c52438f66fdd89588346183d898bb42167cf88f8b7ff1c0f9fc957c348f", size = 1724326, upload-time = "2026-03-31T22:00:52.165Z" }, + { url = "https://files.pythonhosted.org/packages/c4/9a/aab4469689024046220ea438aa020ea2ae04cd1dd71aea3057e094f8c357/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a8a4d3427e8de1312ddf309cc482186466c79895b3a139fed3259fc01dfa9a5b", size = 1658824, upload-time = "2026-03-31T22:00:55.122Z" }, + { url = "https://files.pythonhosted.org/packages/b0/98/bcc35d4db687acabf06d41f561a99fa88bca145292513388c858d99b72c5/aiohttp-3.13.5-cp39-cp39-win32.whl", hash = "sha256:6f497a6876aa4b1a102b04996ce4c1170c7040d83faa9387dd921c16e30d5c83", size = 440302, upload-time = "2026-03-31T22:00:57.673Z" }, + { url = "https://files.pythonhosted.org/packages/25/61/b0203c2ef6bd268fca0eda142f0efbba7cbebd7ad38f7bb01dd31c2ff68e/aiohttp-3.13.5-cp39-cp39-win_amd64.whl", hash = "sha256:cb979826071c0986a5f08333a36104153478ce6018c58cba7f9caddaf63d5d67", size = 463076, upload-time = "2026-03-31T22:01:00.264Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, +] + +[[package]] +name = "async-timeout" +version = "5.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274, upload-time = "2024-11-06T16:41:39.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233, upload-time = "2024-11-06T16:41:37.9Z" }, +] + +[[package]] +name = "attrs" +version = "26.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, +] + +[[package]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/4a/557715d5047da48d54e659203b9335be7bfaafda2c3f627b7c47e0b3aaf3/frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011", size = 86230, upload-time = "2025-10-06T05:35:23.699Z" }, + { url = "https://files.pythonhosted.org/packages/a2/fb/c85f9fed3ea8fe8740e5b46a59cc141c23b842eca617da8876cfce5f760e/frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565", size = 49621, upload-time = "2025-10-06T05:35:25.341Z" }, + { url = "https://files.pythonhosted.org/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad", size = 49889, upload-time = "2025-10-06T05:35:26.797Z" }, + { url = "https://files.pythonhosted.org/packages/5d/ed/c7895fd2fde7f3ee70d248175f9b6cdf792fb741ab92dc59cd9ef3bd241b/frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2", size = 219464, upload-time = "2025-10-06T05:35:28.254Z" }, + { url = "https://files.pythonhosted.org/packages/6b/83/4d587dccbfca74cb8b810472392ad62bfa100bf8108c7223eb4c4fa2f7b3/frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186", size = 221649, upload-time = "2025-10-06T05:35:29.454Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c6/fd3b9cd046ec5fff9dab66831083bc2077006a874a2d3d9247dea93ddf7e/frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e", size = 219188, upload-time = "2025-10-06T05:35:30.951Z" }, + { url = "https://files.pythonhosted.org/packages/ce/80/6693f55eb2e085fc8afb28cf611448fb5b90e98e068fa1d1b8d8e66e5c7d/frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450", size = 231748, upload-time = "2025-10-06T05:35:32.101Z" }, + { url = "https://files.pythonhosted.org/packages/97/d6/e9459f7c5183854abd989ba384fe0cc1a0fb795a83c033f0571ec5933ca4/frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef", size = 236351, upload-time = "2025-10-06T05:35:33.834Z" }, + { url = "https://files.pythonhosted.org/packages/97/92/24e97474b65c0262e9ecd076e826bfd1d3074adcc165a256e42e7b8a7249/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4", size = 218767, upload-time = "2025-10-06T05:35:35.205Z" }, + { url = "https://files.pythonhosted.org/packages/ee/bf/dc394a097508f15abff383c5108cb8ad880d1f64a725ed3b90d5c2fbf0bb/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff", size = 235887, upload-time = "2025-10-06T05:35:36.354Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/25b201b9c015dbc999a5baf475a257010471a1fa8c200c843fd4abbee725/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c", size = 228785, upload-time = "2025-10-06T05:35:37.949Z" }, + { url = "https://files.pythonhosted.org/packages/84/f4/b5bc148df03082f05d2dd30c089e269acdbe251ac9a9cf4e727b2dbb8a3d/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f", size = 230312, upload-time = "2025-10-06T05:35:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/db/4b/87e95b5d15097c302430e647136b7d7ab2398a702390cf4c8601975709e7/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7", size = 217650, upload-time = "2025-10-06T05:35:40.377Z" }, + { url = "https://files.pythonhosted.org/packages/e5/70/78a0315d1fea97120591a83e0acd644da638c872f142fd72a6cebee825f3/frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a", size = 39659, upload-time = "2025-10-06T05:35:41.863Z" }, + { url = "https://files.pythonhosted.org/packages/66/aa/3f04523fb189a00e147e60c5b2205126118f216b0aa908035c45336e27e4/frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6", size = 43837, upload-time = "2025-10-06T05:35:43.205Z" }, + { url = "https://files.pythonhosted.org/packages/39/75/1135feecdd7c336938bd55b4dc3b0dfc46d85b9be12ef2628574b28de776/frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e", size = 39989, upload-time = "2025-10-06T05:35:44.596Z" }, + { url = "https://files.pythonhosted.org/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", size = 86912, upload-time = "2025-10-06T05:35:45.98Z" }, + { url = "https://files.pythonhosted.org/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", size = 50046, upload-time = "2025-10-06T05:35:47.009Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", size = 50119, upload-time = "2025-10-06T05:35:48.38Z" }, + { url = "https://files.pythonhosted.org/packages/11/b1/71a477adc7c36e5fb628245dfbdea2166feae310757dea848d02bd0689fd/frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", size = 231067, upload-time = "2025-10-06T05:35:49.97Z" }, + { url = "https://files.pythonhosted.org/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", size = 233160, upload-time = "2025-10-06T05:35:51.729Z" }, + { url = "https://files.pythonhosted.org/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", size = 228544, upload-time = "2025-10-06T05:35:53.246Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", size = 243797, upload-time = "2025-10-06T05:35:54.497Z" }, + { url = "https://files.pythonhosted.org/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", size = 247923, upload-time = "2025-10-06T05:35:55.861Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", size = 230886, upload-time = "2025-10-06T05:35:57.399Z" }, + { url = "https://files.pythonhosted.org/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", size = 245731, upload-time = "2025-10-06T05:35:58.563Z" }, + { url = "https://files.pythonhosted.org/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", size = 241544, upload-time = "2025-10-06T05:35:59.719Z" }, + { url = "https://files.pythonhosted.org/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", size = 241806, upload-time = "2025-10-06T05:36:00.959Z" }, + { url = "https://files.pythonhosted.org/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", size = 229382, upload-time = "2025-10-06T05:36:02.22Z" }, + { url = "https://files.pythonhosted.org/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", size = 39647, upload-time = "2025-10-06T05:36:03.409Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", size = 44064, upload-time = "2025-10-06T05:36:04.368Z" }, + { url = "https://files.pythonhosted.org/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", size = 39937, upload-time = "2025-10-06T05:36:05.669Z" }, + { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782, upload-time = "2025-10-06T05:36:06.649Z" }, + { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594, upload-time = "2025-10-06T05:36:07.69Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448, upload-time = "2025-10-06T05:36:08.78Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, + { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014, upload-time = "2025-10-06T05:36:11.394Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, + { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619, upload-time = "2025-10-06T05:36:16.558Z" }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, + { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, + { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985, upload-time = "2025-10-06T05:36:23.661Z" }, + { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591, upload-time = "2025-10-06T05:36:24.958Z" }, + { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102, upload-time = "2025-10-06T05:36:26.333Z" }, + { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717, upload-time = "2025-10-06T05:36:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651, upload-time = "2025-10-06T05:36:28.855Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417, upload-time = "2025-10-06T05:36:29.877Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391, upload-time = "2025-10-06T05:36:31.301Z" }, + { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048, upload-time = "2025-10-06T05:36:32.531Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549, upload-time = "2025-10-06T05:36:33.706Z" }, + { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833, upload-time = "2025-10-06T05:36:34.947Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363, upload-time = "2025-10-06T05:36:36.534Z" }, + { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314, upload-time = "2025-10-06T05:36:38.582Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365, upload-time = "2025-10-06T05:36:40.152Z" }, + { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763, upload-time = "2025-10-06T05:36:41.355Z" }, + { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110, upload-time = "2025-10-06T05:36:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717, upload-time = "2025-10-06T05:36:44.251Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628, upload-time = "2025-10-06T05:36:45.423Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882, upload-time = "2025-10-06T05:36:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676, upload-time = "2025-10-06T05:36:47.8Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235, upload-time = "2025-10-06T05:36:48.78Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742, upload-time = "2025-10-06T05:36:49.837Z" }, + { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725, upload-time = "2025-10-06T05:36:50.851Z" }, + { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533, upload-time = "2025-10-06T05:36:51.898Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506, upload-time = "2025-10-06T05:36:53.101Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161, upload-time = "2025-10-06T05:36:54.309Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676, upload-time = "2025-10-06T05:36:55.566Z" }, + { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638, upload-time = "2025-10-06T05:36:56.758Z" }, + { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067, upload-time = "2025-10-06T05:36:57.965Z" }, + { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101, upload-time = "2025-10-06T05:36:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901, upload-time = "2025-10-06T05:37:00.811Z" }, + { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395, upload-time = "2025-10-06T05:37:02.115Z" }, + { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659, upload-time = "2025-10-06T05:37:03.711Z" }, + { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" }, + { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" }, + { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127, upload-time = "2025-10-06T05:37:08.438Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698, upload-time = "2025-10-06T05:37:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749, upload-time = "2025-10-06T05:37:10.569Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298, upload-time = "2025-10-06T05:37:11.993Z" }, + { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015, upload-time = "2025-10-06T05:37:13.194Z" }, + { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038, upload-time = "2025-10-06T05:37:14.577Z" }, + { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130, upload-time = "2025-10-06T05:37:15.781Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845, upload-time = "2025-10-06T05:37:17.037Z" }, + { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131, upload-time = "2025-10-06T05:37:18.221Z" }, + { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542, upload-time = "2025-10-06T05:37:19.771Z" }, + { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308, upload-time = "2025-10-06T05:37:20.969Z" }, + { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210, upload-time = "2025-10-06T05:37:22.252Z" }, + { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972, upload-time = "2025-10-06T05:37:23.5Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536, upload-time = "2025-10-06T05:37:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330, upload-time = "2025-10-06T05:37:26.928Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627, upload-time = "2025-10-06T05:37:28.075Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238, upload-time = "2025-10-06T05:37:29.373Z" }, + { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738, upload-time = "2025-10-06T05:37:30.792Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739, upload-time = "2025-10-06T05:37:32.127Z" }, + { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186, upload-time = "2025-10-06T05:37:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196, upload-time = "2025-10-06T05:37:36.107Z" }, + { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830, upload-time = "2025-10-06T05:37:37.663Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289, upload-time = "2025-10-06T05:37:39.261Z" }, + { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318, upload-time = "2025-10-06T05:37:43.213Z" }, + { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814, upload-time = "2025-10-06T05:37:45.337Z" }, + { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762, upload-time = "2025-10-06T05:37:46.657Z" }, + { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470, upload-time = "2025-10-06T05:37:47.946Z" }, + { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042, upload-time = "2025-10-06T05:37:49.499Z" }, + { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148, upload-time = "2025-10-06T05:37:50.745Z" }, + { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676, upload-time = "2025-10-06T05:37:52.222Z" }, + { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451, upload-time = "2025-10-06T05:37:53.425Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507, upload-time = "2025-10-06T05:37:54.513Z" }, + { url = "https://files.pythonhosted.org/packages/c2/59/ae5cdac87a00962122ea37bb346d41b66aec05f9ce328fa2b9e216f8967b/frozenlist-1.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47", size = 86967, upload-time = "2025-10-06T05:37:55.607Z" }, + { url = "https://files.pythonhosted.org/packages/8a/10/17059b2db5a032fd9323c41c39e9d1f5f9d0c8f04d1e4e3e788573086e61/frozenlist-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca", size = 49984, upload-time = "2025-10-06T05:37:57.049Z" }, + { url = "https://files.pythonhosted.org/packages/4b/de/ad9d82ca8e5fa8f0c636e64606553c79e2b859ad253030b62a21fe9986f5/frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068", size = 50240, upload-time = "2025-10-06T05:37:58.145Z" }, + { url = "https://files.pythonhosted.org/packages/4e/45/3dfb7767c2a67d123650122b62ce13c731b6c745bc14424eea67678b508c/frozenlist-1.8.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95", size = 219472, upload-time = "2025-10-06T05:37:59.239Z" }, + { url = "https://files.pythonhosted.org/packages/0b/bf/5bf23d913a741b960d5c1dac7c1985d8a2a1d015772b2d18ea168b08e7ff/frozenlist-1.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459", size = 221531, upload-time = "2025-10-06T05:38:00.521Z" }, + { url = "https://files.pythonhosted.org/packages/d0/03/27ec393f3b55860859f4b74cdc8c2a4af3dbf3533305e8eacf48a4fd9a54/frozenlist-1.8.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675", size = 219211, upload-time = "2025-10-06T05:38:01.842Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ad/0fd00c404fa73fe9b169429e9a972d5ed807973c40ab6b3cf9365a33d360/frozenlist-1.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61", size = 231775, upload-time = "2025-10-06T05:38:03.384Z" }, + { url = "https://files.pythonhosted.org/packages/8a/c3/86962566154cb4d2995358bc8331bfc4ea19d07db1a96f64935a1607f2b6/frozenlist-1.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6", size = 236631, upload-time = "2025-10-06T05:38:04.609Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/6ffad161dbd83782d2c66dc4d378a9103b31770cb1e67febf43aea42d202/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5", size = 218632, upload-time = "2025-10-06T05:38:05.917Z" }, + { url = "https://files.pythonhosted.org/packages/58/b2/4677eee46e0a97f9b30735e6ad0bf6aba3e497986066eb68807ac85cf60f/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3", size = 235967, upload-time = "2025-10-06T05:38:07.614Z" }, + { url = "https://files.pythonhosted.org/packages/05/f3/86e75f8639c5a93745ca7addbbc9de6af56aebb930d233512b17e46f6493/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1", size = 228799, upload-time = "2025-10-06T05:38:08.845Z" }, + { url = "https://files.pythonhosted.org/packages/30/00/39aad3a7f0d98f5eb1d99a3c311215674ed87061aecee7851974b335c050/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178", size = 230566, upload-time = "2025-10-06T05:38:10.52Z" }, + { url = "https://files.pythonhosted.org/packages/0d/4d/aa144cac44568d137846ddc4d5210fb5d9719eb1d7ec6fa2728a54b5b94a/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda", size = 217715, upload-time = "2025-10-06T05:38:11.832Z" }, + { url = "https://files.pythonhosted.org/packages/64/4c/8f665921667509d25a0dd72540513bc86b356c95541686f6442a3283019f/frozenlist-1.8.0-cp39-cp39-win32.whl", hash = "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087", size = 39933, upload-time = "2025-10-06T05:38:13.061Z" }, + { url = "https://files.pythonhosted.org/packages/79/bd/bcc926f87027fad5e59926ff12d136e1082a115025d33c032d1cd69ab377/frozenlist-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a", size = 44121, upload-time = "2025-10-06T05:38:14.572Z" }, + { url = "https://files.pythonhosted.org/packages/4c/07/9c2e4eb7584af4b705237b971b89a4155a8e57599c4483a131a39256a9a0/frozenlist-1.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103", size = 40312, upload-time = "2025-10-06T05:38:15.699Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, +] + +[[package]] +name = "idna" +version = "3.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/b1/efac073e0c297ecf2fb33c346989a529d4e19164f1759102dee5953ee17e/idna-3.14.tar.gz", hash = "sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3", size = 198272, upload-time = "2026-05-10T20:32:15.935Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/3c/3f62dee257eb3d6b2c1ef2a09d36d9793c7111156a73b5654d2c2305e5ce/idna-3.14-py3-none-any.whl", hash = "sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69", size = 72184, upload-time = "2026-05-10T20:32:14.295Z" }, +] + +[[package]] +name = "livekit" +source = { editable = "../../livekit-rtc" } +dependencies = [ + { name = "aiofiles" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "protobuf", version = "6.33.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "protobuf", version = "7.34.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "types-protobuf", version = "6.32.1.20251210", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "types-protobuf", version = "7.34.1.20260508", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] + +[package.metadata] +requires-dist = [ + { name = "aiofiles", specifier = ">=24" }, + { name = "numpy", specifier = ">=1.26" }, + { name = "protobuf", specifier = ">=4.25.0" }, + { name = "types-protobuf", specifier = ">=3" }, +] + +[[package]] +name = "livekit-api" +source = { editable = "../../livekit-api" } +dependencies = [ + { name = "aiohttp" }, + { name = "livekit-protocol" }, + { name = "protobuf", version = "6.33.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "protobuf", version = "7.34.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pyjwt" }, + { name = "types-protobuf", version = "6.32.1.20251210", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "types-protobuf", version = "7.34.1.20260508", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] + +[package.metadata] +requires-dist = [ + { name = "aiohttp", specifier = ">=3.9.0" }, + { name = "livekit-protocol", editable = "../../livekit-protocol" }, + { name = "protobuf", specifier = ">=4" }, + { name = "pyjwt", specifier = ">=2.0.0" }, + { name = "types-protobuf", specifier = ">=4" }, +] + +[[package]] +name = "livekit-local-video-example" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "livekit" }, + { name = "livekit-api" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "opencv-python" }, +] + +[package.metadata] +requires-dist = [ + { name = "livekit", editable = "../../livekit-rtc" }, + { name = "livekit-api", editable = "../../livekit-api" }, + { name = "numpy" }, + { name = "opencv-python" }, +] + +[[package]] +name = "livekit-protocol" +source = { editable = "../../livekit-protocol" } +dependencies = [ + { name = "protobuf", version = "6.33.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "protobuf", version = "7.34.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "types-protobuf", version = "6.32.1.20251210", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "types-protobuf", version = "7.34.1.20260508", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] + +[package.metadata] +requires-dist = [ + { name = "protobuf", specifier = ">=4" }, + { name = "types-protobuf", specifier = ">=4" }, +] + +[[package]] +name = "multidict" +version = "6.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/0b/19348d4c98980c4851d2f943f8ebafdece2ae7ef737adcfa5994ce8e5f10/multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5", size = 77176, upload-time = "2026-01-26T02:42:59.784Z" }, + { url = "https://files.pythonhosted.org/packages/ef/04/9de3f8077852e3d438215c81e9b691244532d2e05b4270e89ce67b7d103c/multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8", size = 44996, upload-time = "2026-01-26T02:43:01.674Z" }, + { url = "https://files.pythonhosted.org/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872", size = 44631, upload-time = "2026-01-26T02:43:03.169Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7f/0e3b1390ae772f27501199996b94b52ceeb64fe6f9120a32c6c3f6b781be/multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991", size = 242561, upload-time = "2026-01-26T02:43:04.733Z" }, + { url = "https://files.pythonhosted.org/packages/dd/f4/8719f4f167586af317b69dd3e90f913416c91ca610cac79a45c53f590312/multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03", size = 242223, upload-time = "2026-01-26T02:43:06.695Z" }, + { url = "https://files.pythonhosted.org/packages/47/ab/7c36164cce64a6ad19c6d9a85377b7178ecf3b89f8fd589c73381a5eedfd/multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981", size = 222322, upload-time = "2026-01-26T02:43:08.472Z" }, + { url = "https://files.pythonhosted.org/packages/f5/79/a25add6fb38035b5337bc5734f296d9afc99163403bbcf56d4170f97eb62/multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6", size = 254005, upload-time = "2026-01-26T02:43:10.127Z" }, + { url = "https://files.pythonhosted.org/packages/4a/7b/64a87cf98e12f756fc8bd444b001232ffff2be37288f018ad0d3f0aae931/multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190", size = 251173, upload-time = "2026-01-26T02:43:11.731Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ac/b605473de2bb404e742f2cc3583d12aedb2352a70e49ae8fce455b50c5aa/multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92", size = 243273, upload-time = "2026-01-26T02:43:13.063Z" }, + { url = "https://files.pythonhosted.org/packages/03/65/11492d6a0e259783720f3bc1d9ea55579a76f1407e31ed44045c99542004/multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee", size = 238956, upload-time = "2026-01-26T02:43:14.843Z" }, + { url = "https://files.pythonhosted.org/packages/5f/a7/7ee591302af64e7c196fb63fe856c788993c1372df765102bd0448e7e165/multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2", size = 233477, upload-time = "2026-01-26T02:43:16.025Z" }, + { url = "https://files.pythonhosted.org/packages/9c/99/c109962d58756c35fd9992fed7f2355303846ea2ff054bb5f5e9d6b888de/multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568", size = 243615, upload-time = "2026-01-26T02:43:17.84Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5f/1973e7c771c86e93dcfe1c9cc55a5481b610f6614acfc28c0d326fe6bfad/multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40", size = 249930, upload-time = "2026-01-26T02:43:19.06Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a5/f170fc2268c3243853580203378cd522446b2df632061e0a5409817854c7/multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962", size = 243807, upload-time = "2026-01-26T02:43:20.286Z" }, + { url = "https://files.pythonhosted.org/packages/de/01/73856fab6d125e5bc652c3986b90e8699a95e84b48d72f39ade6c0e74a8c/multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505", size = 239103, upload-time = "2026-01-26T02:43:21.508Z" }, + { url = "https://files.pythonhosted.org/packages/e7/46/f1220bd9944d8aa40d8ccff100eeeee19b505b857b6f603d6078cb5315b0/multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122", size = 41416, upload-time = "2026-01-26T02:43:22.703Z" }, + { url = "https://files.pythonhosted.org/packages/68/00/9b38e272a770303692fc406c36e1a4c740f401522d5787691eb38a8925a8/multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df", size = 46022, upload-time = "2026-01-26T02:43:23.77Z" }, + { url = "https://files.pythonhosted.org/packages/64/65/d8d42490c02ee07b6bbe00f7190d70bb4738b3cce7629aaf9f213ef730dd/multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db", size = 43238, upload-time = "2026-01-26T02:43:24.882Z" }, + { url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626, upload-time = "2026-01-26T02:43:26.485Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706, upload-time = "2026-01-26T02:43:27.607Z" }, + { url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356, upload-time = "2026-01-26T02:43:28.661Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355, upload-time = "2026-01-26T02:43:31.165Z" }, + { url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433, upload-time = "2026-01-26T02:43:32.581Z" }, + { url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376, upload-time = "2026-01-26T02:43:34.417Z" }, + { url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365, upload-time = "2026-01-26T02:43:35.741Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747, upload-time = "2026-01-26T02:43:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293, upload-time = "2026-01-26T02:43:38.258Z" }, + { url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962, upload-time = "2026-01-26T02:43:40.034Z" }, + { url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360, upload-time = "2026-01-26T02:43:41.752Z" }, + { url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940, upload-time = "2026-01-26T02:43:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502, upload-time = "2026-01-26T02:43:44.371Z" }, + { url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065, upload-time = "2026-01-26T02:43:45.745Z" }, + { url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870, upload-time = "2026-01-26T02:43:47.054Z" }, + { url = "https://files.pythonhosted.org/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", size = 41302, upload-time = "2026-01-26T02:43:48.753Z" }, + { url = "https://files.pythonhosted.org/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", size = 45981, upload-time = "2026-01-26T02:43:49.921Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", size = 43159, upload-time = "2026-01-26T02:43:51.635Z" }, + { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893, upload-time = "2026-01-26T02:43:52.754Z" }, + { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456, upload-time = "2026-01-26T02:43:53.893Z" }, + { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872, upload-time = "2026-01-26T02:43:55.041Z" }, + { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018, upload-time = "2026-01-26T02:43:56.198Z" }, + { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883, upload-time = "2026-01-26T02:43:57.499Z" }, + { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" }, + { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" }, + { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" }, + { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" }, + { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955, upload-time = "2026-01-26T02:44:04.845Z" }, + { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" }, + { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059, upload-time = "2026-01-26T02:44:07.518Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" }, + { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" }, + { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887, upload-time = "2026-01-26T02:44:14.245Z" }, + { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053, upload-time = "2026-01-26T02:44:15.371Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307, upload-time = "2026-01-26T02:44:16.852Z" }, + { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174, upload-time = "2026-01-26T02:44:18.509Z" }, + { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116, upload-time = "2026-01-26T02:44:19.745Z" }, + { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524, upload-time = "2026-01-26T02:44:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368, upload-time = "2026-01-26T02:44:22.803Z" }, + { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952, upload-time = "2026-01-26T02:44:24.306Z" }, + { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317, upload-time = "2026-01-26T02:44:25.772Z" }, + { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132, upload-time = "2026-01-26T02:44:27.648Z" }, + { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140, upload-time = "2026-01-26T02:44:29.588Z" }, + { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277, upload-time = "2026-01-26T02:44:30.902Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291, upload-time = "2026-01-26T02:44:32.31Z" }, + { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156, upload-time = "2026-01-26T02:44:33.734Z" }, + { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742, upload-time = "2026-01-26T02:44:35.222Z" }, + { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221, upload-time = "2026-01-26T02:44:36.604Z" }, + { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664, upload-time = "2026-01-26T02:44:38.008Z" }, + { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490, upload-time = "2026-01-26T02:44:39.386Z" }, + { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695, upload-time = "2026-01-26T02:44:41.318Z" }, + { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884, upload-time = "2026-01-26T02:44:42.488Z" }, + { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122, upload-time = "2026-01-26T02:44:43.664Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175, upload-time = "2026-01-26T02:44:44.894Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460, upload-time = "2026-01-26T02:44:46.106Z" }, + { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930, upload-time = "2026-01-26T02:44:47.278Z" }, + { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582, upload-time = "2026-01-26T02:44:48.604Z" }, + { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031, upload-time = "2026-01-26T02:44:50.544Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596, upload-time = "2026-01-26T02:44:51.951Z" }, + { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492, upload-time = "2026-01-26T02:44:53.902Z" }, + { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899, upload-time = "2026-01-26T02:44:55.316Z" }, + { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970, upload-time = "2026-01-26T02:44:56.783Z" }, + { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060, upload-time = "2026-01-26T02:44:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888, upload-time = "2026-01-26T02:44:59.57Z" }, + { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554, upload-time = "2026-01-26T02:45:01.054Z" }, + { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341, upload-time = "2026-01-26T02:45:02.484Z" }, + { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391, upload-time = "2026-01-26T02:45:03.862Z" }, + { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422, upload-time = "2026-01-26T02:45:05.296Z" }, + { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770, upload-time = "2026-01-26T02:45:06.754Z" }, + { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109, upload-time = "2026-01-26T02:45:08.044Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573, upload-time = "2026-01-26T02:45:09.349Z" }, + { url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190, upload-time = "2026-01-26T02:45:10.651Z" }, + { url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486, upload-time = "2026-01-26T02:45:11.938Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219, upload-time = "2026-01-26T02:45:14.346Z" }, + { url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132, upload-time = "2026-01-26T02:45:15.712Z" }, + { url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420, upload-time = "2026-01-26T02:45:17.293Z" }, + { url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510, upload-time = "2026-01-26T02:45:19.356Z" }, + { url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094, upload-time = "2026-01-26T02:45:20.834Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786, upload-time = "2026-01-26T02:45:22.818Z" }, + { url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483, upload-time = "2026-01-26T02:45:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403, upload-time = "2026-01-26T02:45:25.982Z" }, + { url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315, upload-time = "2026-01-26T02:45:27.487Z" }, + { url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528, upload-time = "2026-01-26T02:45:28.991Z" }, + { url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784, upload-time = "2026-01-26T02:45:30.503Z" }, + { url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980, upload-time = "2026-01-26T02:45:32.603Z" }, + { url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602, upload-time = "2026-01-26T02:45:34.043Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", size = 40930, upload-time = "2026-01-26T02:45:36.278Z" }, + { url = "https://files.pythonhosted.org/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", size = 45074, upload-time = "2026-01-26T02:45:37.546Z" }, + { url = "https://files.pythonhosted.org/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", size = 42471, upload-time = "2026-01-26T02:45:38.889Z" }, + { url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401, upload-time = "2026-01-26T02:45:40.254Z" }, + { url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143, upload-time = "2026-01-26T02:45:41.635Z" }, + { url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507, upload-time = "2026-01-26T02:45:42.99Z" }, + { url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358, upload-time = "2026-01-26T02:45:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884, upload-time = "2026-01-26T02:45:47.167Z" }, + { url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878, upload-time = "2026-01-26T02:45:48.698Z" }, + { url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542, upload-time = "2026-01-26T02:45:50.164Z" }, + { url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403, upload-time = "2026-01-26T02:45:51.779Z" }, + { url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889, upload-time = "2026-01-26T02:45:53.27Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982, upload-time = "2026-01-26T02:45:54.919Z" }, + { url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415, upload-time = "2026-01-26T02:45:56.981Z" }, + { url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337, upload-time = "2026-01-26T02:45:58.698Z" }, + { url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788, upload-time = "2026-01-26T02:46:00.862Z" }, + { url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842, upload-time = "2026-01-26T02:46:02.824Z" }, + { url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237, upload-time = "2026-01-26T02:46:05.898Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", size = 48008, upload-time = "2026-01-26T02:46:07.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", size = 53542, upload-time = "2026-01-26T02:46:08.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", size = 44719, upload-time = "2026-01-26T02:46:11.146Z" }, + { url = "https://files.pythonhosted.org/packages/9e/ee/74525ebe3eb5fddcd6735fc03cbea3feeed4122b53bc798ac32d297ac9ae/multidict-6.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f", size = 77107, upload-time = "2026-01-26T02:46:12.608Z" }, + { url = "https://files.pythonhosted.org/packages/f0/9a/ce8744e777a74b3050b1bf56be3eed1053b3457302ea055f1ea437200a23/multidict-6.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358", size = 44943, upload-time = "2026-01-26T02:46:14.016Z" }, + { url = "https://files.pythonhosted.org/packages/83/9c/1d2a283d9c6f31e260cb6c2fccadc3edcf6c4c14ee0929cd2af4d2606dd7/multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5", size = 44603, upload-time = "2026-01-26T02:46:15.391Z" }, + { url = "https://files.pythonhosted.org/packages/87/9d/3b186201671583d8e8d6d79c07481a5aafd0ba7575e3d8566baec80c1e82/multidict-6.7.1-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0", size = 240573, upload-time = "2026-01-26T02:46:16.783Z" }, + { url = "https://files.pythonhosted.org/packages/42/7d/a52f5d4d0754311d1ac78478e34dff88de71259a8585e05ee14e5f877caf/multidict-6.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8", size = 240106, upload-time = "2026-01-26T02:46:18.432Z" }, + { url = "https://files.pythonhosted.org/packages/84/9f/d80118e6c30ff55b7d171bdc5520aad4b9626e657520b8d7c8ca8c2fad12/multidict-6.7.1-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0", size = 219418, upload-time = "2026-01-26T02:46:20.526Z" }, + { url = "https://files.pythonhosted.org/packages/c7/bd/896e60b3457f194de77c7de64f9acce9f75da0518a5230ce1df534f6747b/multidict-6.7.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f", size = 252124, upload-time = "2026-01-26T02:46:22.157Z" }, + { url = "https://files.pythonhosted.org/packages/f4/de/ba6b30447c36a37078d0ba604aa12c1a52887af0c355236ca6e0a9d5286f/multidict-6.7.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f", size = 249402, upload-time = "2026-01-26T02:46:23.718Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b2/50a383c96230e432895a2fd3bcfe1b65785899598259d871d5de6b93180c/multidict-6.7.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e", size = 240346, upload-time = "2026-01-26T02:46:25.393Z" }, + { url = "https://files.pythonhosted.org/packages/89/37/16d391fd8da544b1489306e38a46785fa41dd0f0ef766837ed7d4676dde0/multidict-6.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2", size = 237010, upload-time = "2026-01-26T02:46:27.408Z" }, + { url = "https://files.pythonhosted.org/packages/b0/24/3152ee026eda86d5d3e3685182911e6951af7a016579da931080ce6ac9ad/multidict-6.7.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8", size = 232018, upload-time = "2026-01-26T02:46:29.941Z" }, + { url = "https://files.pythonhosted.org/packages/9c/1f/48d3c27a72be7fd23a55d8847193c459959bf35a5bb5844530dab00b739b/multidict-6.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941", size = 241498, upload-time = "2026-01-26T02:46:32.052Z" }, + { url = "https://files.pythonhosted.org/packages/1a/45/413643ae2952d0decdf6c1250f86d08a43e143271441e81027e38d598bd7/multidict-6.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a", size = 247957, upload-time = "2026-01-26T02:46:33.666Z" }, + { url = "https://files.pythonhosted.org/packages/50/f8/f1d0ac23df15e0470776388bdb261506f63af1f81d28bacb5e262d6e12b6/multidict-6.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de", size = 241651, upload-time = "2026-01-26T02:46:35.7Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c9/1a2a18f383cf129add66b6c36b75c3911a7ba95cf26cb141482de085cc12/multidict-6.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5", size = 236371, upload-time = "2026-01-26T02:46:37.37Z" }, + { url = "https://files.pythonhosted.org/packages/bb/aa/77d87e3fca31325b87e0eb72d5fe9a7472dcb51391a42df7ac1f3842f6c0/multidict-6.7.1-cp39-cp39-win32.whl", hash = "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0", size = 41426, upload-time = "2026-01-26T02:46:39.026Z" }, + { url = "https://files.pythonhosted.org/packages/e3/b3/e8863e6a2da15a9d7e98976ff402e871b7352c76566df6c18d0378e0d9cf/multidict-6.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4", size = 46180, upload-time = "2026-01-26T02:46:40.422Z" }, + { url = "https://files.pythonhosted.org/packages/93/d3/dd4fa951ad5b5fa216bf30054d705683d13405eea7459833d78f31b74c9c/multidict-6.7.1-cp39-cp39-win_arm64.whl", hash = "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9", size = 43231, upload-time = "2026-01-26T02:46:41.945Z" }, + { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" }, +] + +[[package]] +name = "numpy" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.4.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz", hash = "sha256:2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0", size = 20731587, upload-time = "2026-03-29T13:22:01.298Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/c6/4218570d8c8ecc9704b5157a3348e486e84ef4be0ed3e38218ab473c83d2/numpy-2.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f983334aea213c99992053ede6168500e5f086ce74fbc4acc3f2b00f5762e9db", size = 16976799, upload-time = "2026-03-29T13:18:15.438Z" }, + { url = "https://files.pythonhosted.org/packages/dd/92/b4d922c4a5f5dab9ed44e6153908a5c665b71acf183a83b93b690996e39b/numpy-2.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72944b19f2324114e9dc86a159787333b77874143efcf89a5167ef83cfee8af0", size = 14971552, upload-time = "2026-03-29T13:18:18.606Z" }, + { url = "https://files.pythonhosted.org/packages/8a/dc/df98c095978fa6ee7b9a9387d1d58cbb3d232d0e69ad169a4ce784bde4fd/numpy-2.4.4-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:86b6f55f5a352b48d7fbfd2dbc3d5b780b2d79f4d3c121f33eb6efb22e9a2015", size = 5476566, upload-time = "2026-03-29T13:18:21.532Z" }, + { url = "https://files.pythonhosted.org/packages/28/34/b3fdcec6e725409223dd27356bdf5a3c2cc2282e428218ecc9cb7acc9763/numpy-2.4.4-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:ba1f4fc670ed79f876f70082eff4f9583c15fb9a4b89d6188412de4d18ae2f40", size = 6806482, upload-time = "2026-03-29T13:18:23.634Z" }, + { url = "https://files.pythonhosted.org/packages/68/62/63417c13aa35d57bee1337c67446761dc25ea6543130cf868eace6e8157b/numpy-2.4.4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a87ec22c87be071b6bdbd27920b129b94f2fc964358ce38f3822635a3e2e03d", size = 15973376, upload-time = "2026-03-29T13:18:26.677Z" }, + { url = "https://files.pythonhosted.org/packages/cf/c5/9fcb7e0e69cef59cf10c746b84f7d58b08bc66a6b7d459783c5a4f6101a6/numpy-2.4.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:df3775294accfdd75f32c74ae39fcba920c9a378a2fc18a12b6820aa8c1fb502", size = 16925137, upload-time = "2026-03-29T13:18:30.14Z" }, + { url = "https://files.pythonhosted.org/packages/7e/43/80020edacb3f84b9efdd1591120a4296462c23fd8db0dde1666f6ef66f13/numpy-2.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0d4e437e295f18ec29bc79daf55e8a47a9113df44d66f702f02a293d93a2d6dd", size = 17329414, upload-time = "2026-03-29T13:18:33.733Z" }, + { url = "https://files.pythonhosted.org/packages/fd/06/af0658593b18a5f73532d377188b964f239eb0894e664a6c12f484472f97/numpy-2.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6aa3236c78803afbcb255045fbef97a9e25a1f6c9888357d205ddc42f4d6eba5", size = 18658397, upload-time = "2026-03-29T13:18:37.511Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ce/13a09ed65f5d0ce5c7dd0669250374c6e379910f97af2c08c57b0608eee4/numpy-2.4.4-cp311-cp311-win32.whl", hash = "sha256:30caa73029a225b2d40d9fae193e008e24b2026b7ee1a867b7ee8d96ca1a448e", size = 6239499, upload-time = "2026-03-29T13:18:40.372Z" }, + { url = "https://files.pythonhosted.org/packages/bd/63/05d193dbb4b5eec1eca73822d80da98b511f8328ad4ae3ca4caf0f4db91d/numpy-2.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:6bbe4eb67390b0a0265a2c25458f6b90a409d5d069f1041e6aff1e27e3d9a79e", size = 12614257, upload-time = "2026-03-29T13:18:42.95Z" }, + { url = "https://files.pythonhosted.org/packages/87/c5/8168052f080c26fa984c413305012be54741c9d0d74abd7fbeeccae3889f/numpy-2.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:fcfe2045fd2e8f3cb0ce9d4ba6dba6333b8fa05bb8a4939c908cd43322d14c7e", size = 10486775, upload-time = "2026-03-29T13:18:45.835Z" }, + { url = "https://files.pythonhosted.org/packages/28/05/32396bec30fb2263770ee910142f49c1476d08e8ad41abf8403806b520ce/numpy-2.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15716cfef24d3a9762e3acdf87e27f58dc823d1348f765bbea6bef8c639bfa1b", size = 16689272, upload-time = "2026-03-29T13:18:49.223Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f3/a983d28637bfcd763a9c7aafdb6d5c0ebf3d487d1e1459ffdb57e2f01117/numpy-2.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23cbfd4c17357c81021f21540da84ee282b9c8fba38a03b7b9d09ba6b951421e", size = 14699573, upload-time = "2026-03-29T13:18:52.629Z" }, + { url = "https://files.pythonhosted.org/packages/9b/fd/e5ecca1e78c05106d98028114f5c00d3eddb41207686b2b7de3e477b0e22/numpy-2.4.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8b3b60bb7cba2c8c81837661c488637eee696f59a877788a396d33150c35d842", size = 5204782, upload-time = "2026-03-29T13:18:55.579Z" }, + { url = "https://files.pythonhosted.org/packages/de/2f/702a4594413c1a8632092beae8aba00f1d67947389369b3777aed783fdca/numpy-2.4.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e4a010c27ff6f210ff4c6ef34394cd61470d01014439b192ec22552ee867f2a8", size = 6552038, upload-time = "2026-03-29T13:18:57.769Z" }, + { url = "https://files.pythonhosted.org/packages/7f/37/eed308a8f56cba4d1fdf467a4fc67ef4ff4bf1c888f5fc980481890104b1/numpy-2.4.4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f9e75681b59ddaa5e659898085ae0eaea229d054f2ac0c7e563a62205a700121", size = 15670666, upload-time = "2026-03-29T13:19:00.341Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0d/0e3ecece05b7a7e87ab9fb587855548da437a061326fff64a223b6dcb78a/numpy-2.4.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:81f4a14bee47aec54f883e0cad2d73986640c1590eb9bfaaba7ad17394481e6e", size = 16645480, upload-time = "2026-03-29T13:19:03.63Z" }, + { url = "https://files.pythonhosted.org/packages/34/49/f2312c154b82a286758ee2f1743336d50651f8b5195db18cdb63675ff649/numpy-2.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:62d6b0f03b694173f9fcb1fb317f7222fd0b0b103e784c6549f5e53a27718c44", size = 17020036, upload-time = "2026-03-29T13:19:07.428Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e9/736d17bd77f1b0ec4f9901aaec129c00d59f5d84d5e79bba540ef12c2330/numpy-2.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fbc356aae7adf9e6336d336b9c8111d390a05df88f1805573ebb0807bd06fd1d", size = 18368643, upload-time = "2026-03-29T13:19:10.775Z" }, + { url = "https://files.pythonhosted.org/packages/63/f6/d417977c5f519b17c8a5c3bc9e8304b0908b0e21136fe43bf628a1343914/numpy-2.4.4-cp312-cp312-win32.whl", hash = "sha256:0d35aea54ad1d420c812bfa0385c71cd7cc5bcf7c65fed95fc2cd02fe8c79827", size = 5961117, upload-time = "2026-03-29T13:19:13.464Z" }, + { url = "https://files.pythonhosted.org/packages/2d/5b/e1deebf88ff431b01b7406ca3583ab2bbb90972bbe1c568732e49c844f7e/numpy-2.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:b5f0362dc928a6ecd9db58868fca5e48485205e3855957bdedea308f8672ea4a", size = 12320584, upload-time = "2026-03-29T13:19:16.155Z" }, + { url = "https://files.pythonhosted.org/packages/58/89/e4e856ac82a68c3ed64486a544977d0e7bdd18b8da75b78a577ca31c4395/numpy-2.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:846300f379b5b12cc769334464656bc882e0735d27d9726568bc932fdc49d5ec", size = 10221450, upload-time = "2026-03-29T13:19:18.994Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d0a583ce4fefcc3308806a749a536c201ed6b5ad6e1322e227ee4848979d/numpy-2.4.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:08f2e31ed5e6f04b118e49821397f12767934cfdd12a1ce86a058f91e004ee50", size = 16684933, upload-time = "2026-03-29T13:19:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/c1/62/2b7a48fbb745d344742c0277f01286dead15f3f68e4f359fbfcf7b48f70f/numpy-2.4.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e823b8b6edc81e747526f70f71a9c0a07ac4e7ad13020aa736bb7c9d67196115", size = 14694532, upload-time = "2026-03-29T13:19:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/e5/87/499737bfba066b4a3bebff24a8f1c5b2dee410b209bc6668c9be692580f0/numpy-2.4.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4a19d9dba1a76618dd86b164d608566f393f8ec6ac7c44f0cc879011c45e65af", size = 5199661, upload-time = "2026-03-29T13:19:28.31Z" }, + { url = "https://files.pythonhosted.org/packages/cd/da/464d551604320d1491bc345efed99b4b7034143a85787aab78d5691d5a0e/numpy-2.4.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d2a8490669bfe99a233298348acc2d824d496dee0e66e31b66a6022c2ad74a5c", size = 6547539, upload-time = "2026-03-29T13:19:30.97Z" }, + { url = "https://files.pythonhosted.org/packages/7d/90/8d23e3b0dafd024bf31bdec225b3bb5c2dbfa6912f8a53b8659f21216cbf/numpy-2.4.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:45dbed2ab436a9e826e302fcdcbe9133f9b0006e5af7168afb8963a6520da103", size = 15668806, upload-time = "2026-03-29T13:19:33.887Z" }, + { url = "https://files.pythonhosted.org/packages/d1/73/a9d864e42a01896bb5974475438f16086be9ba1f0d19d0bb7a07427c4a8b/numpy-2.4.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83", size = 16632682, upload-time = "2026-03-29T13:19:37.336Z" }, + { url = "https://files.pythonhosted.org/packages/34/fb/14570d65c3bde4e202a031210475ae9cde9b7686a2e7dc97ee67d2833b35/numpy-2.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:99d838547ace2c4aace6c4f76e879ddfe02bb58a80c1549928477862b7a6d6ed", size = 17019810, upload-time = "2026-03-29T13:19:40.963Z" }, + { url = "https://files.pythonhosted.org/packages/8a/77/2ba9d87081fd41f6d640c83f26fb7351e536b7ce6dd9061b6af5904e8e46/numpy-2.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0aec54fd785890ecca25a6003fd9a5aed47ad607bbac5cd64f836ad8666f4959", size = 18357394, upload-time = "2026-03-29T13:19:44.859Z" }, + { url = "https://files.pythonhosted.org/packages/a2/23/52666c9a41708b0853fa3b1a12c90da38c507a3074883823126d4e9d5b30/numpy-2.4.4-cp313-cp313-win32.whl", hash = "sha256:07077278157d02f65c43b1b26a3886bce886f95d20aabd11f87932750dfb14ed", size = 5959556, upload-time = "2026-03-29T13:19:47.661Z" }, + { url = "https://files.pythonhosted.org/packages/57/fb/48649b4971cde70d817cf97a2a2fdc0b4d8308569f1dd2f2611959d2e0cf/numpy-2.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:5c70f1cc1c4efbe316a572e2d8b9b9cc44e89b95f79ca3331553fbb63716e2bf", size = 12317311, upload-time = "2026-03-29T13:19:50.67Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d8/11490cddd564eb4de97b4579ef6bfe6a736cc07e94c1598590ae25415e01/numpy-2.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:ef4059d6e5152fa1a39f888e344c73fdc926e1b2dd58c771d67b0acfbf2aa67d", size = 10222060, upload-time = "2026-03-29T13:19:54.229Z" }, + { url = "https://files.pythonhosted.org/packages/99/5d/dab4339177a905aad3e2221c915b35202f1ec30d750dd2e5e9d9a72b804b/numpy-2.4.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4bbc7f303d125971f60ec0aaad5e12c62d0d2c925f0ab1273debd0e4ba37aba5", size = 14822302, upload-time = "2026-03-29T13:19:57.585Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e4/0564a65e7d3d97562ed6f9b0fd0fb0a6f559ee444092f105938b50043876/numpy-2.4.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:4d6d57903571f86180eb98f8f0c839fa9ebbfb031356d87f1361be91e433f5b7", size = 5327407, upload-time = "2026-03-29T13:20:00.601Z" }, + { url = "https://files.pythonhosted.org/packages/29/8d/35a3a6ce5ad371afa58b4700f1c820f8f279948cca32524e0a695b0ded83/numpy-2.4.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:4636de7fd195197b7535f231b5de9e4b36d2c440b6e566d2e4e4746e6af0ca93", size = 6647631, upload-time = "2026-03-29T13:20:02.855Z" }, + { url = "https://files.pythonhosted.org/packages/f4/da/477731acbd5a58a946c736edfdabb2ac5b34c3d08d1ba1a7b437fa0884df/numpy-2.4.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ad2e2ef14e0b04e544ea2fa0a36463f847f113d314aa02e5b402fdf910ef309e", size = 15727691, upload-time = "2026-03-29T13:20:06.004Z" }, + { url = "https://files.pythonhosted.org/packages/e6/db/338535d9b152beabeb511579598418ba0212ce77cf9718edd70262cc4370/numpy-2.4.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a285b3b96f951841799528cd1f4f01cd70e7e0204b4abebac9463eecfcf2a40", size = 16681241, upload-time = "2026-03-29T13:20:09.417Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a9/ad248e8f58beb7a0219b413c9c7d8151c5d285f7f946c3e26695bdbbe2df/numpy-2.4.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f8474c4241bc18b750be2abea9d7a9ec84f46ef861dbacf86a4f6e043401f79e", size = 17085767, upload-time = "2026-03-29T13:20:13.126Z" }, + { url = "https://files.pythonhosted.org/packages/b5/1a/3b88ccd3694681356f70da841630e4725a7264d6a885c8d442a697e1146b/numpy-2.4.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4e874c976154687c1f71715b034739b45c7711bec81db01914770373d125e392", size = 18403169, upload-time = "2026-03-29T13:20:17.096Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c9/fcfd5d0639222c6eac7f304829b04892ef51c96a75d479214d77e3ce6e33/numpy-2.4.4-cp313-cp313t-win32.whl", hash = "sha256:9c585a1790d5436a5374bac930dad6ed244c046ed91b2b2a3634eb2971d21008", size = 6083477, upload-time = "2026-03-29T13:20:20.195Z" }, + { url = "https://files.pythonhosted.org/packages/d5/e3/3938a61d1c538aaec8ed6fd6323f57b0c2d2d2219512434c5c878db76553/numpy-2.4.4-cp313-cp313t-win_amd64.whl", hash = "sha256:93e15038125dc1e5345d9b5b68aa7f996ec33b98118d18c6ca0d0b7d6198b7e8", size = 12457487, upload-time = "2026-03-29T13:20:22.946Z" }, + { url = "https://files.pythonhosted.org/packages/97/6a/7e345032cc60501721ef94e0e30b60f6b0bd601f9174ebd36389a2b86d40/numpy-2.4.4-cp313-cp313t-win_arm64.whl", hash = "sha256:0dfd3f9d3adbe2920b68b5cd3d51444e13a10792ec7154cd0a2f6e74d4ab3233", size = 10292002, upload-time = "2026-03-29T13:20:25.909Z" }, + { url = "https://files.pythonhosted.org/packages/6e/06/c54062f85f673dd5c04cbe2f14c3acb8c8b95e3384869bb8cc9bff8cb9df/numpy-2.4.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:f169b9a863d34f5d11b8698ead99febeaa17a13ca044961aa8e2662a6c7766a0", size = 16684353, upload-time = "2026-03-29T13:20:29.504Z" }, + { url = "https://files.pythonhosted.org/packages/4c/39/8a320264a84404c74cc7e79715de85d6130fa07a0898f67fb5cd5bd79908/numpy-2.4.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2483e4584a1cb3092da4470b38866634bafb223cbcd551ee047633fd2584599a", size = 14704914, upload-time = "2026-03-29T13:20:33.547Z" }, + { url = "https://files.pythonhosted.org/packages/91/fb/287076b2614e1d1044235f50f03748f31fa287e3dbe6abeb35cdfa351eca/numpy-2.4.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:2d19e6e2095506d1736b7d80595e0f252d76b89f5e715c35e06e937679ea7d7a", size = 5210005, upload-time = "2026-03-29T13:20:36.45Z" }, + { url = "https://files.pythonhosted.org/packages/63/eb/fcc338595309910de6ecabfcef2419a9ce24399680bfb149421fa2df1280/numpy-2.4.4-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:6a246d5914aa1c820c9443ddcee9c02bec3e203b0c080349533fae17727dfd1b", size = 6544974, upload-time = "2026-03-29T13:20:39.014Z" }, + { url = "https://files.pythonhosted.org/packages/44/5d/e7e9044032a716cdfaa3fba27a8e874bf1c5f1912a1ddd4ed071bf8a14a6/numpy-2.4.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:989824e9faf85f96ec9c7761cd8d29c531ad857bfa1daa930cba85baaecf1a9a", size = 15684591, upload-time = "2026-03-29T13:20:42.146Z" }, + { url = "https://files.pythonhosted.org/packages/98/7c/21252050676612625449b4807d6b695b9ce8a7c9e1c197ee6216c8a65c7c/numpy-2.4.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:27a8d92cd10f1382a67d7cf4db7ce18341b66438bdd9f691d7b0e48d104c2a9d", size = 16637700, upload-time = "2026-03-29T13:20:46.204Z" }, + { url = "https://files.pythonhosted.org/packages/b1/29/56d2bbef9465db24ef25393383d761a1af4f446a1df9b8cded4fe3a5a5d7/numpy-2.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e44319a2953c738205bf3354537979eaa3998ed673395b964c1176083dd46252", size = 17035781, upload-time = "2026-03-29T13:20:50.242Z" }, + { url = "https://files.pythonhosted.org/packages/e3/2b/a35a6d7589d21f44cea7d0a98de5ddcbb3d421b2622a5c96b1edf18707c3/numpy-2.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e892aff75639bbef0d2a2cfd55535510df26ff92f63c92cd84ef8d4ba5a5557f", size = 18362959, upload-time = "2026-03-29T13:20:54.019Z" }, + { url = "https://files.pythonhosted.org/packages/64/c9/d52ec581f2390e0f5f85cbfd80fb83d965fc15e9f0e1aec2195faa142cde/numpy-2.4.4-cp314-cp314-win32.whl", hash = "sha256:1378871da56ca8943c2ba674530924bb8ca40cd228358a3b5f302ad60cf875fc", size = 6008768, upload-time = "2026-03-29T13:20:56.912Z" }, + { url = "https://files.pythonhosted.org/packages/fa/22/4cc31a62a6c7b74a8730e31a4274c5dc80e005751e277a2ce38e675e4923/numpy-2.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:715d1c092715954784bc79e1174fc2a90093dc4dc84ea15eb14dad8abdcdeb74", size = 12449181, upload-time = "2026-03-29T13:20:59.548Z" }, + { url = "https://files.pythonhosted.org/packages/70/2e/14cda6f4d8e396c612d1bf97f22958e92148801d7e4f110cabebdc0eef4b/numpy-2.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:2c194dd721e54ecad9ad387c1d35e63dce5c4450c6dc7dd5611283dda239aabb", size = 10496035, upload-time = "2026-03-29T13:21:02.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/e8/8fed8c8d848d7ecea092dc3469643f9d10bc3a134a815a3b033da1d2039b/numpy-2.4.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2aa0613a5177c264ff5921051a5719d20095ea586ca88cc802c5c218d1c67d3e", size = 14824958, upload-time = "2026-03-29T13:21:05.671Z" }, + { url = "https://files.pythonhosted.org/packages/05/1a/d8007a5138c179c2bf33ef44503e83d70434d2642877ee8fbb230e7c0548/numpy-2.4.4-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:42c16925aa5a02362f986765f9ebabf20de75cdefdca827d14315c568dcab113", size = 5330020, upload-time = "2026-03-29T13:21:08.635Z" }, + { url = "https://files.pythonhosted.org/packages/99/64/ffb99ac6ae93faf117bcbd5c7ba48a7f45364a33e8e458545d3633615dda/numpy-2.4.4-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:874f200b2a981c647340f841730fc3a2b54c9d940566a3c4149099591e2c4c3d", size = 6650758, upload-time = "2026-03-29T13:21:10.949Z" }, + { url = "https://files.pythonhosted.org/packages/6e/6e/795cc078b78a384052e73b2f6281ff7a700e9bf53bcce2ee579d4f6dd879/numpy-2.4.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9b39d38a9bd2ae1becd7eac1303d031c5c110ad31f2b319c6e7d98b135c934d", size = 15729948, upload-time = "2026-03-29T13:21:14.047Z" }, + { url = "https://files.pythonhosted.org/packages/5f/86/2acbda8cc2af5f3d7bfc791192863b9e3e19674da7b5e533fded124d1299/numpy-2.4.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b268594bccac7d7cf5844c7732e3f20c50921d94e36d7ec9b79e9857694b1b2f", size = 16679325, upload-time = "2026-03-29T13:21:17.561Z" }, + { url = "https://files.pythonhosted.org/packages/bc/59/cafd83018f4aa55e0ac6fa92aa066c0a1877b77a615ceff1711c260ffae8/numpy-2.4.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ac6b31e35612a26483e20750126d30d0941f949426974cace8e6b5c58a3657b0", size = 17084883, upload-time = "2026-03-29T13:21:21.106Z" }, + { url = "https://files.pythonhosted.org/packages/f0/85/a42548db84e65ece46ab2caea3d3f78b416a47af387fcbb47ec28e660dc2/numpy-2.4.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8e3ed142f2728df44263aaf5fb1f5b0b99f4070c553a0d7f033be65338329150", size = 18403474, upload-time = "2026-03-29T13:21:24.828Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ad/483d9e262f4b831000062e5d8a45e342166ec8aaa1195264982bca267e62/numpy-2.4.4-cp314-cp314t-win32.whl", hash = "sha256:dddbbd259598d7240b18c9d87c56a9d2fb3b02fe266f49a7c101532e78c1d871", size = 6155500, upload-time = "2026-03-29T13:21:28.205Z" }, + { url = "https://files.pythonhosted.org/packages/c7/03/2fc4e14c7bd4ff2964b74ba90ecb8552540b6315f201df70f137faa5c589/numpy-2.4.4-cp314-cp314t-win_amd64.whl", hash = "sha256:a7164afb23be6e37ad90b2f10426149fd75aee07ca55653d2aa41e66c4ef697e", size = 12637755, upload-time = "2026-03-29T13:21:31.107Z" }, + { url = "https://files.pythonhosted.org/packages/58/78/548fb8e07b1a341746bfbecb32f2c268470f45fa028aacdbd10d9bc73aab/numpy-2.4.4-cp314-cp314t-win_arm64.whl", hash = "sha256:ba203255017337d39f89bdd58417f03c4426f12beed0440cfd933cb15f8669c7", size = 10566643, upload-time = "2026-03-29T13:21:34.339Z" }, + { url = "https://files.pythonhosted.org/packages/6b/33/8fae8f964a4f63ed528264ddf25d2b683d0b663e3cba26961eb838a7c1bd/numpy-2.4.4-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:58c8b5929fcb8287cbd6f0a3fae19c6e03a5c48402ae792962ac465224a629a4", size = 16854491, upload-time = "2026-03-29T13:21:38.03Z" }, + { url = "https://files.pythonhosted.org/packages/bc/d0/1aabee441380b981cf8cdda3ae7a46aa827d1b5a8cce84d14598bc94d6d9/numpy-2.4.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:eea7ac5d2dce4189771cedb559c738a71512768210dc4e4753b107a2048b3d0e", size = 14895830, upload-time = "2026-03-29T13:21:41.509Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b8/aafb0d1065416894fccf4df6b49ef22b8db045187949545bced89c034b8e/numpy-2.4.4-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:51fc224f7ca4d92656d5a5eb315f12eb5fe2c97a66249aa7b5f562528a3be38c", size = 5400927, upload-time = "2026-03-29T13:21:44.747Z" }, + { url = "https://files.pythonhosted.org/packages/d6/77/063baa20b08b431038c7f9ff5435540c7b7265c78cf56012a483019ca72d/numpy-2.4.4-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:28a650663f7314afc3e6ec620f44f333c386aad9f6fc472030865dc0ebb26ee3", size = 6715557, upload-time = "2026-03-29T13:21:47.406Z" }, + { url = "https://files.pythonhosted.org/packages/c7/a8/379542d45a14f149444c5c4c4e7714707239ce9cc1de8c2803958889da14/numpy-2.4.4-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:19710a9ca9992d7174e9c52f643d4272dcd1558c5f7af7f6f8190f633bd651a7", size = 15804253, upload-time = "2026-03-29T13:21:50.753Z" }, + { url = "https://files.pythonhosted.org/packages/a2/c8/f0a45426d6d21e7ea3310a15cf90c43a14d9232c31a837702dba437f3373/numpy-2.4.4-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b2aec6af35c113b05695ebb5749a787acd63cafc83086a05771d1e1cd1e555f", size = 16753552, upload-time = "2026-03-29T13:21:54.344Z" }, + { url = "https://files.pythonhosted.org/packages/04/74/f4c001f4714c3ad9ce037e18cf2b9c64871a84951eaa0baf683a9ca9301c/numpy-2.4.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f2cf083b324a467e1ab358c105f6cad5ea950f50524668a80c486ff1db24e119", size = 12509075, upload-time = "2026-03-29T13:21:57.644Z" }, +] + +[[package]] +name = "opencv-python" +version = "4.13.0.92" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/6f/5a28fef4c4a382be06afe3938c64cc168223016fa520c5abaf37e8862aa5/opencv_python-4.13.0.92-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:caf60c071ec391ba51ed00a4a920f996d0b64e3e46068aac1f646b5de0326a19", size = 46247052, upload-time = "2026-02-05T07:01:25.046Z" }, + { url = "https://files.pythonhosted.org/packages/08/ac/6c98c44c650b8114a0fb901691351cfb3956d502e8e9b5cd27f4ee7fbf2f/opencv_python-4.13.0.92-cp37-abi3-macosx_14_0_x86_64.whl", hash = "sha256:5868a8c028a0b37561579bfb8ac1875babdc69546d236249fff296a8c010ccf9", size = 32568781, upload-time = "2026-02-05T07:01:41.379Z" }, + { url = "https://files.pythonhosted.org/packages/3e/51/82fed528b45173bf629fa44effb76dff8bc9f4eeaee759038362dfa60237/opencv_python-4.13.0.92-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0bc2596e68f972ca452d80f444bc404e08807d021fbba40df26b61b18e01838a", size = 47685527, upload-time = "2026-02-05T06:59:11.24Z" }, + { url = "https://files.pythonhosted.org/packages/db/07/90b34a8e2cf9c50fe8ed25cac9011cde0676b4d9d9c973751ac7616223a2/opencv_python-4.13.0.92-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:402033cddf9d294693094de5ef532339f14ce821da3ad7df7c9f6e8316da32cf", size = 70460872, upload-time = "2026-02-05T06:59:19.162Z" }, + { url = "https://files.pythonhosted.org/packages/02/6d/7a9cc719b3eaf4377b9c2e3edeb7ed3a81de41f96421510c0a169ca3cfd4/opencv_python-4.13.0.92-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:bccaabf9eb7f897ca61880ce2869dcd9b25b72129c28478e7f2a5e8dee945616", size = 46708208, upload-time = "2026-02-05T06:59:15.419Z" }, + { url = "https://files.pythonhosted.org/packages/fd/55/b3b49a1b97aabcfbbd6c7326df9cb0b6fa0c0aefa8e89d500939e04aa229/opencv_python-4.13.0.92-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:620d602b8f7d8b8dab5f4b99c6eb353e78d3fb8b0f53db1bd258bb1aa001c1d5", size = 72927042, upload-time = "2026-02-05T06:59:23.389Z" }, + { url = "https://files.pythonhosted.org/packages/fb/17/de5458312bcb07ddf434d7bfcb24bb52c59635ad58c6e7c751b48949b009/opencv_python-4.13.0.92-cp37-abi3-win32.whl", hash = "sha256:372fe164a3148ac1ca51e5f3ad0541a4a276452273f503441d718fab9c5e5f59", size = 30932638, upload-time = "2026-02-05T07:02:14.98Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a5/1be1516390333ff9be3a9cb648c9f33df79d5096e5884b5df71a588af463/opencv_python-4.13.0.92-cp37-abi3-win_amd64.whl", hash = "sha256:423d934c9fafb91aad38edf26efb46da91ffbc05f3f59c4b0c72e699720706f5", size = 40212062, upload-time = "2026-02-05T07:02:12.724Z" }, +] + +[[package]] +name = "propcache" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442, upload-time = "2025-10-08T19:49:02.291Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/0e/934b541323035566a9af292dba85a195f7b78179114f2c6ebb24551118a9/propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", size = 79534, upload-time = "2025-10-08T19:46:02.083Z" }, + { url = "https://files.pythonhosted.org/packages/a1/6b/db0d03d96726d995dc7171286c6ba9d8d14251f37433890f88368951a44e/propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8", size = 45526, upload-time = "2025-10-08T19:46:03.884Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c3/82728404aea669e1600f304f2609cde9e665c18df5a11cdd57ed73c1dceb/propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925", size = 47263, upload-time = "2025-10-08T19:46:05.405Z" }, + { url = "https://files.pythonhosted.org/packages/df/1b/39313ddad2bf9187a1432654c38249bab4562ef535ef07f5eb6eb04d0b1b/propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21", size = 201012, upload-time = "2025-10-08T19:46:07.165Z" }, + { url = "https://files.pythonhosted.org/packages/5b/01/f1d0b57d136f294a142acf97f4ed58c8e5b974c21e543000968357115011/propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5", size = 209491, upload-time = "2025-10-08T19:46:08.909Z" }, + { url = "https://files.pythonhosted.org/packages/a1/c8/038d909c61c5bb039070b3fb02ad5cccdb1dde0d714792e251cdb17c9c05/propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db", size = 215319, upload-time = "2025-10-08T19:46:10.7Z" }, + { url = "https://files.pythonhosted.org/packages/08/57/8c87e93142b2c1fa2408e45695205a7ba05fb5db458c0bf5c06ba0e09ea6/propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7", size = 196856, upload-time = "2025-10-08T19:46:12.003Z" }, + { url = "https://files.pythonhosted.org/packages/42/df/5615fec76aa561987a534759b3686008a288e73107faa49a8ae5795a9f7a/propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4", size = 193241, upload-time = "2025-10-08T19:46:13.495Z" }, + { url = "https://files.pythonhosted.org/packages/d5/21/62949eb3a7a54afe8327011c90aca7e03547787a88fb8bd9726806482fea/propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60", size = 190552, upload-time = "2025-10-08T19:46:14.938Z" }, + { url = "https://files.pythonhosted.org/packages/30/ee/ab4d727dd70806e5b4de96a798ae7ac6e4d42516f030ee60522474b6b332/propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f", size = 200113, upload-time = "2025-10-08T19:46:16.695Z" }, + { url = "https://files.pythonhosted.org/packages/8a/0b/38b46208e6711b016aa8966a3ac793eee0d05c7159d8342aa27fc0bc365e/propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900", size = 200778, upload-time = "2025-10-08T19:46:18.023Z" }, + { url = "https://files.pythonhosted.org/packages/cf/81/5abec54355ed344476bee711e9f04815d4b00a311ab0535599204eecc257/propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c", size = 193047, upload-time = "2025-10-08T19:46:19.449Z" }, + { url = "https://files.pythonhosted.org/packages/ec/b6/1f237c04e32063cb034acd5f6ef34ef3a394f75502e72703545631ab1ef6/propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb", size = 38093, upload-time = "2025-10-08T19:46:20.643Z" }, + { url = "https://files.pythonhosted.org/packages/a6/67/354aac4e0603a15f76439caf0427781bcd6797f370377f75a642133bc954/propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37", size = 41638, upload-time = "2025-10-08T19:46:21.935Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e1/74e55b9fd1a4c209ff1a9a824bf6c8b3d1fc5a1ac3eabe23462637466785/propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581", size = 38229, upload-time = "2025-10-08T19:46:23.368Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d4/4e2c9aaf7ac2242b9358f98dccd8f90f2605402f5afeff6c578682c2c491/propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf", size = 80208, upload-time = "2025-10-08T19:46:24.597Z" }, + { url = "https://files.pythonhosted.org/packages/c2/21/d7b68e911f9c8e18e4ae43bdbc1e1e9bbd971f8866eb81608947b6f585ff/propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5", size = 45777, upload-time = "2025-10-08T19:46:25.733Z" }, + { url = "https://files.pythonhosted.org/packages/d3/1d/11605e99ac8ea9435651ee71ab4cb4bf03f0949586246476a25aadfec54a/propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e", size = 47647, upload-time = "2025-10-08T19:46:27.304Z" }, + { url = "https://files.pythonhosted.org/packages/58/1a/3c62c127a8466c9c843bccb503d40a273e5cc69838805f322e2826509e0d/propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566", size = 214929, upload-time = "2025-10-08T19:46:28.62Z" }, + { url = "https://files.pythonhosted.org/packages/56/b9/8fa98f850960b367c4b8fe0592e7fc341daa7a9462e925228f10a60cf74f/propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165", size = 221778, upload-time = "2025-10-08T19:46:30.358Z" }, + { url = "https://files.pythonhosted.org/packages/46/a6/0ab4f660eb59649d14b3d3d65c439421cf2f87fe5dd68591cbe3c1e78a89/propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc", size = 228144, upload-time = "2025-10-08T19:46:32.607Z" }, + { url = "https://files.pythonhosted.org/packages/52/6a/57f43e054fb3d3a56ac9fc532bc684fc6169a26c75c353e65425b3e56eef/propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48", size = 210030, upload-time = "2025-10-08T19:46:33.969Z" }, + { url = "https://files.pythonhosted.org/packages/40/e2/27e6feebb5f6b8408fa29f5efbb765cd54c153ac77314d27e457a3e993b7/propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570", size = 208252, upload-time = "2025-10-08T19:46:35.309Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f8/91c27b22ccda1dbc7967f921c42825564fa5336a01ecd72eb78a9f4f53c2/propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85", size = 202064, upload-time = "2025-10-08T19:46:36.993Z" }, + { url = "https://files.pythonhosted.org/packages/f2/26/7f00bd6bd1adba5aafe5f4a66390f243acab58eab24ff1a08bebb2ef9d40/propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e", size = 212429, upload-time = "2025-10-08T19:46:38.398Z" }, + { url = "https://files.pythonhosted.org/packages/84/89/fd108ba7815c1117ddca79c228f3f8a15fc82a73bca8b142eb5de13b2785/propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757", size = 216727, upload-time = "2025-10-08T19:46:39.732Z" }, + { url = "https://files.pythonhosted.org/packages/79/37/3ec3f7e3173e73f1d600495d8b545b53802cbf35506e5732dd8578db3724/propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f", size = 205097, upload-time = "2025-10-08T19:46:41.025Z" }, + { url = "https://files.pythonhosted.org/packages/61/b0/b2631c19793f869d35f47d5a3a56fb19e9160d3c119f15ac7344fc3ccae7/propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1", size = 38084, upload-time = "2025-10-08T19:46:42.693Z" }, + { url = "https://files.pythonhosted.org/packages/f4/78/6cce448e2098e9f3bfc91bb877f06aa24b6ccace872e39c53b2f707c4648/propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6", size = 41637, upload-time = "2025-10-08T19:46:43.778Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e9/754f180cccd7f51a39913782c74717c581b9cc8177ad0e949f4d51812383/propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239", size = 38064, upload-time = "2025-10-08T19:46:44.872Z" }, + { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061, upload-time = "2025-10-08T19:46:46.075Z" }, + { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037, upload-time = "2025-10-08T19:46:47.23Z" }, + { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324, upload-time = "2025-10-08T19:46:48.384Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505, upload-time = "2025-10-08T19:46:50.055Z" }, + { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242, upload-time = "2025-10-08T19:46:51.815Z" }, + { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474, upload-time = "2025-10-08T19:46:53.208Z" }, + { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575, upload-time = "2025-10-08T19:46:54.511Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736, upload-time = "2025-10-08T19:46:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019, upload-time = "2025-10-08T19:46:57.595Z" }, + { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376, upload-time = "2025-10-08T19:46:59.067Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988, upload-time = "2025-10-08T19:47:00.544Z" }, + { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615, upload-time = "2025-10-08T19:47:01.968Z" }, + { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066, upload-time = "2025-10-08T19:47:03.503Z" }, + { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655, upload-time = "2025-10-08T19:47:04.973Z" }, + { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789, upload-time = "2025-10-08T19:47:06.077Z" }, + { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750, upload-time = "2025-10-08T19:47:07.648Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780, upload-time = "2025-10-08T19:47:08.851Z" }, + { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308, upload-time = "2025-10-08T19:47:09.982Z" }, + { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182, upload-time = "2025-10-08T19:47:11.319Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215, upload-time = "2025-10-08T19:47:13.146Z" }, + { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112, upload-time = "2025-10-08T19:47:14.913Z" }, + { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442, upload-time = "2025-10-08T19:47:16.277Z" }, + { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398, upload-time = "2025-10-08T19:47:17.962Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920, upload-time = "2025-10-08T19:47:19.355Z" }, + { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748, upload-time = "2025-10-08T19:47:21.338Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877, upload-time = "2025-10-08T19:47:23.059Z" }, + { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437, upload-time = "2025-10-08T19:47:24.445Z" }, + { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586, upload-time = "2025-10-08T19:47:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790, upload-time = "2025-10-08T19:47:26.847Z" }, + { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158, upload-time = "2025-10-08T19:47:27.961Z" }, + { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451, upload-time = "2025-10-08T19:47:29.445Z" }, + { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374, upload-time = "2025-10-08T19:47:30.579Z" }, + { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396, upload-time = "2025-10-08T19:47:31.79Z" }, + { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950, upload-time = "2025-10-08T19:47:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856, upload-time = "2025-10-08T19:47:34.906Z" }, + { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420, upload-time = "2025-10-08T19:47:36.338Z" }, + { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254, upload-time = "2025-10-08T19:47:37.692Z" }, + { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205, upload-time = "2025-10-08T19:47:39.659Z" }, + { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873, upload-time = "2025-10-08T19:47:41.084Z" }, + { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739, upload-time = "2025-10-08T19:47:42.51Z" }, + { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514, upload-time = "2025-10-08T19:47:43.927Z" }, + { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781, upload-time = "2025-10-08T19:47:45.448Z" }, + { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396, upload-time = "2025-10-08T19:47:47.202Z" }, + { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897, upload-time = "2025-10-08T19:47:48.336Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789, upload-time = "2025-10-08T19:47:49.876Z" }, + { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152, upload-time = "2025-10-08T19:47:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869, upload-time = "2025-10-08T19:47:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596, upload-time = "2025-10-08T19:47:54.073Z" }, + { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981, upload-time = "2025-10-08T19:47:55.715Z" }, + { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490, upload-time = "2025-10-08T19:47:57.499Z" }, + { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371, upload-time = "2025-10-08T19:47:59.317Z" }, + { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424, upload-time = "2025-10-08T19:48:00.67Z" }, + { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566, upload-time = "2025-10-08T19:48:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130, upload-time = "2025-10-08T19:48:04.499Z" }, + { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625, upload-time = "2025-10-08T19:48:06.213Z" }, + { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209, upload-time = "2025-10-08T19:48:08.432Z" }, + { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797, upload-time = "2025-10-08T19:48:09.968Z" }, + { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140, upload-time = "2025-10-08T19:48:11.232Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257, upload-time = "2025-10-08T19:48:12.707Z" }, + { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097, upload-time = "2025-10-08T19:48:13.923Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455, upload-time = "2025-10-08T19:48:15.16Z" }, + { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372, upload-time = "2025-10-08T19:48:16.424Z" }, + { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411, upload-time = "2025-10-08T19:48:17.577Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712, upload-time = "2025-10-08T19:48:18.901Z" }, + { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557, upload-time = "2025-10-08T19:48:20.762Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015, upload-time = "2025-10-08T19:48:22.592Z" }, + { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880, upload-time = "2025-10-08T19:48:23.947Z" }, + { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938, upload-time = "2025-10-08T19:48:25.656Z" }, + { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641, upload-time = "2025-10-08T19:48:27.207Z" }, + { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510, upload-time = "2025-10-08T19:48:28.65Z" }, + { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161, upload-time = "2025-10-08T19:48:30.133Z" }, + { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393, upload-time = "2025-10-08T19:48:31.567Z" }, + { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546, upload-time = "2025-10-08T19:48:32.872Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259, upload-time = "2025-10-08T19:48:34.226Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428, upload-time = "2025-10-08T19:48:35.441Z" }, + { url = "https://files.pythonhosted.org/packages/9b/01/0ebaec9003f5d619a7475165961f8e3083cf8644d704b60395df3601632d/propcache-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3d233076ccf9e450c8b3bc6720af226b898ef5d051a2d145f7d765e6e9f9bcff", size = 80277, upload-time = "2025-10-08T19:48:36.647Z" }, + { url = "https://files.pythonhosted.org/packages/34/58/04af97ac586b4ef6b9026c3fd36ee7798b737a832f5d3440a4280dcebd3a/propcache-0.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:357f5bb5c377a82e105e44bd3d52ba22b616f7b9773714bff93573988ef0a5fb", size = 45865, upload-time = "2025-10-08T19:48:37.859Z" }, + { url = "https://files.pythonhosted.org/packages/7c/19/b65d98ae21384518b291d9939e24a8aeac4fdb5101b732576f8f7540e834/propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbc3b6dfc728105b2a57c06791eb07a94229202ea75c59db644d7d496b698cac", size = 47636, upload-time = "2025-10-08T19:48:39.038Z" }, + { url = "https://files.pythonhosted.org/packages/b3/0f/317048c6d91c356c7154dca5af019e6effeb7ee15fa6a6db327cc19e12b4/propcache-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:182b51b421f0501952d938dc0b0eb45246a5b5153c50d42b495ad5fb7517c888", size = 201126, upload-time = "2025-10-08T19:48:40.774Z" }, + { url = "https://files.pythonhosted.org/packages/71/69/0b2a7a5a6ee83292b4b997dbd80549d8ce7d40b6397c1646c0d9495f5a85/propcache-0.4.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b536b39c5199b96fc6245eb5fb796c497381d3942f169e44e8e392b29c9ebcc", size = 209837, upload-time = "2025-10-08T19:48:42.167Z" }, + { url = "https://files.pythonhosted.org/packages/a5/92/c699ac495a6698df6e497fc2de27af4b6ace10d8e76528357ce153722e45/propcache-0.4.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db65d2af507bbfbdcedb254a11149f894169d90488dd3e7190f7cdcb2d6cd57a", size = 215578, upload-time = "2025-10-08T19:48:43.56Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ee/14de81c5eb02c0ee4f500b4e39c4e1bd0677c06e72379e6ab18923c773fc/propcache-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd2dbc472da1f772a4dae4fa24be938a6c544671a912e30529984dd80400cd88", size = 197187, upload-time = "2025-10-08T19:48:45.309Z" }, + { url = "https://files.pythonhosted.org/packages/1d/94/48dce9aaa6d8dd5a0859bad75158ec522546d4ac23f8e2f05fac469477dd/propcache-0.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:daede9cd44e0f8bdd9e6cc9a607fc81feb80fae7a5fc6cecaff0e0bb32e42d00", size = 193478, upload-time = "2025-10-08T19:48:47.743Z" }, + { url = "https://files.pythonhosted.org/packages/60/b5/0516b563e801e1ace212afde869a0596a0d7115eec0b12d296d75633fb29/propcache-0.4.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:71b749281b816793678ae7f3d0d84bd36e694953822eaad408d682efc5ca18e0", size = 190650, upload-time = "2025-10-08T19:48:49.373Z" }, + { url = "https://files.pythonhosted.org/packages/24/89/e0f7d4a5978cd56f8cd67735f74052f257dc471ec901694e430f0d1572fe/propcache-0.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0002004213ee1f36cfb3f9a42b5066100c44276b9b72b4e1504cddd3d692e86e", size = 200251, upload-time = "2025-10-08T19:48:51.4Z" }, + { url = "https://files.pythonhosted.org/packages/06/7d/a1fac863d473876ed4406c914f2e14aa82d2f10dd207c9e16fc383cc5a24/propcache-0.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fe49d0a85038f36ba9e3ffafa1103e61170b28e95b16622e11be0a0ea07c6781", size = 200919, upload-time = "2025-10-08T19:48:53.227Z" }, + { url = "https://files.pythonhosted.org/packages/c3/4e/f86a256ff24944cf5743e4e6c6994e3526f6acfcfb55e21694c2424f758c/propcache-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99d43339c83aaf4d32bda60928231848eee470c6bda8d02599cc4cebe872d183", size = 193211, upload-time = "2025-10-08T19:48:55.027Z" }, + { url = "https://files.pythonhosted.org/packages/6e/3f/3fbad5f4356b068f1b047d300a6ff2c66614d7030f078cd50be3fec04228/propcache-0.4.1-cp39-cp39-win32.whl", hash = "sha256:a129e76735bc792794d5177069691c3217898b9f5cee2b2661471e52ffe13f19", size = 38314, upload-time = "2025-10-08T19:48:56.792Z" }, + { url = "https://files.pythonhosted.org/packages/a4/45/d78d136c3a3d215677abb886785aae744da2c3005bcb99e58640c56529b1/propcache-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:948dab269721ae9a87fd16c514a0a2c2a1bdb23a9a61b969b0f9d9ee2968546f", size = 41912, upload-time = "2025-10-08T19:48:57.995Z" }, + { url = "https://files.pythonhosted.org/packages/fc/2a/b0632941f25139f4e58450b307242951f7c2717a5704977c6d5323a800af/propcache-0.4.1-cp39-cp39-win_arm64.whl", hash = "sha256:5fd37c406dd6dc85aa743e214cef35dc54bbdd1419baac4f6ae5e5b1a2976938", size = 38450, upload-time = "2025-10-08T19:48:59.349Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" }, +] + +[[package]] +name = "propcache" +version = "0.5.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/56/030b7b4719d53085722893e0009dffb9236aa10bca1b12121bdc5626ef16/propcache-0.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a81be28596d6559f6131ef33e10200de6e17643b3c74ce03f9eb103be6ae8b", size = 93417, upload-time = "2026-05-08T20:59:15.597Z" }, + { url = "https://files.pythonhosted.org/packages/1a/55/1140a8e067b8ec093a18a4ae7bb0045d9db65da38a08618ddc5e2f1994aa/propcache-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29cbaac5ea0212663e6845e04b5e188d5a6ae6dd919810ac835bf1d3b42c3f4c", size = 53847, upload-time = "2026-05-08T20:59:17.096Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/0e7443c90310498561addf346e7d57fe3c6ba1914e1ba938b5464c7bbfd2/propcache-0.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6bf3be92233808fcd338eba0fb4d0b59ec5772af4f4ecfcec450d1bfc0f8b5eb", size = 53512, upload-time = "2026-05-08T20:59:18.64Z" }, + { url = "https://files.pythonhosted.org/packages/b7/db/cf51a71bab2009517d1a7f0ee07657e3bd446c4d69f67e6966cf17bcf956/propcache-0.5.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f8ea531c794b9d6274acd4e8d2c2ebcac590a4361d27482edd3010b79f1325e", size = 58068, upload-time = "2026-05-08T20:59:20.683Z" }, + { url = "https://files.pythonhosted.org/packages/b7/43/39b6bdee9699fa1e1641c519feeb64a67e2a9f93bb465c70776b37a7333f/propcache-0.5.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:decfca4c79dd53ebab484b00cc4b6717d8c369f86e74aa4ca395a64ac651495e", size = 61020, upload-time = "2026-05-08T20:59:22.112Z" }, + { url = "https://files.pythonhosted.org/packages/26/0b/843726fbb0a29a8c5684fdb25971823638399f31e52e9d1f06a02dc9aa6b/propcache-0.5.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4621064bbf28fa77ff64dd5d94367c04684c67d3a5bf1dff25f0cd0d98a38f3b", size = 62732, upload-time = "2026-05-08T20:59:23.805Z" }, + { url = "https://files.pythonhosted.org/packages/39/6e/899fed76dc1942b8a64193a4f059d7f1a2c7ef65085e8a9366ed8ec0d199/propcache-0.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b96db7141a592cbc968daf1feea83a118e6ab378af4abbc72b248c895414c22d", size = 60140, upload-time = "2026-05-08T20:59:25.389Z" }, + { url = "https://files.pythonhosted.org/packages/ab/09/3da4be9b5b879219ad234aa535b3dd4a080ed1ad48d3a73ca07a9e798f22/propcache-0.5.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ca071adabaab6e9219924bbe00af821f1ee7de113a9eca1cdc292de3d120f4d", size = 60400, upload-time = "2026-05-08T20:59:27.238Z" }, + { url = "https://files.pythonhosted.org/packages/60/2f/09b72b874a9aa0044faf52a69807a6ed618e267ceaa9ec4a63195fa5b504/propcache-0.5.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e4294d04a94dcab1b3bccd8b66d962dcad411a1d19414b2a41d1445f1de32ad0", size = 58155, upload-time = "2026-05-08T20:59:28.48Z" }, + { url = "https://files.pythonhosted.org/packages/8a/37/97489848c54c95578045473954f10956d619ce6a09e7ac137b71cdcb698b/propcache-0.5.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a0e399a2eccb91ed18721f86aa85757727400b6865c89e88934781deb9c8498b", size = 57037, upload-time = "2026-05-08T20:59:30.146Z" }, + { url = "https://files.pythonhosted.org/packages/22/db/6c695285ccfc49012743ee9c98212b8c5dd0aed7b63cfd816d4a0f7a1601/propcache-0.5.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:823581fd5cb08b12a48bfa11fe962a7916766b6170c17b028fbdf762b85eb9bf", size = 61103, upload-time = "2026-05-08T20:59:31.626Z" }, + { url = "https://files.pythonhosted.org/packages/98/a9/1e500401ca593b0bdb6bf75a70bc2d723835fd53360edff6af70692c7546/propcache-0.5.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:949c91d1a990cf3b2e8188dfcfb25005e0b834a06c63fa4ef9f360878ce21ecf", size = 60394, upload-time = "2026-05-08T20:59:32.829Z" }, + { url = "https://files.pythonhosted.org/packages/1f/87/f638b6e375eae0f30a1a2325d8b34fd85fdc785bb9960cf805f3bf1ec69a/propcache-0.5.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:cc1177027eda740fdb152706bd215a3f124e3eea15afc39f2cb9fe351b50619e", size = 63084, upload-time = "2026-05-08T20:59:35.964Z" }, + { url = "https://files.pythonhosted.org/packages/f6/18/884573f5d97b6d9eba68de759a82c901b7e39d7904d30f7b8d58d42d2a12/propcache-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b05d643f944a8c3c4bd86d65ffd87bf3264b617f87791940302bc474d2ff5274", size = 60999, upload-time = "2026-05-08T20:59:38.481Z" }, + { url = "https://files.pythonhosted.org/packages/8f/1a/c3915eb059ceec9e758a56e4cfd955292bc0f201be2176a46b76d94b303a/propcache-0.5.2-cp310-cp310-win32.whl", hash = "sha256:8114f28879e0904748e831c3a7774261bd9e75f49be089f389a76f959dcd13fe", size = 39036, upload-time = "2026-05-08T20:59:40.323Z" }, + { url = "https://files.pythonhosted.org/packages/5b/02/1dfd5607501a602d19c1c449d2d193b7d1c611f9246b4059026a1189a80e/propcache-0.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:5fcb98e7598b1ee0addab320d90f65b530297a867dbfe9de52ea838077e16e3d", size = 42190, upload-time = "2026-05-08T20:59:42.232Z" }, + { url = "https://files.pythonhosted.org/packages/57/93/f71588ad08b3e6f4b555b5ef215808a3c02b042d0151ad82fa6f15be677a/propcache-0.5.2-cp310-cp310-win_arm64.whl", hash = "sha256:04dc2390d9edbbaef7461f33322555976ffddf0b650a038649d026358714e6c5", size = 38545, upload-time = "2026-05-08T20:59:44.087Z" }, + { url = "https://files.pythonhosted.org/packages/e7/f1/8a8cc1c2c7e7934ab77e0163414f736fadbc0f5e8dd9673b952355ac175b/propcache-0.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74b70780220e2dd89175ca24b81b68b67c83db499ae611e7f2313cb329801c78", size = 90744, upload-time = "2026-05-08T20:59:45.799Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f4/651b1225e976bd1a2ba5cfba0c29d096581c2636b437e3a9a7ab6276270a/propcache-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4840ab0ae0216d952f4b53dc6d0b992bfc2bedbfe360bdd9b548bc184c08959", size = 52033, upload-time = "2026-05-08T20:59:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/15/a8/8ede85d6aa1f79fc7dc2f8fd2c8d65920b8272c3892903c8a1affde48cfb/propcache-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6844ba6364fb12f403928a82cfd295ab103a2b315c77c747b2dbe4a41894ea7", size = 52754, upload-time = "2026-05-08T20:59:49.202Z" }, + { url = "https://files.pythonhosted.org/packages/7d/fe/b3551b41bbc2f5b5bb088fc6920567cd43101253e68fbaa261339eb96fe1/propcache-0.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2293949b855ce597f2826452d17c2d545fb5622379c4ea6fdf525e9b8e8a2511", size = 57573, upload-time = "2026-05-08T20:59:50.778Z" }, + { url = "https://files.pythonhosted.org/packages/83/27/ab851ebd1b7172e3e161f5f8d39e315d54a91bea246f01f4d872d3376aef/propcache-0.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0fd59b5af35f74da48d905dcbad55449ba13be91823cb05a9bd590bbf5b61660", size = 60645, upload-time = "2026-05-08T20:59:52.227Z" }, + { url = "https://files.pythonhosted.org/packages/95/7d/466b3d18022e9897cbda9c735c493c5bd747d7a4c6f5ea1480b4cec434b6/propcache-0.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29f9309a2e42b0d273be006fdb4be2d6c39a47f6f57d8fb1cf9f81481df81b66", size = 61563, upload-time = "2026-05-08T20:59:53.866Z" }, + { url = "https://files.pythonhosted.org/packages/27/1b/16ab7f2cf2041da2f60d156ba64c2484eadf9168075b4ff43c3ef60045af/propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5aaa2b923c1944ac8febd6609cb373540a5563e7cbcb0fd770f75dace2eb817b", size = 58888, upload-time = "2026-05-08T20:59:55.457Z" }, + { url = "https://files.pythonhosted.org/packages/0a/67/bb777ffd907633563bf35fd859c4ce97b0512c32f4633cf5d1eb7c33512b/propcache-0.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66ea454f095ddf5b6b14f56c064c0941c4788be11e18d2464cf643bf7203ff67", size = 59253, upload-time = "2026-05-08T20:59:57.075Z" }, + { url = "https://files.pythonhosted.org/packages/b9/42/64f8d90b73fd9cdc1499b48057ff6d9cd2a98a25734c9bb62ecf07e87061/propcache-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95f1e3f4760d404b13c9976c0229b2b49a3c8e2c62a9ce92efdd2b11ada75e3f", size = 57558, upload-time = "2026-05-08T20:59:58.602Z" }, + { url = "https://files.pythonhosted.org/packages/eb/02/dba5bc03c9041f2092ea55a449caf5dfe68352c6654511b29ba0654ddb69/propcache-0.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:85341b12b9d55bad0bded24cac341bb34289469e03a11f3f583ea1cc1db0326c", size = 55007, upload-time = "2026-05-08T20:59:59.837Z" }, + { url = "https://files.pythonhosted.org/packages/14/c0/43f649c7aa2a77a3b100d84e9dea3a483120ecb608bfe36ce49eaff517fe/propcache-0.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:26a4dca084132874e639895c3135dfad5eb20bae209f62d1aeb31b03e601c3c0", size = 60355, upload-time = "2026-05-08T21:00:01.144Z" }, + { url = "https://files.pythonhosted.org/packages/83/c0/435dafd27f1cb4a495381dae60e25883ccfe4020bb72818e8184c1678092/propcache-0.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3b199b9b2b3d6a7edf3183ba8a9a137a22b97f7df525feb5ae1eccf026d2a9c6", size = 59057, upload-time = "2026-05-08T21:00:02.401Z" }, + { url = "https://files.pythonhosted.org/packages/53/ae/6e292df9135d659944e96cb3389258e4a663e5b2b5f6c217ef0ddc8d2f73/propcache-0.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e59bc9e66329185b93dab73f210f1a37f81cb40f321501db8017c9aea15dba27", size = 61938, upload-time = "2026-05-08T21:00:03.638Z" }, + { url = "https://files.pythonhosted.org/packages/0b/42/314ebc50d8159055411fd6b0bda322ff510e4b1f7d2e4927940ad0f6af20/propcache-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:552ffadf6ad409844bc5919c42a0a83d88314cedddaea0e41e80a8b8fffe881f", size = 59731, upload-time = "2026-05-08T21:00:04.881Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9b/2da6dee38871c3c8772fabc2758325a5c9077d6d18c597737dc04dd884cd/propcache-0.5.2-cp311-cp311-win32.whl", hash = "sha256:cd416c1de191973c52ff1a12a57446bfc7642797b282d7caf2162d7d1b8aa9a0", size = 38966, upload-time = "2026-05-08T21:00:06.511Z" }, + { url = "https://files.pythonhosted.org/packages/42/4e/f17363fb58c0afe05b067361cb6d86ed2d29de6506779a27547c4d183075/propcache-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:44e488ef40dbb452700b2b1f8188934121f6648f52c295055662d2191959ff82", size = 42135, upload-time = "2026-05-08T21:00:08.088Z" }, + { url = "https://files.pythonhosted.org/packages/c6/eb/6af6685077d22e8b33358d3c548e3282706a0b3cd85044ffba4e5dd08e3b/propcache-0.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:54adaa85a22078d1e306304a40984dc5be99d599bf3dc0a24dc98f7daeab89ab", size = 38381, upload-time = "2026-05-08T21:00:09.692Z" }, + { url = "https://files.pythonhosted.org/packages/4a/cb/e27bc2b2737a0bb49962b275efa051e8f1c35a936df7d5139b6b658b7dc9/propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba", size = 95887, upload-time = "2026-05-08T21:00:11.277Z" }, + { url = "https://files.pythonhosted.org/packages/e6/13/b8ae04c59392f8d11c6cd9fb4011d1dc7c86b81225c770280300e259ffe1/propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a", size = 54654, upload-time = "2026-05-08T21:00:12.604Z" }, + { url = "https://files.pythonhosted.org/packages/2c/7d/49777a3e20b55863d4794384a38acd460c04157b0a00f8602b0d508b8431/propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf", size = 55190, upload-time = "2026-05-08T21:00:13.935Z" }, + { url = "https://files.pythonhosted.org/packages/44/c7/085d0cd63062e84044e3f05797749c3f8e3938ff3aeb0eb2f69d43fafc91/propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144", size = 59995, upload-time = "2026-05-08T21:00:15.526Z" }, + { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, + { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, + { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, + { url = "https://files.pythonhosted.org/packages/04/ac/f076982cbe2195ee9cf32de5a1e46951d9fb399fc207f390562dd0fd8fb2/propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a", size = 60029, upload-time = "2026-05-08T21:00:22.713Z" }, + { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, + { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, + { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, + { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, + { url = "https://files.pythonhosted.org/packages/cf/74/66bd798b5b3be70aa1b391f5cc9d6a0a5532d7fd3b19ec0b213e72e6ad9d/propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031", size = 39018, upload-time = "2026-05-08T21:00:31.622Z" }, + { url = "https://files.pythonhosted.org/packages/61/7c/5c0d34aa3024694d6dcb9271cdbdd08c4e47c1c0ad95ec7e7bc74cdea145/propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42", size = 42322, upload-time = "2026-05-08T21:00:32.918Z" }, + { url = "https://files.pythonhosted.org/packages/4d/91/875812f1a3feb20ceba818ef39fbe4d92f1081e04ac815c822496d0d038b/propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84", size = 38172, upload-time = "2026-05-08T21:00:35.124Z" }, + { url = "https://files.pythonhosted.org/packages/c5/09/f049e45385503fe67db75a6b6186a7b9f0c3930366dc960522c312a825b1/propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a", size = 94457, upload-time = "2026-05-08T21:00:36.355Z" }, + { url = "https://files.pythonhosted.org/packages/6b/65/83d1d05655baf63113731bd5a1008435e14f8d1e5a06cbe4ec5b23ad7a31/propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117", size = 53835, upload-time = "2026-05-08T21:00:38.072Z" }, + { url = "https://files.pythonhosted.org/packages/a9/12/a6ba6482bb5ea3260c000c9b20881c95fa11c6b30173715668259f844ed7/propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098", size = 54545, upload-time = "2026-05-08T21:00:39.319Z" }, + { url = "https://files.pythonhosted.org/packages/a9/19/7fa086f5764c59ec8a8e157cd93aa8497acc00aba9dcdec56bfffb32602d/propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4", size = 59886, upload-time = "2026-05-08T21:00:40.621Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e4/5d7663dc8235956c8f5281698a3af1d351d8820341ddd890f59d9a9127f2/propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e", size = 63261, upload-time = "2026-05-08T21:00:41.775Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/15a03adee24d6350da4292caeac44c34c033d2afe5e87eb370f38854560f/propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7", size = 64184, upload-time = "2026-05-08T21:00:43.018Z" }, + { url = "https://files.pythonhosted.org/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d", size = 61534, upload-time = "2026-05-08T21:00:44.507Z" }, + { url = "https://files.pythonhosted.org/packages/c8/22/63e8cd1bae4c2d2be6493b6b7d10566ddafad88137cfbc99964a1119853c/propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a", size = 61500, upload-time = "2026-05-08T21:00:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/60/5a/28e5d9acbac1cc9ccb67045e8c1b943aa8d79fdf39c93bd73cacd68008ea/propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2", size = 59994, upload-time = "2026-05-08T21:00:47.093Z" }, + { url = "https://files.pythonhosted.org/packages/f3/40/db650677f554a95b9c01a7c9d93d629e93a15562f5deb4573c9ee136fed2/propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa", size = 56884, upload-time = "2026-05-08T21:00:48.376Z" }, + { url = "https://files.pythonhosted.org/packages/80/45/70b39b89516ff8b96bf732fa6fded8cef20f293cb1508690101c3c07ec51/propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853", size = 63464, upload-time = "2026-05-08T21:00:49.954Z" }, + { url = "https://files.pythonhosted.org/packages/f9/e2/fa59d3a89eac5534293124af4f1d0d0ada091ce4a0ab4610ce03fd2bdd8d/propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a", size = 61588, upload-time = "2026-05-08T21:00:51.281Z" }, + { url = "https://files.pythonhosted.org/packages/0b/97/efb547a55c4bc7381cfb202d6a2239ac621045277bc1ea5dfd3a7f0516c0/propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704", size = 64667, upload-time = "2026-05-08T21:00:52.602Z" }, + { url = "https://files.pythonhosted.org/packages/92/56/f5c7d9b4b7595d5127da38974d791b2153f3d1eae6c674af3583ace92ad3/propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4", size = 62463, upload-time = "2026-05-08T21:00:54.303Z" }, + { url = "https://files.pythonhosted.org/packages/bd/3b/484a3a65fc9f9f60c41dcd17b428bace5389544e2c680994534a20755066/propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d", size = 38621, upload-time = "2026-05-08T21:00:55.808Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757", size = 41649, upload-time = "2026-05-08T21:00:57.061Z" }, + { url = "https://files.pythonhosted.org/packages/90/ec/6ce619cc32bb500a482f811f9cd509368b4e58e638d13f2c68f370d6b475/propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f", size = 37636, upload-time = "2026-05-08T21:00:58.646Z" }, + { url = "https://files.pythonhosted.org/packages/1b/82/c1d268bbbf2ef981c5bf0fbbe746db617c66e3bcefe431a1aa8943fbe23a/propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d", size = 98872, upload-time = "2026-05-08T21:00:59.889Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d4/52c871e73e864e6b34c0e2d58ac1ec5ccd149497ddc7ad2137ae98323a35/propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa", size = 56257, upload-time = "2026-05-08T21:01:01.195Z" }, + { url = "https://files.pythonhosted.org/packages/67/f0/9b90ca2a210b3d09bcfcd96ecd0f55545c091535abce2a45de2775cfd357/propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94", size = 56696, upload-time = "2026-05-08T21:01:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0e/6e9d4ba07c8e56e21ddec1e75f12148142b21ca83a51871babce095334f4/propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164", size = 62378, upload-time = "2026-05-08T21:01:04.475Z" }, + { url = "https://files.pythonhosted.org/packages/65/19/c10badaa463dde8a27ce884f8ee2ec37e6035b7c9f5ff0c8f74f06f08dac/propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f", size = 65283, upload-time = "2026-05-08T21:01:05.959Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b6/93bea99ca80e19cef6512a8580e5b7857bbe09422d9daa7fd4ef5723306c/propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c", size = 66616, upload-time = "2026-05-08T21:01:07.228Z" }, + { url = "https://files.pythonhosted.org/packages/83/e4/5c7462e50625f051f37fb38b8224f7639f667184bbd34424ec83819bb1b7/propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc", size = 63773, upload-time = "2026-05-08T21:01:08.514Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b6/99238894047b13c823be25027e736626cd414a52a5e30d2c3347c2733529/propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f", size = 63664, upload-time = "2026-05-08T21:01:09.874Z" }, + { url = "https://files.pythonhosted.org/packages/85/1e/a3a1a63116a2b8edb415a8bb9a6f0c34bd03830b1e18e8ce2904e1dc1cf4/propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb", size = 62643, upload-time = "2026-05-08T21:01:11.132Z" }, + { url = "https://files.pythonhosted.org/packages/e4/03/893cf147de2fc6543c5eaa07ad833170e7e2a2385725bbebe8c0503723bb/propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751", size = 59595, upload-time = "2026-05-08T21:01:12.387Z" }, + { url = "https://files.pythonhosted.org/packages/86/3b/04c1a2e12c57766568ba75ba72b3bf2042818d4c1425fab6fc07155c7cff/propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836", size = 65711, upload-time = "2026-05-08T21:01:13.676Z" }, + { url = "https://files.pythonhosted.org/packages/1c/34/80f8d0099f8d6bacc4de1624c85672681c8cd1149ca2da0e38fd120b817f/propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f", size = 64247, upload-time = "2026-05-08T21:01:14.936Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1a/8b08f3a5f1037e9e370c55883ceeeee0f6dd0416fb2d2d67b8bfc91f2a79/propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55", size = 67102, upload-time = "2026-05-08T21:01:16.281Z" }, + { url = "https://files.pythonhosted.org/packages/34/68/8bdb7bb7756d76e005490649d10e4a8369e610c74d619f71e1aedf889e9c/propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568", size = 64964, upload-time = "2026-05-08T21:01:17.57Z" }, + { url = "https://files.pythonhosted.org/packages/0a/aa/50fb0b5d3968b61a510926ff8b8465f1d6e976b3ab74496d7a4b9fc42515/propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191", size = 42546, upload-time = "2026-05-08T21:01:18.946Z" }, + { url = "https://files.pythonhosted.org/packages/ae/4c/0ddbae64321bd4a95bcbfc19307238016b5b1fee645c84626c8d539e5b74/propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7", size = 46330, upload-time = "2026-05-08T21:01:20.162Z" }, + { url = "https://files.pythonhosted.org/packages/00/d9/9cddc8efb78d8af264c5ec9f6d10b62f57c515feda8d321595f56010fb23/propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96", size = 40521, upload-time = "2026-05-08T21:01:21.399Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ea/23ee535d90ce8bcc465a3028eb3cc0ce3bd1005f4bb27710b30587de798d/propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999", size = 94662, upload-time = "2026-05-08T21:01:22.683Z" }, + { url = "https://files.pythonhosted.org/packages/b5/06/c5a52f419b5d8972f8d46a7577476090d8e3263ff589ce40b5ca4968d5be/propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e", size = 53928, upload-time = "2026-05-08T21:01:23.986Z" }, + { url = "https://files.pythonhosted.org/packages/63/b1/4260d67d6bd85e58a66b72d54ce15d5de789b6f3870cc6bedf8ff9667401/propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539", size = 54650, upload-time = "2026-05-08T21:01:25.305Z" }, + { url = "https://files.pythonhosted.org/packages/70/06/2f46c318e3307cd7a6a7481def374ce838c0fe20084b39dd54b0879d0e99/propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e", size = 59912, upload-time = "2026-05-08T21:01:26.545Z" }, + { url = "https://files.pythonhosted.org/packages/4c/29/fe1aebec2ce57ab985a9c382bded1124431f85078113aa222c5d278430d4/propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979", size = 63300, upload-time = "2026-05-08T21:01:27.937Z" }, + { url = "https://files.pythonhosted.org/packages/b4/18/2334b26768b6c82be8c69e83671b767d5ef426aa09b0cba6c2ea47816774/propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80", size = 64208, upload-time = "2026-05-08T21:01:29.484Z" }, + { url = "https://files.pythonhosted.org/packages/2b/76/7f1bfd6afff4c5e38e36a3c6d68eb5f4b7311ea80baf693db78d95b603c4/propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825", size = 61633, upload-time = "2026-05-08T21:01:31.068Z" }, + { url = "https://files.pythonhosted.org/packages/c4/46/b3ff8aba2b4953a3e50de2cf72f1b5748b8eca93b15f3dc2c84339084c09/propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39", size = 61724, upload-time = "2026-05-08T21:01:32.374Z" }, + { url = "https://files.pythonhosted.org/packages/c5/01/814cfcafbcff954f94c01cf30e097ddc88a076b5440fbcf4570753437d40/propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4", size = 60069, upload-time = "2026-05-08T21:01:33.67Z" }, + { url = "https://files.pythonhosted.org/packages/da/68/5c6f7622d510cc666a300687e06fd060c1a43361c0c9b20d284f06d8096a/propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5", size = 57099, upload-time = "2026-05-08T21:01:34.915Z" }, + { url = "https://files.pythonhosted.org/packages/55/27/9cb0b4c679124085327957d42521c99dba04c88c90c3e55a6f0b633ebccc/propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702", size = 63391, upload-time = "2026-05-08T21:01:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/f0/9d/7258aaa5bdf60fc6f27591eef6fe52768cb0beda7140be477c8b12c9794a/propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3", size = 61626, upload-time = "2026-05-08T21:01:37.545Z" }, + { url = "https://files.pythonhosted.org/packages/8e/0d/41c602003e8a9b16fe1e7eadf62c7bfba9d5474370b24200bf48b315f45f/propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5", size = 64781, upload-time = "2026-05-08T21:01:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f3/38e66b1856e9bd079deea015bc4a55f7767c0e4db2f7dcf69e7e680ba4ce/propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4", size = 62570, upload-time = "2026-05-08T21:01:40.415Z" }, + { url = "https://files.pythonhosted.org/packages/95/ca/bbfe9b910ce57dde8bb4876b4520fc02a4e89497c10de26be936758a3aaa/propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0", size = 39436, upload-time = "2026-05-08T21:01:41.654Z" }, + { url = "https://files.pythonhosted.org/packages/61/d2/45c9defbaa1ea297035d9d4cce9e8f80daafbf19319c6007f157c6256ea9/propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c", size = 42373, upload-time = "2026-05-08T21:01:43.041Z" }, + { url = "https://files.pythonhosted.org/packages/44/68/9ea5103f41d5217d7d6ec24db90018e23aebec070c3f9a6e54d12b841fd8/propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0", size = 38554, upload-time = "2026-05-08T21:01:44.336Z" }, + { url = "https://files.pythonhosted.org/packages/8a/81/fadf555f42d3b762eea8a53950b0489fdc0aa9da5f8ed9e10ce0a4e01b48/propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb", size = 99395, upload-time = "2026-05-08T21:01:45.883Z" }, + { url = "https://files.pythonhosted.org/packages/f5/c9/c61e134a686949cf7971af3a390148b1156f7be81c73bc0cd12c873e2d48/propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078", size = 56653, upload-time = "2026-05-08T21:01:47.307Z" }, + { url = "https://files.pythonhosted.org/packages/cb/73/daf935ea7048ddd7ec8eec5345b4a40b619d2d178b3c0a0900796bc3c794/propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa", size = 56914, upload-time = "2026-05-08T21:01:48.573Z" }, + { url = "https://files.pythonhosted.org/packages/79/9f/aba959b435ea18617edd7cf0a7ad0b9c574b8fc7e3d2cd55fb59cb255d33/propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917", size = 62567, upload-time = "2026-05-08T21:01:49.903Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a1/859942de9a791ff42f6141736f5b37749b8f53e65edfa49638c67dd67e6a/propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe", size = 65542, upload-time = "2026-05-08T21:01:51.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/61/315bc0fd6c0fc7f80a528b8afd209e5fc4a875ea79571b91b8f50f442907/propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03", size = 66845, upload-time = "2026-05-08T21:01:52.539Z" }, + { url = "https://files.pythonhosted.org/packages/47/f7/9f8122e3132e8e354ac41975ef8f1099be7d5a16bc7ae562734e993665c0/propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335", size = 63985, upload-time = "2026-05-08T21:01:53.847Z" }, + { url = "https://files.pythonhosted.org/packages/c8/54/c317819ec157cbf6f35df9df9657a6f82daf34d5faf15948b2f639c2192e/propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285", size = 63999, upload-time = "2026-05-08T21:01:55.179Z" }, + { url = "https://files.pythonhosted.org/packages/5a/56/387e3f7dfce0a9233df41fb888aa1c30222cb4bbbf09537c02dd9bd85fe2/propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837", size = 62779, upload-time = "2026-05-08T21:01:57.489Z" }, + { url = "https://files.pythonhosted.org/packages/a1/9c/596784cb5824ed61ee960d3f8655a3f0993e107c6e98ab6c818b7fb92ccb/propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8", size = 59796, upload-time = "2026-05-08T21:01:58.736Z" }, + { url = "https://files.pythonhosted.org/packages/c2/3d/1a6cfa1726a48542c1e8784a0761421476a5b68e09b7f36bf95eb954aaba/propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366", size = 66023, upload-time = "2026-05-08T21:02:00.228Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0e/05fd6990369477076e4e280bcb970de760fddf0161a46e988bc95f7940ec/propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56", size = 64448, upload-time = "2026-05-08T21:02:01.888Z" }, + { url = "https://files.pythonhosted.org/packages/cd/86/5f8da315a4309c62c10c0b2516b17492d5d3bbe1bb862b96604db67e2a37/propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d", size = 67329, upload-time = "2026-05-08T21:02:03.484Z" }, + { url = "https://files.pythonhosted.org/packages/da/d3/3368efe79ab21f0cdf86ef49895811c9cc933131d4cde1f28a624e22e712/propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2", size = 65172, upload-time = "2026-05-08T21:02:04.745Z" }, + { url = "https://files.pythonhosted.org/packages/d5/07/127e8b0bacfb325396196f9d976a22453049b89b9b2b08477cc3145faa44/propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821", size = 43813, upload-time = "2026-05-08T21:02:06.025Z" }, + { url = "https://files.pythonhosted.org/packages/88/fb/46dad6c0ae49ed230ab1b16c890c2b6314e2403e6c412976f4a72d64a527/propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370", size = 47764, upload-time = "2026-05-08T21:02:07.353Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c4/a47d0a63aa309d10d59ede6e9d4cff03a344a79d1f0f4cd0cd74997b53e0/propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6", size = 41140, upload-time = "2026-05-08T21:02:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, +] + +[[package]] +name = "protobuf" +version = "6.33.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz", hash = "sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135", size = 444531, upload-time = "2026-03-18T19:05:00.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/9f/2f509339e89cfa6f6a4c4ff50438db9ca488dec341f7e454adad60150b00/protobuf-6.33.6-cp310-abi3-win32.whl", hash = "sha256:7d29d9b65f8afef196f8334e80d6bc1d5d4adedb449971fefd3723824e6e77d3", size = 425739, upload-time = "2026-03-18T19:04:48.373Z" }, + { url = "https://files.pythonhosted.org/packages/76/5d/683efcd4798e0030c1bab27374fd13a89f7c2515fb1f3123efdfaa5eab57/protobuf-6.33.6-cp310-abi3-win_amd64.whl", hash = "sha256:0cd27b587afca21b7cfa59a74dcbd48a50f0a6400cfb59391340ad729d91d326", size = 437089, upload-time = "2026-03-18T19:04:50.381Z" }, + { url = "https://files.pythonhosted.org/packages/5c/01/a3c3ed5cd186f39e7880f8303cc51385a198a81469d53d0fdecf1f64d929/protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9720e6961b251bde64edfdab7d500725a2af5280f3f4c87e57c0208376aa8c3a", size = 427737, upload-time = "2026-03-18T19:04:51.866Z" }, + { url = "https://files.pythonhosted.org/packages/ee/90/b3c01fdec7d2f627b3a6884243ba328c1217ed2d978def5c12dc50d328a3/protobuf-6.33.6-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2", size = 324610, upload-time = "2026-03-18T19:04:53.096Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3", size = 339381, upload-time = "2026-03-18T19:04:54.616Z" }, + { url = "https://files.pythonhosted.org/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593", size = 323436, upload-time = "2026-03-18T19:04:55.768Z" }, + { url = "https://files.pythonhosted.org/packages/0c/bd/88a687e9147329fc7e6c26a058fc52214c47190688a496bb283000a4d2a3/protobuf-6.33.6-cp39-cp39-win32.whl", hash = "sha256:bd56799fb262994b2c2faa1799693c95cc2e22c62f56fb43af311cae45d26f0e", size = 425861, upload-time = "2026-03-18T19:04:57.064Z" }, + { url = "https://files.pythonhosted.org/packages/84/d6/fab384eea064bfc3b273183e4e09bb3a3cf4ec83876b3828c09fcacbb651/protobuf-6.33.6-cp39-cp39-win_amd64.whl", hash = "sha256:f443a394af5ed23672bc6c486be138628fbe5c651ccbc536873d7da23d1868cf", size = 437109, upload-time = "2026-03-18T19:04:58.713Z" }, + { url = "https://files.pythonhosted.org/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl", hash = "sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901", size = 170656, upload-time = "2026-03-18T19:04:59.826Z" }, +] + +[[package]] +name = "protobuf" +version = "7.34.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/6b/6b/a0e95cad1ad7cc3f2c6821fcab91671bd5b78bd42afb357bb4765f29bc41/protobuf-7.34.1.tar.gz", hash = "sha256:9ce42245e704cc5027be797c1db1eb93184d44d1cdd71811fb2d9b25ad541280", size = 454708, upload-time = "2026-03-20T17:34:47.036Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/11/3325d41e6ee15bf1125654301211247b042563bcc898784351252549a8ad/protobuf-7.34.1-cp310-abi3-macosx_10_9_universal2.whl", hash = "sha256:d8b2cc79c4d8f62b293ad9b11ec3aebce9af481fa73e64556969f7345ebf9fc7", size = 429247, upload-time = "2026-03-20T17:34:37.024Z" }, + { url = "https://files.pythonhosted.org/packages/eb/9d/aa69df2724ff63efa6f72307b483ce0827f4347cc6d6df24b59e26659fef/protobuf-7.34.1-cp310-abi3-manylinux2014_aarch64.whl", hash = "sha256:5185e0e948d07abe94bb76ec9b8416b604cfe5da6f871d67aad30cbf24c3110b", size = 325753, upload-time = "2026-03-20T17:34:38.751Z" }, + { url = "https://files.pythonhosted.org/packages/92/e8/d174c91fd48e50101943f042b09af9029064810b734e4160bbe282fa1caa/protobuf-7.34.1-cp310-abi3-manylinux2014_s390x.whl", hash = "sha256:403b093a6e28a960372b44e5eb081775c9b056e816a8029c61231743d63f881a", size = 340198, upload-time = "2026-03-20T17:34:39.871Z" }, + { url = "https://files.pythonhosted.org/packages/53/1b/3b431694a4dc6d37b9f653f0c64b0a0d9ec074ee810710c0c3da21d67ba7/protobuf-7.34.1-cp310-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ff40ce8cd688f7265326b38d5a1bed9bfdf5e6723d49961432f83e21d5713e4", size = 324267, upload-time = "2026-03-20T17:34:41.1Z" }, + { url = "https://files.pythonhosted.org/packages/85/29/64de04a0ac142fb685fd09999bc3d337943fb386f3a0ec57f92fd8203f97/protobuf-7.34.1-cp310-abi3-win32.whl", hash = "sha256:34b84ce27680df7cca9f231043ada0daa55d0c44a2ddfaa58ec1d0d89d8bf60a", size = 426628, upload-time = "2026-03-20T17:34:42.536Z" }, + { url = "https://files.pythonhosted.org/packages/4d/87/cb5e585192a22b8bd457df5a2c16a75ea0db9674c3a0a39fc9347d84e075/protobuf-7.34.1-cp310-abi3-win_amd64.whl", hash = "sha256:e97b55646e6ce5cbb0954a8c28cd39a5869b59090dfaa7df4598a7fba869468c", size = 437901, upload-time = "2026-03-20T17:34:44.112Z" }, + { url = "https://files.pythonhosted.org/packages/88/95/608f665226bca68b736b79e457fded9a2a38c4f4379a4a7614303d9db3bc/protobuf-7.34.1-py3-none-any.whl", hash = "sha256:bb3812cd53aefea2b028ef42bd780f5b96407247f20c6ef7c679807e9d188f11", size = 170715, upload-time = "2026-03-20T17:34:45.384Z" }, +] + +[[package]] +name = "pyjwt" +version = "2.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz", hash = "sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b", size = 102564, upload-time = "2026-03-13T19:27:37.25Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/7a/8dd906bd22e79e47397a61742927f6747fe93242ef86645ee9092e610244/pyjwt-2.12.1-py3-none-any.whl", hash = "sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c", size = 29726, upload-time = "2026-03-13T19:27:35.677Z" }, +] + +[[package]] +name = "types-protobuf" +version = "6.32.1.20251210" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/c2/59/c743a842911887cd96d56aa8936522b0cd5f7a7f228c96e81b59fced45be/types_protobuf-6.32.1.20251210.tar.gz", hash = "sha256:c698bb3f020274b1a2798ae09dc773728ce3f75209a35187bd11916ebfde6763", size = 63900, upload-time = "2025-12-10T03:14:25.451Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/43/58e75bac4219cbafee83179505ff44cae3153ec279be0e30583a73b8f108/types_protobuf-6.32.1.20251210-py3-none-any.whl", hash = "sha256:2641f78f3696822a048cfb8d0ff42ccd85c25f12f871fbebe86da63793692140", size = 77921, upload-time = "2025-12-10T03:14:24.477Z" }, +] + +[[package]] +name = "types-protobuf" +version = "7.34.1.20260508" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/05/1b/4ae76c732caa3ff5786ac9039d592d526ff2db898da93176c40b63e0b110/types_protobuf-7.34.1.20260508.tar.gz", hash = "sha256:1c93e8c294281b76a5255fc21c747db0004694463ac6ea9866ee06da969fa555", size = 68871, upload-time = "2026-05-08T04:46:17.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/61/c94036a4690e18059e55451ba5ce6294ea790651a0f5a429ad961e6b9675/types_protobuf-7.34.1.20260508-py3-none-any.whl", hash = "sha256:a5d647381f8651bd505304ed1148b8a7b342781796e0f80e0284c774c2262a09", size = 85984, upload-time = "2026-05-08T04:46:16.422Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "yarl" +version = "1.22.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "idna", marker = "python_full_version < '3.10'" }, + { name = "multidict", marker = "python_full_version < '3.10'" }, + { name = "propcache", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/43/a2204825342f37c337f5edb6637040fa14e365b2fcc2346960201d457579/yarl-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e", size = 140517, upload-time = "2025-10-06T14:08:42.494Z" }, + { url = "https://files.pythonhosted.org/packages/44/6f/674f3e6f02266428c56f704cd2501c22f78e8b2eeb23f153117cc86fb28a/yarl-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f", size = 93495, upload-time = "2025-10-06T14:08:46.2Z" }, + { url = "https://files.pythonhosted.org/packages/b8/12/5b274d8a0f30c07b91b2f02cba69152600b47830fcfb465c108880fcee9c/yarl-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf", size = 94400, upload-time = "2025-10-06T14:08:47.855Z" }, + { url = "https://files.pythonhosted.org/packages/e2/7f/df1b6949b1fa1aa9ff6de6e2631876ad4b73c4437822026e85d8acb56bb1/yarl-1.22.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a", size = 347545, upload-time = "2025-10-06T14:08:49.683Z" }, + { url = "https://files.pythonhosted.org/packages/84/09/f92ed93bd6cd77872ab6c3462df45ca45cd058d8f1d0c9b4f54c1704429f/yarl-1.22.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c", size = 319598, upload-time = "2025-10-06T14:08:51.215Z" }, + { url = "https://files.pythonhosted.org/packages/c3/97/ac3f3feae7d522cf7ccec3d340bb0b2b61c56cb9767923df62a135092c6b/yarl-1.22.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147", size = 363893, upload-time = "2025-10-06T14:08:53.144Z" }, + { url = "https://files.pythonhosted.org/packages/06/49/f3219097403b9c84a4d079b1d7bda62dd9b86d0d6e4428c02d46ab2c77fc/yarl-1.22.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb", size = 371240, upload-time = "2025-10-06T14:08:55.036Z" }, + { url = "https://files.pythonhosted.org/packages/35/9f/06b765d45c0e44e8ecf0fe15c9eacbbde342bb5b7561c46944f107bfb6c3/yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6", size = 346965, upload-time = "2025-10-06T14:08:56.722Z" }, + { url = "https://files.pythonhosted.org/packages/c5/69/599e7cea8d0fcb1694323b0db0dda317fa3162f7b90166faddecf532166f/yarl-1.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0", size = 342026, upload-time = "2025-10-06T14:08:58.563Z" }, + { url = "https://files.pythonhosted.org/packages/95/6f/9dfd12c8bc90fea9eab39832ee32ea48f8e53d1256252a77b710c065c89f/yarl-1.22.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda", size = 335637, upload-time = "2025-10-06T14:09:00.506Z" }, + { url = "https://files.pythonhosted.org/packages/57/2e/34c5b4eb9b07e16e873db5b182c71e5f06f9b5af388cdaa97736d79dd9a6/yarl-1.22.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc", size = 359082, upload-time = "2025-10-06T14:09:01.936Z" }, + { url = "https://files.pythonhosted.org/packages/31/71/fa7e10fb772d273aa1f096ecb8ab8594117822f683bab7d2c5a89914c92a/yarl-1.22.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737", size = 357811, upload-time = "2025-10-06T14:09:03.445Z" }, + { url = "https://files.pythonhosted.org/packages/26/da/11374c04e8e1184a6a03cf9c8f5688d3e5cec83ed6f31ad3481b3207f709/yarl-1.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467", size = 351223, upload-time = "2025-10-06T14:09:05.401Z" }, + { url = "https://files.pythonhosted.org/packages/82/8f/e2d01f161b0c034a30410e375e191a5d27608c1f8693bab1a08b089ca096/yarl-1.22.0-cp310-cp310-win32.whl", hash = "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea", size = 82118, upload-time = "2025-10-06T14:09:11.148Z" }, + { url = "https://files.pythonhosted.org/packages/62/46/94c76196642dbeae634c7a61ba3da88cd77bed875bf6e4a8bed037505aa6/yarl-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca", size = 86852, upload-time = "2025-10-06T14:09:12.958Z" }, + { url = "https://files.pythonhosted.org/packages/af/af/7df4f179d3b1a6dcb9a4bd2ffbc67642746fcafdb62580e66876ce83fff4/yarl-1.22.0-cp310-cp310-win_arm64.whl", hash = "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b", size = 82012, upload-time = "2025-10-06T14:09:14.664Z" }, + { url = "https://files.pythonhosted.org/packages/4d/27/5ab13fc84c76a0250afd3d26d5936349a35be56ce5785447d6c423b26d92/yarl-1.22.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511", size = 141607, upload-time = "2025-10-06T14:09:16.298Z" }, + { url = "https://files.pythonhosted.org/packages/6a/a1/d065d51d02dc02ce81501d476b9ed2229d9a990818332242a882d5d60340/yarl-1.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6", size = 94027, upload-time = "2025-10-06T14:09:17.786Z" }, + { url = "https://files.pythonhosted.org/packages/c1/da/8da9f6a53f67b5106ffe902c6fa0164e10398d4e150d85838b82f424072a/yarl-1.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028", size = 94963, upload-time = "2025-10-06T14:09:19.662Z" }, + { url = "https://files.pythonhosted.org/packages/68/fe/2c1f674960c376e29cb0bec1249b117d11738db92a6ccc4a530b972648db/yarl-1.22.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d", size = 368406, upload-time = "2025-10-06T14:09:21.402Z" }, + { url = "https://files.pythonhosted.org/packages/95/26/812a540e1c3c6418fec60e9bbd38e871eaba9545e94fa5eff8f4a8e28e1e/yarl-1.22.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503", size = 336581, upload-time = "2025-10-06T14:09:22.98Z" }, + { url = "https://files.pythonhosted.org/packages/0b/f5/5777b19e26fdf98563985e481f8be3d8a39f8734147a6ebf459d0dab5a6b/yarl-1.22.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65", size = 388924, upload-time = "2025-10-06T14:09:24.655Z" }, + { url = "https://files.pythonhosted.org/packages/86/08/24bd2477bd59c0bbd994fe1d93b126e0472e4e3df5a96a277b0a55309e89/yarl-1.22.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e", size = 392890, upload-time = "2025-10-06T14:09:26.617Z" }, + { url = "https://files.pythonhosted.org/packages/46/00/71b90ed48e895667ecfb1eaab27c1523ee2fa217433ed77a73b13205ca4b/yarl-1.22.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d", size = 365819, upload-time = "2025-10-06T14:09:28.544Z" }, + { url = "https://files.pythonhosted.org/packages/30/2d/f715501cae832651d3282387c6a9236cd26bd00d0ff1e404b3dc52447884/yarl-1.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7", size = 363601, upload-time = "2025-10-06T14:09:30.568Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f9/a678c992d78e394e7126ee0b0e4e71bd2775e4334d00a9278c06a6cce96a/yarl-1.22.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967", size = 358072, upload-time = "2025-10-06T14:09:32.528Z" }, + { url = "https://files.pythonhosted.org/packages/2c/d1/b49454411a60edb6fefdcad4f8e6dbba7d8019e3a508a1c5836cba6d0781/yarl-1.22.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed", size = 385311, upload-time = "2025-10-06T14:09:34.634Z" }, + { url = "https://files.pythonhosted.org/packages/87/e5/40d7a94debb8448c7771a916d1861d6609dddf7958dc381117e7ba36d9e8/yarl-1.22.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6", size = 381094, upload-time = "2025-10-06T14:09:36.268Z" }, + { url = "https://files.pythonhosted.org/packages/35/d8/611cc282502381ad855448643e1ad0538957fc82ae83dfe7762c14069e14/yarl-1.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e", size = 370944, upload-time = "2025-10-06T14:09:37.872Z" }, + { url = "https://files.pythonhosted.org/packages/2d/df/fadd00fb1c90e1a5a8bd731fa3d3de2e165e5a3666a095b04e31b04d9cb6/yarl-1.22.0-cp311-cp311-win32.whl", hash = "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca", size = 81804, upload-time = "2025-10-06T14:09:39.359Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f7/149bb6f45f267cb5c074ac40c01c6b3ea6d8a620d34b337f6321928a1b4d/yarl-1.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b", size = 86858, upload-time = "2025-10-06T14:09:41.068Z" }, + { url = "https://files.pythonhosted.org/packages/2b/13/88b78b93ad3f2f0b78e13bfaaa24d11cbc746e93fe76d8c06bf139615646/yarl-1.22.0-cp311-cp311-win_arm64.whl", hash = "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376", size = 81637, upload-time = "2025-10-06T14:09:42.712Z" }, + { url = "https://files.pythonhosted.org/packages/75/ff/46736024fee3429b80a165a732e38e5d5a238721e634ab41b040d49f8738/yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", size = 142000, upload-time = "2025-10-06T14:09:44.631Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9a/b312ed670df903145598914770eb12de1bac44599549b3360acc96878df8/yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", size = 94338, upload-time = "2025-10-06T14:09:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f5/0601483296f09c3c65e303d60c070a5c19fcdbc72daa061e96170785bc7d/yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", size = 94909, upload-time = "2025-10-06T14:09:48.648Z" }, + { url = "https://files.pythonhosted.org/packages/60/41/9a1fe0b73dbcefce72e46cf149b0e0a67612d60bfc90fb59c2b2efdfbd86/yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", size = 372940, upload-time = "2025-10-06T14:09:50.089Z" }, + { url = "https://files.pythonhosted.org/packages/17/7a/795cb6dfee561961c30b800f0ed616b923a2ec6258b5def2a00bf8231334/yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", size = 345825, upload-time = "2025-10-06T14:09:52.142Z" }, + { url = "https://files.pythonhosted.org/packages/d7/93/a58f4d596d2be2ae7bab1a5846c4d270b894958845753b2c606d666744d3/yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", size = 386705, upload-time = "2025-10-06T14:09:54.128Z" }, + { url = "https://files.pythonhosted.org/packages/61/92/682279d0e099d0e14d7fd2e176bd04f48de1484f56546a3e1313cd6c8e7c/yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", size = 396518, upload-time = "2025-10-06T14:09:55.762Z" }, + { url = "https://files.pythonhosted.org/packages/db/0f/0d52c98b8a885aeda831224b78f3be7ec2e1aa4a62091f9f9188c3c65b56/yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", size = 377267, upload-time = "2025-10-06T14:09:57.958Z" }, + { url = "https://files.pythonhosted.org/packages/22/42/d2685e35908cbeaa6532c1fc73e89e7f2efb5d8a7df3959ea8e37177c5a3/yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", size = 365797, upload-time = "2025-10-06T14:09:59.527Z" }, + { url = "https://files.pythonhosted.org/packages/a2/83/cf8c7bcc6355631762f7d8bdab920ad09b82efa6b722999dfb05afa6cfac/yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", size = 365535, upload-time = "2025-10-06T14:10:01.139Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/5302ff9b28f0c59cac913b91fe3f16c59a033887e57ce9ca5d41a3a94737/yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", size = 382324, upload-time = "2025-10-06T14:10:02.756Z" }, + { url = "https://files.pythonhosted.org/packages/bf/cd/4617eb60f032f19ae3a688dc990d8f0d89ee0ea378b61cac81ede3e52fae/yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", size = 383803, upload-time = "2025-10-06T14:10:04.552Z" }, + { url = "https://files.pythonhosted.org/packages/59/65/afc6e62bb506a319ea67b694551dab4a7e6fb7bf604e9bd9f3e11d575fec/yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", size = 374220, upload-time = "2025-10-06T14:10:06.489Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3d/68bf18d50dc674b942daec86a9ba922d3113d8399b0e52b9897530442da2/yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", size = 81589, upload-time = "2025-10-06T14:10:09.254Z" }, + { url = "https://files.pythonhosted.org/packages/c8/9a/6ad1a9b37c2f72874f93e691b2e7ecb6137fb2b899983125db4204e47575/yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", size = 87213, upload-time = "2025-10-06T14:10:11.369Z" }, + { url = "https://files.pythonhosted.org/packages/44/c5/c21b562d1680a77634d748e30c653c3ca918beb35555cff24986fff54598/yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", size = 81330, upload-time = "2025-10-06T14:10:13.112Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", size = 139980, upload-time = "2025-10-06T14:10:14.601Z" }, + { url = "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", size = 93424, upload-time = "2025-10-06T14:10:16.115Z" }, + { url = "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", size = 93821, upload-time = "2025-10-06T14:10:17.993Z" }, + { url = "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", size = 373243, upload-time = "2025-10-06T14:10:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", size = 342361, upload-time = "2025-10-06T14:10:21.124Z" }, + { url = "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", size = 387036, upload-time = "2025-10-06T14:10:22.902Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", size = 397671, upload-time = "2025-10-06T14:10:24.523Z" }, + { url = "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", size = 377059, upload-time = "2025-10-06T14:10:26.406Z" }, + { url = "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", size = 365356, upload-time = "2025-10-06T14:10:28.461Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", size = 361331, upload-time = "2025-10-06T14:10:30.541Z" }, + { url = "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", size = 382590, upload-time = "2025-10-06T14:10:33.352Z" }, + { url = "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", size = 385316, upload-time = "2025-10-06T14:10:35.034Z" }, + { url = "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", size = 374431, upload-time = "2025-10-06T14:10:37.76Z" }, + { url = "https://files.pythonhosted.org/packages/bb/49/03da1580665baa8bef5e8ed34c6df2c2aca0a2f28bf397ed238cc1bbc6f2/yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", size = 81555, upload-time = "2025-10-06T14:10:39.649Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ee/450914ae11b419eadd067c6183ae08381cfdfcb9798b90b2b713bbebddda/yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", size = 86965, upload-time = "2025-10-06T14:10:41.313Z" }, + { url = "https://files.pythonhosted.org/packages/98/4d/264a01eae03b6cf629ad69bae94e3b0e5344741e929073678e84bf7a3e3b/yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", size = 81205, upload-time = "2025-10-06T14:10:43.167Z" }, + { url = "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", size = 146209, upload-time = "2025-10-06T14:10:44.643Z" }, + { url = "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", size = 95966, upload-time = "2025-10-06T14:10:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", size = 97312, upload-time = "2025-10-06T14:10:48.007Z" }, + { url = "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", size = 361967, upload-time = "2025-10-06T14:10:49.997Z" }, + { url = "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", size = 323949, upload-time = "2025-10-06T14:10:52.004Z" }, + { url = "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", size = 361818, upload-time = "2025-10-06T14:10:54.078Z" }, + { url = "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", size = 372626, upload-time = "2025-10-06T14:10:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", size = 341129, upload-time = "2025-10-06T14:10:57.985Z" }, + { url = "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", size = 346776, upload-time = "2025-10-06T14:10:59.633Z" }, + { url = "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", size = 334879, upload-time = "2025-10-06T14:11:01.454Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", size = 350996, upload-time = "2025-10-06T14:11:03.452Z" }, + { url = "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", size = 356047, upload-time = "2025-10-06T14:11:05.115Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", size = 342947, upload-time = "2025-10-06T14:11:08.137Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943, upload-time = "2025-10-06T14:11:10.284Z" }, + { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715, upload-time = "2025-10-06T14:11:11.739Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857, upload-time = "2025-10-06T14:11:13.586Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", size = 140520, upload-time = "2025-10-06T14:11:15.465Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", size = 93504, upload-time = "2025-10-06T14:11:17.106Z" }, + { url = "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", size = 94282, upload-time = "2025-10-06T14:11:19.064Z" }, + { url = "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", size = 372080, upload-time = "2025-10-06T14:11:20.996Z" }, + { url = "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", size = 338696, upload-time = "2025-10-06T14:11:22.847Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", size = 387121, upload-time = "2025-10-06T14:11:24.889Z" }, + { url = "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", size = 394080, upload-time = "2025-10-06T14:11:27.307Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", size = 372661, upload-time = "2025-10-06T14:11:29.387Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", size = 364645, upload-time = "2025-10-06T14:11:31.423Z" }, + { url = "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", size = 355361, upload-time = "2025-10-06T14:11:33.055Z" }, + { url = "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", size = 381451, upload-time = "2025-10-06T14:11:35.136Z" }, + { url = "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", size = 383814, upload-time = "2025-10-06T14:11:37.094Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", size = 370799, upload-time = "2025-10-06T14:11:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/50/3c/af9dba3b8b5eeb302f36f16f92791f3ea62e3f47763406abf6d5a4a3333b/yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", size = 82990, upload-time = "2025-10-06T14:11:40.624Z" }, + { url = "https://files.pythonhosted.org/packages/ac/30/ac3a0c5bdc1d6efd1b41fa24d4897a4329b3b1e98de9449679dd327af4f0/yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", size = 88292, upload-time = "2025-10-06T14:11:42.578Z" }, + { url = "https://files.pythonhosted.org/packages/df/0a/227ab4ff5b998a1b7410abc7b46c9b7a26b0ca9e86c34ba4b8d8bc7c63d5/yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", size = 82888, upload-time = "2025-10-06T14:11:44.863Z" }, + { url = "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", size = 146223, upload-time = "2025-10-06T14:11:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", size = 95981, upload-time = "2025-10-06T14:11:48.845Z" }, + { url = "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", size = 97303, upload-time = "2025-10-06T14:11:50.897Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", size = 361820, upload-time = "2025-10-06T14:11:52.549Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", size = 323203, upload-time = "2025-10-06T14:11:54.225Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", size = 363173, upload-time = "2025-10-06T14:11:56.069Z" }, + { url = "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", size = 373562, upload-time = "2025-10-06T14:11:58.783Z" }, + { url = "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", size = 339828, upload-time = "2025-10-06T14:12:00.686Z" }, + { url = "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", size = 347551, upload-time = "2025-10-06T14:12:02.628Z" }, + { url = "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", size = 334512, upload-time = "2025-10-06T14:12:04.871Z" }, + { url = "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", size = 352400, upload-time = "2025-10-06T14:12:06.624Z" }, + { url = "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", size = 357140, upload-time = "2025-10-06T14:12:08.362Z" }, + { url = "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", size = 341473, upload-time = "2025-10-06T14:12:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/35/18/55e6011f7c044dc80b98893060773cefcfdbf60dfefb8cb2f58b9bacbd83/yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", size = 89056, upload-time = "2025-10-06T14:12:13.317Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/0f0dccb6e59a9e7f122c5afd43568b1d31b8ab7dda5f1b01fb5c7025c9a9/yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", size = 96292, upload-time = "2025-10-06T14:12:15.398Z" }, + { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171, upload-time = "2025-10-06T14:12:16.935Z" }, + { url = "https://files.pythonhosted.org/packages/94/fd/6480106702a79bcceda5fd9c63cb19a04a6506bd5ce7fd8d9b63742f0021/yarl-1.22.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3aa27acb6de7a23785d81557577491f6c38a5209a254d1191519d07d8fe51748", size = 141301, upload-time = "2025-10-06T14:12:19.01Z" }, + { url = "https://files.pythonhosted.org/packages/42/e1/6d95d21b17a93e793e4ec420a925fe1f6a9342338ca7a563ed21129c0990/yarl-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:af74f05666a5e531289cb1cc9c883d1de2088b8e5b4de48004e5ca8a830ac859", size = 93864, upload-time = "2025-10-06T14:12:21.05Z" }, + { url = "https://files.pythonhosted.org/packages/32/58/b8055273c203968e89808413ea4c984988b6649baabf10f4522e67c22d2f/yarl-1.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:62441e55958977b8167b2709c164c91a6363e25da322d87ae6dd9c6019ceecf9", size = 94706, upload-time = "2025-10-06T14:12:23.287Z" }, + { url = "https://files.pythonhosted.org/packages/18/91/d7bfbc28a88c2895ecd0da6a874def0c147de78afc52c773c28e1aa233a3/yarl-1.22.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b580e71cac3f8113d3135888770903eaf2f507e9421e5697d6ee6d8cd1c7f054", size = 347100, upload-time = "2025-10-06T14:12:28.527Z" }, + { url = "https://files.pythonhosted.org/packages/bd/e8/37a1e7b99721c0564b1fc7b0a4d1f595ef6fb8060d82ca61775b644185f7/yarl-1.22.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e81fda2fb4a07eda1a2252b216aa0df23ebcd4d584894e9612e80999a78fd95b", size = 318902, upload-time = "2025-10-06T14:12:30.528Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ef/34724449d7ef2db4f22df644f2dac0b8a275d20f585e526937b3ae47b02d/yarl-1.22.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:99b6fc1d55782461b78221e95fc357b47ad98b041e8e20f47c1411d0aacddc60", size = 363302, upload-time = "2025-10-06T14:12:32.295Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/88a39a5dad39889f192cce8d66cc4c58dbeca983e83f9b6bf23822a7ed91/yarl-1.22.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:088e4e08f033db4be2ccd1f34cf29fe994772fb54cfe004bbf54db320af56890", size = 370816, upload-time = "2025-10-06T14:12:34.01Z" }, + { url = "https://files.pythonhosted.org/packages/6b/1f/5e895e547129413f56c76be2c3ce4b96c797d2d0ff3e16a817d9269b12e6/yarl-1.22.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4e1f6f0b4da23e61188676e3ed027ef0baa833a2e633c29ff8530800edccba", size = 346465, upload-time = "2025-10-06T14:12:35.977Z" }, + { url = "https://files.pythonhosted.org/packages/11/13/a750e9fd6f9cc9ed3a52a70fe58ffe505322f0efe0d48e1fd9ffe53281f5/yarl-1.22.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:84fc3ec96fce86ce5aa305eb4aa9358279d1aa644b71fab7b8ed33fe3ba1a7ca", size = 341506, upload-time = "2025-10-06T14:12:37.788Z" }, + { url = "https://files.pythonhosted.org/packages/3c/67/bb6024de76e7186611ebe626aec5b71a2d2ecf9453e795f2dbd80614784c/yarl-1.22.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5dbeefd6ca588b33576a01b0ad58aa934bc1b41ef89dee505bf2932b22ddffba", size = 335030, upload-time = "2025-10-06T14:12:39.775Z" }, + { url = "https://files.pythonhosted.org/packages/a2/be/50b38447fd94a7992996a62b8b463d0579323fcfc08c61bdba949eef8a5d/yarl-1.22.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14291620375b1060613f4aab9ebf21850058b6b1b438f386cc814813d901c60b", size = 358560, upload-time = "2025-10-06T14:12:41.547Z" }, + { url = "https://files.pythonhosted.org/packages/e2/89/c020b6f547578c4e3dbb6335bf918f26e2f34ad0d1e515d72fd33ac0c635/yarl-1.22.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a4fcfc8eb2c34148c118dfa02e6427ca278bfd0f3df7c5f99e33d2c0e81eae3e", size = 357290, upload-time = "2025-10-06T14:12:43.861Z" }, + { url = "https://files.pythonhosted.org/packages/8c/52/c49a619ee35a402fa3a7019a4fa8d26878fec0d1243f6968bbf516789578/yarl-1.22.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:029866bde8d7b0878b9c160e72305bbf0a7342bcd20b9999381704ae03308dc8", size = 350700, upload-time = "2025-10-06T14:12:46.868Z" }, + { url = "https://files.pythonhosted.org/packages/ab/c9/f5042d87777bf6968435f04a2bbb15466b2f142e6e47fa4f34d1a3f32f0c/yarl-1.22.0-cp39-cp39-win32.whl", hash = "sha256:4dcc74149ccc8bba31ce1944acee24813e93cfdee2acda3c172df844948ddf7b", size = 82323, upload-time = "2025-10-06T14:12:48.633Z" }, + { url = "https://files.pythonhosted.org/packages/fd/58/d00f7cad9eba20c4eefac2682f34661d1d1b3a942fc0092eb60e78cfb733/yarl-1.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:10619d9fdee46d20edc49d3479e2f8269d0779f1b031e6f7c2aa1c76be04b7ed", size = 87145, upload-time = "2025-10-06T14:12:50.241Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a3/70904f365080780d38b919edd42d224b8c4ce224a86950d2eaa2a24366ad/yarl-1.22.0-cp39-cp39-win_arm64.whl", hash = "sha256:dd7afd3f8b0bfb4e0d9fc3c31bfe8a4ec7debe124cfd90619305def3c8ca8cd2", size = 82173, upload-time = "2025-10-06T14:12:51.869Z" }, + { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, +] + +[[package]] +name = "yarl" +version = "1.23.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "idna", marker = "python_full_version >= '3.10'" }, + { name = "multidict", marker = "python_full_version >= '3.10'" }, + { name = "propcache", version = "0.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz", hash = "sha256:53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5", size = 194676, upload-time = "2026-03-01T22:07:53.373Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/0d/9cc638702f6fc3c7a3685bcc8cf2a9ed7d6206e932a49f5242658047ef51/yarl-1.23.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cff6d44cb13d39db2663a22b22305d10855efa0fa8015ddeacc40bc59b9d8107", size = 123764, upload-time = "2026-03-01T22:04:09.7Z" }, + { url = "https://files.pythonhosted.org/packages/7a/35/5a553687c5793df5429cd1db45909d4f3af7eee90014888c208d086a44f0/yarl-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c53f8347cd4200f0d70a48ad059cabaf24f5adc6ba08622a23423bc7efa10d", size = 86282, upload-time = "2026-03-01T22:04:11.892Z" }, + { url = "https://files.pythonhosted.org/packages/68/2e/c5a2234238f8ce37a8312b52801ee74117f576b1539eec8404a480434acc/yarl-1.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a6940a074fb3c48356ed0158a3ca5699c955ee4185b4d7d619be3c327143e05", size = 86053, upload-time = "2026-03-01T22:04:13.292Z" }, + { url = "https://files.pythonhosted.org/packages/74/3f/bbd8ff36fb038622797ffbaf7db314918bb4d76f1cc8a4f9ca7a55fe5195/yarl-1.23.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ed5f69ce7be7902e5c70ea19eb72d20abf7d725ab5d49777d696e32d4fc1811d", size = 99395, upload-time = "2026-03-01T22:04:15.133Z" }, + { url = "https://files.pythonhosted.org/packages/77/04/9516bc4e269d2a3ec9c6779fcdeac51ce5b3a9b0156f06ac7152e5bba864/yarl-1.23.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:389871e65468400d6283c0308e791a640b5ab5c83bcee02a2f51295f95e09748", size = 92143, upload-time = "2026-03-01T22:04:16.829Z" }, + { url = "https://files.pythonhosted.org/packages/c7/63/88802d1f6b1cb1fc67d67a58cd0cf8a1790de4ce7946e434240f1d60ab4a/yarl-1.23.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dda608c88cf709b1d406bdfcd84d8d63cff7c9e577a403c6108ce8ce9dcc8764", size = 107643, upload-time = "2026-03-01T22:04:18.519Z" }, + { url = "https://files.pythonhosted.org/packages/8e/db/4f9b838f4d8bdd6f0f385aed8bbf21c71ed11a0b9983305c302cbd557815/yarl-1.23.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8c4fe09e0780c6c3bf2b7d4af02ee2394439d11a523bbcf095cf4747c2932007", size = 108700, upload-time = "2026-03-01T22:04:20.373Z" }, + { url = "https://files.pythonhosted.org/packages/50/12/95a1d33f04a79c402664070d43b8b9f72dc18914e135b345b611b0b1f8cc/yarl-1.23.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:31c9921eb8bd12633b41ad27686bbb0b1a2a9b8452bfdf221e34f311e9942ed4", size = 102769, upload-time = "2026-03-01T22:04:23.055Z" }, + { url = "https://files.pythonhosted.org/packages/86/65/91a0285f51321369fd1a8308aa19207520c5f0587772cfc2e03fc2467e90/yarl-1.23.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5f10fd85e4b75967468af655228fbfd212bdf66db1c0d135065ce288982eda26", size = 101114, upload-time = "2026-03-01T22:04:25.031Z" }, + { url = "https://files.pythonhosted.org/packages/58/80/c7c8244fc3e5bc483dc71a09560f43b619fab29301a0f0a8f936e42865c7/yarl-1.23.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dbf507e9ef5688bada447a24d68b4b58dd389ba93b7afc065a2ba892bea54769", size = 98883, upload-time = "2026-03-01T22:04:27.281Z" }, + { url = "https://files.pythonhosted.org/packages/86/e7/71ca9cc9ca79c0b7d491216177d1aed559d632947b8ffb0ee60f7d8b23e3/yarl-1.23.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:85e9beda1f591bc73e77ea1c51965c68e98dafd0fec72cdd745f77d727466716", size = 94172, upload-time = "2026-03-01T22:04:28.554Z" }, + { url = "https://files.pythonhosted.org/packages/6a/3f/6c6c8a0fe29c26fb2db2e8d32195bb84ec1bfb8f1d32e7f73b787fcf349b/yarl-1.23.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0e1fdaa14ef51366d7757b45bde294e95f6c8c049194e793eedb8387c86d5993", size = 107010, upload-time = "2026-03-01T22:04:30.385Z" }, + { url = "https://files.pythonhosted.org/packages/56/38/12730c05e5ad40a76374d440ed8b0899729a96c250516d91c620a6e38fc2/yarl-1.23.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:75e3026ab649bf48f9a10c0134512638725b521340293f202a69b567518d94e0", size = 100285, upload-time = "2026-03-01T22:04:31.752Z" }, + { url = "https://files.pythonhosted.org/packages/34/92/6a7be9239f2347234e027284e7a5f74b1140cc86575e7b469d13fba1ebfe/yarl-1.23.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:80e6d33a3d42a7549b409f199857b4fb54e2103fc44fb87605b6663b7a7ff750", size = 108230, upload-time = "2026-03-01T22:04:33.844Z" }, + { url = "https://files.pythonhosted.org/packages/5e/81/4aebccfa9376bd98b9d8bfad20621a57d3e8cfc5b8631c1fa5f62cdd03f4/yarl-1.23.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ec2f42d41ccbd5df0270d7df31618a8ee267bfa50997f5d720ddba86c4a83a6", size = 103008, upload-time = "2026-03-01T22:04:35.856Z" }, + { url = "https://files.pythonhosted.org/packages/38/0f/0b4e3edcec794a86b853b0c6396c0a888d72dfce19b2d88c02ac289fb6c1/yarl-1.23.0-cp310-cp310-win32.whl", hash = "sha256:debe9c4f41c32990771be5c22b56f810659f9ddf3d63f67abfdcaa2c6c9c5c1d", size = 83073, upload-time = "2026-03-01T22:04:38.268Z" }, + { url = "https://files.pythonhosted.org/packages/a0/71/ad95c33da18897e4c636528bbc24a1dd23fe16797de8bc4ec667b8db0ba4/yarl-1.23.0-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f043cb8a2d71c981c09c510da013bc79fd661f5c60139f00dd3c3cc4f2ffb", size = 87328, upload-time = "2026-03-01T22:04:39.558Z" }, + { url = "https://files.pythonhosted.org/packages/e2/14/dfa369523c79bccf9c9c746b0a63eb31f65db9418ac01275f7950962e504/yarl-1.23.0-cp310-cp310-win_arm64.whl", hash = "sha256:263cd4f47159c09b8b685890af949195b51d1aa82ba451c5847ca9bc6413c220", size = 82463, upload-time = "2026-03-01T22:04:41.454Z" }, + { url = "https://files.pythonhosted.org/packages/a2/aa/60da938b8f0997ba3a911263c40d82b6f645a67902a490b46f3355e10fae/yarl-1.23.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b35d13d549077713e4414f927cdc388d62e543987c572baee613bf82f11a4b99", size = 123641, upload-time = "2026-03-01T22:04:42.841Z" }, + { url = "https://files.pythonhosted.org/packages/24/84/e237607faf4e099dbb8a4f511cfd5efcb5f75918baad200ff7380635631b/yarl-1.23.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbb0fef01f0c6b38cb0f39b1f78fc90b807e0e3c86a7ff3ce74ad77ce5c7880c", size = 86248, upload-time = "2026-03-01T22:04:44.757Z" }, + { url = "https://files.pythonhosted.org/packages/b2/0d/71ceabc14c146ba8ee3804ca7b3d42b1664c8440439de5214d366fec7d3a/yarl-1.23.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc52310451fc7c629e13c4e061cbe2dd01684d91f2f8ee2821b083c58bd72432", size = 85988, upload-time = "2026-03-01T22:04:46.365Z" }, + { url = "https://files.pythonhosted.org/packages/8c/6c/4a90d59c572e46b270ca132aca66954f1175abd691f74c1ef4c6711828e2/yarl-1.23.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2c6b50c7b0464165472b56b42d4c76a7b864597007d9c085e8b63e185cf4a7a", size = 100566, upload-time = "2026-03-01T22:04:47.639Z" }, + { url = "https://files.pythonhosted.org/packages/49/fb/c438fb5108047e629f6282a371e6e91cf3f97ee087c4fb748a1f32ceef55/yarl-1.23.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:aafe5dcfda86c8af00386d7781d4c2181b5011b7be3f2add5e99899ea925df05", size = 92079, upload-time = "2026-03-01T22:04:48.925Z" }, + { url = "https://files.pythonhosted.org/packages/d9/13/d269aa1aed3e4f50a5a103f96327210cc5fa5dd2d50882778f13c7a14606/yarl-1.23.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ee33b875f0b390564c1fb7bc528abf18c8ee6073b201c6ae8524aca778e2d83", size = 108741, upload-time = "2026-03-01T22:04:50.838Z" }, + { url = "https://files.pythonhosted.org/packages/85/fb/115b16f22c37ea4437d323e472945bea97301c8ec6089868fa560abab590/yarl-1.23.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4c41e021bc6d7affb3364dc1e1e5fa9582b470f283748784bd6ea0558f87f42c", size = 108099, upload-time = "2026-03-01T22:04:52.499Z" }, + { url = "https://files.pythonhosted.org/packages/9a/64/c53487d9f4968045b8afa51aed7ca44f58b2589e772f32745f3744476c82/yarl-1.23.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:99c8a9ed30f4164bc4c14b37a90208836cbf50d4ce2a57c71d0f52c7fb4f7598", size = 102678, upload-time = "2026-03-01T22:04:55.176Z" }, + { url = "https://files.pythonhosted.org/packages/85/59/cd98e556fbb2bf8fab29c1a722f67ad45c5f3447cac798ab85620d1e70af/yarl-1.23.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f2af5c81a1f124609d5f33507082fc3f739959d4719b56877ab1ee7e7b3d602b", size = 100803, upload-time = "2026-03-01T22:04:56.588Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c0/b39770b56d4a9f0bb5f77e2f1763cd2d75cc2f6c0131e3b4c360348fcd65/yarl-1.23.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6b41389c19b07c760c7e427a3462e8ab83c4bb087d127f0e854c706ce1b9215c", size = 100163, upload-time = "2026-03-01T22:04:58.492Z" }, + { url = "https://files.pythonhosted.org/packages/e7/64/6980f99ab00e1f0ff67cb84766c93d595b067eed07439cfccfc8fb28c1a6/yarl-1.23.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1dc702e42d0684f42d6519c8d581e49c96cefaaab16691f03566d30658ee8788", size = 93859, upload-time = "2026-03-01T22:05:00.268Z" }, + { url = "https://files.pythonhosted.org/packages/38/69/912e6c5e146793e5d4b5fe39ff5b00f4d22463dfd5a162bec565ac757673/yarl-1.23.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0e40111274f340d32ebcc0a5668d54d2b552a6cca84c9475859d364b380e3222", size = 108202, upload-time = "2026-03-01T22:05:02.273Z" }, + { url = "https://files.pythonhosted.org/packages/59/97/35ca6767524687ad64e5f5c31ad54bc76d585585a9fcb40f649e7e82ffed/yarl-1.23.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:4764a6a7588561a9aef92f65bda2c4fb58fe7c675c0883862e6df97559de0bfb", size = 99866, upload-time = "2026-03-01T22:05:03.597Z" }, + { url = "https://files.pythonhosted.org/packages/d3/1c/1a3387ee6d73589f6f2a220ae06f2984f6c20b40c734989b0a44f5987308/yarl-1.23.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:03214408cfa590df47728b84c679ae4ef00be2428e11630277be0727eba2d7cc", size = 107852, upload-time = "2026-03-01T22:05:04.986Z" }, + { url = "https://files.pythonhosted.org/packages/a4/b8/35c0750fcd5a3f781058bfd954515dd4b1eab45e218cbb85cf11132215f1/yarl-1.23.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:170e26584b060879e29fac213e4228ef063f39128723807a312e5c7fec28eff2", size = 102919, upload-time = "2026-03-01T22:05:06.397Z" }, + { url = "https://files.pythonhosted.org/packages/e5/1c/9a1979aec4a81896d597bcb2177827f2dbee3f5b7cc48b2d0dadb644b41d/yarl-1.23.0-cp311-cp311-win32.whl", hash = "sha256:51430653db848d258336cfa0244427b17d12db63d42603a55f0d4546f50f25b5", size = 82602, upload-time = "2026-03-01T22:05:08.444Z" }, + { url = "https://files.pythonhosted.org/packages/93/22/b85eca6fa2ad9491af48c973e4c8cf6b103a73dbb271fe3346949449fca0/yarl-1.23.0-cp311-cp311-win_amd64.whl", hash = "sha256:bf49a3ae946a87083ef3a34c8f677ae4243f5b824bfc4c69672e72b3d6719d46", size = 87461, upload-time = "2026-03-01T22:05:10.145Z" }, + { url = "https://files.pythonhosted.org/packages/93/95/07e3553fe6f113e6864a20bdc53a78113cda3b9ced8784ee52a52c9f80d8/yarl-1.23.0-cp311-cp311-win_arm64.whl", hash = "sha256:b39cb32a6582750b6cc77bfb3c49c0f8760dc18dc96ec9fb55fbb0f04e08b928", size = 82336, upload-time = "2026-03-01T22:05:11.554Z" }, + { url = "https://files.pythonhosted.org/packages/88/8a/94615bc31022f711add374097ad4144d569e95ff3c38d39215d07ac153a0/yarl-1.23.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1932b6b8bba8d0160a9d1078aae5838a66039e8832d41d2992daa9a3a08f7860", size = 124737, upload-time = "2026-03-01T22:05:12.897Z" }, + { url = "https://files.pythonhosted.org/packages/e3/6f/c6554045d59d64052698add01226bc867b52fe4a12373415d7991fdca95d/yarl-1.23.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:411225bae281f114067578891bc75534cfb3d92a3b4dfef7a6ca78ba354e6069", size = 87029, upload-time = "2026-03-01T22:05:14.376Z" }, + { url = "https://files.pythonhosted.org/packages/19/2a/725ecc166d53438bc88f76822ed4b1e3b10756e790bafd7b523fe97c322d/yarl-1.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13a563739ae600a631c36ce096615fe307f131344588b0bc0daec108cdb47b25", size = 86310, upload-time = "2026-03-01T22:05:15.71Z" }, + { url = "https://files.pythonhosted.org/packages/99/30/58260ed98e6ff7f90ba84442c1ddd758c9170d70327394a6227b310cd60f/yarl-1.23.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cbf44c5cb4a7633d078788e1b56387e3d3cf2b8139a3be38040b22d6c3221c8", size = 97587, upload-time = "2026-03-01T22:05:17.384Z" }, + { url = "https://files.pythonhosted.org/packages/76/0a/8b08aac08b50682e65759f7f8dde98ae8168f72487e7357a5d684c581ef9/yarl-1.23.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53ad387048f6f09a8969631e4de3f1bf70c50e93545d64af4f751b2498755072", size = 92528, upload-time = "2026-03-01T22:05:18.804Z" }, + { url = "https://files.pythonhosted.org/packages/52/07/0b7179101fe5f8385ec6c6bb5d0cb9f76bd9fb4a769591ab6fb5cdbfc69a/yarl-1.23.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4a59ba56f340334766f3a4442e0efd0af895fae9e2b204741ef885c446b3a1a8", size = 105339, upload-time = "2026-03-01T22:05:20.235Z" }, + { url = "https://files.pythonhosted.org/packages/d3/8a/36d82869ab5ec829ca8574dfcb92b51286fcfb1e9c7a73659616362dc880/yarl-1.23.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:803a3c3ce4acc62eaf01eaca1208dcf0783025ef27572c3336502b9c232005e7", size = 105061, upload-time = "2026-03-01T22:05:22.268Z" }, + { url = "https://files.pythonhosted.org/packages/66/3e/868e5c3364b6cee19ff3e1a122194fa4ce51def02c61023970442162859e/yarl-1.23.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3d2bff8f37f8d0f96c7ec554d16945050d54462d6e95414babaa18bfafc7f51", size = 100132, upload-time = "2026-03-01T22:05:23.638Z" }, + { url = "https://files.pythonhosted.org/packages/cf/26/9c89acf82f08a52cb52d6d39454f8d18af15f9d386a23795389d1d423823/yarl-1.23.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c75eb09e8d55bceb4367e83496ff8ef2bc7ea6960efb38e978e8073ea59ecb67", size = 99289, upload-time = "2026-03-01T22:05:25.749Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/5b0db00d2cb056922356104468019c0a132e89c8d3ab67d8ede9f4483d2a/yarl-1.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877b0738624280e34c55680d6054a307aa94f7d52fa0e3034a9cc6e790871da7", size = 96950, upload-time = "2026-03-01T22:05:27.318Z" }, + { url = "https://files.pythonhosted.org/packages/f6/40/10fa93811fd439341fad7e0718a86aca0de9548023bbb403668d6555acab/yarl-1.23.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b5405bb8f0e783a988172993cfc627e4d9d00432d6bbac65a923041edacf997d", size = 93960, upload-time = "2026-03-01T22:05:28.738Z" }, + { url = "https://files.pythonhosted.org/packages/bc/d2/8ae2e6cd77d0805f4526e30ec43b6f9a3dfc542d401ac4990d178e4bf0cf/yarl-1.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1c3a3598a832590c5a3ce56ab5576361b5688c12cb1d39429cf5dba30b510760", size = 104703, upload-time = "2026-03-01T22:05:30.438Z" }, + { url = "https://files.pythonhosted.org/packages/2f/0c/b3ceacf82c3fe21183ce35fa2acf5320af003d52bc1fcf5915077681142e/yarl-1.23.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8419ebd326430d1cbb7efb5292330a2cf39114e82df5cc3d83c9a0d5ebeaf2f2", size = 98325, upload-time = "2026-03-01T22:05:31.835Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e0/12900edd28bdab91a69bd2554b85ad7b151f64e8b521fe16f9ad2f56477a/yarl-1.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:be61f6fff406ca40e3b1d84716fde398fc08bc63dd96d15f3a14230a0973ed86", size = 105067, upload-time = "2026-03-01T22:05:33.358Z" }, + { url = "https://files.pythonhosted.org/packages/15/61/74bb1182cf79c9bbe4eb6b1f14a57a22d7a0be5e9cedf8e2d5c2086474c3/yarl-1.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ceb13c5c858d01321b5d9bb65e4cf37a92169ea470b70fec6f236b2c9dd7e34", size = 100285, upload-time = "2026-03-01T22:05:35.4Z" }, + { url = "https://files.pythonhosted.org/packages/69/7f/cd5ef733f2550de6241bd8bd8c3febc78158b9d75f197d9c7baa113436af/yarl-1.23.0-cp312-cp312-win32.whl", hash = "sha256:fffc45637bcd6538de8b85f51e3df3223e4ad89bccbfca0481c08c7fc8b7ed7d", size = 82359, upload-time = "2026-03-01T22:05:36.811Z" }, + { url = "https://files.pythonhosted.org/packages/f5/be/25216a49daeeb7af2bec0db22d5e7df08ed1d7c9f65d78b14f3b74fd72fc/yarl-1.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:f69f57305656a4852f2a7203efc661d8c042e6cc67f7acd97d8667fb448a426e", size = 87674, upload-time = "2026-03-01T22:05:38.171Z" }, + { url = "https://files.pythonhosted.org/packages/d2/35/aeab955d6c425b227d5b7247eafb24f2653fedc32f95373a001af5dfeb9e/yarl-1.23.0-cp312-cp312-win_arm64.whl", hash = "sha256:6e87a6e8735b44816e7db0b2fbc9686932df473c826b0d9743148432e10bb9b9", size = 81879, upload-time = "2026-03-01T22:05:40.006Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4b/a0a6e5d0ee8a2f3a373ddef8a4097d74ac901ac363eea1440464ccbe0898/yarl-1.23.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:16c6994ac35c3e74fb0ae93323bf8b9c2a9088d55946109489667c510a7d010e", size = 123796, upload-time = "2026-03-01T22:05:41.412Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/8925d68af039b835ae876db5838e82e76ec87b9782ecc97e192b809c4831/yarl-1.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a42e651629dafb64fd5b0286a3580613702b5809ad3f24934ea87595804f2c5", size = 86547, upload-time = "2026-03-01T22:05:42.841Z" }, + { url = "https://files.pythonhosted.org/packages/ae/50/06d511cc4b8e0360d3c94af051a768e84b755c5eb031b12adaaab6dec6e5/yarl-1.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7c6b9461a2a8b47c65eef63bb1c76a4f1c119618ffa99ea79bc5bb1e46c5821b", size = 85854, upload-time = "2026-03-01T22:05:44.85Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f4/4e30b250927ffdab4db70da08b9b8d2194d7c7b400167b8fbeca1e4701ca/yarl-1.23.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2569b67d616eab450d262ca7cb9f9e19d2f718c70a8b88712859359d0ab17035", size = 98351, upload-time = "2026-03-01T22:05:46.836Z" }, + { url = "https://files.pythonhosted.org/packages/86/fc/4118c5671ea948208bdb1492d8b76bdf1453d3e73df051f939f563e7dcc5/yarl-1.23.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e9d9a4d06d3481eab79803beb4d9bd6f6a8e781ec078ac70d7ef2dcc29d1bea5", size = 92711, upload-time = "2026-03-01T22:05:48.316Z" }, + { url = "https://files.pythonhosted.org/packages/56/11/1ed91d42bd9e73c13dc9e7eb0dd92298d75e7ac4dd7f046ad0c472e231cd/yarl-1.23.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f514f6474e04179d3d33175ed3f3e31434d3130d42ec153540d5b157deefd735", size = 106014, upload-time = "2026-03-01T22:05:50.028Z" }, + { url = "https://files.pythonhosted.org/packages/ce/c9/74e44e056a23fbc33aca71779ef450ca648a5bc472bdad7a82339918f818/yarl-1.23.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fda207c815b253e34f7e1909840fd14299567b1c0eb4908f8c2ce01a41265401", size = 105557, upload-time = "2026-03-01T22:05:51.416Z" }, + { url = "https://files.pythonhosted.org/packages/66/fe/b1e10b08d287f518994f1e2ff9b6d26f0adeecd8dd7d533b01bab29a3eda/yarl-1.23.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34b6cf500e61c90f305094911f9acc9c86da1a05a7a3f5be9f68817043f486e4", size = 101559, upload-time = "2026-03-01T22:05:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/72/59/c5b8d94b14e3d3c2a9c20cb100119fd534ab5a14b93673ab4cc4a4141ea5/yarl-1.23.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d7504f2b476d21653e4d143f44a175f7f751cd41233525312696c76aa3dbb23f", size = 100502, upload-time = "2026-03-01T22:05:54.954Z" }, + { url = "https://files.pythonhosted.org/packages/77/4f/96976cb54cbfc5c9fd73ed4c51804f92f209481d1fb190981c0f8a07a1d7/yarl-1.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:578110dd426f0d209d1509244e6d4a3f1a3e9077655d98c5f22583d63252a08a", size = 98027, upload-time = "2026-03-01T22:05:56.409Z" }, + { url = "https://files.pythonhosted.org/packages/63/6e/904c4f476471afdbad6b7e5b70362fb5810e35cd7466529a97322b6f5556/yarl-1.23.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:609d3614d78d74ebe35f54953c5bbd2ac647a7ddb9c30a5d877580f5e86b22f2", size = 95369, upload-time = "2026-03-01T22:05:58.141Z" }, + { url = "https://files.pythonhosted.org/packages/9d/40/acfcdb3b5f9d68ef499e39e04d25e141fe90661f9d54114556cf83be8353/yarl-1.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4966242ec68afc74c122f8459abd597afd7d8a60dc93d695c1334c5fd25f762f", size = 105565, upload-time = "2026-03-01T22:06:00.286Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c6/31e28f3a6ba2869c43d124f37ea5260cac9c9281df803c354b31f4dd1f3c/yarl-1.23.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e0fd068364a6759bc794459f0a735ab151d11304346332489c7972bacbe9e72b", size = 99813, upload-time = "2026-03-01T22:06:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/08/1f/6f65f59e72d54aa467119b63fc0b0b1762eff0232db1f4720cd89e2f4a17/yarl-1.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:39004f0ad156da43e86aa71f44e033de68a44e5a31fc53507b36dd253970054a", size = 105632, upload-time = "2026-03-01T22:06:03.188Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c4/18b178a69935f9e7a338127d5b77d868fdc0f0e49becd286d51b3a18c61d/yarl-1.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e5723c01a56c5028c807c701aa66722916d2747ad737a046853f6c46f4875543", size = 101895, upload-time = "2026-03-01T22:06:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/8f/54/f5b870b5505663911dba950a8e4776a0dbd51c9c54c0ae88e823e4b874a0/yarl-1.23.0-cp313-cp313-win32.whl", hash = "sha256:1b6b572edd95b4fa8df75de10b04bc81acc87c1c7d16bcdd2035b09d30acc957", size = 82356, upload-time = "2026-03-01T22:06:06.04Z" }, + { url = "https://files.pythonhosted.org/packages/7a/84/266e8da36879c6edcd37b02b547e2d9ecdfea776be49598e75696e3316e1/yarl-1.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:baaf55442359053c7d62f6f8413a62adba3205119bcb6f49594894d8be47e5e3", size = 87515, upload-time = "2026-03-01T22:06:08.107Z" }, + { url = "https://files.pythonhosted.org/packages/00/fd/7e1c66efad35e1649114fa13f17485f62881ad58edeeb7f49f8c5e748bf9/yarl-1.23.0-cp313-cp313-win_arm64.whl", hash = "sha256:fb4948814a2a98e3912505f09c9e7493b1506226afb1f881825368d6fb776ee3", size = 81785, upload-time = "2026-03-01T22:06:10.181Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fc/119dd07004f17ea43bb91e3ece6587759edd7519d6b086d16bfbd3319982/yarl-1.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:aecfed0b41aa72b7881712c65cf764e39ce2ec352324f5e0837c7048d9e6daaa", size = 130719, upload-time = "2026-03-01T22:06:11.708Z" }, + { url = "https://files.pythonhosted.org/packages/e6/0d/9f2348502fbb3af409e8f47730282cd6bc80dec6630c1e06374d882d6eb2/yarl-1.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a41bcf68efd19073376eb8cf948b8d9be0af26256403e512bb18f3966f1f9120", size = 89690, upload-time = "2026-03-01T22:06:13.429Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/e88f3c80971b42cfc83f50a51b9d165a1dbf154b97005f2994a79f212a07/yarl-1.23.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cde9a2ecd91668bcb7f077c4966d8ceddb60af01b52e6e3e2680e4cf00ad1a59", size = 89851, upload-time = "2026-03-01T22:06:15.53Z" }, + { url = "https://files.pythonhosted.org/packages/1c/07/61c9dd8ba8f86473263b4036f70fb594c09e99c0d9737a799dfd8bc85651/yarl-1.23.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5023346c4ee7992febc0068e7593de5fa2bf611848c08404b35ebbb76b1b0512", size = 95874, upload-time = "2026-03-01T22:06:17.553Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e9/f9ff8ceefba599eac6abddcfb0b3bee9b9e636e96dbf54342a8577252379/yarl-1.23.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1009abedb49ae95b136a8904a3f71b342f849ffeced2d3747bf29caeda218c4", size = 88710, upload-time = "2026-03-01T22:06:19.004Z" }, + { url = "https://files.pythonhosted.org/packages/eb/78/0231bfcc5d4c8eec220bc2f9ef82cb4566192ea867a7c5b4148f44f6cbcd/yarl-1.23.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a8d00f29b42f534cc8aa3931cfe773b13b23e561e10d2b26f27a8d309b0e82a1", size = 101033, upload-time = "2026-03-01T22:06:21.203Z" }, + { url = "https://files.pythonhosted.org/packages/cd/9b/30ea5239a61786f18fd25797151a17fbb3be176977187a48d541b5447dd4/yarl-1.23.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:95451e6ce06c3e104556d73b559f5da6c34a069b6b62946d3ad66afcd51642ea", size = 100817, upload-time = "2026-03-01T22:06:22.738Z" }, + { url = "https://files.pythonhosted.org/packages/62/e2/a4980481071791bc83bce2b7a1a1f7adcabfa366007518b4b845e92eeee3/yarl-1.23.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:531ef597132086b6cf96faa7c6c1dcd0361dd5f1694e5cc30375907b9b7d3ea9", size = 97482, upload-time = "2026-03-01T22:06:24.21Z" }, + { url = "https://files.pythonhosted.org/packages/e5/1e/304a00cf5f6100414c4b5a01fc7ff9ee724b62158a08df2f8170dfc72a2d/yarl-1.23.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:88f9fb0116fbfcefcab70f85cf4b74a2b6ce5d199c41345296f49d974ddb4123", size = 95949, upload-time = "2026-03-01T22:06:25.697Z" }, + { url = "https://files.pythonhosted.org/packages/68/03/093f4055ed4cae649ac53bca3d180bd37102e9e11d048588e9ab0c0108d0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e7b0460976dc75cb87ad9cc1f9899a4b97751e7d4e77ab840fc9b6d377b8fd24", size = 95839, upload-time = "2026-03-01T22:06:27.309Z" }, + { url = "https://files.pythonhosted.org/packages/b9/28/4c75ebb108f322aa8f917ae10a8ffa4f07cae10a8a627b64e578617df6a0/yarl-1.23.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:115136c4a426f9da976187d238e84139ff6b51a20839aa6e3720cd1026d768de", size = 90696, upload-time = "2026-03-01T22:06:29.048Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/42c2e2dd91c1a570402f51bdf066bfdb1241c2240ba001967bad778e77b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ead11956716a940c1abc816b7df3fa2b84d06eaed8832ca32f5c5e058c65506b", size = 100865, upload-time = "2026-03-01T22:06:30.525Z" }, + { url = "https://files.pythonhosted.org/packages/74/05/1bcd60a8a0a914d462c305137246b6f9d167628d73568505fce3f1cb2e65/yarl-1.23.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:fe8f8f5e70e6dbdfca9882cd9deaac058729bcf323cf7a58660901e55c9c94f6", size = 96234, upload-time = "2026-03-01T22:06:32.692Z" }, + { url = "https://files.pythonhosted.org/packages/90/b2/f52381aac396d6778ce516b7bc149c79e65bfc068b5de2857ab69eeea3b7/yarl-1.23.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:a0e317df055958a0c1e79e5d2aa5a5eaa4a6d05a20d4b0c9c3f48918139c9fc6", size = 100295, upload-time = "2026-03-01T22:06:34.268Z" }, + { url = "https://files.pythonhosted.org/packages/e5/e8/638bae5bbf1113a659b2435d8895474598afe38b4a837103764f603aba56/yarl-1.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f0fd84de0c957b2d280143522c4f91a73aada1923caee763e24a2b3fda9f8a5", size = 97784, upload-time = "2026-03-01T22:06:35.864Z" }, + { url = "https://files.pythonhosted.org/packages/80/25/a3892b46182c586c202629fc2159aa13975d3741d52ebd7347fd501d48d5/yarl-1.23.0-cp313-cp313t-win32.whl", hash = "sha256:93a784271881035ab4406a172edb0faecb6e7d00f4b53dc2f55919d6c9688595", size = 88313, upload-time = "2026-03-01T22:06:37.39Z" }, + { url = "https://files.pythonhosted.org/packages/43/68/8c5b36aa5178900b37387937bc2c2fe0e9505537f713495472dcf6f6fccc/yarl-1.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:dd00607bffbf30250fe108065f07453ec124dbf223420f57f5e749b04295e090", size = 94932, upload-time = "2026-03-01T22:06:39.579Z" }, + { url = "https://files.pythonhosted.org/packages/c6/cc/d79ba8292f51f81f4dc533a8ccfb9fc6992cabf0998ed3245de7589dc07c/yarl-1.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ac09d42f48f80c9ee1635b2fcaa819496a44502737660d3c0f2ade7526d29144", size = 84786, upload-time = "2026-03-01T22:06:41.988Z" }, + { url = "https://files.pythonhosted.org/packages/90/98/b85a038d65d1b92c3903ab89444f48d3cee490a883477b716d7a24b1a78c/yarl-1.23.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:21d1b7305a71a15b4794b5ff22e8eef96ff4a6d7f9657155e5aa419444b28912", size = 124455, upload-time = "2026-03-01T22:06:43.615Z" }, + { url = "https://files.pythonhosted.org/packages/39/54/bc2b45559f86543d163b6e294417a107bb87557609007c007ad889afec18/yarl-1.23.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:85610b4f27f69984932a7abbe52703688de3724d9f72bceb1cca667deff27474", size = 86752, upload-time = "2026-03-01T22:06:45.425Z" }, + { url = "https://files.pythonhosted.org/packages/24/f9/e8242b68362bffe6fb536c8db5076861466fc780f0f1b479fc4ffbebb128/yarl-1.23.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23f371bd662cf44a7630d4d113101eafc0cfa7518a2760d20760b26021454719", size = 86291, upload-time = "2026-03-01T22:06:46.974Z" }, + { url = "https://files.pythonhosted.org/packages/ea/d8/d1cb2378c81dd729e98c716582b1ccb08357e8488e4c24714658cc6630e8/yarl-1.23.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4a80f77dc1acaaa61f0934176fccca7096d9b1ff08c8ba9cddf5ae034a24319", size = 99026, upload-time = "2026-03-01T22:06:48.459Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ff/7196790538f31debe3341283b5b0707e7feb947620fc5e8236ef28d44f72/yarl-1.23.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd654fad46d8d9e823afbb4f87c79160b5a374ed1ff5bde24e542e6ba8f41434", size = 92355, upload-time = "2026-03-01T22:06:50.306Z" }, + { url = "https://files.pythonhosted.org/packages/c1/56/25d58c3eddde825890a5fe6aa1866228377354a3c39262235234ab5f616b/yarl-1.23.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:682bae25f0a0dd23a056739f23a134db9f52a63e2afd6bfb37ddc76292bbd723", size = 106417, upload-time = "2026-03-01T22:06:52.1Z" }, + { url = "https://files.pythonhosted.org/packages/51/8a/882c0e7bc8277eb895b31bce0138f51a1ba551fc2e1ec6753ffc1e7c1377/yarl-1.23.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a82836cab5f197a0514235aaf7ffccdc886ccdaa2324bc0aafdd4ae898103039", size = 106422, upload-time = "2026-03-01T22:06:54.424Z" }, + { url = "https://files.pythonhosted.org/packages/42/2b/fef67d616931055bf3d6764885990a3ac647d68734a2d6a9e1d13de437a2/yarl-1.23.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c57676bdedc94cd3bc37724cf6f8cd2779f02f6aba48de45feca073e714fe52", size = 101915, upload-time = "2026-03-01T22:06:55.895Z" }, + { url = "https://files.pythonhosted.org/packages/18/6a/530e16aebce27c5937920f3431c628a29a4b6b430fab3fd1c117b26ff3f6/yarl-1.23.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c7f8dc16c498ff06497c015642333219871effba93e4a2e8604a06264aca5c5c", size = 100690, upload-time = "2026-03-01T22:06:58.21Z" }, + { url = "https://files.pythonhosted.org/packages/88/08/93749219179a45e27b036e03260fda05190b911de8e18225c294ac95bbc9/yarl-1.23.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5ee586fb17ff8f90c91cf73c6108a434b02d69925f44f5f8e0d7f2f260607eae", size = 98750, upload-time = "2026-03-01T22:06:59.794Z" }, + { url = "https://files.pythonhosted.org/packages/d9/cf/ea424a004969f5d81a362110a6ac1496d79efdc6d50c2c4b2e3ea0fc2519/yarl-1.23.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:17235362f580149742739cc3828b80e24029d08cbb9c4bda0242c7b5bc610a8e", size = 94685, upload-time = "2026-03-01T22:07:01.375Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b7/14341481fe568e2b0408bcf1484c652accafe06a0ade9387b5d3fd9df446/yarl-1.23.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:0793e2bd0cf14234983bbb371591e6bea9e876ddf6896cdcc93450996b0b5c85", size = 106009, upload-time = "2026-03-01T22:07:03.151Z" }, + { url = "https://files.pythonhosted.org/packages/0a/e6/5c744a9b54f4e8007ad35bce96fbc9218338e84812d36f3390cea616881a/yarl-1.23.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3650dc2480f94f7116c364096bc84b1d602f44224ef7d5c7208425915c0475dd", size = 100033, upload-time = "2026-03-01T22:07:04.701Z" }, + { url = "https://files.pythonhosted.org/packages/0c/23/e3bfc188d0b400f025bc49d99793d02c9abe15752138dcc27e4eaf0c4a9e/yarl-1.23.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f40e782d49630ad384db66d4d8b73ff4f1b8955dc12e26b09a3e3af064b3b9d6", size = 106483, upload-time = "2026-03-01T22:07:06.231Z" }, + { url = "https://files.pythonhosted.org/packages/72/42/f0505f949a90b3f8b7a363d6cbdf398f6e6c58946d85c6d3a3bc70595b26/yarl-1.23.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94f8575fbdf81749008d980c17796097e645574a3b8c28ee313931068dad14fe", size = 102175, upload-time = "2026-03-01T22:07:08.4Z" }, + { url = "https://files.pythonhosted.org/packages/aa/65/b39290f1d892a9dd671d1c722014ca062a9c35d60885d57e5375db0404b5/yarl-1.23.0-cp314-cp314-win32.whl", hash = "sha256:c8aa34a5c864db1087d911a0b902d60d203ea3607d91f615acd3f3108ac32169", size = 83871, upload-time = "2026-03-01T22:07:09.968Z" }, + { url = "https://files.pythonhosted.org/packages/a9/5b/9b92f54c784c26e2a422e55a8d2607ab15b7ea3349e28359282f84f01d43/yarl-1.23.0-cp314-cp314-win_amd64.whl", hash = "sha256:63e92247f383c85ab00dd0091e8c3fa331a96e865459f5ee80353c70a4a42d70", size = 89093, upload-time = "2026-03-01T22:07:11.501Z" }, + { url = "https://files.pythonhosted.org/packages/e0/7d/8a84dc9381fd4412d5e7ff04926f9865f6372b4c2fd91e10092e65d29eb8/yarl-1.23.0-cp314-cp314-win_arm64.whl", hash = "sha256:70efd20be968c76ece7baa8dafe04c5be06abc57f754d6f36f3741f7aa7a208e", size = 83384, upload-time = "2026-03-01T22:07:13.069Z" }, + { url = "https://files.pythonhosted.org/packages/dd/8d/d2fad34b1c08aa161b74394183daa7d800141aaaee207317e82c790b418d/yarl-1.23.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9a18d6f9359e45722c064c97464ec883eb0e0366d33eda61cb19a244bf222679", size = 131019, upload-time = "2026-03-01T22:07:14.903Z" }, + { url = "https://files.pythonhosted.org/packages/19/ff/33009a39d3ccf4b94d7d7880dfe17fb5816c5a4fe0096d9b56abceea9ac7/yarl-1.23.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:2803ed8b21ca47a43da80a6fd1ed3019d30061f7061daa35ac54f63933409412", size = 89894, upload-time = "2026-03-01T22:07:17.372Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f1/dab7ac5e7306fb79c0190766a3c00b4cb8d09a1f390ded68c85a5934faf5/yarl-1.23.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:394906945aa8b19fc14a61cf69743a868bb8c465efe85eee687109cc540b98f4", size = 89979, upload-time = "2026-03-01T22:07:19.361Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b1/08e95f3caee1fad6e65017b9f26c1d79877b502622d60e517de01e72f95d/yarl-1.23.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71d006bee8397a4a89f469b8deb22469fe7508132d3c17fa6ed871e79832691c", size = 95943, upload-time = "2026-03-01T22:07:21.266Z" }, + { url = "https://files.pythonhosted.org/packages/c0/cc/6409f9018864a6aa186c61175b977131f373f1988e198e031236916e87e4/yarl-1.23.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:62694e275c93d54f7ccedcfef57d42761b2aad5234b6be1f3e3026cae4001cd4", size = 88786, upload-time = "2026-03-01T22:07:23.129Z" }, + { url = "https://files.pythonhosted.org/packages/76/40/cc22d1d7714b717fde2006fad2ced5efe5580606cb059ae42117542122f3/yarl-1.23.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31de1613658308efdb21ada98cbc86a97c181aa050ba22a808120bb5be3ab94", size = 101307, upload-time = "2026-03-01T22:07:24.689Z" }, + { url = "https://files.pythonhosted.org/packages/8f/0d/476c38e85ddb4c6ec6b20b815bdd779aa386a013f3d8b85516feee55c8dc/yarl-1.23.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb1e8b8d66c278b21d13b0a7ca22c41dd757a7c209c6b12c313e445c31dd3b28", size = 100904, upload-time = "2026-03-01T22:07:26.287Z" }, + { url = "https://files.pythonhosted.org/packages/72/32/0abe4a76d59adf2081dcb0397168553ece4616ada1c54d1c49d8936c74f8/yarl-1.23.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50f9d8d531dfb767c565f348f33dd5139a6c43f5cbdf3f67da40d54241df93f6", size = 97728, upload-time = "2026-03-01T22:07:27.906Z" }, + { url = "https://files.pythonhosted.org/packages/b7/35/7b30f4810fba112f60f5a43237545867504e15b1c7647a785fbaf588fac2/yarl-1.23.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:575aa4405a656e61a540f4a80eaa5260f2a38fff7bfdc4b5f611840d76e9e277", size = 95964, upload-time = "2026-03-01T22:07:30.198Z" }, + { url = "https://files.pythonhosted.org/packages/2d/86/ed7a73ab85ef00e8bb70b0cb5421d8a2a625b81a333941a469a6f4022828/yarl-1.23.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:041b1a4cefacf65840b4e295c6985f334ba83c30607441ae3cf206a0eed1a2e4", size = 95882, upload-time = "2026-03-01T22:07:32.132Z" }, + { url = "https://files.pythonhosted.org/packages/19/90/d56967f61a29d8498efb7afb651e0b2b422a1e9b47b0ab5f4e40a19b699b/yarl-1.23.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:d38c1e8231722c4ce40d7593f28d92b5fc72f3e9774fe73d7e800ec32299f63a", size = 90797, upload-time = "2026-03-01T22:07:34.404Z" }, + { url = "https://files.pythonhosted.org/packages/72/00/8b8f76909259f56647adb1011d7ed8b321bcf97e464515c65016a47ecdf0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d53834e23c015ee83a99377db6e5e37d8484f333edb03bd15b4bc312cc7254fb", size = 101023, upload-time = "2026-03-01T22:07:35.953Z" }, + { url = "https://files.pythonhosted.org/packages/ac/e2/cab11b126fb7d440281b7df8e9ddbe4851e70a4dde47a202b6642586b8d9/yarl-1.23.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2e27c8841126e017dd2a054a95771569e6070b9ee1b133366d8b31beb5018a41", size = 96227, upload-time = "2026-03-01T22:07:37.594Z" }, + { url = "https://files.pythonhosted.org/packages/c2/9b/2c893e16bfc50e6b2edf76c1a9eb6cb0c744346197e74c65e99ad8d634d0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:76855800ac56f878847a09ce6dba727c93ca2d89c9e9d63002d26b916810b0a2", size = 100302, upload-time = "2026-03-01T22:07:39.334Z" }, + { url = "https://files.pythonhosted.org/packages/28/ec/5498c4e3a6d5f1003beb23405671c2eb9cdbf3067d1c80f15eeafe301010/yarl-1.23.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e09fd068c2e169a7070d83d3bde728a4d48de0549f975290be3c108c02e499b4", size = 98202, upload-time = "2026-03-01T22:07:41.717Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c3/cd737e2d45e70717907f83e146f6949f20cc23cd4bf7b2688727763aa458/yarl-1.23.0-cp314-cp314t-win32.whl", hash = "sha256:73309162a6a571d4cbd3b6a1dcc703c7311843ae0d1578df6f09be4e98df38d4", size = 90558, upload-time = "2026-03-01T22:07:43.433Z" }, + { url = "https://files.pythonhosted.org/packages/e1/19/3774d162f6732d1cfb0b47b4140a942a35ca82bb19b6db1f80e9e7bdc8f8/yarl-1.23.0-cp314-cp314t-win_amd64.whl", hash = "sha256:4503053d296bc6e4cbd1fad61cf3b6e33b939886c4f249ba7c78b602214fabe2", size = 97610, upload-time = "2026-03-01T22:07:45.773Z" }, + { url = "https://files.pythonhosted.org/packages/51/47/3fa2286c3cb162c71cdb34c4224d5745a1ceceb391b2bd9b19b668a8d724/yarl-1.23.0-cp314-cp314t-win_arm64.whl", hash = "sha256:44bb7bef4ea409384e3f8bc36c063d77ea1b8d4a5b2706956c0d6695f07dcc25", size = 86041, upload-time = "2026-03-01T22:07:49.026Z" }, + { url = "https://files.pythonhosted.org/packages/69/68/c8739671f5699c7dc470580a4f821ef37c32c4cb0b047ce223a7f115757f/yarl-1.23.0-py3-none-any.whl", hash = "sha256:a2df6afe50dea8ae15fa34c9f824a3ee958d785fd5d089063d960bae1daa0a3f", size = 48288, upload-time = "2026-03-01T22:07:51.388Z" }, +] diff --git a/livekit-rtc/livekit/rtc/__init__.py b/livekit-rtc/livekit/rtc/__init__.py index 23f9cbf1..6eb94a0c 100644 --- a/livekit-rtc/livekit/rtc/__init__.py +++ b/livekit-rtc/livekit/rtc/__init__.py @@ -38,12 +38,13 @@ VideoEncoding, ) from ._proto.track_pb2 import ( + PacketTrailerFeature, StreamState, TrackKind, TrackSource, ParticipantTrackPermission, ) -from ._proto.video_frame_pb2 import VideoBufferType, VideoCodec, VideoRotation +from ._proto.video_frame_pb2 import FrameMetadata, VideoBufferType, VideoCodec, VideoRotation from .audio_frame import AudioFrame from .audio_source import AudioSource from .audio_stream import AudioFrameEvent, AudioStream, NoiseCancellationOptions @@ -139,9 +140,11 @@ "StreamState", "TrackKind", "TrackSource", + "PacketTrailerFeature", "ParticipantTrackPermission", "VideoBufferType", "VideoRotation", + "FrameMetadata", "stats", "AudioFrame", "AudioSource", diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py index c634580d..53491d08 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: audio_frame.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -22,8 +21,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'audio_frame_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_SOXRESAMPLERDATATYPE']._serialized_start=4499 _globals['_SOXRESAMPLERDATATYPE']._serialized_end=4573 _globals['_SOXQUALITYRECIPE']._serialized_start=4576 diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi index cb73e1ea..18a2af72 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi @@ -16,30 +16,30 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import handle_pb2 +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins +from . import handle_pb2 as _handle_pb2 import sys -from . import track_pb2 -import typing +from . import track_pb2 as _track_pb2 +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _SoxResamplerDataType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _SoxResamplerDataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SoxResamplerDataType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _SoxResamplerDataTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_SoxResamplerDataType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor SOXR_DATATYPE_INT16I: _SoxResamplerDataType.ValueType # 0 """TODO(theomonnom): support other datatypes (shouldn't really be needed)""" SOXR_DATATYPE_INT16S: _SoxResamplerDataType.ValueType # 1 @@ -49,14 +49,14 @@ class SoxResamplerDataType(_SoxResamplerDataType, metaclass=_SoxResamplerDataTyp SOXR_DATATYPE_INT16I: SoxResamplerDataType.ValueType # 0 """TODO(theomonnom): support other datatypes (shouldn't really be needed)""" SOXR_DATATYPE_INT16S: SoxResamplerDataType.ValueType # 1 -global___SoxResamplerDataType = SoxResamplerDataType +Global___SoxResamplerDataType: _TypeAlias = SoxResamplerDataType # noqa: Y015 class _SoxQualityRecipe: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _SoxQualityRecipeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SoxQualityRecipe.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _SoxQualityRecipeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_SoxQualityRecipe.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor SOXR_QUALITY_QUICK: _SoxQualityRecipe.ValueType # 0 SOXR_QUALITY_LOW: _SoxQualityRecipe.ValueType # 1 SOXR_QUALITY_MEDIUM: _SoxQualityRecipe.ValueType # 2 @@ -70,14 +70,14 @@ SOXR_QUALITY_LOW: SoxQualityRecipe.ValueType # 1 SOXR_QUALITY_MEDIUM: SoxQualityRecipe.ValueType # 2 SOXR_QUALITY_HIGH: SoxQualityRecipe.ValueType # 3 SOXR_QUALITY_VERYHIGH: SoxQualityRecipe.ValueType # 4 -global___SoxQualityRecipe = SoxQualityRecipe +Global___SoxQualityRecipe: _TypeAlias = SoxQualityRecipe # noqa: Y015 class _SoxFlagBits: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _SoxFlagBitsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SoxFlagBits.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _SoxFlagBitsEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_SoxFlagBits.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor SOXR_ROLLOFF_SMALL: _SoxFlagBits.ValueType # 0 """1 << 0""" SOXR_ROLLOFF_MEDIUM: _SoxFlagBits.ValueType # 1 @@ -105,14 +105,14 @@ SOXR_DOUBLE_PRECISION: SoxFlagBits.ValueType # 4 """1 << 4""" SOXR_VR: SoxFlagBits.ValueType # 5 """1 << 5""" -global___SoxFlagBits = SoxFlagBits +Global___SoxFlagBits: _TypeAlias = SoxFlagBits # noqa: Y015 class _AudioStreamType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _AudioStreamTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AudioStreamType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _AudioStreamTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_AudioStreamType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor AUDIO_STREAM_NATIVE: _AudioStreamType.ValueType # 0 AUDIO_STREAM_HTML: _AudioStreamType.ValueType # 1 @@ -123,46 +123,46 @@ class AudioStreamType(_AudioStreamType, metaclass=_AudioStreamTypeEnumTypeWrappe AUDIO_STREAM_NATIVE: AudioStreamType.ValueType # 0 AUDIO_STREAM_HTML: AudioStreamType.ValueType # 1 -global___AudioStreamType = AudioStreamType +Global___AudioStreamType: _TypeAlias = AudioStreamType # noqa: Y015 class _AudioSourceType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _AudioSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AudioSourceType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _AudioSourceTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_AudioSourceType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor AUDIO_SOURCE_NATIVE: _AudioSourceType.ValueType # 0 class AudioSourceType(_AudioSourceType, metaclass=_AudioSourceTypeEnumTypeWrapper): ... AUDIO_SOURCE_NATIVE: AudioSourceType.ValueType # 0 -global___AudioSourceType = AudioSourceType +Global___AudioSourceType: _TypeAlias = AudioSourceType # noqa: Y015 -@typing.final -class NewAudioStreamRequest(google.protobuf.message.Message): +@_typing.final +class NewAudioStreamRequest(_message.Message): """Create a new AudioStream AudioStream is used to receive audio frames from a track """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TRACK_HANDLE_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - SAMPLE_RATE_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int - AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int - FRAME_SIZE_MS_FIELD_NUMBER: builtins.int - QUEUE_SIZE_FRAMES_FIELD_NUMBER: builtins.int - track_handle: builtins.int - type: global___AudioStreamType.ValueType - sample_rate: builtins.int - num_channels: builtins.int - audio_filter_module_id: builtins.str + DESCRIPTOR: _descriptor.Descriptor + + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + TYPE_FIELD_NUMBER: _builtins.int + SAMPLE_RATE_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: _builtins.int + AUDIO_FILTER_OPTIONS_FIELD_NUMBER: _builtins.int + FRAME_SIZE_MS_FIELD_NUMBER: _builtins.int + QUEUE_SIZE_FRAMES_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int + type: Global___AudioStreamType.ValueType + sample_rate: _builtins.int + num_channels: _builtins.int + audio_filter_module_id: _builtins.str """Unique identifier passed in LoadAudioFilterPluginRequest""" - audio_filter_options: builtins.str - frame_size_ms: builtins.int - queue_size_frames: builtins.int + audio_filter_options: _builtins.str + frame_size_ms: _builtins.int + queue_size_frames: _builtins.int """Maximum number of queued WebRTC sink frames. Each frame is typically 10 ms of decoded PCM audio on the receive path. Omit this field to use the default bounded queue size of 10 frames. Set it to 0 to request unbounded @@ -176,59 +176,63 @@ class NewAudioStreamRequest(google.protobuf.message.Message): def __init__( self, *, - track_handle: builtins.int | None = ..., - type: global___AudioStreamType.ValueType | None = ..., - sample_rate: builtins.int | None = ..., - num_channels: builtins.int | None = ..., - audio_filter_module_id: builtins.str | None = ..., - audio_filter_options: builtins.str | None = ..., - frame_size_ms: builtins.int | None = ..., - queue_size_frames: builtins.int | None = ..., + track_handle: _builtins.int | None = ..., + type: Global___AudioStreamType.ValueType | None = ..., + sample_rate: _builtins.int | None = ..., + num_channels: _builtins.int | None = ..., + audio_filter_module_id: _builtins.str | None = ..., + audio_filter_options: _builtins.str | None = ..., + frame_size_ms: _builtins.int | None = ..., + queue_size_frames: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewAudioStreamRequest = NewAudioStreamRequest +Global___NewAudioStreamRequest: _TypeAlias = NewAudioStreamRequest # noqa: Y015 -@typing.final -class NewAudioStreamResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class NewAudioStreamResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - STREAM_FIELD_NUMBER: builtins.int - @property - def stream(self) -> global___OwnedAudioStream: ... + STREAM_FIELD_NUMBER: _builtins.int + @_builtins.property + def stream(self) -> Global___OwnedAudioStream: ... def __init__( self, *, - stream: global___OwnedAudioStream | None = ..., + stream: Global___OwnedAudioStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... - -global___NewAudioStreamResponse = NewAudioStreamResponse - -@typing.final -class AudioStreamFromParticipantRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - TRACK_SOURCE_FIELD_NUMBER: builtins.int - SAMPLE_RATE_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int - AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int - FRAME_SIZE_MS_FIELD_NUMBER: builtins.int - QUEUE_SIZE_FRAMES_FIELD_NUMBER: builtins.int - participant_handle: builtins.int - type: global___AudioStreamType.ValueType - track_source: track_pb2.TrackSource.ValueType - sample_rate: builtins.int - num_channels: builtins.int - audio_filter_module_id: builtins.str - audio_filter_options: builtins.str - frame_size_ms: builtins.int - queue_size_frames: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___NewAudioStreamResponse: _TypeAlias = NewAudioStreamResponse # noqa: Y015 + +@_typing.final +class AudioStreamFromParticipantRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + TYPE_FIELD_NUMBER: _builtins.int + TRACK_SOURCE_FIELD_NUMBER: _builtins.int + SAMPLE_RATE_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: _builtins.int + AUDIO_FILTER_OPTIONS_FIELD_NUMBER: _builtins.int + FRAME_SIZE_MS_FIELD_NUMBER: _builtins.int + QUEUE_SIZE_FRAMES_FIELD_NUMBER: _builtins.int + participant_handle: _builtins.int + type: Global___AudioStreamType.ValueType + track_source: _track_pb2.TrackSource.ValueType + sample_rate: _builtins.int + num_channels: _builtins.int + audio_filter_module_id: _builtins.str + audio_filter_options: _builtins.str + frame_size_ms: _builtins.int + queue_size_frames: _builtins.int """Maximum number of queued WebRTC sink frames. Each frame is typically 10 ms of decoded PCM audio on the receive path. Omit this field to use the default bounded queue size of 10 frames. Set it to 0 to request unbounded @@ -242,899 +246,981 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): def __init__( self, *, - participant_handle: builtins.int | None = ..., - type: global___AudioStreamType.ValueType | None = ..., - track_source: track_pb2.TrackSource.ValueType | None = ..., - sample_rate: builtins.int | None = ..., - num_channels: builtins.int | None = ..., - audio_filter_module_id: builtins.str | None = ..., - audio_filter_options: builtins.str | None = ..., - frame_size_ms: builtins.int | None = ..., - queue_size_frames: builtins.int | None = ..., + participant_handle: _builtins.int | None = ..., + type: Global___AudioStreamType.ValueType | None = ..., + track_source: _track_pb2.TrackSource.ValueType | None = ..., + sample_rate: _builtins.int | None = ..., + num_channels: _builtins.int | None = ..., + audio_filter_module_id: _builtins.str | None = ..., + audio_filter_options: _builtins.str | None = ..., + frame_size_ms: _builtins.int | None = ..., + queue_size_frames: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___AudioStreamFromParticipantRequest = AudioStreamFromParticipantRequest +Global___AudioStreamFromParticipantRequest: _TypeAlias = AudioStreamFromParticipantRequest # noqa: Y015 -@typing.final -class AudioStreamFromParticipantResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class AudioStreamFromParticipantResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - STREAM_FIELD_NUMBER: builtins.int - @property - def stream(self) -> global___OwnedAudioStream: ... + STREAM_FIELD_NUMBER: _builtins.int + @_builtins.property + def stream(self) -> Global___OwnedAudioStream: ... def __init__( self, *, - stream: global___OwnedAudioStream | None = ..., + stream: Global___OwnedAudioStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___AudioStreamFromParticipantResponse = AudioStreamFromParticipantResponse +Global___AudioStreamFromParticipantResponse: _TypeAlias = AudioStreamFromParticipantResponse # noqa: Y015 -@typing.final -class NewAudioSourceRequest(google.protobuf.message.Message): +@_typing.final +class NewAudioSourceRequest(_message.Message): """Create a new AudioSource""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TYPE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - SAMPLE_RATE_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - QUEUE_SIZE_MS_FIELD_NUMBER: builtins.int - type: global___AudioSourceType.ValueType - sample_rate: builtins.int - num_channels: builtins.int - queue_size_ms: builtins.int - @property - def options(self) -> global___AudioSourceOptions: ... + DESCRIPTOR: _descriptor.Descriptor + + TYPE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + SAMPLE_RATE_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + QUEUE_SIZE_MS_FIELD_NUMBER: _builtins.int + type: Global___AudioSourceType.ValueType + sample_rate: _builtins.int + num_channels: _builtins.int + queue_size_ms: _builtins.int + @_builtins.property + def options(self) -> Global___AudioSourceOptions: ... def __init__( self, *, - type: global___AudioSourceType.ValueType | None = ..., - options: global___AudioSourceOptions | None = ..., - sample_rate: builtins.int | None = ..., - num_channels: builtins.int | None = ..., - queue_size_ms: builtins.int | None = ..., + type: Global___AudioSourceType.ValueType | None = ..., + options: Global___AudioSourceOptions | None = ..., + sample_rate: _builtins.int | None = ..., + num_channels: _builtins.int | None = ..., + queue_size_ms: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewAudioSourceRequest = NewAudioSourceRequest +Global___NewAudioSourceRequest: _TypeAlias = NewAudioSourceRequest # noqa: Y015 -@typing.final -class NewAudioSourceResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class NewAudioSourceResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - SOURCE_FIELD_NUMBER: builtins.int - @property - def source(self) -> global___OwnedAudioSource: ... + SOURCE_FIELD_NUMBER: _builtins.int + @_builtins.property + def source(self) -> Global___OwnedAudioSource: ... def __init__( self, *, - source: global___OwnedAudioSource | None = ..., + source: Global___OwnedAudioSource | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["source", b"source"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["source", b"source"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewAudioSourceResponse = NewAudioSourceResponse +Global___NewAudioSourceResponse: _TypeAlias = NewAudioSourceResponse # noqa: Y015 -@typing.final -class CaptureAudioFrameRequest(google.protobuf.message.Message): +@_typing.final +class CaptureAudioFrameRequest(_message.Message): """Push a frame to an AudioSource The data provided must be available as long as the client receive the callback. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - SOURCE_HANDLE_FIELD_NUMBER: builtins.int - BUFFER_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - source_handle: builtins.int - request_async_id: builtins.int - @property - def buffer(self) -> global___AudioFrameBufferInfo: ... + SOURCE_HANDLE_FIELD_NUMBER: _builtins.int + BUFFER_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + source_handle: _builtins.int + request_async_id: _builtins.int + @_builtins.property + def buffer(self) -> Global___AudioFrameBufferInfo: ... def __init__( self, *, - source_handle: builtins.int | None = ..., - buffer: global___AudioFrameBufferInfo | None = ..., - request_async_id: builtins.int | None = ..., + source_handle: _builtins.int | None = ..., + buffer: Global___AudioFrameBufferInfo | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "request_async_id", b"request_async_id", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "request_async_id", b"request_async_id", "source_handle", b"source_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "request_async_id", b"request_async_id", "source_handle", b"source_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "request_async_id", b"request_async_id", "source_handle", b"source_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CaptureAudioFrameRequest = CaptureAudioFrameRequest +Global___CaptureAudioFrameRequest: _TypeAlias = CaptureAudioFrameRequest # noqa: Y015 -@typing.final -class CaptureAudioFrameResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class CaptureAudioFrameResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CaptureAudioFrameResponse = CaptureAudioFrameResponse +Global___CaptureAudioFrameResponse: _TypeAlias = CaptureAudioFrameResponse # noqa: Y015 -@typing.final -class CaptureAudioFrameCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class CaptureAudioFrameCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CaptureAudioFrameCallback = CaptureAudioFrameCallback +Global___CaptureAudioFrameCallback: _TypeAlias = CaptureAudioFrameCallback # noqa: Y015 -@typing.final -class ClearAudioBufferRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ClearAudioBufferRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - SOURCE_HANDLE_FIELD_NUMBER: builtins.int - source_handle: builtins.int + SOURCE_HANDLE_FIELD_NUMBER: _builtins.int + source_handle: _builtins.int def __init__( self, *, - source_handle: builtins.int | None = ..., + source_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["source_handle", b"source_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["source_handle", b"source_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["source_handle", b"source_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ClearAudioBufferRequest = ClearAudioBufferRequest +Global___ClearAudioBufferRequest: _TypeAlias = ClearAudioBufferRequest # noqa: Y015 -@typing.final -class ClearAudioBufferResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ClearAudioBufferResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___ClearAudioBufferResponse = ClearAudioBufferResponse +Global___ClearAudioBufferResponse: _TypeAlias = ClearAudioBufferResponse # noqa: Y015 -@typing.final -class NewAudioResamplerRequest(google.protobuf.message.Message): +@_typing.final +class NewAudioResamplerRequest(_message.Message): """Create a new AudioResampler""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___NewAudioResamplerRequest = NewAudioResamplerRequest +Global___NewAudioResamplerRequest: _TypeAlias = NewAudioResamplerRequest # noqa: Y015 -@typing.final -class NewAudioResamplerResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class NewAudioResamplerResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - RESAMPLER_FIELD_NUMBER: builtins.int - @property - def resampler(self) -> global___OwnedAudioResampler: ... + RESAMPLER_FIELD_NUMBER: _builtins.int + @_builtins.property + def resampler(self) -> Global___OwnedAudioResampler: ... def __init__( self, *, - resampler: global___OwnedAudioResampler | None = ..., + resampler: Global___OwnedAudioResampler | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["resampler", b"resampler"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resampler", b"resampler"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["resampler", b"resampler"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["resampler", b"resampler"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewAudioResamplerResponse = NewAudioResamplerResponse +Global___NewAudioResamplerResponse: _TypeAlias = NewAudioResamplerResponse # noqa: Y015 -@typing.final -class RemixAndResampleRequest(google.protobuf.message.Message): +@_typing.final +class RemixAndResampleRequest(_message.Message): """Remix and resample an audio frame""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESAMPLER_HANDLE_FIELD_NUMBER: builtins.int - BUFFER_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - SAMPLE_RATE_FIELD_NUMBER: builtins.int - resampler_handle: builtins.int - num_channels: builtins.int - sample_rate: builtins.int - @property - def buffer(self) -> global___AudioFrameBufferInfo: ... + DESCRIPTOR: _descriptor.Descriptor + + RESAMPLER_HANDLE_FIELD_NUMBER: _builtins.int + BUFFER_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + SAMPLE_RATE_FIELD_NUMBER: _builtins.int + resampler_handle: _builtins.int + num_channels: _builtins.int + sample_rate: _builtins.int + @_builtins.property + def buffer(self) -> Global___AudioFrameBufferInfo: ... def __init__( self, *, - resampler_handle: builtins.int | None = ..., - buffer: global___AudioFrameBufferInfo | None = ..., - num_channels: builtins.int | None = ..., - sample_rate: builtins.int | None = ..., + resampler_handle: _builtins.int | None = ..., + buffer: Global___AudioFrameBufferInfo | None = ..., + num_channels: _builtins.int | None = ..., + sample_rate: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RemixAndResampleRequest = RemixAndResampleRequest +Global___RemixAndResampleRequest: _TypeAlias = RemixAndResampleRequest # noqa: Y015 -@typing.final -class RemixAndResampleResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RemixAndResampleResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - BUFFER_FIELD_NUMBER: builtins.int - @property - def buffer(self) -> global___OwnedAudioFrameBuffer: ... + BUFFER_FIELD_NUMBER: _builtins.int + @_builtins.property + def buffer(self) -> Global___OwnedAudioFrameBuffer: ... def __init__( self, *, - buffer: global___OwnedAudioFrameBuffer | None = ..., + buffer: Global___OwnedAudioFrameBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RemixAndResampleResponse = RemixAndResampleResponse +Global___RemixAndResampleResponse: _TypeAlias = RemixAndResampleResponse # noqa: Y015 -@typing.final -class NewApmRequest(google.protobuf.message.Message): +@_typing.final +class NewApmRequest(_message.Message): """AEC""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ECHO_CANCELLER_ENABLED_FIELD_NUMBER: builtins.int - GAIN_CONTROLLER_ENABLED_FIELD_NUMBER: builtins.int - HIGH_PASS_FILTER_ENABLED_FIELD_NUMBER: builtins.int - NOISE_SUPPRESSION_ENABLED_FIELD_NUMBER: builtins.int - echo_canceller_enabled: builtins.bool - gain_controller_enabled: builtins.bool - high_pass_filter_enabled: builtins.bool - noise_suppression_enabled: builtins.bool + ECHO_CANCELLER_ENABLED_FIELD_NUMBER: _builtins.int + GAIN_CONTROLLER_ENABLED_FIELD_NUMBER: _builtins.int + HIGH_PASS_FILTER_ENABLED_FIELD_NUMBER: _builtins.int + NOISE_SUPPRESSION_ENABLED_FIELD_NUMBER: _builtins.int + echo_canceller_enabled: _builtins.bool + gain_controller_enabled: _builtins.bool + high_pass_filter_enabled: _builtins.bool + noise_suppression_enabled: _builtins.bool def __init__( self, *, - echo_canceller_enabled: builtins.bool | None = ..., - gain_controller_enabled: builtins.bool | None = ..., - high_pass_filter_enabled: builtins.bool | None = ..., - noise_suppression_enabled: builtins.bool | None = ..., + echo_canceller_enabled: _builtins.bool | None = ..., + gain_controller_enabled: _builtins.bool | None = ..., + high_pass_filter_enabled: _builtins.bool | None = ..., + noise_suppression_enabled: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["echo_canceller_enabled", b"echo_canceller_enabled", "gain_controller_enabled", b"gain_controller_enabled", "high_pass_filter_enabled", b"high_pass_filter_enabled", "noise_suppression_enabled", b"noise_suppression_enabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["echo_canceller_enabled", b"echo_canceller_enabled", "gain_controller_enabled", b"gain_controller_enabled", "high_pass_filter_enabled", b"high_pass_filter_enabled", "noise_suppression_enabled", b"noise_suppression_enabled"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["echo_canceller_enabled", b"echo_canceller_enabled", "gain_controller_enabled", b"gain_controller_enabled", "high_pass_filter_enabled", b"high_pass_filter_enabled", "noise_suppression_enabled", b"noise_suppression_enabled"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["echo_canceller_enabled", b"echo_canceller_enabled", "gain_controller_enabled", b"gain_controller_enabled", "high_pass_filter_enabled", b"high_pass_filter_enabled", "noise_suppression_enabled", b"noise_suppression_enabled"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewApmRequest = NewApmRequest +Global___NewApmRequest: _TypeAlias = NewApmRequest # noqa: Y015 -@typing.final -class NewApmResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class NewApmResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - APM_FIELD_NUMBER: builtins.int - @property - def apm(self) -> global___OwnedApm: ... + APM_FIELD_NUMBER: _builtins.int + @_builtins.property + def apm(self) -> Global___OwnedApm: ... def __init__( self, *, - apm: global___OwnedApm | None = ..., + apm: Global___OwnedApm | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["apm", b"apm"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["apm", b"apm"]) -> None: ... - -global___NewApmResponse = NewApmResponse - -@typing.final -class ApmProcessStreamRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - APM_HANDLE_FIELD_NUMBER: builtins.int - DATA_PTR_FIELD_NUMBER: builtins.int - SIZE_FIELD_NUMBER: builtins.int - SAMPLE_RATE_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - apm_handle: builtins.int - data_ptr: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["apm", b"apm"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["apm", b"apm"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___NewApmResponse: _TypeAlias = NewApmResponse # noqa: Y015 + +@_typing.final +class ApmProcessStreamRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + APM_HANDLE_FIELD_NUMBER: _builtins.int + DATA_PTR_FIELD_NUMBER: _builtins.int + SIZE_FIELD_NUMBER: _builtins.int + SAMPLE_RATE_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + apm_handle: _builtins.int + data_ptr: _builtins.int """*mut i16""" - size: builtins.int + size: _builtins.int """in bytes""" - sample_rate: builtins.int - num_channels: builtins.int + sample_rate: _builtins.int + num_channels: _builtins.int def __init__( self, *, - apm_handle: builtins.int | None = ..., - data_ptr: builtins.int | None = ..., - size: builtins.int | None = ..., - sample_rate: builtins.int | None = ..., - num_channels: builtins.int | None = ..., + apm_handle: _builtins.int | None = ..., + data_ptr: _builtins.int | None = ..., + size: _builtins.int | None = ..., + sample_rate: _builtins.int | None = ..., + num_channels: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ApmProcessStreamRequest = ApmProcessStreamRequest +Global___ApmProcessStreamRequest: _TypeAlias = ApmProcessStreamRequest # noqa: Y015 -@typing.final -class ApmProcessStreamResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ApmProcessStreamResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - error: builtins.str + ERROR_FIELD_NUMBER: _builtins.int + error: _builtins.str def __init__( self, *, - error: builtins.str | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... - -global___ApmProcessStreamResponse = ApmProcessStreamResponse - -@typing.final -class ApmProcessReverseStreamRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - APM_HANDLE_FIELD_NUMBER: builtins.int - DATA_PTR_FIELD_NUMBER: builtins.int - SIZE_FIELD_NUMBER: builtins.int - SAMPLE_RATE_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - apm_handle: builtins.int - data_ptr: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ApmProcessStreamResponse: _TypeAlias = ApmProcessStreamResponse # noqa: Y015 + +@_typing.final +class ApmProcessReverseStreamRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + APM_HANDLE_FIELD_NUMBER: _builtins.int + DATA_PTR_FIELD_NUMBER: _builtins.int + SIZE_FIELD_NUMBER: _builtins.int + SAMPLE_RATE_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + apm_handle: _builtins.int + data_ptr: _builtins.int """*mut i16""" - size: builtins.int + size: _builtins.int """in bytes""" - sample_rate: builtins.int - num_channels: builtins.int + sample_rate: _builtins.int + num_channels: _builtins.int def __init__( self, *, - apm_handle: builtins.int | None = ..., - data_ptr: builtins.int | None = ..., - size: builtins.int | None = ..., - sample_rate: builtins.int | None = ..., - num_channels: builtins.int | None = ..., + apm_handle: _builtins.int | None = ..., + data_ptr: _builtins.int | None = ..., + size: _builtins.int | None = ..., + sample_rate: _builtins.int | None = ..., + num_channels: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["apm_handle", b"apm_handle", "data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "size", b"size"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ApmProcessReverseStreamRequest = ApmProcessReverseStreamRequest +Global___ApmProcessReverseStreamRequest: _TypeAlias = ApmProcessReverseStreamRequest # noqa: Y015 -@typing.final -class ApmProcessReverseStreamResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ApmProcessReverseStreamResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - error: builtins.str + ERROR_FIELD_NUMBER: _builtins.int + error: _builtins.str def __init__( self, *, - error: builtins.str | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ApmProcessReverseStreamResponse = ApmProcessReverseStreamResponse +Global___ApmProcessReverseStreamResponse: _TypeAlias = ApmProcessReverseStreamResponse # noqa: Y015 -@typing.final -class ApmSetStreamDelayRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ApmSetStreamDelayRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - APM_HANDLE_FIELD_NUMBER: builtins.int - DELAY_MS_FIELD_NUMBER: builtins.int - apm_handle: builtins.int - delay_ms: builtins.int + APM_HANDLE_FIELD_NUMBER: _builtins.int + DELAY_MS_FIELD_NUMBER: _builtins.int + apm_handle: _builtins.int + delay_ms: _builtins.int def __init__( self, *, - apm_handle: builtins.int | None = ..., - delay_ms: builtins.int | None = ..., + apm_handle: _builtins.int | None = ..., + delay_ms: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["apm_handle", b"apm_handle", "delay_ms", b"delay_ms"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["apm_handle", b"apm_handle", "delay_ms", b"delay_ms"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["apm_handle", b"apm_handle", "delay_ms", b"delay_ms"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["apm_handle", b"apm_handle", "delay_ms", b"delay_ms"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ApmSetStreamDelayRequest = ApmSetStreamDelayRequest +Global___ApmSetStreamDelayRequest: _TypeAlias = ApmSetStreamDelayRequest # noqa: Y015 -@typing.final -class ApmSetStreamDelayResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ApmSetStreamDelayResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - error: builtins.str + ERROR_FIELD_NUMBER: _builtins.int + error: _builtins.str def __init__( self, *, - error: builtins.str | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ApmSetStreamDelayResponse = ApmSetStreamDelayResponse +Global___ApmSetStreamDelayResponse: _TypeAlias = ApmSetStreamDelayResponse # noqa: Y015 -@typing.final -class NewSoxResamplerRequest(google.protobuf.message.Message): +@_typing.final +class NewSoxResamplerRequest(_message.Message): """New resampler using SoX (much better quality)""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - INPUT_RATE_FIELD_NUMBER: builtins.int - OUTPUT_RATE_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - INPUT_DATA_TYPE_FIELD_NUMBER: builtins.int - OUTPUT_DATA_TYPE_FIELD_NUMBER: builtins.int - QUALITY_RECIPE_FIELD_NUMBER: builtins.int - FLAGS_FIELD_NUMBER: builtins.int - input_rate: builtins.float - output_rate: builtins.float - num_channels: builtins.int - input_data_type: global___SoxResamplerDataType.ValueType - output_data_type: global___SoxResamplerDataType.ValueType - quality_recipe: global___SoxQualityRecipe.ValueType - flags: builtins.int + DESCRIPTOR: _descriptor.Descriptor + + INPUT_RATE_FIELD_NUMBER: _builtins.int + OUTPUT_RATE_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + INPUT_DATA_TYPE_FIELD_NUMBER: _builtins.int + OUTPUT_DATA_TYPE_FIELD_NUMBER: _builtins.int + QUALITY_RECIPE_FIELD_NUMBER: _builtins.int + FLAGS_FIELD_NUMBER: _builtins.int + input_rate: _builtins.float + output_rate: _builtins.float + num_channels: _builtins.int + input_data_type: Global___SoxResamplerDataType.ValueType + output_data_type: Global___SoxResamplerDataType.ValueType + quality_recipe: Global___SoxQualityRecipe.ValueType + flags: _builtins.int def __init__( self, *, - input_rate: builtins.float | None = ..., - output_rate: builtins.float | None = ..., - num_channels: builtins.int | None = ..., - input_data_type: global___SoxResamplerDataType.ValueType | None = ..., - output_data_type: global___SoxResamplerDataType.ValueType | None = ..., - quality_recipe: global___SoxQualityRecipe.ValueType | None = ..., - flags: builtins.int | None = ..., + input_rate: _builtins.float | None = ..., + output_rate: _builtins.float | None = ..., + num_channels: _builtins.int | None = ..., + input_data_type: Global___SoxResamplerDataType.ValueType | None = ..., + output_data_type: Global___SoxResamplerDataType.ValueType | None = ..., + quality_recipe: Global___SoxQualityRecipe.ValueType | None = ..., + flags: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> None: ... - -global___NewSoxResamplerRequest = NewSoxResamplerRequest - -@typing.final -class NewSoxResamplerResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESAMPLER_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - error: builtins.str - @property - def resampler(self) -> global___OwnedSoxResampler: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___NewSoxResamplerRequest: _TypeAlias = NewSoxResamplerRequest # noqa: Y015 + +@_typing.final +class NewSoxResamplerResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RESAMPLER_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + error: _builtins.str + @_builtins.property + def resampler(self) -> Global___OwnedSoxResampler: ... def __init__( self, *, - resampler: global___OwnedSoxResampler | None = ..., - error: builtins.str | None = ..., + resampler: Global___OwnedSoxResampler | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["resampler", "error"] | None: ... - -global___NewSoxResamplerResponse = NewSoxResamplerResponse - -@typing.final -class PushSoxResamplerRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESAMPLER_HANDLE_FIELD_NUMBER: builtins.int - DATA_PTR_FIELD_NUMBER: builtins.int - SIZE_FIELD_NUMBER: builtins.int - resampler_handle: builtins.int - data_ptr: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["resampler", "error"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___NewSoxResamplerResponse: _TypeAlias = NewSoxResamplerResponse # noqa: Y015 + +@_typing.final +class PushSoxResamplerRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RESAMPLER_HANDLE_FIELD_NUMBER: _builtins.int + DATA_PTR_FIELD_NUMBER: _builtins.int + SIZE_FIELD_NUMBER: _builtins.int + resampler_handle: _builtins.int + data_ptr: _builtins.int """*const i16""" - size: builtins.int + size: _builtins.int """in bytes""" def __init__( self, *, - resampler_handle: builtins.int | None = ..., - data_ptr: builtins.int | None = ..., - size: builtins.int | None = ..., + resampler_handle: _builtins.int | None = ..., + data_ptr: _builtins.int | None = ..., + size: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PushSoxResamplerRequest = PushSoxResamplerRequest +Global___PushSoxResamplerRequest: _TypeAlias = PushSoxResamplerRequest # noqa: Y015 -@typing.final -class PushSoxResamplerResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PushSoxResamplerResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - OUTPUT_PTR_FIELD_NUMBER: builtins.int - SIZE_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - output_ptr: builtins.int + OUTPUT_PTR_FIELD_NUMBER: _builtins.int + SIZE_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + output_ptr: _builtins.int """*const i16 (could be null)""" - size: builtins.int + size: _builtins.int """in bytes""" - error: builtins.str + error: _builtins.str def __init__( self, *, - output_ptr: builtins.int | None = ..., - size: builtins.int | None = ..., - error: builtins.str | None = ..., + output_ptr: _builtins.int | None = ..., + size: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PushSoxResamplerResponse = PushSoxResamplerResponse +Global___PushSoxResamplerResponse: _TypeAlias = PushSoxResamplerResponse # noqa: Y015 -@typing.final -class FlushSoxResamplerRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class FlushSoxResamplerRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - RESAMPLER_HANDLE_FIELD_NUMBER: builtins.int - resampler_handle: builtins.int + RESAMPLER_HANDLE_FIELD_NUMBER: _builtins.int + resampler_handle: _builtins.int def __init__( self, *, - resampler_handle: builtins.int | None = ..., + resampler_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["resampler_handle", b"resampler_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resampler_handle", b"resampler_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["resampler_handle", b"resampler_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["resampler_handle", b"resampler_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___FlushSoxResamplerRequest = FlushSoxResamplerRequest +Global___FlushSoxResamplerRequest: _TypeAlias = FlushSoxResamplerRequest # noqa: Y015 -@typing.final -class FlushSoxResamplerResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class FlushSoxResamplerResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - OUTPUT_PTR_FIELD_NUMBER: builtins.int - SIZE_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - output_ptr: builtins.int + OUTPUT_PTR_FIELD_NUMBER: _builtins.int + SIZE_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + output_ptr: _builtins.int """*const i16 (could be null)""" - size: builtins.int + size: _builtins.int """in bytes""" - error: builtins.str + error: _builtins.str def __init__( self, *, - output_ptr: builtins.int | None = ..., - size: builtins.int | None = ..., - error: builtins.str | None = ..., + output_ptr: _builtins.int | None = ..., + size: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___FlushSoxResamplerResponse = FlushSoxResamplerResponse +Global___FlushSoxResamplerResponse: _TypeAlias = FlushSoxResamplerResponse # noqa: Y015 -@typing.final -class AudioFrameBufferInfo(google.protobuf.message.Message): +@_typing.final +class AudioFrameBufferInfo(_message.Message): """ AudioFrame buffer """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - DATA_PTR_FIELD_NUMBER: builtins.int - NUM_CHANNELS_FIELD_NUMBER: builtins.int - SAMPLE_RATE_FIELD_NUMBER: builtins.int - SAMPLES_PER_CHANNEL_FIELD_NUMBER: builtins.int - data_ptr: builtins.int + DATA_PTR_FIELD_NUMBER: _builtins.int + NUM_CHANNELS_FIELD_NUMBER: _builtins.int + SAMPLE_RATE_FIELD_NUMBER: _builtins.int + SAMPLES_PER_CHANNEL_FIELD_NUMBER: _builtins.int + data_ptr: _builtins.int """*const i16""" - num_channels: builtins.int - sample_rate: builtins.int - samples_per_channel: builtins.int + num_channels: _builtins.int + sample_rate: _builtins.int + samples_per_channel: _builtins.int def __init__( self, *, - data_ptr: builtins.int | None = ..., - num_channels: builtins.int | None = ..., - sample_rate: builtins.int | None = ..., - samples_per_channel: builtins.int | None = ..., + data_ptr: _builtins.int | None = ..., + num_channels: _builtins.int | None = ..., + sample_rate: _builtins.int | None = ..., + samples_per_channel: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> None: ... - -global___AudioFrameBufferInfo = AudioFrameBufferInfo - -@typing.final -class OwnedAudioFrameBuffer(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___AudioFrameBufferInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___AudioFrameBufferInfo: _TypeAlias = AudioFrameBufferInfo # noqa: Y015 + +@_typing.final +class OwnedAudioFrameBuffer(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___AudioFrameBufferInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___AudioFrameBufferInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___AudioFrameBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedAudioFrameBuffer = OwnedAudioFrameBuffer +Global___OwnedAudioFrameBuffer: _TypeAlias = OwnedAudioFrameBuffer # noqa: Y015 -@typing.final -class AudioStreamInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class AudioStreamInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TYPE_FIELD_NUMBER: builtins.int - type: global___AudioStreamType.ValueType + TYPE_FIELD_NUMBER: _builtins.int + type: Global___AudioStreamType.ValueType def __init__( self, *, - type: global___AudioStreamType.ValueType | None = ..., + type: Global___AudioStreamType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... - -global___AudioStreamInfo = AudioStreamInfo - -@typing.final -class OwnedAudioStream(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___AudioStreamInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___AudioStreamInfo: _TypeAlias = AudioStreamInfo # noqa: Y015 + +@_typing.final +class OwnedAudioStream(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___AudioStreamInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___AudioStreamInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___AudioStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... - -global___OwnedAudioStream = OwnedAudioStream - -@typing.final -class AudioStreamEvent(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STREAM_HANDLE_FIELD_NUMBER: builtins.int - FRAME_RECEIVED_FIELD_NUMBER: builtins.int - EOS_FIELD_NUMBER: builtins.int - stream_handle: builtins.int - @property - def frame_received(self) -> global___AudioFrameReceived: ... - @property - def eos(self) -> global___AudioStreamEOS: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___OwnedAudioStream: _TypeAlias = OwnedAudioStream # noqa: Y015 + +@_typing.final +class AudioStreamEvent(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + STREAM_HANDLE_FIELD_NUMBER: _builtins.int + FRAME_RECEIVED_FIELD_NUMBER: _builtins.int + EOS_FIELD_NUMBER: _builtins.int + stream_handle: _builtins.int + @_builtins.property + def frame_received(self) -> Global___AudioFrameReceived: ... + @_builtins.property + def eos(self) -> Global___AudioStreamEOS: ... def __init__( self, *, - stream_handle: builtins.int | None = ..., - frame_received: global___AudioFrameReceived | None = ..., - eos: global___AudioStreamEOS | None = ..., + stream_handle: _builtins.int | None = ..., + frame_received: Global___AudioFrameReceived | None = ..., + eos: Global___AudioStreamEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["frame_received", "eos"] | None: ... - -global___AudioStreamEvent = AudioStreamEvent - -@typing.final -class AudioFrameReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FRAME_FIELD_NUMBER: builtins.int - @property - def frame(self) -> global___OwnedAudioFrameBuffer: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["frame_received", "eos"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___AudioStreamEvent: _TypeAlias = AudioStreamEvent # noqa: Y015 + +@_typing.final +class AudioFrameReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + FRAME_FIELD_NUMBER: _builtins.int + @_builtins.property + def frame(self) -> Global___OwnedAudioFrameBuffer: ... def __init__( self, *, - frame: global___OwnedAudioFrameBuffer | None = ..., + frame: Global___OwnedAudioFrameBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frame", b"frame"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frame", b"frame"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["frame", b"frame"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["frame", b"frame"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___AudioFrameReceived = AudioFrameReceived +Global___AudioFrameReceived: _TypeAlias = AudioFrameReceived # noqa: Y015 -@typing.final -class AudioStreamEOS(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class AudioStreamEOS(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___AudioStreamEOS = AudioStreamEOS +Global___AudioStreamEOS: _TypeAlias = AudioStreamEOS # noqa: Y015 -@typing.final -class AudioSourceOptions(google.protobuf.message.Message): +@_typing.final +class AudioSourceOptions(_message.Message): """ AudioSource """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ECHO_CANCELLATION_FIELD_NUMBER: builtins.int - NOISE_SUPPRESSION_FIELD_NUMBER: builtins.int - AUTO_GAIN_CONTROL_FIELD_NUMBER: builtins.int - echo_cancellation: builtins.bool - noise_suppression: builtins.bool - auto_gain_control: builtins.bool + ECHO_CANCELLATION_FIELD_NUMBER: _builtins.int + NOISE_SUPPRESSION_FIELD_NUMBER: _builtins.int + AUTO_GAIN_CONTROL_FIELD_NUMBER: _builtins.int + echo_cancellation: _builtins.bool + noise_suppression: _builtins.bool + auto_gain_control: _builtins.bool def __init__( self, *, - echo_cancellation: builtins.bool | None = ..., - noise_suppression: builtins.bool | None = ..., - auto_gain_control: builtins.bool | None = ..., + echo_cancellation: _builtins.bool | None = ..., + noise_suppression: _builtins.bool | None = ..., + auto_gain_control: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___AudioSourceOptions = AudioSourceOptions +Global___AudioSourceOptions: _TypeAlias = AudioSourceOptions # noqa: Y015 -@typing.final -class AudioSourceInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class AudioSourceInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TYPE_FIELD_NUMBER: builtins.int - type: global___AudioSourceType.ValueType + TYPE_FIELD_NUMBER: _builtins.int + type: Global___AudioSourceType.ValueType def __init__( self, *, - type: global___AudioSourceType.ValueType | None = ..., + type: Global___AudioSourceType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... - -global___AudioSourceInfo = AudioSourceInfo - -@typing.final -class OwnedAudioSource(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___AudioSourceInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___AudioSourceInfo: _TypeAlias = AudioSourceInfo # noqa: Y015 + +@_typing.final +class OwnedAudioSource(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___AudioSourceInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___AudioSourceInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___AudioSourceInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedAudioSource = OwnedAudioSource +Global___OwnedAudioSource: _TypeAlias = OwnedAudioSource # noqa: Y015 -@typing.final -class AudioResamplerInfo(google.protobuf.message.Message): +@_typing.final +class AudioResamplerInfo(_message.Message): """ AudioResampler """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___AudioResamplerInfo = AudioResamplerInfo +Global___AudioResamplerInfo: _TypeAlias = AudioResamplerInfo # noqa: Y015 -@typing.final -class OwnedAudioResampler(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class OwnedAudioResampler(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___AudioResamplerInfo: ... + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___AudioResamplerInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___AudioResamplerInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___AudioResamplerInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedAudioResampler = OwnedAudioResampler +Global___OwnedAudioResampler: _TypeAlias = OwnedAudioResampler # noqa: Y015 -@typing.final -class OwnedApm(google.protobuf.message.Message): +@_typing.final +class OwnedApm(_message.Message): """ AEC """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... + HANDLE_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedApm = OwnedApm +Global___OwnedApm: _TypeAlias = OwnedApm # noqa: Y015 -@typing.final -class SoxResamplerInfo(google.protobuf.message.Message): +@_typing.final +class SoxResamplerInfo(_message.Message): """ Sox AudioResampler """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___SoxResamplerInfo = SoxResamplerInfo +Global___SoxResamplerInfo: _TypeAlias = SoxResamplerInfo # noqa: Y015 -@typing.final -class OwnedSoxResampler(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class OwnedSoxResampler(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___SoxResamplerInfo: ... + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___SoxResamplerInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___SoxResamplerInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___SoxResamplerInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedSoxResampler = OwnedSoxResampler +Global___OwnedSoxResampler: _TypeAlias = OwnedSoxResampler # noqa: Y015 -@typing.final -class LoadAudioFilterPluginRequest(google.protobuf.message.Message): +@_typing.final +class LoadAudioFilterPluginRequest(_message.Message): """Audio Filter Plugin""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - PLUGIN_PATH_FIELD_NUMBER: builtins.int - DEPENDENCIES_FIELD_NUMBER: builtins.int - MODULE_ID_FIELD_NUMBER: builtins.int - plugin_path: builtins.str + PLUGIN_PATH_FIELD_NUMBER: _builtins.int + DEPENDENCIES_FIELD_NUMBER: _builtins.int + MODULE_ID_FIELD_NUMBER: _builtins.int + plugin_path: _builtins.str """path for ffi audio filter plugin""" - module_id: builtins.str + module_id: _builtins.str """Unique identifier of the plugin""" - @property - def dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + @_builtins.property + def dependencies(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: """Optional: paths for dependency dylibs""" def __init__( self, *, - plugin_path: builtins.str | None = ..., - dependencies: collections.abc.Iterable[builtins.str] | None = ..., - module_id: builtins.str | None = ..., + plugin_path: _builtins.str | None = ..., + dependencies: _abc.Iterable[_builtins.str] | None = ..., + module_id: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["module_id", b"module_id", "plugin_path", b"plugin_path"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["dependencies", b"dependencies", "module_id", b"module_id", "plugin_path", b"plugin_path"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["module_id", b"module_id", "plugin_path", b"plugin_path"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["dependencies", b"dependencies", "module_id", b"module_id", "plugin_path", b"plugin_path"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LoadAudioFilterPluginRequest = LoadAudioFilterPluginRequest +Global___LoadAudioFilterPluginRequest: _TypeAlias = LoadAudioFilterPluginRequest # noqa: Y015 -@typing.final -class LoadAudioFilterPluginResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LoadAudioFilterPluginResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - error: builtins.str + ERROR_FIELD_NUMBER: _builtins.int + error: _builtins.str def __init__( self, *, - error: builtins.str | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LoadAudioFilterPluginResponse = LoadAudioFilterPluginResponse +Global___LoadAudioFilterPluginResponse: _TypeAlias = LoadAudioFilterPluginResponse # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py index 3d12d60f..baba54a0 100644 --- a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: data_stream.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -22,16 +21,17 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'data_stream_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._options = None - _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_BYTESTREAMINFO_ATTRIBUTESENTRY']._options = None - _globals['_BYTESTREAMINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_STREAMTEXTOPTIONS_ATTRIBUTESENTRY']._options = None - _globals['_STREAMTEXTOPTIONS_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_STREAMBYTEOPTIONS_ATTRIBUTESENTRY']._options = None - _globals['_STREAMBYTEOPTIONS_ATTRIBUTESENTRY']._serialized_options = b'8\001' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _TEXTSTREAMINFO_ATTRIBUTESENTRY._options = None + _TEXTSTREAMINFO_ATTRIBUTESENTRY._serialized_options = b'8\001' + _BYTESTREAMINFO_ATTRIBUTESENTRY._options = None + _BYTESTREAMINFO_ATTRIBUTESENTRY._serialized_options = b'8\001' + _STREAMTEXTOPTIONS_ATTRIBUTESENTRY._options = None + _STREAMTEXTOPTIONS_ATTRIBUTESENTRY._serialized_options = b'8\001' + _STREAMBYTEOPTIONS_ATTRIBUTESENTRY._options = None + _STREAMBYTEOPTIONS_ATTRIBUTESENTRY._serialized_options = b'8\001' _globals['_OWNEDTEXTSTREAMREADER']._serialized_start=62 _globals['_OWNEDTEXTSTREAMREADER']._serialized_end=177 _globals['_TEXTSTREAMREADERREADINCREMENTALREQUEST']._serialized_start=179 diff --git a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi index e68dc45f..fe14c8cb 100644 --- a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi @@ -16,329 +16,361 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -from . import e2ee_pb2 -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import handle_pb2 +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins +from . import e2ee_pb2 as _e2ee_pb2 +from . import handle_pb2 as _handle_pb2 import sys -import typing +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor -@typing.final -class OwnedTextStreamReader(google.protobuf.message.Message): +@_typing.final +class OwnedTextStreamReader(_message.Message): """MARK: - Text stream reader A reader for an incoming stream. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___TextStreamInfo: ... + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___TextStreamInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___TextStreamInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___TextStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedTextStreamReader = OwnedTextStreamReader +Global___OwnedTextStreamReader: _TypeAlias = OwnedTextStreamReader # noqa: Y015 -@typing.final -class TextStreamReaderReadIncrementalRequest(google.protobuf.message.Message): +@_typing.final +class TextStreamReaderReadIncrementalRequest(_message.Message): """Reads an incoming text stream incrementally.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - READER_HANDLE_FIELD_NUMBER: builtins.int - reader_handle: builtins.int + READER_HANDLE_FIELD_NUMBER: _builtins.int + reader_handle: _builtins.int def __init__( self, *, - reader_handle: builtins.int | None = ..., + reader_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reader_handle", b"reader_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reader_handle", b"reader_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamReaderReadIncrementalRequest = TextStreamReaderReadIncrementalRequest +Global___TextStreamReaderReadIncrementalRequest: _TypeAlias = TextStreamReaderReadIncrementalRequest # noqa: Y015 -@typing.final -class TextStreamReaderReadIncrementalResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TextStreamReaderReadIncrementalResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___TextStreamReaderReadIncrementalResponse = TextStreamReaderReadIncrementalResponse +Global___TextStreamReaderReadIncrementalResponse: _TypeAlias = TextStreamReaderReadIncrementalResponse # noqa: Y015 -@typing.final -class TextStreamReaderReadAllRequest(google.protobuf.message.Message): +@_typing.final +class TextStreamReaderReadAllRequest(_message.Message): """Reads an incoming text stream in its entirety.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - READER_HANDLE_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - reader_handle: builtins.int - request_async_id: builtins.int + READER_HANDLE_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + reader_handle: _builtins.int + request_async_id: _builtins.int def __init__( self, *, - reader_handle: builtins.int | None = ..., - request_async_id: builtins.int | None = ..., + reader_handle: _builtins.int | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamReaderReadAllRequest = TextStreamReaderReadAllRequest +Global___TextStreamReaderReadAllRequest: _TypeAlias = TextStreamReaderReadAllRequest # noqa: Y015 -@typing.final -class TextStreamReaderReadAllResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TextStreamReaderReadAllResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___TextStreamReaderReadAllResponse = TextStreamReaderReadAllResponse - -@typing.final -class TextStreamReaderReadAllCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - CONTENT_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - content: builtins.str - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TextStreamReaderReadAllResponse: _TypeAlias = TextStreamReaderReadAllResponse # noqa: Y015 + +@_typing.final +class TextStreamReaderReadAllCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + CONTENT_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + content: _builtins.str + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - content: builtins.str | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + content: _builtins.str | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["content", "error"] | None: ... - -global___TextStreamReaderReadAllCallback = TextStreamReaderReadAllCallback - -@typing.final -class TextStreamReaderEvent(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - READER_HANDLE_FIELD_NUMBER: builtins.int - CHUNK_RECEIVED_FIELD_NUMBER: builtins.int - EOS_FIELD_NUMBER: builtins.int - reader_handle: builtins.int - @property - def chunk_received(self) -> global___TextStreamReaderChunkReceived: ... - @property - def eos(self) -> global___TextStreamReaderEOS: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["content", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___TextStreamReaderReadAllCallback: _TypeAlias = TextStreamReaderReadAllCallback # noqa: Y015 + +@_typing.final +class TextStreamReaderEvent(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + READER_HANDLE_FIELD_NUMBER: _builtins.int + CHUNK_RECEIVED_FIELD_NUMBER: _builtins.int + EOS_FIELD_NUMBER: _builtins.int + reader_handle: _builtins.int + @_builtins.property + def chunk_received(self) -> Global___TextStreamReaderChunkReceived: ... + @_builtins.property + def eos(self) -> Global___TextStreamReaderEOS: ... def __init__( self, *, - reader_handle: builtins.int | None = ..., - chunk_received: global___TextStreamReaderChunkReceived | None = ..., - eos: global___TextStreamReaderEOS | None = ..., + reader_handle: _builtins.int | None = ..., + chunk_received: Global___TextStreamReaderChunkReceived | None = ..., + eos: Global___TextStreamReaderEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["detail", b"detail"]) -> typing.Literal["chunk_received", "eos"] | None: ... - -global___TextStreamReaderEvent = TextStreamReaderEvent - -@typing.final -class TextStreamReaderChunkReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CONTENT_FIELD_NUMBER: builtins.int - content: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_detail: _TypeAlias = _typing.Literal["chunk_received", "eos"] # noqa: Y015 + _WhichOneofArgType_detail: _TypeAlias = _typing.Literal["detail", b"detail"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_detail) -> _WhichOneofReturnType_detail | None: ... + +Global___TextStreamReaderEvent: _TypeAlias = TextStreamReaderEvent # noqa: Y015 + +@_typing.final +class TextStreamReaderChunkReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + CONTENT_FIELD_NUMBER: _builtins.int + content: _builtins.str def __init__( self, *, - content: builtins.str | None = ..., + content: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["content", b"content"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["content", b"content"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["content", b"content"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["content", b"content"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamReaderChunkReceived = TextStreamReaderChunkReceived +Global___TextStreamReaderChunkReceived: _TypeAlias = TextStreamReaderChunkReceived # noqa: Y015 -@typing.final -class TextStreamReaderEOS(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TextStreamReaderEOS(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - @property - def error(self) -> global___StreamError: ... + ERROR_FIELD_NUMBER: _builtins.int + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - error: global___StreamError | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamReaderEOS = TextStreamReaderEOS +Global___TextStreamReaderEOS: _TypeAlias = TextStreamReaderEOS # noqa: Y015 -@typing.final -class OwnedByteStreamReader(google.protobuf.message.Message): +@_typing.final +class OwnedByteStreamReader(_message.Message): """MARK: - Byte stream reader A reader for an incoming stream. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___ByteStreamInfo: ... + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___ByteStreamInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___ByteStreamInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___ByteStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedByteStreamReader = OwnedByteStreamReader +Global___OwnedByteStreamReader: _TypeAlias = OwnedByteStreamReader # noqa: Y015 -@typing.final -class ByteStreamReaderReadIncrementalRequest(google.protobuf.message.Message): +@_typing.final +class ByteStreamReaderReadIncrementalRequest(_message.Message): """Reads an incoming byte stream incrementally.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - READER_HANDLE_FIELD_NUMBER: builtins.int - reader_handle: builtins.int + READER_HANDLE_FIELD_NUMBER: _builtins.int + reader_handle: _builtins.int def __init__( self, *, - reader_handle: builtins.int | None = ..., + reader_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reader_handle", b"reader_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reader_handle", b"reader_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamReaderReadIncrementalRequest = ByteStreamReaderReadIncrementalRequest +Global___ByteStreamReaderReadIncrementalRequest: _TypeAlias = ByteStreamReaderReadIncrementalRequest # noqa: Y015 -@typing.final -class ByteStreamReaderReadIncrementalResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamReaderReadIncrementalResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___ByteStreamReaderReadIncrementalResponse = ByteStreamReaderReadIncrementalResponse +Global___ByteStreamReaderReadIncrementalResponse: _TypeAlias = ByteStreamReaderReadIncrementalResponse # noqa: Y015 -@typing.final -class ByteStreamReaderReadAllRequest(google.protobuf.message.Message): +@_typing.final +class ByteStreamReaderReadAllRequest(_message.Message): """Reads an incoming byte stream in its entirety.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - READER_HANDLE_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - reader_handle: builtins.int - request_async_id: builtins.int + READER_HANDLE_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + reader_handle: _builtins.int + request_async_id: _builtins.int def __init__( self, *, - reader_handle: builtins.int | None = ..., - request_async_id: builtins.int | None = ..., + reader_handle: _builtins.int | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reader_handle", b"reader_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamReaderReadAllRequest = ByteStreamReaderReadAllRequest +Global___ByteStreamReaderReadAllRequest: _TypeAlias = ByteStreamReaderReadAllRequest # noqa: Y015 -@typing.final -class ByteStreamReaderReadAllResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamReaderReadAllResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___ByteStreamReaderReadAllResponse = ByteStreamReaderReadAllResponse - -@typing.final -class ByteStreamReaderReadAllCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - CONTENT_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - content: builtins.bytes - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ByteStreamReaderReadAllResponse: _TypeAlias = ByteStreamReaderReadAllResponse # noqa: Y015 + +@_typing.final +class ByteStreamReaderReadAllCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + CONTENT_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + content: _builtins.bytes + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - content: builtins.bytes | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + content: _builtins.bytes | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["content", "error"] | None: ... - -global___ByteStreamReaderReadAllCallback = ByteStreamReaderReadAllCallback - -@typing.final -class ByteStreamReaderWriteToFileRequest(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "content", b"content", "error", b"error", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["content", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___ByteStreamReaderReadAllCallback: _TypeAlias = ByteStreamReaderReadAllCallback # noqa: Y015 + +@_typing.final +class ByteStreamReaderWriteToFileRequest(_message.Message): """Writes data from an incoming stream to a file as it arrives.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - READER_HANDLE_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - DIRECTORY_FIELD_NUMBER: builtins.int - NAME_OVERRIDE_FIELD_NUMBER: builtins.int - reader_handle: builtins.int - request_async_id: builtins.int - directory: builtins.str + READER_HANDLE_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + DIRECTORY_FIELD_NUMBER: _builtins.int + NAME_OVERRIDE_FIELD_NUMBER: _builtins.int + reader_handle: _builtins.int + request_async_id: _builtins.int + directory: _builtins.str """Directory to write the file in (must be writable by the current process). If not provided, the file will be written to the system's temp directory. """ - name_override: builtins.str + name_override: _builtins.str """Name to use for the written file. If not provided, the file's name and extension will be inferred from the stream's info. @@ -346,774 +378,858 @@ class ByteStreamReaderWriteToFileRequest(google.protobuf.message.Message): def __init__( self, *, - reader_handle: builtins.int | None = ..., - request_async_id: builtins.int | None = ..., - directory: builtins.str | None = ..., - name_override: builtins.str | None = ..., + reader_handle: _builtins.int | None = ..., + request_async_id: _builtins.int | None = ..., + directory: _builtins.str | None = ..., + name_override: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["directory", b"directory", "name_override", b"name_override", "reader_handle", b"reader_handle", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["directory", b"directory", "name_override", b"name_override", "reader_handle", b"reader_handle", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["directory", b"directory", "name_override", b"name_override", "reader_handle", b"reader_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["directory", b"directory", "name_override", b"name_override", "reader_handle", b"reader_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamReaderWriteToFileRequest = ByteStreamReaderWriteToFileRequest +Global___ByteStreamReaderWriteToFileRequest: _TypeAlias = ByteStreamReaderWriteToFileRequest # noqa: Y015 -@typing.final -class ByteStreamReaderWriteToFileResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamReaderWriteToFileResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___ByteStreamReaderWriteToFileResponse = ByteStreamReaderWriteToFileResponse - -@typing.final -class ByteStreamReaderWriteToFileCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - FILE_PATH_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - file_path: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ByteStreamReaderWriteToFileResponse: _TypeAlias = ByteStreamReaderWriteToFileResponse # noqa: Y015 + +@_typing.final +class ByteStreamReaderWriteToFileCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + FILE_PATH_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + file_path: _builtins.str """Path the file was written to.""" - @property - def error(self) -> global___StreamError: ... + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - file_path: builtins.str | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + file_path: _builtins.str | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "file_path", b"file_path", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "file_path", b"file_path", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["file_path", "error"] | None: ... - -global___ByteStreamReaderWriteToFileCallback = ByteStreamReaderWriteToFileCallback - -@typing.final -class ByteStreamReaderEvent(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - READER_HANDLE_FIELD_NUMBER: builtins.int - CHUNK_RECEIVED_FIELD_NUMBER: builtins.int - EOS_FIELD_NUMBER: builtins.int - reader_handle: builtins.int - @property - def chunk_received(self) -> global___ByteStreamReaderChunkReceived: ... - @property - def eos(self) -> global___ByteStreamReaderEOS: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "file_path", b"file_path", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "file_path", b"file_path", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["file_path", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___ByteStreamReaderWriteToFileCallback: _TypeAlias = ByteStreamReaderWriteToFileCallback # noqa: Y015 + +@_typing.final +class ByteStreamReaderEvent(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + READER_HANDLE_FIELD_NUMBER: _builtins.int + CHUNK_RECEIVED_FIELD_NUMBER: _builtins.int + EOS_FIELD_NUMBER: _builtins.int + reader_handle: _builtins.int + @_builtins.property + def chunk_received(self) -> Global___ByteStreamReaderChunkReceived: ... + @_builtins.property + def eos(self) -> Global___ByteStreamReaderEOS: ... def __init__( self, *, - reader_handle: builtins.int | None = ..., - chunk_received: global___ByteStreamReaderChunkReceived | None = ..., - eos: global___ByteStreamReaderEOS | None = ..., + reader_handle: _builtins.int | None = ..., + chunk_received: Global___ByteStreamReaderChunkReceived | None = ..., + eos: Global___ByteStreamReaderEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["detail", b"detail"]) -> typing.Literal["chunk_received", "eos"] | None: ... - -global___ByteStreamReaderEvent = ByteStreamReaderEvent - -@typing.final -class ByteStreamReaderChunkReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CONTENT_FIELD_NUMBER: builtins.int - content: builtins.bytes + _HasFieldArgType: _TypeAlias = _typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["chunk_received", b"chunk_received", "detail", b"detail", "eos", b"eos", "reader_handle", b"reader_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_detail: _TypeAlias = _typing.Literal["chunk_received", "eos"] # noqa: Y015 + _WhichOneofArgType_detail: _TypeAlias = _typing.Literal["detail", b"detail"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_detail) -> _WhichOneofReturnType_detail | None: ... + +Global___ByteStreamReaderEvent: _TypeAlias = ByteStreamReaderEvent # noqa: Y015 + +@_typing.final +class ByteStreamReaderChunkReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + CONTENT_FIELD_NUMBER: _builtins.int + content: _builtins.bytes def __init__( self, *, - content: builtins.bytes | None = ..., + content: _builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["content", b"content"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["content", b"content"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["content", b"content"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["content", b"content"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamReaderChunkReceived = ByteStreamReaderChunkReceived +Global___ByteStreamReaderChunkReceived: _TypeAlias = ByteStreamReaderChunkReceived # noqa: Y015 -@typing.final -class ByteStreamReaderEOS(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamReaderEOS(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - @property - def error(self) -> global___StreamError: ... + ERROR_FIELD_NUMBER: _builtins.int + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - error: global___StreamError | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamReaderEOS = ByteStreamReaderEOS +Global___ByteStreamReaderEOS: _TypeAlias = ByteStreamReaderEOS # noqa: Y015 -@typing.final -class StreamSendFileRequest(google.protobuf.message.Message): +@_typing.final +class StreamSendFileRequest(_message.Message): """MARK: - Send file Sends the contents of a file over a data stream. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - FILE_PATH_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - file_path: builtins.str + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + FILE_PATH_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + file_path: _builtins.str """Path of the file to send (must be readable by the current process).""" - request_async_id: builtins.int - @property - def options(self) -> global___StreamByteOptions: ... + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___StreamByteOptions: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - options: global___StreamByteOptions | None = ..., - file_path: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + options: Global___StreamByteOptions | None = ..., + file_path: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["file_path", b"file_path", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["file_path", b"file_path", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["file_path", b"file_path", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["file_path", b"file_path", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___StreamSendFileRequest = StreamSendFileRequest +Global___StreamSendFileRequest: _TypeAlias = StreamSendFileRequest # noqa: Y015 -@typing.final -class StreamSendFileResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class StreamSendFileResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___StreamSendFileResponse = StreamSendFileResponse - -@typing.final -class StreamSendFileCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def info(self) -> global___ByteStreamInfo: ... - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___StreamSendFileResponse: _TypeAlias = StreamSendFileResponse # noqa: Y015 + +@_typing.final +class StreamSendFileCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def info(self) -> Global___ByteStreamInfo: ... + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - info: global___ByteStreamInfo | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + info: Global___ByteStreamInfo | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["info", "error"] | None: ... - -global___StreamSendFileCallback = StreamSendFileCallback - -@typing.final -class StreamSendBytesRequest(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["info", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___StreamSendFileCallback: _TypeAlias = StreamSendFileCallback # noqa: Y015 + +@_typing.final +class StreamSendBytesRequest(_message.Message): """MARK: - Send bytes Sends bytes over a data stream. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - BYTES_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - bytes: builtins.bytes + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + BYTES_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + bytes: _builtins.bytes """Bytes to send.""" - request_async_id: builtins.int - @property - def options(self) -> global___StreamByteOptions: ... + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___StreamByteOptions: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - options: global___StreamByteOptions | None = ..., - bytes: builtins.bytes | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + options: Global___StreamByteOptions | None = ..., + bytes: _builtins.bytes | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes", b"bytes", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes", b"bytes", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["bytes", b"bytes", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["bytes", b"bytes", "local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___StreamSendBytesRequest = StreamSendBytesRequest +Global___StreamSendBytesRequest: _TypeAlias = StreamSendBytesRequest # noqa: Y015 -@typing.final -class StreamSendBytesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class StreamSendBytesResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___StreamSendBytesResponse = StreamSendBytesResponse - -@typing.final -class StreamSendBytesCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def info(self) -> global___ByteStreamInfo: ... - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___StreamSendBytesResponse: _TypeAlias = StreamSendBytesResponse # noqa: Y015 + +@_typing.final +class StreamSendBytesCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def info(self) -> Global___ByteStreamInfo: ... + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - info: global___ByteStreamInfo | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + info: Global___ByteStreamInfo | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["info", "error"] | None: ... - -global___StreamSendBytesCallback = StreamSendBytesCallback - -@typing.final -class StreamSendTextRequest(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["info", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___StreamSendBytesCallback: _TypeAlias = StreamSendBytesCallback # noqa: Y015 + +@_typing.final +class StreamSendTextRequest(_message.Message): """MARK: - Send text Sends text over a data stream. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - text: builtins.str + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + TEXT_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + text: _builtins.str """Text to send.""" - request_async_id: builtins.int - @property - def options(self) -> global___StreamTextOptions: ... + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___StreamTextOptions: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - options: global___StreamTextOptions | None = ..., - text: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + options: Global___StreamTextOptions | None = ..., + text: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "text", b"text"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "text", b"text"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "text", b"text"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___StreamSendTextRequest = StreamSendTextRequest +Global___StreamSendTextRequest: _TypeAlias = StreamSendTextRequest # noqa: Y015 -@typing.final -class StreamSendTextResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class StreamSendTextResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___StreamSendTextResponse = StreamSendTextResponse - -@typing.final -class StreamSendTextCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def info(self) -> global___TextStreamInfo: ... - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___StreamSendTextResponse: _TypeAlias = StreamSendTextResponse # noqa: Y015 + +@_typing.final +class StreamSendTextCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def info(self) -> Global___TextStreamInfo: ... + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - info: global___TextStreamInfo | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + info: Global___TextStreamInfo | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["info", "error"] | None: ... - -global___StreamSendTextCallback = StreamSendTextCallback - -@typing.final -class OwnedByteStreamWriter(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "info", b"info", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["info", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___StreamSendTextCallback: _TypeAlias = StreamSendTextCallback # noqa: Y015 + +@_typing.final +class OwnedByteStreamWriter(_message.Message): """MARK: - Byte stream writer""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___ByteStreamInfo: ... + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___ByteStreamInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___ByteStreamInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___ByteStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedByteStreamWriter = OwnedByteStreamWriter +Global___OwnedByteStreamWriter: _TypeAlias = OwnedByteStreamWriter # noqa: Y015 -@typing.final -class ByteStreamOpenRequest(google.protobuf.message.Message): +@_typing.final +class ByteStreamOpenRequest(_message.Message): """Opens an outgoing stream. Call must be balanced with a StreamCloseRequest. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - request_async_id: builtins.int - @property - def options(self) -> global___StreamByteOptions: + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___StreamByteOptions: """Options to use for opening the stream.""" def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - options: global___StreamByteOptions | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + options: Global___StreamByteOptions | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamOpenRequest = ByteStreamOpenRequest +Global___ByteStreamOpenRequest: _TypeAlias = ByteStreamOpenRequest # noqa: Y015 -@typing.final -class ByteStreamOpenResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamOpenResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___ByteStreamOpenResponse = ByteStreamOpenResponse - -@typing.final -class ByteStreamOpenCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - WRITER_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def writer(self) -> global___OwnedByteStreamWriter: ... - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ByteStreamOpenResponse: _TypeAlias = ByteStreamOpenResponse # noqa: Y015 + +@_typing.final +class ByteStreamOpenCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + WRITER_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def writer(self) -> Global___OwnedByteStreamWriter: ... + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - writer: global___OwnedByteStreamWriter | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + writer: Global___OwnedByteStreamWriter | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["writer", "error"] | None: ... - -global___ByteStreamOpenCallback = ByteStreamOpenCallback - -@typing.final -class ByteStreamWriterWriteRequest(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["writer", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___ByteStreamOpenCallback: _TypeAlias = ByteStreamOpenCallback # noqa: Y015 + +@_typing.final +class ByteStreamWriterWriteRequest(_message.Message): """Writes data to a stream writer.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - WRITER_HANDLE_FIELD_NUMBER: builtins.int - BYTES_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - writer_handle: builtins.int - bytes: builtins.bytes - request_async_id: builtins.int + WRITER_HANDLE_FIELD_NUMBER: _builtins.int + BYTES_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + writer_handle: _builtins.int + bytes: _builtins.bytes + request_async_id: _builtins.int def __init__( self, *, - writer_handle: builtins.int | None = ..., - bytes: builtins.bytes | None = ..., - request_async_id: builtins.int | None = ..., + writer_handle: _builtins.int | None = ..., + bytes: _builtins.bytes | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes", b"bytes", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes", b"bytes", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["bytes", b"bytes", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["bytes", b"bytes", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamWriterWriteRequest = ByteStreamWriterWriteRequest +Global___ByteStreamWriterWriteRequest: _TypeAlias = ByteStreamWriterWriteRequest # noqa: Y015 -@typing.final -class ByteStreamWriterWriteResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamWriterWriteResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___ByteStreamWriterWriteResponse = ByteStreamWriterWriteResponse - -@typing.final -class ByteStreamWriterWriteCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ByteStreamWriterWriteResponse: _TypeAlias = ByteStreamWriterWriteResponse # noqa: Y015 + +@_typing.final +class ByteStreamWriterWriteCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamWriterWriteCallback = ByteStreamWriterWriteCallback +Global___ByteStreamWriterWriteCallback: _TypeAlias = ByteStreamWriterWriteCallback # noqa: Y015 -@typing.final -class ByteStreamWriterCloseRequest(google.protobuf.message.Message): +@_typing.final +class ByteStreamWriterCloseRequest(_message.Message): """Closes a stream writer.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - WRITER_HANDLE_FIELD_NUMBER: builtins.int - REASON_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - writer_handle: builtins.int - reason: builtins.str - request_async_id: builtins.int + WRITER_HANDLE_FIELD_NUMBER: _builtins.int + REASON_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + writer_handle: _builtins.int + reason: _builtins.str + request_async_id: _builtins.int def __init__( self, *, - writer_handle: builtins.int | None = ..., - reason: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + writer_handle: _builtins.int | None = ..., + reason: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamWriterCloseRequest = ByteStreamWriterCloseRequest +Global___ByteStreamWriterCloseRequest: _TypeAlias = ByteStreamWriterCloseRequest # noqa: Y015 -@typing.final -class ByteStreamWriterCloseResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamWriterCloseResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___ByteStreamWriterCloseResponse = ByteStreamWriterCloseResponse - -@typing.final -class ByteStreamWriterCloseCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ByteStreamWriterCloseResponse: _TypeAlias = ByteStreamWriterCloseResponse # noqa: Y015 + +@_typing.final +class ByteStreamWriterCloseCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamWriterCloseCallback = ByteStreamWriterCloseCallback +Global___ByteStreamWriterCloseCallback: _TypeAlias = ByteStreamWriterCloseCallback # noqa: Y015 -@typing.final -class OwnedTextStreamWriter(google.protobuf.message.Message): +@_typing.final +class OwnedTextStreamWriter(_message.Message): """MARK: - Text stream writer""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___TextStreamInfo: ... + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___TextStreamInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___TextStreamInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___TextStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedTextStreamWriter = OwnedTextStreamWriter +Global___OwnedTextStreamWriter: _TypeAlias = OwnedTextStreamWriter # noqa: Y015 -@typing.final -class TextStreamOpenRequest(google.protobuf.message.Message): +@_typing.final +class TextStreamOpenRequest(_message.Message): """Opens an outgoing text stream. Call must be balanced with a TextStreamCloseRequest. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - request_async_id: builtins.int - @property - def options(self) -> global___StreamTextOptions: + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___StreamTextOptions: """Options to use for opening the stream.""" def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - options: global___StreamTextOptions | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + options: Global___StreamTextOptions | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamOpenRequest = TextStreamOpenRequest +Global___TextStreamOpenRequest: _TypeAlias = TextStreamOpenRequest # noqa: Y015 -@typing.final -class TextStreamOpenResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TextStreamOpenResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___TextStreamOpenResponse = TextStreamOpenResponse - -@typing.final -class TextStreamOpenCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - WRITER_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def writer(self) -> global___OwnedTextStreamWriter: ... - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TextStreamOpenResponse: _TypeAlias = TextStreamOpenResponse # noqa: Y015 + +@_typing.final +class TextStreamOpenCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + WRITER_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def writer(self) -> Global___OwnedTextStreamWriter: ... + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - writer: global___OwnedTextStreamWriter | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + writer: Global___OwnedTextStreamWriter | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["writer", "error"] | None: ... - -global___TextStreamOpenCallback = TextStreamOpenCallback - -@typing.final -class TextStreamWriterWriteRequest(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "writer", b"writer"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["writer", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___TextStreamOpenCallback: _TypeAlias = TextStreamOpenCallback # noqa: Y015 + +@_typing.final +class TextStreamWriterWriteRequest(_message.Message): """Writes text to a text stream writer.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - WRITER_HANDLE_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - writer_handle: builtins.int - text: builtins.str - request_async_id: builtins.int + WRITER_HANDLE_FIELD_NUMBER: _builtins.int + TEXT_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + writer_handle: _builtins.int + text: _builtins.str + request_async_id: _builtins.int def __init__( self, *, - writer_handle: builtins.int | None = ..., - text: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + writer_handle: _builtins.int | None = ..., + text: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "text", b"text", "writer_handle", b"writer_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "text", b"text", "writer_handle", b"writer_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "text", b"text", "writer_handle", b"writer_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "text", b"text", "writer_handle", b"writer_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamWriterWriteRequest = TextStreamWriterWriteRequest +Global___TextStreamWriterWriteRequest: _TypeAlias = TextStreamWriterWriteRequest # noqa: Y015 -@typing.final -class TextStreamWriterWriteResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TextStreamWriterWriteResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___TextStreamWriterWriteResponse = TextStreamWriterWriteResponse - -@typing.final -class TextStreamWriterWriteCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TextStreamWriterWriteResponse: _TypeAlias = TextStreamWriterWriteResponse # noqa: Y015 + +@_typing.final +class TextStreamWriterWriteCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamWriterWriteCallback = TextStreamWriterWriteCallback +Global___TextStreamWriterWriteCallback: _TypeAlias = TextStreamWriterWriteCallback # noqa: Y015 -@typing.final -class TextStreamWriterCloseRequest(google.protobuf.message.Message): +@_typing.final +class TextStreamWriterCloseRequest(_message.Message): """Closes a text stream writer.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - WRITER_HANDLE_FIELD_NUMBER: builtins.int - REASON_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - writer_handle: builtins.int - reason: builtins.str - request_async_id: builtins.int + WRITER_HANDLE_FIELD_NUMBER: _builtins.int + REASON_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + writer_handle: _builtins.int + reason: _builtins.str + request_async_id: _builtins.int def __init__( self, *, - writer_handle: builtins.int | None = ..., - reason: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + writer_handle: _builtins.int | None = ..., + reason: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamWriterCloseRequest = TextStreamWriterCloseRequest +Global___TextStreamWriterCloseRequest: _TypeAlias = TextStreamWriterCloseRequest # noqa: Y015 -@typing.final -class TextStreamWriterCloseResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TextStreamWriterCloseResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___TextStreamWriterCloseResponse = TextStreamWriterCloseResponse - -@typing.final -class TextStreamWriterCloseCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def error(self) -> global___StreamError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TextStreamWriterCloseResponse: _TypeAlias = TextStreamWriterCloseResponse # noqa: Y015 + +@_typing.final +class TextStreamWriterCloseCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def error(self) -> Global___StreamError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: global___StreamError | None = ..., + async_id: _builtins.int | None = ..., + error: Global___StreamError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamWriterCloseCallback = TextStreamWriterCloseCallback +Global___TextStreamWriterCloseCallback: _TypeAlias = TextStreamWriterCloseCallback # noqa: Y015 -@typing.final -class TextStreamInfo(google.protobuf.message.Message): +@_typing.final +class TextStreamInfo(_message.Message): """Contains a subset of the fields from the stream header. Protocol-level fields not relevant to the FFI client are omitted (e.g. encryption info). """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor class _OperationType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 - class _OperationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[TextStreamInfo._OperationType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + class _OperationTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[TextStreamInfo._OperationType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor CREATE: TextStreamInfo._OperationType.ValueType # 0 UPDATE: TextStreamInfo._OperationType.ValueType # 1 DELETE: TextStreamInfo._OperationType.ValueType # 2 @@ -1125,268 +1241,286 @@ class TextStreamInfo(google.protobuf.message.Message): DELETE: TextStreamInfo.OperationType.ValueType # 2 REACTION: TextStreamInfo.OperationType.ValueType # 3 - @typing.final - class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - STREAM_ID_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - MIME_TYPE_FIELD_NUMBER: builtins.int - TOPIC_FIELD_NUMBER: builtins.int - TOTAL_LENGTH_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - OPERATION_TYPE_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - REPLY_TO_STREAM_ID_FIELD_NUMBER: builtins.int - ATTACHED_STREAM_IDS_FIELD_NUMBER: builtins.int - GENERATED_FIELD_NUMBER: builtins.int - ENCRYPTION_TYPE_FIELD_NUMBER: builtins.int - stream_id: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + STREAM_ID_FIELD_NUMBER: _builtins.int + TIMESTAMP_FIELD_NUMBER: _builtins.int + MIME_TYPE_FIELD_NUMBER: _builtins.int + TOPIC_FIELD_NUMBER: _builtins.int + TOTAL_LENGTH_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + OPERATION_TYPE_FIELD_NUMBER: _builtins.int + VERSION_FIELD_NUMBER: _builtins.int + REPLY_TO_STREAM_ID_FIELD_NUMBER: _builtins.int + ATTACHED_STREAM_IDS_FIELD_NUMBER: _builtins.int + GENERATED_FIELD_NUMBER: _builtins.int + ENCRYPTION_TYPE_FIELD_NUMBER: _builtins.int + stream_id: _builtins.str """unique identifier for this data stream""" - timestamp: builtins.int + timestamp: _builtins.int """using int64 for Unix timestamp""" - mime_type: builtins.str - topic: builtins.str - total_length: builtins.int + mime_type: _builtins.str + topic: _builtins.str + total_length: _builtins.int """only populated for finite streams, if it's a stream of unknown size this stays empty""" - operation_type: global___TextStreamInfo.OperationType.ValueType - version: builtins.int + operation_type: Global___TextStreamInfo.OperationType.ValueType + version: _builtins.int """Optional: Version for updates/edits""" - reply_to_stream_id: builtins.str + reply_to_stream_id: _builtins.str """Optional: Reply to specific message""" - generated: builtins.bool + generated: _builtins.bool """true if the text has been generated by an agent from a participant's audio transcription""" - encryption_type: e2ee_pb2.EncryptionType.ValueType - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + encryption_type: _e2ee_pb2.EncryptionType.ValueType + @_builtins.property + def attributes(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: """user defined attributes map that can carry additional info""" - @property - def attached_stream_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + @_builtins.property + def attached_stream_ids(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: """file attachments for text streams""" def __init__( self, *, - stream_id: builtins.str | None = ..., - timestamp: builtins.int | None = ..., - mime_type: builtins.str | None = ..., - topic: builtins.str | None = ..., - total_length: builtins.int | None = ..., - attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., - operation_type: global___TextStreamInfo.OperationType.ValueType | None = ..., - version: builtins.int | None = ..., - reply_to_stream_id: builtins.str | None = ..., - attached_stream_ids: collections.abc.Iterable[builtins.str] | None = ..., - generated: builtins.bool | None = ..., - encryption_type: e2ee_pb2.EncryptionType.ValueType | None = ..., + stream_id: _builtins.str | None = ..., + timestamp: _builtins.int | None = ..., + mime_type: _builtins.str | None = ..., + topic: _builtins.str | None = ..., + total_length: _builtins.int | None = ..., + attributes: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., + operation_type: Global___TextStreamInfo.OperationType.ValueType | None = ..., + version: _builtins.int | None = ..., + reply_to_stream_id: _builtins.str | None = ..., + attached_stream_ids: _abc.Iterable[_builtins.str] | None = ..., + generated: _builtins.bool | None = ..., + encryption_type: _e2ee_pb2.EncryptionType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "generated", b"generated", "mime_type", b"mime_type", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "attributes", b"attributes", "encryption_type", b"encryption_type", "generated", b"generated", "mime_type", b"mime_type", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length", "version", b"version"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["encryption_type", b"encryption_type", "generated", b"generated", "mime_type", b"mime_type", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length", "version", b"version"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attached_stream_ids", b"attached_stream_ids", "attributes", b"attributes", "encryption_type", b"encryption_type", "generated", b"generated", "mime_type", b"mime_type", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length", "version", b"version"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamInfo = TextStreamInfo +Global___TextStreamInfo: _TypeAlias = TextStreamInfo # noqa: Y015 -@typing.final -class ByteStreamInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - STREAM_ID_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - MIME_TYPE_FIELD_NUMBER: builtins.int - TOPIC_FIELD_NUMBER: builtins.int - TOTAL_LENGTH_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - ENCRYPTION_TYPE_FIELD_NUMBER: builtins.int - stream_id: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + STREAM_ID_FIELD_NUMBER: _builtins.int + TIMESTAMP_FIELD_NUMBER: _builtins.int + MIME_TYPE_FIELD_NUMBER: _builtins.int + TOPIC_FIELD_NUMBER: _builtins.int + TOTAL_LENGTH_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + ENCRYPTION_TYPE_FIELD_NUMBER: _builtins.int + stream_id: _builtins.str """unique identifier for this data stream""" - timestamp: builtins.int + timestamp: _builtins.int """using int64 for Unix timestamp""" - mime_type: builtins.str - topic: builtins.str - total_length: builtins.int + mime_type: _builtins.str + topic: _builtins.str + total_length: _builtins.int """only populated for finite streams, if it's a stream of unknown size this stays empty""" - name: builtins.str - encryption_type: e2ee_pb2.EncryptionType.ValueType - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + name: _builtins.str + encryption_type: _e2ee_pb2.EncryptionType.ValueType + @_builtins.property + def attributes(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: """user defined attributes map that can carry additional info""" def __init__( self, *, - stream_id: builtins.str | None = ..., - timestamp: builtins.int | None = ..., - mime_type: builtins.str | None = ..., - topic: builtins.str | None = ..., - total_length: builtins.int | None = ..., - attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., - name: builtins.str | None = ..., - encryption_type: e2ee_pb2.EncryptionType.ValueType | None = ..., + stream_id: _builtins.str | None = ..., + timestamp: _builtins.int | None = ..., + mime_type: _builtins.str | None = ..., + topic: _builtins.str | None = ..., + total_length: _builtins.int | None = ..., + attributes: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., + name: _builtins.str | None = ..., + encryption_type: _e2ee_pb2.EncryptionType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "mime_type", b"mime_type", "name", b"name", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "encryption_type", b"encryption_type", "mime_type", b"mime_type", "name", b"name", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["encryption_type", b"encryption_type", "mime_type", b"mime_type", "name", b"name", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attributes", b"attributes", "encryption_type", b"encryption_type", "mime_type", b"mime_type", "name", b"name", "stream_id", b"stream_id", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamInfo = ByteStreamInfo +Global___ByteStreamInfo: _TypeAlias = ByteStreamInfo # noqa: Y015 -@typing.final -class StreamTextOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class StreamTextOptions(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - TOPIC_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - ID_FIELD_NUMBER: builtins.int - OPERATION_TYPE_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - REPLY_TO_STREAM_ID_FIELD_NUMBER: builtins.int - ATTACHED_STREAM_IDS_FIELD_NUMBER: builtins.int - GENERATED_FIELD_NUMBER: builtins.int - topic: builtins.str - id: builtins.str - operation_type: global___TextStreamInfo.OperationType.ValueType - version: builtins.int - reply_to_stream_id: builtins.str - generated: builtins.bool - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def attached_stream_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + TOPIC_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + ID_FIELD_NUMBER: _builtins.int + OPERATION_TYPE_FIELD_NUMBER: _builtins.int + VERSION_FIELD_NUMBER: _builtins.int + REPLY_TO_STREAM_ID_FIELD_NUMBER: _builtins.int + ATTACHED_STREAM_IDS_FIELD_NUMBER: _builtins.int + GENERATED_FIELD_NUMBER: _builtins.int + topic: _builtins.str + id: _builtins.str + operation_type: Global___TextStreamInfo.OperationType.ValueType + version: _builtins.int + reply_to_stream_id: _builtins.str + generated: _builtins.bool + @_builtins.property + def attributes(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: ... + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... + @_builtins.property + def attached_stream_ids(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - topic: builtins.str | None = ..., - attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - id: builtins.str | None = ..., - operation_type: global___TextStreamInfo.OperationType.ValueType | None = ..., - version: builtins.int | None = ..., - reply_to_stream_id: builtins.str | None = ..., - attached_stream_ids: collections.abc.Iterable[builtins.str] | None = ..., - generated: builtins.bool | None = ..., + topic: _builtins.str | None = ..., + attributes: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + id: _builtins.str | None = ..., + operation_type: Global___TextStreamInfo.OperationType.ValueType | None = ..., + version: _builtins.int | None = ..., + reply_to_stream_id: _builtins.str | None = ..., + attached_stream_ids: _abc.Iterable[_builtins.str] | None = ..., + generated: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "topic", b"topic", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "attributes", b"attributes", "destination_identities", b"destination_identities", "generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "topic", b"topic", "version", b"version"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "topic", b"topic", "version", b"version"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attached_stream_ids", b"attached_stream_ids", "attributes", b"attributes", "destination_identities", b"destination_identities", "generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "topic", b"topic", "version", b"version"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___StreamTextOptions = StreamTextOptions +Global___StreamTextOptions: _TypeAlias = StreamTextOptions # noqa: Y015 -@typing.final -class StreamByteOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class StreamByteOptions(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - TOPIC_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - ID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - MIME_TYPE_FIELD_NUMBER: builtins.int - TOTAL_LENGTH_FIELD_NUMBER: builtins.int - topic: builtins.str - id: builtins.str - name: builtins.str - mime_type: builtins.str - total_length: builtins.int - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + TOPIC_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + ID_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + MIME_TYPE_FIELD_NUMBER: _builtins.int + TOTAL_LENGTH_FIELD_NUMBER: _builtins.int + topic: _builtins.str + id: _builtins.str + name: _builtins.str + mime_type: _builtins.str + total_length: _builtins.int + @_builtins.property + def attributes(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: ... + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - topic: builtins.str | None = ..., - attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - id: builtins.str | None = ..., - name: builtins.str | None = ..., - mime_type: builtins.str | None = ..., - total_length: builtins.int | None = ..., + topic: _builtins.str | None = ..., + attributes: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + id: _builtins.str | None = ..., + name: _builtins.str | None = ..., + mime_type: _builtins.str | None = ..., + total_length: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id", "mime_type", b"mime_type", "name", b"name", "topic", b"topic", "total_length", b"total_length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "destination_identities", b"destination_identities", "id", b"id", "mime_type", b"mime_type", "name", b"name", "topic", b"topic", "total_length", b"total_length"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["id", b"id", "mime_type", b"mime_type", "name", b"name", "topic", b"topic", "total_length", b"total_length"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attributes", b"attributes", "destination_identities", b"destination_identities", "id", b"id", "mime_type", b"mime_type", "name", b"name", "topic", b"topic", "total_length", b"total_length"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___StreamByteOptions = StreamByteOptions +Global___StreamByteOptions: _TypeAlias = StreamByteOptions # noqa: Y015 -@typing.final -class StreamError(google.protobuf.message.Message): +@_typing.final +class StreamError(_message.Message): """Error pertaining to a stream.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - DESCRIPTION_FIELD_NUMBER: builtins.int - description: builtins.str + DESCRIPTION_FIELD_NUMBER: _builtins.int + description: _builtins.str """TODO(ladvoc): make this an enum.""" def __init__( self, *, - description: builtins.str | None = ..., + description: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["description", b"description"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["description", b"description"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["description", b"description"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___StreamError = StreamError +Global___StreamError: _TypeAlias = StreamError # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/data_track_pb2.py b/livekit-rtc/livekit/rtc/_proto/data_track_pb2.py index 813c85a2..235bd018 100644 --- a/livekit-rtc/livekit/rtc/_proto/data_track_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/data_track_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: data_track.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,8 +20,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'data_track_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_DATATRACKERRORCODE']._serialized_start=2455 _globals['_DATATRACKERRORCODE']._serialized_end=2846 _globals['_PUBLISHDATATRACKERRORCODE']._serialized_start=2849 diff --git a/livekit-rtc/livekit/rtc/_proto/data_track_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/data_track_pb2.pyi index 0c804b81..c373a189 100644 --- a/livekit-rtc/livekit/rtc/_proto/data_track_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/data_track_pb2.pyi @@ -16,27 +16,27 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import google.protobuf.descriptor -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import handle_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins +from . import handle_pb2 as _handle_pb2 import sys -import typing +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _DataTrackErrorCode: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _DataTrackErrorCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataTrackErrorCode.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _DataTrackErrorCodeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_DataTrackErrorCode.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor DATA_TRACK_ERROR_CODE_UNKNOWN: _DataTrackErrorCode.ValueType # 0 DATA_TRACK_ERROR_CODE_INVALID_HANDLE: _DataTrackErrorCode.ValueType # 1 DATA_TRACK_ERROR_CODE_DUPLICATE_TRACK_NAME: _DataTrackErrorCode.ValueType # 2 @@ -58,14 +58,14 @@ DATA_TRACK_ERROR_CODE_SUBSCRIPTION_CLOSED: DataTrackErrorCode.ValueType # 5 DATA_TRACK_ERROR_CODE_CANCELLED: DataTrackErrorCode.ValueType # 6 DATA_TRACK_ERROR_CODE_PROTOCOL_ERROR: DataTrackErrorCode.ValueType # 7 DATA_TRACK_ERROR_CODE_INTERNAL: DataTrackErrorCode.ValueType # 8 -global___DataTrackErrorCode = DataTrackErrorCode +Global___DataTrackErrorCode: _TypeAlias = DataTrackErrorCode # noqa: Y015 class _PublishDataTrackErrorCode: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _PublishDataTrackErrorCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PublishDataTrackErrorCode.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _PublishDataTrackErrorCodeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_PublishDataTrackErrorCode.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor PUBLISH_DATA_TRACK_ERROR_CODE_UNKNOWN: _PublishDataTrackErrorCode.ValueType # 0 PUBLISH_DATA_TRACK_ERROR_CODE_INVALID_HANDLE: _PublishDataTrackErrorCode.ValueType # 1 PUBLISH_DATA_TRACK_ERROR_CODE_DUPLICATE_NAME: _PublishDataTrackErrorCode.ValueType # 2 @@ -89,14 +89,14 @@ PUBLISH_DATA_TRACK_ERROR_CODE_INVALID_NAME: PublishDataTrackErrorCode.ValueType PUBLISH_DATA_TRACK_ERROR_CODE_LIMIT_REACHED: PublishDataTrackErrorCode.ValueType # 7 PUBLISH_DATA_TRACK_ERROR_CODE_PROTOCOL_ERROR: PublishDataTrackErrorCode.ValueType # 8 PUBLISH_DATA_TRACK_ERROR_CODE_INTERNAL: PublishDataTrackErrorCode.ValueType # 9 -global___PublishDataTrackErrorCode = PublishDataTrackErrorCode +Global___PublishDataTrackErrorCode: _TypeAlias = PublishDataTrackErrorCode # noqa: Y015 class _LocalDataTrackTryPushErrorCode: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _LocalDataTrackTryPushErrorCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LocalDataTrackTryPushErrorCode.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _LocalDataTrackTryPushErrorCodeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_LocalDataTrackTryPushErrorCode.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor LOCAL_DATA_TRACK_TRY_PUSH_ERROR_CODE_UNKNOWN: _LocalDataTrackTryPushErrorCode.ValueType # 0 LOCAL_DATA_TRACK_TRY_PUSH_ERROR_CODE_INVALID_HANDLE: _LocalDataTrackTryPushErrorCode.ValueType # 1 LOCAL_DATA_TRACK_TRY_PUSH_ERROR_CODE_TRACK_UNPUBLISHED: _LocalDataTrackTryPushErrorCode.ValueType # 2 @@ -110,14 +110,14 @@ LOCAL_DATA_TRACK_TRY_PUSH_ERROR_CODE_INVALID_HANDLE: LocalDataTrackTryPushErrorC LOCAL_DATA_TRACK_TRY_PUSH_ERROR_CODE_TRACK_UNPUBLISHED: LocalDataTrackTryPushErrorCode.ValueType # 2 LOCAL_DATA_TRACK_TRY_PUSH_ERROR_CODE_QUEUE_FULL: LocalDataTrackTryPushErrorCode.ValueType # 3 LOCAL_DATA_TRACK_TRY_PUSH_ERROR_CODE_INTERNAL: LocalDataTrackTryPushErrorCode.ValueType # 4 -global___LocalDataTrackTryPushErrorCode = LocalDataTrackTryPushErrorCode +Global___LocalDataTrackTryPushErrorCode: _TypeAlias = LocalDataTrackTryPushErrorCode # noqa: Y015 class _SubscribeDataTrackErrorCode: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _SubscribeDataTrackErrorCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SubscribeDataTrackErrorCode.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _SubscribeDataTrackErrorCodeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_SubscribeDataTrackErrorCode.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor SUBSCRIBE_DATA_TRACK_ERROR_CODE_UNKNOWN: _SubscribeDataTrackErrorCode.ValueType # 0 SUBSCRIBE_DATA_TRACK_ERROR_CODE_INVALID_HANDLE: _SubscribeDataTrackErrorCode.ValueType # 1 SUBSCRIBE_DATA_TRACK_ERROR_CODE_UNPUBLISHED: _SubscribeDataTrackErrorCode.ValueType # 2 @@ -135,146 +135,158 @@ SUBSCRIBE_DATA_TRACK_ERROR_CODE_TIMEOUT: SubscribeDataTrackErrorCode.ValueType SUBSCRIBE_DATA_TRACK_ERROR_CODE_DISCONNECTED: SubscribeDataTrackErrorCode.ValueType # 4 SUBSCRIBE_DATA_TRACK_ERROR_CODE_PROTOCOL_ERROR: SubscribeDataTrackErrorCode.ValueType # 5 SUBSCRIBE_DATA_TRACK_ERROR_CODE_INTERNAL: SubscribeDataTrackErrorCode.ValueType # 6 -global___SubscribeDataTrackErrorCode = SubscribeDataTrackErrorCode +Global___SubscribeDataTrackErrorCode: _TypeAlias = SubscribeDataTrackErrorCode # noqa: Y015 -@typing.final -class DataTrackInfo(google.protobuf.message.Message): +@_typing.final +class DataTrackInfo(_message.Message): """MARK: - Common Information about a published data track. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - SID_FIELD_NUMBER: builtins.int - USES_E2EE_FIELD_NUMBER: builtins.int - name: builtins.str + NAME_FIELD_NUMBER: _builtins.int + SID_FIELD_NUMBER: _builtins.int + USES_E2EE_FIELD_NUMBER: _builtins.int + name: _builtins.str """Name of the track assigned by the publisher.""" - sid: builtins.str + sid: _builtins.str """SFU-assigned track identifier.""" - uses_e2ee: builtins.bool + uses_e2ee: _builtins.bool """Whether or not frames sent on the track use end-to-end encryption.""" def __init__( self, *, - name: builtins.str | None = ..., - sid: builtins.str | None = ..., - uses_e2ee: builtins.bool | None = ..., + name: _builtins.str | None = ..., + sid: _builtins.str | None = ..., + uses_e2ee: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name", "sid", b"sid", "uses_e2ee", b"uses_e2ee"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "sid", b"sid", "uses_e2ee", b"uses_e2ee"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "sid", b"sid", "uses_e2ee", b"uses_e2ee"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "sid", b"sid", "uses_e2ee", b"uses_e2ee"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackInfo = DataTrackInfo +Global___DataTrackInfo: _TypeAlias = DataTrackInfo # noqa: Y015 -@typing.final -class DataTrackFrame(google.protobuf.message.Message): +@_typing.final +class DataTrackFrame(_message.Message): """A frame published on a data track.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - PAYLOAD_FIELD_NUMBER: builtins.int - USER_TIMESTAMP_FIELD_NUMBER: builtins.int - payload: builtins.bytes - user_timestamp: builtins.int + PAYLOAD_FIELD_NUMBER: _builtins.int + USER_TIMESTAMP_FIELD_NUMBER: _builtins.int + payload: _builtins.bytes + user_timestamp: _builtins.int def __init__( self, *, - payload: builtins.bytes | None = ..., - user_timestamp: builtins.int | None = ..., + payload: _builtins.bytes | None = ..., + user_timestamp: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["payload", b"payload", "user_timestamp", b"user_timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["payload", b"payload", "user_timestamp", b"user_timestamp"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["payload", b"payload", "user_timestamp", b"user_timestamp"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["payload", b"payload", "user_timestamp", b"user_timestamp"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackFrame = DataTrackFrame +Global___DataTrackFrame: _TypeAlias = DataTrackFrame # noqa: Y015 -@typing.final -class DataTrackError(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataTrackError(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - CODE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - code: global___DataTrackErrorCode.ValueType - message: builtins.str + CODE_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + code: Global___DataTrackErrorCode.ValueType + message: _builtins.str def __init__( self, *, - code: global___DataTrackErrorCode.ValueType | None = ..., - message: builtins.str | None = ..., + code: Global___DataTrackErrorCode.ValueType | None = ..., + message: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackError = DataTrackError +Global___DataTrackError: _TypeAlias = DataTrackError # noqa: Y015 -@typing.final -class PublishDataTrackError(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishDataTrackError(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - CODE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - code: global___PublishDataTrackErrorCode.ValueType - message: builtins.str + CODE_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + code: Global___PublishDataTrackErrorCode.ValueType + message: _builtins.str def __init__( self, *, - code: global___PublishDataTrackErrorCode.ValueType | None = ..., - message: builtins.str | None = ..., + code: Global___PublishDataTrackErrorCode.ValueType | None = ..., + message: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishDataTrackError = PublishDataTrackError +Global___PublishDataTrackError: _TypeAlias = PublishDataTrackError # noqa: Y015 -@typing.final -class LocalDataTrackTryPushError(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalDataTrackTryPushError(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - CODE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - code: global___LocalDataTrackTryPushErrorCode.ValueType - message: builtins.str + CODE_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + code: Global___LocalDataTrackTryPushErrorCode.ValueType + message: _builtins.str def __init__( self, *, - code: global___LocalDataTrackTryPushErrorCode.ValueType | None = ..., - message: builtins.str | None = ..., + code: Global___LocalDataTrackTryPushErrorCode.ValueType | None = ..., + message: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalDataTrackTryPushError = LocalDataTrackTryPushError +Global___LocalDataTrackTryPushError: _TypeAlias = LocalDataTrackTryPushError # noqa: Y015 -@typing.final -class SubscribeDataTrackError(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SubscribeDataTrackError(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - CODE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - code: global___SubscribeDataTrackErrorCode.ValueType - message: builtins.str + CODE_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + code: Global___SubscribeDataTrackErrorCode.ValueType + message: _builtins.str def __init__( self, *, - code: global___SubscribeDataTrackErrorCode.ValueType | None = ..., - message: builtins.str | None = ..., + code: Global___SubscribeDataTrackErrorCode.ValueType | None = ..., + message: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SubscribeDataTrackError = SubscribeDataTrackError +Global___SubscribeDataTrackError: _TypeAlias = SubscribeDataTrackError # noqa: Y015 -@typing.final -class DataTrackOptions(google.protobuf.message.Message): +@_typing.final +class DataTrackOptions(_message.Message): """MARK: - Local Options for publishing a data track. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - name: builtins.str + NAME_FIELD_NUMBER: _builtins.int + name: _builtins.str """Track name used to identify the track to other participants. Must not be empty and must be unique per publisher. @@ -282,344 +294,380 @@ class DataTrackOptions(google.protobuf.message.Message): def __init__( self, *, - name: builtins.str | None = ..., + name: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["name", b"name"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["name", b"name"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackOptions = DataTrackOptions +Global___DataTrackOptions: _TypeAlias = DataTrackOptions # noqa: Y015 -@typing.final -class PublishDataTrackRequest(google.protobuf.message.Message): +@_typing.final +class PublishDataTrackRequest(_message.Message): """Publish a data track""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - request_async_id: builtins.int - @property - def options(self) -> global___DataTrackOptions: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___DataTrackOptions: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - options: global___DataTrackOptions | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + options: Global___DataTrackOptions | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishDataTrackRequest = PublishDataTrackRequest +Global___PublishDataTrackRequest: _TypeAlias = PublishDataTrackRequest # noqa: Y015 -@typing.final -class PublishDataTrackResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishDataTrackResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___PublishDataTrackResponse = PublishDataTrackResponse - -@typing.final -class PublishDataTrackCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - TRACK_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - @property - def track(self) -> global___OwnedLocalDataTrack: ... - @property - def error(self) -> global___PublishDataTrackError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___PublishDataTrackResponse: _TypeAlias = PublishDataTrackResponse # noqa: Y015 + +@_typing.final +class PublishDataTrackCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + TRACK_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + @_builtins.property + def track(self) -> Global___OwnedLocalDataTrack: ... + @_builtins.property + def error(self) -> Global___PublishDataTrackError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - track: global___OwnedLocalDataTrack | None = ..., - error: global___PublishDataTrackError | None = ..., + async_id: _builtins.int | None = ..., + track: Global___OwnedLocalDataTrack | None = ..., + error: Global___PublishDataTrackError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "track", b"track"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["track", "error"] | None: ... - -global___PublishDataTrackCallback = PublishDataTrackCallback - -@typing.final -class OwnedLocalDataTrack(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___DataTrackInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "track", b"track"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "result", b"result", "track", b"track"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_result: _TypeAlias = _typing.Literal["track", "error"] # noqa: Y015 + _WhichOneofArgType_result: _TypeAlias = _typing.Literal["result", b"result"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_result) -> _WhichOneofReturnType_result | None: ... + +Global___PublishDataTrackCallback: _TypeAlias = PublishDataTrackCallback # noqa: Y015 + +@_typing.final +class OwnedLocalDataTrack(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___DataTrackInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___DataTrackInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___DataTrackInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedLocalDataTrack = OwnedLocalDataTrack +Global___OwnedLocalDataTrack: _TypeAlias = OwnedLocalDataTrack # noqa: Y015 -@typing.final -class LocalDataTrackTryPushRequest(google.protobuf.message.Message): +@_typing.final +class LocalDataTrackTryPushRequest(_message.Message): """Try pushing a frame to subscribers of the track.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - FRAME_FIELD_NUMBER: builtins.int - track_handle: builtins.int - @property - def frame(self) -> global___DataTrackFrame: ... + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + FRAME_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int + @_builtins.property + def frame(self) -> Global___DataTrackFrame: ... def __init__( self, *, - track_handle: builtins.int | None = ..., - frame: global___DataTrackFrame | None = ..., + track_handle: _builtins.int | None = ..., + frame: Global___DataTrackFrame | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frame", b"frame", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frame", b"frame", "track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["frame", b"frame", "track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["frame", b"frame", "track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalDataTrackTryPushRequest = LocalDataTrackTryPushRequest +Global___LocalDataTrackTryPushRequest: _TypeAlias = LocalDataTrackTryPushRequest # noqa: Y015 -@typing.final -class LocalDataTrackTryPushResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalDataTrackTryPushResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - @property - def error(self) -> global___LocalDataTrackTryPushError: ... + ERROR_FIELD_NUMBER: _builtins.int + @_builtins.property + def error(self) -> Global___LocalDataTrackTryPushError: ... def __init__( self, *, - error: global___LocalDataTrackTryPushError | None = ..., + error: Global___LocalDataTrackTryPushError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalDataTrackTryPushResponse = LocalDataTrackTryPushResponse +Global___LocalDataTrackTryPushResponse: _TypeAlias = LocalDataTrackTryPushResponse # noqa: Y015 -@typing.final -class LocalDataTrackIsPublishedRequest(google.protobuf.message.Message): +@_typing.final +class LocalDataTrackIsPublishedRequest(_message.Message): """Checks if the track is still published.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - track_handle: builtins.int + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int def __init__( self, *, - track_handle: builtins.int | None = ..., + track_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalDataTrackIsPublishedRequest = LocalDataTrackIsPublishedRequest +Global___LocalDataTrackIsPublishedRequest: _TypeAlias = LocalDataTrackIsPublishedRequest # noqa: Y015 -@typing.final -class LocalDataTrackIsPublishedResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalDataTrackIsPublishedResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - IS_PUBLISHED_FIELD_NUMBER: builtins.int - is_published: builtins.bool + IS_PUBLISHED_FIELD_NUMBER: _builtins.int + is_published: _builtins.bool def __init__( self, *, - is_published: builtins.bool | None = ..., + is_published: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["is_published", b"is_published"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["is_published", b"is_published"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["is_published", b"is_published"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["is_published", b"is_published"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalDataTrackIsPublishedResponse = LocalDataTrackIsPublishedResponse +Global___LocalDataTrackIsPublishedResponse: _TypeAlias = LocalDataTrackIsPublishedResponse # noqa: Y015 -@typing.final -class LocalDataTrackUnpublishRequest(google.protobuf.message.Message): +@_typing.final +class LocalDataTrackUnpublishRequest(_message.Message): """Unpublishes the track.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - track_handle: builtins.int + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int def __init__( self, *, - track_handle: builtins.int | None = ..., + track_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalDataTrackUnpublishRequest = LocalDataTrackUnpublishRequest +Global___LocalDataTrackUnpublishRequest: _TypeAlias = LocalDataTrackUnpublishRequest # noqa: Y015 -@typing.final -class LocalDataTrackUnpublishResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalDataTrackUnpublishResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___LocalDataTrackUnpublishResponse = LocalDataTrackUnpublishResponse +Global___LocalDataTrackUnpublishResponse: _TypeAlias = LocalDataTrackUnpublishResponse # noqa: Y015 -@typing.final -class OwnedRemoteDataTrack(google.protobuf.message.Message): +@_typing.final +class OwnedRemoteDataTrack(_message.Message): """MARK: - Remote""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - PUBLISHER_IDENTITY_FIELD_NUMBER: builtins.int - publisher_identity: builtins.str + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + PUBLISHER_IDENTITY_FIELD_NUMBER: _builtins.int + publisher_identity: _builtins.str """Identity of the remote participant who published the track.""" - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___DataTrackInfo: ... + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___DataTrackInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___DataTrackInfo | None = ..., - publisher_identity: builtins.str | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___DataTrackInfo | None = ..., + publisher_identity: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info", "publisher_identity", b"publisher_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info", "publisher_identity", b"publisher_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info", "publisher_identity", b"publisher_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info", "publisher_identity", b"publisher_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedRemoteDataTrack = OwnedRemoteDataTrack +Global___OwnedRemoteDataTrack: _TypeAlias = OwnedRemoteDataTrack # noqa: Y015 -@typing.final -class OwnedDataTrackStream(google.protobuf.message.Message): +@_typing.final +class OwnedDataTrackStream(_message.Message): """Handle to an active data track subscription. Dropping the handle will unsubscribe from the track. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - HANDLE_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... + HANDLE_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedDataTrackStream = OwnedDataTrackStream +Global___OwnedDataTrackStream: _TypeAlias = OwnedDataTrackStream # noqa: Y015 -@typing.final -class DataTrackSubscribeOptions(google.protobuf.message.Message): +@_typing.final +class DataTrackSubscribeOptions(_message.Message): """Reserved for future subscription options.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - BUFFER_SIZE_FIELD_NUMBER: builtins.int - buffer_size: builtins.int + BUFFER_SIZE_FIELD_NUMBER: _builtins.int + buffer_size: _builtins.int """Maximum number of frames to buffer internally.""" def __init__( self, *, - buffer_size: builtins.int | None = ..., + buffer_size: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer_size", b"buffer_size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer_size", b"buffer_size"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer_size", b"buffer_size"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer_size", b"buffer_size"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackSubscribeOptions = DataTrackSubscribeOptions +Global___DataTrackSubscribeOptions: _TypeAlias = DataTrackSubscribeOptions # noqa: Y015 -@typing.final -class RemoteDataTrackIsPublishedRequest(google.protobuf.message.Message): +@_typing.final +class RemoteDataTrackIsPublishedRequest(_message.Message): """Checks if the track is still published.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - track_handle: builtins.int + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int def __init__( self, *, - track_handle: builtins.int | None = ..., + track_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RemoteDataTrackIsPublishedRequest = RemoteDataTrackIsPublishedRequest +Global___RemoteDataTrackIsPublishedRequest: _TypeAlias = RemoteDataTrackIsPublishedRequest # noqa: Y015 -@typing.final -class RemoteDataTrackIsPublishedResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RemoteDataTrackIsPublishedResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - IS_PUBLISHED_FIELD_NUMBER: builtins.int - is_published: builtins.bool + IS_PUBLISHED_FIELD_NUMBER: _builtins.int + is_published: _builtins.bool def __init__( self, *, - is_published: builtins.bool | None = ..., + is_published: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["is_published", b"is_published"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["is_published", b"is_published"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["is_published", b"is_published"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["is_published", b"is_published"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RemoteDataTrackIsPublishedResponse = RemoteDataTrackIsPublishedResponse +Global___RemoteDataTrackIsPublishedResponse: _TypeAlias = RemoteDataTrackIsPublishedResponse # noqa: Y015 -@typing.final -class SubscribeDataTrackRequest(google.protobuf.message.Message): +@_typing.final +class SubscribeDataTrackRequest(_message.Message): """Subscribe to a data track.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - track_handle: builtins.int - @property - def options(self) -> global___DataTrackSubscribeOptions: ... + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int + @_builtins.property + def options(self) -> Global___DataTrackSubscribeOptions: ... def __init__( self, *, - track_handle: builtins.int | None = ..., - options: global___DataTrackSubscribeOptions | None = ..., + track_handle: _builtins.int | None = ..., + options: Global___DataTrackSubscribeOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["options", b"options", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["options", b"options", "track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["options", b"options", "track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["options", b"options", "track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SubscribeDataTrackRequest = SubscribeDataTrackRequest +Global___SubscribeDataTrackRequest: _TypeAlias = SubscribeDataTrackRequest # noqa: Y015 -@typing.final -class SubscribeDataTrackResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SubscribeDataTrackResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - STREAM_FIELD_NUMBER: builtins.int - @property - def stream(self) -> global___OwnedDataTrackStream: ... + STREAM_FIELD_NUMBER: _builtins.int + @_builtins.property + def stream(self) -> Global___OwnedDataTrackStream: ... def __init__( self, *, - stream: global___OwnedDataTrackStream | None = ..., + stream: Global___OwnedDataTrackStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SubscribeDataTrackResponse = SubscribeDataTrackResponse +Global___SubscribeDataTrackResponse: _TypeAlias = SubscribeDataTrackResponse # noqa: Y015 -@typing.final -class DataTrackStreamReadRequest(google.protobuf.message.Message): +@_typing.final +class DataTrackStreamReadRequest(_message.Message): """Signal readiness to handle the next frame. This allows the client to put backpressure on the internal receive buffer. @@ -627,85 +675,93 @@ class DataTrackStreamReadRequest(google.protobuf.message.Message): once one is available. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - STREAM_HANDLE_FIELD_NUMBER: builtins.int - stream_handle: builtins.int + STREAM_HANDLE_FIELD_NUMBER: _builtins.int + stream_handle: _builtins.int def __init__( self, *, - stream_handle: builtins.int | None = ..., + stream_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream_handle", b"stream_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["stream_handle", b"stream_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["stream_handle", b"stream_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackStreamReadRequest = DataTrackStreamReadRequest +Global___DataTrackStreamReadRequest: _TypeAlias = DataTrackStreamReadRequest # noqa: Y015 -@typing.final -class DataTrackStreamReadResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataTrackStreamReadResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___DataTrackStreamReadResponse = DataTrackStreamReadResponse +Global___DataTrackStreamReadResponse: _TypeAlias = DataTrackStreamReadResponse # noqa: Y015 -@typing.final -class DataTrackStreamEvent(google.protobuf.message.Message): +@_typing.final +class DataTrackStreamEvent(_message.Message): """Event emitted on an active stream.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - STREAM_HANDLE_FIELD_NUMBER: builtins.int - FRAME_RECEIVED_FIELD_NUMBER: builtins.int - EOS_FIELD_NUMBER: builtins.int - stream_handle: builtins.int - @property - def frame_received(self) -> global___DataTrackStreamFrameReceived: ... - @property - def eos(self) -> global___DataTrackStreamEOS: ... + STREAM_HANDLE_FIELD_NUMBER: _builtins.int + FRAME_RECEIVED_FIELD_NUMBER: _builtins.int + EOS_FIELD_NUMBER: _builtins.int + stream_handle: _builtins.int + @_builtins.property + def frame_received(self) -> Global___DataTrackStreamFrameReceived: ... + @_builtins.property + def eos(self) -> Global___DataTrackStreamEOS: ... def __init__( self, *, - stream_handle: builtins.int | None = ..., - frame_received: global___DataTrackStreamFrameReceived | None = ..., - eos: global___DataTrackStreamEOS | None = ..., + stream_handle: _builtins.int | None = ..., + frame_received: Global___DataTrackStreamFrameReceived | None = ..., + eos: Global___DataTrackStreamEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["detail", b"detail", "eos", b"eos", "frame_received", b"frame_received", "stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["detail", b"detail", "eos", b"eos", "frame_received", b"frame_received", "stream_handle", b"stream_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["detail", b"detail"]) -> typing.Literal["frame_received", "eos"] | None: ... - -global___DataTrackStreamEvent = DataTrackStreamEvent - -@typing.final -class DataTrackStreamFrameReceived(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["detail", b"detail", "eos", b"eos", "frame_received", b"frame_received", "stream_handle", b"stream_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["detail", b"detail", "eos", b"eos", "frame_received", b"frame_received", "stream_handle", b"stream_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_detail: _TypeAlias = _typing.Literal["frame_received", "eos"] # noqa: Y015 + _WhichOneofArgType_detail: _TypeAlias = _typing.Literal["detail", b"detail"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_detail) -> _WhichOneofReturnType_detail | None: ... + +Global___DataTrackStreamEvent: _TypeAlias = DataTrackStreamEvent # noqa: Y015 + +@_typing.final +class DataTrackStreamFrameReceived(_message.Message): """A frame was received.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - FRAME_FIELD_NUMBER: builtins.int - @property - def frame(self) -> global___DataTrackFrame: ... + FRAME_FIELD_NUMBER: _builtins.int + @_builtins.property + def frame(self) -> Global___DataTrackFrame: ... def __init__( self, *, - frame: global___DataTrackFrame | None = ..., + frame: Global___DataTrackFrame | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frame", b"frame"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frame", b"frame"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["frame", b"frame"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["frame", b"frame"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackStreamFrameReceived = DataTrackStreamFrameReceived +Global___DataTrackStreamFrameReceived: _TypeAlias = DataTrackStreamFrameReceived # noqa: Y015 -@typing.final -class DataTrackStreamEOS(google.protobuf.message.Message): +@_typing.final +class DataTrackStreamEOS(_message.Message): """Stream has ended.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - @property - def error(self) -> global___SubscribeDataTrackError: + ERROR_FIELD_NUMBER: _builtins.int + @_builtins.property + def error(self) -> Global___SubscribeDataTrackError: """Present if stream ended before any frames were emitted due to subscription establishment failing. Absent if the stream ended normally (i.e., due to the track being unpublished). """ @@ -713,9 +769,11 @@ class DataTrackStreamEOS(google.protobuf.message.Message): def __init__( self, *, - error: global___SubscribeDataTrackError | None = ..., + error: Global___SubscribeDataTrackError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackStreamEOS = DataTrackStreamEOS +Global___DataTrackStreamEOS: _TypeAlias = DataTrackStreamEOS # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py index 0a0b9a52..1a058f23 100644 --- a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: e2ee.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,8 +19,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'e2ee_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_ENCRYPTIONTYPE']._serialized_start=2951 _globals['_ENCRYPTIONTYPE']._serialized_end=2998 _globals['_KEYDERIVATIONFUNCTION']._serialized_start=3000 diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi index 53437b21..7904d786 100644 --- a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi @@ -16,28 +16,28 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins import sys -import typing +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _EncryptionType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _EncryptionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EncryptionType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _EncryptionTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_EncryptionType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor NONE: _EncryptionType.ValueType # 0 GCM: _EncryptionType.ValueType # 1 CUSTOM: _EncryptionType.ValueType # 2 @@ -48,14 +48,14 @@ class EncryptionType(_EncryptionType, metaclass=_EncryptionTypeEnumTypeWrapper): NONE: EncryptionType.ValueType # 0 GCM: EncryptionType.ValueType # 1 CUSTOM: EncryptionType.ValueType # 2 -global___EncryptionType = EncryptionType +Global___EncryptionType: _TypeAlias = EncryptionType # noqa: Y015 class _KeyDerivationFunction: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _KeyDerivationFunctionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_KeyDerivationFunction.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _KeyDerivationFunctionEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_KeyDerivationFunction.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor PBKDF2: _KeyDerivationFunction.ValueType # 0 HKDF: _KeyDerivationFunction.ValueType # 1 @@ -63,14 +63,14 @@ class KeyDerivationFunction(_KeyDerivationFunction, metaclass=_KeyDerivationFunc PBKDF2: KeyDerivationFunction.ValueType # 0 HKDF: KeyDerivationFunction.ValueType # 1 -global___KeyDerivationFunction = KeyDerivationFunction +Global___KeyDerivationFunction: _TypeAlias = KeyDerivationFunction # noqa: Y015 class _EncryptionState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _EncryptionStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EncryptionState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _EncryptionStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_EncryptionState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor NEW: _EncryptionState.ValueType # 0 OK: _EncryptionState.ValueType # 1 ENCRYPTION_FAILED: _EncryptionState.ValueType # 2 @@ -88,504 +88,545 @@ DECRYPTION_FAILED: EncryptionState.ValueType # 3 MISSING_KEY: EncryptionState.ValueType # 4 KEY_RATCHETED: EncryptionState.ValueType # 5 INTERNAL_ERROR: EncryptionState.ValueType # 6 -global___EncryptionState = EncryptionState - -@typing.final -class FrameCryptor(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - KEY_INDEX_FIELD_NUMBER: builtins.int - ENABLED_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - track_sid: builtins.str - key_index: builtins.int - enabled: builtins.bool +Global___EncryptionState: _TypeAlias = EncryptionState # noqa: Y015 + +@_typing.final +class FrameCryptor(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + ENABLED_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + track_sid: _builtins.str + key_index: _builtins.int + enabled: _builtins.bool def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., - key_index: builtins.int | None = ..., - enabled: builtins.bool | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., + key_index: _builtins.int | None = ..., + enabled: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... - -global___FrameCryptor = FrameCryptor - -@typing.final -class KeyProviderOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SHARED_KEY_FIELD_NUMBER: builtins.int - RATCHET_WINDOW_SIZE_FIELD_NUMBER: builtins.int - RATCHET_SALT_FIELD_NUMBER: builtins.int - FAILURE_TOLERANCE_FIELD_NUMBER: builtins.int - KEY_RING_SIZE_FIELD_NUMBER: builtins.int - KEY_DERIVATION_FUNCTION_FIELD_NUMBER: builtins.int - shared_key: builtins.bytes + _HasFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___FrameCryptor: _TypeAlias = FrameCryptor # noqa: Y015 + +@_typing.final +class KeyProviderOptions(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + SHARED_KEY_FIELD_NUMBER: _builtins.int + RATCHET_WINDOW_SIZE_FIELD_NUMBER: _builtins.int + RATCHET_SALT_FIELD_NUMBER: _builtins.int + FAILURE_TOLERANCE_FIELD_NUMBER: _builtins.int + KEY_RING_SIZE_FIELD_NUMBER: _builtins.int + KEY_DERIVATION_FUNCTION_FIELD_NUMBER: _builtins.int + shared_key: _builtins.bytes """Only specify if you want to use a shared_key""" - ratchet_window_size: builtins.int - ratchet_salt: builtins.bytes - failure_tolerance: builtins.int + ratchet_window_size: _builtins.int + ratchet_salt: _builtins.bytes + failure_tolerance: _builtins.int """-1 = no tolerance""" - key_ring_size: builtins.int - key_derivation_function: global___KeyDerivationFunction.ValueType + key_ring_size: _builtins.int + key_derivation_function: Global___KeyDerivationFunction.ValueType def __init__( self, *, - shared_key: builtins.bytes | None = ..., - ratchet_window_size: builtins.int | None = ..., - ratchet_salt: builtins.bytes | None = ..., - failure_tolerance: builtins.int | None = ..., - key_ring_size: builtins.int | None = ..., - key_derivation_function: global___KeyDerivationFunction.ValueType | None = ..., + shared_key: _builtins.bytes | None = ..., + ratchet_window_size: _builtins.int | None = ..., + ratchet_salt: _builtins.bytes | None = ..., + failure_tolerance: _builtins.int | None = ..., + key_ring_size: _builtins.int | None = ..., + key_derivation_function: Global___KeyDerivationFunction.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["failure_tolerance", b"failure_tolerance", "key_derivation_function", b"key_derivation_function", "key_ring_size", b"key_ring_size", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["failure_tolerance", b"failure_tolerance", "key_derivation_function", b"key_derivation_function", "key_ring_size", b"key_ring_size", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> None: ... - -global___KeyProviderOptions = KeyProviderOptions - -@typing.final -class E2eeOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ENCRYPTION_TYPE_FIELD_NUMBER: builtins.int - KEY_PROVIDER_OPTIONS_FIELD_NUMBER: builtins.int - encryption_type: global___EncryptionType.ValueType - @property - def key_provider_options(self) -> global___KeyProviderOptions: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["failure_tolerance", b"failure_tolerance", "key_derivation_function", b"key_derivation_function", "key_ring_size", b"key_ring_size", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["failure_tolerance", b"failure_tolerance", "key_derivation_function", b"key_derivation_function", "key_ring_size", b"key_ring_size", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___KeyProviderOptions: _TypeAlias = KeyProviderOptions # noqa: Y015 + +@_typing.final +class E2eeOptions(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ENCRYPTION_TYPE_FIELD_NUMBER: _builtins.int + KEY_PROVIDER_OPTIONS_FIELD_NUMBER: _builtins.int + encryption_type: Global___EncryptionType.ValueType + @_builtins.property + def key_provider_options(self) -> Global___KeyProviderOptions: ... def __init__( self, *, - encryption_type: global___EncryptionType.ValueType | None = ..., - key_provider_options: global___KeyProviderOptions | None = ..., + encryption_type: Global___EncryptionType.ValueType | None = ..., + key_provider_options: Global___KeyProviderOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___E2eeOptions = E2eeOptions +Global___E2eeOptions: _TypeAlias = E2eeOptions # noqa: Y015 -@typing.final -class E2eeManagerSetEnabledRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class E2eeManagerSetEnabledRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ENABLED_FIELD_NUMBER: builtins.int - enabled: builtins.bool + ENABLED_FIELD_NUMBER: _builtins.int + enabled: _builtins.bool def __init__( self, *, - enabled: builtins.bool | None = ..., + enabled: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___E2eeManagerSetEnabledRequest = E2eeManagerSetEnabledRequest +Global___E2eeManagerSetEnabledRequest: _TypeAlias = E2eeManagerSetEnabledRequest # noqa: Y015 -@typing.final -class E2eeManagerSetEnabledResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class E2eeManagerSetEnabledResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___E2eeManagerSetEnabledResponse = E2eeManagerSetEnabledResponse +Global___E2eeManagerSetEnabledResponse: _TypeAlias = E2eeManagerSetEnabledResponse # noqa: Y015 -@typing.final -class E2eeManagerGetFrameCryptorsRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class E2eeManagerGetFrameCryptorsRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___E2eeManagerGetFrameCryptorsRequest = E2eeManagerGetFrameCryptorsRequest +Global___E2eeManagerGetFrameCryptorsRequest: _TypeAlias = E2eeManagerGetFrameCryptorsRequest # noqa: Y015 -@typing.final -class E2eeManagerGetFrameCryptorsResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class E2eeManagerGetFrameCryptorsResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - FRAME_CRYPTORS_FIELD_NUMBER: builtins.int - @property - def frame_cryptors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FrameCryptor]: ... + FRAME_CRYPTORS_FIELD_NUMBER: _builtins.int + @_builtins.property + def frame_cryptors(self) -> _containers.RepeatedCompositeFieldContainer[Global___FrameCryptor]: ... def __init__( self, *, - frame_cryptors: collections.abc.Iterable[global___FrameCryptor] | None = ..., + frame_cryptors: _abc.Iterable[Global___FrameCryptor] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["frame_cryptors", b"frame_cryptors"]) -> None: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["frame_cryptors", b"frame_cryptors"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___E2eeManagerGetFrameCryptorsResponse = E2eeManagerGetFrameCryptorsResponse +Global___E2eeManagerGetFrameCryptorsResponse: _TypeAlias = E2eeManagerGetFrameCryptorsResponse # noqa: Y015 -@typing.final -class FrameCryptorSetEnabledRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class FrameCryptorSetEnabledRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - ENABLED_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - track_sid: builtins.str - enabled: builtins.bool + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + ENABLED_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + track_sid: _builtins.str + enabled: _builtins.bool def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., - enabled: builtins.bool | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., + enabled: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___FrameCryptorSetEnabledRequest = FrameCryptorSetEnabledRequest +Global___FrameCryptorSetEnabledRequest: _TypeAlias = FrameCryptorSetEnabledRequest # noqa: Y015 -@typing.final -class FrameCryptorSetEnabledResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class FrameCryptorSetEnabledResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___FrameCryptorSetEnabledResponse = FrameCryptorSetEnabledResponse +Global___FrameCryptorSetEnabledResponse: _TypeAlias = FrameCryptorSetEnabledResponse # noqa: Y015 -@typing.final -class FrameCryptorSetKeyIndexRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class FrameCryptorSetKeyIndexRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - KEY_INDEX_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - track_sid: builtins.str - key_index: builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + track_sid: _builtins.str + key_index: _builtins.int def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., - key_index: builtins.int | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., + key_index: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___FrameCryptorSetKeyIndexRequest = FrameCryptorSetKeyIndexRequest +Global___FrameCryptorSetKeyIndexRequest: _TypeAlias = FrameCryptorSetKeyIndexRequest # noqa: Y015 -@typing.final -class FrameCryptorSetKeyIndexResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class FrameCryptorSetKeyIndexResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___FrameCryptorSetKeyIndexResponse = FrameCryptorSetKeyIndexResponse +Global___FrameCryptorSetKeyIndexResponse: _TypeAlias = FrameCryptorSetKeyIndexResponse # noqa: Y015 -@typing.final -class SetSharedKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetSharedKeyRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - SHARED_KEY_FIELD_NUMBER: builtins.int - KEY_INDEX_FIELD_NUMBER: builtins.int - shared_key: builtins.bytes - key_index: builtins.int + SHARED_KEY_FIELD_NUMBER: _builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + shared_key: _builtins.bytes + key_index: _builtins.int def __init__( self, *, - shared_key: builtins.bytes | None = ..., - key_index: builtins.int | None = ..., + shared_key: _builtins.bytes | None = ..., + key_index: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetSharedKeyRequest = SetSharedKeyRequest +Global___SetSharedKeyRequest: _TypeAlias = SetSharedKeyRequest # noqa: Y015 -@typing.final -class SetSharedKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetSharedKeyResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___SetSharedKeyResponse = SetSharedKeyResponse +Global___SetSharedKeyResponse: _TypeAlias = SetSharedKeyResponse # noqa: Y015 -@typing.final -class RatchetSharedKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RatchetSharedKeyRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_INDEX_FIELD_NUMBER: builtins.int - key_index: builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + key_index: _builtins.int def __init__( self, *, - key_index: builtins.int | None = ..., + key_index: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RatchetSharedKeyRequest = RatchetSharedKeyRequest +Global___RatchetSharedKeyRequest: _TypeAlias = RatchetSharedKeyRequest # noqa: Y015 -@typing.final -class RatchetSharedKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RatchetSharedKeyResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - NEW_KEY_FIELD_NUMBER: builtins.int - new_key: builtins.bytes + NEW_KEY_FIELD_NUMBER: _builtins.int + new_key: _builtins.bytes def __init__( self, *, - new_key: builtins.bytes | None = ..., + new_key: _builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["new_key", b"new_key"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["new_key", b"new_key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["new_key", b"new_key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RatchetSharedKeyResponse = RatchetSharedKeyResponse +Global___RatchetSharedKeyResponse: _TypeAlias = RatchetSharedKeyResponse # noqa: Y015 -@typing.final -class GetSharedKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetSharedKeyRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_INDEX_FIELD_NUMBER: builtins.int - key_index: builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + key_index: _builtins.int def __init__( self, *, - key_index: builtins.int | None = ..., + key_index: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___GetSharedKeyRequest = GetSharedKeyRequest +Global___GetSharedKeyRequest: _TypeAlias = GetSharedKeyRequest # noqa: Y015 -@typing.final -class GetSharedKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetSharedKeyResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - key: builtins.bytes + KEY_FIELD_NUMBER: _builtins.int + key: _builtins.bytes def __init__( self, *, - key: builtins.bytes | None = ..., + key: _builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... - -global___GetSharedKeyResponse = GetSharedKeyResponse - -@typing.final -class SetKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - KEY_INDEX_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - key: builtins.bytes - key_index: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___GetSharedKeyResponse: _TypeAlias = GetSharedKeyResponse # noqa: Y015 + +@_typing.final +class SetKeyRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + KEY_FIELD_NUMBER: _builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + key: _builtins.bytes + key_index: _builtins.int def __init__( self, *, - participant_identity: builtins.str | None = ..., - key: builtins.bytes | None = ..., - key_index: builtins.int | None = ..., + participant_identity: _builtins.str | None = ..., + key: _builtins.bytes | None = ..., + key_index: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetKeyRequest = SetKeyRequest +Global___SetKeyRequest: _TypeAlias = SetKeyRequest # noqa: Y015 -@typing.final -class SetKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetKeyResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___SetKeyResponse = SetKeyResponse +Global___SetKeyResponse: _TypeAlias = SetKeyResponse # noqa: Y015 -@typing.final -class RatchetKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RatchetKeyRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - KEY_INDEX_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - key_index: builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + key_index: _builtins.int def __init__( self, *, - participant_identity: builtins.str | None = ..., - key_index: builtins.int | None = ..., + participant_identity: _builtins.str | None = ..., + key_index: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RatchetKeyRequest = RatchetKeyRequest +Global___RatchetKeyRequest: _TypeAlias = RatchetKeyRequest # noqa: Y015 -@typing.final -class RatchetKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RatchetKeyResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - NEW_KEY_FIELD_NUMBER: builtins.int - new_key: builtins.bytes + NEW_KEY_FIELD_NUMBER: _builtins.int + new_key: _builtins.bytes def __init__( self, *, - new_key: builtins.bytes | None = ..., + new_key: _builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["new_key", b"new_key"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["new_key", b"new_key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["new_key", b"new_key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RatchetKeyResponse = RatchetKeyResponse +Global___RatchetKeyResponse: _TypeAlias = RatchetKeyResponse # noqa: Y015 -@typing.final -class GetKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetKeyRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - KEY_INDEX_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - key_index: builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + KEY_INDEX_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + key_index: _builtins.int def __init__( self, *, - participant_identity: builtins.str | None = ..., - key_index: builtins.int | None = ..., + participant_identity: _builtins.str | None = ..., + key_index: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___GetKeyRequest = GetKeyRequest +Global___GetKeyRequest: _TypeAlias = GetKeyRequest # noqa: Y015 -@typing.final -class GetKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetKeyResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - key: builtins.bytes + KEY_FIELD_NUMBER: _builtins.int + key: _builtins.bytes def __init__( self, *, - key: builtins.bytes | None = ..., + key: _builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... - -global___GetKeyResponse = GetKeyResponse - -@typing.final -class E2eeRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ROOM_HANDLE_FIELD_NUMBER: builtins.int - MANAGER_SET_ENABLED_FIELD_NUMBER: builtins.int - MANAGER_GET_FRAME_CRYPTORS_FIELD_NUMBER: builtins.int - CRYPTOR_SET_ENABLED_FIELD_NUMBER: builtins.int - CRYPTOR_SET_KEY_INDEX_FIELD_NUMBER: builtins.int - SET_SHARED_KEY_FIELD_NUMBER: builtins.int - RATCHET_SHARED_KEY_FIELD_NUMBER: builtins.int - GET_SHARED_KEY_FIELD_NUMBER: builtins.int - SET_KEY_FIELD_NUMBER: builtins.int - RATCHET_KEY_FIELD_NUMBER: builtins.int - GET_KEY_FIELD_NUMBER: builtins.int - room_handle: builtins.int - @property - def manager_set_enabled(self) -> global___E2eeManagerSetEnabledRequest: ... - @property - def manager_get_frame_cryptors(self) -> global___E2eeManagerGetFrameCryptorsRequest: ... - @property - def cryptor_set_enabled(self) -> global___FrameCryptorSetEnabledRequest: ... - @property - def cryptor_set_key_index(self) -> global___FrameCryptorSetKeyIndexRequest: ... - @property - def set_shared_key(self) -> global___SetSharedKeyRequest: ... - @property - def ratchet_shared_key(self) -> global___RatchetSharedKeyRequest: ... - @property - def get_shared_key(self) -> global___GetSharedKeyRequest: ... - @property - def set_key(self) -> global___SetKeyRequest: ... - @property - def ratchet_key(self) -> global___RatchetKeyRequest: ... - @property - def get_key(self) -> global___GetKeyRequest: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___GetKeyResponse: _TypeAlias = GetKeyResponse # noqa: Y015 + +@_typing.final +class E2eeRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ROOM_HANDLE_FIELD_NUMBER: _builtins.int + MANAGER_SET_ENABLED_FIELD_NUMBER: _builtins.int + MANAGER_GET_FRAME_CRYPTORS_FIELD_NUMBER: _builtins.int + CRYPTOR_SET_ENABLED_FIELD_NUMBER: _builtins.int + CRYPTOR_SET_KEY_INDEX_FIELD_NUMBER: _builtins.int + SET_SHARED_KEY_FIELD_NUMBER: _builtins.int + RATCHET_SHARED_KEY_FIELD_NUMBER: _builtins.int + GET_SHARED_KEY_FIELD_NUMBER: _builtins.int + SET_KEY_FIELD_NUMBER: _builtins.int + RATCHET_KEY_FIELD_NUMBER: _builtins.int + GET_KEY_FIELD_NUMBER: _builtins.int + room_handle: _builtins.int + @_builtins.property + def manager_set_enabled(self) -> Global___E2eeManagerSetEnabledRequest: ... + @_builtins.property + def manager_get_frame_cryptors(self) -> Global___E2eeManagerGetFrameCryptorsRequest: ... + @_builtins.property + def cryptor_set_enabled(self) -> Global___FrameCryptorSetEnabledRequest: ... + @_builtins.property + def cryptor_set_key_index(self) -> Global___FrameCryptorSetKeyIndexRequest: ... + @_builtins.property + def set_shared_key(self) -> Global___SetSharedKeyRequest: ... + @_builtins.property + def ratchet_shared_key(self) -> Global___RatchetSharedKeyRequest: ... + @_builtins.property + def get_shared_key(self) -> Global___GetSharedKeyRequest: ... + @_builtins.property + def set_key(self) -> Global___SetKeyRequest: ... + @_builtins.property + def ratchet_key(self) -> Global___RatchetKeyRequest: ... + @_builtins.property + def get_key(self) -> Global___GetKeyRequest: ... def __init__( self, *, - room_handle: builtins.int | None = ..., - manager_set_enabled: global___E2eeManagerSetEnabledRequest | None = ..., - manager_get_frame_cryptors: global___E2eeManagerGetFrameCryptorsRequest | None = ..., - cryptor_set_enabled: global___FrameCryptorSetEnabledRequest | None = ..., - cryptor_set_key_index: global___FrameCryptorSetKeyIndexRequest | None = ..., - set_shared_key: global___SetSharedKeyRequest | None = ..., - ratchet_shared_key: global___RatchetSharedKeyRequest | None = ..., - get_shared_key: global___GetSharedKeyRequest | None = ..., - set_key: global___SetKeyRequest | None = ..., - ratchet_key: global___RatchetKeyRequest | None = ..., - get_key: global___GetKeyRequest | None = ..., + room_handle: _builtins.int | None = ..., + manager_set_enabled: Global___E2eeManagerSetEnabledRequest | None = ..., + manager_get_frame_cryptors: Global___E2eeManagerGetFrameCryptorsRequest | None = ..., + cryptor_set_enabled: Global___FrameCryptorSetEnabledRequest | None = ..., + cryptor_set_key_index: Global___FrameCryptorSetKeyIndexRequest | None = ..., + set_shared_key: Global___SetSharedKeyRequest | None = ..., + ratchet_shared_key: Global___RatchetSharedKeyRequest | None = ..., + get_shared_key: Global___GetSharedKeyRequest | None = ..., + set_key: Global___SetKeyRequest | None = ..., + ratchet_key: Global___RatchetKeyRequest | None = ..., + get_key: Global___GetKeyRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... - -global___E2eeRequest = E2eeRequest - -@typing.final -class E2eeResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MANAGER_SET_ENABLED_FIELD_NUMBER: builtins.int - MANAGER_GET_FRAME_CRYPTORS_FIELD_NUMBER: builtins.int - CRYPTOR_SET_ENABLED_FIELD_NUMBER: builtins.int - CRYPTOR_SET_KEY_INDEX_FIELD_NUMBER: builtins.int - SET_SHARED_KEY_FIELD_NUMBER: builtins.int - RATCHET_SHARED_KEY_FIELD_NUMBER: builtins.int - GET_SHARED_KEY_FIELD_NUMBER: builtins.int - SET_KEY_FIELD_NUMBER: builtins.int - RATCHET_KEY_FIELD_NUMBER: builtins.int - GET_KEY_FIELD_NUMBER: builtins.int - @property - def manager_set_enabled(self) -> global___E2eeManagerSetEnabledResponse: ... - @property - def manager_get_frame_cryptors(self) -> global___E2eeManagerGetFrameCryptorsResponse: ... - @property - def cryptor_set_enabled(self) -> global___FrameCryptorSetEnabledResponse: ... - @property - def cryptor_set_key_index(self) -> global___FrameCryptorSetKeyIndexResponse: ... - @property - def set_shared_key(self) -> global___SetSharedKeyResponse: ... - @property - def ratchet_shared_key(self) -> global___RatchetSharedKeyResponse: ... - @property - def get_shared_key(self) -> global___GetSharedKeyResponse: ... - @property - def set_key(self) -> global___SetKeyResponse: ... - @property - def ratchet_key(self) -> global___RatchetKeyResponse: ... - @property - def get_key(self) -> global___GetKeyResponse: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___E2eeRequest: _TypeAlias = E2eeRequest # noqa: Y015 + +@_typing.final +class E2eeResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + MANAGER_SET_ENABLED_FIELD_NUMBER: _builtins.int + MANAGER_GET_FRAME_CRYPTORS_FIELD_NUMBER: _builtins.int + CRYPTOR_SET_ENABLED_FIELD_NUMBER: _builtins.int + CRYPTOR_SET_KEY_INDEX_FIELD_NUMBER: _builtins.int + SET_SHARED_KEY_FIELD_NUMBER: _builtins.int + RATCHET_SHARED_KEY_FIELD_NUMBER: _builtins.int + GET_SHARED_KEY_FIELD_NUMBER: _builtins.int + SET_KEY_FIELD_NUMBER: _builtins.int + RATCHET_KEY_FIELD_NUMBER: _builtins.int + GET_KEY_FIELD_NUMBER: _builtins.int + @_builtins.property + def manager_set_enabled(self) -> Global___E2eeManagerSetEnabledResponse: ... + @_builtins.property + def manager_get_frame_cryptors(self) -> Global___E2eeManagerGetFrameCryptorsResponse: ... + @_builtins.property + def cryptor_set_enabled(self) -> Global___FrameCryptorSetEnabledResponse: ... + @_builtins.property + def cryptor_set_key_index(self) -> Global___FrameCryptorSetKeyIndexResponse: ... + @_builtins.property + def set_shared_key(self) -> Global___SetSharedKeyResponse: ... + @_builtins.property + def ratchet_shared_key(self) -> Global___RatchetSharedKeyResponse: ... + @_builtins.property + def get_shared_key(self) -> Global___GetSharedKeyResponse: ... + @_builtins.property + def set_key(self) -> Global___SetKeyResponse: ... + @_builtins.property + def ratchet_key(self) -> Global___RatchetKeyResponse: ... + @_builtins.property + def get_key(self) -> Global___GetKeyResponse: ... def __init__( self, *, - manager_set_enabled: global___E2eeManagerSetEnabledResponse | None = ..., - manager_get_frame_cryptors: global___E2eeManagerGetFrameCryptorsResponse | None = ..., - cryptor_set_enabled: global___FrameCryptorSetEnabledResponse | None = ..., - cryptor_set_key_index: global___FrameCryptorSetKeyIndexResponse | None = ..., - set_shared_key: global___SetSharedKeyResponse | None = ..., - ratchet_shared_key: global___RatchetSharedKeyResponse | None = ..., - get_shared_key: global___GetSharedKeyResponse | None = ..., - set_key: global___SetKeyResponse | None = ..., - ratchet_key: global___RatchetKeyResponse | None = ..., - get_key: global___GetKeyResponse | None = ..., + manager_set_enabled: Global___E2eeManagerSetEnabledResponse | None = ..., + manager_get_frame_cryptors: Global___E2eeManagerGetFrameCryptorsResponse | None = ..., + cryptor_set_enabled: Global___FrameCryptorSetEnabledResponse | None = ..., + cryptor_set_key_index: Global___FrameCryptorSetKeyIndexResponse | None = ..., + set_shared_key: Global___SetSharedKeyResponse | None = ..., + ratchet_shared_key: Global___RatchetSharedKeyResponse | None = ..., + get_shared_key: Global___GetSharedKeyResponse | None = ..., + set_key: Global___SetKeyResponse | None = ..., + ratchet_key: Global___RatchetKeyResponse | None = ..., + get_key: Global___GetKeyResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... - -global___E2eeResponse = E2eeResponse + _HasFieldArgType: _TypeAlias = _typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___E2eeResponse: _TypeAlias = E2eeResponse # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py index e1154526..75be098a 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: ffi.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -29,8 +28,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ffi_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_LOGLEVEL']._serialized_start=14376 _globals['_LOGLEVEL']._serialized_end=14459 _globals['_FFIREQUEST']._serialized_start=177 diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi index 04909555..749e71cb 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi @@ -16,37 +16,37 @@ See the License for the specific language governing permissions and limitations under the License. """ -from . import audio_frame_pb2 -import builtins -import collections.abc -from . import data_stream_pb2 -from . import data_track_pb2 -from . import e2ee_pb2 -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import room_pb2 -from . import rpc_pb2 +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from . import audio_frame_pb2 as _audio_frame_pb2 +import builtins as _builtins +from . import data_stream_pb2 as _data_stream_pb2 +from . import data_track_pb2 as _data_track_pb2 +from . import e2ee_pb2 as _e2ee_pb2 +from . import room_pb2 as _room_pb2 +from . import rpc_pb2 as _rpc_pb2 import sys -from . import track_pb2 -from . import track_publication_pb2 -import typing -from . import video_frame_pb2 +from . import track_pb2 as _track_pb2 +from . import track_publication_pb2 as _track_publication_pb2 +import typing as _typing +from . import video_frame_pb2 as _video_frame_pb2 if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _LogLevel: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _LogLevelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LogLevel.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _LogLevelEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_LogLevel.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor LOG_ERROR: _LogLevel.ValueType # 0 LOG_WARN: _LogLevel.ValueType # 1 LOG_INFO: _LogLevel.ValueType # 2 @@ -60,10 +60,10 @@ LOG_WARN: LogLevel.ValueType # 1 LOG_INFO: LogLevel.ValueType # 2 LOG_DEBUG: LogLevel.ValueType # 3 LOG_TRACE: LogLevel.ValueType # 4 -global___LogLevel = LogLevel +Global___LogLevel: _TypeAlias = LogLevel # noqa: Y015 -@typing.final -class FfiRequest(google.protobuf.message.Message): +@_typing.final +class FfiRequest(_message.Message): """**How is the livekit-ffi working: We refer as the ffi server the Rust server that is running the LiveKit client implementation, and we refer as the ffi client the foreign language that commumicates with the ffi server. (e.g Python SDK, Unity SDK, etc...) @@ -94,992 +94,1015 @@ class FfiRequest(google.protobuf.message.Message): We always expect a response (FFIResponse, even if it's empty) """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPOSE_FIELD_NUMBER: builtins.int - CONNECT_FIELD_NUMBER: builtins.int - DISCONNECT_FIELD_NUMBER: builtins.int - PUBLISH_TRACK_FIELD_NUMBER: builtins.int - UNPUBLISH_TRACK_FIELD_NUMBER: builtins.int - PUBLISH_DATA_FIELD_NUMBER: builtins.int - SET_SUBSCRIBED_FIELD_NUMBER: builtins.int - SET_LOCAL_METADATA_FIELD_NUMBER: builtins.int - SET_LOCAL_NAME_FIELD_NUMBER: builtins.int - SET_LOCAL_ATTRIBUTES_FIELD_NUMBER: builtins.int - GET_SESSION_STATS_FIELD_NUMBER: builtins.int - PUBLISH_TRANSCRIPTION_FIELD_NUMBER: builtins.int - PUBLISH_SIP_DTMF_FIELD_NUMBER: builtins.int - CREATE_VIDEO_TRACK_FIELD_NUMBER: builtins.int - CREATE_AUDIO_TRACK_FIELD_NUMBER: builtins.int - LOCAL_TRACK_MUTE_FIELD_NUMBER: builtins.int - ENABLE_REMOTE_TRACK_FIELD_NUMBER: builtins.int - GET_STATS_FIELD_NUMBER: builtins.int - SET_TRACK_SUBSCRIPTION_PERMISSIONS_FIELD_NUMBER: builtins.int - NEW_VIDEO_STREAM_FIELD_NUMBER: builtins.int - NEW_VIDEO_SOURCE_FIELD_NUMBER: builtins.int - CAPTURE_VIDEO_FRAME_FIELD_NUMBER: builtins.int - VIDEO_CONVERT_FIELD_NUMBER: builtins.int - VIDEO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: builtins.int - NEW_AUDIO_STREAM_FIELD_NUMBER: builtins.int - NEW_AUDIO_SOURCE_FIELD_NUMBER: builtins.int - CAPTURE_AUDIO_FRAME_FIELD_NUMBER: builtins.int - CLEAR_AUDIO_BUFFER_FIELD_NUMBER: builtins.int - NEW_AUDIO_RESAMPLER_FIELD_NUMBER: builtins.int - REMIX_AND_RESAMPLE_FIELD_NUMBER: builtins.int - E2EE_FIELD_NUMBER: builtins.int - AUDIO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: builtins.int - NEW_SOX_RESAMPLER_FIELD_NUMBER: builtins.int - PUSH_SOX_RESAMPLER_FIELD_NUMBER: builtins.int - FLUSH_SOX_RESAMPLER_FIELD_NUMBER: builtins.int - SEND_CHAT_MESSAGE_FIELD_NUMBER: builtins.int - EDIT_CHAT_MESSAGE_FIELD_NUMBER: builtins.int - PERFORM_RPC_FIELD_NUMBER: builtins.int - REGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int - UNREGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int - RPC_METHOD_INVOCATION_RESPONSE_FIELD_NUMBER: builtins.int - ENABLE_REMOTE_TRACK_PUBLICATION_FIELD_NUMBER: builtins.int - UPDATE_REMOTE_TRACK_PUBLICATION_DIMENSION_FIELD_NUMBER: builtins.int - SEND_STREAM_HEADER_FIELD_NUMBER: builtins.int - SEND_STREAM_CHUNK_FIELD_NUMBER: builtins.int - SEND_STREAM_TRAILER_FIELD_NUMBER: builtins.int - SET_DATA_CHANNEL_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: builtins.int - LOAD_AUDIO_FILTER_PLUGIN_FIELD_NUMBER: builtins.int - NEW_APM_FIELD_NUMBER: builtins.int - APM_PROCESS_STREAM_FIELD_NUMBER: builtins.int - APM_PROCESS_REVERSE_STREAM_FIELD_NUMBER: builtins.int - APM_SET_STREAM_DELAY_FIELD_NUMBER: builtins.int - BYTE_READ_INCREMENTAL_FIELD_NUMBER: builtins.int - BYTE_READ_ALL_FIELD_NUMBER: builtins.int - BYTE_WRITE_TO_FILE_FIELD_NUMBER: builtins.int - TEXT_READ_INCREMENTAL_FIELD_NUMBER: builtins.int - TEXT_READ_ALL_FIELD_NUMBER: builtins.int - SEND_FILE_FIELD_NUMBER: builtins.int - SEND_TEXT_FIELD_NUMBER: builtins.int - BYTE_STREAM_OPEN_FIELD_NUMBER: builtins.int - BYTE_STREAM_WRITE_FIELD_NUMBER: builtins.int - BYTE_STREAM_CLOSE_FIELD_NUMBER: builtins.int - TEXT_STREAM_OPEN_FIELD_NUMBER: builtins.int - TEXT_STREAM_WRITE_FIELD_NUMBER: builtins.int - TEXT_STREAM_CLOSE_FIELD_NUMBER: builtins.int - SEND_BYTES_FIELD_NUMBER: builtins.int - SET_REMOTE_TRACK_PUBLICATION_QUALITY_FIELD_NUMBER: builtins.int - PUBLISH_DATA_TRACK_FIELD_NUMBER: builtins.int - LOCAL_DATA_TRACK_TRY_PUSH_FIELD_NUMBER: builtins.int - LOCAL_DATA_TRACK_UNPUBLISH_FIELD_NUMBER: builtins.int - LOCAL_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: builtins.int - SUBSCRIBE_DATA_TRACK_FIELD_NUMBER: builtins.int - REMOTE_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: builtins.int - DATA_TRACK_STREAM_READ_FIELD_NUMBER: builtins.int - SIMULATE_SCENARIO_FIELD_NUMBER: builtins.int - @property - def dispose(self) -> global___DisposeRequest: ... - @property - def connect(self) -> room_pb2.ConnectRequest: + DESCRIPTOR: _descriptor.Descriptor + + DISPOSE_FIELD_NUMBER: _builtins.int + CONNECT_FIELD_NUMBER: _builtins.int + DISCONNECT_FIELD_NUMBER: _builtins.int + PUBLISH_TRACK_FIELD_NUMBER: _builtins.int + UNPUBLISH_TRACK_FIELD_NUMBER: _builtins.int + PUBLISH_DATA_FIELD_NUMBER: _builtins.int + SET_SUBSCRIBED_FIELD_NUMBER: _builtins.int + SET_LOCAL_METADATA_FIELD_NUMBER: _builtins.int + SET_LOCAL_NAME_FIELD_NUMBER: _builtins.int + SET_LOCAL_ATTRIBUTES_FIELD_NUMBER: _builtins.int + GET_SESSION_STATS_FIELD_NUMBER: _builtins.int + PUBLISH_TRANSCRIPTION_FIELD_NUMBER: _builtins.int + PUBLISH_SIP_DTMF_FIELD_NUMBER: _builtins.int + CREATE_VIDEO_TRACK_FIELD_NUMBER: _builtins.int + CREATE_AUDIO_TRACK_FIELD_NUMBER: _builtins.int + LOCAL_TRACK_MUTE_FIELD_NUMBER: _builtins.int + ENABLE_REMOTE_TRACK_FIELD_NUMBER: _builtins.int + GET_STATS_FIELD_NUMBER: _builtins.int + SET_TRACK_SUBSCRIPTION_PERMISSIONS_FIELD_NUMBER: _builtins.int + NEW_VIDEO_STREAM_FIELD_NUMBER: _builtins.int + NEW_VIDEO_SOURCE_FIELD_NUMBER: _builtins.int + CAPTURE_VIDEO_FRAME_FIELD_NUMBER: _builtins.int + VIDEO_CONVERT_FIELD_NUMBER: _builtins.int + VIDEO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: _builtins.int + NEW_AUDIO_STREAM_FIELD_NUMBER: _builtins.int + NEW_AUDIO_SOURCE_FIELD_NUMBER: _builtins.int + CAPTURE_AUDIO_FRAME_FIELD_NUMBER: _builtins.int + CLEAR_AUDIO_BUFFER_FIELD_NUMBER: _builtins.int + NEW_AUDIO_RESAMPLER_FIELD_NUMBER: _builtins.int + REMIX_AND_RESAMPLE_FIELD_NUMBER: _builtins.int + E2EE_FIELD_NUMBER: _builtins.int + AUDIO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: _builtins.int + NEW_SOX_RESAMPLER_FIELD_NUMBER: _builtins.int + PUSH_SOX_RESAMPLER_FIELD_NUMBER: _builtins.int + FLUSH_SOX_RESAMPLER_FIELD_NUMBER: _builtins.int + SEND_CHAT_MESSAGE_FIELD_NUMBER: _builtins.int + EDIT_CHAT_MESSAGE_FIELD_NUMBER: _builtins.int + PERFORM_RPC_FIELD_NUMBER: _builtins.int + REGISTER_RPC_METHOD_FIELD_NUMBER: _builtins.int + UNREGISTER_RPC_METHOD_FIELD_NUMBER: _builtins.int + RPC_METHOD_INVOCATION_RESPONSE_FIELD_NUMBER: _builtins.int + ENABLE_REMOTE_TRACK_PUBLICATION_FIELD_NUMBER: _builtins.int + UPDATE_REMOTE_TRACK_PUBLICATION_DIMENSION_FIELD_NUMBER: _builtins.int + SEND_STREAM_HEADER_FIELD_NUMBER: _builtins.int + SEND_STREAM_CHUNK_FIELD_NUMBER: _builtins.int + SEND_STREAM_TRAILER_FIELD_NUMBER: _builtins.int + SET_DATA_CHANNEL_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: _builtins.int + LOAD_AUDIO_FILTER_PLUGIN_FIELD_NUMBER: _builtins.int + NEW_APM_FIELD_NUMBER: _builtins.int + APM_PROCESS_STREAM_FIELD_NUMBER: _builtins.int + APM_PROCESS_REVERSE_STREAM_FIELD_NUMBER: _builtins.int + APM_SET_STREAM_DELAY_FIELD_NUMBER: _builtins.int + BYTE_READ_INCREMENTAL_FIELD_NUMBER: _builtins.int + BYTE_READ_ALL_FIELD_NUMBER: _builtins.int + BYTE_WRITE_TO_FILE_FIELD_NUMBER: _builtins.int + TEXT_READ_INCREMENTAL_FIELD_NUMBER: _builtins.int + TEXT_READ_ALL_FIELD_NUMBER: _builtins.int + SEND_FILE_FIELD_NUMBER: _builtins.int + SEND_TEXT_FIELD_NUMBER: _builtins.int + BYTE_STREAM_OPEN_FIELD_NUMBER: _builtins.int + BYTE_STREAM_WRITE_FIELD_NUMBER: _builtins.int + BYTE_STREAM_CLOSE_FIELD_NUMBER: _builtins.int + TEXT_STREAM_OPEN_FIELD_NUMBER: _builtins.int + TEXT_STREAM_WRITE_FIELD_NUMBER: _builtins.int + TEXT_STREAM_CLOSE_FIELD_NUMBER: _builtins.int + SEND_BYTES_FIELD_NUMBER: _builtins.int + SET_REMOTE_TRACK_PUBLICATION_QUALITY_FIELD_NUMBER: _builtins.int + PUBLISH_DATA_TRACK_FIELD_NUMBER: _builtins.int + LOCAL_DATA_TRACK_TRY_PUSH_FIELD_NUMBER: _builtins.int + LOCAL_DATA_TRACK_UNPUBLISH_FIELD_NUMBER: _builtins.int + LOCAL_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: _builtins.int + SUBSCRIBE_DATA_TRACK_FIELD_NUMBER: _builtins.int + REMOTE_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: _builtins.int + DATA_TRACK_STREAM_READ_FIELD_NUMBER: _builtins.int + SIMULATE_SCENARIO_FIELD_NUMBER: _builtins.int + @_builtins.property + def dispose(self) -> Global___DisposeRequest: ... + @_builtins.property + def connect(self) -> _room_pb2.ConnectRequest: """Room""" - @property - def disconnect(self) -> room_pb2.DisconnectRequest: ... - @property - def publish_track(self) -> room_pb2.PublishTrackRequest: ... - @property - def unpublish_track(self) -> room_pb2.UnpublishTrackRequest: ... - @property - def publish_data(self) -> room_pb2.PublishDataRequest: ... - @property - def set_subscribed(self) -> room_pb2.SetSubscribedRequest: ... - @property - def set_local_metadata(self) -> room_pb2.SetLocalMetadataRequest: ... - @property - def set_local_name(self) -> room_pb2.SetLocalNameRequest: ... - @property - def set_local_attributes(self) -> room_pb2.SetLocalAttributesRequest: ... - @property - def get_session_stats(self) -> room_pb2.GetSessionStatsRequest: ... - @property - def publish_transcription(self) -> room_pb2.PublishTranscriptionRequest: ... - @property - def publish_sip_dtmf(self) -> room_pb2.PublishSipDtmfRequest: ... - @property - def create_video_track(self) -> track_pb2.CreateVideoTrackRequest: + @_builtins.property + def disconnect(self) -> _room_pb2.DisconnectRequest: ... + @_builtins.property + def publish_track(self) -> _room_pb2.PublishTrackRequest: ... + @_builtins.property + def unpublish_track(self) -> _room_pb2.UnpublishTrackRequest: ... + @_builtins.property + def publish_data(self) -> _room_pb2.PublishDataRequest: ... + @_builtins.property + def set_subscribed(self) -> _room_pb2.SetSubscribedRequest: ... + @_builtins.property + def set_local_metadata(self) -> _room_pb2.SetLocalMetadataRequest: ... + @_builtins.property + def set_local_name(self) -> _room_pb2.SetLocalNameRequest: ... + @_builtins.property + def set_local_attributes(self) -> _room_pb2.SetLocalAttributesRequest: ... + @_builtins.property + def get_session_stats(self) -> _room_pb2.GetSessionStatsRequest: ... + @_builtins.property + def publish_transcription(self) -> _room_pb2.PublishTranscriptionRequest: ... + @_builtins.property + def publish_sip_dtmf(self) -> _room_pb2.PublishSipDtmfRequest: ... + @_builtins.property + def create_video_track(self) -> _track_pb2.CreateVideoTrackRequest: """Track""" - @property - def create_audio_track(self) -> track_pb2.CreateAudioTrackRequest: ... - @property - def local_track_mute(self) -> track_pb2.LocalTrackMuteRequest: ... - @property - def enable_remote_track(self) -> track_pb2.EnableRemoteTrackRequest: ... - @property - def get_stats(self) -> track_pb2.GetStatsRequest: ... - @property - def set_track_subscription_permissions(self) -> track_pb2.SetTrackSubscriptionPermissionsRequest: ... - @property - def new_video_stream(self) -> video_frame_pb2.NewVideoStreamRequest: + @_builtins.property + def create_audio_track(self) -> _track_pb2.CreateAudioTrackRequest: ... + @_builtins.property + def local_track_mute(self) -> _track_pb2.LocalTrackMuteRequest: ... + @_builtins.property + def enable_remote_track(self) -> _track_pb2.EnableRemoteTrackRequest: ... + @_builtins.property + def get_stats(self) -> _track_pb2.GetStatsRequest: ... + @_builtins.property + def set_track_subscription_permissions(self) -> _track_pb2.SetTrackSubscriptionPermissionsRequest: ... + @_builtins.property + def new_video_stream(self) -> _video_frame_pb2.NewVideoStreamRequest: """Video""" - @property - def new_video_source(self) -> video_frame_pb2.NewVideoSourceRequest: ... - @property - def capture_video_frame(self) -> video_frame_pb2.CaptureVideoFrameRequest: ... - @property - def video_convert(self) -> video_frame_pb2.VideoConvertRequest: ... - @property - def video_stream_from_participant(self) -> video_frame_pb2.VideoStreamFromParticipantRequest: ... - @property - def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamRequest: + @_builtins.property + def new_video_source(self) -> _video_frame_pb2.NewVideoSourceRequest: ... + @_builtins.property + def capture_video_frame(self) -> _video_frame_pb2.CaptureVideoFrameRequest: ... + @_builtins.property + def video_convert(self) -> _video_frame_pb2.VideoConvertRequest: ... + @_builtins.property + def video_stream_from_participant(self) -> _video_frame_pb2.VideoStreamFromParticipantRequest: ... + @_builtins.property + def new_audio_stream(self) -> _audio_frame_pb2.NewAudioStreamRequest: """Audio""" - @property - def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceRequest: ... - @property - def capture_audio_frame(self) -> audio_frame_pb2.CaptureAudioFrameRequest: ... - @property - def clear_audio_buffer(self) -> audio_frame_pb2.ClearAudioBufferRequest: ... - @property - def new_audio_resampler(self) -> audio_frame_pb2.NewAudioResamplerRequest: ... - @property - def remix_and_resample(self) -> audio_frame_pb2.RemixAndResampleRequest: ... - @property - def e2ee(self) -> e2ee_pb2.E2eeRequest: ... - @property - def audio_stream_from_participant(self) -> audio_frame_pb2.AudioStreamFromParticipantRequest: ... - @property - def new_sox_resampler(self) -> audio_frame_pb2.NewSoxResamplerRequest: ... - @property - def push_sox_resampler(self) -> audio_frame_pb2.PushSoxResamplerRequest: ... - @property - def flush_sox_resampler(self) -> audio_frame_pb2.FlushSoxResamplerRequest: ... - @property - def send_chat_message(self) -> room_pb2.SendChatMessageRequest: ... - @property - def edit_chat_message(self) -> room_pb2.EditChatMessageRequest: ... - @property - def perform_rpc(self) -> rpc_pb2.PerformRpcRequest: + @_builtins.property + def new_audio_source(self) -> _audio_frame_pb2.NewAudioSourceRequest: ... + @_builtins.property + def capture_audio_frame(self) -> _audio_frame_pb2.CaptureAudioFrameRequest: ... + @_builtins.property + def clear_audio_buffer(self) -> _audio_frame_pb2.ClearAudioBufferRequest: ... + @_builtins.property + def new_audio_resampler(self) -> _audio_frame_pb2.NewAudioResamplerRequest: ... + @_builtins.property + def remix_and_resample(self) -> _audio_frame_pb2.RemixAndResampleRequest: ... + @_builtins.property + def e2ee(self) -> _e2ee_pb2.E2eeRequest: ... + @_builtins.property + def audio_stream_from_participant(self) -> _audio_frame_pb2.AudioStreamFromParticipantRequest: ... + @_builtins.property + def new_sox_resampler(self) -> _audio_frame_pb2.NewSoxResamplerRequest: ... + @_builtins.property + def push_sox_resampler(self) -> _audio_frame_pb2.PushSoxResamplerRequest: ... + @_builtins.property + def flush_sox_resampler(self) -> _audio_frame_pb2.FlushSoxResamplerRequest: ... + @_builtins.property + def send_chat_message(self) -> _room_pb2.SendChatMessageRequest: ... + @_builtins.property + def edit_chat_message(self) -> _room_pb2.EditChatMessageRequest: ... + @_builtins.property + def perform_rpc(self) -> _rpc_pb2.PerformRpcRequest: """RPC""" - @property - def register_rpc_method(self) -> rpc_pb2.RegisterRpcMethodRequest: ... - @property - def unregister_rpc_method(self) -> rpc_pb2.UnregisterRpcMethodRequest: ... - @property - def rpc_method_invocation_response(self) -> rpc_pb2.RpcMethodInvocationResponseRequest: ... - @property - def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationRequest: + @_builtins.property + def register_rpc_method(self) -> _rpc_pb2.RegisterRpcMethodRequest: ... + @_builtins.property + def unregister_rpc_method(self) -> _rpc_pb2.UnregisterRpcMethodRequest: ... + @_builtins.property + def rpc_method_invocation_response(self) -> _rpc_pb2.RpcMethodInvocationResponseRequest: ... + @_builtins.property + def enable_remote_track_publication(self) -> _track_publication_pb2.EnableRemoteTrackPublicationRequest: """Track Publication""" - @property - def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest: ... - @property - def send_stream_header(self) -> room_pb2.SendStreamHeaderRequest: + @_builtins.property + def update_remote_track_publication_dimension(self) -> _track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest: ... + @_builtins.property + def send_stream_header(self) -> _room_pb2.SendStreamHeaderRequest: """Data Streams (low level)""" - @property - def send_stream_chunk(self) -> room_pb2.SendStreamChunkRequest: ... - @property - def send_stream_trailer(self) -> room_pb2.SendStreamTrailerRequest: ... - @property - def set_data_channel_buffered_amount_low_threshold(self) -> room_pb2.SetDataChannelBufferedAmountLowThresholdRequest: + @_builtins.property + def send_stream_chunk(self) -> _room_pb2.SendStreamChunkRequest: ... + @_builtins.property + def send_stream_trailer(self) -> _room_pb2.SendStreamTrailerRequest: ... + @_builtins.property + def set_data_channel_buffered_amount_low_threshold(self) -> _room_pb2.SetDataChannelBufferedAmountLowThresholdRequest: """Data Channel""" - @property - def load_audio_filter_plugin(self) -> audio_frame_pb2.LoadAudioFilterPluginRequest: + @_builtins.property + def load_audio_filter_plugin(self) -> _audio_frame_pb2.LoadAudioFilterPluginRequest: """Audio Filter Plugin""" - @property - def new_apm(self) -> audio_frame_pb2.NewApmRequest: ... - @property - def apm_process_stream(self) -> audio_frame_pb2.ApmProcessStreamRequest: ... - @property - def apm_process_reverse_stream(self) -> audio_frame_pb2.ApmProcessReverseStreamRequest: ... - @property - def apm_set_stream_delay(self) -> audio_frame_pb2.ApmSetStreamDelayRequest: ... - @property - def byte_read_incremental(self) -> data_stream_pb2.ByteStreamReaderReadIncrementalRequest: + @_builtins.property + def new_apm(self) -> _audio_frame_pb2.NewApmRequest: ... + @_builtins.property + def apm_process_stream(self) -> _audio_frame_pb2.ApmProcessStreamRequest: ... + @_builtins.property + def apm_process_reverse_stream(self) -> _audio_frame_pb2.ApmProcessReverseStreamRequest: ... + @_builtins.property + def apm_set_stream_delay(self) -> _audio_frame_pb2.ApmSetStreamDelayRequest: ... + @_builtins.property + def byte_read_incremental(self) -> _data_stream_pb2.ByteStreamReaderReadIncrementalRequest: """Data Streams (high level)""" - @property - def byte_read_all(self) -> data_stream_pb2.ByteStreamReaderReadAllRequest: ... - @property - def byte_write_to_file(self) -> data_stream_pb2.ByteStreamReaderWriteToFileRequest: ... - @property - def text_read_incremental(self) -> data_stream_pb2.TextStreamReaderReadIncrementalRequest: ... - @property - def text_read_all(self) -> data_stream_pb2.TextStreamReaderReadAllRequest: ... - @property - def send_file(self) -> data_stream_pb2.StreamSendFileRequest: ... - @property - def send_text(self) -> data_stream_pb2.StreamSendTextRequest: ... - @property - def byte_stream_open(self) -> data_stream_pb2.ByteStreamOpenRequest: ... - @property - def byte_stream_write(self) -> data_stream_pb2.ByteStreamWriterWriteRequest: ... - @property - def byte_stream_close(self) -> data_stream_pb2.ByteStreamWriterCloseRequest: ... - @property - def text_stream_open(self) -> data_stream_pb2.TextStreamOpenRequest: ... - @property - def text_stream_write(self) -> data_stream_pb2.TextStreamWriterWriteRequest: ... - @property - def text_stream_close(self) -> data_stream_pb2.TextStreamWriterCloseRequest: ... - @property - def send_bytes(self) -> data_stream_pb2.StreamSendBytesRequest: ... - @property - def set_remote_track_publication_quality(self) -> track_publication_pb2.SetRemoteTrackPublicationQualityRequest: ... - @property - def publish_data_track(self) -> data_track_pb2.PublishDataTrackRequest: + @_builtins.property + def byte_read_all(self) -> _data_stream_pb2.ByteStreamReaderReadAllRequest: ... + @_builtins.property + def byte_write_to_file(self) -> _data_stream_pb2.ByteStreamReaderWriteToFileRequest: ... + @_builtins.property + def text_read_incremental(self) -> _data_stream_pb2.TextStreamReaderReadIncrementalRequest: ... + @_builtins.property + def text_read_all(self) -> _data_stream_pb2.TextStreamReaderReadAllRequest: ... + @_builtins.property + def send_file(self) -> _data_stream_pb2.StreamSendFileRequest: ... + @_builtins.property + def send_text(self) -> _data_stream_pb2.StreamSendTextRequest: ... + @_builtins.property + def byte_stream_open(self) -> _data_stream_pb2.ByteStreamOpenRequest: ... + @_builtins.property + def byte_stream_write(self) -> _data_stream_pb2.ByteStreamWriterWriteRequest: ... + @_builtins.property + def byte_stream_close(self) -> _data_stream_pb2.ByteStreamWriterCloseRequest: ... + @_builtins.property + def text_stream_open(self) -> _data_stream_pb2.TextStreamOpenRequest: ... + @_builtins.property + def text_stream_write(self) -> _data_stream_pb2.TextStreamWriterWriteRequest: ... + @_builtins.property + def text_stream_close(self) -> _data_stream_pb2.TextStreamWriterCloseRequest: ... + @_builtins.property + def send_bytes(self) -> _data_stream_pb2.StreamSendBytesRequest: ... + @_builtins.property + def set_remote_track_publication_quality(self) -> _track_publication_pb2.SetRemoteTrackPublicationQualityRequest: ... + @_builtins.property + def publish_data_track(self) -> _data_track_pb2.PublishDataTrackRequest: """Data Track (local)""" - @property - def local_data_track_try_push(self) -> data_track_pb2.LocalDataTrackTryPushRequest: ... - @property - def local_data_track_unpublish(self) -> data_track_pb2.LocalDataTrackUnpublishRequest: ... - @property - def local_data_track_is_published(self) -> data_track_pb2.LocalDataTrackIsPublishedRequest: ... - @property - def subscribe_data_track(self) -> data_track_pb2.SubscribeDataTrackRequest: + @_builtins.property + def local_data_track_try_push(self) -> _data_track_pb2.LocalDataTrackTryPushRequest: ... + @_builtins.property + def local_data_track_unpublish(self) -> _data_track_pb2.LocalDataTrackUnpublishRequest: ... + @_builtins.property + def local_data_track_is_published(self) -> _data_track_pb2.LocalDataTrackIsPublishedRequest: ... + @_builtins.property + def subscribe_data_track(self) -> _data_track_pb2.SubscribeDataTrackRequest: """Data Track (remote)""" - @property - def remote_data_track_is_published(self) -> data_track_pb2.RemoteDataTrackIsPublishedRequest: ... - @property - def data_track_stream_read(self) -> data_track_pb2.DataTrackStreamReadRequest: ... - @property - def simulate_scenario(self) -> room_pb2.SimulateScenarioRequest: + @_builtins.property + def remote_data_track_is_published(self) -> _data_track_pb2.RemoteDataTrackIsPublishedRequest: ... + @_builtins.property + def data_track_stream_read(self) -> _data_track_pb2.DataTrackStreamReadRequest: ... + @_builtins.property + def simulate_scenario(self) -> _room_pb2.SimulateScenarioRequest: """Reconnection / chaos testing""" def __init__( self, *, - dispose: global___DisposeRequest | None = ..., - connect: room_pb2.ConnectRequest | None = ..., - disconnect: room_pb2.DisconnectRequest | None = ..., - publish_track: room_pb2.PublishTrackRequest | None = ..., - unpublish_track: room_pb2.UnpublishTrackRequest | None = ..., - publish_data: room_pb2.PublishDataRequest | None = ..., - set_subscribed: room_pb2.SetSubscribedRequest | None = ..., - set_local_metadata: room_pb2.SetLocalMetadataRequest | None = ..., - set_local_name: room_pb2.SetLocalNameRequest | None = ..., - set_local_attributes: room_pb2.SetLocalAttributesRequest | None = ..., - get_session_stats: room_pb2.GetSessionStatsRequest | None = ..., - publish_transcription: room_pb2.PublishTranscriptionRequest | None = ..., - publish_sip_dtmf: room_pb2.PublishSipDtmfRequest | None = ..., - create_video_track: track_pb2.CreateVideoTrackRequest | None = ..., - create_audio_track: track_pb2.CreateAudioTrackRequest | None = ..., - local_track_mute: track_pb2.LocalTrackMuteRequest | None = ..., - enable_remote_track: track_pb2.EnableRemoteTrackRequest | None = ..., - get_stats: track_pb2.GetStatsRequest | None = ..., - set_track_subscription_permissions: track_pb2.SetTrackSubscriptionPermissionsRequest | None = ..., - new_video_stream: video_frame_pb2.NewVideoStreamRequest | None = ..., - new_video_source: video_frame_pb2.NewVideoSourceRequest | None = ..., - capture_video_frame: video_frame_pb2.CaptureVideoFrameRequest | None = ..., - video_convert: video_frame_pb2.VideoConvertRequest | None = ..., - video_stream_from_participant: video_frame_pb2.VideoStreamFromParticipantRequest | None = ..., - new_audio_stream: audio_frame_pb2.NewAudioStreamRequest | None = ..., - new_audio_source: audio_frame_pb2.NewAudioSourceRequest | None = ..., - capture_audio_frame: audio_frame_pb2.CaptureAudioFrameRequest | None = ..., - clear_audio_buffer: audio_frame_pb2.ClearAudioBufferRequest | None = ..., - new_audio_resampler: audio_frame_pb2.NewAudioResamplerRequest | None = ..., - remix_and_resample: audio_frame_pb2.RemixAndResampleRequest | None = ..., - e2ee: e2ee_pb2.E2eeRequest | None = ..., - audio_stream_from_participant: audio_frame_pb2.AudioStreamFromParticipantRequest | None = ..., - new_sox_resampler: audio_frame_pb2.NewSoxResamplerRequest | None = ..., - push_sox_resampler: audio_frame_pb2.PushSoxResamplerRequest | None = ..., - flush_sox_resampler: audio_frame_pb2.FlushSoxResamplerRequest | None = ..., - send_chat_message: room_pb2.SendChatMessageRequest | None = ..., - edit_chat_message: room_pb2.EditChatMessageRequest | None = ..., - perform_rpc: rpc_pb2.PerformRpcRequest | None = ..., - register_rpc_method: rpc_pb2.RegisterRpcMethodRequest | None = ..., - unregister_rpc_method: rpc_pb2.UnregisterRpcMethodRequest | None = ..., - rpc_method_invocation_response: rpc_pb2.RpcMethodInvocationResponseRequest | None = ..., - enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationRequest | None = ..., - update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest | None = ..., - send_stream_header: room_pb2.SendStreamHeaderRequest | None = ..., - send_stream_chunk: room_pb2.SendStreamChunkRequest | None = ..., - send_stream_trailer: room_pb2.SendStreamTrailerRequest | None = ..., - set_data_channel_buffered_amount_low_threshold: room_pb2.SetDataChannelBufferedAmountLowThresholdRequest | None = ..., - load_audio_filter_plugin: audio_frame_pb2.LoadAudioFilterPluginRequest | None = ..., - new_apm: audio_frame_pb2.NewApmRequest | None = ..., - apm_process_stream: audio_frame_pb2.ApmProcessStreamRequest | None = ..., - apm_process_reverse_stream: audio_frame_pb2.ApmProcessReverseStreamRequest | None = ..., - apm_set_stream_delay: audio_frame_pb2.ApmSetStreamDelayRequest | None = ..., - byte_read_incremental: data_stream_pb2.ByteStreamReaderReadIncrementalRequest | None = ..., - byte_read_all: data_stream_pb2.ByteStreamReaderReadAllRequest | None = ..., - byte_write_to_file: data_stream_pb2.ByteStreamReaderWriteToFileRequest | None = ..., - text_read_incremental: data_stream_pb2.TextStreamReaderReadIncrementalRequest | None = ..., - text_read_all: data_stream_pb2.TextStreamReaderReadAllRequest | None = ..., - send_file: data_stream_pb2.StreamSendFileRequest | None = ..., - send_text: data_stream_pb2.StreamSendTextRequest | None = ..., - byte_stream_open: data_stream_pb2.ByteStreamOpenRequest | None = ..., - byte_stream_write: data_stream_pb2.ByteStreamWriterWriteRequest | None = ..., - byte_stream_close: data_stream_pb2.ByteStreamWriterCloseRequest | None = ..., - text_stream_open: data_stream_pb2.TextStreamOpenRequest | None = ..., - text_stream_write: data_stream_pb2.TextStreamWriterWriteRequest | None = ..., - text_stream_close: data_stream_pb2.TextStreamWriterCloseRequest | None = ..., - send_bytes: data_stream_pb2.StreamSendBytesRequest | None = ..., - set_remote_track_publication_quality: track_publication_pb2.SetRemoteTrackPublicationQualityRequest | None = ..., - publish_data_track: data_track_pb2.PublishDataTrackRequest | None = ..., - local_data_track_try_push: data_track_pb2.LocalDataTrackTryPushRequest | None = ..., - local_data_track_unpublish: data_track_pb2.LocalDataTrackUnpublishRequest | None = ..., - local_data_track_is_published: data_track_pb2.LocalDataTrackIsPublishedRequest | None = ..., - subscribe_data_track: data_track_pb2.SubscribeDataTrackRequest | None = ..., - remote_data_track_is_published: data_track_pb2.RemoteDataTrackIsPublishedRequest | None = ..., - data_track_stream_read: data_track_pb2.DataTrackStreamReadRequest | None = ..., - simulate_scenario: room_pb2.SimulateScenarioRequest | None = ..., + dispose: Global___DisposeRequest | None = ..., + connect: _room_pb2.ConnectRequest | None = ..., + disconnect: _room_pb2.DisconnectRequest | None = ..., + publish_track: _room_pb2.PublishTrackRequest | None = ..., + unpublish_track: _room_pb2.UnpublishTrackRequest | None = ..., + publish_data: _room_pb2.PublishDataRequest | None = ..., + set_subscribed: _room_pb2.SetSubscribedRequest | None = ..., + set_local_metadata: _room_pb2.SetLocalMetadataRequest | None = ..., + set_local_name: _room_pb2.SetLocalNameRequest | None = ..., + set_local_attributes: _room_pb2.SetLocalAttributesRequest | None = ..., + get_session_stats: _room_pb2.GetSessionStatsRequest | None = ..., + publish_transcription: _room_pb2.PublishTranscriptionRequest | None = ..., + publish_sip_dtmf: _room_pb2.PublishSipDtmfRequest | None = ..., + create_video_track: _track_pb2.CreateVideoTrackRequest | None = ..., + create_audio_track: _track_pb2.CreateAudioTrackRequest | None = ..., + local_track_mute: _track_pb2.LocalTrackMuteRequest | None = ..., + enable_remote_track: _track_pb2.EnableRemoteTrackRequest | None = ..., + get_stats: _track_pb2.GetStatsRequest | None = ..., + set_track_subscription_permissions: _track_pb2.SetTrackSubscriptionPermissionsRequest | None = ..., + new_video_stream: _video_frame_pb2.NewVideoStreamRequest | None = ..., + new_video_source: _video_frame_pb2.NewVideoSourceRequest | None = ..., + capture_video_frame: _video_frame_pb2.CaptureVideoFrameRequest | None = ..., + video_convert: _video_frame_pb2.VideoConvertRequest | None = ..., + video_stream_from_participant: _video_frame_pb2.VideoStreamFromParticipantRequest | None = ..., + new_audio_stream: _audio_frame_pb2.NewAudioStreamRequest | None = ..., + new_audio_source: _audio_frame_pb2.NewAudioSourceRequest | None = ..., + capture_audio_frame: _audio_frame_pb2.CaptureAudioFrameRequest | None = ..., + clear_audio_buffer: _audio_frame_pb2.ClearAudioBufferRequest | None = ..., + new_audio_resampler: _audio_frame_pb2.NewAudioResamplerRequest | None = ..., + remix_and_resample: _audio_frame_pb2.RemixAndResampleRequest | None = ..., + e2ee: _e2ee_pb2.E2eeRequest | None = ..., + audio_stream_from_participant: _audio_frame_pb2.AudioStreamFromParticipantRequest | None = ..., + new_sox_resampler: _audio_frame_pb2.NewSoxResamplerRequest | None = ..., + push_sox_resampler: _audio_frame_pb2.PushSoxResamplerRequest | None = ..., + flush_sox_resampler: _audio_frame_pb2.FlushSoxResamplerRequest | None = ..., + send_chat_message: _room_pb2.SendChatMessageRequest | None = ..., + edit_chat_message: _room_pb2.EditChatMessageRequest | None = ..., + perform_rpc: _rpc_pb2.PerformRpcRequest | None = ..., + register_rpc_method: _rpc_pb2.RegisterRpcMethodRequest | None = ..., + unregister_rpc_method: _rpc_pb2.UnregisterRpcMethodRequest | None = ..., + rpc_method_invocation_response: _rpc_pb2.RpcMethodInvocationResponseRequest | None = ..., + enable_remote_track_publication: _track_publication_pb2.EnableRemoteTrackPublicationRequest | None = ..., + update_remote_track_publication_dimension: _track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest | None = ..., + send_stream_header: _room_pb2.SendStreamHeaderRequest | None = ..., + send_stream_chunk: _room_pb2.SendStreamChunkRequest | None = ..., + send_stream_trailer: _room_pb2.SendStreamTrailerRequest | None = ..., + set_data_channel_buffered_amount_low_threshold: _room_pb2.SetDataChannelBufferedAmountLowThresholdRequest | None = ..., + load_audio_filter_plugin: _audio_frame_pb2.LoadAudioFilterPluginRequest | None = ..., + new_apm: _audio_frame_pb2.NewApmRequest | None = ..., + apm_process_stream: _audio_frame_pb2.ApmProcessStreamRequest | None = ..., + apm_process_reverse_stream: _audio_frame_pb2.ApmProcessReverseStreamRequest | None = ..., + apm_set_stream_delay: _audio_frame_pb2.ApmSetStreamDelayRequest | None = ..., + byte_read_incremental: _data_stream_pb2.ByteStreamReaderReadIncrementalRequest | None = ..., + byte_read_all: _data_stream_pb2.ByteStreamReaderReadAllRequest | None = ..., + byte_write_to_file: _data_stream_pb2.ByteStreamReaderWriteToFileRequest | None = ..., + text_read_incremental: _data_stream_pb2.TextStreamReaderReadIncrementalRequest | None = ..., + text_read_all: _data_stream_pb2.TextStreamReaderReadAllRequest | None = ..., + send_file: _data_stream_pb2.StreamSendFileRequest | None = ..., + send_text: _data_stream_pb2.StreamSendTextRequest | None = ..., + byte_stream_open: _data_stream_pb2.ByteStreamOpenRequest | None = ..., + byte_stream_write: _data_stream_pb2.ByteStreamWriterWriteRequest | None = ..., + byte_stream_close: _data_stream_pb2.ByteStreamWriterCloseRequest | None = ..., + text_stream_open: _data_stream_pb2.TextStreamOpenRequest | None = ..., + text_stream_write: _data_stream_pb2.TextStreamWriterWriteRequest | None = ..., + text_stream_close: _data_stream_pb2.TextStreamWriterCloseRequest | None = ..., + send_bytes: _data_stream_pb2.StreamSendBytesRequest | None = ..., + set_remote_track_publication_quality: _track_publication_pb2.SetRemoteTrackPublicationQualityRequest | None = ..., + publish_data_track: _data_track_pb2.PublishDataTrackRequest | None = ..., + local_data_track_try_push: _data_track_pb2.LocalDataTrackTryPushRequest | None = ..., + local_data_track_unpublish: _data_track_pb2.LocalDataTrackUnpublishRequest | None = ..., + local_data_track_is_published: _data_track_pb2.LocalDataTrackIsPublishedRequest | None = ..., + subscribe_data_track: _data_track_pb2.SubscribeDataTrackRequest | None = ..., + remote_data_track_is_published: _data_track_pb2.RemoteDataTrackIsPublishedRequest | None = ..., + data_track_stream_read: _data_track_pb2.DataTrackStreamReadRequest | None = ..., + simulate_scenario: _room_pb2.SimulateScenarioRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "set_track_subscription_permissions", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension", "send_stream_header", "send_stream_chunk", "send_stream_trailer", "set_data_channel_buffered_amount_low_threshold", "load_audio_filter_plugin", "new_apm", "apm_process_stream", "apm_process_reverse_stream", "apm_set_stream_delay", "byte_read_incremental", "byte_read_all", "byte_write_to_file", "text_read_incremental", "text_read_all", "send_file", "send_text", "byte_stream_open", "byte_stream_write", "byte_stream_close", "text_stream_open", "text_stream_write", "text_stream_close", "send_bytes", "set_remote_track_publication_quality", "publish_data_track", "local_data_track_try_push", "local_data_track_unpublish", "local_data_track_is_published", "subscribe_data_track", "remote_data_track_is_published", "data_track_stream_read", "simulate_scenario"] | None: ... - -global___FfiRequest = FfiRequest - -@typing.final -class FfiResponse(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "set_track_subscription_permissions", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension", "send_stream_header", "send_stream_chunk", "send_stream_trailer", "set_data_channel_buffered_amount_low_threshold", "load_audio_filter_plugin", "new_apm", "apm_process_stream", "apm_process_reverse_stream", "apm_set_stream_delay", "byte_read_incremental", "byte_read_all", "byte_write_to_file", "text_read_incremental", "text_read_all", "send_file", "send_text", "byte_stream_open", "byte_stream_write", "byte_stream_close", "text_stream_open", "text_stream_write", "text_stream_close", "send_bytes", "set_remote_track_publication_quality", "publish_data_track", "local_data_track_try_push", "local_data_track_unpublish", "local_data_track_is_published", "subscribe_data_track", "remote_data_track_is_published", "data_track_stream_read", "simulate_scenario"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___FfiRequest: _TypeAlias = FfiRequest # noqa: Y015 + +@_typing.final +class FfiResponse(_message.Message): """This is the output of livekit_ffi_request function.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPOSE_FIELD_NUMBER: builtins.int - CONNECT_FIELD_NUMBER: builtins.int - DISCONNECT_FIELD_NUMBER: builtins.int - PUBLISH_TRACK_FIELD_NUMBER: builtins.int - UNPUBLISH_TRACK_FIELD_NUMBER: builtins.int - PUBLISH_DATA_FIELD_NUMBER: builtins.int - SET_SUBSCRIBED_FIELD_NUMBER: builtins.int - SET_LOCAL_METADATA_FIELD_NUMBER: builtins.int - SET_LOCAL_NAME_FIELD_NUMBER: builtins.int - SET_LOCAL_ATTRIBUTES_FIELD_NUMBER: builtins.int - GET_SESSION_STATS_FIELD_NUMBER: builtins.int - PUBLISH_TRANSCRIPTION_FIELD_NUMBER: builtins.int - PUBLISH_SIP_DTMF_FIELD_NUMBER: builtins.int - CREATE_VIDEO_TRACK_FIELD_NUMBER: builtins.int - CREATE_AUDIO_TRACK_FIELD_NUMBER: builtins.int - LOCAL_TRACK_MUTE_FIELD_NUMBER: builtins.int - ENABLE_REMOTE_TRACK_FIELD_NUMBER: builtins.int - GET_STATS_FIELD_NUMBER: builtins.int - SET_TRACK_SUBSCRIPTION_PERMISSIONS_FIELD_NUMBER: builtins.int - NEW_VIDEO_STREAM_FIELD_NUMBER: builtins.int - NEW_VIDEO_SOURCE_FIELD_NUMBER: builtins.int - CAPTURE_VIDEO_FRAME_FIELD_NUMBER: builtins.int - VIDEO_CONVERT_FIELD_NUMBER: builtins.int - VIDEO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: builtins.int - NEW_AUDIO_STREAM_FIELD_NUMBER: builtins.int - NEW_AUDIO_SOURCE_FIELD_NUMBER: builtins.int - CAPTURE_AUDIO_FRAME_FIELD_NUMBER: builtins.int - CLEAR_AUDIO_BUFFER_FIELD_NUMBER: builtins.int - NEW_AUDIO_RESAMPLER_FIELD_NUMBER: builtins.int - REMIX_AND_RESAMPLE_FIELD_NUMBER: builtins.int - AUDIO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: builtins.int - E2EE_FIELD_NUMBER: builtins.int - NEW_SOX_RESAMPLER_FIELD_NUMBER: builtins.int - PUSH_SOX_RESAMPLER_FIELD_NUMBER: builtins.int - FLUSH_SOX_RESAMPLER_FIELD_NUMBER: builtins.int - SEND_CHAT_MESSAGE_FIELD_NUMBER: builtins.int - PERFORM_RPC_FIELD_NUMBER: builtins.int - REGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int - UNREGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int - RPC_METHOD_INVOCATION_RESPONSE_FIELD_NUMBER: builtins.int - ENABLE_REMOTE_TRACK_PUBLICATION_FIELD_NUMBER: builtins.int - UPDATE_REMOTE_TRACK_PUBLICATION_DIMENSION_FIELD_NUMBER: builtins.int - SEND_STREAM_HEADER_FIELD_NUMBER: builtins.int - SEND_STREAM_CHUNK_FIELD_NUMBER: builtins.int - SEND_STREAM_TRAILER_FIELD_NUMBER: builtins.int - SET_DATA_CHANNEL_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: builtins.int - LOAD_AUDIO_FILTER_PLUGIN_FIELD_NUMBER: builtins.int - NEW_APM_FIELD_NUMBER: builtins.int - APM_PROCESS_STREAM_FIELD_NUMBER: builtins.int - APM_PROCESS_REVERSE_STREAM_FIELD_NUMBER: builtins.int - APM_SET_STREAM_DELAY_FIELD_NUMBER: builtins.int - BYTE_READ_INCREMENTAL_FIELD_NUMBER: builtins.int - BYTE_READ_ALL_FIELD_NUMBER: builtins.int - BYTE_WRITE_TO_FILE_FIELD_NUMBER: builtins.int - TEXT_READ_INCREMENTAL_FIELD_NUMBER: builtins.int - TEXT_READ_ALL_FIELD_NUMBER: builtins.int - SEND_FILE_FIELD_NUMBER: builtins.int - SEND_TEXT_FIELD_NUMBER: builtins.int - BYTE_STREAM_OPEN_FIELD_NUMBER: builtins.int - BYTE_STREAM_WRITE_FIELD_NUMBER: builtins.int - BYTE_STREAM_CLOSE_FIELD_NUMBER: builtins.int - TEXT_STREAM_OPEN_FIELD_NUMBER: builtins.int - TEXT_STREAM_WRITE_FIELD_NUMBER: builtins.int - TEXT_STREAM_CLOSE_FIELD_NUMBER: builtins.int - SEND_BYTES_FIELD_NUMBER: builtins.int - SET_REMOTE_TRACK_PUBLICATION_QUALITY_FIELD_NUMBER: builtins.int - PUBLISH_DATA_TRACK_FIELD_NUMBER: builtins.int - LOCAL_DATA_TRACK_TRY_PUSH_FIELD_NUMBER: builtins.int - LOCAL_DATA_TRACK_UNPUBLISH_FIELD_NUMBER: builtins.int - LOCAL_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: builtins.int - SUBSCRIBE_DATA_TRACK_FIELD_NUMBER: builtins.int - REMOTE_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: builtins.int - DATA_TRACK_STREAM_READ_FIELD_NUMBER: builtins.int - SIMULATE_SCENARIO_FIELD_NUMBER: builtins.int - @property - def dispose(self) -> global___DisposeResponse: ... - @property - def connect(self) -> room_pb2.ConnectResponse: + DESCRIPTOR: _descriptor.Descriptor + + DISPOSE_FIELD_NUMBER: _builtins.int + CONNECT_FIELD_NUMBER: _builtins.int + DISCONNECT_FIELD_NUMBER: _builtins.int + PUBLISH_TRACK_FIELD_NUMBER: _builtins.int + UNPUBLISH_TRACK_FIELD_NUMBER: _builtins.int + PUBLISH_DATA_FIELD_NUMBER: _builtins.int + SET_SUBSCRIBED_FIELD_NUMBER: _builtins.int + SET_LOCAL_METADATA_FIELD_NUMBER: _builtins.int + SET_LOCAL_NAME_FIELD_NUMBER: _builtins.int + SET_LOCAL_ATTRIBUTES_FIELD_NUMBER: _builtins.int + GET_SESSION_STATS_FIELD_NUMBER: _builtins.int + PUBLISH_TRANSCRIPTION_FIELD_NUMBER: _builtins.int + PUBLISH_SIP_DTMF_FIELD_NUMBER: _builtins.int + CREATE_VIDEO_TRACK_FIELD_NUMBER: _builtins.int + CREATE_AUDIO_TRACK_FIELD_NUMBER: _builtins.int + LOCAL_TRACK_MUTE_FIELD_NUMBER: _builtins.int + ENABLE_REMOTE_TRACK_FIELD_NUMBER: _builtins.int + GET_STATS_FIELD_NUMBER: _builtins.int + SET_TRACK_SUBSCRIPTION_PERMISSIONS_FIELD_NUMBER: _builtins.int + NEW_VIDEO_STREAM_FIELD_NUMBER: _builtins.int + NEW_VIDEO_SOURCE_FIELD_NUMBER: _builtins.int + CAPTURE_VIDEO_FRAME_FIELD_NUMBER: _builtins.int + VIDEO_CONVERT_FIELD_NUMBER: _builtins.int + VIDEO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: _builtins.int + NEW_AUDIO_STREAM_FIELD_NUMBER: _builtins.int + NEW_AUDIO_SOURCE_FIELD_NUMBER: _builtins.int + CAPTURE_AUDIO_FRAME_FIELD_NUMBER: _builtins.int + CLEAR_AUDIO_BUFFER_FIELD_NUMBER: _builtins.int + NEW_AUDIO_RESAMPLER_FIELD_NUMBER: _builtins.int + REMIX_AND_RESAMPLE_FIELD_NUMBER: _builtins.int + AUDIO_STREAM_FROM_PARTICIPANT_FIELD_NUMBER: _builtins.int + E2EE_FIELD_NUMBER: _builtins.int + NEW_SOX_RESAMPLER_FIELD_NUMBER: _builtins.int + PUSH_SOX_RESAMPLER_FIELD_NUMBER: _builtins.int + FLUSH_SOX_RESAMPLER_FIELD_NUMBER: _builtins.int + SEND_CHAT_MESSAGE_FIELD_NUMBER: _builtins.int + PERFORM_RPC_FIELD_NUMBER: _builtins.int + REGISTER_RPC_METHOD_FIELD_NUMBER: _builtins.int + UNREGISTER_RPC_METHOD_FIELD_NUMBER: _builtins.int + RPC_METHOD_INVOCATION_RESPONSE_FIELD_NUMBER: _builtins.int + ENABLE_REMOTE_TRACK_PUBLICATION_FIELD_NUMBER: _builtins.int + UPDATE_REMOTE_TRACK_PUBLICATION_DIMENSION_FIELD_NUMBER: _builtins.int + SEND_STREAM_HEADER_FIELD_NUMBER: _builtins.int + SEND_STREAM_CHUNK_FIELD_NUMBER: _builtins.int + SEND_STREAM_TRAILER_FIELD_NUMBER: _builtins.int + SET_DATA_CHANNEL_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: _builtins.int + LOAD_AUDIO_FILTER_PLUGIN_FIELD_NUMBER: _builtins.int + NEW_APM_FIELD_NUMBER: _builtins.int + APM_PROCESS_STREAM_FIELD_NUMBER: _builtins.int + APM_PROCESS_REVERSE_STREAM_FIELD_NUMBER: _builtins.int + APM_SET_STREAM_DELAY_FIELD_NUMBER: _builtins.int + BYTE_READ_INCREMENTAL_FIELD_NUMBER: _builtins.int + BYTE_READ_ALL_FIELD_NUMBER: _builtins.int + BYTE_WRITE_TO_FILE_FIELD_NUMBER: _builtins.int + TEXT_READ_INCREMENTAL_FIELD_NUMBER: _builtins.int + TEXT_READ_ALL_FIELD_NUMBER: _builtins.int + SEND_FILE_FIELD_NUMBER: _builtins.int + SEND_TEXT_FIELD_NUMBER: _builtins.int + BYTE_STREAM_OPEN_FIELD_NUMBER: _builtins.int + BYTE_STREAM_WRITE_FIELD_NUMBER: _builtins.int + BYTE_STREAM_CLOSE_FIELD_NUMBER: _builtins.int + TEXT_STREAM_OPEN_FIELD_NUMBER: _builtins.int + TEXT_STREAM_WRITE_FIELD_NUMBER: _builtins.int + TEXT_STREAM_CLOSE_FIELD_NUMBER: _builtins.int + SEND_BYTES_FIELD_NUMBER: _builtins.int + SET_REMOTE_TRACK_PUBLICATION_QUALITY_FIELD_NUMBER: _builtins.int + PUBLISH_DATA_TRACK_FIELD_NUMBER: _builtins.int + LOCAL_DATA_TRACK_TRY_PUSH_FIELD_NUMBER: _builtins.int + LOCAL_DATA_TRACK_UNPUBLISH_FIELD_NUMBER: _builtins.int + LOCAL_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: _builtins.int + SUBSCRIBE_DATA_TRACK_FIELD_NUMBER: _builtins.int + REMOTE_DATA_TRACK_IS_PUBLISHED_FIELD_NUMBER: _builtins.int + DATA_TRACK_STREAM_READ_FIELD_NUMBER: _builtins.int + SIMULATE_SCENARIO_FIELD_NUMBER: _builtins.int + @_builtins.property + def dispose(self) -> Global___DisposeResponse: ... + @_builtins.property + def connect(self) -> _room_pb2.ConnectResponse: """Room""" - @property - def disconnect(self) -> room_pb2.DisconnectResponse: ... - @property - def publish_track(self) -> room_pb2.PublishTrackResponse: ... - @property - def unpublish_track(self) -> room_pb2.UnpublishTrackResponse: ... - @property - def publish_data(self) -> room_pb2.PublishDataResponse: ... - @property - def set_subscribed(self) -> room_pb2.SetSubscribedResponse: ... - @property - def set_local_metadata(self) -> room_pb2.SetLocalMetadataResponse: ... - @property - def set_local_name(self) -> room_pb2.SetLocalNameResponse: ... - @property - def set_local_attributes(self) -> room_pb2.SetLocalAttributesResponse: ... - @property - def get_session_stats(self) -> room_pb2.GetSessionStatsResponse: ... - @property - def publish_transcription(self) -> room_pb2.PublishTranscriptionResponse: ... - @property - def publish_sip_dtmf(self) -> room_pb2.PublishSipDtmfResponse: ... - @property - def create_video_track(self) -> track_pb2.CreateVideoTrackResponse: + @_builtins.property + def disconnect(self) -> _room_pb2.DisconnectResponse: ... + @_builtins.property + def publish_track(self) -> _room_pb2.PublishTrackResponse: ... + @_builtins.property + def unpublish_track(self) -> _room_pb2.UnpublishTrackResponse: ... + @_builtins.property + def publish_data(self) -> _room_pb2.PublishDataResponse: ... + @_builtins.property + def set_subscribed(self) -> _room_pb2.SetSubscribedResponse: ... + @_builtins.property + def set_local_metadata(self) -> _room_pb2.SetLocalMetadataResponse: ... + @_builtins.property + def set_local_name(self) -> _room_pb2.SetLocalNameResponse: ... + @_builtins.property + def set_local_attributes(self) -> _room_pb2.SetLocalAttributesResponse: ... + @_builtins.property + def get_session_stats(self) -> _room_pb2.GetSessionStatsResponse: ... + @_builtins.property + def publish_transcription(self) -> _room_pb2.PublishTranscriptionResponse: ... + @_builtins.property + def publish_sip_dtmf(self) -> _room_pb2.PublishSipDtmfResponse: ... + @_builtins.property + def create_video_track(self) -> _track_pb2.CreateVideoTrackResponse: """Track""" - @property - def create_audio_track(self) -> track_pb2.CreateAudioTrackResponse: ... - @property - def local_track_mute(self) -> track_pb2.LocalTrackMuteResponse: ... - @property - def enable_remote_track(self) -> track_pb2.EnableRemoteTrackResponse: ... - @property - def get_stats(self) -> track_pb2.GetStatsResponse: ... - @property - def set_track_subscription_permissions(self) -> track_pb2.SetTrackSubscriptionPermissionsResponse: ... - @property - def new_video_stream(self) -> video_frame_pb2.NewVideoStreamResponse: + @_builtins.property + def create_audio_track(self) -> _track_pb2.CreateAudioTrackResponse: ... + @_builtins.property + def local_track_mute(self) -> _track_pb2.LocalTrackMuteResponse: ... + @_builtins.property + def enable_remote_track(self) -> _track_pb2.EnableRemoteTrackResponse: ... + @_builtins.property + def get_stats(self) -> _track_pb2.GetStatsResponse: ... + @_builtins.property + def set_track_subscription_permissions(self) -> _track_pb2.SetTrackSubscriptionPermissionsResponse: ... + @_builtins.property + def new_video_stream(self) -> _video_frame_pb2.NewVideoStreamResponse: """Video""" - @property - def new_video_source(self) -> video_frame_pb2.NewVideoSourceResponse: ... - @property - def capture_video_frame(self) -> video_frame_pb2.CaptureVideoFrameResponse: ... - @property - def video_convert(self) -> video_frame_pb2.VideoConvertResponse: ... - @property - def video_stream_from_participant(self) -> video_frame_pb2.VideoStreamFromParticipantResponse: ... - @property - def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamResponse: + @_builtins.property + def new_video_source(self) -> _video_frame_pb2.NewVideoSourceResponse: ... + @_builtins.property + def capture_video_frame(self) -> _video_frame_pb2.CaptureVideoFrameResponse: ... + @_builtins.property + def video_convert(self) -> _video_frame_pb2.VideoConvertResponse: ... + @_builtins.property + def video_stream_from_participant(self) -> _video_frame_pb2.VideoStreamFromParticipantResponse: ... + @_builtins.property + def new_audio_stream(self) -> _audio_frame_pb2.NewAudioStreamResponse: """Audio""" - @property - def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceResponse: ... - @property - def capture_audio_frame(self) -> audio_frame_pb2.CaptureAudioFrameResponse: ... - @property - def clear_audio_buffer(self) -> audio_frame_pb2.ClearAudioBufferResponse: ... - @property - def new_audio_resampler(self) -> audio_frame_pb2.NewAudioResamplerResponse: ... - @property - def remix_and_resample(self) -> audio_frame_pb2.RemixAndResampleResponse: ... - @property - def audio_stream_from_participant(self) -> audio_frame_pb2.AudioStreamFromParticipantResponse: ... - @property - def e2ee(self) -> e2ee_pb2.E2eeResponse: ... - @property - def new_sox_resampler(self) -> audio_frame_pb2.NewSoxResamplerResponse: ... - @property - def push_sox_resampler(self) -> audio_frame_pb2.PushSoxResamplerResponse: ... - @property - def flush_sox_resampler(self) -> audio_frame_pb2.FlushSoxResamplerResponse: ... - @property - def send_chat_message(self) -> room_pb2.SendChatMessageResponse: ... - @property - def perform_rpc(self) -> rpc_pb2.PerformRpcResponse: + @_builtins.property + def new_audio_source(self) -> _audio_frame_pb2.NewAudioSourceResponse: ... + @_builtins.property + def capture_audio_frame(self) -> _audio_frame_pb2.CaptureAudioFrameResponse: ... + @_builtins.property + def clear_audio_buffer(self) -> _audio_frame_pb2.ClearAudioBufferResponse: ... + @_builtins.property + def new_audio_resampler(self) -> _audio_frame_pb2.NewAudioResamplerResponse: ... + @_builtins.property + def remix_and_resample(self) -> _audio_frame_pb2.RemixAndResampleResponse: ... + @_builtins.property + def audio_stream_from_participant(self) -> _audio_frame_pb2.AudioStreamFromParticipantResponse: ... + @_builtins.property + def e2ee(self) -> _e2ee_pb2.E2eeResponse: ... + @_builtins.property + def new_sox_resampler(self) -> _audio_frame_pb2.NewSoxResamplerResponse: ... + @_builtins.property + def push_sox_resampler(self) -> _audio_frame_pb2.PushSoxResamplerResponse: ... + @_builtins.property + def flush_sox_resampler(self) -> _audio_frame_pb2.FlushSoxResamplerResponse: ... + @_builtins.property + def send_chat_message(self) -> _room_pb2.SendChatMessageResponse: ... + @_builtins.property + def perform_rpc(self) -> _rpc_pb2.PerformRpcResponse: """RPC""" - @property - def register_rpc_method(self) -> rpc_pb2.RegisterRpcMethodResponse: ... - @property - def unregister_rpc_method(self) -> rpc_pb2.UnregisterRpcMethodResponse: ... - @property - def rpc_method_invocation_response(self) -> rpc_pb2.RpcMethodInvocationResponseResponse: ... - @property - def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationResponse: + @_builtins.property + def register_rpc_method(self) -> _rpc_pb2.RegisterRpcMethodResponse: ... + @_builtins.property + def unregister_rpc_method(self) -> _rpc_pb2.UnregisterRpcMethodResponse: ... + @_builtins.property + def rpc_method_invocation_response(self) -> _rpc_pb2.RpcMethodInvocationResponseResponse: ... + @_builtins.property + def enable_remote_track_publication(self) -> _track_publication_pb2.EnableRemoteTrackPublicationResponse: """Track Publication""" - @property - def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse: ... - @property - def send_stream_header(self) -> room_pb2.SendStreamHeaderResponse: + @_builtins.property + def update_remote_track_publication_dimension(self) -> _track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse: ... + @_builtins.property + def send_stream_header(self) -> _room_pb2.SendStreamHeaderResponse: """Data Streams""" - @property - def send_stream_chunk(self) -> room_pb2.SendStreamChunkResponse: ... - @property - def send_stream_trailer(self) -> room_pb2.SendStreamTrailerResponse: ... - @property - def set_data_channel_buffered_amount_low_threshold(self) -> room_pb2.SetDataChannelBufferedAmountLowThresholdResponse: + @_builtins.property + def send_stream_chunk(self) -> _room_pb2.SendStreamChunkResponse: ... + @_builtins.property + def send_stream_trailer(self) -> _room_pb2.SendStreamTrailerResponse: ... + @_builtins.property + def set_data_channel_buffered_amount_low_threshold(self) -> _room_pb2.SetDataChannelBufferedAmountLowThresholdResponse: """Data Channel""" - @property - def load_audio_filter_plugin(self) -> audio_frame_pb2.LoadAudioFilterPluginResponse: + @_builtins.property + def load_audio_filter_plugin(self) -> _audio_frame_pb2.LoadAudioFilterPluginResponse: """Audio Filter Plugin""" - @property - def new_apm(self) -> audio_frame_pb2.NewApmResponse: ... - @property - def apm_process_stream(self) -> audio_frame_pb2.ApmProcessStreamResponse: ... - @property - def apm_process_reverse_stream(self) -> audio_frame_pb2.ApmProcessReverseStreamResponse: ... - @property - def apm_set_stream_delay(self) -> audio_frame_pb2.ApmSetStreamDelayResponse: ... - @property - def byte_read_incremental(self) -> data_stream_pb2.ByteStreamReaderReadIncrementalResponse: + @_builtins.property + def new_apm(self) -> _audio_frame_pb2.NewApmResponse: ... + @_builtins.property + def apm_process_stream(self) -> _audio_frame_pb2.ApmProcessStreamResponse: ... + @_builtins.property + def apm_process_reverse_stream(self) -> _audio_frame_pb2.ApmProcessReverseStreamResponse: ... + @_builtins.property + def apm_set_stream_delay(self) -> _audio_frame_pb2.ApmSetStreamDelayResponse: ... + @_builtins.property + def byte_read_incremental(self) -> _data_stream_pb2.ByteStreamReaderReadIncrementalResponse: """Data Streams (high level)""" - @property - def byte_read_all(self) -> data_stream_pb2.ByteStreamReaderReadAllResponse: ... - @property - def byte_write_to_file(self) -> data_stream_pb2.ByteStreamReaderWriteToFileResponse: ... - @property - def text_read_incremental(self) -> data_stream_pb2.TextStreamReaderReadIncrementalResponse: ... - @property - def text_read_all(self) -> data_stream_pb2.TextStreamReaderReadAllResponse: ... - @property - def send_file(self) -> data_stream_pb2.StreamSendFileResponse: ... - @property - def send_text(self) -> data_stream_pb2.StreamSendTextResponse: ... - @property - def byte_stream_open(self) -> data_stream_pb2.ByteStreamOpenResponse: ... - @property - def byte_stream_write(self) -> data_stream_pb2.ByteStreamWriterWriteResponse: ... - @property - def byte_stream_close(self) -> data_stream_pb2.ByteStreamWriterCloseResponse: ... - @property - def text_stream_open(self) -> data_stream_pb2.TextStreamOpenResponse: ... - @property - def text_stream_write(self) -> data_stream_pb2.TextStreamWriterWriteResponse: ... - @property - def text_stream_close(self) -> data_stream_pb2.TextStreamWriterCloseResponse: ... - @property - def send_bytes(self) -> data_stream_pb2.StreamSendBytesResponse: ... - @property - def set_remote_track_publication_quality(self) -> track_publication_pb2.SetRemoteTrackPublicationQualityResponse: ... - @property - def publish_data_track(self) -> data_track_pb2.PublishDataTrackResponse: + @_builtins.property + def byte_read_all(self) -> _data_stream_pb2.ByteStreamReaderReadAllResponse: ... + @_builtins.property + def byte_write_to_file(self) -> _data_stream_pb2.ByteStreamReaderWriteToFileResponse: ... + @_builtins.property + def text_read_incremental(self) -> _data_stream_pb2.TextStreamReaderReadIncrementalResponse: ... + @_builtins.property + def text_read_all(self) -> _data_stream_pb2.TextStreamReaderReadAllResponse: ... + @_builtins.property + def send_file(self) -> _data_stream_pb2.StreamSendFileResponse: ... + @_builtins.property + def send_text(self) -> _data_stream_pb2.StreamSendTextResponse: ... + @_builtins.property + def byte_stream_open(self) -> _data_stream_pb2.ByteStreamOpenResponse: ... + @_builtins.property + def byte_stream_write(self) -> _data_stream_pb2.ByteStreamWriterWriteResponse: ... + @_builtins.property + def byte_stream_close(self) -> _data_stream_pb2.ByteStreamWriterCloseResponse: ... + @_builtins.property + def text_stream_open(self) -> _data_stream_pb2.TextStreamOpenResponse: ... + @_builtins.property + def text_stream_write(self) -> _data_stream_pb2.TextStreamWriterWriteResponse: ... + @_builtins.property + def text_stream_close(self) -> _data_stream_pb2.TextStreamWriterCloseResponse: ... + @_builtins.property + def send_bytes(self) -> _data_stream_pb2.StreamSendBytesResponse: ... + @_builtins.property + def set_remote_track_publication_quality(self) -> _track_publication_pb2.SetRemoteTrackPublicationQualityResponse: ... + @_builtins.property + def publish_data_track(self) -> _data_track_pb2.PublishDataTrackResponse: """Data Track (local)""" - @property - def local_data_track_try_push(self) -> data_track_pb2.LocalDataTrackTryPushResponse: ... - @property - def local_data_track_unpublish(self) -> data_track_pb2.LocalDataTrackUnpublishResponse: ... - @property - def local_data_track_is_published(self) -> data_track_pb2.LocalDataTrackIsPublishedResponse: ... - @property - def subscribe_data_track(self) -> data_track_pb2.SubscribeDataTrackResponse: + @_builtins.property + def local_data_track_try_push(self) -> _data_track_pb2.LocalDataTrackTryPushResponse: ... + @_builtins.property + def local_data_track_unpublish(self) -> _data_track_pb2.LocalDataTrackUnpublishResponse: ... + @_builtins.property + def local_data_track_is_published(self) -> _data_track_pb2.LocalDataTrackIsPublishedResponse: ... + @_builtins.property + def subscribe_data_track(self) -> _data_track_pb2.SubscribeDataTrackResponse: """Data Track (remote)""" - @property - def remote_data_track_is_published(self) -> data_track_pb2.RemoteDataTrackIsPublishedResponse: ... - @property - def data_track_stream_read(self) -> data_track_pb2.DataTrackStreamReadResponse: ... - @property - def simulate_scenario(self) -> room_pb2.SimulateScenarioResponse: + @_builtins.property + def remote_data_track_is_published(self) -> _data_track_pb2.RemoteDataTrackIsPublishedResponse: ... + @_builtins.property + def data_track_stream_read(self) -> _data_track_pb2.DataTrackStreamReadResponse: ... + @_builtins.property + def simulate_scenario(self) -> _room_pb2.SimulateScenarioResponse: """Reconnection / chaos testing""" def __init__( self, *, - dispose: global___DisposeResponse | None = ..., - connect: room_pb2.ConnectResponse | None = ..., - disconnect: room_pb2.DisconnectResponse | None = ..., - publish_track: room_pb2.PublishTrackResponse | None = ..., - unpublish_track: room_pb2.UnpublishTrackResponse | None = ..., - publish_data: room_pb2.PublishDataResponse | None = ..., - set_subscribed: room_pb2.SetSubscribedResponse | None = ..., - set_local_metadata: room_pb2.SetLocalMetadataResponse | None = ..., - set_local_name: room_pb2.SetLocalNameResponse | None = ..., - set_local_attributes: room_pb2.SetLocalAttributesResponse | None = ..., - get_session_stats: room_pb2.GetSessionStatsResponse | None = ..., - publish_transcription: room_pb2.PublishTranscriptionResponse | None = ..., - publish_sip_dtmf: room_pb2.PublishSipDtmfResponse | None = ..., - create_video_track: track_pb2.CreateVideoTrackResponse | None = ..., - create_audio_track: track_pb2.CreateAudioTrackResponse | None = ..., - local_track_mute: track_pb2.LocalTrackMuteResponse | None = ..., - enable_remote_track: track_pb2.EnableRemoteTrackResponse | None = ..., - get_stats: track_pb2.GetStatsResponse | None = ..., - set_track_subscription_permissions: track_pb2.SetTrackSubscriptionPermissionsResponse | None = ..., - new_video_stream: video_frame_pb2.NewVideoStreamResponse | None = ..., - new_video_source: video_frame_pb2.NewVideoSourceResponse | None = ..., - capture_video_frame: video_frame_pb2.CaptureVideoFrameResponse | None = ..., - video_convert: video_frame_pb2.VideoConvertResponse | None = ..., - video_stream_from_participant: video_frame_pb2.VideoStreamFromParticipantResponse | None = ..., - new_audio_stream: audio_frame_pb2.NewAudioStreamResponse | None = ..., - new_audio_source: audio_frame_pb2.NewAudioSourceResponse | None = ..., - capture_audio_frame: audio_frame_pb2.CaptureAudioFrameResponse | None = ..., - clear_audio_buffer: audio_frame_pb2.ClearAudioBufferResponse | None = ..., - new_audio_resampler: audio_frame_pb2.NewAudioResamplerResponse | None = ..., - remix_and_resample: audio_frame_pb2.RemixAndResampleResponse | None = ..., - audio_stream_from_participant: audio_frame_pb2.AudioStreamFromParticipantResponse | None = ..., - e2ee: e2ee_pb2.E2eeResponse | None = ..., - new_sox_resampler: audio_frame_pb2.NewSoxResamplerResponse | None = ..., - push_sox_resampler: audio_frame_pb2.PushSoxResamplerResponse | None = ..., - flush_sox_resampler: audio_frame_pb2.FlushSoxResamplerResponse | None = ..., - send_chat_message: room_pb2.SendChatMessageResponse | None = ..., - perform_rpc: rpc_pb2.PerformRpcResponse | None = ..., - register_rpc_method: rpc_pb2.RegisterRpcMethodResponse | None = ..., - unregister_rpc_method: rpc_pb2.UnregisterRpcMethodResponse | None = ..., - rpc_method_invocation_response: rpc_pb2.RpcMethodInvocationResponseResponse | None = ..., - enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationResponse | None = ..., - update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse | None = ..., - send_stream_header: room_pb2.SendStreamHeaderResponse | None = ..., - send_stream_chunk: room_pb2.SendStreamChunkResponse | None = ..., - send_stream_trailer: room_pb2.SendStreamTrailerResponse | None = ..., - set_data_channel_buffered_amount_low_threshold: room_pb2.SetDataChannelBufferedAmountLowThresholdResponse | None = ..., - load_audio_filter_plugin: audio_frame_pb2.LoadAudioFilterPluginResponse | None = ..., - new_apm: audio_frame_pb2.NewApmResponse | None = ..., - apm_process_stream: audio_frame_pb2.ApmProcessStreamResponse | None = ..., - apm_process_reverse_stream: audio_frame_pb2.ApmProcessReverseStreamResponse | None = ..., - apm_set_stream_delay: audio_frame_pb2.ApmSetStreamDelayResponse | None = ..., - byte_read_incremental: data_stream_pb2.ByteStreamReaderReadIncrementalResponse | None = ..., - byte_read_all: data_stream_pb2.ByteStreamReaderReadAllResponse | None = ..., - byte_write_to_file: data_stream_pb2.ByteStreamReaderWriteToFileResponse | None = ..., - text_read_incremental: data_stream_pb2.TextStreamReaderReadIncrementalResponse | None = ..., - text_read_all: data_stream_pb2.TextStreamReaderReadAllResponse | None = ..., - send_file: data_stream_pb2.StreamSendFileResponse | None = ..., - send_text: data_stream_pb2.StreamSendTextResponse | None = ..., - byte_stream_open: data_stream_pb2.ByteStreamOpenResponse | None = ..., - byte_stream_write: data_stream_pb2.ByteStreamWriterWriteResponse | None = ..., - byte_stream_close: data_stream_pb2.ByteStreamWriterCloseResponse | None = ..., - text_stream_open: data_stream_pb2.TextStreamOpenResponse | None = ..., - text_stream_write: data_stream_pb2.TextStreamWriterWriteResponse | None = ..., - text_stream_close: data_stream_pb2.TextStreamWriterCloseResponse | None = ..., - send_bytes: data_stream_pb2.StreamSendBytesResponse | None = ..., - set_remote_track_publication_quality: track_publication_pb2.SetRemoteTrackPublicationQualityResponse | None = ..., - publish_data_track: data_track_pb2.PublishDataTrackResponse | None = ..., - local_data_track_try_push: data_track_pb2.LocalDataTrackTryPushResponse | None = ..., - local_data_track_unpublish: data_track_pb2.LocalDataTrackUnpublishResponse | None = ..., - local_data_track_is_published: data_track_pb2.LocalDataTrackIsPublishedResponse | None = ..., - subscribe_data_track: data_track_pb2.SubscribeDataTrackResponse | None = ..., - remote_data_track_is_published: data_track_pb2.RemoteDataTrackIsPublishedResponse | None = ..., - data_track_stream_read: data_track_pb2.DataTrackStreamReadResponse | None = ..., - simulate_scenario: room_pb2.SimulateScenarioResponse | None = ..., + dispose: Global___DisposeResponse | None = ..., + connect: _room_pb2.ConnectResponse | None = ..., + disconnect: _room_pb2.DisconnectResponse | None = ..., + publish_track: _room_pb2.PublishTrackResponse | None = ..., + unpublish_track: _room_pb2.UnpublishTrackResponse | None = ..., + publish_data: _room_pb2.PublishDataResponse | None = ..., + set_subscribed: _room_pb2.SetSubscribedResponse | None = ..., + set_local_metadata: _room_pb2.SetLocalMetadataResponse | None = ..., + set_local_name: _room_pb2.SetLocalNameResponse | None = ..., + set_local_attributes: _room_pb2.SetLocalAttributesResponse | None = ..., + get_session_stats: _room_pb2.GetSessionStatsResponse | None = ..., + publish_transcription: _room_pb2.PublishTranscriptionResponse | None = ..., + publish_sip_dtmf: _room_pb2.PublishSipDtmfResponse | None = ..., + create_video_track: _track_pb2.CreateVideoTrackResponse | None = ..., + create_audio_track: _track_pb2.CreateAudioTrackResponse | None = ..., + local_track_mute: _track_pb2.LocalTrackMuteResponse | None = ..., + enable_remote_track: _track_pb2.EnableRemoteTrackResponse | None = ..., + get_stats: _track_pb2.GetStatsResponse | None = ..., + set_track_subscription_permissions: _track_pb2.SetTrackSubscriptionPermissionsResponse | None = ..., + new_video_stream: _video_frame_pb2.NewVideoStreamResponse | None = ..., + new_video_source: _video_frame_pb2.NewVideoSourceResponse | None = ..., + capture_video_frame: _video_frame_pb2.CaptureVideoFrameResponse | None = ..., + video_convert: _video_frame_pb2.VideoConvertResponse | None = ..., + video_stream_from_participant: _video_frame_pb2.VideoStreamFromParticipantResponse | None = ..., + new_audio_stream: _audio_frame_pb2.NewAudioStreamResponse | None = ..., + new_audio_source: _audio_frame_pb2.NewAudioSourceResponse | None = ..., + capture_audio_frame: _audio_frame_pb2.CaptureAudioFrameResponse | None = ..., + clear_audio_buffer: _audio_frame_pb2.ClearAudioBufferResponse | None = ..., + new_audio_resampler: _audio_frame_pb2.NewAudioResamplerResponse | None = ..., + remix_and_resample: _audio_frame_pb2.RemixAndResampleResponse | None = ..., + audio_stream_from_participant: _audio_frame_pb2.AudioStreamFromParticipantResponse | None = ..., + e2ee: _e2ee_pb2.E2eeResponse | None = ..., + new_sox_resampler: _audio_frame_pb2.NewSoxResamplerResponse | None = ..., + push_sox_resampler: _audio_frame_pb2.PushSoxResamplerResponse | None = ..., + flush_sox_resampler: _audio_frame_pb2.FlushSoxResamplerResponse | None = ..., + send_chat_message: _room_pb2.SendChatMessageResponse | None = ..., + perform_rpc: _rpc_pb2.PerformRpcResponse | None = ..., + register_rpc_method: _rpc_pb2.RegisterRpcMethodResponse | None = ..., + unregister_rpc_method: _rpc_pb2.UnregisterRpcMethodResponse | None = ..., + rpc_method_invocation_response: _rpc_pb2.RpcMethodInvocationResponseResponse | None = ..., + enable_remote_track_publication: _track_publication_pb2.EnableRemoteTrackPublicationResponse | None = ..., + update_remote_track_publication_dimension: _track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse | None = ..., + send_stream_header: _room_pb2.SendStreamHeaderResponse | None = ..., + send_stream_chunk: _room_pb2.SendStreamChunkResponse | None = ..., + send_stream_trailer: _room_pb2.SendStreamTrailerResponse | None = ..., + set_data_channel_buffered_amount_low_threshold: _room_pb2.SetDataChannelBufferedAmountLowThresholdResponse | None = ..., + load_audio_filter_plugin: _audio_frame_pb2.LoadAudioFilterPluginResponse | None = ..., + new_apm: _audio_frame_pb2.NewApmResponse | None = ..., + apm_process_stream: _audio_frame_pb2.ApmProcessStreamResponse | None = ..., + apm_process_reverse_stream: _audio_frame_pb2.ApmProcessReverseStreamResponse | None = ..., + apm_set_stream_delay: _audio_frame_pb2.ApmSetStreamDelayResponse | None = ..., + byte_read_incremental: _data_stream_pb2.ByteStreamReaderReadIncrementalResponse | None = ..., + byte_read_all: _data_stream_pb2.ByteStreamReaderReadAllResponse | None = ..., + byte_write_to_file: _data_stream_pb2.ByteStreamReaderWriteToFileResponse | None = ..., + text_read_incremental: _data_stream_pb2.TextStreamReaderReadIncrementalResponse | None = ..., + text_read_all: _data_stream_pb2.TextStreamReaderReadAllResponse | None = ..., + send_file: _data_stream_pb2.StreamSendFileResponse | None = ..., + send_text: _data_stream_pb2.StreamSendTextResponse | None = ..., + byte_stream_open: _data_stream_pb2.ByteStreamOpenResponse | None = ..., + byte_stream_write: _data_stream_pb2.ByteStreamWriterWriteResponse | None = ..., + byte_stream_close: _data_stream_pb2.ByteStreamWriterCloseResponse | None = ..., + text_stream_open: _data_stream_pb2.TextStreamOpenResponse | None = ..., + text_stream_write: _data_stream_pb2.TextStreamWriterWriteResponse | None = ..., + text_stream_close: _data_stream_pb2.TextStreamWriterCloseResponse | None = ..., + send_bytes: _data_stream_pb2.StreamSendBytesResponse | None = ..., + set_remote_track_publication_quality: _track_publication_pb2.SetRemoteTrackPublicationQualityResponse | None = ..., + publish_data_track: _data_track_pb2.PublishDataTrackResponse | None = ..., + local_data_track_try_push: _data_track_pb2.LocalDataTrackTryPushResponse | None = ..., + local_data_track_unpublish: _data_track_pb2.LocalDataTrackUnpublishResponse | None = ..., + local_data_track_is_published: _data_track_pb2.LocalDataTrackIsPublishedResponse | None = ..., + subscribe_data_track: _data_track_pb2.SubscribeDataTrackResponse | None = ..., + remote_data_track_is_published: _data_track_pb2.RemoteDataTrackIsPublishedResponse | None = ..., + data_track_stream_read: _data_track_pb2.DataTrackStreamReadResponse | None = ..., + simulate_scenario: _room_pb2.SimulateScenarioResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "set_track_subscription_permissions", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension", "send_stream_header", "send_stream_chunk", "send_stream_trailer", "set_data_channel_buffered_amount_low_threshold", "load_audio_filter_plugin", "new_apm", "apm_process_stream", "apm_process_reverse_stream", "apm_set_stream_delay", "byte_read_incremental", "byte_read_all", "byte_write_to_file", "text_read_incremental", "text_read_all", "send_file", "send_text", "byte_stream_open", "byte_stream_write", "byte_stream_close", "text_stream_open", "text_stream_write", "text_stream_close", "send_bytes", "set_remote_track_publication_quality", "publish_data_track", "local_data_track_try_push", "local_data_track_unpublish", "local_data_track_is_published", "subscribe_data_track", "remote_data_track_is_published", "data_track_stream_read", "simulate_scenario"] | None: ... - -global___FfiResponse = FfiResponse - -@typing.final -class FfiEvent(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["apm_process_reverse_stream", b"apm_process_reverse_stream", "apm_process_stream", b"apm_process_stream", "apm_set_stream_delay", b"apm_set_stream_delay", "audio_stream_from_participant", b"audio_stream_from_participant", "byte_read_all", b"byte_read_all", "byte_read_incremental", b"byte_read_incremental", "byte_stream_close", b"byte_stream_close", "byte_stream_open", b"byte_stream_open", "byte_stream_write", b"byte_stream_write", "byte_write_to_file", b"byte_write_to_file", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "data_track_stream_read", b"data_track_stream_read", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "load_audio_filter_plugin", b"load_audio_filter_plugin", "local_data_track_is_published", b"local_data_track_is_published", "local_data_track_try_push", b"local_data_track_try_push", "local_data_track_unpublish", b"local_data_track_unpublish", "local_track_mute", b"local_track_mute", "message", b"message", "new_apm", b"new_apm", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "remote_data_track_is_published", b"remote_data_track_is_published", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_bytes", b"send_bytes", "send_chat_message", b"send_chat_message", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_data_channel_buffered_amount_low_threshold", b"set_data_channel_buffered_amount_low_threshold", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_remote_track_publication_quality", b"set_remote_track_publication_quality", "set_subscribed", b"set_subscribed", "set_track_subscription_permissions", b"set_track_subscription_permissions", "simulate_scenario", b"simulate_scenario", "subscribe_data_track", b"subscribe_data_track", "text_read_all", b"text_read_all", "text_read_incremental", b"text_read_incremental", "text_stream_close", b"text_stream_close", "text_stream_open", b"text_stream_open", "text_stream_write", b"text_stream_write", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "set_track_subscription_permissions", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension", "send_stream_header", "send_stream_chunk", "send_stream_trailer", "set_data_channel_buffered_amount_low_threshold", "load_audio_filter_plugin", "new_apm", "apm_process_stream", "apm_process_reverse_stream", "apm_set_stream_delay", "byte_read_incremental", "byte_read_all", "byte_write_to_file", "text_read_incremental", "text_read_all", "send_file", "send_text", "byte_stream_open", "byte_stream_write", "byte_stream_close", "text_stream_open", "text_stream_write", "text_stream_close", "send_bytes", "set_remote_track_publication_quality", "publish_data_track", "local_data_track_try_push", "local_data_track_unpublish", "local_data_track_is_published", "subscribe_data_track", "remote_data_track_is_published", "data_track_stream_read", "simulate_scenario"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___FfiResponse: _TypeAlias = FfiResponse # noqa: Y015 + +@_typing.final +class FfiEvent(_message.Message): """To minimize complexity, participant events are not included in the protocol. It is easily deducible from the room events and it turned out that is is easier to implement on the ffi client side. """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ROOM_EVENT_FIELD_NUMBER: builtins.int - TRACK_EVENT_FIELD_NUMBER: builtins.int - VIDEO_STREAM_EVENT_FIELD_NUMBER: builtins.int - AUDIO_STREAM_EVENT_FIELD_NUMBER: builtins.int - CONNECT_FIELD_NUMBER: builtins.int - DISCONNECT_FIELD_NUMBER: builtins.int - DISPOSE_FIELD_NUMBER: builtins.int - PUBLISH_TRACK_FIELD_NUMBER: builtins.int - UNPUBLISH_TRACK_FIELD_NUMBER: builtins.int - PUBLISH_DATA_FIELD_NUMBER: builtins.int - PUBLISH_TRANSCRIPTION_FIELD_NUMBER: builtins.int - CAPTURE_AUDIO_FRAME_FIELD_NUMBER: builtins.int - SET_LOCAL_METADATA_FIELD_NUMBER: builtins.int - SET_LOCAL_NAME_FIELD_NUMBER: builtins.int - SET_LOCAL_ATTRIBUTES_FIELD_NUMBER: builtins.int - GET_STATS_FIELD_NUMBER: builtins.int - LOGS_FIELD_NUMBER: builtins.int - GET_SESSION_STATS_FIELD_NUMBER: builtins.int - PANIC_FIELD_NUMBER: builtins.int - PUBLISH_SIP_DTMF_FIELD_NUMBER: builtins.int - CHAT_MESSAGE_FIELD_NUMBER: builtins.int - PERFORM_RPC_FIELD_NUMBER: builtins.int - RPC_METHOD_INVOCATION_FIELD_NUMBER: builtins.int - SEND_STREAM_HEADER_FIELD_NUMBER: builtins.int - SEND_STREAM_CHUNK_FIELD_NUMBER: builtins.int - SEND_STREAM_TRAILER_FIELD_NUMBER: builtins.int - BYTE_STREAM_READER_EVENT_FIELD_NUMBER: builtins.int - BYTE_STREAM_READER_READ_ALL_FIELD_NUMBER: builtins.int - BYTE_STREAM_READER_WRITE_TO_FILE_FIELD_NUMBER: builtins.int - BYTE_STREAM_OPEN_FIELD_NUMBER: builtins.int - BYTE_STREAM_WRITER_WRITE_FIELD_NUMBER: builtins.int - BYTE_STREAM_WRITER_CLOSE_FIELD_NUMBER: builtins.int - SEND_FILE_FIELD_NUMBER: builtins.int - TEXT_STREAM_READER_EVENT_FIELD_NUMBER: builtins.int - TEXT_STREAM_READER_READ_ALL_FIELD_NUMBER: builtins.int - TEXT_STREAM_OPEN_FIELD_NUMBER: builtins.int - TEXT_STREAM_WRITER_WRITE_FIELD_NUMBER: builtins.int - TEXT_STREAM_WRITER_CLOSE_FIELD_NUMBER: builtins.int - SEND_TEXT_FIELD_NUMBER: builtins.int - SEND_BYTES_FIELD_NUMBER: builtins.int - PUBLISH_DATA_TRACK_FIELD_NUMBER: builtins.int - DATA_TRACK_STREAM_EVENT_FIELD_NUMBER: builtins.int - SIMULATE_SCENARIO_FIELD_NUMBER: builtins.int - @property - def room_event(self) -> room_pb2.RoomEvent: ... - @property - def track_event(self) -> track_pb2.TrackEvent: ... - @property - def video_stream_event(self) -> video_frame_pb2.VideoStreamEvent: ... - @property - def audio_stream_event(self) -> audio_frame_pb2.AudioStreamEvent: ... - @property - def connect(self) -> room_pb2.ConnectCallback: ... - @property - def disconnect(self) -> room_pb2.DisconnectCallback: ... - @property - def dispose(self) -> global___DisposeCallback: ... - @property - def publish_track(self) -> room_pb2.PublishTrackCallback: ... - @property - def unpublish_track(self) -> room_pb2.UnpublishTrackCallback: ... - @property - def publish_data(self) -> room_pb2.PublishDataCallback: ... - @property - def publish_transcription(self) -> room_pb2.PublishTranscriptionCallback: ... - @property - def capture_audio_frame(self) -> audio_frame_pb2.CaptureAudioFrameCallback: ... - @property - def set_local_metadata(self) -> room_pb2.SetLocalMetadataCallback: ... - @property - def set_local_name(self) -> room_pb2.SetLocalNameCallback: ... - @property - def set_local_attributes(self) -> room_pb2.SetLocalAttributesCallback: ... - @property - def get_stats(self) -> track_pb2.GetStatsCallback: ... - @property - def logs(self) -> global___LogBatch: ... - @property - def get_session_stats(self) -> room_pb2.GetSessionStatsCallback: ... - @property - def panic(self) -> global___Panic: ... - @property - def publish_sip_dtmf(self) -> room_pb2.PublishSipDtmfCallback: ... - @property - def chat_message(self) -> room_pb2.SendChatMessageCallback: ... - @property - def perform_rpc(self) -> rpc_pb2.PerformRpcCallback: ... - @property - def rpc_method_invocation(self) -> rpc_pb2.RpcMethodInvocationEvent: ... - @property - def send_stream_header(self) -> room_pb2.SendStreamHeaderCallback: + DESCRIPTOR: _descriptor.Descriptor + + ROOM_EVENT_FIELD_NUMBER: _builtins.int + TRACK_EVENT_FIELD_NUMBER: _builtins.int + VIDEO_STREAM_EVENT_FIELD_NUMBER: _builtins.int + AUDIO_STREAM_EVENT_FIELD_NUMBER: _builtins.int + CONNECT_FIELD_NUMBER: _builtins.int + DISCONNECT_FIELD_NUMBER: _builtins.int + DISPOSE_FIELD_NUMBER: _builtins.int + PUBLISH_TRACK_FIELD_NUMBER: _builtins.int + UNPUBLISH_TRACK_FIELD_NUMBER: _builtins.int + PUBLISH_DATA_FIELD_NUMBER: _builtins.int + PUBLISH_TRANSCRIPTION_FIELD_NUMBER: _builtins.int + CAPTURE_AUDIO_FRAME_FIELD_NUMBER: _builtins.int + SET_LOCAL_METADATA_FIELD_NUMBER: _builtins.int + SET_LOCAL_NAME_FIELD_NUMBER: _builtins.int + SET_LOCAL_ATTRIBUTES_FIELD_NUMBER: _builtins.int + GET_STATS_FIELD_NUMBER: _builtins.int + LOGS_FIELD_NUMBER: _builtins.int + GET_SESSION_STATS_FIELD_NUMBER: _builtins.int + PANIC_FIELD_NUMBER: _builtins.int + PUBLISH_SIP_DTMF_FIELD_NUMBER: _builtins.int + CHAT_MESSAGE_FIELD_NUMBER: _builtins.int + PERFORM_RPC_FIELD_NUMBER: _builtins.int + RPC_METHOD_INVOCATION_FIELD_NUMBER: _builtins.int + SEND_STREAM_HEADER_FIELD_NUMBER: _builtins.int + SEND_STREAM_CHUNK_FIELD_NUMBER: _builtins.int + SEND_STREAM_TRAILER_FIELD_NUMBER: _builtins.int + BYTE_STREAM_READER_EVENT_FIELD_NUMBER: _builtins.int + BYTE_STREAM_READER_READ_ALL_FIELD_NUMBER: _builtins.int + BYTE_STREAM_READER_WRITE_TO_FILE_FIELD_NUMBER: _builtins.int + BYTE_STREAM_OPEN_FIELD_NUMBER: _builtins.int + BYTE_STREAM_WRITER_WRITE_FIELD_NUMBER: _builtins.int + BYTE_STREAM_WRITER_CLOSE_FIELD_NUMBER: _builtins.int + SEND_FILE_FIELD_NUMBER: _builtins.int + TEXT_STREAM_READER_EVENT_FIELD_NUMBER: _builtins.int + TEXT_STREAM_READER_READ_ALL_FIELD_NUMBER: _builtins.int + TEXT_STREAM_OPEN_FIELD_NUMBER: _builtins.int + TEXT_STREAM_WRITER_WRITE_FIELD_NUMBER: _builtins.int + TEXT_STREAM_WRITER_CLOSE_FIELD_NUMBER: _builtins.int + SEND_TEXT_FIELD_NUMBER: _builtins.int + SEND_BYTES_FIELD_NUMBER: _builtins.int + PUBLISH_DATA_TRACK_FIELD_NUMBER: _builtins.int + DATA_TRACK_STREAM_EVENT_FIELD_NUMBER: _builtins.int + SIMULATE_SCENARIO_FIELD_NUMBER: _builtins.int + @_builtins.property + def room_event(self) -> _room_pb2.RoomEvent: ... + @_builtins.property + def track_event(self) -> _track_pb2.TrackEvent: ... + @_builtins.property + def video_stream_event(self) -> _video_frame_pb2.VideoStreamEvent: ... + @_builtins.property + def audio_stream_event(self) -> _audio_frame_pb2.AudioStreamEvent: ... + @_builtins.property + def connect(self) -> _room_pb2.ConnectCallback: ... + @_builtins.property + def disconnect(self) -> _room_pb2.DisconnectCallback: ... + @_builtins.property + def dispose(self) -> Global___DisposeCallback: ... + @_builtins.property + def publish_track(self) -> _room_pb2.PublishTrackCallback: ... + @_builtins.property + def unpublish_track(self) -> _room_pb2.UnpublishTrackCallback: ... + @_builtins.property + def publish_data(self) -> _room_pb2.PublishDataCallback: ... + @_builtins.property + def publish_transcription(self) -> _room_pb2.PublishTranscriptionCallback: ... + @_builtins.property + def capture_audio_frame(self) -> _audio_frame_pb2.CaptureAudioFrameCallback: ... + @_builtins.property + def set_local_metadata(self) -> _room_pb2.SetLocalMetadataCallback: ... + @_builtins.property + def set_local_name(self) -> _room_pb2.SetLocalNameCallback: ... + @_builtins.property + def set_local_attributes(self) -> _room_pb2.SetLocalAttributesCallback: ... + @_builtins.property + def get_stats(self) -> _track_pb2.GetStatsCallback: ... + @_builtins.property + def logs(self) -> Global___LogBatch: ... + @_builtins.property + def get_session_stats(self) -> _room_pb2.GetSessionStatsCallback: ... + @_builtins.property + def panic(self) -> Global___Panic: ... + @_builtins.property + def publish_sip_dtmf(self) -> _room_pb2.PublishSipDtmfCallback: ... + @_builtins.property + def chat_message(self) -> _room_pb2.SendChatMessageCallback: ... + @_builtins.property + def perform_rpc(self) -> _rpc_pb2.PerformRpcCallback: ... + @_builtins.property + def rpc_method_invocation(self) -> _rpc_pb2.RpcMethodInvocationEvent: ... + @_builtins.property + def send_stream_header(self) -> _room_pb2.SendStreamHeaderCallback: """Data Streams (low level)""" - @property - def send_stream_chunk(self) -> room_pb2.SendStreamChunkCallback: ... - @property - def send_stream_trailer(self) -> room_pb2.SendStreamTrailerCallback: ... - @property - def byte_stream_reader_event(self) -> data_stream_pb2.ByteStreamReaderEvent: + @_builtins.property + def send_stream_chunk(self) -> _room_pb2.SendStreamChunkCallback: ... + @_builtins.property + def send_stream_trailer(self) -> _room_pb2.SendStreamTrailerCallback: ... + @_builtins.property + def byte_stream_reader_event(self) -> _data_stream_pb2.ByteStreamReaderEvent: """Data Streams (high level)""" - @property - def byte_stream_reader_read_all(self) -> data_stream_pb2.ByteStreamReaderReadAllCallback: ... - @property - def byte_stream_reader_write_to_file(self) -> data_stream_pb2.ByteStreamReaderWriteToFileCallback: ... - @property - def byte_stream_open(self) -> data_stream_pb2.ByteStreamOpenCallback: ... - @property - def byte_stream_writer_write(self) -> data_stream_pb2.ByteStreamWriterWriteCallback: ... - @property - def byte_stream_writer_close(self) -> data_stream_pb2.ByteStreamWriterCloseCallback: ... - @property - def send_file(self) -> data_stream_pb2.StreamSendFileCallback: ... - @property - def text_stream_reader_event(self) -> data_stream_pb2.TextStreamReaderEvent: ... - @property - def text_stream_reader_read_all(self) -> data_stream_pb2.TextStreamReaderReadAllCallback: ... - @property - def text_stream_open(self) -> data_stream_pb2.TextStreamOpenCallback: ... - @property - def text_stream_writer_write(self) -> data_stream_pb2.TextStreamWriterWriteCallback: ... - @property - def text_stream_writer_close(self) -> data_stream_pb2.TextStreamWriterCloseCallback: ... - @property - def send_text(self) -> data_stream_pb2.StreamSendTextCallback: ... - @property - def send_bytes(self) -> data_stream_pb2.StreamSendBytesCallback: ... - @property - def publish_data_track(self) -> data_track_pb2.PublishDataTrackCallback: + @_builtins.property + def byte_stream_reader_read_all(self) -> _data_stream_pb2.ByteStreamReaderReadAllCallback: ... + @_builtins.property + def byte_stream_reader_write_to_file(self) -> _data_stream_pb2.ByteStreamReaderWriteToFileCallback: ... + @_builtins.property + def byte_stream_open(self) -> _data_stream_pb2.ByteStreamOpenCallback: ... + @_builtins.property + def byte_stream_writer_write(self) -> _data_stream_pb2.ByteStreamWriterWriteCallback: ... + @_builtins.property + def byte_stream_writer_close(self) -> _data_stream_pb2.ByteStreamWriterCloseCallback: ... + @_builtins.property + def send_file(self) -> _data_stream_pb2.StreamSendFileCallback: ... + @_builtins.property + def text_stream_reader_event(self) -> _data_stream_pb2.TextStreamReaderEvent: ... + @_builtins.property + def text_stream_reader_read_all(self) -> _data_stream_pb2.TextStreamReaderReadAllCallback: ... + @_builtins.property + def text_stream_open(self) -> _data_stream_pb2.TextStreamOpenCallback: ... + @_builtins.property + def text_stream_writer_write(self) -> _data_stream_pb2.TextStreamWriterWriteCallback: ... + @_builtins.property + def text_stream_writer_close(self) -> _data_stream_pb2.TextStreamWriterCloseCallback: ... + @_builtins.property + def send_text(self) -> _data_stream_pb2.StreamSendTextCallback: ... + @_builtins.property + def send_bytes(self) -> _data_stream_pb2.StreamSendBytesCallback: ... + @_builtins.property + def publish_data_track(self) -> _data_track_pb2.PublishDataTrackCallback: """Data Track (local)""" - @property - def data_track_stream_event(self) -> data_track_pb2.DataTrackStreamEvent: + @_builtins.property + def data_track_stream_event(self) -> _data_track_pb2.DataTrackStreamEvent: """Data Track (remote)""" - @property - def simulate_scenario(self) -> room_pb2.SimulateScenarioCallback: ... + @_builtins.property + def simulate_scenario(self) -> _room_pb2.SimulateScenarioCallback: ... def __init__( self, *, - room_event: room_pb2.RoomEvent | None = ..., - track_event: track_pb2.TrackEvent | None = ..., - video_stream_event: video_frame_pb2.VideoStreamEvent | None = ..., - audio_stream_event: audio_frame_pb2.AudioStreamEvent | None = ..., - connect: room_pb2.ConnectCallback | None = ..., - disconnect: room_pb2.DisconnectCallback | None = ..., - dispose: global___DisposeCallback | None = ..., - publish_track: room_pb2.PublishTrackCallback | None = ..., - unpublish_track: room_pb2.UnpublishTrackCallback | None = ..., - publish_data: room_pb2.PublishDataCallback | None = ..., - publish_transcription: room_pb2.PublishTranscriptionCallback | None = ..., - capture_audio_frame: audio_frame_pb2.CaptureAudioFrameCallback | None = ..., - set_local_metadata: room_pb2.SetLocalMetadataCallback | None = ..., - set_local_name: room_pb2.SetLocalNameCallback | None = ..., - set_local_attributes: room_pb2.SetLocalAttributesCallback | None = ..., - get_stats: track_pb2.GetStatsCallback | None = ..., - logs: global___LogBatch | None = ..., - get_session_stats: room_pb2.GetSessionStatsCallback | None = ..., - panic: global___Panic | None = ..., - publish_sip_dtmf: room_pb2.PublishSipDtmfCallback | None = ..., - chat_message: room_pb2.SendChatMessageCallback | None = ..., - perform_rpc: rpc_pb2.PerformRpcCallback | None = ..., - rpc_method_invocation: rpc_pb2.RpcMethodInvocationEvent | None = ..., - send_stream_header: room_pb2.SendStreamHeaderCallback | None = ..., - send_stream_chunk: room_pb2.SendStreamChunkCallback | None = ..., - send_stream_trailer: room_pb2.SendStreamTrailerCallback | None = ..., - byte_stream_reader_event: data_stream_pb2.ByteStreamReaderEvent | None = ..., - byte_stream_reader_read_all: data_stream_pb2.ByteStreamReaderReadAllCallback | None = ..., - byte_stream_reader_write_to_file: data_stream_pb2.ByteStreamReaderWriteToFileCallback | None = ..., - byte_stream_open: data_stream_pb2.ByteStreamOpenCallback | None = ..., - byte_stream_writer_write: data_stream_pb2.ByteStreamWriterWriteCallback | None = ..., - byte_stream_writer_close: data_stream_pb2.ByteStreamWriterCloseCallback | None = ..., - send_file: data_stream_pb2.StreamSendFileCallback | None = ..., - text_stream_reader_event: data_stream_pb2.TextStreamReaderEvent | None = ..., - text_stream_reader_read_all: data_stream_pb2.TextStreamReaderReadAllCallback | None = ..., - text_stream_open: data_stream_pb2.TextStreamOpenCallback | None = ..., - text_stream_writer_write: data_stream_pb2.TextStreamWriterWriteCallback | None = ..., - text_stream_writer_close: data_stream_pb2.TextStreamWriterCloseCallback | None = ..., - send_text: data_stream_pb2.StreamSendTextCallback | None = ..., - send_bytes: data_stream_pb2.StreamSendBytesCallback | None = ..., - publish_data_track: data_track_pb2.PublishDataTrackCallback | None = ..., - data_track_stream_event: data_track_pb2.DataTrackStreamEvent | None = ..., - simulate_scenario: room_pb2.SimulateScenarioCallback | None = ..., + room_event: _room_pb2.RoomEvent | None = ..., + track_event: _track_pb2.TrackEvent | None = ..., + video_stream_event: _video_frame_pb2.VideoStreamEvent | None = ..., + audio_stream_event: _audio_frame_pb2.AudioStreamEvent | None = ..., + connect: _room_pb2.ConnectCallback | None = ..., + disconnect: _room_pb2.DisconnectCallback | None = ..., + dispose: Global___DisposeCallback | None = ..., + publish_track: _room_pb2.PublishTrackCallback | None = ..., + unpublish_track: _room_pb2.UnpublishTrackCallback | None = ..., + publish_data: _room_pb2.PublishDataCallback | None = ..., + publish_transcription: _room_pb2.PublishTranscriptionCallback | None = ..., + capture_audio_frame: _audio_frame_pb2.CaptureAudioFrameCallback | None = ..., + set_local_metadata: _room_pb2.SetLocalMetadataCallback | None = ..., + set_local_name: _room_pb2.SetLocalNameCallback | None = ..., + set_local_attributes: _room_pb2.SetLocalAttributesCallback | None = ..., + get_stats: _track_pb2.GetStatsCallback | None = ..., + logs: Global___LogBatch | None = ..., + get_session_stats: _room_pb2.GetSessionStatsCallback | None = ..., + panic: Global___Panic | None = ..., + publish_sip_dtmf: _room_pb2.PublishSipDtmfCallback | None = ..., + chat_message: _room_pb2.SendChatMessageCallback | None = ..., + perform_rpc: _rpc_pb2.PerformRpcCallback | None = ..., + rpc_method_invocation: _rpc_pb2.RpcMethodInvocationEvent | None = ..., + send_stream_header: _room_pb2.SendStreamHeaderCallback | None = ..., + send_stream_chunk: _room_pb2.SendStreamChunkCallback | None = ..., + send_stream_trailer: _room_pb2.SendStreamTrailerCallback | None = ..., + byte_stream_reader_event: _data_stream_pb2.ByteStreamReaderEvent | None = ..., + byte_stream_reader_read_all: _data_stream_pb2.ByteStreamReaderReadAllCallback | None = ..., + byte_stream_reader_write_to_file: _data_stream_pb2.ByteStreamReaderWriteToFileCallback | None = ..., + byte_stream_open: _data_stream_pb2.ByteStreamOpenCallback | None = ..., + byte_stream_writer_write: _data_stream_pb2.ByteStreamWriterWriteCallback | None = ..., + byte_stream_writer_close: _data_stream_pb2.ByteStreamWriterCloseCallback | None = ..., + send_file: _data_stream_pb2.StreamSendFileCallback | None = ..., + text_stream_reader_event: _data_stream_pb2.TextStreamReaderEvent | None = ..., + text_stream_reader_read_all: _data_stream_pb2.TextStreamReaderReadAllCallback | None = ..., + text_stream_open: _data_stream_pb2.TextStreamOpenCallback | None = ..., + text_stream_writer_write: _data_stream_pb2.TextStreamWriterWriteCallback | None = ..., + text_stream_writer_close: _data_stream_pb2.TextStreamWriterCloseCallback | None = ..., + send_text: _data_stream_pb2.StreamSendTextCallback | None = ..., + send_bytes: _data_stream_pb2.StreamSendBytesCallback | None = ..., + publish_data_track: _data_track_pb2.PublishDataTrackCallback | None = ..., + data_track_stream_event: _data_track_pb2.DataTrackStreamEvent | None = ..., + simulate_scenario: _room_pb2.SimulateScenarioCallback | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_stream_event", b"audio_stream_event", "byte_stream_open", b"byte_stream_open", "byte_stream_reader_event", b"byte_stream_reader_event", "byte_stream_reader_read_all", b"byte_stream_reader_read_all", "byte_stream_reader_write_to_file", b"byte_stream_reader_write_to_file", "byte_stream_writer_close", b"byte_stream_writer_close", "byte_stream_writer_write", b"byte_stream_writer_write", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "data_track_stream_event", b"data_track_stream_event", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "send_bytes", b"send_bytes", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "simulate_scenario", b"simulate_scenario", "text_stream_open", b"text_stream_open", "text_stream_reader_event", b"text_stream_reader_event", "text_stream_reader_read_all", b"text_stream_reader_read_all", "text_stream_writer_close", b"text_stream_writer_close", "text_stream_writer_write", b"text_stream_writer_write", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_stream_event", b"audio_stream_event", "byte_stream_open", b"byte_stream_open", "byte_stream_reader_event", b"byte_stream_reader_event", "byte_stream_reader_read_all", b"byte_stream_reader_read_all", "byte_stream_reader_write_to_file", b"byte_stream_reader_write_to_file", "byte_stream_writer_close", b"byte_stream_writer_close", "byte_stream_writer_write", b"byte_stream_writer_write", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "data_track_stream_event", b"data_track_stream_event", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "send_bytes", b"send_bytes", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "simulate_scenario", b"simulate_scenario", "text_stream_open", b"text_stream_open", "text_stream_reader_event", b"text_stream_reader_event", "text_stream_reader_read_all", b"text_stream_reader_read_all", "text_stream_writer_close", b"text_stream_writer_close", "text_stream_writer_write", b"text_stream_writer_write", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["room_event", "track_event", "video_stream_event", "audio_stream_event", "connect", "disconnect", "dispose", "publish_track", "unpublish_track", "publish_data", "publish_transcription", "capture_audio_frame", "set_local_metadata", "set_local_name", "set_local_attributes", "get_stats", "logs", "get_session_stats", "panic", "publish_sip_dtmf", "chat_message", "perform_rpc", "rpc_method_invocation", "send_stream_header", "send_stream_chunk", "send_stream_trailer", "byte_stream_reader_event", "byte_stream_reader_read_all", "byte_stream_reader_write_to_file", "byte_stream_open", "byte_stream_writer_write", "byte_stream_writer_close", "send_file", "text_stream_reader_event", "text_stream_reader_read_all", "text_stream_open", "text_stream_writer_write", "text_stream_writer_close", "send_text", "send_bytes", "publish_data_track", "data_track_stream_event", "simulate_scenario"] | None: ... - -global___FfiEvent = FfiEvent - -@typing.final -class DisposeRequest(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["audio_stream_event", b"audio_stream_event", "byte_stream_open", b"byte_stream_open", "byte_stream_reader_event", b"byte_stream_reader_event", "byte_stream_reader_read_all", b"byte_stream_reader_read_all", "byte_stream_reader_write_to_file", b"byte_stream_reader_write_to_file", "byte_stream_writer_close", b"byte_stream_writer_close", "byte_stream_writer_write", b"byte_stream_writer_write", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "data_track_stream_event", b"data_track_stream_event", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "send_bytes", b"send_bytes", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "simulate_scenario", b"simulate_scenario", "text_stream_open", b"text_stream_open", "text_stream_reader_event", b"text_stream_reader_event", "text_stream_reader_read_all", b"text_stream_reader_read_all", "text_stream_writer_close", b"text_stream_writer_close", "text_stream_writer_write", b"text_stream_writer_write", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_stream_event", b"audio_stream_event", "byte_stream_open", b"byte_stream_open", "byte_stream_reader_event", b"byte_stream_reader_event", "byte_stream_reader_read_all", b"byte_stream_reader_read_all", "byte_stream_reader_write_to_file", b"byte_stream_reader_write_to_file", "byte_stream_writer_close", b"byte_stream_writer_close", "byte_stream_writer_write", b"byte_stream_writer_write", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "data_track_stream_event", b"data_track_stream_event", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_data_track", b"publish_data_track", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "send_bytes", b"send_bytes", "send_file", b"send_file", "send_stream_chunk", b"send_stream_chunk", "send_stream_header", b"send_stream_header", "send_stream_trailer", b"send_stream_trailer", "send_text", b"send_text", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "simulate_scenario", b"simulate_scenario", "text_stream_open", b"text_stream_open", "text_stream_reader_event", b"text_stream_reader_event", "text_stream_reader_read_all", b"text_stream_reader_read_all", "text_stream_writer_close", b"text_stream_writer_close", "text_stream_writer_write", b"text_stream_writer_write", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["room_event", "track_event", "video_stream_event", "audio_stream_event", "connect", "disconnect", "dispose", "publish_track", "unpublish_track", "publish_data", "publish_transcription", "capture_audio_frame", "set_local_metadata", "set_local_name", "set_local_attributes", "get_stats", "logs", "get_session_stats", "panic", "publish_sip_dtmf", "chat_message", "perform_rpc", "rpc_method_invocation", "send_stream_header", "send_stream_chunk", "send_stream_trailer", "byte_stream_reader_event", "byte_stream_reader_read_all", "byte_stream_reader_write_to_file", "byte_stream_open", "byte_stream_writer_write", "byte_stream_writer_close", "send_file", "text_stream_reader_event", "text_stream_reader_read_all", "text_stream_open", "text_stream_writer_write", "text_stream_writer_close", "send_text", "send_bytes", "publish_data_track", "data_track_stream_event", "simulate_scenario"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___FfiEvent: _TypeAlias = FfiEvent # noqa: Y015 + +@_typing.final +class DisposeRequest(_message.Message): """Stop all rooms synchronously (Do we need async here?). e.g: This is used for the Unity Editor after each assemblies reload. TODO(theomonnom): Implement a debug mode where we can find all leaked handles? """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ASYNC_FIELD_NUMBER: builtins.int + ASYNC_FIELD_NUMBER: _builtins.int def __init__( self, ) -> None: ... - def HasField(self, field_name: typing.Literal["async", b"async"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async", b"async"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async", b"async"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async", b"async"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DisposeRequest = DisposeRequest +Global___DisposeRequest: _TypeAlias = DisposeRequest # noqa: Y015 -@typing.final -class DisposeResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DisposeResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int """None if sync""" def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DisposeResponse = DisposeResponse +Global___DisposeResponse: _TypeAlias = DisposeResponse # noqa: Y015 -@typing.final -class DisposeCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DisposeCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___DisposeCallback = DisposeCallback - -@typing.final -class LogRecord(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LEVEL_FIELD_NUMBER: builtins.int - TARGET_FIELD_NUMBER: builtins.int - MODULE_PATH_FIELD_NUMBER: builtins.int - FILE_FIELD_NUMBER: builtins.int - LINE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - level: global___LogLevel.ValueType - target: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___DisposeCallback: _TypeAlias = DisposeCallback # noqa: Y015 + +@_typing.final +class LogRecord(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + LEVEL_FIELD_NUMBER: _builtins.int + TARGET_FIELD_NUMBER: _builtins.int + MODULE_PATH_FIELD_NUMBER: _builtins.int + FILE_FIELD_NUMBER: _builtins.int + LINE_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + level: Global___LogLevel.ValueType + target: _builtins.str """e.g "livekit", "libwebrtc", "tokio-tungstenite", etc...""" - module_path: builtins.str - file: builtins.str - line: builtins.int - message: builtins.str + module_path: _builtins.str + file: _builtins.str + line: _builtins.int + message: _builtins.str def __init__( self, *, - level: global___LogLevel.ValueType | None = ..., - target: builtins.str | None = ..., - module_path: builtins.str | None = ..., - file: builtins.str | None = ..., - line: builtins.int | None = ..., - message: builtins.str | None = ..., + level: Global___LogLevel.ValueType | None = ..., + target: _builtins.str | None = ..., + module_path: _builtins.str | None = ..., + file: _builtins.str | None = ..., + line: _builtins.int | None = ..., + message: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LogRecord = LogRecord +Global___LogRecord: _TypeAlias = LogRecord # noqa: Y015 -@typing.final -class LogBatch(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LogBatch(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - RECORDS_FIELD_NUMBER: builtins.int - @property - def records(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LogRecord]: ... + RECORDS_FIELD_NUMBER: _builtins.int + @_builtins.property + def records(self) -> _containers.RepeatedCompositeFieldContainer[Global___LogRecord]: ... def __init__( self, *, - records: collections.abc.Iterable[global___LogRecord] | None = ..., + records: _abc.Iterable[Global___LogRecord] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["records", b"records"]) -> None: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["records", b"records"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LogBatch = LogBatch +Global___LogBatch: _TypeAlias = LogBatch # noqa: Y015 -@typing.final -class Panic(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class Panic(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - MESSAGE_FIELD_NUMBER: builtins.int - message: builtins.str + MESSAGE_FIELD_NUMBER: _builtins.int + message: _builtins.str def __init__( self, *, - message: builtins.str | None = ..., + message: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___Panic = Panic +Global___Panic: _TypeAlias = Panic # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/handle_pb2.py b/livekit-rtc/livekit/rtc/_proto/handle_pb2.py index 2ae2db78..423fbaac 100644 --- a/livekit-rtc/livekit/rtc/_proto/handle_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/handle_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: handle.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,8 +19,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'handle_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_FFIOWNEDHANDLE']._serialized_start=31 _globals['_FFIOWNEDHANDLE']._serialized_end=59 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi index d433a6c2..23b0851f 100644 --- a/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi @@ -16,15 +16,21 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import google.protobuf.descriptor -import google.protobuf.message -import typing +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +import builtins as _builtins +import sys +import typing as _typing -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +if sys.version_info >= (3, 10): + from typing import TypeAlias as _TypeAlias +else: + from typing_extensions import TypeAlias as _TypeAlias -@typing.final -class FfiOwnedHandle(google.protobuf.message.Message): +DESCRIPTOR: _descriptor.FileDescriptor + +@_typing.final +class FfiOwnedHandle(_message.Message): """# Safety The foreign language is responsable for disposing handles Forgetting to dispose the handle may lead to memory leaks @@ -36,16 +42,18 @@ class FfiOwnedHandle(google.protobuf.message.Message): (the variable name is suffixed with "_handle") """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ID_FIELD_NUMBER: builtins.int - id: builtins.int + ID_FIELD_NUMBER: _builtins.int + id: _builtins.int def __init__( self, *, - id: builtins.int | None = ..., + id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["id", b"id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["id", b"id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___FfiOwnedHandle = FfiOwnedHandle +Global___FfiOwnedHandle: _TypeAlias = FfiOwnedHandle # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py index f4943934..d627c65f 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: participant.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -22,10 +21,11 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'participant_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._options = None - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _PARTICIPANTINFO_ATTRIBUTESENTRY._options = None + _PARTICIPANTINFO_ATTRIBUTESENTRY._serialized_options = b'8\001' _globals['_PARTICIPANTSTATE']._serialized_start=933 _globals['_PARTICIPANTSTATE']._serialized_end=1078 _globals['_PARTICIPANTKIND']._serialized_start=1081 diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi index 4c84d2c6..53f74ae1 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi @@ -16,30 +16,30 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import handle_pb2 +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins +from . import handle_pb2 as _handle_pb2 import sys -from . import track_pb2 -import typing +from . import track_pb2 as _track_pb2 +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _ParticipantState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _ParticipantStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ParticipantState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _ParticipantStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ParticipantState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor PARTICIPANT_STATE_JOINING: _ParticipantState.ValueType # 0 PARTICIPANT_STATE_JOINED: _ParticipantState.ValueType # 1 PARTICIPANT_STATE_ACTIVE: _ParticipantState.ValueType # 2 @@ -51,14 +51,14 @@ PARTICIPANT_STATE_JOINING: ParticipantState.ValueType # 0 PARTICIPANT_STATE_JOINED: ParticipantState.ValueType # 1 PARTICIPANT_STATE_ACTIVE: ParticipantState.ValueType # 2 PARTICIPANT_STATE_DISCONNECTED: ParticipantState.ValueType # 3 -global___ParticipantState = ParticipantState +Global___ParticipantState: _TypeAlias = ParticipantState # noqa: Y015 class _ParticipantKind: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _ParticipantKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ParticipantKind.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _ParticipantKindEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ParticipantKind.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor PARTICIPANT_KIND_STANDARD: _ParticipantKind.ValueType # 0 PARTICIPANT_KIND_INGRESS: _ParticipantKind.ValueType # 1 PARTICIPANT_KIND_EGRESS: _ParticipantKind.ValueType # 2 @@ -76,14 +76,14 @@ PARTICIPANT_KIND_SIP: ParticipantKind.ValueType # 3 PARTICIPANT_KIND_AGENT: ParticipantKind.ValueType # 4 PARTICIPANT_KIND_CONNECTOR: ParticipantKind.ValueType # 5 PARTICIPANT_KIND_BRIDGE: ParticipantKind.ValueType # 6 -global___ParticipantKind = ParticipantKind +Global___ParticipantKind: _TypeAlias = ParticipantKind # noqa: Y015 class _ParticipantKindDetail: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _ParticipantKindDetailEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ParticipantKindDetail.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _ParticipantKindDetailEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ParticipantKindDetail.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor PARTICIPANT_KIND_DETAIL_CLOUD_AGENT: _ParticipantKindDetail.ValueType # 0 PARTICIPANT_KIND_DETAIL_FORWARDED: _ParticipantKindDetail.ValueType # 1 PARTICIPANT_KIND_DETAIL_CONNECTOR_WHATSAPP: _ParticipantKindDetail.ValueType # 2 @@ -97,14 +97,14 @@ PARTICIPANT_KIND_DETAIL_FORWARDED: ParticipantKindDetail.ValueType # 1 PARTICIPANT_KIND_DETAIL_CONNECTOR_WHATSAPP: ParticipantKindDetail.ValueType # 2 PARTICIPANT_KIND_DETAIL_CONNECTOR_TWILIO: ParticipantKindDetail.ValueType # 3 PARTICIPANT_KIND_DETAIL_BRIDGE_RTSP: ParticipantKindDetail.ValueType # 4 -global___ParticipantKindDetail = ParticipantKindDetail +Global___ParticipantKindDetail: _TypeAlias = ParticipantKindDetail # noqa: Y015 class _DisconnectReason: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _DisconnectReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DisconnectReason.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _DisconnectReasonEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_DisconnectReason.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor UNKNOWN_REASON: _DisconnectReason.ValueType # 0 CLIENT_INITIATED: _DisconnectReason.ValueType # 1 """the client initiated the disconnect""" @@ -168,141 +168,149 @@ SIP_TRUNK_FAILURE: DisconnectReason.ValueType # 13 CONNECTION_TIMEOUT: DisconnectReason.ValueType # 14 MEDIA_FAILURE: DisconnectReason.ValueType # 15 AGENT_ERROR: DisconnectReason.ValueType # 16 -global___DisconnectReason = DisconnectReason +Global___DisconnectReason: _TypeAlias = DisconnectReason # noqa: Y015 -@typing.final -class ParticipantInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - SID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - IDENTITY_FIELD_NUMBER: builtins.int - STATE_FIELD_NUMBER: builtins.int - METADATA_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - KIND_FIELD_NUMBER: builtins.int - DISCONNECT_REASON_FIELD_NUMBER: builtins.int - JOINED_AT_FIELD_NUMBER: builtins.int - KIND_DETAILS_FIELD_NUMBER: builtins.int - PERMISSION_FIELD_NUMBER: builtins.int - sid: builtins.str - name: builtins.str - identity: builtins.str - state: global___ParticipantState.ValueType - metadata: builtins.str - kind: global___ParticipantKind.ValueType - disconnect_reason: global___DisconnectReason.ValueType - joined_at: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + SID_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + IDENTITY_FIELD_NUMBER: _builtins.int + STATE_FIELD_NUMBER: _builtins.int + METADATA_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + KIND_FIELD_NUMBER: _builtins.int + DISCONNECT_REASON_FIELD_NUMBER: _builtins.int + JOINED_AT_FIELD_NUMBER: _builtins.int + KIND_DETAILS_FIELD_NUMBER: _builtins.int + PERMISSION_FIELD_NUMBER: _builtins.int + sid: _builtins.str + name: _builtins.str + identity: _builtins.str + state: Global___ParticipantState.ValueType + metadata: _builtins.str + kind: Global___ParticipantKind.ValueType + disconnect_reason: Global___DisconnectReason.ValueType + joined_at: _builtins.int """ms timestamp of when the participant joined the room, maps to joined_at_ms in livekit_models""" - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... - @property - def kind_details(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___ParticipantKindDetail.ValueType]: ... - @property - def permission(self) -> global___ParticipantPermission: ... + @_builtins.property + def attributes(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: ... + @_builtins.property + def kind_details(self) -> _containers.RepeatedScalarFieldContainer[Global___ParticipantKindDetail.ValueType]: ... + @_builtins.property + def permission(self) -> Global___ParticipantPermission: ... def __init__( self, *, - sid: builtins.str | None = ..., - name: builtins.str | None = ..., - identity: builtins.str | None = ..., - state: global___ParticipantState.ValueType | None = ..., - metadata: builtins.str | None = ..., - attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., - kind: global___ParticipantKind.ValueType | None = ..., - disconnect_reason: global___DisconnectReason.ValueType | None = ..., - joined_at: builtins.int | None = ..., - kind_details: collections.abc.Iterable[global___ParticipantKindDetail.ValueType] | None = ..., - permission: global___ParticipantPermission | None = ..., + sid: _builtins.str | None = ..., + name: _builtins.str | None = ..., + identity: _builtins.str | None = ..., + state: Global___ParticipantState.ValueType | None = ..., + metadata: _builtins.str | None = ..., + attributes: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., + kind: Global___ParticipantKind.ValueType | None = ..., + disconnect_reason: Global___DisconnectReason.ValueType | None = ..., + joined_at: _builtins.int | None = ..., + kind_details: _abc.Iterable[Global___ParticipantKindDetail.ValueType] | None = ..., + permission: Global___ParticipantPermission | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["disconnect_reason", b"disconnect_reason", "identity", b"identity", "joined_at", b"joined_at", "kind", b"kind", "metadata", b"metadata", "name", b"name", "permission", b"permission", "sid", b"sid", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "disconnect_reason", b"disconnect_reason", "identity", b"identity", "joined_at", b"joined_at", "kind", b"kind", "kind_details", b"kind_details", "metadata", b"metadata", "name", b"name", "permission", b"permission", "sid", b"sid", "state", b"state"]) -> None: ... - -global___ParticipantInfo = ParticipantInfo - -@typing.final -class OwnedParticipant(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___ParticipantInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["disconnect_reason", b"disconnect_reason", "identity", b"identity", "joined_at", b"joined_at", "kind", b"kind", "metadata", b"metadata", "name", b"name", "permission", b"permission", "sid", b"sid", "state", b"state"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attributes", b"attributes", "disconnect_reason", b"disconnect_reason", "identity", b"identity", "joined_at", b"joined_at", "kind", b"kind", "kind_details", b"kind_details", "metadata", b"metadata", "name", b"name", "permission", b"permission", "sid", b"sid", "state", b"state"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ParticipantInfo: _TypeAlias = ParticipantInfo # noqa: Y015 + +@_typing.final +class OwnedParticipant(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___ParticipantInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___ParticipantInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___ParticipantInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedParticipant = OwnedParticipant +Global___OwnedParticipant: _TypeAlias = OwnedParticipant # noqa: Y015 -@typing.final -class ParticipantPermission(google.protobuf.message.Message): +@_typing.final +class ParticipantPermission(_message.Message): """copied from livekit-protocol/protocol/protobufs/livekit_models.proto and removed deprecated fields""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CAN_SUBSCRIBE_FIELD_NUMBER: builtins.int - CAN_PUBLISH_FIELD_NUMBER: builtins.int - CAN_PUBLISH_DATA_FIELD_NUMBER: builtins.int - CAN_PUBLISH_SOURCES_FIELD_NUMBER: builtins.int - HIDDEN_FIELD_NUMBER: builtins.int - CAN_UPDATE_METADATA_FIELD_NUMBER: builtins.int - CAN_SUBSCRIBE_METRICS_FIELD_NUMBER: builtins.int - CAN_MANAGE_AGENT_SESSION_FIELD_NUMBER: builtins.int - can_subscribe: builtins.bool + DESCRIPTOR: _descriptor.Descriptor + + CAN_SUBSCRIBE_FIELD_NUMBER: _builtins.int + CAN_PUBLISH_FIELD_NUMBER: _builtins.int + CAN_PUBLISH_DATA_FIELD_NUMBER: _builtins.int + CAN_PUBLISH_SOURCES_FIELD_NUMBER: _builtins.int + HIDDEN_FIELD_NUMBER: _builtins.int + CAN_UPDATE_METADATA_FIELD_NUMBER: _builtins.int + CAN_SUBSCRIBE_METRICS_FIELD_NUMBER: _builtins.int + CAN_MANAGE_AGENT_SESSION_FIELD_NUMBER: _builtins.int + can_subscribe: _builtins.bool """allow participant to subscribe to other tracks in the room""" - can_publish: builtins.bool + can_publish: _builtins.bool """allow participant to publish new tracks to room""" - can_publish_data: builtins.bool + can_publish_data: _builtins.bool """allow participant to publish data""" - hidden: builtins.bool + hidden: _builtins.bool """indicates that it's hidden to others""" - can_update_metadata: builtins.bool + can_update_metadata: _builtins.bool """indicates that participant can update own metadata and attributes""" - can_subscribe_metrics: builtins.bool + can_subscribe_metrics: _builtins.bool """if a participant can subscribe to metrics""" - can_manage_agent_session: builtins.bool + can_manage_agent_session: _builtins.bool """if a participant can manage an agent session via RemoteSession (control and access state)""" - @property - def can_publish_sources(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[track_pb2.TrackSource.ValueType]: + @_builtins.property + def can_publish_sources(self) -> _containers.RepeatedScalarFieldContainer[_track_pb2.TrackSource.ValueType]: """sources that are allowed to be published""" def __init__( self, *, - can_subscribe: builtins.bool | None = ..., - can_publish: builtins.bool | None = ..., - can_publish_data: builtins.bool | None = ..., - can_publish_sources: collections.abc.Iterable[track_pb2.TrackSource.ValueType] | None = ..., - hidden: builtins.bool | None = ..., - can_update_metadata: builtins.bool | None = ..., - can_subscribe_metrics: builtins.bool | None = ..., - can_manage_agent_session: builtins.bool | None = ..., + can_subscribe: _builtins.bool | None = ..., + can_publish: _builtins.bool | None = ..., + can_publish_data: _builtins.bool | None = ..., + can_publish_sources: _abc.Iterable[_track_pb2.TrackSource.ValueType] | None = ..., + hidden: _builtins.bool | None = ..., + can_update_metadata: _builtins.bool | None = ..., + can_subscribe_metrics: _builtins.bool | None = ..., + can_manage_agent_session: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["can_manage_agent_session", b"can_manage_agent_session", "can_publish", b"can_publish", "can_publish_data", b"can_publish_data", "can_subscribe", b"can_subscribe", "can_subscribe_metrics", b"can_subscribe_metrics", "can_update_metadata", b"can_update_metadata", "hidden", b"hidden"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["can_manage_agent_session", b"can_manage_agent_session", "can_publish", b"can_publish", "can_publish_data", b"can_publish_data", "can_publish_sources", b"can_publish_sources", "can_subscribe", b"can_subscribe", "can_subscribe_metrics", b"can_subscribe_metrics", "can_update_metadata", b"can_update_metadata", "hidden", b"hidden"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["can_manage_agent_session", b"can_manage_agent_session", "can_publish", b"can_publish", "can_publish_data", b"can_publish_data", "can_subscribe", b"can_subscribe", "can_subscribe_metrics", b"can_subscribe_metrics", "can_update_metadata", b"can_update_metadata", "hidden", b"hidden"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["can_manage_agent_session", b"can_manage_agent_session", "can_publish", b"can_publish", "can_publish_data", b"can_publish_data", "can_publish_sources", b"can_publish_sources", "can_subscribe", b"can_subscribe", "can_subscribe_metrics", b"can_subscribe_metrics", "can_update_metadata", b"can_update_metadata", "hidden", b"hidden"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantPermission = ParticipantPermission +Global___ParticipantPermission: _TypeAlias = ParticipantPermission # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.py b/livekit-rtc/livekit/rtc/_proto/room_pb2.py index dd224581..c595a158 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: room.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -22,34 +21,35 @@ from . import data_track_pb2 as data__track__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nroom.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0chandle.proto\x1a\x11participant.proto\x1a\x0btrack.proto\x1a\x11video_frame.proto\x1a\x0bstats.proto\x1a\x11\x64\x61ta_stream.proto\x1a\x10\x64\x61ta_track.proto\"s\n\x0e\x43onnectRequest\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\r\n\x05token\x18\x02 \x02(\t\x12+\n\x07options\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.RoomOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xbf\x03\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x37\n\x06result\x18\x03 \x01(\x0b\x32%.livekit.proto.ConnectCallback.ResultH\x00\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublication\x1a\xb8\x01\n\x06Result\x12&\n\x04room\x18\x01 \x02(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x03 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracksB\t\n\x07message\"s\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\x12/\n\x06reason\x18\x03 \x01(\x0e\x32\x1f.livekit.proto.DisconnectReason\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x7f\n\x17SimulateScenarioRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x35\n\x08scenario\x18\x02 \x02(\x0e\x32#.livekit.proto.SimulateScenarioKind\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SimulateScenarioResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SimulateScenarioCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9c\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x02(\x04\x12\x33\n\x07options\x18\x03 \x02(\x0b\x32\".livekit.proto.TrackPublishOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12;\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationH\x00\x42\t\n\x07message\"\x81\x01\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x02(\x08\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xd3\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x02(\x04\x12\x10\n\x08reliable\x18\x04 \x02(\x08\x12\x1c\n\x10\x64\x65stination_sids\x18\x05 \x03(\tB\x02\x18\x01\x12\r\n\x05topic\x18\x06 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x07 \x03(\t\x12\x18\n\x10request_async_id\x18\x08 \x01(\x04\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"6\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xc0\x01\n\x1bPublishTranscriptionRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12\x10\n\x08track_id\x18\x03 \x02(\t\x12\x35\n\x08segments\x18\x04 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"0\n\x1cPublishTranscriptionResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"?\n\x1cPublishTranscriptionCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x90\x01\n\x15PublishSipDtmfRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04\x63ode\x18\x02 \x02(\r\x12\r\n\x05\x64igit\x18\x03 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"*\n\x16PublishSipDtmfResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16PublishSipDtmfCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"g\n\x17SetLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08metadata\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SetLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SetLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9e\x01\n\x16SendChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0f\n\x07message\x18\x02 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x01(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xd6\x01\n\x16\x45\x64itChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tedit_text\x18\x02 \x02(\t\x12\x34\n\x10original_message\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x17\n\x0fsender_identity\x18\x05 \x01(\t\x12\x18\n\x10request_async_id\x18\x06 \x01(\x04\"+\n\x17SendChatMessageResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"{\n\x17SendChatMessageCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x32\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.ChatMessageH\x00\x42\t\n\x07message\"\x8b\x01\n\x19SetLocalAttributesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"-\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x02(\t\".\n\x1aSetLocalAttributesResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"=\n\x1aSetLocalAttributesCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"_\n\x13SetLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"(\n\x14SetLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"7\n\x14SetLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x02(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x02(\x04\"\x17\n\x15SetSubscribedResponse\"G\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xf7\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12?\n\x06result\x18\x03 \x01(\x0b\x32-.livekit.proto.GetSessionStatsCallback.ResultH\x00\x1am\n\x06Result\x12\x30\n\x0fpublisher_stats\x18\x01 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x02 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\t\n\x07message\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\x12\x15\n\rmax_framerate\x18\x02 \x02(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\"\xfb\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x0e\n\x06stream\x18\x08 \x01(\t\x12\x19\n\x11preconnect_buffer\x18\t \x01(\x08\x12\x44\n\x17packet_trailer_features\x18\n \x03(\x0e\x32#.livekit.proto.PacketTrailerFeature\"=\n\tIceServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"\xc4\x01\n\tRtcConfig\x12;\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportType\x12K\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicy\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServer\"\xae\x02\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12,\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptionsB\x02\x18\x01\x12,\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfig\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\r\x12.\n\nencryption\x18\x07 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptions\x12\x1e\n\x16single_peer_connection\x18\x08 \x01(\x08\x12\x1a\n\x12\x63onnect_timeout_ms\x18\t \x01(\x04\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x02(\t\x12\x0c\n\x04text\x18\x02 \x02(\t\x12\x12\n\nstart_time\x18\x03 \x02(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x02(\x04\x12\r\n\x05\x66inal\x18\x05 \x02(\x08\x12\x10\n\x08language\x18\x06 \x02(\t\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x02(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x02(\x0b\x32\x19.livekit.proto.BufferInfo\"\x85\x17\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x44\n\x15participant_connected\x18\x02 \x01(\x0b\x32#.livekit.proto.ParticipantConnectedH\x00\x12J\n\x18participant_disconnected\x18\x03 \x01(\x0b\x32&.livekit.proto.ParticipantDisconnectedH\x00\x12\x43\n\x15local_track_published\x18\x04 \x01(\x0b\x32\".livekit.proto.LocalTrackPublishedH\x00\x12G\n\x17local_track_unpublished\x18\x05 \x01(\x0b\x32$.livekit.proto.LocalTrackUnpublishedH\x00\x12\x45\n\x16local_track_subscribed\x18\x06 \x01(\x0b\x32#.livekit.proto.LocalTrackSubscribedH\x00\x12\x38\n\x0ftrack_published\x18\x07 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x08 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\t \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\n \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\x0b \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0c \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\r \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\x0e \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0f \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12\x39\n\x10room_sid_changed\x18\x10 \x01(\x0b\x32\x1d.livekit.proto.RoomSidChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x11 \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x12 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12U\n\x1eparticipant_attributes_changed\x18\x13 \x01(\x0b\x32+.livekit.proto.ParticipantAttributesChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x14 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x15 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x17 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x18 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x19 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x1a \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x12\x41\n\x14\x64\x61ta_packet_received\x18\x1b \x01(\x0b\x32!.livekit.proto.DataPacketReceivedH\x00\x12\x46\n\x16transcription_received\x18\x1c \x01(\x0b\x32$.livekit.proto.TranscriptionReceivedH\x00\x12:\n\x0c\x63hat_message\x18\x1d \x01(\x0b\x32\".livekit.proto.ChatMessageReceivedH\x00\x12I\n\x16stream_header_received\x18\x1e \x01(\x0b\x32\'.livekit.proto.DataStreamHeaderReceivedH\x00\x12G\n\x15stream_chunk_received\x18\x1f \x01(\x0b\x32&.livekit.proto.DataStreamChunkReceivedH\x00\x12K\n\x17stream_trailer_received\x18 \x01(\x0b\x32(.livekit.proto.DataStreamTrailerReceivedH\x00\x12i\n\"data_channel_low_threshold_changed\x18! \x01(\x0b\x32;.livekit.proto.DataChannelBufferedAmountLowThresholdChangedH\x00\x12=\n\x12\x62yte_stream_opened\x18\" \x01(\x0b\x32\x1f.livekit.proto.ByteStreamOpenedH\x00\x12=\n\x12text_stream_opened\x18# \x01(\x0b\x32\x1f.livekit.proto.TextStreamOpenedH\x00\x12/\n\x0croom_updated\x18$ \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12(\n\x05moved\x18% \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12\x42\n\x14participants_updated\x18& \x01(\x0b\x32\".livekit.proto.ParticipantsUpdatedH\x00\x12\x62\n%participant_encryption_status_changed\x18\' \x01(\x0b\x32\x31.livekit.proto.ParticipantEncryptionStatusChangedH\x00\x12U\n\x1eparticipant_permission_changed\x18) \x01(\x0b\x32+.livekit.proto.ParticipantPermissionChangedH\x00\x12\x38\n\x0ftoken_refreshed\x18( \x01(\x0b\x32\x1d.livekit.proto.TokenRefreshedH\x00\x12>\n\x12participant_active\x18* \x01(\x0b\x32 .livekit.proto.ParticipantActiveH\x00\x12\x41\n\x14\x64\x61ta_track_published\x18+ \x01(\x0b\x32!.livekit.proto.DataTrackPublishedH\x00\x12\x45\n\x16\x64\x61ta_track_unpublished\x18, \x01(\x0b\x32#.livekit.proto.DataTrackUnpublishedH\x00\x42\t\n\x07message\"\xc9\x02\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x10\n\x08metadata\x18\x03 \x02(\t\x12.\n&lossy_dc_buffered_amount_low_threshold\x18\x04 \x02(\x04\x12\x31\n)reliable_dc_buffered_amount_low_threshold\x18\x05 \x02(\x04\x12\x15\n\rempty_timeout\x18\x06 \x02(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x07 \x02(\r\x12\x18\n\x10max_participants\x18\x08 \x02(\r\x12\x15\n\rcreation_time\x18\t \x02(\x03\x12\x18\n\x10num_participants\x18\n \x02(\r\x12\x16\n\x0enum_publishers\x18\x0b \x02(\r\x12\x18\n\x10\x61\x63tive_recording\x18\x0c \x02(\x08\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x02(\x0b\x32\x17.livekit.proto.RoomInfo\"K\n\x13ParticipantsUpdated\x12\x34\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x1e.livekit.proto.ParticipantInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"1\n\x11ParticipantActive\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\"s\n\x17ParticipantDisconnected\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12:\n\x11\x64isconnect_reason\x18\x02 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x02(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x02(\t\")\n\x14LocalTrackSubscribed\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"i\n\x0eTrackPublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x39\n\x0bpublication\x18\x02 \x02(\x0b\x32$.livekit.proto.OwnedTrackPublication\"I\n\x10TrackUnpublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x02(\t\"Y\n\x0fTrackSubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12(\n\x05track\x18\x02 \x02(\x0b\x32\x19.livekit.proto.OwnedTrack\"D\n\x11TrackUnsubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"Y\n\x17TrackSubscriptionFailed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\r\n\x05\x65rror\x18\x03 \x02(\t\"=\n\nTrackMuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"?\n\x0cTrackUnmuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"_\n\x10\x45\x32\x65\x65StateChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12-\n\x05state\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.EncryptionState\"7\n\x15\x41\x63tiveSpeakersChanged\x12\x1e\n\x16participant_identities\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x02(\t\"\x1d\n\x0eRoomSidChanged\x12\x0b\n\x03sid\x18\x01 \x02(\t\"L\n\x1aParticipantMetadataChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x10\n\x08metadata\x18\x02 \x02(\t\"\xac\x01\n\x1cParticipantAttributesChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12:\n\x12\x63hanged_attributes\x18\x03 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\"X\n\"ParticipantEncryptionStatusChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x14\n\x0cis_encrypted\x18\x02 \x02(\x08\"D\n\x16ParticipantNameChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\"v\n\x1cParticipantPermissionChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x38\n\npermission\x18\x02 \x01(\x0b\x32$.livekit.proto.ParticipantPermission\"k\n\x18\x43onnectionQualityChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x31\n\x07quality\x18\x02 \x02(\x0e\x32 .livekit.proto.ConnectionQuality\"E\n\nUserPacket\x12(\n\x04\x64\x61ta\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\r\n\x05topic\x18\x02 \x01(\t\"y\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x0f\n\x07message\x18\x03 \x02(\t\x12\x16\n\x0e\x65\x64it_timestamp\x18\x04 \x01(\x03\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\"`\n\x13\x43hatMessageReceived\x12+\n\x07message\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x01 \x02(\r\x12\r\n\x05\x64igit\x18\x02 \x01(\t\"\xbf\x01\n\x12\x44\x61taPacketReceived\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12)\n\x04user\x18\x04 \x01(\x0b\x32\x19.livekit.proto.UserPacketH\x00\x12*\n\x08sip_dtmf\x18\x05 \x01(\x0b\x32\x16.livekit.proto.SipDTMFH\x00\x42\x07\n\x05value\"\x7f\n\x15TranscriptionReceived\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x35\n\x08segments\x18\x03 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"?\n\x0c\x44isconnected\x12/\n\x06reason\x18\x01 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\x1f\n\x0eTokenRefreshed\x12\r\n\x05token\x18\x01 \x02(\t\"\t\n\x07RoomEOS\"\x8e\x07\n\nDataStream\x1a\xaa\x01\n\nTextHeader\x12?\n\x0eoperation_type\x18\x01 \x02(\x0e\x32\'.livekit.proto.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x02(\t\x1a\xeb\x02\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x44\n\nattributes\x18\x06 \x03(\x0b\x32\x30.livekit.proto.DataStream.Header.AttributesEntry\x12;\n\x0btext_header\x18\x07 \x01(\x0b\x32$.livekit.proto.DataStream.TextHeaderH\x00\x12;\n\x0b\x62yte_header\x18\x08 \x01(\x0b\x32$.livekit.proto.DataStream.ByteHeaderH\x00\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_header\x1a]\n\x05\x43hunk\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x13\n\x0b\x63hunk_index\x18\x02 \x02(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x02(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\n\n\x02iv\x18\x05 \x01(\x0c\x1a\xa6\x01\n\x07Trailer\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x0e\n\x06reason\x18\x02 \x02(\t\x12\x45\n\nattributes\x18\x03 \x03(\x0b\x32\x31.livekit.proto.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\"j\n\x18\x44\x61taStreamHeaderReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\"g\n\x17\x44\x61taStreamChunkReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\"m\n\x19\x44\x61taStreamTrailerReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\"\xc0\x01\n\x17SendStreamHeaderRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xbd\x01\n\x16SendStreamChunkRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xc3\x01\n\x18SendStreamTrailerRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\",\n\x18SendStreamHeaderResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"+\n\x17SendStreamChunkResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"-\n\x19SendStreamTrailerResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SendStreamHeaderCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\":\n\x17SendStreamChunkCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"<\n\x19SendStreamTrailerCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x93\x01\n/SetDataChannelBufferedAmountLowThresholdRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tthreshold\x18\x02 \x02(\x04\x12+\n\x04kind\x18\x03 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\"2\n0SetDataChannelBufferedAmountLowThresholdResponse\"n\n,DataChannelBufferedAmountLowThresholdChanged\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x11\n\tthreshold\x18\x02 \x02(\x04\"f\n\x10\x42yteStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedByteStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"f\n\x10TextStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedTextStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"H\n\x12\x44\x61taTrackPublished\x12\x32\n\x05track\x18\x01 \x02(\x0b\x32#.livekit.proto.OwnedRemoteDataTrack\"#\n\x14\x44\x61taTrackUnpublished\x12\x0b\n\x03sid\x18\x01 \x02(\t*\xe6\x01\n\x14SimulateScenarioKind\x12\x1d\n\x19SIMULATE_SIGNAL_RECONNECT\x10\x00\x12\x14\n\x10SIMULATE_SPEAKER\x10\x01\x12\x19\n\x15SIMULATE_NODE_FAILURE\x10\x02\x12\x19\n\x15SIMULATE_SERVER_LEAVE\x10\x03\x12\x16\n\x12SIMULATE_MIGRATION\x10\x04\x12\x16\n\x12SIMULATE_FORCE_TCP\x10\x05\x12\x16\n\x12SIMULATE_FORCE_TLS\x10\x06\x12\x1b\n\x17SIMULATE_FULL_RECONNECT\x10\x07*P\n\x10IceTransportType\x12\x13\n\x0fTRANSPORT_RELAY\x10\x00\x12\x14\n\x10TRANSPORT_NOHOST\x10\x01\x12\x11\n\rTRANSPORT_ALL\x10\x02*C\n\x18\x43ontinualGatheringPolicy\x12\x0f\n\x0bGATHER_ONCE\x10\x00\x12\x16\n\x12GATHER_CONTINUALLY\x10\x01*`\n\x11\x43onnectionQuality\x12\x10\n\x0cQUALITY_POOR\x10\x00\x12\x10\n\x0cQUALITY_GOOD\x10\x01\x12\x15\n\x11QUALITY_EXCELLENT\x10\x02\x12\x10\n\x0cQUALITY_LOST\x10\x03*S\n\x0f\x43onnectionState\x12\x15\n\x11\x43ONN_DISCONNECTED\x10\x00\x12\x12\n\x0e\x43ONN_CONNECTED\x10\x01\x12\x15\n\x11\x43ONN_RECONNECTING\x10\x02*3\n\x0e\x44\x61taPacketKind\x12\x0e\n\nKIND_LOSSY\x10\x00\x12\x11\n\rKIND_RELIABLE\x10\x01\x42\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nroom.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0chandle.proto\x1a\x11participant.proto\x1a\x0btrack.proto\x1a\x11video_frame.proto\x1a\x0bstats.proto\x1a\x11\x64\x61ta_stream.proto\x1a\x10\x64\x61ta_track.proto\"s\n\x0e\x43onnectRequest\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\r\n\x05token\x18\x02 \x02(\t\x12+\n\x07options\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.RoomOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xbf\x03\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x37\n\x06result\x18\x03 \x01(\x0b\x32%.livekit.proto.ConnectCallback.ResultH\x00\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublication\x1a\xb8\x01\n\x06Result\x12&\n\x04room\x18\x01 \x02(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x03 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracksB\t\n\x07message\"s\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\x12/\n\x06reason\x18\x03 \x01(\x0e\x32\x1f.livekit.proto.DisconnectReason\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x7f\n\x17SimulateScenarioRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x35\n\x08scenario\x18\x02 \x02(\x0e\x32#.livekit.proto.SimulateScenarioKind\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SimulateScenarioResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SimulateScenarioCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9c\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x02(\x04\x12\x33\n\x07options\x18\x03 \x02(\x0b\x32\".livekit.proto.TrackPublishOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12;\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationH\x00\x42\t\n\x07message\"\x81\x01\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x02(\x08\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xd3\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x02(\x04\x12\x10\n\x08reliable\x18\x04 \x02(\x08\x12\x1c\n\x10\x64\x65stination_sids\x18\x05 \x03(\tB\x02\x18\x01\x12\r\n\x05topic\x18\x06 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x07 \x03(\t\x12\x18\n\x10request_async_id\x18\x08 \x01(\x04\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"6\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xc0\x01\n\x1bPublishTranscriptionRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12\x10\n\x08track_id\x18\x03 \x02(\t\x12\x35\n\x08segments\x18\x04 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"0\n\x1cPublishTranscriptionResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"?\n\x1cPublishTranscriptionCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x90\x01\n\x15PublishSipDtmfRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04\x63ode\x18\x02 \x02(\r\x12\r\n\x05\x64igit\x18\x03 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"*\n\x16PublishSipDtmfResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16PublishSipDtmfCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"g\n\x17SetLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08metadata\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SetLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SetLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9e\x01\n\x16SendChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0f\n\x07message\x18\x02 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x01(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xd6\x01\n\x16\x45\x64itChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tedit_text\x18\x02 \x02(\t\x12\x34\n\x10original_message\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x17\n\x0fsender_identity\x18\x05 \x01(\t\x12\x18\n\x10request_async_id\x18\x06 \x01(\x04\"+\n\x17SendChatMessageResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"{\n\x17SendChatMessageCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x32\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.ChatMessageH\x00\x42\t\n\x07message\"\x8b\x01\n\x19SetLocalAttributesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"-\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x02(\t\".\n\x1aSetLocalAttributesResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"=\n\x1aSetLocalAttributesCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"_\n\x13SetLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"(\n\x14SetLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"7\n\x14SetLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x02(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x02(\x04\"\x17\n\x15SetSubscribedResponse\"G\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xf7\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12?\n\x06result\x18\x03 \x01(\x0b\x32-.livekit.proto.GetSessionStatsCallback.ResultH\x00\x1am\n\x06Result\x12\x30\n\x0fpublisher_stats\x18\x01 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x02 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\t\n\x07message\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\x12\x15\n\rmax_framerate\x18\x02 \x02(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\"\xfb\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x0e\n\x06stream\x18\x08 \x01(\t\x12\x19\n\x11preconnect_buffer\x18\t \x01(\x08\x12\x44\n\x17packet_trailer_features\x18\n \x03(\x0e\x32#.livekit.proto.PacketTrailerFeature\"=\n\tIceServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"\xc4\x01\n\tRtcConfig\x12;\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportType\x12K\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicy\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServer\"\xae\x02\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12,\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptionsB\x02\x18\x01\x12,\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfig\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\r\x12.\n\nencryption\x18\x07 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptions\x12\x1e\n\x16single_peer_connection\x18\x08 \x01(\x08\x12\x1a\n\x12\x63onnect_timeout_ms\x18\t \x01(\x04\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x02(\t\x12\x0c\n\x04text\x18\x02 \x02(\t\x12\x12\n\nstart_time\x18\x03 \x02(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x02(\x04\x12\r\n\x05\x66inal\x18\x05 \x02(\x08\x12\x10\n\x08language\x18\x06 \x02(\t\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x02(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x02(\x0b\x32\x19.livekit.proto.BufferInfo\"\xce\x17\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x44\n\x15participant_connected\x18\x02 \x01(\x0b\x32#.livekit.proto.ParticipantConnectedH\x00\x12J\n\x18participant_disconnected\x18\x03 \x01(\x0b\x32&.livekit.proto.ParticipantDisconnectedH\x00\x12\x43\n\x15local_track_published\x18\x04 \x01(\x0b\x32\".livekit.proto.LocalTrackPublishedH\x00\x12G\n\x17local_track_unpublished\x18\x05 \x01(\x0b\x32$.livekit.proto.LocalTrackUnpublishedH\x00\x12\x45\n\x16local_track_subscribed\x18\x06 \x01(\x0b\x32#.livekit.proto.LocalTrackSubscribedH\x00\x12\x38\n\x0ftrack_published\x18\x07 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x08 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\t \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\n \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\x0b \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0c \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\r \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\x0e \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0f \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12\x39\n\x10room_sid_changed\x18\x10 \x01(\x0b\x32\x1d.livekit.proto.RoomSidChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x11 \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x12 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12U\n\x1eparticipant_attributes_changed\x18\x13 \x01(\x0b\x32+.livekit.proto.ParticipantAttributesChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x14 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x15 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x17 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x18 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x19 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x1a \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x12\x41\n\x14\x64\x61ta_packet_received\x18\x1b \x01(\x0b\x32!.livekit.proto.DataPacketReceivedH\x00\x12\x46\n\x16transcription_received\x18\x1c \x01(\x0b\x32$.livekit.proto.TranscriptionReceivedH\x00\x12:\n\x0c\x63hat_message\x18\x1d \x01(\x0b\x32\".livekit.proto.ChatMessageReceivedH\x00\x12I\n\x16stream_header_received\x18\x1e \x01(\x0b\x32\'.livekit.proto.DataStreamHeaderReceivedH\x00\x12G\n\x15stream_chunk_received\x18\x1f \x01(\x0b\x32&.livekit.proto.DataStreamChunkReceivedH\x00\x12K\n\x17stream_trailer_received\x18 \x01(\x0b\x32(.livekit.proto.DataStreamTrailerReceivedH\x00\x12i\n\"data_channel_low_threshold_changed\x18! \x01(\x0b\x32;.livekit.proto.DataChannelBufferedAmountLowThresholdChangedH\x00\x12=\n\x12\x62yte_stream_opened\x18\" \x01(\x0b\x32\x1f.livekit.proto.ByteStreamOpenedH\x00\x12=\n\x12text_stream_opened\x18# \x01(\x0b\x32\x1f.livekit.proto.TextStreamOpenedH\x00\x12/\n\x0croom_updated\x18$ \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12(\n\x05moved\x18% \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12\x42\n\x14participants_updated\x18& \x01(\x0b\x32\".livekit.proto.ParticipantsUpdatedH\x00\x12\x62\n%participant_encryption_status_changed\x18\' \x01(\x0b\x32\x31.livekit.proto.ParticipantEncryptionStatusChangedH\x00\x12U\n\x1eparticipant_permission_changed\x18) \x01(\x0b\x32+.livekit.proto.ParticipantPermissionChangedH\x00\x12\x38\n\x0ftoken_refreshed\x18( \x01(\x0b\x32\x1d.livekit.proto.TokenRefreshedH\x00\x12>\n\x12participant_active\x18* \x01(\x0b\x32 .livekit.proto.ParticipantActiveH\x00\x12\x41\n\x14\x64\x61ta_track_published\x18+ \x01(\x0b\x32!.livekit.proto.DataTrackPublishedH\x00\x12\x45\n\x16\x64\x61ta_track_unpublished\x18, \x01(\x0b\x32#.livekit.proto.DataTrackUnpublishedH\x00\x12G\n\x17local_track_republished\x18- \x01(\x0b\x32$.livekit.proto.LocalTrackRepublishedH\x00\x42\t\n\x07message\"\xc9\x02\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x10\n\x08metadata\x18\x03 \x02(\t\x12.\n&lossy_dc_buffered_amount_low_threshold\x18\x04 \x02(\x04\x12\x31\n)reliable_dc_buffered_amount_low_threshold\x18\x05 \x02(\x04\x12\x15\n\rempty_timeout\x18\x06 \x02(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x07 \x02(\r\x12\x18\n\x10max_participants\x18\x08 \x02(\r\x12\x15\n\rcreation_time\x18\t \x02(\x03\x12\x18\n\x10num_participants\x18\n \x02(\r\x12\x16\n\x0enum_publishers\x18\x0b \x02(\r\x12\x18\n\x10\x61\x63tive_recording\x18\x0c \x02(\x08\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x02(\x0b\x32\x17.livekit.proto.RoomInfo\"K\n\x13ParticipantsUpdated\x12\x34\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x1e.livekit.proto.ParticipantInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"1\n\x11ParticipantActive\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\"s\n\x17ParticipantDisconnected\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12:\n\x11\x64isconnect_reason\x18\x02 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x02(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x02(\t\"|\n\x15LocalTrackRepublished\x12\x1a\n\x12publication_handle\x18\x01 \x02(\x04\x12\x14\n\x0cprevious_sid\x18\x02 \x02(\t\x12\x31\n\x04info\x18\x03 \x02(\x0b\x32#.livekit.proto.TrackPublicationInfo\")\n\x14LocalTrackSubscribed\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"i\n\x0eTrackPublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x39\n\x0bpublication\x18\x02 \x02(\x0b\x32$.livekit.proto.OwnedTrackPublication\"I\n\x10TrackUnpublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x02(\t\"Y\n\x0fTrackSubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12(\n\x05track\x18\x02 \x02(\x0b\x32\x19.livekit.proto.OwnedTrack\"D\n\x11TrackUnsubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"Y\n\x17TrackSubscriptionFailed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\r\n\x05\x65rror\x18\x03 \x02(\t\"=\n\nTrackMuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"?\n\x0cTrackUnmuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"_\n\x10\x45\x32\x65\x65StateChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12-\n\x05state\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.EncryptionState\"7\n\x15\x41\x63tiveSpeakersChanged\x12\x1e\n\x16participant_identities\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x02(\t\"\x1d\n\x0eRoomSidChanged\x12\x0b\n\x03sid\x18\x01 \x02(\t\"L\n\x1aParticipantMetadataChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x10\n\x08metadata\x18\x02 \x02(\t\"\xac\x01\n\x1cParticipantAttributesChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12:\n\x12\x63hanged_attributes\x18\x03 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\"X\n\"ParticipantEncryptionStatusChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x14\n\x0cis_encrypted\x18\x02 \x02(\x08\"D\n\x16ParticipantNameChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\"v\n\x1cParticipantPermissionChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x38\n\npermission\x18\x02 \x01(\x0b\x32$.livekit.proto.ParticipantPermission\"k\n\x18\x43onnectionQualityChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x31\n\x07quality\x18\x02 \x02(\x0e\x32 .livekit.proto.ConnectionQuality\"E\n\nUserPacket\x12(\n\x04\x64\x61ta\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\r\n\x05topic\x18\x02 \x01(\t\"y\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x0f\n\x07message\x18\x03 \x02(\t\x12\x16\n\x0e\x65\x64it_timestamp\x18\x04 \x01(\x03\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\"`\n\x13\x43hatMessageReceived\x12+\n\x07message\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x01 \x02(\r\x12\r\n\x05\x64igit\x18\x02 \x01(\t\"\xbf\x01\n\x12\x44\x61taPacketReceived\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12)\n\x04user\x18\x04 \x01(\x0b\x32\x19.livekit.proto.UserPacketH\x00\x12*\n\x08sip_dtmf\x18\x05 \x01(\x0b\x32\x16.livekit.proto.SipDTMFH\x00\x42\x07\n\x05value\"\x7f\n\x15TranscriptionReceived\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x35\n\x08segments\x18\x03 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"?\n\x0c\x44isconnected\x12/\n\x06reason\x18\x01 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\x1f\n\x0eTokenRefreshed\x12\r\n\x05token\x18\x01 \x02(\t\"\t\n\x07RoomEOS\"\x8e\x07\n\nDataStream\x1a\xaa\x01\n\nTextHeader\x12?\n\x0eoperation_type\x18\x01 \x02(\x0e\x32\'.livekit.proto.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x02(\t\x1a\xeb\x02\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x44\n\nattributes\x18\x06 \x03(\x0b\x32\x30.livekit.proto.DataStream.Header.AttributesEntry\x12;\n\x0btext_header\x18\x07 \x01(\x0b\x32$.livekit.proto.DataStream.TextHeaderH\x00\x12;\n\x0b\x62yte_header\x18\x08 \x01(\x0b\x32$.livekit.proto.DataStream.ByteHeaderH\x00\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_header\x1a]\n\x05\x43hunk\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x13\n\x0b\x63hunk_index\x18\x02 \x02(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x02(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\n\n\x02iv\x18\x05 \x01(\x0c\x1a\xa6\x01\n\x07Trailer\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x0e\n\x06reason\x18\x02 \x02(\t\x12\x45\n\nattributes\x18\x03 \x03(\x0b\x32\x31.livekit.proto.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\"j\n\x18\x44\x61taStreamHeaderReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\"g\n\x17\x44\x61taStreamChunkReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\"m\n\x19\x44\x61taStreamTrailerReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\"\xc0\x01\n\x17SendStreamHeaderRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xbd\x01\n\x16SendStreamChunkRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xc3\x01\n\x18SendStreamTrailerRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\",\n\x18SendStreamHeaderResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"+\n\x17SendStreamChunkResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"-\n\x19SendStreamTrailerResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SendStreamHeaderCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\":\n\x17SendStreamChunkCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"<\n\x19SendStreamTrailerCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x93\x01\n/SetDataChannelBufferedAmountLowThresholdRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tthreshold\x18\x02 \x02(\x04\x12+\n\x04kind\x18\x03 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\"2\n0SetDataChannelBufferedAmountLowThresholdResponse\"n\n,DataChannelBufferedAmountLowThresholdChanged\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x11\n\tthreshold\x18\x02 \x02(\x04\"f\n\x10\x42yteStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedByteStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"f\n\x10TextStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedTextStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"H\n\x12\x44\x61taTrackPublished\x12\x32\n\x05track\x18\x01 \x02(\x0b\x32#.livekit.proto.OwnedRemoteDataTrack\"#\n\x14\x44\x61taTrackUnpublished\x12\x0b\n\x03sid\x18\x01 \x02(\t*\xe6\x01\n\x14SimulateScenarioKind\x12\x1d\n\x19SIMULATE_SIGNAL_RECONNECT\x10\x00\x12\x14\n\x10SIMULATE_SPEAKER\x10\x01\x12\x19\n\x15SIMULATE_NODE_FAILURE\x10\x02\x12\x19\n\x15SIMULATE_SERVER_LEAVE\x10\x03\x12\x16\n\x12SIMULATE_MIGRATION\x10\x04\x12\x16\n\x12SIMULATE_FORCE_TCP\x10\x05\x12\x16\n\x12SIMULATE_FORCE_TLS\x10\x06\x12\x1b\n\x17SIMULATE_FULL_RECONNECT\x10\x07*P\n\x10IceTransportType\x12\x13\n\x0fTRANSPORT_RELAY\x10\x00\x12\x14\n\x10TRANSPORT_NOHOST\x10\x01\x12\x11\n\rTRANSPORT_ALL\x10\x02*C\n\x18\x43ontinualGatheringPolicy\x12\x0f\n\x0bGATHER_ONCE\x10\x00\x12\x16\n\x12GATHER_CONTINUALLY\x10\x01*`\n\x11\x43onnectionQuality\x12\x10\n\x0cQUALITY_POOR\x10\x00\x12\x10\n\x0cQUALITY_GOOD\x10\x01\x12\x15\n\x11QUALITY_EXCELLENT\x10\x02\x12\x10\n\x0cQUALITY_LOST\x10\x03*S\n\x0f\x43onnectionState\x12\x15\n\x11\x43ONN_DISCONNECTED\x10\x00\x12\x12\n\x0e\x43ONN_CONNECTED\x10\x01\x12\x15\n\x11\x43ONN_RECONNECTING\x10\x02*3\n\x0e\x44\x61taPacketKind\x12\x0e\n\nKIND_LOSSY\x10\x00\x12\x11\n\rKIND_RELIABLE\x10\x01\x42\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'room_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_PUBLISHDATAREQUEST'].fields_by_name['destination_sids']._options = None - _globals['_PUBLISHDATAREQUEST'].fields_by_name['destination_sids']._serialized_options = b'\030\001' - _globals['_ROOMOPTIONS'].fields_by_name['e2ee']._options = None - _globals['_ROOMOPTIONS'].fields_by_name['e2ee']._serialized_options = b'\030\001' - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._options = None - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._options = None - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIMULATESCENARIOKIND']._serialized_start=14596 - _globals['_SIMULATESCENARIOKIND']._serialized_end=14826 - _globals['_ICETRANSPORTTYPE']._serialized_start=14828 - _globals['_ICETRANSPORTTYPE']._serialized_end=14908 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=14910 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=14977 - _globals['_CONNECTIONQUALITY']._serialized_start=14979 - _globals['_CONNECTIONQUALITY']._serialized_end=15075 - _globals['_CONNECTIONSTATE']._serialized_start=15077 - _globals['_CONNECTIONSTATE']._serialized_end=15160 - _globals['_DATAPACKETKIND']._serialized_start=15162 - _globals['_DATAPACKETKIND']._serialized_end=15213 + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _PUBLISHDATAREQUEST.fields_by_name['destination_sids']._options = None + _PUBLISHDATAREQUEST.fields_by_name['destination_sids']._serialized_options = b'\030\001' + _ROOMOPTIONS.fields_by_name['e2ee']._options = None + _ROOMOPTIONS.fields_by_name['e2ee']._serialized_options = b'\030\001' + _DATASTREAM_HEADER_ATTRIBUTESENTRY._options = None + _DATASTREAM_HEADER_ATTRIBUTESENTRY._serialized_options = b'8\001' + _DATASTREAM_TRAILER_ATTRIBUTESENTRY._options = None + _DATASTREAM_TRAILER_ATTRIBUTESENTRY._serialized_options = b'8\001' + _globals['_SIMULATESCENARIOKIND']._serialized_start=14795 + _globals['_SIMULATESCENARIOKIND']._serialized_end=15025 + _globals['_ICETRANSPORTTYPE']._serialized_start=15027 + _globals['_ICETRANSPORTTYPE']._serialized_end=15107 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=15109 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=15176 + _globals['_CONNECTIONQUALITY']._serialized_start=15178 + _globals['_CONNECTIONQUALITY']._serialized_end=15274 + _globals['_CONNECTIONSTATE']._serialized_start=15276 + _globals['_CONNECTIONSTATE']._serialized_end=15359 + _globals['_DATAPACKETKIND']._serialized_start=15361 + _globals['_DATAPACKETKIND']._serialized_end=15412 _globals['_CONNECTREQUEST']._serialized_start=156 _globals['_CONNECTREQUEST']._serialized_end=271 _globals['_CONNECTRESPONSE']._serialized_start=273 @@ -161,139 +161,141 @@ _globals['_OWNEDBUFFER']._serialized_start=5571 _globals['_OWNEDBUFFER']._serialized_end=5672 _globals['_ROOMEVENT']._serialized_start=5675 - _globals['_ROOMEVENT']._serialized_end=8624 - _globals['_ROOMINFO']._serialized_start=8627 - _globals['_ROOMINFO']._serialized_end=8956 - _globals['_OWNEDROOM']._serialized_start=8958 - _globals['_OWNEDROOM']._serialized_end=9055 - _globals['_PARTICIPANTSUPDATED']._serialized_start=9057 - _globals['_PARTICIPANTSUPDATED']._serialized_end=9132 - _globals['_PARTICIPANTCONNECTED']._serialized_start=9134 - _globals['_PARTICIPANTCONNECTED']._serialized_end=9203 - _globals['_PARTICIPANTACTIVE']._serialized_start=9205 - _globals['_PARTICIPANTACTIVE']._serialized_end=9254 - _globals['_PARTICIPANTDISCONNECTED']._serialized_start=9256 - _globals['_PARTICIPANTDISCONNECTED']._serialized_end=9371 - _globals['_LOCALTRACKPUBLISHED']._serialized_start=9373 - _globals['_LOCALTRACKPUBLISHED']._serialized_end=9413 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=9415 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=9463 - _globals['_LOCALTRACKSUBSCRIBED']._serialized_start=9465 - _globals['_LOCALTRACKSUBSCRIBED']._serialized_end=9506 - _globals['_TRACKPUBLISHED']._serialized_start=9508 - _globals['_TRACKPUBLISHED']._serialized_end=9613 - _globals['_TRACKUNPUBLISHED']._serialized_start=9615 - _globals['_TRACKUNPUBLISHED']._serialized_end=9688 - _globals['_TRACKSUBSCRIBED']._serialized_start=9690 - _globals['_TRACKSUBSCRIBED']._serialized_end=9779 - _globals['_TRACKUNSUBSCRIBED']._serialized_start=9781 - _globals['_TRACKUNSUBSCRIBED']._serialized_end=9849 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=9851 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=9940 - _globals['_TRACKMUTED']._serialized_start=9942 - _globals['_TRACKMUTED']._serialized_end=10003 - _globals['_TRACKUNMUTED']._serialized_start=10005 - _globals['_TRACKUNMUTED']._serialized_end=10068 - _globals['_E2EESTATECHANGED']._serialized_start=10070 - _globals['_E2EESTATECHANGED']._serialized_end=10165 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=10167 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=10222 - _globals['_ROOMMETADATACHANGED']._serialized_start=10224 - _globals['_ROOMMETADATACHANGED']._serialized_end=10263 - _globals['_ROOMSIDCHANGED']._serialized_start=10265 - _globals['_ROOMSIDCHANGED']._serialized_end=10294 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=10296 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=10372 - _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_start=10375 - _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_end=10547 - _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_start=10549 - _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_end=10637 - _globals['_PARTICIPANTNAMECHANGED']._serialized_start=10639 - _globals['_PARTICIPANTNAMECHANGED']._serialized_end=10707 - _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_start=10709 - _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_end=10827 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=10829 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=10936 - _globals['_USERPACKET']._serialized_start=10938 - _globals['_USERPACKET']._serialized_end=11007 - _globals['_CHATMESSAGE']._serialized_start=11009 - _globals['_CHATMESSAGE']._serialized_end=11130 - _globals['_CHATMESSAGERECEIVED']._serialized_start=11132 - _globals['_CHATMESSAGERECEIVED']._serialized_end=11228 - _globals['_SIPDTMF']._serialized_start=11230 - _globals['_SIPDTMF']._serialized_end=11268 - _globals['_DATAPACKETRECEIVED']._serialized_start=11271 - _globals['_DATAPACKETRECEIVED']._serialized_end=11462 - _globals['_TRANSCRIPTIONRECEIVED']._serialized_start=11464 - _globals['_TRANSCRIPTIONRECEIVED']._serialized_end=11591 - _globals['_CONNECTIONSTATECHANGED']._serialized_start=11593 - _globals['_CONNECTIONSTATECHANGED']._serialized_end=11664 - _globals['_CONNECTED']._serialized_start=11666 - _globals['_CONNECTED']._serialized_end=11677 - _globals['_DISCONNECTED']._serialized_start=11679 - _globals['_DISCONNECTED']._serialized_end=11742 - _globals['_RECONNECTING']._serialized_start=11744 - _globals['_RECONNECTING']._serialized_end=11758 - _globals['_RECONNECTED']._serialized_start=11760 - _globals['_RECONNECTED']._serialized_end=11773 - _globals['_TOKENREFRESHED']._serialized_start=11775 - _globals['_TOKENREFRESHED']._serialized_end=11806 - _globals['_ROOMEOS']._serialized_start=11808 - _globals['_ROOMEOS']._serialized_end=11817 - _globals['_DATASTREAM']._serialized_start=11820 - _globals['_DATASTREAM']._serialized_end=12730 - _globals['_DATASTREAM_TEXTHEADER']._serialized_start=11835 - _globals['_DATASTREAM_TEXTHEADER']._serialized_end=12005 - _globals['_DATASTREAM_BYTEHEADER']._serialized_start=12007 - _globals['_DATASTREAM_BYTEHEADER']._serialized_end=12033 - _globals['_DATASTREAM_HEADER']._serialized_start=12036 - _globals['_DATASTREAM_HEADER']._serialized_end=12399 - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_start=12332 - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_end=12381 - _globals['_DATASTREAM_CHUNK']._serialized_start=12401 - _globals['_DATASTREAM_CHUNK']._serialized_end=12494 - _globals['_DATASTREAM_TRAILER']._serialized_start=12497 - _globals['_DATASTREAM_TRAILER']._serialized_end=12663 - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_start=12332 - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_end=12381 - _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=12665 - _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=12730 - _globals['_DATASTREAMHEADERRECEIVED']._serialized_start=12732 - _globals['_DATASTREAMHEADERRECEIVED']._serialized_end=12838 - _globals['_DATASTREAMCHUNKRECEIVED']._serialized_start=12840 - _globals['_DATASTREAMCHUNKRECEIVED']._serialized_end=12943 - _globals['_DATASTREAMTRAILERRECEIVED']._serialized_start=12945 - _globals['_DATASTREAMTRAILERRECEIVED']._serialized_end=13054 - _globals['_SENDSTREAMHEADERREQUEST']._serialized_start=13057 - _globals['_SENDSTREAMHEADERREQUEST']._serialized_end=13249 - _globals['_SENDSTREAMCHUNKREQUEST']._serialized_start=13252 - _globals['_SENDSTREAMCHUNKREQUEST']._serialized_end=13441 - _globals['_SENDSTREAMTRAILERREQUEST']._serialized_start=13444 - _globals['_SENDSTREAMTRAILERREQUEST']._serialized_end=13639 - _globals['_SENDSTREAMHEADERRESPONSE']._serialized_start=13641 - _globals['_SENDSTREAMHEADERRESPONSE']._serialized_end=13685 - _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_start=13687 - _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_end=13730 - _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_start=13732 - _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_end=13777 - _globals['_SENDSTREAMHEADERCALLBACK']._serialized_start=13779 - _globals['_SENDSTREAMHEADERCALLBACK']._serialized_end=13838 - _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_start=13840 - _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_end=13898 - _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_start=13900 - _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_end=13960 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_start=13963 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_end=14110 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_start=14112 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_end=14162 - _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_start=14164 - _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_end=14274 - _globals['_BYTESTREAMOPENED']._serialized_start=14276 - _globals['_BYTESTREAMOPENED']._serialized_end=14378 - _globals['_TEXTSTREAMOPENED']._serialized_start=14380 - _globals['_TEXTSTREAMOPENED']._serialized_end=14482 - _globals['_DATATRACKPUBLISHED']._serialized_start=14484 - _globals['_DATATRACKPUBLISHED']._serialized_end=14556 - _globals['_DATATRACKUNPUBLISHED']._serialized_start=14558 - _globals['_DATATRACKUNPUBLISHED']._serialized_end=14593 + _globals['_ROOMEVENT']._serialized_end=8697 + _globals['_ROOMINFO']._serialized_start=8700 + _globals['_ROOMINFO']._serialized_end=9029 + _globals['_OWNEDROOM']._serialized_start=9031 + _globals['_OWNEDROOM']._serialized_end=9128 + _globals['_PARTICIPANTSUPDATED']._serialized_start=9130 + _globals['_PARTICIPANTSUPDATED']._serialized_end=9205 + _globals['_PARTICIPANTCONNECTED']._serialized_start=9207 + _globals['_PARTICIPANTCONNECTED']._serialized_end=9276 + _globals['_PARTICIPANTACTIVE']._serialized_start=9278 + _globals['_PARTICIPANTACTIVE']._serialized_end=9327 + _globals['_PARTICIPANTDISCONNECTED']._serialized_start=9329 + _globals['_PARTICIPANTDISCONNECTED']._serialized_end=9444 + _globals['_LOCALTRACKPUBLISHED']._serialized_start=9446 + _globals['_LOCALTRACKPUBLISHED']._serialized_end=9486 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=9488 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=9536 + _globals['_LOCALTRACKREPUBLISHED']._serialized_start=9538 + _globals['_LOCALTRACKREPUBLISHED']._serialized_end=9662 + _globals['_LOCALTRACKSUBSCRIBED']._serialized_start=9664 + _globals['_LOCALTRACKSUBSCRIBED']._serialized_end=9705 + _globals['_TRACKPUBLISHED']._serialized_start=9707 + _globals['_TRACKPUBLISHED']._serialized_end=9812 + _globals['_TRACKUNPUBLISHED']._serialized_start=9814 + _globals['_TRACKUNPUBLISHED']._serialized_end=9887 + _globals['_TRACKSUBSCRIBED']._serialized_start=9889 + _globals['_TRACKSUBSCRIBED']._serialized_end=9978 + _globals['_TRACKUNSUBSCRIBED']._serialized_start=9980 + _globals['_TRACKUNSUBSCRIBED']._serialized_end=10048 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=10050 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=10139 + _globals['_TRACKMUTED']._serialized_start=10141 + _globals['_TRACKMUTED']._serialized_end=10202 + _globals['_TRACKUNMUTED']._serialized_start=10204 + _globals['_TRACKUNMUTED']._serialized_end=10267 + _globals['_E2EESTATECHANGED']._serialized_start=10269 + _globals['_E2EESTATECHANGED']._serialized_end=10364 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=10366 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=10421 + _globals['_ROOMMETADATACHANGED']._serialized_start=10423 + _globals['_ROOMMETADATACHANGED']._serialized_end=10462 + _globals['_ROOMSIDCHANGED']._serialized_start=10464 + _globals['_ROOMSIDCHANGED']._serialized_end=10493 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=10495 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=10571 + _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_start=10574 + _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_end=10746 + _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_start=10748 + _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_end=10836 + _globals['_PARTICIPANTNAMECHANGED']._serialized_start=10838 + _globals['_PARTICIPANTNAMECHANGED']._serialized_end=10906 + _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_start=10908 + _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_end=11026 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=11028 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=11135 + _globals['_USERPACKET']._serialized_start=11137 + _globals['_USERPACKET']._serialized_end=11206 + _globals['_CHATMESSAGE']._serialized_start=11208 + _globals['_CHATMESSAGE']._serialized_end=11329 + _globals['_CHATMESSAGERECEIVED']._serialized_start=11331 + _globals['_CHATMESSAGERECEIVED']._serialized_end=11427 + _globals['_SIPDTMF']._serialized_start=11429 + _globals['_SIPDTMF']._serialized_end=11467 + _globals['_DATAPACKETRECEIVED']._serialized_start=11470 + _globals['_DATAPACKETRECEIVED']._serialized_end=11661 + _globals['_TRANSCRIPTIONRECEIVED']._serialized_start=11663 + _globals['_TRANSCRIPTIONRECEIVED']._serialized_end=11790 + _globals['_CONNECTIONSTATECHANGED']._serialized_start=11792 + _globals['_CONNECTIONSTATECHANGED']._serialized_end=11863 + _globals['_CONNECTED']._serialized_start=11865 + _globals['_CONNECTED']._serialized_end=11876 + _globals['_DISCONNECTED']._serialized_start=11878 + _globals['_DISCONNECTED']._serialized_end=11941 + _globals['_RECONNECTING']._serialized_start=11943 + _globals['_RECONNECTING']._serialized_end=11957 + _globals['_RECONNECTED']._serialized_start=11959 + _globals['_RECONNECTED']._serialized_end=11972 + _globals['_TOKENREFRESHED']._serialized_start=11974 + _globals['_TOKENREFRESHED']._serialized_end=12005 + _globals['_ROOMEOS']._serialized_start=12007 + _globals['_ROOMEOS']._serialized_end=12016 + _globals['_DATASTREAM']._serialized_start=12019 + _globals['_DATASTREAM']._serialized_end=12929 + _globals['_DATASTREAM_TEXTHEADER']._serialized_start=12034 + _globals['_DATASTREAM_TEXTHEADER']._serialized_end=12204 + _globals['_DATASTREAM_BYTEHEADER']._serialized_start=12206 + _globals['_DATASTREAM_BYTEHEADER']._serialized_end=12232 + _globals['_DATASTREAM_HEADER']._serialized_start=12235 + _globals['_DATASTREAM_HEADER']._serialized_end=12598 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_start=12531 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_end=12580 + _globals['_DATASTREAM_CHUNK']._serialized_start=12600 + _globals['_DATASTREAM_CHUNK']._serialized_end=12693 + _globals['_DATASTREAM_TRAILER']._serialized_start=12696 + _globals['_DATASTREAM_TRAILER']._serialized_end=12862 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_start=12531 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_end=12580 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=12864 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=12929 + _globals['_DATASTREAMHEADERRECEIVED']._serialized_start=12931 + _globals['_DATASTREAMHEADERRECEIVED']._serialized_end=13037 + _globals['_DATASTREAMCHUNKRECEIVED']._serialized_start=13039 + _globals['_DATASTREAMCHUNKRECEIVED']._serialized_end=13142 + _globals['_DATASTREAMTRAILERRECEIVED']._serialized_start=13144 + _globals['_DATASTREAMTRAILERRECEIVED']._serialized_end=13253 + _globals['_SENDSTREAMHEADERREQUEST']._serialized_start=13256 + _globals['_SENDSTREAMHEADERREQUEST']._serialized_end=13448 + _globals['_SENDSTREAMCHUNKREQUEST']._serialized_start=13451 + _globals['_SENDSTREAMCHUNKREQUEST']._serialized_end=13640 + _globals['_SENDSTREAMTRAILERREQUEST']._serialized_start=13643 + _globals['_SENDSTREAMTRAILERREQUEST']._serialized_end=13838 + _globals['_SENDSTREAMHEADERRESPONSE']._serialized_start=13840 + _globals['_SENDSTREAMHEADERRESPONSE']._serialized_end=13884 + _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_start=13886 + _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_end=13929 + _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_start=13931 + _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_end=13976 + _globals['_SENDSTREAMHEADERCALLBACK']._serialized_start=13978 + _globals['_SENDSTREAMHEADERCALLBACK']._serialized_end=14037 + _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_start=14039 + _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_end=14097 + _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_start=14099 + _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_end=14159 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_start=14162 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_end=14309 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_start=14311 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_end=14361 + _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_start=14363 + _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_end=14473 + _globals['_BYTESTREAMOPENED']._serialized_start=14475 + _globals['_BYTESTREAMOPENED']._serialized_end=14577 + _globals['_TEXTSTREAMOPENED']._serialized_start=14579 + _globals['_TEXTSTREAMOPENED']._serialized_end=14681 + _globals['_DATATRACKPUBLISHED']._serialized_start=14683 + _globals['_DATATRACKPUBLISHED']._serialized_end=14755 + _globals['_DATATRACKUNPUBLISHED']._serialized_start=14757 + _globals['_DATATRACKUNPUBLISHED']._serialized_end=14792 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi index f7f36c7d..3257c75b 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi @@ -16,36 +16,41 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -from . import data_stream_pb2 -from . import data_track_pb2 -from . import e2ee_pb2 -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import handle_pb2 -from . import participant_pb2 -from . import stats_pb2 +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins +from . import data_stream_pb2 as _data_stream_pb2 +from . import data_track_pb2 as _data_track_pb2 +from . import e2ee_pb2 as _e2ee_pb2 +from . import handle_pb2 as _handle_pb2 +from . import participant_pb2 as _participant_pb2 +from . import stats_pb2 as _stats_pb2 import sys -from . import track_pb2 -import typing -from . import video_frame_pb2 +from . import track_pb2 as _track_pb2 +import typing as _typing +from . import video_frame_pb2 as _video_frame_pb2 if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +if sys.version_info >= (3, 13): + from warnings import deprecated as _deprecated +else: + from typing_extensions import deprecated as _deprecated + +DESCRIPTOR: _descriptor.FileDescriptor class _SimulateScenarioKind: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _SimulateScenarioKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SimulateScenarioKind.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _SimulateScenarioKindEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_SimulateScenarioKind.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor SIMULATE_SIGNAL_RECONNECT: _SimulateScenarioKind.ValueType # 0 """Closes the signal channel locally; engine attempts a Resume.""" SIMULATE_SPEAKER: _SimulateScenarioKind.ValueType # 1 @@ -78,14 +83,14 @@ SIMULATE_FULL_RECONNECT: SimulateScenarioKind.ValueType # 7 """Asks the server to send `LeaveRequest{Reconnect}`, forcing a full reconnect (new RtcSession; SDK republishes existing local tracks). """ -global___SimulateScenarioKind = SimulateScenarioKind +Global___SimulateScenarioKind: _TypeAlias = SimulateScenarioKind # noqa: Y015 class _IceTransportType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _IceTransportTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IceTransportType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _IceTransportTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_IceTransportType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor TRANSPORT_RELAY: _IceTransportType.ValueType # 0 TRANSPORT_NOHOST: _IceTransportType.ValueType # 1 TRANSPORT_ALL: _IceTransportType.ValueType # 2 @@ -95,14 +100,14 @@ class IceTransportType(_IceTransportType, metaclass=_IceTransportTypeEnumTypeWra TRANSPORT_RELAY: IceTransportType.ValueType # 0 TRANSPORT_NOHOST: IceTransportType.ValueType # 1 TRANSPORT_ALL: IceTransportType.ValueType # 2 -global___IceTransportType = IceTransportType +Global___IceTransportType: _TypeAlias = IceTransportType # noqa: Y015 class _ContinualGatheringPolicy: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _ContinualGatheringPolicyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ContinualGatheringPolicy.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _ContinualGatheringPolicyEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ContinualGatheringPolicy.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor GATHER_ONCE: _ContinualGatheringPolicy.ValueType # 0 GATHER_CONTINUALLY: _ContinualGatheringPolicy.ValueType # 1 @@ -110,14 +115,14 @@ class ContinualGatheringPolicy(_ContinualGatheringPolicy, metaclass=_ContinualGa GATHER_ONCE: ContinualGatheringPolicy.ValueType # 0 GATHER_CONTINUALLY: ContinualGatheringPolicy.ValueType # 1 -global___ContinualGatheringPolicy = ContinualGatheringPolicy +Global___ContinualGatheringPolicy: _TypeAlias = ContinualGatheringPolicy # noqa: Y015 class _ConnectionQuality: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _ConnectionQualityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ConnectionQuality.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _ConnectionQualityEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ConnectionQuality.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor QUALITY_POOR: _ConnectionQuality.ValueType # 0 QUALITY_GOOD: _ConnectionQuality.ValueType # 1 QUALITY_EXCELLENT: _ConnectionQuality.ValueType # 2 @@ -132,14 +137,14 @@ QUALITY_POOR: ConnectionQuality.ValueType # 0 QUALITY_GOOD: ConnectionQuality.ValueType # 1 QUALITY_EXCELLENT: ConnectionQuality.ValueType # 2 QUALITY_LOST: ConnectionQuality.ValueType # 3 -global___ConnectionQuality = ConnectionQuality +Global___ConnectionQuality: _TypeAlias = ConnectionQuality # noqa: Y015 class _ConnectionState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _ConnectionStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ConnectionState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _ConnectionStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ConnectionState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor CONN_DISCONNECTED: _ConnectionState.ValueType # 0 CONN_CONNECTED: _ConnectionState.ValueType # 1 CONN_RECONNECTING: _ConnectionState.ValueType # 2 @@ -149,14 +154,14 @@ class ConnectionState(_ConnectionState, metaclass=_ConnectionStateEnumTypeWrappe CONN_DISCONNECTED: ConnectionState.ValueType # 0 CONN_CONNECTED: ConnectionState.ValueType # 1 CONN_RECONNECTING: ConnectionState.ValueType # 2 -global___ConnectionState = ConnectionState +Global___ConnectionState: _TypeAlias = ConnectionState # noqa: Y015 class _DataPacketKind: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _DataPacketKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataPacketKind.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _DataPacketKindEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_DataPacketKind.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor KIND_LOSSY: _DataPacketKind.ValueType # 0 KIND_RELIABLE: _DataPacketKind.ValueType # 1 @@ -164,66 +169,70 @@ class DataPacketKind(_DataPacketKind, metaclass=_DataPacketKindEnumTypeWrapper): KIND_LOSSY: DataPacketKind.ValueType # 0 KIND_RELIABLE: DataPacketKind.ValueType # 1 -global___DataPacketKind = DataPacketKind +Global___DataPacketKind: _TypeAlias = DataPacketKind # noqa: Y015 -@typing.final -class ConnectRequest(google.protobuf.message.Message): +@_typing.final +class ConnectRequest(_message.Message): """Connect to a new LiveKit room""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - URL_FIELD_NUMBER: builtins.int - TOKEN_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - url: builtins.str - token: builtins.str - request_async_id: builtins.int - @property - def options(self) -> global___RoomOptions: ... + URL_FIELD_NUMBER: _builtins.int + TOKEN_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + url: _builtins.str + token: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___RoomOptions: ... def __init__( self, *, - url: builtins.str | None = ..., - token: builtins.str | None = ..., - options: global___RoomOptions | None = ..., - request_async_id: builtins.int | None = ..., + url: _builtins.str | None = ..., + token: _builtins.str | None = ..., + options: Global___RoomOptions | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["options", b"options", "request_async_id", b"request_async_id", "token", b"token", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["options", b"options", "request_async_id", b"request_async_id", "token", b"token", "url", b"url"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["options", b"options", "request_async_id", b"request_async_id", "token", b"token", "url", b"url"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["options", b"options", "request_async_id", b"request_async_id", "token", b"token", "url", b"url"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ConnectRequest = ConnectRequest +Global___ConnectRequest: _TypeAlias = ConnectRequest # noqa: Y015 -@typing.final -class ConnectResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ConnectResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ConnectResponse = ConnectResponse +Global___ConnectResponse: _TypeAlias = ConnectResponse # noqa: Y015 -@typing.final -class ConnectCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ConnectCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class ParticipantWithTracks(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class ParticipantWithTracks(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_FIELD_NUMBER: builtins.int - PUBLICATIONS_FIELD_NUMBER: builtins.int - @property - def participant(self) -> participant_pb2.OwnedParticipant: ... - @property - def publications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[track_pb2.OwnedTrackPublication]: + PARTICIPANT_FIELD_NUMBER: _builtins.int + PUBLICATIONS_FIELD_NUMBER: _builtins.int + @_builtins.property + def participant(self) -> _participant_pb2.OwnedParticipant: ... + @_builtins.property + def publications(self) -> _containers.RepeatedCompositeFieldContainer[_track_pb2.OwnedTrackPublication]: """TrackInfo are not needed here, if we're subscribed to a track, the FfiServer will send a TrackSubscribed event """ @@ -231,2129 +240,2354 @@ class ConnectCallback(google.protobuf.message.Message): def __init__( self, *, - participant: participant_pb2.OwnedParticipant | None = ..., - publications: collections.abc.Iterable[track_pb2.OwnedTrackPublication] | None = ..., + participant: _participant_pb2.OwnedParticipant | None = ..., + publications: _abc.Iterable[_track_pb2.OwnedTrackPublication] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant", b"participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant", b"participant", "publications", b"publications"]) -> None: ... - - @typing.final - class Result(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ROOM_FIELD_NUMBER: builtins.int - LOCAL_PARTICIPANT_FIELD_NUMBER: builtins.int - PARTICIPANTS_FIELD_NUMBER: builtins.int - @property - def room(self) -> global___OwnedRoom: ... - @property - def local_participant(self) -> participant_pb2.OwnedParticipant: ... - @property - def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConnectCallback.ParticipantWithTracks]: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant", b"participant"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant", b"participant", "publications", b"publications"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class Result(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ROOM_FIELD_NUMBER: _builtins.int + LOCAL_PARTICIPANT_FIELD_NUMBER: _builtins.int + PARTICIPANTS_FIELD_NUMBER: _builtins.int + @_builtins.property + def room(self) -> Global___OwnedRoom: ... + @_builtins.property + def local_participant(self) -> _participant_pb2.OwnedParticipant: ... + @_builtins.property + def participants(self) -> _containers.RepeatedCompositeFieldContainer[Global___ConnectCallback.ParticipantWithTracks]: ... def __init__( self, *, - room: global___OwnedRoom | None = ..., - local_participant: participant_pb2.OwnedParticipant | None = ..., - participants: collections.abc.Iterable[global___ConnectCallback.ParticipantWithTracks] | None = ..., + room: Global___OwnedRoom | None = ..., + local_participant: _participant_pb2.OwnedParticipant | None = ..., + participants: _abc.Iterable[Global___ConnectCallback.ParticipantWithTracks] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant", b"local_participant", "room", b"room"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant", b"local_participant", "participants", b"participants", "room", b"room"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant", b"local_participant", "room", b"room"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant", b"local_participant", "participants", b"participants", "room", b"room"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - RESULT_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str - @property - def result(self) -> global___ConnectCallback.Result: ... + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + RESULT_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str + @_builtins.property + def result(self) -> Global___ConnectCallback.Result: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., - result: global___ConnectCallback.Result | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., + result: Global___ConnectCallback.Result | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "result"] | None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["error", "result"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... -global___ConnectCallback = ConnectCallback +Global___ConnectCallback: _TypeAlias = ConnectCallback # noqa: Y015 -@typing.final -class DisconnectRequest(google.protobuf.message.Message): +@_typing.final +class DisconnectRequest(_message.Message): """Disconnect from the a room""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ROOM_HANDLE_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - REASON_FIELD_NUMBER: builtins.int - room_handle: builtins.int - request_async_id: builtins.int - reason: participant_pb2.DisconnectReason.ValueType + ROOM_HANDLE_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + REASON_FIELD_NUMBER: _builtins.int + room_handle: _builtins.int + request_async_id: _builtins.int + reason: _participant_pb2.DisconnectReason.ValueType def __init__( self, *, - room_handle: builtins.int | None = ..., - request_async_id: builtins.int | None = ..., - reason: participant_pb2.DisconnectReason.ValueType | None = ..., + room_handle: _builtins.int | None = ..., + request_async_id: _builtins.int | None = ..., + reason: _participant_pb2.DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "room_handle", b"room_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "room_handle", b"room_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "room_handle", b"room_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "room_handle", b"room_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DisconnectRequest = DisconnectRequest +Global___DisconnectRequest: _TypeAlias = DisconnectRequest # noqa: Y015 -@typing.final -class DisconnectResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DisconnectResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DisconnectResponse = DisconnectResponse +Global___DisconnectResponse: _TypeAlias = DisconnectResponse # noqa: Y015 -@typing.final -class DisconnectCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DisconnectCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DisconnectCallback = DisconnectCallback +Global___DisconnectCallback: _TypeAlias = DisconnectCallback # noqa: Y015 -@typing.final -class SimulateScenarioRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SimulateScenarioRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ROOM_HANDLE_FIELD_NUMBER: builtins.int - SCENARIO_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - room_handle: builtins.int - scenario: global___SimulateScenarioKind.ValueType - request_async_id: builtins.int + ROOM_HANDLE_FIELD_NUMBER: _builtins.int + SCENARIO_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + room_handle: _builtins.int + scenario: Global___SimulateScenarioKind.ValueType + request_async_id: _builtins.int def __init__( self, *, - room_handle: builtins.int | None = ..., - scenario: global___SimulateScenarioKind.ValueType | None = ..., - request_async_id: builtins.int | None = ..., + room_handle: _builtins.int | None = ..., + scenario: Global___SimulateScenarioKind.ValueType | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle", "scenario", b"scenario"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle", "scenario", b"scenario"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle", "scenario", b"scenario"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle", "scenario", b"scenario"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SimulateScenarioRequest = SimulateScenarioRequest +Global___SimulateScenarioRequest: _TypeAlias = SimulateScenarioRequest # noqa: Y015 -@typing.final -class SimulateScenarioResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SimulateScenarioResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SimulateScenarioResponse = SimulateScenarioResponse +Global___SimulateScenarioResponse: _TypeAlias = SimulateScenarioResponse # noqa: Y015 -@typing.final -class SimulateScenarioCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SimulateScenarioCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SimulateScenarioCallback = SimulateScenarioCallback +Global___SimulateScenarioCallback: _TypeAlias = SimulateScenarioCallback # noqa: Y015 -@typing.final -class PublishTrackRequest(google.protobuf.message.Message): +@_typing.final +class PublishTrackRequest(_message.Message): """Publish a track to the room""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - TRACK_HANDLE_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - track_handle: builtins.int - request_async_id: builtins.int - @property - def options(self) -> global___TrackPublishOptions: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + OPTIONS_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + track_handle: _builtins.int + request_async_id: _builtins.int + @_builtins.property + def options(self) -> Global___TrackPublishOptions: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - track_handle: builtins.int | None = ..., - options: global___TrackPublishOptions | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + track_handle: _builtins.int | None = ..., + options: Global___TrackPublishOptions | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "request_async_id", b"request_async_id", "track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishTrackRequest = PublishTrackRequest +Global___PublishTrackRequest: _TypeAlias = PublishTrackRequest # noqa: Y015 -@typing.final -class PublishTrackResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishTrackResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishTrackResponse = PublishTrackResponse +Global___PublishTrackResponse: _TypeAlias = PublishTrackResponse # noqa: Y015 -@typing.final -class PublishTrackCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishTrackCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - PUBLICATION_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str - @property - def publication(self) -> track_pb2.OwnedTrackPublication: ... + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + PUBLICATION_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str + @_builtins.property + def publication(self) -> _track_pb2.OwnedTrackPublication: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., - publication: track_pb2.OwnedTrackPublication | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., + publication: _track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "publication"] | None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["error", "publication"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... -global___PublishTrackCallback = PublishTrackCallback +Global___PublishTrackCallback: _TypeAlias = PublishTrackCallback # noqa: Y015 -@typing.final -class UnpublishTrackRequest(google.protobuf.message.Message): +@_typing.final +class UnpublishTrackRequest(_message.Message): """Unpublish a track from the room""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - STOP_ON_UNPUBLISH_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - track_sid: builtins.str - stop_on_unpublish: builtins.bool - request_async_id: builtins.int + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + STOP_ON_UNPUBLISH_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + track_sid: _builtins.str + stop_on_unpublish: _builtins.bool + request_async_id: _builtins.int def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - track_sid: builtins.str | None = ..., - stop_on_unpublish: builtins.bool | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + track_sid: _builtins.str | None = ..., + stop_on_unpublish: _builtins.bool | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___UnpublishTrackRequest = UnpublishTrackRequest +Global___UnpublishTrackRequest: _TypeAlias = UnpublishTrackRequest # noqa: Y015 -@typing.final -class UnpublishTrackResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class UnpublishTrackResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___UnpublishTrackResponse = UnpublishTrackResponse +Global___UnpublishTrackResponse: _TypeAlias = UnpublishTrackResponse # noqa: Y015 -@typing.final -class UnpublishTrackCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class UnpublishTrackCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___UnpublishTrackCallback = UnpublishTrackCallback +Global___UnpublishTrackCallback: _TypeAlias = UnpublishTrackCallback # noqa: Y015 -@typing.final -class PublishDataRequest(google.protobuf.message.Message): +@_typing.final +class PublishDataRequest(_message.Message): """Publish data to other participants""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - DATA_PTR_FIELD_NUMBER: builtins.int - DATA_LEN_FIELD_NUMBER: builtins.int - RELIABLE_FIELD_NUMBER: builtins.int - DESTINATION_SIDS_FIELD_NUMBER: builtins.int - TOPIC_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - data_ptr: builtins.int - data_len: builtins.int - reliable: builtins.bool - topic: builtins.str - request_async_id: builtins.int - @property - def destination_sids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + DATA_PTR_FIELD_NUMBER: _builtins.int + DATA_LEN_FIELD_NUMBER: _builtins.int + RELIABLE_FIELD_NUMBER: _builtins.int + DESTINATION_SIDS_FIELD_NUMBER: _builtins.int + TOPIC_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + data_ptr: _builtins.int + data_len: _builtins.int + reliable: _builtins.bool + topic: _builtins.str + request_async_id: _builtins.int + @_builtins.property + @_deprecated("""This field has been marked as deprecated using proto field options.""") + def destination_sids(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - data_ptr: builtins.int | None = ..., - data_len: builtins.int | None = ..., - reliable: builtins.bool | None = ..., - destination_sids: collections.abc.Iterable[builtins.str] | None = ..., - topic: builtins.str | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + data_ptr: _builtins.int | None = ..., + data_len: _builtins.int | None = ..., + reliable: _builtins.bool | None = ..., + destination_sids: _abc.Iterable[_builtins.str] | None = ..., + topic: _builtins.str | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "request_async_id", b"request_async_id", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "destination_identities", b"destination_identities", "destination_sids", b"destination_sids", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "request_async_id", b"request_async_id", "topic", b"topic"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "request_async_id", b"request_async_id", "topic", b"topic"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "destination_identities", b"destination_identities", "destination_sids", b"destination_sids", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "request_async_id", b"request_async_id", "topic", b"topic"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishDataRequest = PublishDataRequest +Global___PublishDataRequest: _TypeAlias = PublishDataRequest # noqa: Y015 -@typing.final -class PublishDataResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishDataResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishDataResponse = PublishDataResponse +Global___PublishDataResponse: _TypeAlias = PublishDataResponse # noqa: Y015 -@typing.final -class PublishDataCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishDataCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishDataCallback = PublishDataCallback +Global___PublishDataCallback: _TypeAlias = PublishDataCallback # noqa: Y015 -@typing.final -class PublishTranscriptionRequest(google.protobuf.message.Message): +@_typing.final +class PublishTranscriptionRequest(_message.Message): """Publish transcription messages to room""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_ID_FIELD_NUMBER: builtins.int - SEGMENTS_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - participant_identity: builtins.str - track_id: builtins.str - request_async_id: builtins.int - @property - def segments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TranscriptionSegment]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_ID_FIELD_NUMBER: _builtins.int + SEGMENTS_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + participant_identity: _builtins.str + track_id: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def segments(self) -> _containers.RepeatedCompositeFieldContainer[Global___TranscriptionSegment]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - participant_identity: builtins.str | None = ..., - track_id: builtins.str | None = ..., - segments: collections.abc.Iterable[global___TranscriptionSegment] | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + participant_identity: _builtins.str | None = ..., + track_id: _builtins.str | None = ..., + segments: _abc.Iterable[Global___TranscriptionSegment] | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "request_async_id", b"request_async_id", "track_id", b"track_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "request_async_id", b"request_async_id", "segments", b"segments", "track_id", b"track_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "request_async_id", b"request_async_id", "track_id", b"track_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "request_async_id", b"request_async_id", "segments", b"segments", "track_id", b"track_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishTranscriptionRequest = PublishTranscriptionRequest +Global___PublishTranscriptionRequest: _TypeAlias = PublishTranscriptionRequest # noqa: Y015 -@typing.final -class PublishTranscriptionResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishTranscriptionResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishTranscriptionResponse = PublishTranscriptionResponse +Global___PublishTranscriptionResponse: _TypeAlias = PublishTranscriptionResponse # noqa: Y015 -@typing.final -class PublishTranscriptionCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishTranscriptionCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishTranscriptionCallback = PublishTranscriptionCallback +Global___PublishTranscriptionCallback: _TypeAlias = PublishTranscriptionCallback # noqa: Y015 -@typing.final -class PublishSipDtmfRequest(google.protobuf.message.Message): +@_typing.final +class PublishSipDtmfRequest(_message.Message): """Publish Sip DTMF messages to other participants""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - CODE_FIELD_NUMBER: builtins.int - DIGIT_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - code: builtins.int - digit: builtins.str - request_async_id: builtins.int - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + CODE_FIELD_NUMBER: _builtins.int + DIGIT_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + code: _builtins.int + digit: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - code: builtins.int | None = ..., - digit: builtins.str | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + code: _builtins.int | None = ..., + digit: _builtins.str | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "digit", b"digit", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "destination_identities", b"destination_identities", "digit", b"digit", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "digit", b"digit", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "destination_identities", b"destination_identities", "digit", b"digit", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishSipDtmfRequest = PublishSipDtmfRequest +Global___PublishSipDtmfRequest: _TypeAlias = PublishSipDtmfRequest # noqa: Y015 -@typing.final -class PublishSipDtmfResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishSipDtmfResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishSipDtmfResponse = PublishSipDtmfResponse +Global___PublishSipDtmfResponse: _TypeAlias = PublishSipDtmfResponse # noqa: Y015 -@typing.final -class PublishSipDtmfCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PublishSipDtmfCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PublishSipDtmfCallback = PublishSipDtmfCallback +Global___PublishSipDtmfCallback: _TypeAlias = PublishSipDtmfCallback # noqa: Y015 -@typing.final -class SetLocalMetadataRequest(google.protobuf.message.Message): +@_typing.final +class SetLocalMetadataRequest(_message.Message): """Change the local participant's metadata""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - METADATA_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - metadata: builtins.str - request_async_id: builtins.int + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + METADATA_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + metadata: _builtins.str + request_async_id: _builtins.int def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - metadata: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + metadata: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalMetadataRequest = SetLocalMetadataRequest +Global___SetLocalMetadataRequest: _TypeAlias = SetLocalMetadataRequest # noqa: Y015 -@typing.final -class SetLocalMetadataResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetLocalMetadataResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalMetadataResponse = SetLocalMetadataResponse +Global___SetLocalMetadataResponse: _TypeAlias = SetLocalMetadataResponse # noqa: Y015 -@typing.final -class SetLocalMetadataCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetLocalMetadataCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalMetadataCallback = SetLocalMetadataCallback +Global___SetLocalMetadataCallback: _TypeAlias = SetLocalMetadataCallback # noqa: Y015 -@typing.final -class SendChatMessageRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendChatMessageRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - SENDER_IDENTITY_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - message: builtins.str - sender_identity: builtins.str - request_async_id: builtins.int - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + SENDER_IDENTITY_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + message: _builtins.str + sender_identity: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - message: builtins.str | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - sender_identity: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + message: _builtins.str | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + sender_identity: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "message", b"message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "message", b"message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "message", b"message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "message", b"message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendChatMessageRequest = SendChatMessageRequest +Global___SendChatMessageRequest: _TypeAlias = SendChatMessageRequest # noqa: Y015 -@typing.final -class EditChatMessageRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class EditChatMessageRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - EDIT_TEXT_FIELD_NUMBER: builtins.int - ORIGINAL_MESSAGE_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - SENDER_IDENTITY_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - edit_text: builtins.str - sender_identity: builtins.str - request_async_id: builtins.int - @property - def original_message(self) -> global___ChatMessage: ... - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + EDIT_TEXT_FIELD_NUMBER: _builtins.int + ORIGINAL_MESSAGE_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + SENDER_IDENTITY_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + edit_text: _builtins.str + sender_identity: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def original_message(self) -> Global___ChatMessage: ... + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - edit_text: builtins.str | None = ..., - original_message: global___ChatMessage | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - sender_identity: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + edit_text: _builtins.str | None = ..., + original_message: Global___ChatMessage | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + sender_identity: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["destination_identities", b"destination_identities", "edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___EditChatMessageRequest = EditChatMessageRequest +Global___EditChatMessageRequest: _TypeAlias = EditChatMessageRequest # noqa: Y015 -@typing.final -class SendChatMessageResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendChatMessageResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendChatMessageResponse = SendChatMessageResponse +Global___SendChatMessageResponse: _TypeAlias = SendChatMessageResponse # noqa: Y015 -@typing.final -class SendChatMessageCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendChatMessageCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - CHAT_MESSAGE_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str - @property - def chat_message(self) -> global___ChatMessage: ... + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + CHAT_MESSAGE_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str + @_builtins.property + def chat_message(self) -> Global___ChatMessage: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., - chat_message: global___ChatMessage | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., + chat_message: Global___ChatMessage | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "chat_message"] | None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["error", "chat_message"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... -global___SendChatMessageCallback = SendChatMessageCallback +Global___SendChatMessageCallback: _TypeAlias = SendChatMessageCallback # noqa: Y015 -@typing.final -class SetLocalAttributesRequest(google.protobuf.message.Message): +@_typing.final +class SetLocalAttributesRequest(_message.Message): """Change the local participant's attributes""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - request_async_id: builtins.int - @property - def attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AttributesEntry]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + request_async_id: _builtins.int + @_builtins.property + def attributes(self) -> _containers.RepeatedCompositeFieldContainer[Global___AttributesEntry]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + attributes: _abc.Iterable[Global___AttributesEntry] | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attributes", b"attributes", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalAttributesRequest = SetLocalAttributesRequest +Global___SetLocalAttributesRequest: _TypeAlias = SetLocalAttributesRequest # noqa: Y015 -@typing.final -class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___AttributesEntry = AttributesEntry +Global___AttributesEntry: _TypeAlias = AttributesEntry # noqa: Y015 -@typing.final -class SetLocalAttributesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetLocalAttributesResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalAttributesResponse = SetLocalAttributesResponse +Global___SetLocalAttributesResponse: _TypeAlias = SetLocalAttributesResponse # noqa: Y015 -@typing.final -class SetLocalAttributesCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetLocalAttributesCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalAttributesCallback = SetLocalAttributesCallback +Global___SetLocalAttributesCallback: _TypeAlias = SetLocalAttributesCallback # noqa: Y015 -@typing.final -class SetLocalNameRequest(google.protobuf.message.Message): +@_typing.final +class SetLocalNameRequest(_message.Message): """Change the local participant's name""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - name: builtins.str - request_async_id: builtins.int + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + name: _builtins.str + request_async_id: _builtins.int def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - name: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + name: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name", "request_async_id", b"request_async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name", "request_async_id", b"request_async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name", "request_async_id", b"request_async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name", "request_async_id", b"request_async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalNameRequest = SetLocalNameRequest +Global___SetLocalNameRequest: _TypeAlias = SetLocalNameRequest # noqa: Y015 -@typing.final -class SetLocalNameResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetLocalNameResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalNameResponse = SetLocalNameResponse +Global___SetLocalNameResponse: _TypeAlias = SetLocalNameResponse # noqa: Y015 -@typing.final -class SetLocalNameCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetLocalNameCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetLocalNameCallback = SetLocalNameCallback +Global___SetLocalNameCallback: _TypeAlias = SetLocalNameCallback # noqa: Y015 -@typing.final -class SetSubscribedRequest(google.protobuf.message.Message): +@_typing.final +class SetSubscribedRequest(_message.Message): """Change the "desire" to subs2ribe to a track""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - SUBSCRIBE_FIELD_NUMBER: builtins.int - PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int - subscribe: builtins.bool - publication_handle: builtins.int + SUBSCRIBE_FIELD_NUMBER: _builtins.int + PUBLICATION_HANDLE_FIELD_NUMBER: _builtins.int + subscribe: _builtins.bool + publication_handle: _builtins.int def __init__( self, *, - subscribe: builtins.bool | None = ..., - publication_handle: builtins.int | None = ..., + subscribe: _builtins.bool | None = ..., + publication_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetSubscribedRequest = SetSubscribedRequest +Global___SetSubscribedRequest: _TypeAlias = SetSubscribedRequest # noqa: Y015 -@typing.final -class SetSubscribedResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetSubscribedResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___SetSubscribedResponse = SetSubscribedResponse +Global___SetSubscribedResponse: _TypeAlias = SetSubscribedResponse # noqa: Y015 -@typing.final -class GetSessionStatsRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetSessionStatsRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ROOM_HANDLE_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - room_handle: builtins.int - request_async_id: builtins.int + ROOM_HANDLE_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + room_handle: _builtins.int + request_async_id: _builtins.int def __init__( self, *, - room_handle: builtins.int | None = ..., - request_async_id: builtins.int | None = ..., + room_handle: _builtins.int | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "room_handle", b"room_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___GetSessionStatsRequest = GetSessionStatsRequest +Global___GetSessionStatsRequest: _TypeAlias = GetSessionStatsRequest # noqa: Y015 -@typing.final -class GetSessionStatsResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetSessionStatsResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___GetSessionStatsResponse = GetSessionStatsResponse +Global___GetSessionStatsResponse: _TypeAlias = GetSessionStatsResponse # noqa: Y015 -@typing.final -class GetSessionStatsCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetSessionStatsCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class Result(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class Result(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PUBLISHER_STATS_FIELD_NUMBER: builtins.int - SUBSCRIBER_STATS_FIELD_NUMBER: builtins.int - @property - def publisher_stats(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[stats_pb2.RtcStats]: ... - @property - def subscriber_stats(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[stats_pb2.RtcStats]: ... + PUBLISHER_STATS_FIELD_NUMBER: _builtins.int + SUBSCRIBER_STATS_FIELD_NUMBER: _builtins.int + @_builtins.property + def publisher_stats(self) -> _containers.RepeatedCompositeFieldContainer[_stats_pb2.RtcStats]: ... + @_builtins.property + def subscriber_stats(self) -> _containers.RepeatedCompositeFieldContainer[_stats_pb2.RtcStats]: ... def __init__( self, *, - publisher_stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., - subscriber_stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., + publisher_stats: _abc.Iterable[_stats_pb2.RtcStats] | None = ..., + subscriber_stats: _abc.Iterable[_stats_pb2.RtcStats] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"]) -> None: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - RESULT_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str - @property - def result(self) -> global___GetSessionStatsCallback.Result: ... + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + RESULT_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str + @_builtins.property + def result(self) -> Global___GetSessionStatsCallback.Result: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., - result: global___GetSessionStatsCallback.Result | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., + result: Global___GetSessionStatsCallback.Result | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "result"] | None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["error", "result"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... -global___GetSessionStatsCallback = GetSessionStatsCallback +Global___GetSessionStatsCallback: _TypeAlias = GetSessionStatsCallback # noqa: Y015 -@typing.final -class VideoEncoding(google.protobuf.message.Message): +@_typing.final +class VideoEncoding(_message.Message): """ Options """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - MAX_BITRATE_FIELD_NUMBER: builtins.int - MAX_FRAMERATE_FIELD_NUMBER: builtins.int - max_bitrate: builtins.int - max_framerate: builtins.float + MAX_BITRATE_FIELD_NUMBER: _builtins.int + MAX_FRAMERATE_FIELD_NUMBER: _builtins.int + max_bitrate: _builtins.int + max_framerate: _builtins.float def __init__( self, *, - max_bitrate: builtins.int | None = ..., - max_framerate: builtins.float | None = ..., + max_bitrate: _builtins.int | None = ..., + max_framerate: _builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___VideoEncoding = VideoEncoding +Global___VideoEncoding: _TypeAlias = VideoEncoding # noqa: Y015 -@typing.final -class AudioEncoding(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class AudioEncoding(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - MAX_BITRATE_FIELD_NUMBER: builtins.int - max_bitrate: builtins.int + MAX_BITRATE_FIELD_NUMBER: _builtins.int + max_bitrate: _builtins.int def __init__( self, *, - max_bitrate: builtins.int | None = ..., + max_bitrate: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["max_bitrate", b"max_bitrate"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["max_bitrate", b"max_bitrate"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___AudioEncoding = AudioEncoding +Global___AudioEncoding: _TypeAlias = AudioEncoding # noqa: Y015 -@typing.final -class TrackPublishOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TrackPublishOptions(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - VIDEO_ENCODING_FIELD_NUMBER: builtins.int - AUDIO_ENCODING_FIELD_NUMBER: builtins.int - VIDEO_CODEC_FIELD_NUMBER: builtins.int - DTX_FIELD_NUMBER: builtins.int - RED_FIELD_NUMBER: builtins.int - SIMULCAST_FIELD_NUMBER: builtins.int - SOURCE_FIELD_NUMBER: builtins.int - STREAM_FIELD_NUMBER: builtins.int - PRECONNECT_BUFFER_FIELD_NUMBER: builtins.int - PACKET_TRAILER_FEATURES_FIELD_NUMBER: builtins.int - video_codec: video_frame_pb2.VideoCodec.ValueType - dtx: builtins.bool - red: builtins.bool - simulcast: builtins.bool - source: track_pb2.TrackSource.ValueType - stream: builtins.str - preconnect_buffer: builtins.bool - @property - def video_encoding(self) -> global___VideoEncoding: + VIDEO_ENCODING_FIELD_NUMBER: _builtins.int + AUDIO_ENCODING_FIELD_NUMBER: _builtins.int + VIDEO_CODEC_FIELD_NUMBER: _builtins.int + DTX_FIELD_NUMBER: _builtins.int + RED_FIELD_NUMBER: _builtins.int + SIMULCAST_FIELD_NUMBER: _builtins.int + SOURCE_FIELD_NUMBER: _builtins.int + STREAM_FIELD_NUMBER: _builtins.int + PRECONNECT_BUFFER_FIELD_NUMBER: _builtins.int + PACKET_TRAILER_FEATURES_FIELD_NUMBER: _builtins.int + video_codec: _video_frame_pb2.VideoCodec.ValueType + dtx: _builtins.bool + red: _builtins.bool + simulcast: _builtins.bool + source: _track_pb2.TrackSource.ValueType + stream: _builtins.str + preconnect_buffer: _builtins.bool + @_builtins.property + def video_encoding(self) -> Global___VideoEncoding: """encodings are optional""" - @property - def audio_encoding(self) -> global___AudioEncoding: ... - @property - def packet_trailer_features(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[track_pb2.PacketTrailerFeature.ValueType]: ... + @_builtins.property + def audio_encoding(self) -> Global___AudioEncoding: ... + @_builtins.property + def packet_trailer_features(self) -> _containers.RepeatedScalarFieldContainer[_track_pb2.PacketTrailerFeature.ValueType]: ... def __init__( self, *, - video_encoding: global___VideoEncoding | None = ..., - audio_encoding: global___AudioEncoding | None = ..., - video_codec: video_frame_pb2.VideoCodec.ValueType | None = ..., - dtx: builtins.bool | None = ..., - red: builtins.bool | None = ..., - simulcast: builtins.bool | None = ..., - source: track_pb2.TrackSource.ValueType | None = ..., - stream: builtins.str | None = ..., - preconnect_buffer: builtins.bool | None = ..., - packet_trailer_features: collections.abc.Iterable[track_pb2.PacketTrailerFeature.ValueType] | None = ..., + video_encoding: Global___VideoEncoding | None = ..., + audio_encoding: Global___AudioEncoding | None = ..., + video_codec: _video_frame_pb2.VideoCodec.ValueType | None = ..., + dtx: _builtins.bool | None = ..., + red: _builtins.bool | None = ..., + simulcast: _builtins.bool | None = ..., + source: _track_pb2.TrackSource.ValueType | None = ..., + stream: _builtins.str | None = ..., + preconnect_buffer: _builtins.bool | None = ..., + packet_trailer_features: _abc.Iterable[_track_pb2.PacketTrailerFeature.ValueType] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "preconnect_buffer", b"preconnect_buffer", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "packet_trailer_features", b"packet_trailer_features", "preconnect_buffer", b"preconnect_buffer", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "preconnect_buffer", b"preconnect_buffer", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "packet_trailer_features", b"packet_trailer_features", "preconnect_buffer", b"preconnect_buffer", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackPublishOptions = TrackPublishOptions +Global___TrackPublishOptions: _TypeAlias = TrackPublishOptions # noqa: Y015 -@typing.final -class IceServer(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class IceServer(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - URLS_FIELD_NUMBER: builtins.int - USERNAME_FIELD_NUMBER: builtins.int - PASSWORD_FIELD_NUMBER: builtins.int - username: builtins.str - password: builtins.str - @property - def urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + URLS_FIELD_NUMBER: _builtins.int + USERNAME_FIELD_NUMBER: _builtins.int + PASSWORD_FIELD_NUMBER: _builtins.int + username: _builtins.str + password: _builtins.str + @_builtins.property + def urls(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - urls: collections.abc.Iterable[builtins.str] | None = ..., - username: builtins.str | None = ..., - password: builtins.str | None = ..., + urls: _abc.Iterable[_builtins.str] | None = ..., + username: _builtins.str | None = ..., + password: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["password", b"password", "username", b"username"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["password", b"password", "urls", b"urls", "username", b"username"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["password", b"password", "username", b"username"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["password", b"password", "urls", b"urls", "username", b"username"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___IceServer = IceServer +Global___IceServer: _TypeAlias = IceServer # noqa: Y015 -@typing.final -class RtcConfig(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RtcConfig(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ICE_TRANSPORT_TYPE_FIELD_NUMBER: builtins.int - CONTINUAL_GATHERING_POLICY_FIELD_NUMBER: builtins.int - ICE_SERVERS_FIELD_NUMBER: builtins.int - ice_transport_type: global___IceTransportType.ValueType - continual_gathering_policy: global___ContinualGatheringPolicy.ValueType - @property - def ice_servers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IceServer]: + ICE_TRANSPORT_TYPE_FIELD_NUMBER: _builtins.int + CONTINUAL_GATHERING_POLICY_FIELD_NUMBER: _builtins.int + ICE_SERVERS_FIELD_NUMBER: _builtins.int + ice_transport_type: Global___IceTransportType.ValueType + continual_gathering_policy: Global___ContinualGatheringPolicy.ValueType + @_builtins.property + def ice_servers(self) -> _containers.RepeatedCompositeFieldContainer[Global___IceServer]: """empty fallback to default""" def __init__( self, *, - ice_transport_type: global___IceTransportType.ValueType | None = ..., - continual_gathering_policy: global___ContinualGatheringPolicy.ValueType | None = ..., - ice_servers: collections.abc.Iterable[global___IceServer] | None = ..., + ice_transport_type: Global___IceTransportType.ValueType | None = ..., + continual_gathering_policy: Global___ContinualGatheringPolicy.ValueType | None = ..., + ice_servers: _abc.Iterable[Global___IceServer] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_transport_type", b"ice_transport_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_servers", b"ice_servers", "ice_transport_type", b"ice_transport_type"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_transport_type", b"ice_transport_type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_servers", b"ice_servers", "ice_transport_type", b"ice_transport_type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RtcConfig = RtcConfig +Global___RtcConfig: _TypeAlias = RtcConfig # noqa: Y015 -@typing.final -class RoomOptions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RoomOptions(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - AUTO_SUBSCRIBE_FIELD_NUMBER: builtins.int - ADAPTIVE_STREAM_FIELD_NUMBER: builtins.int - DYNACAST_FIELD_NUMBER: builtins.int - E2EE_FIELD_NUMBER: builtins.int - RTC_CONFIG_FIELD_NUMBER: builtins.int - JOIN_RETRIES_FIELD_NUMBER: builtins.int - ENCRYPTION_FIELD_NUMBER: builtins.int - SINGLE_PEER_CONNECTION_FIELD_NUMBER: builtins.int - CONNECT_TIMEOUT_MS_FIELD_NUMBER: builtins.int - auto_subscribe: builtins.bool - adaptive_stream: builtins.bool - dynacast: builtins.bool - join_retries: builtins.int - single_peer_connection: builtins.bool + AUTO_SUBSCRIBE_FIELD_NUMBER: _builtins.int + ADAPTIVE_STREAM_FIELD_NUMBER: _builtins.int + DYNACAST_FIELD_NUMBER: _builtins.int + E2EE_FIELD_NUMBER: _builtins.int + RTC_CONFIG_FIELD_NUMBER: _builtins.int + JOIN_RETRIES_FIELD_NUMBER: _builtins.int + ENCRYPTION_FIELD_NUMBER: _builtins.int + SINGLE_PEER_CONNECTION_FIELD_NUMBER: _builtins.int + CONNECT_TIMEOUT_MS_FIELD_NUMBER: _builtins.int + auto_subscribe: _builtins.bool + adaptive_stream: _builtins.bool + dynacast: _builtins.bool + join_retries: _builtins.int + single_peer_connection: _builtins.bool """use single peer connection for both publish/subscribe (default: false)""" - connect_timeout_ms: builtins.int + connect_timeout_ms: _builtins.int """timeout in milliseconds for each signal connection attempt (default: 5000)""" - @property - def e2ee(self) -> e2ee_pb2.E2eeOptions: ... - @property - def rtc_config(self) -> global___RtcConfig: + @_builtins.property + @_deprecated("""This field has been marked as deprecated using proto field options.""") + def e2ee(self) -> _e2ee_pb2.E2eeOptions: ... + @_builtins.property + def rtc_config(self) -> Global___RtcConfig: """allow to setup a custom RtcConfiguration""" - @property - def encryption(self) -> e2ee_pb2.E2eeOptions: ... + @_builtins.property + def encryption(self) -> _e2ee_pb2.E2eeOptions: ... def __init__( self, *, - auto_subscribe: builtins.bool | None = ..., - adaptive_stream: builtins.bool | None = ..., - dynacast: builtins.bool | None = ..., - e2ee: e2ee_pb2.E2eeOptions | None = ..., - rtc_config: global___RtcConfig | None = ..., - join_retries: builtins.int | None = ..., - encryption: e2ee_pb2.E2eeOptions | None = ..., - single_peer_connection: builtins.bool | None = ..., - connect_timeout_ms: builtins.int | None = ..., + auto_subscribe: _builtins.bool | None = ..., + adaptive_stream: _builtins.bool | None = ..., + dynacast: _builtins.bool | None = ..., + e2ee: _e2ee_pb2.E2eeOptions | None = ..., + rtc_config: Global___RtcConfig | None = ..., + join_retries: _builtins.int | None = ..., + encryption: _e2ee_pb2.E2eeOptions | None = ..., + single_peer_connection: _builtins.bool | None = ..., + connect_timeout_ms: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"]) -> None: ... - -global___RoomOptions = RoomOptions - -@typing.final -class TranscriptionSegment(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ID_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - START_TIME_FIELD_NUMBER: builtins.int - END_TIME_FIELD_NUMBER: builtins.int - FINAL_FIELD_NUMBER: builtins.int - LANGUAGE_FIELD_NUMBER: builtins.int - id: builtins.str - text: builtins.str - start_time: builtins.int - end_time: builtins.int - final: builtins.bool - language: builtins.str - def __init__( - self, - *, - id: builtins.str | None = ..., - text: builtins.str | None = ..., - start_time: builtins.int | None = ..., - end_time: builtins.int | None = ..., - final: builtins.bool | None = ..., - language: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> None: ... - -global___TranscriptionSegment = TranscriptionSegment - -@typing.final -class BufferInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DATA_PTR_FIELD_NUMBER: builtins.int - DATA_LEN_FIELD_NUMBER: builtins.int - data_ptr: builtins.int - data_len: builtins.int - def __init__( - self, - *, - data_ptr: builtins.int | None = ..., - data_len: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> None: ... - -global___BufferInfo = BufferInfo - -@typing.final -class OwnedBuffer(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - DATA_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def data(self) -> global___BufferInfo: ... - def __init__( - self, - *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - data: global___BufferInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["data", b"data", "handle", b"handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data", b"data", "handle", b"handle"]) -> None: ... - -global___OwnedBuffer = OwnedBuffer - -@typing.final -class RoomEvent(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ROOM_HANDLE_FIELD_NUMBER: builtins.int - PARTICIPANT_CONNECTED_FIELD_NUMBER: builtins.int - PARTICIPANT_DISCONNECTED_FIELD_NUMBER: builtins.int - LOCAL_TRACK_PUBLISHED_FIELD_NUMBER: builtins.int - LOCAL_TRACK_UNPUBLISHED_FIELD_NUMBER: builtins.int - LOCAL_TRACK_SUBSCRIBED_FIELD_NUMBER: builtins.int - TRACK_PUBLISHED_FIELD_NUMBER: builtins.int - TRACK_UNPUBLISHED_FIELD_NUMBER: builtins.int - TRACK_SUBSCRIBED_FIELD_NUMBER: builtins.int - TRACK_UNSUBSCRIBED_FIELD_NUMBER: builtins.int - TRACK_SUBSCRIPTION_FAILED_FIELD_NUMBER: builtins.int - TRACK_MUTED_FIELD_NUMBER: builtins.int - TRACK_UNMUTED_FIELD_NUMBER: builtins.int - ACTIVE_SPEAKERS_CHANGED_FIELD_NUMBER: builtins.int - ROOM_METADATA_CHANGED_FIELD_NUMBER: builtins.int - ROOM_SID_CHANGED_FIELD_NUMBER: builtins.int - PARTICIPANT_METADATA_CHANGED_FIELD_NUMBER: builtins.int - PARTICIPANT_NAME_CHANGED_FIELD_NUMBER: builtins.int - PARTICIPANT_ATTRIBUTES_CHANGED_FIELD_NUMBER: builtins.int - CONNECTION_QUALITY_CHANGED_FIELD_NUMBER: builtins.int - CONNECTION_STATE_CHANGED_FIELD_NUMBER: builtins.int - DISCONNECTED_FIELD_NUMBER: builtins.int - RECONNECTING_FIELD_NUMBER: builtins.int - RECONNECTED_FIELD_NUMBER: builtins.int - E2EE_STATE_CHANGED_FIELD_NUMBER: builtins.int - EOS_FIELD_NUMBER: builtins.int - DATA_PACKET_RECEIVED_FIELD_NUMBER: builtins.int - TRANSCRIPTION_RECEIVED_FIELD_NUMBER: builtins.int - CHAT_MESSAGE_FIELD_NUMBER: builtins.int - STREAM_HEADER_RECEIVED_FIELD_NUMBER: builtins.int - STREAM_CHUNK_RECEIVED_FIELD_NUMBER: builtins.int - STREAM_TRAILER_RECEIVED_FIELD_NUMBER: builtins.int - DATA_CHANNEL_LOW_THRESHOLD_CHANGED_FIELD_NUMBER: builtins.int - BYTE_STREAM_OPENED_FIELD_NUMBER: builtins.int - TEXT_STREAM_OPENED_FIELD_NUMBER: builtins.int - ROOM_UPDATED_FIELD_NUMBER: builtins.int - MOVED_FIELD_NUMBER: builtins.int - PARTICIPANTS_UPDATED_FIELD_NUMBER: builtins.int - PARTICIPANT_ENCRYPTION_STATUS_CHANGED_FIELD_NUMBER: builtins.int - PARTICIPANT_PERMISSION_CHANGED_FIELD_NUMBER: builtins.int - TOKEN_REFRESHED_FIELD_NUMBER: builtins.int - PARTICIPANT_ACTIVE_FIELD_NUMBER: builtins.int - DATA_TRACK_PUBLISHED_FIELD_NUMBER: builtins.int - DATA_TRACK_UNPUBLISHED_FIELD_NUMBER: builtins.int - room_handle: builtins.int - @property - def participant_connected(self) -> global___ParticipantConnected: ... - @property - def participant_disconnected(self) -> global___ParticipantDisconnected: ... - @property - def local_track_published(self) -> global___LocalTrackPublished: ... - @property - def local_track_unpublished(self) -> global___LocalTrackUnpublished: ... - @property - def local_track_subscribed(self) -> global___LocalTrackSubscribed: ... - @property - def track_published(self) -> global___TrackPublished: ... - @property - def track_unpublished(self) -> global___TrackUnpublished: ... - @property - def track_subscribed(self) -> global___TrackSubscribed: ... - @property - def track_unsubscribed(self) -> global___TrackUnsubscribed: ... - @property - def track_subscription_failed(self) -> global___TrackSubscriptionFailed: ... - @property - def track_muted(self) -> global___TrackMuted: ... - @property - def track_unmuted(self) -> global___TrackUnmuted: ... - @property - def active_speakers_changed(self) -> global___ActiveSpeakersChanged: ... - @property - def room_metadata_changed(self) -> global___RoomMetadataChanged: ... - @property - def room_sid_changed(self) -> global___RoomSidChanged: ... - @property - def participant_metadata_changed(self) -> global___ParticipantMetadataChanged: ... - @property - def participant_name_changed(self) -> global___ParticipantNameChanged: ... - @property - def participant_attributes_changed(self) -> global___ParticipantAttributesChanged: ... - @property - def connection_quality_changed(self) -> global___ConnectionQualityChanged: ... - @property - def connection_state_changed(self) -> global___ConnectionStateChanged: ... - @property - def disconnected(self) -> global___Disconnected: + _HasFieldArgType: _TypeAlias = _typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___RoomOptions: _TypeAlias = RoomOptions # noqa: Y015 + +@_typing.final +class TranscriptionSegment(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ID_FIELD_NUMBER: _builtins.int + TEXT_FIELD_NUMBER: _builtins.int + START_TIME_FIELD_NUMBER: _builtins.int + END_TIME_FIELD_NUMBER: _builtins.int + FINAL_FIELD_NUMBER: _builtins.int + LANGUAGE_FIELD_NUMBER: _builtins.int + id: _builtins.str + text: _builtins.str + start_time: _builtins.int + end_time: _builtins.int + final: _builtins.bool + language: _builtins.str + def __init__( + self, + *, + id: _builtins.str | None = ..., + text: _builtins.str | None = ..., + start_time: _builtins.int | None = ..., + end_time: _builtins.int | None = ..., + final: _builtins.bool | None = ..., + language: _builtins.str | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TranscriptionSegment: _TypeAlias = TranscriptionSegment # noqa: Y015 + +@_typing.final +class BufferInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + DATA_PTR_FIELD_NUMBER: _builtins.int + DATA_LEN_FIELD_NUMBER: _builtins.int + data_ptr: _builtins.int + data_len: _builtins.int + def __init__( + self, + *, + data_ptr: _builtins.int | None = ..., + data_len: _builtins.int | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___BufferInfo: _TypeAlias = BufferInfo # noqa: Y015 + +@_typing.final +class OwnedBuffer(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + DATA_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def data(self) -> Global___BufferInfo: ... + def __init__( + self, + *, + handle: _handle_pb2.FfiOwnedHandle | None = ..., + data: Global___BufferInfo | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["data", b"data", "handle", b"handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data", b"data", "handle", b"handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___OwnedBuffer: _TypeAlias = OwnedBuffer # noqa: Y015 + +@_typing.final +class RoomEvent(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ROOM_HANDLE_FIELD_NUMBER: _builtins.int + PARTICIPANT_CONNECTED_FIELD_NUMBER: _builtins.int + PARTICIPANT_DISCONNECTED_FIELD_NUMBER: _builtins.int + LOCAL_TRACK_PUBLISHED_FIELD_NUMBER: _builtins.int + LOCAL_TRACK_UNPUBLISHED_FIELD_NUMBER: _builtins.int + LOCAL_TRACK_SUBSCRIBED_FIELD_NUMBER: _builtins.int + TRACK_PUBLISHED_FIELD_NUMBER: _builtins.int + TRACK_UNPUBLISHED_FIELD_NUMBER: _builtins.int + TRACK_SUBSCRIBED_FIELD_NUMBER: _builtins.int + TRACK_UNSUBSCRIBED_FIELD_NUMBER: _builtins.int + TRACK_SUBSCRIPTION_FAILED_FIELD_NUMBER: _builtins.int + TRACK_MUTED_FIELD_NUMBER: _builtins.int + TRACK_UNMUTED_FIELD_NUMBER: _builtins.int + ACTIVE_SPEAKERS_CHANGED_FIELD_NUMBER: _builtins.int + ROOM_METADATA_CHANGED_FIELD_NUMBER: _builtins.int + ROOM_SID_CHANGED_FIELD_NUMBER: _builtins.int + PARTICIPANT_METADATA_CHANGED_FIELD_NUMBER: _builtins.int + PARTICIPANT_NAME_CHANGED_FIELD_NUMBER: _builtins.int + PARTICIPANT_ATTRIBUTES_CHANGED_FIELD_NUMBER: _builtins.int + CONNECTION_QUALITY_CHANGED_FIELD_NUMBER: _builtins.int + CONNECTION_STATE_CHANGED_FIELD_NUMBER: _builtins.int + DISCONNECTED_FIELD_NUMBER: _builtins.int + RECONNECTING_FIELD_NUMBER: _builtins.int + RECONNECTED_FIELD_NUMBER: _builtins.int + E2EE_STATE_CHANGED_FIELD_NUMBER: _builtins.int + EOS_FIELD_NUMBER: _builtins.int + DATA_PACKET_RECEIVED_FIELD_NUMBER: _builtins.int + TRANSCRIPTION_RECEIVED_FIELD_NUMBER: _builtins.int + CHAT_MESSAGE_FIELD_NUMBER: _builtins.int + STREAM_HEADER_RECEIVED_FIELD_NUMBER: _builtins.int + STREAM_CHUNK_RECEIVED_FIELD_NUMBER: _builtins.int + STREAM_TRAILER_RECEIVED_FIELD_NUMBER: _builtins.int + DATA_CHANNEL_LOW_THRESHOLD_CHANGED_FIELD_NUMBER: _builtins.int + BYTE_STREAM_OPENED_FIELD_NUMBER: _builtins.int + TEXT_STREAM_OPENED_FIELD_NUMBER: _builtins.int + ROOM_UPDATED_FIELD_NUMBER: _builtins.int + MOVED_FIELD_NUMBER: _builtins.int + PARTICIPANTS_UPDATED_FIELD_NUMBER: _builtins.int + PARTICIPANT_ENCRYPTION_STATUS_CHANGED_FIELD_NUMBER: _builtins.int + PARTICIPANT_PERMISSION_CHANGED_FIELD_NUMBER: _builtins.int + TOKEN_REFRESHED_FIELD_NUMBER: _builtins.int + PARTICIPANT_ACTIVE_FIELD_NUMBER: _builtins.int + DATA_TRACK_PUBLISHED_FIELD_NUMBER: _builtins.int + DATA_TRACK_UNPUBLISHED_FIELD_NUMBER: _builtins.int + LOCAL_TRACK_REPUBLISHED_FIELD_NUMBER: _builtins.int + room_handle: _builtins.int + @_builtins.property + def participant_connected(self) -> Global___ParticipantConnected: ... + @_builtins.property + def participant_disconnected(self) -> Global___ParticipantDisconnected: ... + @_builtins.property + def local_track_published(self) -> Global___LocalTrackPublished: ... + @_builtins.property + def local_track_unpublished(self) -> Global___LocalTrackUnpublished: ... + @_builtins.property + def local_track_subscribed(self) -> Global___LocalTrackSubscribed: ... + @_builtins.property + def track_published(self) -> Global___TrackPublished: ... + @_builtins.property + def track_unpublished(self) -> Global___TrackUnpublished: ... + @_builtins.property + def track_subscribed(self) -> Global___TrackSubscribed: ... + @_builtins.property + def track_unsubscribed(self) -> Global___TrackUnsubscribed: ... + @_builtins.property + def track_subscription_failed(self) -> Global___TrackSubscriptionFailed: ... + @_builtins.property + def track_muted(self) -> Global___TrackMuted: ... + @_builtins.property + def track_unmuted(self) -> Global___TrackUnmuted: ... + @_builtins.property + def active_speakers_changed(self) -> Global___ActiveSpeakersChanged: ... + @_builtins.property + def room_metadata_changed(self) -> Global___RoomMetadataChanged: ... + @_builtins.property + def room_sid_changed(self) -> Global___RoomSidChanged: ... + @_builtins.property + def participant_metadata_changed(self) -> Global___ParticipantMetadataChanged: ... + @_builtins.property + def participant_name_changed(self) -> Global___ParticipantNameChanged: ... + @_builtins.property + def participant_attributes_changed(self) -> Global___ParticipantAttributesChanged: ... + @_builtins.property + def connection_quality_changed(self) -> Global___ConnectionQualityChanged: ... + @_builtins.property + def connection_state_changed(self) -> Global___ConnectionStateChanged: ... + @_builtins.property + def disconnected(self) -> Global___Disconnected: """Connected connected = 21;""" - @property - def reconnecting(self) -> global___Reconnecting: ... - @property - def reconnected(self) -> global___Reconnected: ... - @property - def e2ee_state_changed(self) -> global___E2eeStateChanged: ... - @property - def eos(self) -> global___RoomEOS: + @_builtins.property + def reconnecting(self) -> Global___Reconnecting: ... + @_builtins.property + def reconnected(self) -> Global___Reconnected: ... + @_builtins.property + def e2ee_state_changed(self) -> Global___E2eeStateChanged: ... + @_builtins.property + def eos(self) -> Global___RoomEOS: """The stream of room events has ended""" - @property - def data_packet_received(self) -> global___DataPacketReceived: ... - @property - def transcription_received(self) -> global___TranscriptionReceived: ... - @property - def chat_message(self) -> global___ChatMessageReceived: ... - @property - def stream_header_received(self) -> global___DataStreamHeaderReceived: + @_builtins.property + def data_packet_received(self) -> Global___DataPacketReceived: ... + @_builtins.property + def transcription_received(self) -> Global___TranscriptionReceived: ... + @_builtins.property + def chat_message(self) -> Global___ChatMessageReceived: ... + @_builtins.property + def stream_header_received(self) -> Global___DataStreamHeaderReceived: """Data stream (low level)""" - @property - def stream_chunk_received(self) -> global___DataStreamChunkReceived: ... - @property - def stream_trailer_received(self) -> global___DataStreamTrailerReceived: ... - @property - def data_channel_low_threshold_changed(self) -> global___DataChannelBufferedAmountLowThresholdChanged: ... - @property - def byte_stream_opened(self) -> global___ByteStreamOpened: + @_builtins.property + def stream_chunk_received(self) -> Global___DataStreamChunkReceived: ... + @_builtins.property + def stream_trailer_received(self) -> Global___DataStreamTrailerReceived: ... + @_builtins.property + def data_channel_low_threshold_changed(self) -> Global___DataChannelBufferedAmountLowThresholdChanged: ... + @_builtins.property + def byte_stream_opened(self) -> Global___ByteStreamOpened: """Data stream (high level)""" - @property - def text_stream_opened(self) -> global___TextStreamOpened: ... - @property - def room_updated(self) -> global___RoomInfo: + @_builtins.property + def text_stream_opened(self) -> Global___TextStreamOpened: ... + @_builtins.property + def room_updated(self) -> Global___RoomInfo: """Room info updated""" - @property - def moved(self) -> global___RoomInfo: + @_builtins.property + def moved(self) -> Global___RoomInfo: """Participant moved to new room""" - @property - def participants_updated(self) -> global___ParticipantsUpdated: + @_builtins.property + def participants_updated(self) -> Global___ParticipantsUpdated: """carry over all participant info updates, including sid""" - @property - def participant_encryption_status_changed(self) -> global___ParticipantEncryptionStatusChanged: ... - @property - def participant_permission_changed(self) -> global___ParticipantPermissionChanged: ... - @property - def token_refreshed(self) -> global___TokenRefreshed: ... - @property - def participant_active(self) -> global___ParticipantActive: ... - @property - def data_track_published(self) -> global___DataTrackPublished: ... - @property - def data_track_unpublished(self) -> global___DataTrackUnpublished: ... - def __init__( - self, - *, - room_handle: builtins.int | None = ..., - participant_connected: global___ParticipantConnected | None = ..., - participant_disconnected: global___ParticipantDisconnected | None = ..., - local_track_published: global___LocalTrackPublished | None = ..., - local_track_unpublished: global___LocalTrackUnpublished | None = ..., - local_track_subscribed: global___LocalTrackSubscribed | None = ..., - track_published: global___TrackPublished | None = ..., - track_unpublished: global___TrackUnpublished | None = ..., - track_subscribed: global___TrackSubscribed | None = ..., - track_unsubscribed: global___TrackUnsubscribed | None = ..., - track_subscription_failed: global___TrackSubscriptionFailed | None = ..., - track_muted: global___TrackMuted | None = ..., - track_unmuted: global___TrackUnmuted | None = ..., - active_speakers_changed: global___ActiveSpeakersChanged | None = ..., - room_metadata_changed: global___RoomMetadataChanged | None = ..., - room_sid_changed: global___RoomSidChanged | None = ..., - participant_metadata_changed: global___ParticipantMetadataChanged | None = ..., - participant_name_changed: global___ParticipantNameChanged | None = ..., - participant_attributes_changed: global___ParticipantAttributesChanged | None = ..., - connection_quality_changed: global___ConnectionQualityChanged | None = ..., - connection_state_changed: global___ConnectionStateChanged | None = ..., - disconnected: global___Disconnected | None = ..., - reconnecting: global___Reconnecting | None = ..., - reconnected: global___Reconnected | None = ..., - e2ee_state_changed: global___E2eeStateChanged | None = ..., - eos: global___RoomEOS | None = ..., - data_packet_received: global___DataPacketReceived | None = ..., - transcription_received: global___TranscriptionReceived | None = ..., - chat_message: global___ChatMessageReceived | None = ..., - stream_header_received: global___DataStreamHeaderReceived | None = ..., - stream_chunk_received: global___DataStreamChunkReceived | None = ..., - stream_trailer_received: global___DataStreamTrailerReceived | None = ..., - data_channel_low_threshold_changed: global___DataChannelBufferedAmountLowThresholdChanged | None = ..., - byte_stream_opened: global___ByteStreamOpened | None = ..., - text_stream_opened: global___TextStreamOpened | None = ..., - room_updated: global___RoomInfo | None = ..., - moved: global___RoomInfo | None = ..., - participants_updated: global___ParticipantsUpdated | None = ..., - participant_encryption_status_changed: global___ParticipantEncryptionStatusChanged | None = ..., - participant_permission_changed: global___ParticipantPermissionChanged | None = ..., - token_refreshed: global___TokenRefreshed | None = ..., - participant_active: global___ParticipantActive | None = ..., - data_track_published: global___DataTrackPublished | None = ..., - data_track_unpublished: global___DataTrackUnpublished | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "byte_stream_opened", b"byte_stream_opened", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_channel_low_threshold_changed", b"data_channel_low_threshold_changed", "data_packet_received", b"data_packet_received", "data_track_published", b"data_track_published", "data_track_unpublished", b"data_track_unpublished", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "moved", b"moved", "participant_active", b"participant_active", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_encryption_status_changed", b"participant_encryption_status_changed", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "participant_permission_changed", b"participant_permission_changed", "participants_updated", b"participants_updated", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "room_updated", b"room_updated", "stream_chunk_received", b"stream_chunk_received", "stream_header_received", b"stream_header_received", "stream_trailer_received", b"stream_trailer_received", "text_stream_opened", b"text_stream_opened", "token_refreshed", b"token_refreshed", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "byte_stream_opened", b"byte_stream_opened", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_channel_low_threshold_changed", b"data_channel_low_threshold_changed", "data_packet_received", b"data_packet_received", "data_track_published", b"data_track_published", "data_track_unpublished", b"data_track_unpublished", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "moved", b"moved", "participant_active", b"participant_active", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_encryption_status_changed", b"participant_encryption_status_changed", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "participant_permission_changed", b"participant_permission_changed", "participants_updated", b"participants_updated", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "room_updated", b"room_updated", "stream_chunk_received", b"stream_chunk_received", "stream_header_received", b"stream_header_received", "stream_trailer_received", b"stream_trailer_received", "text_stream_opened", b"text_stream_opened", "token_refreshed", b"token_refreshed", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message", "stream_header_received", "stream_chunk_received", "stream_trailer_received", "data_channel_low_threshold_changed", "byte_stream_opened", "text_stream_opened", "room_updated", "moved", "participants_updated", "participant_encryption_status_changed", "participant_permission_changed", "token_refreshed", "participant_active", "data_track_published", "data_track_unpublished"] | None: ... - -global___RoomEvent = RoomEvent - -@typing.final -class RoomInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - METADATA_FIELD_NUMBER: builtins.int - LOSSY_DC_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: builtins.int - RELIABLE_DC_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: builtins.int - EMPTY_TIMEOUT_FIELD_NUMBER: builtins.int - DEPARTURE_TIMEOUT_FIELD_NUMBER: builtins.int - MAX_PARTICIPANTS_FIELD_NUMBER: builtins.int - CREATION_TIME_FIELD_NUMBER: builtins.int - NUM_PARTICIPANTS_FIELD_NUMBER: builtins.int - NUM_PUBLISHERS_FIELD_NUMBER: builtins.int - ACTIVE_RECORDING_FIELD_NUMBER: builtins.int - sid: builtins.str - name: builtins.str - metadata: builtins.str - lossy_dc_buffered_amount_low_threshold: builtins.int - reliable_dc_buffered_amount_low_threshold: builtins.int - empty_timeout: builtins.int - departure_timeout: builtins.int - max_participants: builtins.int - creation_time: builtins.int - num_participants: builtins.int - num_publishers: builtins.int - active_recording: builtins.bool - def __init__( - self, - *, - sid: builtins.str | None = ..., - name: builtins.str | None = ..., - metadata: builtins.str | None = ..., - lossy_dc_buffered_amount_low_threshold: builtins.int | None = ..., - reliable_dc_buffered_amount_low_threshold: builtins.int | None = ..., - empty_timeout: builtins.int | None = ..., - departure_timeout: builtins.int | None = ..., - max_participants: builtins.int | None = ..., - creation_time: builtins.int | None = ..., - num_participants: builtins.int | None = ..., - num_publishers: builtins.int | None = ..., - active_recording: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["active_recording", b"active_recording", "creation_time", b"creation_time", "departure_timeout", b"departure_timeout", "empty_timeout", b"empty_timeout", "lossy_dc_buffered_amount_low_threshold", b"lossy_dc_buffered_amount_low_threshold", "max_participants", b"max_participants", "metadata", b"metadata", "name", b"name", "num_participants", b"num_participants", "num_publishers", b"num_publishers", "reliable_dc_buffered_amount_low_threshold", b"reliable_dc_buffered_amount_low_threshold", "sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["active_recording", b"active_recording", "creation_time", b"creation_time", "departure_timeout", b"departure_timeout", "empty_timeout", b"empty_timeout", "lossy_dc_buffered_amount_low_threshold", b"lossy_dc_buffered_amount_low_threshold", "max_participants", b"max_participants", "metadata", b"metadata", "name", b"name", "num_participants", b"num_participants", "num_publishers", b"num_publishers", "reliable_dc_buffered_amount_low_threshold", b"reliable_dc_buffered_amount_low_threshold", "sid", b"sid"]) -> None: ... + @_builtins.property + def participant_encryption_status_changed(self) -> Global___ParticipantEncryptionStatusChanged: ... + @_builtins.property + def participant_permission_changed(self) -> Global___ParticipantPermissionChanged: ... + @_builtins.property + def token_refreshed(self) -> Global___TokenRefreshed: ... + @_builtins.property + def participant_active(self) -> Global___ParticipantActive: ... + @_builtins.property + def data_track_published(self) -> Global___DataTrackPublished: ... + @_builtins.property + def data_track_unpublished(self) -> Global___DataTrackUnpublished: ... + @_builtins.property + def local_track_republished(self) -> Global___LocalTrackRepublished: ... + def __init__( + self, + *, + room_handle: _builtins.int | None = ..., + participant_connected: Global___ParticipantConnected | None = ..., + participant_disconnected: Global___ParticipantDisconnected | None = ..., + local_track_published: Global___LocalTrackPublished | None = ..., + local_track_unpublished: Global___LocalTrackUnpublished | None = ..., + local_track_subscribed: Global___LocalTrackSubscribed | None = ..., + track_published: Global___TrackPublished | None = ..., + track_unpublished: Global___TrackUnpublished | None = ..., + track_subscribed: Global___TrackSubscribed | None = ..., + track_unsubscribed: Global___TrackUnsubscribed | None = ..., + track_subscription_failed: Global___TrackSubscriptionFailed | None = ..., + track_muted: Global___TrackMuted | None = ..., + track_unmuted: Global___TrackUnmuted | None = ..., + active_speakers_changed: Global___ActiveSpeakersChanged | None = ..., + room_metadata_changed: Global___RoomMetadataChanged | None = ..., + room_sid_changed: Global___RoomSidChanged | None = ..., + participant_metadata_changed: Global___ParticipantMetadataChanged | None = ..., + participant_name_changed: Global___ParticipantNameChanged | None = ..., + participant_attributes_changed: Global___ParticipantAttributesChanged | None = ..., + connection_quality_changed: Global___ConnectionQualityChanged | None = ..., + connection_state_changed: Global___ConnectionStateChanged | None = ..., + disconnected: Global___Disconnected | None = ..., + reconnecting: Global___Reconnecting | None = ..., + reconnected: Global___Reconnected | None = ..., + e2ee_state_changed: Global___E2eeStateChanged | None = ..., + eos: Global___RoomEOS | None = ..., + data_packet_received: Global___DataPacketReceived | None = ..., + transcription_received: Global___TranscriptionReceived | None = ..., + chat_message: Global___ChatMessageReceived | None = ..., + stream_header_received: Global___DataStreamHeaderReceived | None = ..., + stream_chunk_received: Global___DataStreamChunkReceived | None = ..., + stream_trailer_received: Global___DataStreamTrailerReceived | None = ..., + data_channel_low_threshold_changed: Global___DataChannelBufferedAmountLowThresholdChanged | None = ..., + byte_stream_opened: Global___ByteStreamOpened | None = ..., + text_stream_opened: Global___TextStreamOpened | None = ..., + room_updated: Global___RoomInfo | None = ..., + moved: Global___RoomInfo | None = ..., + participants_updated: Global___ParticipantsUpdated | None = ..., + participant_encryption_status_changed: Global___ParticipantEncryptionStatusChanged | None = ..., + participant_permission_changed: Global___ParticipantPermissionChanged | None = ..., + token_refreshed: Global___TokenRefreshed | None = ..., + participant_active: Global___ParticipantActive | None = ..., + data_track_published: Global___DataTrackPublished | None = ..., + data_track_unpublished: Global___DataTrackUnpublished | None = ..., + local_track_republished: Global___LocalTrackRepublished | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["active_speakers_changed", b"active_speakers_changed", "byte_stream_opened", b"byte_stream_opened", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_channel_low_threshold_changed", b"data_channel_low_threshold_changed", "data_packet_received", b"data_packet_received", "data_track_published", b"data_track_published", "data_track_unpublished", b"data_track_unpublished", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_republished", b"local_track_republished", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "moved", b"moved", "participant_active", b"participant_active", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_encryption_status_changed", b"participant_encryption_status_changed", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "participant_permission_changed", b"participant_permission_changed", "participants_updated", b"participants_updated", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "room_updated", b"room_updated", "stream_chunk_received", b"stream_chunk_received", "stream_header_received", b"stream_header_received", "stream_trailer_received", b"stream_trailer_received", "text_stream_opened", b"text_stream_opened", "token_refreshed", b"token_refreshed", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["active_speakers_changed", b"active_speakers_changed", "byte_stream_opened", b"byte_stream_opened", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_channel_low_threshold_changed", b"data_channel_low_threshold_changed", "data_packet_received", b"data_packet_received", "data_track_published", b"data_track_published", "data_track_unpublished", b"data_track_unpublished", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_republished", b"local_track_republished", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "moved", b"moved", "participant_active", b"participant_active", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_encryption_status_changed", b"participant_encryption_status_changed", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "participant_permission_changed", b"participant_permission_changed", "participants_updated", b"participants_updated", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "room_updated", b"room_updated", "stream_chunk_received", b"stream_chunk_received", "stream_header_received", b"stream_header_received", "stream_trailer_received", b"stream_trailer_received", "text_stream_opened", b"text_stream_opened", "token_refreshed", b"token_refreshed", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message", "stream_header_received", "stream_chunk_received", "stream_trailer_received", "data_channel_low_threshold_changed", "byte_stream_opened", "text_stream_opened", "room_updated", "moved", "participants_updated", "participant_encryption_status_changed", "participant_permission_changed", "token_refreshed", "participant_active", "data_track_published", "data_track_unpublished", "local_track_republished"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___RoomEvent: _TypeAlias = RoomEvent # noqa: Y015 + +@_typing.final +class RoomInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + SID_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + METADATA_FIELD_NUMBER: _builtins.int + LOSSY_DC_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: _builtins.int + RELIABLE_DC_BUFFERED_AMOUNT_LOW_THRESHOLD_FIELD_NUMBER: _builtins.int + EMPTY_TIMEOUT_FIELD_NUMBER: _builtins.int + DEPARTURE_TIMEOUT_FIELD_NUMBER: _builtins.int + MAX_PARTICIPANTS_FIELD_NUMBER: _builtins.int + CREATION_TIME_FIELD_NUMBER: _builtins.int + NUM_PARTICIPANTS_FIELD_NUMBER: _builtins.int + NUM_PUBLISHERS_FIELD_NUMBER: _builtins.int + ACTIVE_RECORDING_FIELD_NUMBER: _builtins.int + sid: _builtins.str + name: _builtins.str + metadata: _builtins.str + lossy_dc_buffered_amount_low_threshold: _builtins.int + reliable_dc_buffered_amount_low_threshold: _builtins.int + empty_timeout: _builtins.int + departure_timeout: _builtins.int + max_participants: _builtins.int + creation_time: _builtins.int + num_participants: _builtins.int + num_publishers: _builtins.int + active_recording: _builtins.bool + def __init__( + self, + *, + sid: _builtins.str | None = ..., + name: _builtins.str | None = ..., + metadata: _builtins.str | None = ..., + lossy_dc_buffered_amount_low_threshold: _builtins.int | None = ..., + reliable_dc_buffered_amount_low_threshold: _builtins.int | None = ..., + empty_timeout: _builtins.int | None = ..., + departure_timeout: _builtins.int | None = ..., + max_participants: _builtins.int | None = ..., + creation_time: _builtins.int | None = ..., + num_participants: _builtins.int | None = ..., + num_publishers: _builtins.int | None = ..., + active_recording: _builtins.bool | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["active_recording", b"active_recording", "creation_time", b"creation_time", "departure_timeout", b"departure_timeout", "empty_timeout", b"empty_timeout", "lossy_dc_buffered_amount_low_threshold", b"lossy_dc_buffered_amount_low_threshold", "max_participants", b"max_participants", "metadata", b"metadata", "name", b"name", "num_participants", b"num_participants", "num_publishers", b"num_publishers", "reliable_dc_buffered_amount_low_threshold", b"reliable_dc_buffered_amount_low_threshold", "sid", b"sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["active_recording", b"active_recording", "creation_time", b"creation_time", "departure_timeout", b"departure_timeout", "empty_timeout", b"empty_timeout", "lossy_dc_buffered_amount_low_threshold", b"lossy_dc_buffered_amount_low_threshold", "max_participants", b"max_participants", "metadata", b"metadata", "name", b"name", "num_participants", b"num_participants", "num_publishers", b"num_publishers", "reliable_dc_buffered_amount_low_threshold", b"reliable_dc_buffered_amount_low_threshold", "sid", b"sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___RoomInfo: _TypeAlias = RoomInfo # noqa: Y015 + +@_typing.final +class OwnedRoom(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___RoomInfo: ... + def __init__( + self, + *, + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___RoomInfo | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___OwnedRoom: _TypeAlias = OwnedRoom # noqa: Y015 + +@_typing.final +class ParticipantsUpdated(_message.Message): + DESCRIPTOR: _descriptor.Descriptor -global___RoomInfo = RoomInfo - -@typing.final -class OwnedRoom(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___RoomInfo: ... + PARTICIPANTS_FIELD_NUMBER: _builtins.int + @_builtins.property + def participants(self) -> _containers.RepeatedCompositeFieldContainer[_participant_pb2.ParticipantInfo]: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___RoomInfo | None = ..., + participants: _abc.Iterable[_participant_pb2.ParticipantInfo] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participants", b"participants"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedRoom = OwnedRoom +Global___ParticipantsUpdated: _TypeAlias = ParticipantsUpdated # noqa: Y015 -@typing.final -class ParticipantsUpdated(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantConnected(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANTS_FIELD_NUMBER: builtins.int - @property - def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[participant_pb2.ParticipantInfo]: ... + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def info(self) -> _participant_pb2.OwnedParticipant: ... def __init__( self, *, - participants: collections.abc.Iterable[participant_pb2.ParticipantInfo] | None = ..., + info: _participant_pb2.OwnedParticipant | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participants", b"participants"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantsUpdated = ParticipantsUpdated +Global___ParticipantConnected: _TypeAlias = ParticipantConnected # noqa: Y015 -@typing.final -class ParticipantConnected(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantActive(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - INFO_FIELD_NUMBER: builtins.int - @property - def info(self) -> participant_pb2.OwnedParticipant: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str def __init__( self, *, - info: participant_pb2.OwnedParticipant | None = ..., + participant_identity: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantConnected = ParticipantConnected +Global___ParticipantActive: _TypeAlias = ParticipantActive # noqa: Y015 -@typing.final -class ParticipantActive(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantDisconnected(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - participant_identity: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + DISCONNECT_REASON_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + disconnect_reason: _participant_pb2.DisconnectReason.ValueType def __init__( self, *, - participant_identity: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + disconnect_reason: _participant_pb2.DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["disconnect_reason", b"disconnect_reason", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["disconnect_reason", b"disconnect_reason", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantActive = ParticipantActive +Global___ParticipantDisconnected: _TypeAlias = ParticipantDisconnected # noqa: Y015 -@typing.final -class ParticipantDisconnected(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalTrackPublished(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - DISCONNECT_REASON_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - disconnect_reason: participant_pb2.DisconnectReason.ValueType + TRACK_SID_FIELD_NUMBER: _builtins.int + track_sid: _builtins.str + """The TrackPublicationInfo comes from the PublishTrack response + and the FfiClient musts wait for it before firing this event + """ def __init__( self, *, - participant_identity: builtins.str | None = ..., - disconnect_reason: participant_pb2.DisconnectReason.ValueType | None = ..., + track_sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["disconnect_reason", b"disconnect_reason", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["disconnect_reason", b"disconnect_reason", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantDisconnected = ParticipantDisconnected +Global___LocalTrackPublished: _TypeAlias = LocalTrackPublished # noqa: Y015 -@typing.final -class LocalTrackPublished(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalTrackUnpublished(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TRACK_SID_FIELD_NUMBER: builtins.int - track_sid: builtins.str - """The TrackPublicationInfo comes from the PublishTrack response - and the FfiClient musts wait for it before firing this event - """ + PUBLICATION_SID_FIELD_NUMBER: _builtins.int + publication_sid: _builtins.str def __init__( self, *, - track_sid: builtins.str | None = ..., + publication_sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["publication_sid", b"publication_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["publication_sid", b"publication_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalTrackPublished = LocalTrackPublished +Global___LocalTrackUnpublished: _TypeAlias = LocalTrackUnpublished # noqa: Y015 + +@_typing.final +class LocalTrackRepublished(_message.Message): + """Fired when the SDK auto-republishes a local track during a full + reconnect. The FfiPublication handle is preserved across the cycle — + language bindings should look up the existing publication object by + `previous_sid` (its old SID), update its TrackPublicationInfo in place + with `info`, and rekey it under the new SID. Apps holding a cached + reference to the publication continue to see a valid object whose + reads/writes hit current state. + """ -@typing.final -class LocalTrackUnpublished(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - PUBLICATION_SID_FIELD_NUMBER: builtins.int - publication_sid: builtins.str + PUBLICATION_HANDLE_FIELD_NUMBER: _builtins.int + PREVIOUS_SID_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + publication_handle: _builtins.int + previous_sid: _builtins.str + @_builtins.property + def info(self) -> _track_pb2.TrackPublicationInfo: ... def __init__( self, *, - publication_sid: builtins.str | None = ..., + publication_handle: _builtins.int | None = ..., + previous_sid: _builtins.str | None = ..., + info: _track_pb2.TrackPublicationInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["publication_sid", b"publication_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["publication_sid", b"publication_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["info", b"info", "previous_sid", b"previous_sid", "publication_handle", b"publication_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["info", b"info", "previous_sid", b"previous_sid", "publication_handle", b"publication_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalTrackUnpublished = LocalTrackUnpublished +Global___LocalTrackRepublished: _TypeAlias = LocalTrackRepublished # noqa: Y015 -@typing.final -class LocalTrackSubscribed(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalTrackSubscribed(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TRACK_SID_FIELD_NUMBER: builtins.int - track_sid: builtins.str + TRACK_SID_FIELD_NUMBER: _builtins.int + track_sid: _builtins.str def __init__( self, *, - track_sid: builtins.str | None = ..., + track_sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalTrackSubscribed = LocalTrackSubscribed +Global___LocalTrackSubscribed: _TypeAlias = LocalTrackSubscribed # noqa: Y015 -@typing.final -class TrackPublished(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TrackPublished(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - PUBLICATION_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def publication(self) -> track_pb2.OwnedTrackPublication: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + PUBLICATION_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def publication(self) -> _track_pb2.OwnedTrackPublication: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - publication: track_pb2.OwnedTrackPublication | None = ..., + participant_identity: _builtins.str | None = ..., + publication: _track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackPublished = TrackPublished +Global___TrackPublished: _TypeAlias = TrackPublished # noqa: Y015 -@typing.final -class TrackUnpublished(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TrackUnpublished(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - PUBLICATION_SID_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - publication_sid: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + PUBLICATION_SID_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + publication_sid: _builtins.str def __init__( self, *, - participant_identity: builtins.str | None = ..., - publication_sid: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + publication_sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackUnpublished = TrackUnpublished +Global___TrackUnpublished: _TypeAlias = TrackUnpublished # noqa: Y015 -@typing.final -class TrackSubscribed(google.protobuf.message.Message): +@_typing.final +class TrackSubscribed(_message.Message): """Publication isn't needed for subscription events on the FFI The FFI will retrieve the publication using the Track sid """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def track(self) -> track_pb2.OwnedTrack: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def track(self) -> _track_pb2.OwnedTrack: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - track: track_pb2.OwnedTrack | None = ..., + participant_identity: _builtins.str | None = ..., + track: _track_pb2.OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track", b"track"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track", b"track"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackSubscribed = TrackSubscribed +Global___TrackSubscribed: _TypeAlias = TrackSubscribed # noqa: Y015 -@typing.final -class TrackUnsubscribed(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TrackUnsubscribed(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - participant_identity: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str """The FFI language can dispose/remove the VideoSink here""" - track_sid: builtins.str + track_sid: _builtins.str def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackUnsubscribed = TrackUnsubscribed +Global___TrackUnsubscribed: _TypeAlias = TrackUnsubscribed # noqa: Y015 -@typing.final -class TrackSubscriptionFailed(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TrackSubscriptionFailed(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - track_sid: builtins.str - error: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + track_sid: _builtins.str + error: _builtins.str def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., - error: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackSubscriptionFailed = TrackSubscriptionFailed +Global___TrackSubscriptionFailed: _TypeAlias = TrackSubscriptionFailed # noqa: Y015 -@typing.final -class TrackMuted(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TrackMuted(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - track_sid: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + track_sid: _builtins.str def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackMuted = TrackMuted +Global___TrackMuted: _TypeAlias = TrackMuted # noqa: Y015 -@typing.final -class TrackUnmuted(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TrackUnmuted(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - track_sid: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + track_sid: _builtins.str def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TrackUnmuted = TrackUnmuted +Global___TrackUnmuted: _TypeAlias = TrackUnmuted # noqa: Y015 -@typing.final -class E2eeStateChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class E2eeStateChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - STATE_FIELD_NUMBER: builtins.int - participant_identity: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + STATE_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str """Using sid instead of identity for ffi communication""" - state: e2ee_pb2.EncryptionState.ValueType + state: _e2ee_pb2.EncryptionState.ValueType def __init__( self, *, - participant_identity: builtins.str | None = ..., - state: e2ee_pb2.EncryptionState.ValueType | None = ..., + participant_identity: _builtins.str | None = ..., + state: _e2ee_pb2.EncryptionState.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "state", b"state"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "state", b"state"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___E2eeStateChanged = E2eeStateChanged +Global___E2eeStateChanged: _TypeAlias = E2eeStateChanged # noqa: Y015 -@typing.final -class ActiveSpeakersChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ActiveSpeakersChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITIES_FIELD_NUMBER: builtins.int - @property - def participant_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + PARTICIPANT_IDENTITIES_FIELD_NUMBER: _builtins.int + @_builtins.property + def participant_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - participant_identities: collections.abc.Iterable[builtins.str] | None = ..., + participant_identities: _abc.Iterable[_builtins.str] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_identities", b"participant_identities"]) -> None: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identities", b"participant_identities"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ActiveSpeakersChanged = ActiveSpeakersChanged +Global___ActiveSpeakersChanged: _TypeAlias = ActiveSpeakersChanged # noqa: Y015 -@typing.final -class RoomMetadataChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RoomMetadataChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - METADATA_FIELD_NUMBER: builtins.int - metadata: builtins.str + METADATA_FIELD_NUMBER: _builtins.int + metadata: _builtins.str def __init__( self, *, - metadata: builtins.str | None = ..., + metadata: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["metadata", b"metadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["metadata", b"metadata"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["metadata", b"metadata"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RoomMetadataChanged = RoomMetadataChanged +Global___RoomMetadataChanged: _TypeAlias = RoomMetadataChanged # noqa: Y015 -@typing.final -class RoomSidChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RoomSidChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - SID_FIELD_NUMBER: builtins.int - sid: builtins.str + SID_FIELD_NUMBER: _builtins.int + sid: _builtins.str def __init__( self, *, - sid: builtins.str | None = ..., + sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["sid", b"sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["sid", b"sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["sid", b"sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RoomSidChanged = RoomSidChanged +Global___RoomSidChanged: _TypeAlias = RoomSidChanged # noqa: Y015 -@typing.final -class ParticipantMetadataChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantMetadataChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - METADATA_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - metadata: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + METADATA_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + metadata: _builtins.str def __init__( self, *, - participant_identity: builtins.str | None = ..., - metadata: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + metadata: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantMetadataChanged = ParticipantMetadataChanged +Global___ParticipantMetadataChanged: _TypeAlias = ParticipantMetadataChanged # noqa: Y015 -@typing.final -class ParticipantAttributesChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantAttributesChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - CHANGED_ATTRIBUTES_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AttributesEntry]: ... - @property - def changed_attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AttributesEntry]: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + CHANGED_ATTRIBUTES_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def attributes(self) -> _containers.RepeatedCompositeFieldContainer[Global___AttributesEntry]: ... + @_builtins.property + def changed_attributes(self) -> _containers.RepeatedCompositeFieldContainer[Global___AttributesEntry]: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., - changed_attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., + participant_identity: _builtins.str | None = ..., + attributes: _abc.Iterable[Global___AttributesEntry] | None = ..., + changed_attributes: _abc.Iterable[Global___AttributesEntry] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "changed_attributes", b"changed_attributes", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attributes", b"attributes", "changed_attributes", b"changed_attributes", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantAttributesChanged = ParticipantAttributesChanged +Global___ParticipantAttributesChanged: _TypeAlias = ParticipantAttributesChanged # noqa: Y015 -@typing.final -class ParticipantEncryptionStatusChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantEncryptionStatusChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - IS_ENCRYPTED_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - is_encrypted: builtins.bool + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + IS_ENCRYPTED_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + is_encrypted: _builtins.bool def __init__( self, *, - participant_identity: builtins.str | None = ..., - is_encrypted: builtins.bool | None = ..., + participant_identity: _builtins.str | None = ..., + is_encrypted: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["is_encrypted", b"is_encrypted", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["is_encrypted", b"is_encrypted", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["is_encrypted", b"is_encrypted", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["is_encrypted", b"is_encrypted", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantEncryptionStatusChanged = ParticipantEncryptionStatusChanged +Global___ParticipantEncryptionStatusChanged: _TypeAlias = ParticipantEncryptionStatusChanged # noqa: Y015 -@typing.final -class ParticipantNameChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantNameChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - name: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + name: _builtins.str def __init__( self, *, - participant_identity: builtins.str | None = ..., - name: builtins.str | None = ..., + participant_identity: _builtins.str | None = ..., + name: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantNameChanged = ParticipantNameChanged +Global___ParticipantNameChanged: _TypeAlias = ParticipantNameChanged # noqa: Y015 -@typing.final -class ParticipantPermissionChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantPermissionChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - PERMISSION_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def permission(self) -> participant_pb2.ParticipantPermission: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + PERMISSION_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def permission(self) -> _participant_pb2.ParticipantPermission: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - permission: participant_pb2.ParticipantPermission | None = ..., + participant_identity: _builtins.str | None = ..., + permission: _participant_pb2.ParticipantPermission | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "permission", b"permission"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "permission", b"permission"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "permission", b"permission"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "permission", b"permission"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantPermissionChanged = ParticipantPermissionChanged +Global___ParticipantPermissionChanged: _TypeAlias = ParticipantPermissionChanged # noqa: Y015 -@typing.final -class ConnectionQualityChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ConnectionQualityChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - QUALITY_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - quality: global___ConnectionQuality.ValueType + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + QUALITY_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + quality: Global___ConnectionQuality.ValueType def __init__( self, *, - participant_identity: builtins.str | None = ..., - quality: global___ConnectionQuality.ValueType | None = ..., + participant_identity: _builtins.str | None = ..., + quality: Global___ConnectionQuality.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ConnectionQualityChanged = ConnectionQualityChanged +Global___ConnectionQualityChanged: _TypeAlias = ConnectionQualityChanged # noqa: Y015 -@typing.final -class UserPacket(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class UserPacket(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - DATA_FIELD_NUMBER: builtins.int - TOPIC_FIELD_NUMBER: builtins.int - topic: builtins.str - @property - def data(self) -> global___OwnedBuffer: ... + DATA_FIELD_NUMBER: _builtins.int + TOPIC_FIELD_NUMBER: _builtins.int + topic: _builtins.str + @_builtins.property + def data(self) -> Global___OwnedBuffer: ... def __init__( self, *, - data: global___OwnedBuffer | None = ..., - topic: builtins.str | None = ..., + data: Global___OwnedBuffer | None = ..., + topic: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data", b"data", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data", b"data", "topic", b"topic"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["data", b"data", "topic", b"topic"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data", b"data", "topic", b"topic"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___UserPacket = UserPacket +Global___UserPacket: _TypeAlias = UserPacket # noqa: Y015 -@typing.final -class ChatMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ChatMessage(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ID_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - EDIT_TIMESTAMP_FIELD_NUMBER: builtins.int - DELETED_FIELD_NUMBER: builtins.int - GENERATED_FIELD_NUMBER: builtins.int - id: builtins.str - timestamp: builtins.int - message: builtins.str - edit_timestamp: builtins.int - deleted: builtins.bool - generated: builtins.bool + ID_FIELD_NUMBER: _builtins.int + TIMESTAMP_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + EDIT_TIMESTAMP_FIELD_NUMBER: _builtins.int + DELETED_FIELD_NUMBER: _builtins.int + GENERATED_FIELD_NUMBER: _builtins.int + id: _builtins.str + timestamp: _builtins.int + message: _builtins.str + edit_timestamp: _builtins.int + deleted: _builtins.bool + generated: _builtins.bool def __init__( self, *, - id: builtins.str | None = ..., - timestamp: builtins.int | None = ..., - message: builtins.str | None = ..., - edit_timestamp: builtins.int | None = ..., - deleted: builtins.bool | None = ..., - generated: builtins.bool | None = ..., + id: _builtins.str | None = ..., + timestamp: _builtins.int | None = ..., + message: _builtins.str | None = ..., + edit_timestamp: _builtins.int | None = ..., + deleted: _builtins.bool | None = ..., + generated: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ChatMessage = ChatMessage +Global___ChatMessage: _TypeAlias = ChatMessage # noqa: Y015 -@typing.final -class ChatMessageReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ChatMessageReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - MESSAGE_FIELD_NUMBER: builtins.int - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def message(self) -> global___ChatMessage: ... + MESSAGE_FIELD_NUMBER: _builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def message(self) -> Global___ChatMessage: ... def __init__( self, *, - message: global___ChatMessage | None = ..., - participant_identity: builtins.str | None = ..., + message: Global___ChatMessage | None = ..., + participant_identity: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["message", b"message", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["message", b"message", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ChatMessageReceived = ChatMessageReceived +Global___ChatMessageReceived: _TypeAlias = ChatMessageReceived # noqa: Y015 -@typing.final -class SipDTMF(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SipDTMF(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - CODE_FIELD_NUMBER: builtins.int - DIGIT_FIELD_NUMBER: builtins.int - code: builtins.int - digit: builtins.str + CODE_FIELD_NUMBER: _builtins.int + DIGIT_FIELD_NUMBER: _builtins.int + code: _builtins.int + digit: _builtins.str def __init__( self, *, - code: builtins.int | None = ..., - digit: builtins.str | None = ..., + code: _builtins.int | None = ..., + digit: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "digit", b"digit"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "digit", b"digit"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "digit", b"digit"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "digit", b"digit"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SipDTMF = SipDTMF +Global___SipDTMF: _TypeAlias = SipDTMF # noqa: Y015 -@typing.final -class DataPacketReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataPacketReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KIND_FIELD_NUMBER: builtins.int - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - USER_FIELD_NUMBER: builtins.int - SIP_DTMF_FIELD_NUMBER: builtins.int - kind: global___DataPacketKind.ValueType - participant_identity: builtins.str + KIND_FIELD_NUMBER: _builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + USER_FIELD_NUMBER: _builtins.int + SIP_DTMF_FIELD_NUMBER: _builtins.int + kind: Global___DataPacketKind.ValueType + participant_identity: _builtins.str """Can be empty if the data is sent a server SDK""" - @property - def user(self) -> global___UserPacket: ... - @property - def sip_dtmf(self) -> global___SipDTMF: ... + @_builtins.property + def user(self) -> Global___UserPacket: ... + @_builtins.property + def sip_dtmf(self) -> Global___SipDTMF: ... def __init__( self, *, - kind: global___DataPacketKind.ValueType | None = ..., - participant_identity: builtins.str | None = ..., - user: global___UserPacket | None = ..., - sip_dtmf: global___SipDTMF | None = ..., + kind: Global___DataPacketKind.ValueType | None = ..., + participant_identity: _builtins.str | None = ..., + user: Global___UserPacket | None = ..., + sip_dtmf: Global___SipDTMF | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["user", "sip_dtmf"] | None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_value: _TypeAlias = _typing.Literal["user", "sip_dtmf"] # noqa: Y015 + _WhichOneofArgType_value: _TypeAlias = _typing.Literal["value", b"value"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_value) -> _WhichOneofReturnType_value | None: ... -global___DataPacketReceived = DataPacketReceived +Global___DataPacketReceived: _TypeAlias = DataPacketReceived # noqa: Y015 -@typing.final -class TranscriptionReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TranscriptionReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRACK_SID_FIELD_NUMBER: builtins.int - SEGMENTS_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - track_sid: builtins.str - @property - def segments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TranscriptionSegment]: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRACK_SID_FIELD_NUMBER: _builtins.int + SEGMENTS_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + track_sid: _builtins.str + @_builtins.property + def segments(self) -> _containers.RepeatedCompositeFieldContainer[Global___TranscriptionSegment]: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - track_sid: builtins.str | None = ..., - segments: collections.abc.Iterable[global___TranscriptionSegment] | None = ..., + participant_identity: _builtins.str | None = ..., + track_sid: _builtins.str | None = ..., + segments: _abc.Iterable[Global___TranscriptionSegment] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "segments", b"segments", "track_sid", b"track_sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "segments", b"segments", "track_sid", b"track_sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TranscriptionReceived = TranscriptionReceived +Global___TranscriptionReceived: _TypeAlias = TranscriptionReceived # noqa: Y015 -@typing.final -class ConnectionStateChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ConnectionStateChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - STATE_FIELD_NUMBER: builtins.int - state: global___ConnectionState.ValueType + STATE_FIELD_NUMBER: _builtins.int + state: Global___ConnectionState.ValueType def __init__( self, *, - state: global___ConnectionState.ValueType | None = ..., + state: Global___ConnectionState.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["state", b"state"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["state", b"state"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["state", b"state"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ConnectionStateChanged = ConnectionStateChanged +Global___ConnectionStateChanged: _TypeAlias = ConnectionStateChanged # noqa: Y015 -@typing.final -class Connected(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class Connected(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___Connected = Connected +Global___Connected: _TypeAlias = Connected # noqa: Y015 -@typing.final -class Disconnected(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class Disconnected(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - REASON_FIELD_NUMBER: builtins.int - reason: participant_pb2.DisconnectReason.ValueType + REASON_FIELD_NUMBER: _builtins.int + reason: _participant_pb2.DisconnectReason.ValueType def __init__( self, *, - reason: participant_pb2.DisconnectReason.ValueType | None = ..., + reason: _participant_pb2.DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reason", b"reason"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reason", b"reason"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___Disconnected = Disconnected +Global___Disconnected: _TypeAlias = Disconnected # noqa: Y015 -@typing.final -class Reconnecting(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class Reconnecting(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___Reconnecting = Reconnecting +Global___Reconnecting: _TypeAlias = Reconnecting # noqa: Y015 -@typing.final -class Reconnected(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class Reconnected(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___Reconnected = Reconnected +Global___Reconnected: _TypeAlias = Reconnected # noqa: Y015 -@typing.final -class TokenRefreshed(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TokenRefreshed(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TOKEN_FIELD_NUMBER: builtins.int - token: builtins.str + TOKEN_FIELD_NUMBER: _builtins.int + token: _builtins.str def __init__( self, *, - token: builtins.str | None = ..., + token: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["token", b"token"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["token", b"token"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["token", b"token"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["token", b"token"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TokenRefreshed = TokenRefreshed +Global___TokenRefreshed: _TypeAlias = TokenRefreshed # noqa: Y015 -@typing.final -class RoomEOS(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RoomEOS(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___RoomEOS = RoomEOS +Global___RoomEOS: _TypeAlias = RoomEOS # noqa: Y015 -@typing.final -class DataStream(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataStream(_message.Message): + DESCRIPTOR: _descriptor.Descriptor class _OperationType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 - class _OperationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DataStream._OperationType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + class _OperationTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[DataStream._OperationType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor CREATE: DataStream._OperationType.ValueType # 0 UPDATE: DataStream._OperationType.ValueType # 1 DELETE: DataStream._OperationType.ValueType # 2 @@ -2367,577 +2601,629 @@ class DataStream(google.protobuf.message.Message): DELETE: DataStream.OperationType.ValueType # 2 REACTION: DataStream.OperationType.ValueType # 3 - @typing.final - class TextHeader(google.protobuf.message.Message): + @_typing.final + class TextHeader(_message.Message): """header properties specific to text streams""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - OPERATION_TYPE_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - REPLY_TO_STREAM_ID_FIELD_NUMBER: builtins.int - ATTACHED_STREAM_IDS_FIELD_NUMBER: builtins.int - GENERATED_FIELD_NUMBER: builtins.int - operation_type: global___DataStream.OperationType.ValueType - version: builtins.int + OPERATION_TYPE_FIELD_NUMBER: _builtins.int + VERSION_FIELD_NUMBER: _builtins.int + REPLY_TO_STREAM_ID_FIELD_NUMBER: _builtins.int + ATTACHED_STREAM_IDS_FIELD_NUMBER: _builtins.int + GENERATED_FIELD_NUMBER: _builtins.int + operation_type: Global___DataStream.OperationType.ValueType + version: _builtins.int """Optional: Version for updates/edits""" - reply_to_stream_id: builtins.str + reply_to_stream_id: _builtins.str """Optional: Reply to specific message""" - generated: builtins.bool + generated: _builtins.bool """true if the text has been generated by an agent from a participant's audio transcription""" - @property - def attached_stream_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + @_builtins.property + def attached_stream_ids(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: """file attachments for text streams""" def __init__( self, *, - operation_type: global___DataStream.OperationType.ValueType | None = ..., - version: builtins.int | None = ..., - reply_to_stream_id: builtins.str | None = ..., - attached_stream_ids: collections.abc.Iterable[builtins.str] | None = ..., - generated: builtins.bool | None = ..., + operation_type: Global___DataStream.OperationType.ValueType | None = ..., + version: _builtins.int | None = ..., + reply_to_stream_id: _builtins.str | None = ..., + attached_stream_ids: _abc.Iterable[_builtins.str] | None = ..., + generated: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attached_stream_ids", b"attached_stream_ids", "generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... - @typing.final - class ByteHeader(google.protobuf.message.Message): + @_typing.final + class ByteHeader(_message.Message): """header properties specific to byte or file streams""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - name: builtins.str + NAME_FIELD_NUMBER: _builtins.int + name: _builtins.str def __init__( self, *, - name: builtins.str | None = ..., + name: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["name", b"name"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["name", b"name"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... - @typing.final - class Header(google.protobuf.message.Message): + @_typing.final + class Header(_message.Message): """main DataStream.Header that contains a oneof for specific headers""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - STREAM_ID_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - MIME_TYPE_FIELD_NUMBER: builtins.int - TOPIC_FIELD_NUMBER: builtins.int - TOTAL_LENGTH_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - TEXT_HEADER_FIELD_NUMBER: builtins.int - BYTE_HEADER_FIELD_NUMBER: builtins.int - stream_id: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + STREAM_ID_FIELD_NUMBER: _builtins.int + TIMESTAMP_FIELD_NUMBER: _builtins.int + MIME_TYPE_FIELD_NUMBER: _builtins.int + TOPIC_FIELD_NUMBER: _builtins.int + TOTAL_LENGTH_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + TEXT_HEADER_FIELD_NUMBER: _builtins.int + BYTE_HEADER_FIELD_NUMBER: _builtins.int + stream_id: _builtins.str """unique identifier for this data stream""" - timestamp: builtins.int + timestamp: _builtins.int """using int64 for Unix timestamp""" - mime_type: builtins.str - topic: builtins.str - total_length: builtins.int + mime_type: _builtins.str + topic: _builtins.str + total_length: _builtins.int """only populated for finite streams, if it's a stream of unknown size this stays empty""" - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + @_builtins.property + def attributes(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: """user defined attributes map that can carry additional info""" - @property - def text_header(self) -> global___DataStream.TextHeader: ... - @property - def byte_header(self) -> global___DataStream.ByteHeader: ... + @_builtins.property + def text_header(self) -> Global___DataStream.TextHeader: ... + @_builtins.property + def byte_header(self) -> Global___DataStream.ByteHeader: ... def __init__( self, *, - stream_id: builtins.str | None = ..., - timestamp: builtins.int | None = ..., - mime_type: builtins.str | None = ..., - topic: builtins.str | None = ..., - total_length: builtins.int | None = ..., - attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., - text_header: global___DataStream.TextHeader | None = ..., - byte_header: global___DataStream.ByteHeader | None = ..., + stream_id: _builtins.str | None = ..., + timestamp: _builtins.int | None = ..., + mime_type: _builtins.str | None = ..., + topic: _builtins.str | None = ..., + total_length: _builtins.int | None = ..., + attributes: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., + text_header: Global___DataStream.TextHeader | None = ..., + byte_header: Global___DataStream.ByteHeader | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["byte_header", b"byte_header", "content_header", b"content_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "byte_header", b"byte_header", "content_header", b"content_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["content_header", b"content_header"]) -> typing.Literal["text_header", "byte_header"] | None: ... - - @typing.final - class Chunk(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STREAM_ID_FIELD_NUMBER: builtins.int - CHUNK_INDEX_FIELD_NUMBER: builtins.int - CONTENT_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - IV_FIELD_NUMBER: builtins.int - stream_id: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["byte_header", b"byte_header", "content_header", b"content_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attributes", b"attributes", "byte_header", b"byte_header", "content_header", b"content_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_length", b"total_length"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_content_header: _TypeAlias = _typing.Literal["text_header", "byte_header"] # noqa: Y015 + _WhichOneofArgType_content_header: _TypeAlias = _typing.Literal["content_header", b"content_header"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_content_header) -> _WhichOneofReturnType_content_header | None: ... + + @_typing.final + class Chunk(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + STREAM_ID_FIELD_NUMBER: _builtins.int + CHUNK_INDEX_FIELD_NUMBER: _builtins.int + CONTENT_FIELD_NUMBER: _builtins.int + VERSION_FIELD_NUMBER: _builtins.int + IV_FIELD_NUMBER: _builtins.int + stream_id: _builtins.str """unique identifier for this data stream to map it to the correct header""" - chunk_index: builtins.int - content: builtins.bytes + chunk_index: _builtins.int + content: _builtins.bytes """content as binary (bytes)""" - version: builtins.int + version: _builtins.int """a version indicating that this chunk_index has been retroactively modified and the original one needs to be replaced""" - iv: builtins.bytes + iv: _builtins.bytes """optional, initialization vector for AES-GCM encryption""" def __init__( self, *, - stream_id: builtins.str | None = ..., - chunk_index: builtins.int | None = ..., - content: builtins.bytes | None = ..., - version: builtins.int | None = ..., - iv: builtins.bytes | None = ..., + stream_id: _builtins.str | None = ..., + chunk_index: _builtins.int | None = ..., + content: _builtins.bytes | None = ..., + version: _builtins.int | None = ..., + iv: _builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> None: ... - - @typing.final - class Trailer(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class AttributesEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["chunk_index", b"chunk_index", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["chunk_index", b"chunk_index", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class Trailer(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + @_typing.final + class AttributesEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - STREAM_ID_FIELD_NUMBER: builtins.int - REASON_FIELD_NUMBER: builtins.int - ATTRIBUTES_FIELD_NUMBER: builtins.int - stream_id: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + STREAM_ID_FIELD_NUMBER: _builtins.int + REASON_FIELD_NUMBER: _builtins.int + ATTRIBUTES_FIELD_NUMBER: _builtins.int + stream_id: _builtins.str """unique identifier for this data stream""" - reason: builtins.str + reason: _builtins.str """reason why the stream was closed (could contain "error" / "interrupted" / empty for expected end)""" - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + @_builtins.property + def attributes(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: """finalizing updates for the stream, can also include additional insights for errors or endTime for transcription""" def __init__( self, *, - stream_id: builtins.str | None = ..., - reason: builtins.str | None = ..., - attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., + stream_id: _builtins.str | None = ..., + reason: _builtins.str | None = ..., + attributes: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reason", b"reason", "stream_id", b"stream_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "reason", b"reason", "stream_id", b"stream_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["reason", b"reason", "stream_id", b"stream_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["attributes", b"attributes", "reason", b"reason", "stream_id", b"stream_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... def __init__( self, ) -> None: ... -global___DataStream = DataStream +Global___DataStream: _TypeAlias = DataStream # noqa: Y015 -@typing.final -class DataStreamHeaderReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataStreamHeaderReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - HEADER_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def header(self) -> global___DataStream.Header: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + HEADER_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def header(self) -> Global___DataStream.Header: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - header: global___DataStream.Header | None = ..., + participant_identity: _builtins.str | None = ..., + header: Global___DataStream.Header | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["header", b"header", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["header", b"header", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataStreamHeaderReceived = DataStreamHeaderReceived +Global___DataStreamHeaderReceived: _TypeAlias = DataStreamHeaderReceived # noqa: Y015 -@typing.final -class DataStreamChunkReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataStreamChunkReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - CHUNK_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def chunk(self) -> global___DataStream.Chunk: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + CHUNK_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def chunk(self) -> Global___DataStream.Chunk: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - chunk: global___DataStream.Chunk | None = ..., + participant_identity: _builtins.str | None = ..., + chunk: Global___DataStream.Chunk | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["chunk", b"chunk", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["chunk", b"chunk", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["chunk", b"chunk", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["chunk", b"chunk", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataStreamChunkReceived = DataStreamChunkReceived +Global___DataStreamChunkReceived: _TypeAlias = DataStreamChunkReceived # noqa: Y015 -@typing.final -class DataStreamTrailerReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataStreamTrailerReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - TRAILER_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def trailer(self) -> global___DataStream.Trailer: ... + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + TRAILER_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def trailer(self) -> Global___DataStream.Trailer: ... def __init__( self, *, - participant_identity: builtins.str | None = ..., - trailer: global___DataStream.Trailer | None = ..., + participant_identity: _builtins.str | None = ..., + trailer: Global___DataStream.Trailer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "trailer", b"trailer"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "trailer", b"trailer"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "trailer", b"trailer"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "trailer", b"trailer"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataStreamTrailerReceived = DataStreamTrailerReceived +Global___DataStreamTrailerReceived: _TypeAlias = DataStreamTrailerReceived # noqa: Y015 -@typing.final -class SendStreamHeaderRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamHeaderRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - HEADER_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - SENDER_IDENTITY_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - sender_identity: builtins.str - request_async_id: builtins.int - @property - def header(self) -> global___DataStream.Header: ... - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + HEADER_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + SENDER_IDENTITY_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + sender_identity: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def header(self) -> Global___DataStream.Header: ... + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - header: global___DataStream.Header | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - sender_identity: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + header: Global___DataStream.Header | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + sender_identity: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["header", b"header", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "header", b"header", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["header", b"header", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["destination_identities", b"destination_identities", "header", b"header", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamHeaderRequest = SendStreamHeaderRequest +Global___SendStreamHeaderRequest: _TypeAlias = SendStreamHeaderRequest # noqa: Y015 -@typing.final -class SendStreamChunkRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamChunkRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - CHUNK_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - SENDER_IDENTITY_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - sender_identity: builtins.str - request_async_id: builtins.int - @property - def chunk(self) -> global___DataStream.Chunk: ... - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + CHUNK_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + SENDER_IDENTITY_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + sender_identity: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def chunk(self) -> Global___DataStream.Chunk: ... + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - chunk: global___DataStream.Chunk | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - sender_identity: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + chunk: Global___DataStream.Chunk | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + sender_identity: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["chunk", b"chunk", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["chunk", b"chunk", "destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["chunk", b"chunk", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["chunk", b"chunk", "destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamChunkRequest = SendStreamChunkRequest +Global___SendStreamChunkRequest: _TypeAlias = SendStreamChunkRequest # noqa: Y015 -@typing.final -class SendStreamTrailerRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamTrailerRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - TRAILER_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITIES_FIELD_NUMBER: builtins.int - SENDER_IDENTITY_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - sender_identity: builtins.str - request_async_id: builtins.int - @property - def trailer(self) -> global___DataStream.Trailer: ... - @property - def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + TRAILER_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITIES_FIELD_NUMBER: _builtins.int + SENDER_IDENTITY_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + sender_identity: _builtins.str + request_async_id: _builtins.int + @_builtins.property + def trailer(self) -> Global___DataStream.Trailer: ... + @_builtins.property + def destination_identities(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - trailer: global___DataStream.Trailer | None = ..., - destination_identities: collections.abc.Iterable[builtins.str] | None = ..., - sender_identity: builtins.str | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + trailer: Global___DataStream.Trailer | None = ..., + destination_identities: _abc.Iterable[_builtins.str] | None = ..., + sender_identity: _builtins.str | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity", "trailer", b"trailer"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity", "trailer", b"trailer"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity", "trailer", b"trailer"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "request_async_id", b"request_async_id", "sender_identity", b"sender_identity", "trailer", b"trailer"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamTrailerRequest = SendStreamTrailerRequest +Global___SendStreamTrailerRequest: _TypeAlias = SendStreamTrailerRequest # noqa: Y015 -@typing.final -class SendStreamHeaderResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamHeaderResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamHeaderResponse = SendStreamHeaderResponse +Global___SendStreamHeaderResponse: _TypeAlias = SendStreamHeaderResponse # noqa: Y015 -@typing.final -class SendStreamChunkResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamChunkResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamChunkResponse = SendStreamChunkResponse +Global___SendStreamChunkResponse: _TypeAlias = SendStreamChunkResponse # noqa: Y015 -@typing.final -class SendStreamTrailerResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamTrailerResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamTrailerResponse = SendStreamTrailerResponse +Global___SendStreamTrailerResponse: _TypeAlias = SendStreamTrailerResponse # noqa: Y015 -@typing.final -class SendStreamHeaderCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamHeaderCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamHeaderCallback = SendStreamHeaderCallback +Global___SendStreamHeaderCallback: _TypeAlias = SendStreamHeaderCallback # noqa: Y015 -@typing.final -class SendStreamChunkCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamChunkCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamChunkCallback = SendStreamChunkCallback +Global___SendStreamChunkCallback: _TypeAlias = SendStreamChunkCallback # noqa: Y015 -@typing.final -class SendStreamTrailerCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SendStreamTrailerCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SendStreamTrailerCallback = SendStreamTrailerCallback +Global___SendStreamTrailerCallback: _TypeAlias = SendStreamTrailerCallback # noqa: Y015 -@typing.final -class SetDataChannelBufferedAmountLowThresholdRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetDataChannelBufferedAmountLowThresholdRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - THRESHOLD_FIELD_NUMBER: builtins.int - KIND_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - threshold: builtins.int - kind: global___DataPacketKind.ValueType + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + THRESHOLD_FIELD_NUMBER: _builtins.int + KIND_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + threshold: _builtins.int + kind: Global___DataPacketKind.ValueType def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - threshold: builtins.int | None = ..., - kind: global___DataPacketKind.ValueType | None = ..., + local_participant_handle: _builtins.int | None = ..., + threshold: _builtins.int | None = ..., + kind: Global___DataPacketKind.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "local_participant_handle", b"local_participant_handle", "threshold", b"threshold"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "local_participant_handle", b"local_participant_handle", "threshold", b"threshold"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "local_participant_handle", b"local_participant_handle", "threshold", b"threshold"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "local_participant_handle", b"local_participant_handle", "threshold", b"threshold"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetDataChannelBufferedAmountLowThresholdRequest = SetDataChannelBufferedAmountLowThresholdRequest +Global___SetDataChannelBufferedAmountLowThresholdRequest: _TypeAlias = SetDataChannelBufferedAmountLowThresholdRequest # noqa: Y015 -@typing.final -class SetDataChannelBufferedAmountLowThresholdResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetDataChannelBufferedAmountLowThresholdResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___SetDataChannelBufferedAmountLowThresholdResponse = SetDataChannelBufferedAmountLowThresholdResponse +Global___SetDataChannelBufferedAmountLowThresholdResponse: _TypeAlias = SetDataChannelBufferedAmountLowThresholdResponse # noqa: Y015 -@typing.final -class DataChannelBufferedAmountLowThresholdChanged(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class DataChannelBufferedAmountLowThresholdChanged(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KIND_FIELD_NUMBER: builtins.int - THRESHOLD_FIELD_NUMBER: builtins.int - kind: global___DataPacketKind.ValueType - threshold: builtins.int + KIND_FIELD_NUMBER: _builtins.int + THRESHOLD_FIELD_NUMBER: _builtins.int + kind: Global___DataPacketKind.ValueType + threshold: _builtins.int def __init__( self, *, - kind: global___DataPacketKind.ValueType | None = ..., - threshold: builtins.int | None = ..., + kind: Global___DataPacketKind.ValueType | None = ..., + threshold: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "threshold", b"threshold"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "threshold", b"threshold"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "threshold", b"threshold"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "threshold", b"threshold"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataChannelBufferedAmountLowThresholdChanged = DataChannelBufferedAmountLowThresholdChanged +Global___DataChannelBufferedAmountLowThresholdChanged: _TypeAlias = DataChannelBufferedAmountLowThresholdChanged # noqa: Y015 -@typing.final -class ByteStreamOpened(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ByteStreamOpened(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - READER_FIELD_NUMBER: builtins.int - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def reader(self) -> data_stream_pb2.OwnedByteStreamReader: ... + READER_FIELD_NUMBER: _builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def reader(self) -> _data_stream_pb2.OwnedByteStreamReader: ... def __init__( self, *, - reader: data_stream_pb2.OwnedByteStreamReader | None = ..., - participant_identity: builtins.str | None = ..., + reader: _data_stream_pb2.OwnedByteStreamReader | None = ..., + participant_identity: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ByteStreamOpened = ByteStreamOpened +Global___ByteStreamOpened: _TypeAlias = ByteStreamOpened # noqa: Y015 -@typing.final -class TextStreamOpened(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class TextStreamOpened(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - READER_FIELD_NUMBER: builtins.int - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - participant_identity: builtins.str - @property - def reader(self) -> data_stream_pb2.OwnedTextStreamReader: ... + READER_FIELD_NUMBER: _builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str + @_builtins.property + def reader(self) -> _data_stream_pb2.OwnedTextStreamReader: ... def __init__( self, *, - reader: data_stream_pb2.OwnedTextStreamReader | None = ..., - participant_identity: builtins.str | None = ..., + reader: _data_stream_pb2.OwnedTextStreamReader | None = ..., + participant_identity: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["participant_identity", b"participant_identity", "reader", b"reader"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___TextStreamOpened = TextStreamOpened +Global___TextStreamOpened: _TypeAlias = TextStreamOpened # noqa: Y015 -@typing.final -class DataTrackPublished(google.protobuf.message.Message): +@_typing.final +class DataTrackPublished(_message.Message): """A remote participant published a data track.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_FIELD_NUMBER: builtins.int - @property - def track(self) -> data_track_pb2.OwnedRemoteDataTrack: ... + TRACK_FIELD_NUMBER: _builtins.int + @_builtins.property + def track(self) -> _data_track_pb2.OwnedRemoteDataTrack: ... def __init__( self, *, - track: data_track_pb2.OwnedRemoteDataTrack | None = ..., + track: _data_track_pb2.OwnedRemoteDataTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track", b"track"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track", b"track"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track", b"track"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackPublished = DataTrackPublished +Global___DataTrackPublished: _TypeAlias = DataTrackPublished # noqa: Y015 -@typing.final -class DataTrackUnpublished(google.protobuf.message.Message): +@_typing.final +class DataTrackUnpublished(_message.Message): """A remote participant unpublished a data track.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - SID_FIELD_NUMBER: builtins.int - sid: builtins.str + SID_FIELD_NUMBER: _builtins.int + sid: _builtins.str """SID of the track that was unpublished.""" def __init__( self, *, - sid: builtins.str | None = ..., + sid: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["sid", b"sid"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["sid", b"sid"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["sid", b"sid"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___DataTrackUnpublished = DataTrackUnpublished +Global___DataTrackUnpublished: _TypeAlias = DataTrackUnpublished # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py index c7211917..f78d1bd2 100644 --- a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: rpc.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,8 +19,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rpc_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_RPCERROR']._serialized_start=28 _globals['_RPCERROR']._serialized_end=83 _globals['_PERFORMRPCREQUEST']._serialized_start=86 diff --git a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi index bbed4217..2972b728 100644 --- a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi @@ -16,243 +16,267 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import google.protobuf.descriptor -import google.protobuf.message -import typing - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class RpcError(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CODE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - DATA_FIELD_NUMBER: builtins.int - code: builtins.int - message: builtins.str - data: builtins.str +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +import builtins as _builtins +import sys +import typing as _typing + +if sys.version_info >= (3, 10): + from typing import TypeAlias as _TypeAlias +else: + from typing_extensions import TypeAlias as _TypeAlias + +DESCRIPTOR: _descriptor.FileDescriptor + +@_typing.final +class RpcError(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + CODE_FIELD_NUMBER: _builtins.int + MESSAGE_FIELD_NUMBER: _builtins.int + DATA_FIELD_NUMBER: _builtins.int + code: _builtins.int + message: _builtins.str + data: _builtins.str def __init__( self, *, - code: builtins.int | None = ..., - message: builtins.str | None = ..., - data: builtins.str | None = ..., + code: _builtins.int | None = ..., + message: _builtins.str | None = ..., + data: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "data", b"data", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "data", b"data", "message", b"message"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "data", b"data", "message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["code", b"code", "data", b"data", "message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RpcError = RpcError +Global___RpcError: _TypeAlias = RpcError # noqa: Y015 -@typing.final -class PerformRpcRequest(google.protobuf.message.Message): +@_typing.final +class PerformRpcRequest(_message.Message): """FFI Requests""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - DESTINATION_IDENTITY_FIELD_NUMBER: builtins.int - METHOD_FIELD_NUMBER: builtins.int - PAYLOAD_FIELD_NUMBER: builtins.int - RESPONSE_TIMEOUT_MS_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - destination_identity: builtins.str - method: builtins.str - payload: builtins.str - response_timeout_ms: builtins.int - request_async_id: builtins.int + DESCRIPTOR: _descriptor.Descriptor + + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + DESTINATION_IDENTITY_FIELD_NUMBER: _builtins.int + METHOD_FIELD_NUMBER: _builtins.int + PAYLOAD_FIELD_NUMBER: _builtins.int + RESPONSE_TIMEOUT_MS_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + destination_identity: _builtins.str + method: _builtins.str + payload: _builtins.str + response_timeout_ms: _builtins.int + request_async_id: _builtins.int def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - destination_identity: builtins.str | None = ..., - method: builtins.str | None = ..., - payload: builtins.str | None = ..., - response_timeout_ms: builtins.int | None = ..., - request_async_id: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + destination_identity: _builtins.str | None = ..., + method: _builtins.str | None = ..., + payload: _builtins.str | None = ..., + response_timeout_ms: _builtins.int | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_async_id", b"request_async_id", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_async_id", b"request_async_id", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_async_id", b"request_async_id", "response_timeout_ms", b"response_timeout_ms"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_async_id", b"request_async_id", "response_timeout_ms", b"response_timeout_ms"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PerformRpcRequest = PerformRpcRequest +Global___PerformRpcRequest: _TypeAlias = PerformRpcRequest # noqa: Y015 -@typing.final -class RegisterRpcMethodRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RegisterRpcMethodRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - METHOD_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - method: builtins.str + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + METHOD_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + method: _builtins.str def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - method: builtins.str | None = ..., + local_participant_handle: _builtins.int | None = ..., + method: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RegisterRpcMethodRequest = RegisterRpcMethodRequest +Global___RegisterRpcMethodRequest: _TypeAlias = RegisterRpcMethodRequest # noqa: Y015 -@typing.final -class UnregisterRpcMethodRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class UnregisterRpcMethodRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - METHOD_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - method: builtins.str + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + METHOD_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + method: _builtins.str def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - method: builtins.str | None = ..., + local_participant_handle: _builtins.int | None = ..., + method: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... - -global___UnregisterRpcMethodRequest = UnregisterRpcMethodRequest - -@typing.final -class RpcMethodInvocationResponseRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - INVOCATION_ID_FIELD_NUMBER: builtins.int - PAYLOAD_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - invocation_id: builtins.int - payload: builtins.str - @property - def error(self) -> global___RpcError: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___UnregisterRpcMethodRequest: _TypeAlias = UnregisterRpcMethodRequest # noqa: Y015 + +@_typing.final +class RpcMethodInvocationResponseRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + INVOCATION_ID_FIELD_NUMBER: _builtins.int + PAYLOAD_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + invocation_id: _builtins.int + payload: _builtins.str + @_builtins.property + def error(self) -> Global___RpcError: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - invocation_id: builtins.int | None = ..., - payload: builtins.str | None = ..., - error: global___RpcError | None = ..., + local_participant_handle: _builtins.int | None = ..., + invocation_id: _builtins.int | None = ..., + payload: _builtins.str | None = ..., + error: Global___RpcError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RpcMethodInvocationResponseRequest = RpcMethodInvocationResponseRequest +Global___RpcMethodInvocationResponseRequest: _TypeAlias = RpcMethodInvocationResponseRequest # noqa: Y015 -@typing.final -class PerformRpcResponse(google.protobuf.message.Message): +@_typing.final +class PerformRpcResponse(_message.Message): """FFI Responses""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PerformRpcResponse = PerformRpcResponse +Global___PerformRpcResponse: _TypeAlias = PerformRpcResponse # noqa: Y015 -@typing.final -class RegisterRpcMethodResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RegisterRpcMethodResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___RegisterRpcMethodResponse = RegisterRpcMethodResponse +Global___RegisterRpcMethodResponse: _TypeAlias = RegisterRpcMethodResponse # noqa: Y015 -@typing.final -class UnregisterRpcMethodResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class UnregisterRpcMethodResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___UnregisterRpcMethodResponse = UnregisterRpcMethodResponse +Global___UnregisterRpcMethodResponse: _TypeAlias = UnregisterRpcMethodResponse # noqa: Y015 -@typing.final -class RpcMethodInvocationResponseResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class RpcMethodInvocationResponseResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ERROR_FIELD_NUMBER: builtins.int - error: builtins.str + ERROR_FIELD_NUMBER: _builtins.int + error: _builtins.str def __init__( self, *, - error: builtins.str | None = ..., + error: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["error", b"error"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RpcMethodInvocationResponseResponse = RpcMethodInvocationResponseResponse +Global___RpcMethodInvocationResponseResponse: _TypeAlias = RpcMethodInvocationResponseResponse # noqa: Y015 -@typing.final -class PerformRpcCallback(google.protobuf.message.Message): +@_typing.final +class PerformRpcCallback(_message.Message): """FFI Callbacks""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - PAYLOAD_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - async_id: builtins.int - payload: builtins.str - @property - def error(self) -> global___RpcError: ... + ASYNC_ID_FIELD_NUMBER: _builtins.int + PAYLOAD_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + payload: _builtins.str + @_builtins.property + def error(self) -> Global___RpcError: ... def __init__( self, *, - async_id: builtins.int | None = ..., - payload: builtins.str | None = ..., - error: global___RpcError | None = ..., + async_id: _builtins.int | None = ..., + payload: _builtins.str | None = ..., + error: Global___RpcError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___PerformRpcCallback = PerformRpcCallback +Global___PerformRpcCallback: _TypeAlias = PerformRpcCallback # noqa: Y015 -@typing.final -class RpcMethodInvocationEvent(google.protobuf.message.Message): +@_typing.final +class RpcMethodInvocationEvent(_message.Message): """FFI Events""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - INVOCATION_ID_FIELD_NUMBER: builtins.int - METHOD_FIELD_NUMBER: builtins.int - REQUEST_ID_FIELD_NUMBER: builtins.int - CALLER_IDENTITY_FIELD_NUMBER: builtins.int - PAYLOAD_FIELD_NUMBER: builtins.int - RESPONSE_TIMEOUT_MS_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - invocation_id: builtins.int - method: builtins.str - request_id: builtins.str - caller_identity: builtins.str - payload: builtins.str - response_timeout_ms: builtins.int + DESCRIPTOR: _descriptor.Descriptor + + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + INVOCATION_ID_FIELD_NUMBER: _builtins.int + METHOD_FIELD_NUMBER: _builtins.int + REQUEST_ID_FIELD_NUMBER: _builtins.int + CALLER_IDENTITY_FIELD_NUMBER: _builtins.int + PAYLOAD_FIELD_NUMBER: _builtins.int + RESPONSE_TIMEOUT_MS_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + invocation_id: _builtins.int + method: _builtins.str + request_id: _builtins.str + caller_identity: _builtins.str + payload: _builtins.str + response_timeout_ms: _builtins.int def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - invocation_id: builtins.int | None = ..., - method: builtins.str | None = ..., - request_id: builtins.str | None = ..., - caller_identity: builtins.str | None = ..., - payload: builtins.str | None = ..., - response_timeout_ms: builtins.int | None = ..., + local_participant_handle: _builtins.int | None = ..., + invocation_id: _builtins.int | None = ..., + method: _builtins.str | None = ..., + request_id: _builtins.str | None = ..., + caller_identity: _builtins.str | None = ..., + payload: _builtins.str | None = ..., + response_timeout_ms: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RpcMethodInvocationEvent = RpcMethodInvocationEvent +Global___RpcMethodInvocationEvent: _TypeAlias = RpcMethodInvocationEvent # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py index ce7b411c..3afb8ac4 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: stats.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,10 +19,11 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'stats_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._options = None - _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._serialized_options = b'8\001' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY._options = None + _OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY._serialized_options = b'8\001' _globals['_DATACHANNELSTATE']._serialized_start=9282 _globals['_DATACHANNELSTATE']._serialized_end=9363 _globals['_QUALITYLIMITATIONREASON']._serialized_start=9365 diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi index a77c233e..957fa990 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi @@ -16,28 +16,28 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins import sys -import typing +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _DataChannelState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _DataChannelStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataChannelState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _DataChannelStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_DataChannelState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor DC_CONNECTING: _DataChannelState.ValueType # 0 DC_OPEN: _DataChannelState.ValueType # 1 DC_CLOSING: _DataChannelState.ValueType # 2 @@ -49,14 +49,14 @@ DC_CONNECTING: DataChannelState.ValueType # 0 DC_OPEN: DataChannelState.ValueType # 1 DC_CLOSING: DataChannelState.ValueType # 2 DC_CLOSED: DataChannelState.ValueType # 3 -global___DataChannelState = DataChannelState +Global___DataChannelState: _TypeAlias = DataChannelState # noqa: Y015 class _QualityLimitationReason: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _QualityLimitationReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_QualityLimitationReason.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _QualityLimitationReasonEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_QualityLimitationReason.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor LIMITATION_NONE: _QualityLimitationReason.ValueType # 0 LIMITATION_CPU: _QualityLimitationReason.ValueType # 1 LIMITATION_BANDWIDTH: _QualityLimitationReason.ValueType # 2 @@ -68,14 +68,14 @@ LIMITATION_NONE: QualityLimitationReason.ValueType # 0 LIMITATION_CPU: QualityLimitationReason.ValueType # 1 LIMITATION_BANDWIDTH: QualityLimitationReason.ValueType # 2 LIMITATION_OTHER: QualityLimitationReason.ValueType # 3 -global___QualityLimitationReason = QualityLimitationReason +Global___QualityLimitationReason: _TypeAlias = QualityLimitationReason # noqa: Y015 class _IceRole: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _IceRoleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IceRole.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _IceRoleEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_IceRole.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor ICE_UNKNOWN: _IceRole.ValueType # 0 ICE_CONTROLLING: _IceRole.ValueType # 1 ICE_CONTROLLED: _IceRole.ValueType # 2 @@ -85,14 +85,14 @@ class IceRole(_IceRole, metaclass=_IceRoleEnumTypeWrapper): ... ICE_UNKNOWN: IceRole.ValueType # 0 ICE_CONTROLLING: IceRole.ValueType # 1 ICE_CONTROLLED: IceRole.ValueType # 2 -global___IceRole = IceRole +Global___IceRole: _TypeAlias = IceRole # noqa: Y015 class _DtlsTransportState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _DtlsTransportStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DtlsTransportState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _DtlsTransportStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_DtlsTransportState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor DTLS_TRANSPORT_NEW: _DtlsTransportState.ValueType # 0 DTLS_TRANSPORT_CONNECTING: _DtlsTransportState.ValueType # 1 DTLS_TRANSPORT_CONNECTED: _DtlsTransportState.ValueType # 2 @@ -106,14 +106,14 @@ DTLS_TRANSPORT_CONNECTING: DtlsTransportState.ValueType # 1 DTLS_TRANSPORT_CONNECTED: DtlsTransportState.ValueType # 2 DTLS_TRANSPORT_CLOSED: DtlsTransportState.ValueType # 3 DTLS_TRANSPORT_FAILED: DtlsTransportState.ValueType # 4 -global___DtlsTransportState = DtlsTransportState +Global___DtlsTransportState: _TypeAlias = DtlsTransportState # noqa: Y015 class _IceTransportState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _IceTransportStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IceTransportState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _IceTransportStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_IceTransportState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor ICE_TRANSPORT_NEW: _IceTransportState.ValueType # 0 ICE_TRANSPORT_CHECKING: _IceTransportState.ValueType # 1 ICE_TRANSPORT_CONNECTED: _IceTransportState.ValueType # 2 @@ -131,14 +131,14 @@ ICE_TRANSPORT_COMPLETED: IceTransportState.ValueType # 3 ICE_TRANSPORT_DISCONNECTED: IceTransportState.ValueType # 4 ICE_TRANSPORT_FAILED: IceTransportState.ValueType # 5 ICE_TRANSPORT_CLOSED: IceTransportState.ValueType # 6 -global___IceTransportState = IceTransportState +Global___IceTransportState: _TypeAlias = IceTransportState # noqa: Y015 class _DtlsRole: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _DtlsRoleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DtlsRole.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _DtlsRoleEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_DtlsRole.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor DTLS_CLIENT: _DtlsRole.ValueType # 0 DTLS_SERVER: _DtlsRole.ValueType # 1 DTLS_UNKNOWN: _DtlsRole.ValueType # 2 @@ -148,14 +148,14 @@ class DtlsRole(_DtlsRole, metaclass=_DtlsRoleEnumTypeWrapper): ... DTLS_CLIENT: DtlsRole.ValueType # 0 DTLS_SERVER: DtlsRole.ValueType # 1 DTLS_UNKNOWN: DtlsRole.ValueType # 2 -global___DtlsRole = DtlsRole +Global___DtlsRole: _TypeAlias = DtlsRole # noqa: Y015 class _IceCandidatePairState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _IceCandidatePairStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IceCandidatePairState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _IceCandidatePairStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_IceCandidatePairState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor PAIR_FROZEN: _IceCandidatePairState.ValueType # 0 PAIR_WAITING: _IceCandidatePairState.ValueType # 1 PAIR_IN_PROGRESS: _IceCandidatePairState.ValueType # 2 @@ -169,14 +169,14 @@ PAIR_WAITING: IceCandidatePairState.ValueType # 1 PAIR_IN_PROGRESS: IceCandidatePairState.ValueType # 2 PAIR_FAILED: IceCandidatePairState.ValueType # 3 PAIR_SUCCEEDED: IceCandidatePairState.ValueType # 4 -global___IceCandidatePairState = IceCandidatePairState +Global___IceCandidatePairState: _TypeAlias = IceCandidatePairState # noqa: Y015 class _IceCandidateType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _IceCandidateTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IceCandidateType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _IceCandidateTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_IceCandidateType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor HOST: _IceCandidateType.ValueType # 0 SRFLX: _IceCandidateType.ValueType # 1 PRFLX: _IceCandidateType.ValueType # 2 @@ -188,14 +188,14 @@ HOST: IceCandidateType.ValueType # 0 SRFLX: IceCandidateType.ValueType # 1 PRFLX: IceCandidateType.ValueType # 2 RELAY: IceCandidateType.ValueType # 3 -global___IceCandidateType = IceCandidateType +Global___IceCandidateType: _TypeAlias = IceCandidateType # noqa: Y015 class _IceServerTransportProtocol: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _IceServerTransportProtocolEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IceServerTransportProtocol.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _IceServerTransportProtocolEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_IceServerTransportProtocol.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor TRANSPORT_UDP: _IceServerTransportProtocol.ValueType # 0 TRANSPORT_TCP: _IceServerTransportProtocol.ValueType # 1 TRANSPORT_TLS: _IceServerTransportProtocol.ValueType # 2 @@ -205,14 +205,14 @@ class IceServerTransportProtocol(_IceServerTransportProtocol, metaclass=_IceServ TRANSPORT_UDP: IceServerTransportProtocol.ValueType # 0 TRANSPORT_TCP: IceServerTransportProtocol.ValueType # 1 TRANSPORT_TLS: IceServerTransportProtocol.ValueType # 2 -global___IceServerTransportProtocol = IceServerTransportProtocol +Global___IceServerTransportProtocol: _TypeAlias = IceServerTransportProtocol # noqa: Y015 class _IceTcpCandidateType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _IceTcpCandidateTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IceTcpCandidateType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _IceTcpCandidateTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_IceTcpCandidateType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor CANDIDATE_ACTIVE: _IceTcpCandidateType.ValueType # 0 CANDIDATE_PASSIVE: _IceTcpCandidateType.ValueType # 1 CANDIDATE_SO: _IceTcpCandidateType.ValueType # 2 @@ -222,1293 +222,1369 @@ class IceTcpCandidateType(_IceTcpCandidateType, metaclass=_IceTcpCandidateTypeEn CANDIDATE_ACTIVE: IceTcpCandidateType.ValueType # 0 CANDIDATE_PASSIVE: IceTcpCandidateType.ValueType # 1 CANDIDATE_SO: IceTcpCandidateType.ValueType # 2 -global___IceTcpCandidateType = IceTcpCandidateType - -@typing.final -class RtcStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class Codec(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - CODEC_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def codec(self) -> global___CodecStats: ... +Global___IceTcpCandidateType: _TypeAlias = IceTcpCandidateType # noqa: Y015 + +@_typing.final +class RtcStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + @_typing.final + class Codec(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + CODEC_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def codec(self) -> Global___CodecStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - codec: global___CodecStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + codec: Global___CodecStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["codec", b"codec", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["codec", b"codec", "rtc", b"rtc"]) -> None: ... - - @typing.final - class InboundRtp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - STREAM_FIELD_NUMBER: builtins.int - RECEIVED_FIELD_NUMBER: builtins.int - INBOUND_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def stream(self) -> global___RtpStreamStats: ... - @property - def received(self) -> global___ReceivedRtpStreamStats: ... - @property - def inbound(self) -> global___InboundRtpStreamStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["codec", b"codec", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["codec", b"codec", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class InboundRtp(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + STREAM_FIELD_NUMBER: _builtins.int + RECEIVED_FIELD_NUMBER: _builtins.int + INBOUND_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def stream(self) -> Global___RtpStreamStats: ... + @_builtins.property + def received(self) -> Global___ReceivedRtpStreamStats: ... + @_builtins.property + def inbound(self) -> Global___InboundRtpStreamStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - stream: global___RtpStreamStats | None = ..., - received: global___ReceivedRtpStreamStats | None = ..., - inbound: global___InboundRtpStreamStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + stream: Global___RtpStreamStats | None = ..., + received: Global___ReceivedRtpStreamStats | None = ..., + inbound: Global___InboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> None: ... - - @typing.final - class OutboundRtp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - STREAM_FIELD_NUMBER: builtins.int - SENT_FIELD_NUMBER: builtins.int - OUTBOUND_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def stream(self) -> global___RtpStreamStats: ... - @property - def sent(self) -> global___SentRtpStreamStats: ... - @property - def outbound(self) -> global___OutboundRtpStreamStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class OutboundRtp(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + STREAM_FIELD_NUMBER: _builtins.int + SENT_FIELD_NUMBER: _builtins.int + OUTBOUND_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def stream(self) -> Global___RtpStreamStats: ... + @_builtins.property + def sent(self) -> Global___SentRtpStreamStats: ... + @_builtins.property + def outbound(self) -> Global___OutboundRtpStreamStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - stream: global___RtpStreamStats | None = ..., - sent: global___SentRtpStreamStats | None = ..., - outbound: global___OutboundRtpStreamStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + stream: Global___RtpStreamStats | None = ..., + sent: Global___SentRtpStreamStats | None = ..., + outbound: Global___OutboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... - - @typing.final - class RemoteInboundRtp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - STREAM_FIELD_NUMBER: builtins.int - RECEIVED_FIELD_NUMBER: builtins.int - REMOTE_INBOUND_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def stream(self) -> global___RtpStreamStats: ... - @property - def received(self) -> global___ReceivedRtpStreamStats: ... - @property - def remote_inbound(self) -> global___RemoteInboundRtpStreamStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class RemoteInboundRtp(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + STREAM_FIELD_NUMBER: _builtins.int + RECEIVED_FIELD_NUMBER: _builtins.int + REMOTE_INBOUND_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def stream(self) -> Global___RtpStreamStats: ... + @_builtins.property + def received(self) -> Global___ReceivedRtpStreamStats: ... + @_builtins.property + def remote_inbound(self) -> Global___RemoteInboundRtpStreamStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - stream: global___RtpStreamStats | None = ..., - received: global___ReceivedRtpStreamStats | None = ..., - remote_inbound: global___RemoteInboundRtpStreamStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + stream: Global___RtpStreamStats | None = ..., + received: Global___ReceivedRtpStreamStats | None = ..., + remote_inbound: Global___RemoteInboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> None: ... - - @typing.final - class RemoteOutboundRtp(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - STREAM_FIELD_NUMBER: builtins.int - SENT_FIELD_NUMBER: builtins.int - REMOTE_OUTBOUND_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def stream(self) -> global___RtpStreamStats: ... - @property - def sent(self) -> global___SentRtpStreamStats: ... - @property - def remote_outbound(self) -> global___RemoteOutboundRtpStreamStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class RemoteOutboundRtp(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + STREAM_FIELD_NUMBER: _builtins.int + SENT_FIELD_NUMBER: _builtins.int + REMOTE_OUTBOUND_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def stream(self) -> Global___RtpStreamStats: ... + @_builtins.property + def sent(self) -> Global___SentRtpStreamStats: ... + @_builtins.property + def remote_outbound(self) -> Global___RemoteOutboundRtpStreamStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - stream: global___RtpStreamStats | None = ..., - sent: global___SentRtpStreamStats | None = ..., - remote_outbound: global___RemoteOutboundRtpStreamStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + stream: Global___RtpStreamStats | None = ..., + sent: Global___SentRtpStreamStats | None = ..., + remote_outbound: Global___RemoteOutboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... - - @typing.final - class MediaSource(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - SOURCE_FIELD_NUMBER: builtins.int - AUDIO_FIELD_NUMBER: builtins.int - VIDEO_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def source(self) -> global___MediaSourceStats: ... - @property - def audio(self) -> global___AudioSourceStats: ... - @property - def video(self) -> global___VideoSourceStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class MediaSource(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + SOURCE_FIELD_NUMBER: _builtins.int + AUDIO_FIELD_NUMBER: _builtins.int + VIDEO_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def source(self) -> Global___MediaSourceStats: ... + @_builtins.property + def audio(self) -> Global___AudioSourceStats: ... + @_builtins.property + def video(self) -> Global___VideoSourceStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - source: global___MediaSourceStats | None = ..., - audio: global___AudioSourceStats | None = ..., - video: global___VideoSourceStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + source: Global___MediaSourceStats | None = ..., + audio: Global___AudioSourceStats | None = ..., + video: Global___VideoSourceStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> None: ... - - @typing.final - class MediaPlayout(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - AUDIO_PLAYOUT_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def audio_playout(self) -> global___AudioPlayoutStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class MediaPlayout(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + AUDIO_PLAYOUT_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def audio_playout(self) -> Global___AudioPlayoutStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - audio_playout: global___AudioPlayoutStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + audio_playout: Global___AudioPlayoutStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> None: ... - - @typing.final - class PeerConnection(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - PC_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def pc(self) -> global___PeerConnectionStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class PeerConnection(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + PC_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def pc(self) -> Global___PeerConnectionStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - pc: global___PeerConnectionStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + pc: Global___PeerConnectionStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["pc", b"pc", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["pc", b"pc", "rtc", b"rtc"]) -> None: ... - - @typing.final - class DataChannel(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - DC_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def dc(self) -> global___DataChannelStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["pc", b"pc", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["pc", b"pc", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class DataChannel(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + DC_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def dc(self) -> Global___DataChannelStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - dc: global___DataChannelStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + dc: Global___DataChannelStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["dc", b"dc", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["dc", b"dc", "rtc", b"rtc"]) -> None: ... - - @typing.final - class Transport(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - TRANSPORT_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def transport(self) -> global___TransportStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["dc", b"dc", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["dc", b"dc", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class Transport(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + TRANSPORT_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def transport(self) -> Global___TransportStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - transport: global___TransportStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + transport: Global___TransportStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["rtc", b"rtc", "transport", b"transport"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["rtc", b"rtc", "transport", b"transport"]) -> None: ... - - @typing.final - class CandidatePair(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - CANDIDATE_PAIR_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def candidate_pair(self) -> global___CandidatePairStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["rtc", b"rtc", "transport", b"transport"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["rtc", b"rtc", "transport", b"transport"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class CandidatePair(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + CANDIDATE_PAIR_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def candidate_pair(self) -> Global___CandidatePairStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - candidate_pair: global___CandidatePairStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + candidate_pair: Global___CandidatePairStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> None: ... - - @typing.final - class LocalCandidate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - CANDIDATE_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def candidate(self) -> global___IceCandidateStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class LocalCandidate(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + CANDIDATE_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def candidate(self) -> Global___IceCandidateStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - candidate: global___IceCandidateStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + candidate: Global___IceCandidateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... - - @typing.final - class RemoteCandidate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - CANDIDATE_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def candidate(self) -> global___IceCandidateStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["candidate", b"candidate", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["candidate", b"candidate", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class RemoteCandidate(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + CANDIDATE_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def candidate(self) -> Global___IceCandidateStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - candidate: global___IceCandidateStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + candidate: Global___IceCandidateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... - - @typing.final - class Certificate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - CERTIFICATE_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def certificate(self) -> global___CertificateStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["candidate", b"candidate", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["candidate", b"candidate", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class Certificate(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + CERTIFICATE_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def certificate(self) -> Global___CertificateStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - certificate: global___CertificateStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + certificate: Global___CertificateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> None: ... - - @typing.final - class Stream(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RTC_FIELD_NUMBER: builtins.int - STREAM_FIELD_NUMBER: builtins.int - @property - def rtc(self) -> global___RtcStatsData: ... - @property - def stream(self) -> global___StreamStats: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["certificate", b"certificate", "rtc", b"rtc"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["certificate", b"certificate", "rtc", b"rtc"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + @_typing.final + class Stream(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + RTC_FIELD_NUMBER: _builtins.int + STREAM_FIELD_NUMBER: _builtins.int + @_builtins.property + def rtc(self) -> Global___RtcStatsData: ... + @_builtins.property + def stream(self) -> Global___StreamStats: ... def __init__( self, *, - rtc: global___RtcStatsData | None = ..., - stream: global___StreamStats | None = ..., + rtc: Global___RtcStatsData | None = ..., + stream: Global___StreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["rtc", b"rtc", "stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["rtc", b"rtc", "stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... - @typing.final - class Track(google.protobuf.message.Message): + @_typing.final + class Track(_message.Message): """Deprecated""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... - CODEC_FIELD_NUMBER: builtins.int - INBOUND_RTP_FIELD_NUMBER: builtins.int - OUTBOUND_RTP_FIELD_NUMBER: builtins.int - REMOTE_INBOUND_RTP_FIELD_NUMBER: builtins.int - REMOTE_OUTBOUND_RTP_FIELD_NUMBER: builtins.int - MEDIA_SOURCE_FIELD_NUMBER: builtins.int - MEDIA_PLAYOUT_FIELD_NUMBER: builtins.int - PEER_CONNECTION_FIELD_NUMBER: builtins.int - DATA_CHANNEL_FIELD_NUMBER: builtins.int - TRANSPORT_FIELD_NUMBER: builtins.int - CANDIDATE_PAIR_FIELD_NUMBER: builtins.int - LOCAL_CANDIDATE_FIELD_NUMBER: builtins.int - REMOTE_CANDIDATE_FIELD_NUMBER: builtins.int - CERTIFICATE_FIELD_NUMBER: builtins.int - STREAM_FIELD_NUMBER: builtins.int - TRACK_FIELD_NUMBER: builtins.int - @property - def codec(self) -> global___RtcStats.Codec: ... - @property - def inbound_rtp(self) -> global___RtcStats.InboundRtp: ... - @property - def outbound_rtp(self) -> global___RtcStats.OutboundRtp: ... - @property - def remote_inbound_rtp(self) -> global___RtcStats.RemoteInboundRtp: ... - @property - def remote_outbound_rtp(self) -> global___RtcStats.RemoteOutboundRtp: ... - @property - def media_source(self) -> global___RtcStats.MediaSource: ... - @property - def media_playout(self) -> global___RtcStats.MediaPlayout: ... - @property - def peer_connection(self) -> global___RtcStats.PeerConnection: ... - @property - def data_channel(self) -> global___RtcStats.DataChannel: ... - @property - def transport(self) -> global___RtcStats.Transport: ... - @property - def candidate_pair(self) -> global___RtcStats.CandidatePair: ... - @property - def local_candidate(self) -> global___RtcStats.LocalCandidate: ... - @property - def remote_candidate(self) -> global___RtcStats.RemoteCandidate: ... - @property - def certificate(self) -> global___RtcStats.Certificate: ... - @property - def stream(self) -> global___RtcStats.Stream: ... - @property - def track(self) -> global___RtcStats.Track: ... + CODEC_FIELD_NUMBER: _builtins.int + INBOUND_RTP_FIELD_NUMBER: _builtins.int + OUTBOUND_RTP_FIELD_NUMBER: _builtins.int + REMOTE_INBOUND_RTP_FIELD_NUMBER: _builtins.int + REMOTE_OUTBOUND_RTP_FIELD_NUMBER: _builtins.int + MEDIA_SOURCE_FIELD_NUMBER: _builtins.int + MEDIA_PLAYOUT_FIELD_NUMBER: _builtins.int + PEER_CONNECTION_FIELD_NUMBER: _builtins.int + DATA_CHANNEL_FIELD_NUMBER: _builtins.int + TRANSPORT_FIELD_NUMBER: _builtins.int + CANDIDATE_PAIR_FIELD_NUMBER: _builtins.int + LOCAL_CANDIDATE_FIELD_NUMBER: _builtins.int + REMOTE_CANDIDATE_FIELD_NUMBER: _builtins.int + CERTIFICATE_FIELD_NUMBER: _builtins.int + STREAM_FIELD_NUMBER: _builtins.int + TRACK_FIELD_NUMBER: _builtins.int + @_builtins.property + def codec(self) -> Global___RtcStats.Codec: ... + @_builtins.property + def inbound_rtp(self) -> Global___RtcStats.InboundRtp: ... + @_builtins.property + def outbound_rtp(self) -> Global___RtcStats.OutboundRtp: ... + @_builtins.property + def remote_inbound_rtp(self) -> Global___RtcStats.RemoteInboundRtp: ... + @_builtins.property + def remote_outbound_rtp(self) -> Global___RtcStats.RemoteOutboundRtp: ... + @_builtins.property + def media_source(self) -> Global___RtcStats.MediaSource: ... + @_builtins.property + def media_playout(self) -> Global___RtcStats.MediaPlayout: ... + @_builtins.property + def peer_connection(self) -> Global___RtcStats.PeerConnection: ... + @_builtins.property + def data_channel(self) -> Global___RtcStats.DataChannel: ... + @_builtins.property + def transport(self) -> Global___RtcStats.Transport: ... + @_builtins.property + def candidate_pair(self) -> Global___RtcStats.CandidatePair: ... + @_builtins.property + def local_candidate(self) -> Global___RtcStats.LocalCandidate: ... + @_builtins.property + def remote_candidate(self) -> Global___RtcStats.RemoteCandidate: ... + @_builtins.property + def certificate(self) -> Global___RtcStats.Certificate: ... + @_builtins.property + def stream(self) -> Global___RtcStats.Stream: ... + @_builtins.property + def track(self) -> Global___RtcStats.Track: ... def __init__( self, *, - codec: global___RtcStats.Codec | None = ..., - inbound_rtp: global___RtcStats.InboundRtp | None = ..., - outbound_rtp: global___RtcStats.OutboundRtp | None = ..., - remote_inbound_rtp: global___RtcStats.RemoteInboundRtp | None = ..., - remote_outbound_rtp: global___RtcStats.RemoteOutboundRtp | None = ..., - media_source: global___RtcStats.MediaSource | None = ..., - media_playout: global___RtcStats.MediaPlayout | None = ..., - peer_connection: global___RtcStats.PeerConnection | None = ..., - data_channel: global___RtcStats.DataChannel | None = ..., - transport: global___RtcStats.Transport | None = ..., - candidate_pair: global___RtcStats.CandidatePair | None = ..., - local_candidate: global___RtcStats.LocalCandidate | None = ..., - remote_candidate: global___RtcStats.RemoteCandidate | None = ..., - certificate: global___RtcStats.Certificate | None = ..., - stream: global___RtcStats.Stream | None = ..., - track: global___RtcStats.Track | None = ..., + codec: Global___RtcStats.Codec | None = ..., + inbound_rtp: Global___RtcStats.InboundRtp | None = ..., + outbound_rtp: Global___RtcStats.OutboundRtp | None = ..., + remote_inbound_rtp: Global___RtcStats.RemoteInboundRtp | None = ..., + remote_outbound_rtp: Global___RtcStats.RemoteOutboundRtp | None = ..., + media_source: Global___RtcStats.MediaSource | None = ..., + media_playout: Global___RtcStats.MediaPlayout | None = ..., + peer_connection: Global___RtcStats.PeerConnection | None = ..., + data_channel: Global___RtcStats.DataChannel | None = ..., + transport: Global___RtcStats.Transport | None = ..., + candidate_pair: Global___RtcStats.CandidatePair | None = ..., + local_candidate: Global___RtcStats.LocalCandidate | None = ..., + remote_candidate: Global___RtcStats.RemoteCandidate | None = ..., + certificate: Global___RtcStats.Certificate | None = ..., + stream: Global___RtcStats.Stream | None = ..., + track: Global___RtcStats.Track | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["stats", b"stats"]) -> typing.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "stream", "track"] | None: ... - -global___RtcStats = RtcStats - -@typing.final -class RtcStatsData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ID_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - id: builtins.str - timestamp: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_stats: _TypeAlias = _typing.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "stream", "track"] # noqa: Y015 + _WhichOneofArgType_stats: _TypeAlias = _typing.Literal["stats", b"stats"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_stats) -> _WhichOneofReturnType_stats | None: ... + +Global___RtcStats: _TypeAlias = RtcStats # noqa: Y015 + +@_typing.final +class RtcStatsData(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ID_FIELD_NUMBER: _builtins.int + TIMESTAMP_FIELD_NUMBER: _builtins.int + id: _builtins.str + timestamp: _builtins.int def __init__( self, *, - id: builtins.str | None = ..., - timestamp: builtins.int | None = ..., + id: _builtins.str | None = ..., + timestamp: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["id", b"id", "timestamp", b"timestamp"]) -> None: ... - -global___RtcStatsData = RtcStatsData - -@typing.final -class CodecStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PAYLOAD_TYPE_FIELD_NUMBER: builtins.int - TRANSPORT_ID_FIELD_NUMBER: builtins.int - MIME_TYPE_FIELD_NUMBER: builtins.int - CLOCK_RATE_FIELD_NUMBER: builtins.int - CHANNELS_FIELD_NUMBER: builtins.int - SDP_FMTP_LINE_FIELD_NUMBER: builtins.int - payload_type: builtins.int - transport_id: builtins.str - mime_type: builtins.str - clock_rate: builtins.int - channels: builtins.int - sdp_fmtp_line: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["id", b"id", "timestamp", b"timestamp"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["id", b"id", "timestamp", b"timestamp"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___RtcStatsData: _TypeAlias = RtcStatsData # noqa: Y015 + +@_typing.final +class CodecStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + PAYLOAD_TYPE_FIELD_NUMBER: _builtins.int + TRANSPORT_ID_FIELD_NUMBER: _builtins.int + MIME_TYPE_FIELD_NUMBER: _builtins.int + CLOCK_RATE_FIELD_NUMBER: _builtins.int + CHANNELS_FIELD_NUMBER: _builtins.int + SDP_FMTP_LINE_FIELD_NUMBER: _builtins.int + payload_type: _builtins.int + transport_id: _builtins.str + mime_type: _builtins.str + clock_rate: _builtins.int + channels: _builtins.int + sdp_fmtp_line: _builtins.str def __init__( self, *, - payload_type: builtins.int | None = ..., - transport_id: builtins.str | None = ..., - mime_type: builtins.str | None = ..., - clock_rate: builtins.int | None = ..., - channels: builtins.int | None = ..., - sdp_fmtp_line: builtins.str | None = ..., + payload_type: _builtins.int | None = ..., + transport_id: _builtins.str | None = ..., + mime_type: _builtins.str | None = ..., + clock_rate: _builtins.int | None = ..., + channels: _builtins.int | None = ..., + sdp_fmtp_line: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> None: ... - -global___CodecStats = CodecStats - -@typing.final -class RtpStreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SSRC_FIELD_NUMBER: builtins.int - KIND_FIELD_NUMBER: builtins.int - TRANSPORT_ID_FIELD_NUMBER: builtins.int - CODEC_ID_FIELD_NUMBER: builtins.int - ssrc: builtins.int - kind: builtins.str - transport_id: builtins.str - codec_id: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___CodecStats: _TypeAlias = CodecStats # noqa: Y015 + +@_typing.final +class RtpStreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + SSRC_FIELD_NUMBER: _builtins.int + KIND_FIELD_NUMBER: _builtins.int + TRANSPORT_ID_FIELD_NUMBER: _builtins.int + CODEC_ID_FIELD_NUMBER: _builtins.int + ssrc: _builtins.int + kind: _builtins.str + transport_id: _builtins.str + codec_id: _builtins.str def __init__( self, *, - ssrc: builtins.int | None = ..., - kind: builtins.str | None = ..., - transport_id: builtins.str | None = ..., - codec_id: builtins.str | None = ..., + ssrc: _builtins.int | None = ..., + kind: _builtins.str | None = ..., + transport_id: _builtins.str | None = ..., + codec_id: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> None: ... - -global___RtpStreamStats = RtpStreamStats - -@typing.final -class ReceivedRtpStreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PACKETS_RECEIVED_FIELD_NUMBER: builtins.int - PACKETS_LOST_FIELD_NUMBER: builtins.int - JITTER_FIELD_NUMBER: builtins.int - packets_received: builtins.int - packets_lost: builtins.int - jitter: builtins.float + _HasFieldArgType: _TypeAlias = _typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___RtpStreamStats: _TypeAlias = RtpStreamStats # noqa: Y015 + +@_typing.final +class ReceivedRtpStreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + PACKETS_RECEIVED_FIELD_NUMBER: _builtins.int + PACKETS_LOST_FIELD_NUMBER: _builtins.int + JITTER_FIELD_NUMBER: _builtins.int + packets_received: _builtins.int + packets_lost: _builtins.int + jitter: _builtins.float def __init__( self, *, - packets_received: builtins.int | None = ..., - packets_lost: builtins.int | None = ..., - jitter: builtins.float | None = ..., + packets_received: _builtins.int | None = ..., + packets_lost: _builtins.int | None = ..., + jitter: _builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> None: ... - -global___ReceivedRtpStreamStats = ReceivedRtpStreamStats - -@typing.final -class InboundRtpStreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TRACK_IDENTIFIER_FIELD_NUMBER: builtins.int - MID_FIELD_NUMBER: builtins.int - REMOTE_ID_FIELD_NUMBER: builtins.int - FRAMES_DECODED_FIELD_NUMBER: builtins.int - KEY_FRAMES_DECODED_FIELD_NUMBER: builtins.int - FRAMES_RENDERED_FIELD_NUMBER: builtins.int - FRAMES_DROPPED_FIELD_NUMBER: builtins.int - FRAME_WIDTH_FIELD_NUMBER: builtins.int - FRAME_HEIGHT_FIELD_NUMBER: builtins.int - FRAMES_PER_SECOND_FIELD_NUMBER: builtins.int - QP_SUM_FIELD_NUMBER: builtins.int - TOTAL_DECODE_TIME_FIELD_NUMBER: builtins.int - TOTAL_INTER_FRAME_DELAY_FIELD_NUMBER: builtins.int - TOTAL_SQUARED_INTER_FRAME_DELAY_FIELD_NUMBER: builtins.int - PAUSE_COUNT_FIELD_NUMBER: builtins.int - TOTAL_PAUSE_DURATION_FIELD_NUMBER: builtins.int - FREEZE_COUNT_FIELD_NUMBER: builtins.int - TOTAL_FREEZE_DURATION_FIELD_NUMBER: builtins.int - LAST_PACKET_RECEIVED_TIMESTAMP_FIELD_NUMBER: builtins.int - HEADER_BYTES_RECEIVED_FIELD_NUMBER: builtins.int - PACKETS_DISCARDED_FIELD_NUMBER: builtins.int - FEC_BYTES_RECEIVED_FIELD_NUMBER: builtins.int - FEC_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int - FEC_PACKETS_DISCARDED_FIELD_NUMBER: builtins.int - BYTES_RECEIVED_FIELD_NUMBER: builtins.int - NACK_COUNT_FIELD_NUMBER: builtins.int - FIR_COUNT_FIELD_NUMBER: builtins.int - PLI_COUNT_FIELD_NUMBER: builtins.int - TOTAL_PROCESSING_DELAY_FIELD_NUMBER: builtins.int - ESTIMATED_PLAYOUT_TIMESTAMP_FIELD_NUMBER: builtins.int - JITTER_BUFFER_DELAY_FIELD_NUMBER: builtins.int - JITTER_BUFFER_TARGET_DELAY_FIELD_NUMBER: builtins.int - JITTER_BUFFER_EMITTED_COUNT_FIELD_NUMBER: builtins.int - JITTER_BUFFER_MINIMUM_DELAY_FIELD_NUMBER: builtins.int - TOTAL_SAMPLES_RECEIVED_FIELD_NUMBER: builtins.int - CONCEALED_SAMPLES_FIELD_NUMBER: builtins.int - SILENT_CONCEALED_SAMPLES_FIELD_NUMBER: builtins.int - CONCEALMENT_EVENTS_FIELD_NUMBER: builtins.int - INSERTED_SAMPLES_FOR_DECELERATION_FIELD_NUMBER: builtins.int - REMOVED_SAMPLES_FOR_ACCELERATION_FIELD_NUMBER: builtins.int - AUDIO_LEVEL_FIELD_NUMBER: builtins.int - TOTAL_AUDIO_ENERGY_FIELD_NUMBER: builtins.int - TOTAL_SAMPLES_DURATION_FIELD_NUMBER: builtins.int - FRAMES_RECEIVED_FIELD_NUMBER: builtins.int - DECODER_IMPLEMENTATION_FIELD_NUMBER: builtins.int - PLAYOUT_ID_FIELD_NUMBER: builtins.int - POWER_EFFICIENT_DECODER_FIELD_NUMBER: builtins.int - FRAMES_ASSEMBLED_FROM_MULTIPLE_PACKETS_FIELD_NUMBER: builtins.int - TOTAL_ASSEMBLY_TIME_FIELD_NUMBER: builtins.int - RETRANSMITTED_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int - RETRANSMITTED_BYTES_RECEIVED_FIELD_NUMBER: builtins.int - RTX_SSRC_FIELD_NUMBER: builtins.int - FEC_SSRC_FIELD_NUMBER: builtins.int - track_identifier: builtins.str - mid: builtins.str - remote_id: builtins.str - frames_decoded: builtins.int - key_frames_decoded: builtins.int - frames_rendered: builtins.int - frames_dropped: builtins.int - frame_width: builtins.int - frame_height: builtins.int - frames_per_second: builtins.float - qp_sum: builtins.int - total_decode_time: builtins.float - total_inter_frame_delay: builtins.float - total_squared_inter_frame_delay: builtins.float - pause_count: builtins.int - total_pause_duration: builtins.float - freeze_count: builtins.int - total_freeze_duration: builtins.float - last_packet_received_timestamp: builtins.float - header_bytes_received: builtins.int - packets_discarded: builtins.int - fec_bytes_received: builtins.int - fec_packets_received: builtins.int - fec_packets_discarded: builtins.int - bytes_received: builtins.int - nack_count: builtins.int - fir_count: builtins.int - pli_count: builtins.int - total_processing_delay: builtins.float - estimated_playout_timestamp: builtins.float - jitter_buffer_delay: builtins.float - jitter_buffer_target_delay: builtins.float - jitter_buffer_emitted_count: builtins.int - jitter_buffer_minimum_delay: builtins.float - total_samples_received: builtins.int - concealed_samples: builtins.int - silent_concealed_samples: builtins.int - concealment_events: builtins.int - inserted_samples_for_deceleration: builtins.int - removed_samples_for_acceleration: builtins.int - audio_level: builtins.float - total_audio_energy: builtins.float - total_samples_duration: builtins.float - frames_received: builtins.int - decoder_implementation: builtins.str - playout_id: builtins.str - power_efficient_decoder: builtins.bool - frames_assembled_from_multiple_packets: builtins.int - total_assembly_time: builtins.float - retransmitted_packets_received: builtins.int - retransmitted_bytes_received: builtins.int - rtx_ssrc: builtins.int - fec_ssrc: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___ReceivedRtpStreamStats: _TypeAlias = ReceivedRtpStreamStats # noqa: Y015 + +@_typing.final +class InboundRtpStreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + TRACK_IDENTIFIER_FIELD_NUMBER: _builtins.int + MID_FIELD_NUMBER: _builtins.int + REMOTE_ID_FIELD_NUMBER: _builtins.int + FRAMES_DECODED_FIELD_NUMBER: _builtins.int + KEY_FRAMES_DECODED_FIELD_NUMBER: _builtins.int + FRAMES_RENDERED_FIELD_NUMBER: _builtins.int + FRAMES_DROPPED_FIELD_NUMBER: _builtins.int + FRAME_WIDTH_FIELD_NUMBER: _builtins.int + FRAME_HEIGHT_FIELD_NUMBER: _builtins.int + FRAMES_PER_SECOND_FIELD_NUMBER: _builtins.int + QP_SUM_FIELD_NUMBER: _builtins.int + TOTAL_DECODE_TIME_FIELD_NUMBER: _builtins.int + TOTAL_INTER_FRAME_DELAY_FIELD_NUMBER: _builtins.int + TOTAL_SQUARED_INTER_FRAME_DELAY_FIELD_NUMBER: _builtins.int + PAUSE_COUNT_FIELD_NUMBER: _builtins.int + TOTAL_PAUSE_DURATION_FIELD_NUMBER: _builtins.int + FREEZE_COUNT_FIELD_NUMBER: _builtins.int + TOTAL_FREEZE_DURATION_FIELD_NUMBER: _builtins.int + LAST_PACKET_RECEIVED_TIMESTAMP_FIELD_NUMBER: _builtins.int + HEADER_BYTES_RECEIVED_FIELD_NUMBER: _builtins.int + PACKETS_DISCARDED_FIELD_NUMBER: _builtins.int + FEC_BYTES_RECEIVED_FIELD_NUMBER: _builtins.int + FEC_PACKETS_RECEIVED_FIELD_NUMBER: _builtins.int + FEC_PACKETS_DISCARDED_FIELD_NUMBER: _builtins.int + BYTES_RECEIVED_FIELD_NUMBER: _builtins.int + NACK_COUNT_FIELD_NUMBER: _builtins.int + FIR_COUNT_FIELD_NUMBER: _builtins.int + PLI_COUNT_FIELD_NUMBER: _builtins.int + TOTAL_PROCESSING_DELAY_FIELD_NUMBER: _builtins.int + ESTIMATED_PLAYOUT_TIMESTAMP_FIELD_NUMBER: _builtins.int + JITTER_BUFFER_DELAY_FIELD_NUMBER: _builtins.int + JITTER_BUFFER_TARGET_DELAY_FIELD_NUMBER: _builtins.int + JITTER_BUFFER_EMITTED_COUNT_FIELD_NUMBER: _builtins.int + JITTER_BUFFER_MINIMUM_DELAY_FIELD_NUMBER: _builtins.int + TOTAL_SAMPLES_RECEIVED_FIELD_NUMBER: _builtins.int + CONCEALED_SAMPLES_FIELD_NUMBER: _builtins.int + SILENT_CONCEALED_SAMPLES_FIELD_NUMBER: _builtins.int + CONCEALMENT_EVENTS_FIELD_NUMBER: _builtins.int + INSERTED_SAMPLES_FOR_DECELERATION_FIELD_NUMBER: _builtins.int + REMOVED_SAMPLES_FOR_ACCELERATION_FIELD_NUMBER: _builtins.int + AUDIO_LEVEL_FIELD_NUMBER: _builtins.int + TOTAL_AUDIO_ENERGY_FIELD_NUMBER: _builtins.int + TOTAL_SAMPLES_DURATION_FIELD_NUMBER: _builtins.int + FRAMES_RECEIVED_FIELD_NUMBER: _builtins.int + DECODER_IMPLEMENTATION_FIELD_NUMBER: _builtins.int + PLAYOUT_ID_FIELD_NUMBER: _builtins.int + POWER_EFFICIENT_DECODER_FIELD_NUMBER: _builtins.int + FRAMES_ASSEMBLED_FROM_MULTIPLE_PACKETS_FIELD_NUMBER: _builtins.int + TOTAL_ASSEMBLY_TIME_FIELD_NUMBER: _builtins.int + RETRANSMITTED_PACKETS_RECEIVED_FIELD_NUMBER: _builtins.int + RETRANSMITTED_BYTES_RECEIVED_FIELD_NUMBER: _builtins.int + RTX_SSRC_FIELD_NUMBER: _builtins.int + FEC_SSRC_FIELD_NUMBER: _builtins.int + track_identifier: _builtins.str + mid: _builtins.str + remote_id: _builtins.str + frames_decoded: _builtins.int + key_frames_decoded: _builtins.int + frames_rendered: _builtins.int + frames_dropped: _builtins.int + frame_width: _builtins.int + frame_height: _builtins.int + frames_per_second: _builtins.float + qp_sum: _builtins.int + total_decode_time: _builtins.float + total_inter_frame_delay: _builtins.float + total_squared_inter_frame_delay: _builtins.float + pause_count: _builtins.int + total_pause_duration: _builtins.float + freeze_count: _builtins.int + total_freeze_duration: _builtins.float + last_packet_received_timestamp: _builtins.float + header_bytes_received: _builtins.int + packets_discarded: _builtins.int + fec_bytes_received: _builtins.int + fec_packets_received: _builtins.int + fec_packets_discarded: _builtins.int + bytes_received: _builtins.int + nack_count: _builtins.int + fir_count: _builtins.int + pli_count: _builtins.int + total_processing_delay: _builtins.float + estimated_playout_timestamp: _builtins.float + jitter_buffer_delay: _builtins.float + jitter_buffer_target_delay: _builtins.float + jitter_buffer_emitted_count: _builtins.int + jitter_buffer_minimum_delay: _builtins.float + total_samples_received: _builtins.int + concealed_samples: _builtins.int + silent_concealed_samples: _builtins.int + concealment_events: _builtins.int + inserted_samples_for_deceleration: _builtins.int + removed_samples_for_acceleration: _builtins.int + audio_level: _builtins.float + total_audio_energy: _builtins.float + total_samples_duration: _builtins.float + frames_received: _builtins.int + decoder_implementation: _builtins.str + playout_id: _builtins.str + power_efficient_decoder: _builtins.bool + frames_assembled_from_multiple_packets: _builtins.int + total_assembly_time: _builtins.float + retransmitted_packets_received: _builtins.int + retransmitted_bytes_received: _builtins.int + rtx_ssrc: _builtins.int + fec_ssrc: _builtins.int def __init__( self, *, - track_identifier: builtins.str | None = ..., - mid: builtins.str | None = ..., - remote_id: builtins.str | None = ..., - frames_decoded: builtins.int | None = ..., - key_frames_decoded: builtins.int | None = ..., - frames_rendered: builtins.int | None = ..., - frames_dropped: builtins.int | None = ..., - frame_width: builtins.int | None = ..., - frame_height: builtins.int | None = ..., - frames_per_second: builtins.float | None = ..., - qp_sum: builtins.int | None = ..., - total_decode_time: builtins.float | None = ..., - total_inter_frame_delay: builtins.float | None = ..., - total_squared_inter_frame_delay: builtins.float | None = ..., - pause_count: builtins.int | None = ..., - total_pause_duration: builtins.float | None = ..., - freeze_count: builtins.int | None = ..., - total_freeze_duration: builtins.float | None = ..., - last_packet_received_timestamp: builtins.float | None = ..., - header_bytes_received: builtins.int | None = ..., - packets_discarded: builtins.int | None = ..., - fec_bytes_received: builtins.int | None = ..., - fec_packets_received: builtins.int | None = ..., - fec_packets_discarded: builtins.int | None = ..., - bytes_received: builtins.int | None = ..., - nack_count: builtins.int | None = ..., - fir_count: builtins.int | None = ..., - pli_count: builtins.int | None = ..., - total_processing_delay: builtins.float | None = ..., - estimated_playout_timestamp: builtins.float | None = ..., - jitter_buffer_delay: builtins.float | None = ..., - jitter_buffer_target_delay: builtins.float | None = ..., - jitter_buffer_emitted_count: builtins.int | None = ..., - jitter_buffer_minimum_delay: builtins.float | None = ..., - total_samples_received: builtins.int | None = ..., - concealed_samples: builtins.int | None = ..., - silent_concealed_samples: builtins.int | None = ..., - concealment_events: builtins.int | None = ..., - inserted_samples_for_deceleration: builtins.int | None = ..., - removed_samples_for_acceleration: builtins.int | None = ..., - audio_level: builtins.float | None = ..., - total_audio_energy: builtins.float | None = ..., - total_samples_duration: builtins.float | None = ..., - frames_received: builtins.int | None = ..., - decoder_implementation: builtins.str | None = ..., - playout_id: builtins.str | None = ..., - power_efficient_decoder: builtins.bool | None = ..., - frames_assembled_from_multiple_packets: builtins.int | None = ..., - total_assembly_time: builtins.float | None = ..., - retransmitted_packets_received: builtins.int | None = ..., - retransmitted_bytes_received: builtins.int | None = ..., - rtx_ssrc: builtins.int | None = ..., - fec_ssrc: builtins.int | None = ..., + track_identifier: _builtins.str | None = ..., + mid: _builtins.str | None = ..., + remote_id: _builtins.str | None = ..., + frames_decoded: _builtins.int | None = ..., + key_frames_decoded: _builtins.int | None = ..., + frames_rendered: _builtins.int | None = ..., + frames_dropped: _builtins.int | None = ..., + frame_width: _builtins.int | None = ..., + frame_height: _builtins.int | None = ..., + frames_per_second: _builtins.float | None = ..., + qp_sum: _builtins.int | None = ..., + total_decode_time: _builtins.float | None = ..., + total_inter_frame_delay: _builtins.float | None = ..., + total_squared_inter_frame_delay: _builtins.float | None = ..., + pause_count: _builtins.int | None = ..., + total_pause_duration: _builtins.float | None = ..., + freeze_count: _builtins.int | None = ..., + total_freeze_duration: _builtins.float | None = ..., + last_packet_received_timestamp: _builtins.float | None = ..., + header_bytes_received: _builtins.int | None = ..., + packets_discarded: _builtins.int | None = ..., + fec_bytes_received: _builtins.int | None = ..., + fec_packets_received: _builtins.int | None = ..., + fec_packets_discarded: _builtins.int | None = ..., + bytes_received: _builtins.int | None = ..., + nack_count: _builtins.int | None = ..., + fir_count: _builtins.int | None = ..., + pli_count: _builtins.int | None = ..., + total_processing_delay: _builtins.float | None = ..., + estimated_playout_timestamp: _builtins.float | None = ..., + jitter_buffer_delay: _builtins.float | None = ..., + jitter_buffer_target_delay: _builtins.float | None = ..., + jitter_buffer_emitted_count: _builtins.int | None = ..., + jitter_buffer_minimum_delay: _builtins.float | None = ..., + total_samples_received: _builtins.int | None = ..., + concealed_samples: _builtins.int | None = ..., + silent_concealed_samples: _builtins.int | None = ..., + concealment_events: _builtins.int | None = ..., + inserted_samples_for_deceleration: _builtins.int | None = ..., + removed_samples_for_acceleration: _builtins.int | None = ..., + audio_level: _builtins.float | None = ..., + total_audio_energy: _builtins.float | None = ..., + total_samples_duration: _builtins.float | None = ..., + frames_received: _builtins.int | None = ..., + decoder_implementation: _builtins.str | None = ..., + playout_id: _builtins.str | None = ..., + power_efficient_decoder: _builtins.bool | None = ..., + frames_assembled_from_multiple_packets: _builtins.int | None = ..., + total_assembly_time: _builtins.float | None = ..., + retransmitted_packets_received: _builtins.int | None = ..., + retransmitted_bytes_received: _builtins.int | None = ..., + rtx_ssrc: _builtins.int | None = ..., + fec_ssrc: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___InboundRtpStreamStats = InboundRtpStreamStats +Global___InboundRtpStreamStats: _TypeAlias = InboundRtpStreamStats # noqa: Y015 -@typing.final -class SentRtpStreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SentRtpStreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PACKETS_SENT_FIELD_NUMBER: builtins.int - BYTES_SENT_FIELD_NUMBER: builtins.int - packets_sent: builtins.int - bytes_sent: builtins.int + PACKETS_SENT_FIELD_NUMBER: _builtins.int + BYTES_SENT_FIELD_NUMBER: _builtins.int + packets_sent: _builtins.int + bytes_sent: _builtins.int def __init__( self, *, - packets_sent: builtins.int | None = ..., - bytes_sent: builtins.int | None = ..., + packets_sent: _builtins.int | None = ..., + bytes_sent: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SentRtpStreamStats = SentRtpStreamStats +Global___SentRtpStreamStats: _TypeAlias = SentRtpStreamStats # noqa: Y015 -@typing.final -class OutboundRtpStreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class OutboundRtpStreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - @typing.final - class QualityLimitationDurationsEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + @_typing.final + class QualityLimitationDurationsEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.float + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.float def __init__( self, *, - key: builtins.str | None = ..., - value: builtins.float | None = ..., + key: _builtins.str | None = ..., + value: _builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... - - MID_FIELD_NUMBER: builtins.int - MEDIA_SOURCE_ID_FIELD_NUMBER: builtins.int - REMOTE_ID_FIELD_NUMBER: builtins.int - RID_FIELD_NUMBER: builtins.int - HEADER_BYTES_SENT_FIELD_NUMBER: builtins.int - RETRANSMITTED_PACKETS_SENT_FIELD_NUMBER: builtins.int - RETRANSMITTED_BYTES_SENT_FIELD_NUMBER: builtins.int - RTX_SSRC_FIELD_NUMBER: builtins.int - TARGET_BITRATE_FIELD_NUMBER: builtins.int - TOTAL_ENCODED_BYTES_TARGET_FIELD_NUMBER: builtins.int - FRAME_WIDTH_FIELD_NUMBER: builtins.int - FRAME_HEIGHT_FIELD_NUMBER: builtins.int - FRAMES_PER_SECOND_FIELD_NUMBER: builtins.int - FRAMES_SENT_FIELD_NUMBER: builtins.int - HUGE_FRAMES_SENT_FIELD_NUMBER: builtins.int - FRAMES_ENCODED_FIELD_NUMBER: builtins.int - KEY_FRAMES_ENCODED_FIELD_NUMBER: builtins.int - QP_SUM_FIELD_NUMBER: builtins.int - TOTAL_ENCODE_TIME_FIELD_NUMBER: builtins.int - TOTAL_PACKET_SEND_DELAY_FIELD_NUMBER: builtins.int - QUALITY_LIMITATION_REASON_FIELD_NUMBER: builtins.int - QUALITY_LIMITATION_DURATIONS_FIELD_NUMBER: builtins.int - QUALITY_LIMITATION_RESOLUTION_CHANGES_FIELD_NUMBER: builtins.int - NACK_COUNT_FIELD_NUMBER: builtins.int - FIR_COUNT_FIELD_NUMBER: builtins.int - PLI_COUNT_FIELD_NUMBER: builtins.int - ENCODER_IMPLEMENTATION_FIELD_NUMBER: builtins.int - POWER_EFFICIENT_ENCODER_FIELD_NUMBER: builtins.int - ACTIVE_FIELD_NUMBER: builtins.int - SCALABILITY_MODE_FIELD_NUMBER: builtins.int - mid: builtins.str - media_source_id: builtins.str - remote_id: builtins.str - rid: builtins.str - header_bytes_sent: builtins.int - retransmitted_packets_sent: builtins.int - retransmitted_bytes_sent: builtins.int - rtx_ssrc: builtins.int - target_bitrate: builtins.float - total_encoded_bytes_target: builtins.int - frame_width: builtins.int - frame_height: builtins.int - frames_per_second: builtins.float - frames_sent: builtins.int - huge_frames_sent: builtins.int - frames_encoded: builtins.int - key_frames_encoded: builtins.int - qp_sum: builtins.int - total_encode_time: builtins.float - total_packet_send_delay: builtins.float - quality_limitation_reason: global___QualityLimitationReason.ValueType - quality_limitation_resolution_changes: builtins.int - nack_count: builtins.int - fir_count: builtins.int - pli_count: builtins.int - encoder_implementation: builtins.str - power_efficient_encoder: builtins.bool - active: builtins.bool - scalability_mode: builtins.str - @property - def quality_limitation_durations(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + MID_FIELD_NUMBER: _builtins.int + MEDIA_SOURCE_ID_FIELD_NUMBER: _builtins.int + REMOTE_ID_FIELD_NUMBER: _builtins.int + RID_FIELD_NUMBER: _builtins.int + HEADER_BYTES_SENT_FIELD_NUMBER: _builtins.int + RETRANSMITTED_PACKETS_SENT_FIELD_NUMBER: _builtins.int + RETRANSMITTED_BYTES_SENT_FIELD_NUMBER: _builtins.int + RTX_SSRC_FIELD_NUMBER: _builtins.int + TARGET_BITRATE_FIELD_NUMBER: _builtins.int + TOTAL_ENCODED_BYTES_TARGET_FIELD_NUMBER: _builtins.int + FRAME_WIDTH_FIELD_NUMBER: _builtins.int + FRAME_HEIGHT_FIELD_NUMBER: _builtins.int + FRAMES_PER_SECOND_FIELD_NUMBER: _builtins.int + FRAMES_SENT_FIELD_NUMBER: _builtins.int + HUGE_FRAMES_SENT_FIELD_NUMBER: _builtins.int + FRAMES_ENCODED_FIELD_NUMBER: _builtins.int + KEY_FRAMES_ENCODED_FIELD_NUMBER: _builtins.int + QP_SUM_FIELD_NUMBER: _builtins.int + TOTAL_ENCODE_TIME_FIELD_NUMBER: _builtins.int + TOTAL_PACKET_SEND_DELAY_FIELD_NUMBER: _builtins.int + QUALITY_LIMITATION_REASON_FIELD_NUMBER: _builtins.int + QUALITY_LIMITATION_DURATIONS_FIELD_NUMBER: _builtins.int + QUALITY_LIMITATION_RESOLUTION_CHANGES_FIELD_NUMBER: _builtins.int + NACK_COUNT_FIELD_NUMBER: _builtins.int + FIR_COUNT_FIELD_NUMBER: _builtins.int + PLI_COUNT_FIELD_NUMBER: _builtins.int + ENCODER_IMPLEMENTATION_FIELD_NUMBER: _builtins.int + POWER_EFFICIENT_ENCODER_FIELD_NUMBER: _builtins.int + ACTIVE_FIELD_NUMBER: _builtins.int + SCALABILITY_MODE_FIELD_NUMBER: _builtins.int + mid: _builtins.str + media_source_id: _builtins.str + remote_id: _builtins.str + rid: _builtins.str + header_bytes_sent: _builtins.int + retransmitted_packets_sent: _builtins.int + retransmitted_bytes_sent: _builtins.int + rtx_ssrc: _builtins.int + target_bitrate: _builtins.float + total_encoded_bytes_target: _builtins.int + frame_width: _builtins.int + frame_height: _builtins.int + frames_per_second: _builtins.float + frames_sent: _builtins.int + huge_frames_sent: _builtins.int + frames_encoded: _builtins.int + key_frames_encoded: _builtins.int + qp_sum: _builtins.int + total_encode_time: _builtins.float + total_packet_send_delay: _builtins.float + quality_limitation_reason: Global___QualityLimitationReason.ValueType + quality_limitation_resolution_changes: _builtins.int + nack_count: _builtins.int + fir_count: _builtins.int + pli_count: _builtins.int + encoder_implementation: _builtins.str + power_efficient_encoder: _builtins.bool + active: _builtins.bool + scalability_mode: _builtins.str + @_builtins.property + def quality_limitation_durations(self) -> _containers.ScalarMap[_builtins.str, _builtins.float]: ... def __init__( self, *, - mid: builtins.str | None = ..., - media_source_id: builtins.str | None = ..., - remote_id: builtins.str | None = ..., - rid: builtins.str | None = ..., - header_bytes_sent: builtins.int | None = ..., - retransmitted_packets_sent: builtins.int | None = ..., - retransmitted_bytes_sent: builtins.int | None = ..., - rtx_ssrc: builtins.int | None = ..., - target_bitrate: builtins.float | None = ..., - total_encoded_bytes_target: builtins.int | None = ..., - frame_width: builtins.int | None = ..., - frame_height: builtins.int | None = ..., - frames_per_second: builtins.float | None = ..., - frames_sent: builtins.int | None = ..., - huge_frames_sent: builtins.int | None = ..., - frames_encoded: builtins.int | None = ..., - key_frames_encoded: builtins.int | None = ..., - qp_sum: builtins.int | None = ..., - total_encode_time: builtins.float | None = ..., - total_packet_send_delay: builtins.float | None = ..., - quality_limitation_reason: global___QualityLimitationReason.ValueType | None = ..., - quality_limitation_durations: collections.abc.Mapping[builtins.str, builtins.float] | None = ..., - quality_limitation_resolution_changes: builtins.int | None = ..., - nack_count: builtins.int | None = ..., - fir_count: builtins.int | None = ..., - pli_count: builtins.int | None = ..., - encoder_implementation: builtins.str | None = ..., - power_efficient_encoder: builtins.bool | None = ..., - active: builtins.bool | None = ..., - scalability_mode: builtins.str | None = ..., + mid: _builtins.str | None = ..., + media_source_id: _builtins.str | None = ..., + remote_id: _builtins.str | None = ..., + rid: _builtins.str | None = ..., + header_bytes_sent: _builtins.int | None = ..., + retransmitted_packets_sent: _builtins.int | None = ..., + retransmitted_bytes_sent: _builtins.int | None = ..., + rtx_ssrc: _builtins.int | None = ..., + target_bitrate: _builtins.float | None = ..., + total_encoded_bytes_target: _builtins.int | None = ..., + frame_width: _builtins.int | None = ..., + frame_height: _builtins.int | None = ..., + frames_per_second: _builtins.float | None = ..., + frames_sent: _builtins.int | None = ..., + huge_frames_sent: _builtins.int | None = ..., + frames_encoded: _builtins.int | None = ..., + key_frames_encoded: _builtins.int | None = ..., + qp_sum: _builtins.int | None = ..., + total_encode_time: _builtins.float | None = ..., + total_packet_send_delay: _builtins.float | None = ..., + quality_limitation_reason: Global___QualityLimitationReason.ValueType | None = ..., + quality_limitation_durations: _abc.Mapping[_builtins.str, _builtins.float] | None = ..., + quality_limitation_resolution_changes: _builtins.int | None = ..., + nack_count: _builtins.int | None = ..., + fir_count: _builtins.int | None = ..., + pli_count: _builtins.int | None = ..., + encoder_implementation: _builtins.str | None = ..., + power_efficient_encoder: _builtins.bool | None = ..., + active: _builtins.bool | None = ..., + scalability_mode: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_durations", b"quality_limitation_durations", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> None: ... - -global___OutboundRtpStreamStats = OutboundRtpStreamStats - -@typing.final -class RemoteInboundRtpStreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCAL_ID_FIELD_NUMBER: builtins.int - ROUND_TRIP_TIME_FIELD_NUMBER: builtins.int - TOTAL_ROUND_TRIP_TIME_FIELD_NUMBER: builtins.int - FRACTION_LOST_FIELD_NUMBER: builtins.int - ROUND_TRIP_TIME_MEASUREMENTS_FIELD_NUMBER: builtins.int - local_id: builtins.str - round_trip_time: builtins.float - total_round_trip_time: builtins.float - fraction_lost: builtins.float - round_trip_time_measurements: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_durations", b"quality_limitation_durations", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___OutboundRtpStreamStats: _TypeAlias = OutboundRtpStreamStats # noqa: Y015 + +@_typing.final +class RemoteInboundRtpStreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + LOCAL_ID_FIELD_NUMBER: _builtins.int + ROUND_TRIP_TIME_FIELD_NUMBER: _builtins.int + TOTAL_ROUND_TRIP_TIME_FIELD_NUMBER: _builtins.int + FRACTION_LOST_FIELD_NUMBER: _builtins.int + ROUND_TRIP_TIME_MEASUREMENTS_FIELD_NUMBER: _builtins.int + local_id: _builtins.str + round_trip_time: _builtins.float + total_round_trip_time: _builtins.float + fraction_lost: _builtins.float + round_trip_time_measurements: _builtins.int def __init__( self, *, - local_id: builtins.str | None = ..., - round_trip_time: builtins.float | None = ..., - total_round_trip_time: builtins.float | None = ..., - fraction_lost: builtins.float | None = ..., - round_trip_time_measurements: builtins.int | None = ..., + local_id: _builtins.str | None = ..., + round_trip_time: _builtins.float | None = ..., + total_round_trip_time: _builtins.float | None = ..., + fraction_lost: _builtins.float | None = ..., + round_trip_time_measurements: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... - -global___RemoteInboundRtpStreamStats = RemoteInboundRtpStreamStats - -@typing.final -class RemoteOutboundRtpStreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCAL_ID_FIELD_NUMBER: builtins.int - REMOTE_TIMESTAMP_FIELD_NUMBER: builtins.int - REPORTS_SENT_FIELD_NUMBER: builtins.int - ROUND_TRIP_TIME_FIELD_NUMBER: builtins.int - TOTAL_ROUND_TRIP_TIME_FIELD_NUMBER: builtins.int - ROUND_TRIP_TIME_MEASUREMENTS_FIELD_NUMBER: builtins.int - local_id: builtins.str - remote_timestamp: builtins.float - reports_sent: builtins.int - round_trip_time: builtins.float - total_round_trip_time: builtins.float - round_trip_time_measurements: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___RemoteInboundRtpStreamStats: _TypeAlias = RemoteInboundRtpStreamStats # noqa: Y015 + +@_typing.final +class RemoteOutboundRtpStreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + LOCAL_ID_FIELD_NUMBER: _builtins.int + REMOTE_TIMESTAMP_FIELD_NUMBER: _builtins.int + REPORTS_SENT_FIELD_NUMBER: _builtins.int + ROUND_TRIP_TIME_FIELD_NUMBER: _builtins.int + TOTAL_ROUND_TRIP_TIME_FIELD_NUMBER: _builtins.int + ROUND_TRIP_TIME_MEASUREMENTS_FIELD_NUMBER: _builtins.int + local_id: _builtins.str + remote_timestamp: _builtins.float + reports_sent: _builtins.int + round_trip_time: _builtins.float + total_round_trip_time: _builtins.float + round_trip_time_measurements: _builtins.int def __init__( self, *, - local_id: builtins.str | None = ..., - remote_timestamp: builtins.float | None = ..., - reports_sent: builtins.int | None = ..., - round_trip_time: builtins.float | None = ..., - total_round_trip_time: builtins.float | None = ..., - round_trip_time_measurements: builtins.int | None = ..., + local_id: _builtins.str | None = ..., + remote_timestamp: _builtins.float | None = ..., + reports_sent: _builtins.int | None = ..., + round_trip_time: _builtins.float | None = ..., + total_round_trip_time: _builtins.float | None = ..., + round_trip_time_measurements: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___RemoteOutboundRtpStreamStats = RemoteOutboundRtpStreamStats +Global___RemoteOutboundRtpStreamStats: _TypeAlias = RemoteOutboundRtpStreamStats # noqa: Y015 -@typing.final -class MediaSourceStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class MediaSourceStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TRACK_IDENTIFIER_FIELD_NUMBER: builtins.int - KIND_FIELD_NUMBER: builtins.int - track_identifier: builtins.str - kind: builtins.str + TRACK_IDENTIFIER_FIELD_NUMBER: _builtins.int + KIND_FIELD_NUMBER: _builtins.int + track_identifier: _builtins.str + kind: _builtins.str def __init__( self, *, - track_identifier: builtins.str | None = ..., - kind: builtins.str | None = ..., + track_identifier: _builtins.str | None = ..., + kind: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> None: ... - -global___MediaSourceStats = MediaSourceStats - -@typing.final -class AudioSourceStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - AUDIO_LEVEL_FIELD_NUMBER: builtins.int - TOTAL_AUDIO_ENERGY_FIELD_NUMBER: builtins.int - TOTAL_SAMPLES_DURATION_FIELD_NUMBER: builtins.int - ECHO_RETURN_LOSS_FIELD_NUMBER: builtins.int - ECHO_RETURN_LOSS_ENHANCEMENT_FIELD_NUMBER: builtins.int - DROPPED_SAMPLES_DURATION_FIELD_NUMBER: builtins.int - DROPPED_SAMPLES_EVENTS_FIELD_NUMBER: builtins.int - TOTAL_CAPTURE_DELAY_FIELD_NUMBER: builtins.int - TOTAL_SAMPLES_CAPTURED_FIELD_NUMBER: builtins.int - audio_level: builtins.float - total_audio_energy: builtins.float - total_samples_duration: builtins.float - echo_return_loss: builtins.float - echo_return_loss_enhancement: builtins.float - dropped_samples_duration: builtins.float - dropped_samples_events: builtins.int - total_capture_delay: builtins.float - total_samples_captured: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___MediaSourceStats: _TypeAlias = MediaSourceStats # noqa: Y015 + +@_typing.final +class AudioSourceStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + AUDIO_LEVEL_FIELD_NUMBER: _builtins.int + TOTAL_AUDIO_ENERGY_FIELD_NUMBER: _builtins.int + TOTAL_SAMPLES_DURATION_FIELD_NUMBER: _builtins.int + ECHO_RETURN_LOSS_FIELD_NUMBER: _builtins.int + ECHO_RETURN_LOSS_ENHANCEMENT_FIELD_NUMBER: _builtins.int + DROPPED_SAMPLES_DURATION_FIELD_NUMBER: _builtins.int + DROPPED_SAMPLES_EVENTS_FIELD_NUMBER: _builtins.int + TOTAL_CAPTURE_DELAY_FIELD_NUMBER: _builtins.int + TOTAL_SAMPLES_CAPTURED_FIELD_NUMBER: _builtins.int + audio_level: _builtins.float + total_audio_energy: _builtins.float + total_samples_duration: _builtins.float + echo_return_loss: _builtins.float + echo_return_loss_enhancement: _builtins.float + dropped_samples_duration: _builtins.float + dropped_samples_events: _builtins.int + total_capture_delay: _builtins.float + total_samples_captured: _builtins.int def __init__( self, *, - audio_level: builtins.float | None = ..., - total_audio_energy: builtins.float | None = ..., - total_samples_duration: builtins.float | None = ..., - echo_return_loss: builtins.float | None = ..., - echo_return_loss_enhancement: builtins.float | None = ..., - dropped_samples_duration: builtins.float | None = ..., - dropped_samples_events: builtins.int | None = ..., - total_capture_delay: builtins.float | None = ..., - total_samples_captured: builtins.int | None = ..., + audio_level: _builtins.float | None = ..., + total_audio_energy: _builtins.float | None = ..., + total_samples_duration: _builtins.float | None = ..., + echo_return_loss: _builtins.float | None = ..., + echo_return_loss_enhancement: _builtins.float | None = ..., + dropped_samples_duration: _builtins.float | None = ..., + dropped_samples_events: _builtins.int | None = ..., + total_capture_delay: _builtins.float | None = ..., + total_samples_captured: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> None: ... - -global___AudioSourceStats = AudioSourceStats - -@typing.final -class VideoSourceStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - WIDTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - FRAMES_FIELD_NUMBER: builtins.int - FRAMES_PER_SECOND_FIELD_NUMBER: builtins.int - width: builtins.int - height: builtins.int - frames: builtins.int - frames_per_second: builtins.float + _HasFieldArgType: _TypeAlias = _typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___AudioSourceStats: _TypeAlias = AudioSourceStats # noqa: Y015 + +@_typing.final +class VideoSourceStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + WIDTH_FIELD_NUMBER: _builtins.int + HEIGHT_FIELD_NUMBER: _builtins.int + FRAMES_FIELD_NUMBER: _builtins.int + FRAMES_PER_SECOND_FIELD_NUMBER: _builtins.int + width: _builtins.int + height: _builtins.int + frames: _builtins.int + frames_per_second: _builtins.float def __init__( self, *, - width: builtins.int | None = ..., - height: builtins.int | None = ..., - frames: builtins.int | None = ..., - frames_per_second: builtins.float | None = ..., + width: _builtins.int | None = ..., + height: _builtins.int | None = ..., + frames: _builtins.int | None = ..., + frames_per_second: _builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> None: ... - -global___VideoSourceStats = VideoSourceStats - -@typing.final -class AudioPlayoutStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KIND_FIELD_NUMBER: builtins.int - SYNTHESIZED_SAMPLES_DURATION_FIELD_NUMBER: builtins.int - SYNTHESIZED_SAMPLES_EVENTS_FIELD_NUMBER: builtins.int - TOTAL_SAMPLES_DURATION_FIELD_NUMBER: builtins.int - TOTAL_PLAYOUT_DELAY_FIELD_NUMBER: builtins.int - TOTAL_SAMPLES_COUNT_FIELD_NUMBER: builtins.int - kind: builtins.str - synthesized_samples_duration: builtins.float - synthesized_samples_events: builtins.int - total_samples_duration: builtins.float - total_playout_delay: builtins.float - total_samples_count: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___VideoSourceStats: _TypeAlias = VideoSourceStats # noqa: Y015 + +@_typing.final +class AudioPlayoutStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + KIND_FIELD_NUMBER: _builtins.int + SYNTHESIZED_SAMPLES_DURATION_FIELD_NUMBER: _builtins.int + SYNTHESIZED_SAMPLES_EVENTS_FIELD_NUMBER: _builtins.int + TOTAL_SAMPLES_DURATION_FIELD_NUMBER: _builtins.int + TOTAL_PLAYOUT_DELAY_FIELD_NUMBER: _builtins.int + TOTAL_SAMPLES_COUNT_FIELD_NUMBER: _builtins.int + kind: _builtins.str + synthesized_samples_duration: _builtins.float + synthesized_samples_events: _builtins.int + total_samples_duration: _builtins.float + total_playout_delay: _builtins.float + total_samples_count: _builtins.int def __init__( self, *, - kind: builtins.str | None = ..., - synthesized_samples_duration: builtins.float | None = ..., - synthesized_samples_events: builtins.int | None = ..., - total_samples_duration: builtins.float | None = ..., - total_playout_delay: builtins.float | None = ..., - total_samples_count: builtins.int | None = ..., + kind: _builtins.str | None = ..., + synthesized_samples_duration: _builtins.float | None = ..., + synthesized_samples_events: _builtins.int | None = ..., + total_samples_duration: _builtins.float | None = ..., + total_playout_delay: _builtins.float | None = ..., + total_samples_count: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___AudioPlayoutStats = AudioPlayoutStats +Global___AudioPlayoutStats: _TypeAlias = AudioPlayoutStats # noqa: Y015 -@typing.final -class PeerConnectionStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class PeerConnectionStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - DATA_CHANNELS_OPENED_FIELD_NUMBER: builtins.int - DATA_CHANNELS_CLOSED_FIELD_NUMBER: builtins.int - data_channels_opened: builtins.int - data_channels_closed: builtins.int + DATA_CHANNELS_OPENED_FIELD_NUMBER: _builtins.int + DATA_CHANNELS_CLOSED_FIELD_NUMBER: _builtins.int + data_channels_opened: _builtins.int + data_channels_closed: _builtins.int def __init__( self, *, - data_channels_opened: builtins.int | None = ..., - data_channels_closed: builtins.int | None = ..., + data_channels_opened: _builtins.int | None = ..., + data_channels_closed: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> None: ... - -global___PeerConnectionStats = PeerConnectionStats - -@typing.final -class DataChannelStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LABEL_FIELD_NUMBER: builtins.int - PROTOCOL_FIELD_NUMBER: builtins.int - DATA_CHANNEL_IDENTIFIER_FIELD_NUMBER: builtins.int - STATE_FIELD_NUMBER: builtins.int - MESSAGES_SENT_FIELD_NUMBER: builtins.int - BYTES_SENT_FIELD_NUMBER: builtins.int - MESSAGES_RECEIVED_FIELD_NUMBER: builtins.int - BYTES_RECEIVED_FIELD_NUMBER: builtins.int - label: builtins.str - protocol: builtins.str - data_channel_identifier: builtins.int - state: global___DataChannelState.ValueType - messages_sent: builtins.int - bytes_sent: builtins.int - messages_received: builtins.int - bytes_received: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___PeerConnectionStats: _TypeAlias = PeerConnectionStats # noqa: Y015 + +@_typing.final +class DataChannelStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + LABEL_FIELD_NUMBER: _builtins.int + PROTOCOL_FIELD_NUMBER: _builtins.int + DATA_CHANNEL_IDENTIFIER_FIELD_NUMBER: _builtins.int + STATE_FIELD_NUMBER: _builtins.int + MESSAGES_SENT_FIELD_NUMBER: _builtins.int + BYTES_SENT_FIELD_NUMBER: _builtins.int + MESSAGES_RECEIVED_FIELD_NUMBER: _builtins.int + BYTES_RECEIVED_FIELD_NUMBER: _builtins.int + label: _builtins.str + protocol: _builtins.str + data_channel_identifier: _builtins.int + state: Global___DataChannelState.ValueType + messages_sent: _builtins.int + bytes_sent: _builtins.int + messages_received: _builtins.int + bytes_received: _builtins.int def __init__( self, *, - label: builtins.str | None = ..., - protocol: builtins.str | None = ..., - data_channel_identifier: builtins.int | None = ..., - state: global___DataChannelState.ValueType | None = ..., - messages_sent: builtins.int | None = ..., - bytes_sent: builtins.int | None = ..., - messages_received: builtins.int | None = ..., - bytes_received: builtins.int | None = ..., + label: _builtins.str | None = ..., + protocol: _builtins.str | None = ..., + data_channel_identifier: _builtins.int | None = ..., + state: Global___DataChannelState.ValueType | None = ..., + messages_sent: _builtins.int | None = ..., + bytes_sent: _builtins.int | None = ..., + messages_received: _builtins.int | None = ..., + bytes_received: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> None: ... - -global___DataChannelStats = DataChannelStats - -@typing.final -class TransportStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PACKETS_SENT_FIELD_NUMBER: builtins.int - PACKETS_RECEIVED_FIELD_NUMBER: builtins.int - BYTES_SENT_FIELD_NUMBER: builtins.int - BYTES_RECEIVED_FIELD_NUMBER: builtins.int - ICE_ROLE_FIELD_NUMBER: builtins.int - ICE_LOCAL_USERNAME_FRAGMENT_FIELD_NUMBER: builtins.int - DTLS_STATE_FIELD_NUMBER: builtins.int - ICE_STATE_FIELD_NUMBER: builtins.int - SELECTED_CANDIDATE_PAIR_ID_FIELD_NUMBER: builtins.int - LOCAL_CERTIFICATE_ID_FIELD_NUMBER: builtins.int - REMOTE_CERTIFICATE_ID_FIELD_NUMBER: builtins.int - TLS_VERSION_FIELD_NUMBER: builtins.int - DTLS_CIPHER_FIELD_NUMBER: builtins.int - DTLS_ROLE_FIELD_NUMBER: builtins.int - SRTP_CIPHER_FIELD_NUMBER: builtins.int - SELECTED_CANDIDATE_PAIR_CHANGES_FIELD_NUMBER: builtins.int - packets_sent: builtins.int - packets_received: builtins.int - bytes_sent: builtins.int - bytes_received: builtins.int - ice_role: global___IceRole.ValueType - ice_local_username_fragment: builtins.str - dtls_state: global___DtlsTransportState.ValueType - ice_state: global___IceTransportState.ValueType - selected_candidate_pair_id: builtins.str - local_certificate_id: builtins.str - remote_certificate_id: builtins.str - tls_version: builtins.str - dtls_cipher: builtins.str - dtls_role: global___DtlsRole.ValueType - srtp_cipher: builtins.str - selected_candidate_pair_changes: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___DataChannelStats: _TypeAlias = DataChannelStats # noqa: Y015 + +@_typing.final +class TransportStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + PACKETS_SENT_FIELD_NUMBER: _builtins.int + PACKETS_RECEIVED_FIELD_NUMBER: _builtins.int + BYTES_SENT_FIELD_NUMBER: _builtins.int + BYTES_RECEIVED_FIELD_NUMBER: _builtins.int + ICE_ROLE_FIELD_NUMBER: _builtins.int + ICE_LOCAL_USERNAME_FRAGMENT_FIELD_NUMBER: _builtins.int + DTLS_STATE_FIELD_NUMBER: _builtins.int + ICE_STATE_FIELD_NUMBER: _builtins.int + SELECTED_CANDIDATE_PAIR_ID_FIELD_NUMBER: _builtins.int + LOCAL_CERTIFICATE_ID_FIELD_NUMBER: _builtins.int + REMOTE_CERTIFICATE_ID_FIELD_NUMBER: _builtins.int + TLS_VERSION_FIELD_NUMBER: _builtins.int + DTLS_CIPHER_FIELD_NUMBER: _builtins.int + DTLS_ROLE_FIELD_NUMBER: _builtins.int + SRTP_CIPHER_FIELD_NUMBER: _builtins.int + SELECTED_CANDIDATE_PAIR_CHANGES_FIELD_NUMBER: _builtins.int + packets_sent: _builtins.int + packets_received: _builtins.int + bytes_sent: _builtins.int + bytes_received: _builtins.int + ice_role: Global___IceRole.ValueType + ice_local_username_fragment: _builtins.str + dtls_state: Global___DtlsTransportState.ValueType + ice_state: Global___IceTransportState.ValueType + selected_candidate_pair_id: _builtins.str + local_certificate_id: _builtins.str + remote_certificate_id: _builtins.str + tls_version: _builtins.str + dtls_cipher: _builtins.str + dtls_role: Global___DtlsRole.ValueType + srtp_cipher: _builtins.str + selected_candidate_pair_changes: _builtins.int def __init__( self, *, - packets_sent: builtins.int | None = ..., - packets_received: builtins.int | None = ..., - bytes_sent: builtins.int | None = ..., - bytes_received: builtins.int | None = ..., - ice_role: global___IceRole.ValueType | None = ..., - ice_local_username_fragment: builtins.str | None = ..., - dtls_state: global___DtlsTransportState.ValueType | None = ..., - ice_state: global___IceTransportState.ValueType | None = ..., - selected_candidate_pair_id: builtins.str | None = ..., - local_certificate_id: builtins.str | None = ..., - remote_certificate_id: builtins.str | None = ..., - tls_version: builtins.str | None = ..., - dtls_cipher: builtins.str | None = ..., - dtls_role: global___DtlsRole.ValueType | None = ..., - srtp_cipher: builtins.str | None = ..., - selected_candidate_pair_changes: builtins.int | None = ..., + packets_sent: _builtins.int | None = ..., + packets_received: _builtins.int | None = ..., + bytes_sent: _builtins.int | None = ..., + bytes_received: _builtins.int | None = ..., + ice_role: Global___IceRole.ValueType | None = ..., + ice_local_username_fragment: _builtins.str | None = ..., + dtls_state: Global___DtlsTransportState.ValueType | None = ..., + ice_state: Global___IceTransportState.ValueType | None = ..., + selected_candidate_pair_id: _builtins.str | None = ..., + local_certificate_id: _builtins.str | None = ..., + remote_certificate_id: _builtins.str | None = ..., + tls_version: _builtins.str | None = ..., + dtls_cipher: _builtins.str | None = ..., + dtls_role: Global___DtlsRole.ValueType | None = ..., + srtp_cipher: _builtins.str | None = ..., + selected_candidate_pair_changes: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> None: ... - -global___TransportStats = TransportStats - -@typing.final -class CandidatePairStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TRANSPORT_ID_FIELD_NUMBER: builtins.int - LOCAL_CANDIDATE_ID_FIELD_NUMBER: builtins.int - REMOTE_CANDIDATE_ID_FIELD_NUMBER: builtins.int - STATE_FIELD_NUMBER: builtins.int - NOMINATED_FIELD_NUMBER: builtins.int - PACKETS_SENT_FIELD_NUMBER: builtins.int - PACKETS_RECEIVED_FIELD_NUMBER: builtins.int - BYTES_SENT_FIELD_NUMBER: builtins.int - BYTES_RECEIVED_FIELD_NUMBER: builtins.int - LAST_PACKET_SENT_TIMESTAMP_FIELD_NUMBER: builtins.int - LAST_PACKET_RECEIVED_TIMESTAMP_FIELD_NUMBER: builtins.int - TOTAL_ROUND_TRIP_TIME_FIELD_NUMBER: builtins.int - CURRENT_ROUND_TRIP_TIME_FIELD_NUMBER: builtins.int - AVAILABLE_OUTGOING_BITRATE_FIELD_NUMBER: builtins.int - AVAILABLE_INCOMING_BITRATE_FIELD_NUMBER: builtins.int - REQUESTS_RECEIVED_FIELD_NUMBER: builtins.int - REQUESTS_SENT_FIELD_NUMBER: builtins.int - RESPONSES_RECEIVED_FIELD_NUMBER: builtins.int - RESPONSES_SENT_FIELD_NUMBER: builtins.int - CONSENT_REQUESTS_SENT_FIELD_NUMBER: builtins.int - PACKETS_DISCARDED_ON_SEND_FIELD_NUMBER: builtins.int - BYTES_DISCARDED_ON_SEND_FIELD_NUMBER: builtins.int - transport_id: builtins.str - local_candidate_id: builtins.str - remote_candidate_id: builtins.str - state: global___IceCandidatePairState.ValueType - nominated: builtins.bool - packets_sent: builtins.int - packets_received: builtins.int - bytes_sent: builtins.int - bytes_received: builtins.int - last_packet_sent_timestamp: builtins.float - last_packet_received_timestamp: builtins.float - total_round_trip_time: builtins.float - current_round_trip_time: builtins.float - available_outgoing_bitrate: builtins.float - available_incoming_bitrate: builtins.float - requests_received: builtins.int - requests_sent: builtins.int - responses_received: builtins.int - responses_sent: builtins.int - consent_requests_sent: builtins.int - packets_discarded_on_send: builtins.int - bytes_discarded_on_send: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TransportStats: _TypeAlias = TransportStats # noqa: Y015 + +@_typing.final +class CandidatePairStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + TRANSPORT_ID_FIELD_NUMBER: _builtins.int + LOCAL_CANDIDATE_ID_FIELD_NUMBER: _builtins.int + REMOTE_CANDIDATE_ID_FIELD_NUMBER: _builtins.int + STATE_FIELD_NUMBER: _builtins.int + NOMINATED_FIELD_NUMBER: _builtins.int + PACKETS_SENT_FIELD_NUMBER: _builtins.int + PACKETS_RECEIVED_FIELD_NUMBER: _builtins.int + BYTES_SENT_FIELD_NUMBER: _builtins.int + BYTES_RECEIVED_FIELD_NUMBER: _builtins.int + LAST_PACKET_SENT_TIMESTAMP_FIELD_NUMBER: _builtins.int + LAST_PACKET_RECEIVED_TIMESTAMP_FIELD_NUMBER: _builtins.int + TOTAL_ROUND_TRIP_TIME_FIELD_NUMBER: _builtins.int + CURRENT_ROUND_TRIP_TIME_FIELD_NUMBER: _builtins.int + AVAILABLE_OUTGOING_BITRATE_FIELD_NUMBER: _builtins.int + AVAILABLE_INCOMING_BITRATE_FIELD_NUMBER: _builtins.int + REQUESTS_RECEIVED_FIELD_NUMBER: _builtins.int + REQUESTS_SENT_FIELD_NUMBER: _builtins.int + RESPONSES_RECEIVED_FIELD_NUMBER: _builtins.int + RESPONSES_SENT_FIELD_NUMBER: _builtins.int + CONSENT_REQUESTS_SENT_FIELD_NUMBER: _builtins.int + PACKETS_DISCARDED_ON_SEND_FIELD_NUMBER: _builtins.int + BYTES_DISCARDED_ON_SEND_FIELD_NUMBER: _builtins.int + transport_id: _builtins.str + local_candidate_id: _builtins.str + remote_candidate_id: _builtins.str + state: Global___IceCandidatePairState.ValueType + nominated: _builtins.bool + packets_sent: _builtins.int + packets_received: _builtins.int + bytes_sent: _builtins.int + bytes_received: _builtins.int + last_packet_sent_timestamp: _builtins.float + last_packet_received_timestamp: _builtins.float + total_round_trip_time: _builtins.float + current_round_trip_time: _builtins.float + available_outgoing_bitrate: _builtins.float + available_incoming_bitrate: _builtins.float + requests_received: _builtins.int + requests_sent: _builtins.int + responses_received: _builtins.int + responses_sent: _builtins.int + consent_requests_sent: _builtins.int + packets_discarded_on_send: _builtins.int + bytes_discarded_on_send: _builtins.int def __init__( self, *, - transport_id: builtins.str | None = ..., - local_candidate_id: builtins.str | None = ..., - remote_candidate_id: builtins.str | None = ..., - state: global___IceCandidatePairState.ValueType | None = ..., - nominated: builtins.bool | None = ..., - packets_sent: builtins.int | None = ..., - packets_received: builtins.int | None = ..., - bytes_sent: builtins.int | None = ..., - bytes_received: builtins.int | None = ..., - last_packet_sent_timestamp: builtins.float | None = ..., - last_packet_received_timestamp: builtins.float | None = ..., - total_round_trip_time: builtins.float | None = ..., - current_round_trip_time: builtins.float | None = ..., - available_outgoing_bitrate: builtins.float | None = ..., - available_incoming_bitrate: builtins.float | None = ..., - requests_received: builtins.int | None = ..., - requests_sent: builtins.int | None = ..., - responses_received: builtins.int | None = ..., - responses_sent: builtins.int | None = ..., - consent_requests_sent: builtins.int | None = ..., - packets_discarded_on_send: builtins.int | None = ..., - bytes_discarded_on_send: builtins.int | None = ..., + transport_id: _builtins.str | None = ..., + local_candidate_id: _builtins.str | None = ..., + remote_candidate_id: _builtins.str | None = ..., + state: Global___IceCandidatePairState.ValueType | None = ..., + nominated: _builtins.bool | None = ..., + packets_sent: _builtins.int | None = ..., + packets_received: _builtins.int | None = ..., + bytes_sent: _builtins.int | None = ..., + bytes_received: _builtins.int | None = ..., + last_packet_sent_timestamp: _builtins.float | None = ..., + last_packet_received_timestamp: _builtins.float | None = ..., + total_round_trip_time: _builtins.float | None = ..., + current_round_trip_time: _builtins.float | None = ..., + available_outgoing_bitrate: _builtins.float | None = ..., + available_incoming_bitrate: _builtins.float | None = ..., + requests_received: _builtins.int | None = ..., + requests_sent: _builtins.int | None = ..., + responses_received: _builtins.int | None = ..., + responses_sent: _builtins.int | None = ..., + consent_requests_sent: _builtins.int | None = ..., + packets_discarded_on_send: _builtins.int | None = ..., + bytes_discarded_on_send: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> None: ... - -global___CandidatePairStats = CandidatePairStats - -@typing.final -class IceCandidateStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TRANSPORT_ID_FIELD_NUMBER: builtins.int - ADDRESS_FIELD_NUMBER: builtins.int - PORT_FIELD_NUMBER: builtins.int - PROTOCOL_FIELD_NUMBER: builtins.int - CANDIDATE_TYPE_FIELD_NUMBER: builtins.int - PRIORITY_FIELD_NUMBER: builtins.int - URL_FIELD_NUMBER: builtins.int - RELAY_PROTOCOL_FIELD_NUMBER: builtins.int - FOUNDATION_FIELD_NUMBER: builtins.int - RELATED_ADDRESS_FIELD_NUMBER: builtins.int - RELATED_PORT_FIELD_NUMBER: builtins.int - USERNAME_FRAGMENT_FIELD_NUMBER: builtins.int - TCP_TYPE_FIELD_NUMBER: builtins.int - transport_id: builtins.str - address: builtins.str - port: builtins.int - protocol: builtins.str - candidate_type: global___IceCandidateType.ValueType - priority: builtins.int - url: builtins.str - relay_protocol: global___IceServerTransportProtocol.ValueType - foundation: builtins.str - related_address: builtins.str - related_port: builtins.int - username_fragment: builtins.str - tcp_type: global___IceTcpCandidateType.ValueType + _HasFieldArgType: _TypeAlias = _typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___CandidatePairStats: _TypeAlias = CandidatePairStats # noqa: Y015 + +@_typing.final +class IceCandidateStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + TRANSPORT_ID_FIELD_NUMBER: _builtins.int + ADDRESS_FIELD_NUMBER: _builtins.int + PORT_FIELD_NUMBER: _builtins.int + PROTOCOL_FIELD_NUMBER: _builtins.int + CANDIDATE_TYPE_FIELD_NUMBER: _builtins.int + PRIORITY_FIELD_NUMBER: _builtins.int + URL_FIELD_NUMBER: _builtins.int + RELAY_PROTOCOL_FIELD_NUMBER: _builtins.int + FOUNDATION_FIELD_NUMBER: _builtins.int + RELATED_ADDRESS_FIELD_NUMBER: _builtins.int + RELATED_PORT_FIELD_NUMBER: _builtins.int + USERNAME_FRAGMENT_FIELD_NUMBER: _builtins.int + TCP_TYPE_FIELD_NUMBER: _builtins.int + transport_id: _builtins.str + address: _builtins.str + port: _builtins.int + protocol: _builtins.str + candidate_type: Global___IceCandidateType.ValueType + priority: _builtins.int + url: _builtins.str + relay_protocol: Global___IceServerTransportProtocol.ValueType + foundation: _builtins.str + related_address: _builtins.str + related_port: _builtins.int + username_fragment: _builtins.str + tcp_type: Global___IceTcpCandidateType.ValueType def __init__( self, *, - transport_id: builtins.str | None = ..., - address: builtins.str | None = ..., - port: builtins.int | None = ..., - protocol: builtins.str | None = ..., - candidate_type: global___IceCandidateType.ValueType | None = ..., - priority: builtins.int | None = ..., - url: builtins.str | None = ..., - relay_protocol: global___IceServerTransportProtocol.ValueType | None = ..., - foundation: builtins.str | None = ..., - related_address: builtins.str | None = ..., - related_port: builtins.int | None = ..., - username_fragment: builtins.str | None = ..., - tcp_type: global___IceTcpCandidateType.ValueType | None = ..., + transport_id: _builtins.str | None = ..., + address: _builtins.str | None = ..., + port: _builtins.int | None = ..., + protocol: _builtins.str | None = ..., + candidate_type: Global___IceCandidateType.ValueType | None = ..., + priority: _builtins.int | None = ..., + url: _builtins.str | None = ..., + relay_protocol: Global___IceServerTransportProtocol.ValueType | None = ..., + foundation: _builtins.str | None = ..., + related_address: _builtins.str | None = ..., + related_port: _builtins.int | None = ..., + username_fragment: _builtins.str | None = ..., + tcp_type: Global___IceTcpCandidateType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> None: ... - -global___IceCandidateStats = IceCandidateStats - -@typing.final -class CertificateStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FINGERPRINT_FIELD_NUMBER: builtins.int - FINGERPRINT_ALGORITHM_FIELD_NUMBER: builtins.int - BASE64_CERTIFICATE_FIELD_NUMBER: builtins.int - ISSUER_CERTIFICATE_ID_FIELD_NUMBER: builtins.int - fingerprint: builtins.str - fingerprint_algorithm: builtins.str - base64_certificate: builtins.str - issuer_certificate_id: builtins.str + _HasFieldArgType: _TypeAlias = _typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___IceCandidateStats: _TypeAlias = IceCandidateStats # noqa: Y015 + +@_typing.final +class CertificateStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + FINGERPRINT_FIELD_NUMBER: _builtins.int + FINGERPRINT_ALGORITHM_FIELD_NUMBER: _builtins.int + BASE64_CERTIFICATE_FIELD_NUMBER: _builtins.int + ISSUER_CERTIFICATE_ID_FIELD_NUMBER: _builtins.int + fingerprint: _builtins.str + fingerprint_algorithm: _builtins.str + base64_certificate: _builtins.str + issuer_certificate_id: _builtins.str def __init__( self, *, - fingerprint: builtins.str | None = ..., - fingerprint_algorithm: builtins.str | None = ..., - base64_certificate: builtins.str | None = ..., - issuer_certificate_id: builtins.str | None = ..., + fingerprint: _builtins.str | None = ..., + fingerprint_algorithm: _builtins.str | None = ..., + base64_certificate: _builtins.str | None = ..., + issuer_certificate_id: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CertificateStats = CertificateStats +Global___CertificateStats: _TypeAlias = CertificateStats # noqa: Y015 -@typing.final -class StreamStats(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class StreamStats(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ID_FIELD_NUMBER: builtins.int - STREAM_IDENTIFIER_FIELD_NUMBER: builtins.int - id: builtins.str - stream_identifier: builtins.str + ID_FIELD_NUMBER: _builtins.int + STREAM_IDENTIFIER_FIELD_NUMBER: _builtins.int + id: _builtins.str + stream_identifier: _builtins.str """required int64 timestamp = 3;""" def __init__( self, *, - id: builtins.str | None = ..., - stream_identifier: builtins.str | None = ..., + id: _builtins.str | None = ..., + stream_identifier: _builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___StreamStats = StreamStats +Global___StreamStats: _TypeAlias = StreamStats # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.py b/livekit-rtc/livekit/rtc/_proto/track_pb2.py index 562a267c..db16f4d7 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/track_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: track.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -23,8 +22,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'track_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_TRACKKIND']._serialized_start=1897 _globals['_TRACKKIND']._serialized_end=1958 _globals['_TRACKSOURCE']._serialized_start=1961 diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi index 6b81c596..06ef05f0 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi @@ -16,31 +16,31 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -from . import e2ee_pb2 -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import handle_pb2 -from . import stats_pb2 +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins +from . import e2ee_pb2 as _e2ee_pb2 +from . import handle_pb2 as _handle_pb2 +from . import stats_pb2 as _stats_pb2 import sys -import typing +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _TrackKind: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _TrackKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TrackKind.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _TrackKindEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_TrackKind.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor KIND_UNKNOWN: _TrackKind.ValueType # 0 KIND_AUDIO: _TrackKind.ValueType # 1 KIND_VIDEO: _TrackKind.ValueType # 2 @@ -50,14 +50,14 @@ class TrackKind(_TrackKind, metaclass=_TrackKindEnumTypeWrapper): ... KIND_UNKNOWN: TrackKind.ValueType # 0 KIND_AUDIO: TrackKind.ValueType # 1 KIND_VIDEO: TrackKind.ValueType # 2 -global___TrackKind = TrackKind +Global___TrackKind: _TypeAlias = TrackKind # noqa: Y015 class _TrackSource: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _TrackSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TrackSource.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _TrackSourceEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_TrackSource.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor SOURCE_UNKNOWN: _TrackSource.ValueType # 0 SOURCE_CAMERA: _TrackSource.ValueType # 1 SOURCE_MICROPHONE: _TrackSource.ValueType # 2 @@ -71,14 +71,14 @@ SOURCE_CAMERA: TrackSource.ValueType # 1 SOURCE_MICROPHONE: TrackSource.ValueType # 2 SOURCE_SCREENSHARE: TrackSource.ValueType # 3 SOURCE_SCREENSHARE_AUDIO: TrackSource.ValueType # 4 -global___TrackSource = TrackSource +Global___TrackSource: _TypeAlias = TrackSource # noqa: Y015 class _StreamState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _StreamStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StreamState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _StreamStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_StreamState.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor STATE_UNKNOWN: _StreamState.ValueType # 0 STATE_ACTIVE: _StreamState.ValueType # 1 STATE_PAUSED: _StreamState.ValueType # 2 @@ -88,14 +88,14 @@ class StreamState(_StreamState, metaclass=_StreamStateEnumTypeWrapper): ... STATE_UNKNOWN: StreamState.ValueType # 0 STATE_ACTIVE: StreamState.ValueType # 1 STATE_PAUSED: StreamState.ValueType # 2 -global___StreamState = StreamState +Global___StreamState: _TypeAlias = StreamState # noqa: Y015 class _AudioTrackFeature: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _AudioTrackFeatureEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AudioTrackFeature.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _AudioTrackFeatureEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_AudioTrackFeature.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor TF_STEREO: _AudioTrackFeature.ValueType # 0 TF_NO_DTX: _AudioTrackFeature.ValueType # 1 TF_AUTO_GAIN_CONTROL: _AudioTrackFeature.ValueType # 2 @@ -115,14 +115,14 @@ TF_NOISE_SUPPRESSION: AudioTrackFeature.ValueType # 4 TF_ENHANCED_NOISE_CANCELLATION: AudioTrackFeature.ValueType # 5 TF_PRECONNECT_BUFFER: AudioTrackFeature.ValueType # 6 """client will buffer audio once available and send it to the server via bytes stream once connected""" -global___AudioTrackFeature = AudioTrackFeature +Global___AudioTrackFeature: _TypeAlias = AudioTrackFeature # noqa: Y015 class _PacketTrailerFeature: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _PacketTrailerFeatureEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PacketTrailerFeature.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _PacketTrailerFeatureEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_PacketTrailerFeature.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor PTF_USER_TIMESTAMP: _PacketTrailerFeature.ValueType # 0 PTF_FRAME_ID: _PacketTrailerFeature.ValueType # 1 @@ -130,413 +130,447 @@ class PacketTrailerFeature(_PacketTrailerFeature, metaclass=_PacketTrailerFeatur PTF_USER_TIMESTAMP: PacketTrailerFeature.ValueType # 0 PTF_FRAME_ID: PacketTrailerFeature.ValueType # 1 -global___PacketTrailerFeature = PacketTrailerFeature +Global___PacketTrailerFeature: _TypeAlias = PacketTrailerFeature # noqa: Y015 -@typing.final -class CreateVideoTrackRequest(google.protobuf.message.Message): +@_typing.final +class CreateVideoTrackRequest(_message.Message): """Create a new VideoTrack from a VideoSource""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - SOURCE_HANDLE_FIELD_NUMBER: builtins.int - name: builtins.str - source_handle: builtins.int + NAME_FIELD_NUMBER: _builtins.int + SOURCE_HANDLE_FIELD_NUMBER: _builtins.int + name: _builtins.str + source_handle: _builtins.int def __init__( self, *, - name: builtins.str | None = ..., - source_handle: builtins.int | None = ..., + name: _builtins.str | None = ..., + source_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "source_handle", b"source_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "source_handle", b"source_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CreateVideoTrackRequest = CreateVideoTrackRequest +Global___CreateVideoTrackRequest: _TypeAlias = CreateVideoTrackRequest # noqa: Y015 -@typing.final -class CreateVideoTrackResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class CreateVideoTrackResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TRACK_FIELD_NUMBER: builtins.int - @property - def track(self) -> global___OwnedTrack: ... + TRACK_FIELD_NUMBER: _builtins.int + @_builtins.property + def track(self) -> Global___OwnedTrack: ... def __init__( self, *, - track: global___OwnedTrack | None = ..., + track: Global___OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track", b"track"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track", b"track"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track", b"track"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CreateVideoTrackResponse = CreateVideoTrackResponse +Global___CreateVideoTrackResponse: _TypeAlias = CreateVideoTrackResponse # noqa: Y015 -@typing.final -class CreateAudioTrackRequest(google.protobuf.message.Message): +@_typing.final +class CreateAudioTrackRequest(_message.Message): """Create a new AudioTrack from a AudioSource""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - SOURCE_HANDLE_FIELD_NUMBER: builtins.int - name: builtins.str - source_handle: builtins.int + NAME_FIELD_NUMBER: _builtins.int + SOURCE_HANDLE_FIELD_NUMBER: _builtins.int + name: _builtins.str + source_handle: _builtins.int def __init__( self, *, - name: builtins.str | None = ..., - source_handle: builtins.int | None = ..., + name: _builtins.str | None = ..., + source_handle: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "source_handle", b"source_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["name", b"name", "source_handle", b"source_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CreateAudioTrackRequest = CreateAudioTrackRequest +Global___CreateAudioTrackRequest: _TypeAlias = CreateAudioTrackRequest # noqa: Y015 -@typing.final -class CreateAudioTrackResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class CreateAudioTrackResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TRACK_FIELD_NUMBER: builtins.int - @property - def track(self) -> global___OwnedTrack: ... + TRACK_FIELD_NUMBER: _builtins.int + @_builtins.property + def track(self) -> Global___OwnedTrack: ... def __init__( self, *, - track: global___OwnedTrack | None = ..., + track: Global___OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track", b"track"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["track", b"track"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["track", b"track"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CreateAudioTrackResponse = CreateAudioTrackResponse +Global___CreateAudioTrackResponse: _TypeAlias = CreateAudioTrackResponse # noqa: Y015 -@typing.final -class GetStatsRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetStatsRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int - track_handle: builtins.int - request_async_id: builtins.int + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + REQUEST_ASYNC_ID_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int + request_async_id: _builtins.int def __init__( self, *, - track_handle: builtins.int | None = ..., - request_async_id: builtins.int | None = ..., + track_handle: _builtins.int | None = ..., + request_async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["request_async_id", b"request_async_id", "track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["request_async_id", b"request_async_id", "track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___GetStatsRequest = GetStatsRequest +Global___GetStatsRequest: _TypeAlias = GetStatsRequest # noqa: Y015 -@typing.final -class GetStatsResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class GetStatsResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ASYNC_ID_FIELD_NUMBER: builtins.int - async_id: builtins.int + ASYNC_ID_FIELD_NUMBER: _builtins.int + async_id: _builtins.int def __init__( self, *, - async_id: builtins.int | None = ..., + async_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... - -global___GetStatsResponse = GetStatsResponse - -@typing.final -class GetStatsCallback(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ASYNC_ID_FIELD_NUMBER: builtins.int - ERROR_FIELD_NUMBER: builtins.int - STATS_FIELD_NUMBER: builtins.int - async_id: builtins.int - error: builtins.str - @property - def stats(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[stats_pb2.RtcStats]: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___GetStatsResponse: _TypeAlias = GetStatsResponse # noqa: Y015 + +@_typing.final +class GetStatsCallback(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + STATS_FIELD_NUMBER: _builtins.int + async_id: _builtins.int + error: _builtins.str + @_builtins.property + def stats(self) -> _containers.RepeatedCompositeFieldContainer[_stats_pb2.RtcStats]: ... def __init__( self, *, - async_id: builtins.int | None = ..., - error: builtins.str | None = ..., - stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., + async_id: _builtins.int | None = ..., + error: _builtins.str | None = ..., + stats: _abc.Iterable[_stats_pb2.RtcStats] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "stats", b"stats"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["async_id", b"async_id", "error", b"error", "stats", b"stats"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___GetStatsCallback = GetStatsCallback +Global___GetStatsCallback: _TypeAlias = GetStatsCallback # noqa: Y015 -@typing.final -class TrackEvent(google.protobuf.message.Message): +@_typing.final +class TrackEvent(_message.Message): """ Track """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___TrackEvent = TrackEvent - -@typing.final -class TrackPublicationInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - KIND_FIELD_NUMBER: builtins.int - SOURCE_FIELD_NUMBER: builtins.int - SIMULCASTED_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - MIME_TYPE_FIELD_NUMBER: builtins.int - MUTED_FIELD_NUMBER: builtins.int - REMOTE_FIELD_NUMBER: builtins.int - ENCRYPTION_TYPE_FIELD_NUMBER: builtins.int - AUDIO_FEATURES_FIELD_NUMBER: builtins.int - PACKET_TRAILER_FEATURES_FIELD_NUMBER: builtins.int - sid: builtins.str - name: builtins.str - kind: global___TrackKind.ValueType - source: global___TrackSource.ValueType - simulcasted: builtins.bool - width: builtins.int - height: builtins.int - mime_type: builtins.str - muted: builtins.bool - remote: builtins.bool - encryption_type: e2ee_pb2.EncryptionType.ValueType - @property - def audio_features(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___AudioTrackFeature.ValueType]: ... - @property - def packet_trailer_features(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___PacketTrailerFeature.ValueType]: ... +Global___TrackEvent: _TypeAlias = TrackEvent # noqa: Y015 + +@_typing.final +class TrackPublicationInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + SID_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + KIND_FIELD_NUMBER: _builtins.int + SOURCE_FIELD_NUMBER: _builtins.int + SIMULCASTED_FIELD_NUMBER: _builtins.int + WIDTH_FIELD_NUMBER: _builtins.int + HEIGHT_FIELD_NUMBER: _builtins.int + MIME_TYPE_FIELD_NUMBER: _builtins.int + MUTED_FIELD_NUMBER: _builtins.int + REMOTE_FIELD_NUMBER: _builtins.int + ENCRYPTION_TYPE_FIELD_NUMBER: _builtins.int + AUDIO_FEATURES_FIELD_NUMBER: _builtins.int + PACKET_TRAILER_FEATURES_FIELD_NUMBER: _builtins.int + sid: _builtins.str + name: _builtins.str + kind: Global___TrackKind.ValueType + source: Global___TrackSource.ValueType + simulcasted: _builtins.bool + width: _builtins.int + height: _builtins.int + mime_type: _builtins.str + muted: _builtins.bool + remote: _builtins.bool + encryption_type: _e2ee_pb2.EncryptionType.ValueType + @_builtins.property + def audio_features(self) -> _containers.RepeatedScalarFieldContainer[Global___AudioTrackFeature.ValueType]: ... + @_builtins.property + def packet_trailer_features(self) -> _containers.RepeatedScalarFieldContainer[Global___PacketTrailerFeature.ValueType]: ... def __init__( self, *, - sid: builtins.str | None = ..., - name: builtins.str | None = ..., - kind: global___TrackKind.ValueType | None = ..., - source: global___TrackSource.ValueType | None = ..., - simulcasted: builtins.bool | None = ..., - width: builtins.int | None = ..., - height: builtins.int | None = ..., - mime_type: builtins.str | None = ..., - muted: builtins.bool | None = ..., - remote: builtins.bool | None = ..., - encryption_type: e2ee_pb2.EncryptionType.ValueType | None = ..., - audio_features: collections.abc.Iterable[global___AudioTrackFeature.ValueType] | None = ..., - packet_trailer_features: collections.abc.Iterable[global___PacketTrailerFeature.ValueType] | None = ..., + sid: _builtins.str | None = ..., + name: _builtins.str | None = ..., + kind: Global___TrackKind.ValueType | None = ..., + source: Global___TrackSource.ValueType | None = ..., + simulcasted: _builtins.bool | None = ..., + width: _builtins.int | None = ..., + height: _builtins.int | None = ..., + mime_type: _builtins.str | None = ..., + muted: _builtins.bool | None = ..., + remote: _builtins.bool | None = ..., + encryption_type: _e2ee_pb2.EncryptionType.ValueType | None = ..., + audio_features: _abc.Iterable[Global___AudioTrackFeature.ValueType] | None = ..., + packet_trailer_features: _abc.Iterable[Global___PacketTrailerFeature.ValueType] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_features", b"audio_features", "encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "packet_trailer_features", b"packet_trailer_features", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> None: ... - -global___TrackPublicationInfo = TrackPublicationInfo - -@typing.final -class OwnedTrackPublication(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___TrackPublicationInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["audio_features", b"audio_features", "encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "packet_trailer_features", b"packet_trailer_features", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TrackPublicationInfo: _TypeAlias = TrackPublicationInfo # noqa: Y015 + +@_typing.final +class OwnedTrackPublication(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___TrackPublicationInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___TrackPublicationInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___TrackPublicationInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... - -global___OwnedTrackPublication = OwnedTrackPublication - -@typing.final -class TrackInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - KIND_FIELD_NUMBER: builtins.int - STREAM_STATE_FIELD_NUMBER: builtins.int - MUTED_FIELD_NUMBER: builtins.int - REMOTE_FIELD_NUMBER: builtins.int - sid: builtins.str - name: builtins.str - kind: global___TrackKind.ValueType - stream_state: global___StreamState.ValueType - muted: builtins.bool - remote: builtins.bool + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___OwnedTrackPublication: _TypeAlias = OwnedTrackPublication # noqa: Y015 + +@_typing.final +class TrackInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + SID_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + KIND_FIELD_NUMBER: _builtins.int + STREAM_STATE_FIELD_NUMBER: _builtins.int + MUTED_FIELD_NUMBER: _builtins.int + REMOTE_FIELD_NUMBER: _builtins.int + sid: _builtins.str + name: _builtins.str + kind: Global___TrackKind.ValueType + stream_state: Global___StreamState.ValueType + muted: _builtins.bool + remote: _builtins.bool def __init__( self, *, - sid: builtins.str | None = ..., - name: builtins.str | None = ..., - kind: global___TrackKind.ValueType | None = ..., - stream_state: global___StreamState.ValueType | None = ..., - muted: builtins.bool | None = ..., - remote: builtins.bool | None = ..., + sid: _builtins.str | None = ..., + name: _builtins.str | None = ..., + kind: Global___TrackKind.ValueType | None = ..., + stream_state: Global___StreamState.ValueType | None = ..., + muted: _builtins.bool | None = ..., + remote: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> None: ... - -global___TrackInfo = TrackInfo - -@typing.final -class OwnedTrack(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___TrackInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___TrackInfo: _TypeAlias = TrackInfo # noqa: Y015 + +@_typing.final +class OwnedTrack(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___TrackInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___TrackInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___TrackInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedTrack = OwnedTrack +Global___OwnedTrack: _TypeAlias = OwnedTrack # noqa: Y015 -@typing.final -class LocalTrackMuteRequest(google.protobuf.message.Message): +@_typing.final +class LocalTrackMuteRequest(_message.Message): """Mute/UnMute a track""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - MUTE_FIELD_NUMBER: builtins.int - track_handle: builtins.int - mute: builtins.bool + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + MUTE_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int + mute: _builtins.bool def __init__( self, *, - track_handle: builtins.int | None = ..., - mute: builtins.bool | None = ..., + track_handle: _builtins.int | None = ..., + mute: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["mute", b"mute", "track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["mute", b"mute", "track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalTrackMuteRequest = LocalTrackMuteRequest +Global___LocalTrackMuteRequest: _TypeAlias = LocalTrackMuteRequest # noqa: Y015 -@typing.final -class LocalTrackMuteResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class LocalTrackMuteResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - MUTED_FIELD_NUMBER: builtins.int - muted: builtins.bool + MUTED_FIELD_NUMBER: _builtins.int + muted: _builtins.bool def __init__( self, *, - muted: builtins.bool | None = ..., + muted: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["muted", b"muted"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["muted", b"muted"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["muted", b"muted"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["muted", b"muted"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___LocalTrackMuteResponse = LocalTrackMuteResponse +Global___LocalTrackMuteResponse: _TypeAlias = LocalTrackMuteResponse # noqa: Y015 -@typing.final -class EnableRemoteTrackRequest(google.protobuf.message.Message): +@_typing.final +class EnableRemoteTrackRequest(_message.Message): """Enable/Disable a remote track""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - ENABLED_FIELD_NUMBER: builtins.int - track_handle: builtins.int - enabled: builtins.bool + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + ENABLED_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int + enabled: _builtins.bool def __init__( self, *, - track_handle: builtins.int | None = ..., - enabled: builtins.bool | None = ..., + track_handle: _builtins.int | None = ..., + enabled: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___EnableRemoteTrackRequest = EnableRemoteTrackRequest +Global___EnableRemoteTrackRequest: _TypeAlias = EnableRemoteTrackRequest # noqa: Y015 -@typing.final -class EnableRemoteTrackResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class EnableRemoteTrackResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - ENABLED_FIELD_NUMBER: builtins.int - enabled: builtins.bool + ENABLED_FIELD_NUMBER: _builtins.int + enabled: _builtins.bool def __init__( self, *, - enabled: builtins.bool | None = ..., + enabled: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... - -global___EnableRemoteTrackResponse = EnableRemoteTrackResponse - -@typing.final -class SetTrackSubscriptionPermissionsRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - ALL_PARTICIPANTS_ALLOWED_FIELD_NUMBER: builtins.int - PERMISSIONS_FIELD_NUMBER: builtins.int - local_participant_handle: builtins.int - all_participants_allowed: builtins.bool - @property - def permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ParticipantTrackPermission]: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___EnableRemoteTrackResponse: _TypeAlias = EnableRemoteTrackResponse # noqa: Y015 + +@_typing.final +class SetTrackSubscriptionPermissionsRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + ALL_PARTICIPANTS_ALLOWED_FIELD_NUMBER: _builtins.int + PERMISSIONS_FIELD_NUMBER: _builtins.int + local_participant_handle: _builtins.int + all_participants_allowed: _builtins.bool + @_builtins.property + def permissions(self) -> _containers.RepeatedCompositeFieldContainer[Global___ParticipantTrackPermission]: ... def __init__( self, *, - local_participant_handle: builtins.int | None = ..., - all_participants_allowed: builtins.bool | None = ..., - permissions: collections.abc.Iterable[global___ParticipantTrackPermission] | None = ..., + local_participant_handle: _builtins.int | None = ..., + all_participants_allowed: _builtins.bool | None = ..., + permissions: _abc.Iterable[Global___ParticipantTrackPermission] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["all_participants_allowed", b"all_participants_allowed", "local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["all_participants_allowed", b"all_participants_allowed", "local_participant_handle", b"local_participant_handle", "permissions", b"permissions"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["all_participants_allowed", b"all_participants_allowed", "local_participant_handle", b"local_participant_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["all_participants_allowed", b"all_participants_allowed", "local_participant_handle", b"local_participant_handle", "permissions", b"permissions"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetTrackSubscriptionPermissionsRequest = SetTrackSubscriptionPermissionsRequest +Global___SetTrackSubscriptionPermissionsRequest: _TypeAlias = SetTrackSubscriptionPermissionsRequest # noqa: Y015 -@typing.final -class ParticipantTrackPermission(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class ParticipantTrackPermission(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - ALLOW_ALL_FIELD_NUMBER: builtins.int - ALLOWED_TRACK_SIDS_FIELD_NUMBER: builtins.int - participant_identity: builtins.str + PARTICIPANT_IDENTITY_FIELD_NUMBER: _builtins.int + ALLOW_ALL_FIELD_NUMBER: _builtins.int + ALLOWED_TRACK_SIDS_FIELD_NUMBER: _builtins.int + participant_identity: _builtins.str """The participant identity this permission applies to.""" - allow_all: builtins.bool + allow_all: _builtins.bool """Grant permission to all all tracks. Takes precedence over allowedTrackSids.""" - @property - def allowed_track_sids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + @_builtins.property + def allowed_track_sids(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: """List of track sids to grant permission to.""" def __init__( self, *, - participant_identity: builtins.str | None = ..., - allow_all: builtins.bool | None = ..., - allowed_track_sids: collections.abc.Iterable[builtins.str] | None = ..., + participant_identity: _builtins.str | None = ..., + allow_all: _builtins.bool | None = ..., + allowed_track_sids: _abc.Iterable[_builtins.str] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["allow_all", b"allow_all", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["allow_all", b"allow_all", "allowed_track_sids", b"allowed_track_sids", "participant_identity", b"participant_identity"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["allow_all", b"allow_all", "participant_identity", b"participant_identity"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["allow_all", b"allow_all", "allowed_track_sids", b"allowed_track_sids", "participant_identity", b"participant_identity"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___ParticipantTrackPermission = ParticipantTrackPermission +Global___ParticipantTrackPermission: _TypeAlias = ParticipantTrackPermission # noqa: Y015 -@typing.final -class SetTrackSubscriptionPermissionsResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetTrackSubscriptionPermissionsResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___SetTrackSubscriptionPermissionsResponse = SetTrackSubscriptionPermissionsResponse +Global___SetTrackSubscriptionPermissionsResponse: _TypeAlias = SetTrackSubscriptionPermissionsResponse # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py index e9eba74e..8f8f33b9 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: track_publication.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,8 +19,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'track_publication_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_VIDEOQUALITY']._serialized_start=501 _globals['_VIDEOQUALITY']._serialized_end=588 _globals['_ENABLEREMOTETRACKPUBLICATIONREQUEST']._serialized_start=42 diff --git a/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi index 9e70c7b4..94a1a99d 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi @@ -16,26 +16,26 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import google.protobuf.descriptor -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins import sys -import typing +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _VideoQuality: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _VideoQualityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoQuality.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _VideoQualityEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_VideoQuality.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor VIDEO_QUALITY_LOW: _VideoQuality.ValueType # 0 VIDEO_QUALITY_MEDIUM: _VideoQuality.ValueType # 1 VIDEO_QUALITY_HIGH: _VideoQuality.ValueType # 2 @@ -46,100 +46,106 @@ class VideoQuality(_VideoQuality, metaclass=_VideoQualityEnumTypeWrapper): VIDEO_QUALITY_LOW: VideoQuality.ValueType # 0 VIDEO_QUALITY_MEDIUM: VideoQuality.ValueType # 1 VIDEO_QUALITY_HIGH: VideoQuality.ValueType # 2 -global___VideoQuality = VideoQuality +Global___VideoQuality: _TypeAlias = VideoQuality # noqa: Y015 -@typing.final -class EnableRemoteTrackPublicationRequest(google.protobuf.message.Message): +@_typing.final +class EnableRemoteTrackPublicationRequest(_message.Message): """Enable/Disable a remote track publication""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int - ENABLED_FIELD_NUMBER: builtins.int - track_publication_handle: builtins.int - enabled: builtins.bool + TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: _builtins.int + ENABLED_FIELD_NUMBER: _builtins.int + track_publication_handle: _builtins.int + enabled: _builtins.bool def __init__( self, *, - track_publication_handle: builtins.int | None = ..., - enabled: builtins.bool | None = ..., + track_publication_handle: _builtins.int | None = ..., + enabled: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___EnableRemoteTrackPublicationRequest = EnableRemoteTrackPublicationRequest +Global___EnableRemoteTrackPublicationRequest: _TypeAlias = EnableRemoteTrackPublicationRequest # noqa: Y015 -@typing.final -class EnableRemoteTrackPublicationResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class EnableRemoteTrackPublicationResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___EnableRemoteTrackPublicationResponse = EnableRemoteTrackPublicationResponse +Global___EnableRemoteTrackPublicationResponse: _TypeAlias = EnableRemoteTrackPublicationResponse # noqa: Y015 -@typing.final -class UpdateRemoteTrackPublicationDimensionRequest(google.protobuf.message.Message): +@_typing.final +class UpdateRemoteTrackPublicationDimensionRequest(_message.Message): """update a remote track publication dimension""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - track_publication_handle: builtins.int - width: builtins.int - height: builtins.int + TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: _builtins.int + WIDTH_FIELD_NUMBER: _builtins.int + HEIGHT_FIELD_NUMBER: _builtins.int + track_publication_handle: _builtins.int + width: _builtins.int + height: _builtins.int def __init__( self, *, - track_publication_handle: builtins.int | None = ..., - width: builtins.int | None = ..., - height: builtins.int | None = ..., + track_publication_handle: _builtins.int | None = ..., + width: _builtins.int | None = ..., + height: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___UpdateRemoteTrackPublicationDimensionRequest = UpdateRemoteTrackPublicationDimensionRequest +Global___UpdateRemoteTrackPublicationDimensionRequest: _TypeAlias = UpdateRemoteTrackPublicationDimensionRequest # noqa: Y015 -@typing.final -class UpdateRemoteTrackPublicationDimensionResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class UpdateRemoteTrackPublicationDimensionResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___UpdateRemoteTrackPublicationDimensionResponse = UpdateRemoteTrackPublicationDimensionResponse +Global___UpdateRemoteTrackPublicationDimensionResponse: _TypeAlias = UpdateRemoteTrackPublicationDimensionResponse # noqa: Y015 -@typing.final -class SetRemoteTrackPublicationQualityRequest(google.protobuf.message.Message): +@_typing.final +class SetRemoteTrackPublicationQualityRequest(_message.Message): """For tracks that support simulcasting, adjust subscribed quality.""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int - QUALITY_FIELD_NUMBER: builtins.int - track_publication_handle: builtins.int - quality: global___VideoQuality.ValueType + TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: _builtins.int + QUALITY_FIELD_NUMBER: _builtins.int + track_publication_handle: _builtins.int + quality: Global___VideoQuality.ValueType def __init__( self, *, - track_publication_handle: builtins.int | None = ..., - quality: global___VideoQuality.ValueType | None = ..., + track_publication_handle: _builtins.int | None = ..., + quality: Global___VideoQuality.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["quality", b"quality", "track_publication_handle", b"track_publication_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["quality", b"quality", "track_publication_handle", b"track_publication_handle"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["quality", b"quality", "track_publication_handle", b"track_publication_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["quality", b"quality", "track_publication_handle", b"track_publication_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___SetRemoteTrackPublicationQualityRequest = SetRemoteTrackPublicationQualityRequest +Global___SetRemoteTrackPublicationQualityRequest: _TypeAlias = SetRemoteTrackPublicationQualityRequest # noqa: Y015 -@typing.final -class SetRemoteTrackPublicationQualityResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class SetRemoteTrackPublicationQualityResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___SetRemoteTrackPublicationQualityResponse = SetRemoteTrackPublicationQualityResponse +Global___SetRemoteTrackPublicationQualityResponse: _TypeAlias = SetRemoteTrackPublicationQualityResponse # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py index 6ff10dde..955df5a7 100644 --- a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: video_frame.proto -# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -22,8 +21,9 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'video_frame_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_VIDEOCODEC']._serialized_start=2685 _globals['_VIDEOCODEC']._serialized_end=2744 _globals['_VIDEOROTATION']._serialized_start=2746 diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi index e4df4b99..8478a526 100644 --- a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi @@ -16,30 +16,30 @@ See the License for the specific language governing permissions and limitations under the License. """ -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -from . import handle_pb2 +from collections import abc as _abc +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +import builtins as _builtins +from . import handle_pb2 as _handle_pb2 import sys -from . import track_pb2 -import typing +from . import track_pb2 as _track_pb2 +import typing as _typing if sys.version_info >= (3, 10): - import typing as typing_extensions + from typing import TypeAlias as _TypeAlias else: - import typing_extensions + from typing_extensions import TypeAlias as _TypeAlias -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +DESCRIPTOR: _descriptor.FileDescriptor class _VideoCodec: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _VideoCodecEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoCodec.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _VideoCodecEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_VideoCodec.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor VP8: _VideoCodec.ValueType # 0 H264: _VideoCodec.ValueType # 1 AV1: _VideoCodec.ValueType # 2 @@ -53,14 +53,14 @@ H264: VideoCodec.ValueType # 1 AV1: VideoCodec.ValueType # 2 VP9: VideoCodec.ValueType # 3 H265: VideoCodec.ValueType # 4 -global___VideoCodec = VideoCodec +Global___VideoCodec: _TypeAlias = VideoCodec # noqa: Y015 class _VideoRotation: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _VideoRotationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoRotation.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _VideoRotationEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_VideoRotation.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor VIDEO_ROTATION_0: _VideoRotation.ValueType # 0 VIDEO_ROTATION_90: _VideoRotation.ValueType # 1 VIDEO_ROTATION_180: _VideoRotation.ValueType # 2 @@ -72,14 +72,14 @@ VIDEO_ROTATION_0: VideoRotation.ValueType # 0 VIDEO_ROTATION_90: VideoRotation.ValueType # 1 VIDEO_ROTATION_180: VideoRotation.ValueType # 2 VIDEO_ROTATION_270: VideoRotation.ValueType # 3 -global___VideoRotation = VideoRotation +Global___VideoRotation: _TypeAlias = VideoRotation # noqa: Y015 class _VideoBufferType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _VideoBufferTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoBufferType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _VideoBufferTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_VideoBufferType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor RGBA: _VideoBufferType.ValueType # 0 ABGR: _VideoBufferType.ValueType # 1 ARGB: _VideoBufferType.ValueType # 2 @@ -108,14 +108,14 @@ I422: VideoBufferType.ValueType # 7 I444: VideoBufferType.ValueType # 8 I010: VideoBufferType.ValueType # 9 NV12: VideoBufferType.ValueType # 10 -global___VideoBufferType = VideoBufferType +Global___VideoBufferType: _TypeAlias = VideoBufferType # noqa: Y015 class _VideoStreamType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _VideoStreamTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoStreamType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _VideoStreamTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_VideoStreamType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor VIDEO_STREAM_NATIVE: _VideoStreamType.ValueType # 0 VIDEO_STREAM_WEBGL: _VideoStreamType.ValueType # 1 VIDEO_STREAM_HTML: _VideoStreamType.ValueType # 2 @@ -128,41 +128,41 @@ class VideoStreamType(_VideoStreamType, metaclass=_VideoStreamTypeEnumTypeWrappe VIDEO_STREAM_NATIVE: VideoStreamType.ValueType # 0 VIDEO_STREAM_WEBGL: VideoStreamType.ValueType # 1 VIDEO_STREAM_HTML: VideoStreamType.ValueType # 2 -global___VideoStreamType = VideoStreamType +Global___VideoStreamType: _TypeAlias = VideoStreamType # noqa: Y015 class _VideoSourceType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType + ValueType = _typing.NewType("ValueType", _builtins.int) + V: _TypeAlias = ValueType # noqa: Y015 -class _VideoSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VideoSourceType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor +class _VideoSourceTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_VideoSourceType.ValueType], _builtins.type): + DESCRIPTOR: _descriptor.EnumDescriptor VIDEO_SOURCE_NATIVE: _VideoSourceType.ValueType # 0 class VideoSourceType(_VideoSourceType, metaclass=_VideoSourceTypeEnumTypeWrapper): ... VIDEO_SOURCE_NATIVE: VideoSourceType.ValueType # 0 -global___VideoSourceType = VideoSourceType +Global___VideoSourceType: _TypeAlias = VideoSourceType # noqa: Y015 -@typing.final -class NewVideoStreamRequest(google.protobuf.message.Message): +@_typing.final +class NewVideoStreamRequest(_message.Message): """Create a new VideoStream VideoStream is used to receive video frames from a track """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TRACK_HANDLE_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - FORMAT_FIELD_NUMBER: builtins.int - NORMALIZE_STRIDE_FIELD_NUMBER: builtins.int - QUEUE_SIZE_FRAMES_FIELD_NUMBER: builtins.int - track_handle: builtins.int - type: global___VideoStreamType.ValueType - format: global___VideoBufferType.ValueType + TRACK_HANDLE_FIELD_NUMBER: _builtins.int + TYPE_FIELD_NUMBER: _builtins.int + FORMAT_FIELD_NUMBER: _builtins.int + NORMALIZE_STRIDE_FIELD_NUMBER: _builtins.int + QUEUE_SIZE_FRAMES_FIELD_NUMBER: _builtins.int + track_handle: _builtins.int + type: Global___VideoStreamType.ValueType + format: Global___VideoBufferType.ValueType """Get the frame on a specific format""" - normalize_stride: builtins.bool + normalize_stride: _builtins.bool """if true, stride will be set to width/chroma_width""" - queue_size_frames: builtins.int + queue_size_frames: _builtins.int """Maximum number of queued WebRTC sink frames on the receive path. Omit this field to use the default bounded queue size of 1 frame. Set it to 0 to request unbounded buffering. @@ -175,52 +175,56 @@ class NewVideoStreamRequest(google.protobuf.message.Message): def __init__( self, *, - track_handle: builtins.int | None = ..., - type: global___VideoStreamType.ValueType | None = ..., - format: global___VideoBufferType.ValueType | None = ..., - normalize_stride: builtins.bool | None = ..., - queue_size_frames: builtins.int | None = ..., + track_handle: _builtins.int | None = ..., + type: Global___VideoStreamType.ValueType | None = ..., + format: Global___VideoBufferType.ValueType | None = ..., + normalize_stride: _builtins.bool | None = ..., + queue_size_frames: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "queue_size_frames", b"queue_size_frames", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "queue_size_frames", b"queue_size_frames", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "queue_size_frames", b"queue_size_frames", "track_handle", b"track_handle", "type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "queue_size_frames", b"queue_size_frames", "track_handle", b"track_handle", "type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewVideoStreamRequest = NewVideoStreamRequest +Global___NewVideoStreamRequest: _TypeAlias = NewVideoStreamRequest # noqa: Y015 -@typing.final -class NewVideoStreamResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class NewVideoStreamResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - STREAM_FIELD_NUMBER: builtins.int - @property - def stream(self) -> global___OwnedVideoStream: ... + STREAM_FIELD_NUMBER: _builtins.int + @_builtins.property + def stream(self) -> Global___OwnedVideoStream: ... def __init__( self, *, - stream: global___OwnedVideoStream | None = ..., + stream: Global___OwnedVideoStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewVideoStreamResponse = NewVideoStreamResponse +Global___NewVideoStreamResponse: _TypeAlias = NewVideoStreamResponse # noqa: Y015 -@typing.final -class VideoStreamFromParticipantRequest(google.protobuf.message.Message): +@_typing.final +class VideoStreamFromParticipantRequest(_message.Message): """Request a video stream from a participant""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - TRACK_SOURCE_FIELD_NUMBER: builtins.int - FORMAT_FIELD_NUMBER: builtins.int - NORMALIZE_STRIDE_FIELD_NUMBER: builtins.int - QUEUE_SIZE_FRAMES_FIELD_NUMBER: builtins.int - participant_handle: builtins.int - type: global___VideoStreamType.ValueType - track_source: track_pb2.TrackSource.ValueType - format: global___VideoBufferType.ValueType - normalize_stride: builtins.bool - queue_size_frames: builtins.int + DESCRIPTOR: _descriptor.Descriptor + + PARTICIPANT_HANDLE_FIELD_NUMBER: _builtins.int + TYPE_FIELD_NUMBER: _builtins.int + TRACK_SOURCE_FIELD_NUMBER: _builtins.int + FORMAT_FIELD_NUMBER: _builtins.int + NORMALIZE_STRIDE_FIELD_NUMBER: _builtins.int + QUEUE_SIZE_FRAMES_FIELD_NUMBER: _builtins.int + participant_handle: _builtins.int + type: Global___VideoStreamType.ValueType + track_source: _track_pb2.TrackSource.ValueType + format: Global___VideoBufferType.ValueType + normalize_stride: _builtins.bool + queue_size_frames: _builtins.int """Maximum number of queued WebRTC sink frames on the receive path. Omit this field to use the default bounded queue size of 1 frame. Set it to 0 to request unbounded buffering. @@ -233,50 +237,54 @@ class VideoStreamFromParticipantRequest(google.protobuf.message.Message): def __init__( self, *, - participant_handle: builtins.int | None = ..., - type: global___VideoStreamType.ValueType | None = ..., - track_source: track_pb2.TrackSource.ValueType | None = ..., - format: global___VideoBufferType.ValueType | None = ..., - normalize_stride: builtins.bool | None = ..., - queue_size_frames: builtins.int | None = ..., + participant_handle: _builtins.int | None = ..., + type: Global___VideoStreamType.ValueType | None = ..., + track_source: _track_pb2.TrackSource.ValueType | None = ..., + format: Global___VideoBufferType.ValueType | None = ..., + normalize_stride: _builtins.bool | None = ..., + queue_size_frames: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "track_source", b"track_source", "type", b"type"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "track_source", b"track_source", "type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "queue_size_frames", b"queue_size_frames", "track_source", b"track_source", "type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___VideoStreamFromParticipantRequest = VideoStreamFromParticipantRequest +Global___VideoStreamFromParticipantRequest: _TypeAlias = VideoStreamFromParticipantRequest # noqa: Y015 -@typing.final -class VideoStreamFromParticipantResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class VideoStreamFromParticipantResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - STREAM_FIELD_NUMBER: builtins.int - @property - def stream(self) -> global___OwnedVideoStream: ... + STREAM_FIELD_NUMBER: _builtins.int + @_builtins.property + def stream(self) -> Global___OwnedVideoStream: ... def __init__( self, *, - stream: global___OwnedVideoStream | None = ..., + stream: Global___OwnedVideoStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["stream", b"stream"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___VideoStreamFromParticipantResponse = VideoStreamFromParticipantResponse +Global___VideoStreamFromParticipantResponse: _TypeAlias = VideoStreamFromParticipantResponse # noqa: Y015 -@typing.final -class NewVideoSourceRequest(google.protobuf.message.Message): +@_typing.final +class NewVideoSourceRequest(_message.Message): """Create a new VideoSource VideoSource is used to send video frame to a track """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - TYPE_FIELD_NUMBER: builtins.int - RESOLUTION_FIELD_NUMBER: builtins.int - IS_SCREENCAST_FIELD_NUMBER: builtins.int - type: global___VideoSourceType.ValueType - is_screencast: builtins.bool - @property - def resolution(self) -> global___VideoSourceResolution: + TYPE_FIELD_NUMBER: _builtins.int + RESOLUTION_FIELD_NUMBER: _builtins.int + IS_SCREENCAST_FIELD_NUMBER: _builtins.int + type: Global___VideoSourceType.ValueType + is_screencast: _builtins.bool + @_builtins.property + def resolution(self) -> Global___VideoSourceResolution: """Used to determine which encodings to use + simulcast layers Most of the time it corresponds to the source resolution """ @@ -284,394 +292,432 @@ class NewVideoSourceRequest(google.protobuf.message.Message): def __init__( self, *, - type: global___VideoSourceType.ValueType | None = ..., - resolution: global___VideoSourceResolution | None = ..., - is_screencast: builtins.bool | None = ..., + type: Global___VideoSourceType.ValueType | None = ..., + resolution: Global___VideoSourceResolution | None = ..., + is_screencast: _builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["is_screencast", b"is_screencast", "resolution", b"resolution", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["is_screencast", b"is_screencast", "resolution", b"resolution", "type", b"type"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["is_screencast", b"is_screencast", "resolution", b"resolution", "type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["is_screencast", b"is_screencast", "resolution", b"resolution", "type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewVideoSourceRequest = NewVideoSourceRequest +Global___NewVideoSourceRequest: _TypeAlias = NewVideoSourceRequest # noqa: Y015 -@typing.final -class NewVideoSourceResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class NewVideoSourceResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - SOURCE_FIELD_NUMBER: builtins.int - @property - def source(self) -> global___OwnedVideoSource: ... + SOURCE_FIELD_NUMBER: _builtins.int + @_builtins.property + def source(self) -> Global___OwnedVideoSource: ... def __init__( self, *, - source: global___OwnedVideoSource | None = ..., + source: Global___OwnedVideoSource | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["source", b"source"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["source", b"source"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___NewVideoSourceResponse = NewVideoSourceResponse +Global___NewVideoSourceResponse: _TypeAlias = NewVideoSourceResponse # noqa: Y015 -@typing.final -class CaptureVideoFrameRequest(google.protobuf.message.Message): +@_typing.final +class CaptureVideoFrameRequest(_message.Message): """Push a frame to a VideoSource""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - SOURCE_HANDLE_FIELD_NUMBER: builtins.int - BUFFER_FIELD_NUMBER: builtins.int - TIMESTAMP_US_FIELD_NUMBER: builtins.int - ROTATION_FIELD_NUMBER: builtins.int - METADATA_FIELD_NUMBER: builtins.int - source_handle: builtins.int - timestamp_us: builtins.int + SOURCE_HANDLE_FIELD_NUMBER: _builtins.int + BUFFER_FIELD_NUMBER: _builtins.int + TIMESTAMP_US_FIELD_NUMBER: _builtins.int + ROTATION_FIELD_NUMBER: _builtins.int + METADATA_FIELD_NUMBER: _builtins.int + source_handle: _builtins.int + timestamp_us: _builtins.int """In microseconds""" - rotation: global___VideoRotation.ValueType - @property - def buffer(self) -> global___VideoBufferInfo: ... - @property - def metadata(self) -> global___FrameMetadata: ... + rotation: Global___VideoRotation.ValueType + @_builtins.property + def buffer(self) -> Global___VideoBufferInfo: ... + @_builtins.property + def metadata(self) -> Global___FrameMetadata: ... def __init__( self, *, - source_handle: builtins.int | None = ..., - buffer: global___VideoBufferInfo | None = ..., - timestamp_us: builtins.int | None = ..., - rotation: global___VideoRotation.ValueType | None = ..., - metadata: global___FrameMetadata | None = ..., + source_handle: _builtins.int | None = ..., + buffer: Global___VideoBufferInfo | None = ..., + timestamp_us: _builtins.int | None = ..., + rotation: Global___VideoRotation.ValueType | None = ..., + metadata: Global___FrameMetadata | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___CaptureVideoFrameRequest = CaptureVideoFrameRequest +Global___CaptureVideoFrameRequest: _TypeAlias = CaptureVideoFrameRequest # noqa: Y015 -@typing.final -class CaptureVideoFrameResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class CaptureVideoFrameResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___CaptureVideoFrameResponse = CaptureVideoFrameResponse +Global___CaptureVideoFrameResponse: _TypeAlias = CaptureVideoFrameResponse # noqa: Y015 -@typing.final -class VideoConvertRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class VideoConvertRequest(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - FLIP_Y_FIELD_NUMBER: builtins.int - BUFFER_FIELD_NUMBER: builtins.int - DST_TYPE_FIELD_NUMBER: builtins.int - flip_y: builtins.bool - dst_type: global___VideoBufferType.ValueType - @property - def buffer(self) -> global___VideoBufferInfo: ... + FLIP_Y_FIELD_NUMBER: _builtins.int + BUFFER_FIELD_NUMBER: _builtins.int + DST_TYPE_FIELD_NUMBER: _builtins.int + flip_y: _builtins.bool + dst_type: Global___VideoBufferType.ValueType + @_builtins.property + def buffer(self) -> Global___VideoBufferInfo: ... def __init__( self, *, - flip_y: builtins.bool | None = ..., - buffer: global___VideoBufferInfo | None = ..., - dst_type: global___VideoBufferType.ValueType | None = ..., + flip_y: _builtins.bool | None = ..., + buffer: Global___VideoBufferInfo | None = ..., + dst_type: Global___VideoBufferType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> None: ... - -global___VideoConvertRequest = VideoConvertRequest - -@typing.final -class VideoConvertResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ERROR_FIELD_NUMBER: builtins.int - BUFFER_FIELD_NUMBER: builtins.int - error: builtins.str - @property - def buffer(self) -> global___OwnedVideoBuffer: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___VideoConvertRequest: _TypeAlias = VideoConvertRequest # noqa: Y015 + +@_typing.final +class VideoConvertResponse(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ERROR_FIELD_NUMBER: _builtins.int + BUFFER_FIELD_NUMBER: _builtins.int + error: _builtins.str + @_builtins.property + def buffer(self) -> Global___OwnedVideoBuffer: ... def __init__( self, *, - error: builtins.str | None = ..., - buffer: global___OwnedVideoBuffer | None = ..., + error: _builtins.str | None = ..., + buffer: Global___OwnedVideoBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "buffer"] | None: ... - -global___VideoConvertResponse = VideoConvertResponse - -@typing.final -class VideoResolution(google.protobuf.message.Message): + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["error", "buffer"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___VideoConvertResponse: _TypeAlias = VideoConvertResponse # noqa: Y015 + +@_typing.final +class VideoResolution(_message.Message): """ VideoFrame buffers """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - WIDTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - FRAME_RATE_FIELD_NUMBER: builtins.int - width: builtins.int - height: builtins.int - frame_rate: builtins.float + WIDTH_FIELD_NUMBER: _builtins.int + HEIGHT_FIELD_NUMBER: _builtins.int + FRAME_RATE_FIELD_NUMBER: _builtins.int + width: _builtins.int + height: _builtins.int + frame_rate: _builtins.float def __init__( self, *, - width: builtins.int | None = ..., - height: builtins.int | None = ..., - frame_rate: builtins.float | None = ..., + width: _builtins.int | None = ..., + height: _builtins.int | None = ..., + frame_rate: _builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> None: ... - -global___VideoResolution = VideoResolution - -@typing.final -class VideoBufferInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class ComponentInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DATA_PTR_FIELD_NUMBER: builtins.int - STRIDE_FIELD_NUMBER: builtins.int - SIZE_FIELD_NUMBER: builtins.int - data_ptr: builtins.int - stride: builtins.int - size: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___VideoResolution: _TypeAlias = VideoResolution # noqa: Y015 + +@_typing.final +class VideoBufferInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + @_typing.final + class ComponentInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + DATA_PTR_FIELD_NUMBER: _builtins.int + STRIDE_FIELD_NUMBER: _builtins.int + SIZE_FIELD_NUMBER: _builtins.int + data_ptr: _builtins.int + stride: _builtins.int + size: _builtins.int def __init__( self, *, - data_ptr: builtins.int | None = ..., - stride: builtins.int | None = ..., - size: builtins.int | None = ..., + data_ptr: _builtins.int | None = ..., + stride: _builtins.int | None = ..., + size: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> None: ... - - TYPE_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - DATA_PTR_FIELD_NUMBER: builtins.int - STRIDE_FIELD_NUMBER: builtins.int - COMPONENTS_FIELD_NUMBER: builtins.int - type: global___VideoBufferType.ValueType - width: builtins.int - height: builtins.int - data_ptr: builtins.int - stride: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + + TYPE_FIELD_NUMBER: _builtins.int + WIDTH_FIELD_NUMBER: _builtins.int + HEIGHT_FIELD_NUMBER: _builtins.int + DATA_PTR_FIELD_NUMBER: _builtins.int + STRIDE_FIELD_NUMBER: _builtins.int + COMPONENTS_FIELD_NUMBER: _builtins.int + type: Global___VideoBufferType.ValueType + width: _builtins.int + height: _builtins.int + data_ptr: _builtins.int + stride: _builtins.int """only for packed formats""" - @property - def components(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VideoBufferInfo.ComponentInfo]: ... + @_builtins.property + def components(self) -> _containers.RepeatedCompositeFieldContainer[Global___VideoBufferInfo.ComponentInfo]: ... def __init__( self, *, - type: global___VideoBufferType.ValueType | None = ..., - width: builtins.int | None = ..., - height: builtins.int | None = ..., - data_ptr: builtins.int | None = ..., - stride: builtins.int | None = ..., - components: collections.abc.Iterable[global___VideoBufferInfo.ComponentInfo] | None = ..., + type: Global___VideoBufferType.ValueType | None = ..., + width: _builtins.int | None = ..., + height: _builtins.int | None = ..., + data_ptr: _builtins.int | None = ..., + stride: _builtins.int | None = ..., + components: _abc.Iterable[Global___VideoBufferInfo.ComponentInfo] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["components", b"components", "data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> None: ... - -global___VideoBufferInfo = VideoBufferInfo - -@typing.final -class OwnedVideoBuffer(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___VideoBufferInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["components", b"components", "data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___VideoBufferInfo: _TypeAlias = VideoBufferInfo # noqa: Y015 + +@_typing.final +class OwnedVideoBuffer(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___VideoBufferInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___VideoBufferInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___VideoBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedVideoBuffer = OwnedVideoBuffer +Global___OwnedVideoBuffer: _TypeAlias = OwnedVideoBuffer # noqa: Y015 -@typing.final -class FrameMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class FrameMetadata(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - USER_TIMESTAMP_FIELD_NUMBER: builtins.int - FRAME_ID_FIELD_NUMBER: builtins.int - user_timestamp: builtins.int - frame_id: builtins.int + USER_TIMESTAMP_FIELD_NUMBER: _builtins.int + FRAME_ID_FIELD_NUMBER: _builtins.int + user_timestamp: _builtins.int + frame_id: _builtins.int def __init__( self, *, - user_timestamp: builtins.int | None = ..., - frame_id: builtins.int | None = ..., + user_timestamp: _builtins.int | None = ..., + frame_id: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frame_id", b"frame_id", "user_timestamp", b"user_timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frame_id", b"frame_id", "user_timestamp", b"user_timestamp"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["frame_id", b"frame_id", "user_timestamp", b"user_timestamp"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["frame_id", b"frame_id", "user_timestamp", b"user_timestamp"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___FrameMetadata = FrameMetadata +Global___FrameMetadata: _TypeAlias = FrameMetadata # noqa: Y015 -@typing.final -class VideoStreamInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class VideoStreamInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TYPE_FIELD_NUMBER: builtins.int - type: global___VideoStreamType.ValueType + TYPE_FIELD_NUMBER: _builtins.int + type: Global___VideoStreamType.ValueType def __init__( self, *, - type: global___VideoStreamType.ValueType | None = ..., + type: Global___VideoStreamType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... - -global___VideoStreamInfo = VideoStreamInfo - -@typing.final -class OwnedVideoStream(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___VideoStreamInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___VideoStreamInfo: _TypeAlias = VideoStreamInfo # noqa: Y015 + +@_typing.final +class OwnedVideoStream(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___VideoStreamInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___VideoStreamInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___VideoStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... - -global___OwnedVideoStream = OwnedVideoStream - -@typing.final -class VideoStreamEvent(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STREAM_HANDLE_FIELD_NUMBER: builtins.int - FRAME_RECEIVED_FIELD_NUMBER: builtins.int - EOS_FIELD_NUMBER: builtins.int - stream_handle: builtins.int - @property - def frame_received(self) -> global___VideoFrameReceived: ... - @property - def eos(self) -> global___VideoStreamEOS: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___OwnedVideoStream: _TypeAlias = OwnedVideoStream # noqa: Y015 + +@_typing.final +class VideoStreamEvent(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + STREAM_HANDLE_FIELD_NUMBER: _builtins.int + FRAME_RECEIVED_FIELD_NUMBER: _builtins.int + EOS_FIELD_NUMBER: _builtins.int + stream_handle: _builtins.int + @_builtins.property + def frame_received(self) -> Global___VideoFrameReceived: ... + @_builtins.property + def eos(self) -> Global___VideoStreamEOS: ... def __init__( self, *, - stream_handle: builtins.int | None = ..., - frame_received: global___VideoFrameReceived | None = ..., - eos: global___VideoStreamEOS | None = ..., + stream_handle: _builtins.int | None = ..., + frame_received: Global___VideoFrameReceived | None = ..., + eos: Global___VideoStreamEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["frame_received", "eos"] | None: ... - -global___VideoStreamEvent = VideoStreamEvent - -@typing.final -class VideoFrameReceived(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - BUFFER_FIELD_NUMBER: builtins.int - TIMESTAMP_US_FIELD_NUMBER: builtins.int - ROTATION_FIELD_NUMBER: builtins.int - METADATA_FIELD_NUMBER: builtins.int - timestamp_us: builtins.int + _HasFieldArgType: _TypeAlias = _typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + _WhichOneofReturnType_message: _TypeAlias = _typing.Literal["frame_received", "eos"] # noqa: Y015 + _WhichOneofArgType_message: _TypeAlias = _typing.Literal["message", b"message"] # noqa: Y015 + def WhichOneof(self, oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None: ... + +Global___VideoStreamEvent: _TypeAlias = VideoStreamEvent # noqa: Y015 + +@_typing.final +class VideoFrameReceived(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + BUFFER_FIELD_NUMBER: _builtins.int + TIMESTAMP_US_FIELD_NUMBER: _builtins.int + ROTATION_FIELD_NUMBER: _builtins.int + METADATA_FIELD_NUMBER: _builtins.int + timestamp_us: _builtins.int """In microseconds""" - rotation: global___VideoRotation.ValueType - @property - def buffer(self) -> global___OwnedVideoBuffer: ... - @property - def metadata(self) -> global___FrameMetadata: ... + rotation: Global___VideoRotation.ValueType + @_builtins.property + def buffer(self) -> Global___OwnedVideoBuffer: ... + @_builtins.property + def metadata(self) -> Global___FrameMetadata: ... def __init__( self, *, - buffer: global___OwnedVideoBuffer | None = ..., - timestamp_us: builtins.int | None = ..., - rotation: global___VideoRotation.ValueType | None = ..., - metadata: global___FrameMetadata | None = ..., + buffer: Global___OwnedVideoBuffer | None = ..., + timestamp_us: _builtins.int | None = ..., + rotation: Global___VideoRotation.ValueType | None = ..., + metadata: Global___FrameMetadata | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "timestamp_us", b"timestamp_us"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "metadata", b"metadata", "rotation", b"rotation", "timestamp_us", b"timestamp_us"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___VideoFrameReceived = VideoFrameReceived +Global___VideoFrameReceived: _TypeAlias = VideoFrameReceived # noqa: Y015 -@typing.final -class VideoStreamEOS(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class VideoStreamEOS(_message.Message): + DESCRIPTOR: _descriptor.Descriptor def __init__( self, ) -> None: ... -global___VideoStreamEOS = VideoStreamEOS +Global___VideoStreamEOS: _TypeAlias = VideoStreamEOS # noqa: Y015 -@typing.final -class VideoSourceResolution(google.protobuf.message.Message): +@_typing.final +class VideoSourceResolution(_message.Message): """ VideoSource """ - DESCRIPTOR: google.protobuf.descriptor.Descriptor + DESCRIPTOR: _descriptor.Descriptor - WIDTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - width: builtins.int - height: builtins.int + WIDTH_FIELD_NUMBER: _builtins.int + HEIGHT_FIELD_NUMBER: _builtins.int + width: _builtins.int + height: _builtins.int def __init__( self, *, - width: builtins.int | None = ..., - height: builtins.int | None = ..., + width: _builtins.int | None = ..., + height: _builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["height", b"height", "width", b"width"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["height", b"height", "width", b"width"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___VideoSourceResolution = VideoSourceResolution +Global___VideoSourceResolution: _TypeAlias = VideoSourceResolution # noqa: Y015 -@typing.final -class VideoSourceInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +@_typing.final +class VideoSourceInfo(_message.Message): + DESCRIPTOR: _descriptor.Descriptor - TYPE_FIELD_NUMBER: builtins.int - type: global___VideoSourceType.ValueType + TYPE_FIELD_NUMBER: _builtins.int + type: Global___VideoSourceType.ValueType def __init__( self, *, - type: global___VideoSourceType.ValueType | None = ..., + type: Global___VideoSourceType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... - -global___VideoSourceInfo = VideoSourceInfo - -@typing.final -class OwnedVideoSource(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HANDLE_FIELD_NUMBER: builtins.int - INFO_FIELD_NUMBER: builtins.int - @property - def handle(self) -> handle_pb2.FfiOwnedHandle: ... - @property - def info(self) -> global___VideoSourceInfo: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["type", b"type"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + +Global___VideoSourceInfo: _TypeAlias = VideoSourceInfo # noqa: Y015 + +@_typing.final +class OwnedVideoSource(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + HANDLE_FIELD_NUMBER: _builtins.int + INFO_FIELD_NUMBER: _builtins.int + @_builtins.property + def handle(self) -> _handle_pb2.FfiOwnedHandle: ... + @_builtins.property + def info(self) -> Global___VideoSourceInfo: ... def __init__( self, *, - handle: handle_pb2.FfiOwnedHandle | None = ..., - info: global___VideoSourceInfo | None = ..., + handle: _handle_pb2.FfiOwnedHandle | None = ..., + info: Global___VideoSourceInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["handle", b"handle", "info", b"info"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... -global___OwnedVideoSource = OwnedVideoSource +Global___OwnedVideoSource: _TypeAlias = OwnedVideoSource # noqa: Y015 diff --git a/livekit-rtc/livekit/rtc/room.py b/livekit-rtc/livekit/rtc/room.py index b4a822a5..58c9ab98 100644 --- a/livekit-rtc/livekit/rtc/room.py +++ b/livekit-rtc/livekit/rtc/room.py @@ -725,6 +725,23 @@ def _on_room_event(self, event: proto_room.RoomEvent): sid = event.local_track_unpublished.publication_sid lpublication = self.local_participant.track_publications[sid] self.emit("local_track_unpublished", lpublication) + elif which == "local_track_republished": + republished = event.local_track_republished + publications = self.local_participant._track_publications + lpublication = publications.pop(republished.previous_sid, None) + if lpublication is None: + logging.warning( + "received local_track_republished for unknown publication sid %s", + republished.previous_sid, + ) + return + + lpublication._ffi_handle.dispose() + lpublication._ffi_handle = FfiHandle(republished.publication_handle) + lpublication._info.CopyFrom(republished.info) + if lpublication.track is not None: + lpublication.track._info.sid = lpublication.sid + publications[lpublication.sid] = lpublication elif which == "local_track_subscribed": sid = event.local_track_subscribed.track_sid lpublication = self.local_participant.track_publications[sid] diff --git a/livekit-rtc/livekit/rtc/track_publication.py b/livekit-rtc/livekit/rtc/track_publication.py index 5095841c..84282263 100644 --- a/livekit-rtc/livekit/rtc/track_publication.py +++ b/livekit-rtc/livekit/rtc/track_publication.py @@ -76,6 +76,10 @@ def encryption_type(self) -> proto_e2ee.EncryptionType.ValueType: def audio_features(self) -> List[proto_track.AudioTrackFeature.ValueType]: return list(self._info.audio_features) + @property + def packet_trailer_features(self) -> List[proto_track.PacketTrailerFeature.ValueType]: + return list(self._info.packet_trailer_features) + class LocalTrackPublication(TrackPublication): def __init__(self, owned_info: proto_track.OwnedTrackPublication): diff --git a/livekit-rtc/livekit/rtc/video_source.py b/livekit-rtc/livekit/rtc/video_source.py index be3b3635..0cab1754 100644 --- a/livekit-rtc/livekit/rtc/video_source.py +++ b/livekit-rtc/livekit/rtc/video_source.py @@ -58,12 +58,16 @@ def capture_frame( *, timestamp_us: int = 0, rotation: proto_video.VideoRotation.ValueType = proto_video.VideoRotation.VIDEO_ROTATION_0, + metadata: proto_video.FrameMetadata | None = None, ) -> None: + """Capture a frame, optionally attaching packet trailer metadata.""" req = proto_ffi.FfiRequest() req.capture_video_frame.source_handle = self._ffi_handle.handle req.capture_video_frame.buffer.CopyFrom(frame._proto_info()) req.capture_video_frame.rotation = rotation req.capture_video_frame.timestamp_us = timestamp_us + if metadata is not None: + req.capture_video_frame.metadata.CopyFrom(metadata) FfiClient.instance.request(req) async def aclose(self) -> None: diff --git a/livekit-rtc/livekit/rtc/video_stream.py b/livekit-rtc/livekit/rtc/video_stream.py index f1e8eb5d..799de195 100644 --- a/livekit-rtc/livekit/rtc/video_stream.py +++ b/livekit-rtc/livekit/rtc/video_stream.py @@ -33,6 +33,7 @@ class VideoFrameEvent: frame: VideoFrame timestamp_us: int rotation: proto_video_frame.VideoRotation + metadata: proto_video_frame.FrameMetadata | None = None class VideoStream: @@ -142,13 +143,19 @@ async def _run(self) -> None: video_event = event.video_stream_event if video_event.HasField("frame_received"): - owned_buffer_info = video_event.frame_received.buffer + frame_received = video_event.frame_received + owned_buffer_info = frame_received.buffer frame = VideoFrame._from_owned_info(owned_buffer_info) + metadata: proto_video_frame.FrameMetadata | None = None + if frame_received.HasField("metadata"): + metadata = proto_video_frame.FrameMetadata() + metadata.CopyFrom(frame_received.metadata) event = VideoFrameEvent( frame=frame, - timestamp_us=video_event.frame_received.timestamp_us, - rotation=video_event.frame_received.rotation, + timestamp_us=frame_received.timestamp_us, + rotation=frame_received.rotation, + metadata=metadata, ) self._queue.put(event) diff --git a/livekit-rtc/rust-sdks b/livekit-rtc/rust-sdks index 2ea09e6e..6472bfa9 160000 --- a/livekit-rtc/rust-sdks +++ b/livekit-rtc/rust-sdks @@ -1 +1 @@ -Subproject commit 2ea09e6e5b7cc22f0fb8066bd6f0637a5ed38f08 +Subproject commit 6472bfa95b18cb7bee6b3f654e3f93a59ee532a2 diff --git a/tests/rtc/test_e2e.py b/tests/rtc/test_e2e.py index 6935d3c6..471aa9ec 100644 --- a/tests/rtc/test_e2e.py +++ b/tests/rtc/test_e2e.py @@ -141,6 +141,168 @@ def on_track_subscribed( await subscriber_room.disconnect() +@pytest.mark.asyncio +@skip_if_no_credentials() +async def test_video_packet_trailer_metadata(): + """Test that packet trailer metadata can be sent and received on video frames.""" + room_name = unique_room_name("test-video-packet-trailer") + url = os.getenv("LIVEKIT_URL") + + publisher_room = rtc.Room() + subscriber_room = rtc.Room() + + publisher_token = create_token("video-publisher", room_name) + subscriber_token = create_token("video-subscriber", room_name) + + track_subscribed_event = asyncio.Event() + subscribed_track = None + subscribed_publication = None + video_stream = None + source = None + + @subscriber_room.on("track_subscribed") + def on_track_subscribed( + track: rtc.Track, + publication: rtc.RemoteTrackPublication, + participant: rtc.RemoteParticipant, + ): + nonlocal subscribed_track, subscribed_publication + if track.kind == rtc.TrackKind.KIND_VIDEO: + subscribed_track = track + subscribed_publication = publication + track_subscribed_event.set() + + try: + await subscriber_room.connect(url, subscriber_token) + await publisher_room.connect(url, publisher_token) + + source = rtc.VideoSource(2, 2) + track = rtc.LocalVideoTrack.create_video_track("metadata-video", source) + packet_trailer_features = [ + rtc.PacketTrailerFeature.PTF_USER_TIMESTAMP, + rtc.PacketTrailerFeature.PTF_FRAME_ID, + ] + options = rtc.TrackPublishOptions( + source=rtc.TrackSource.SOURCE_CAMERA, + packet_trailer_features=packet_trailer_features, + ) + publication = await publisher_room.local_participant.publish_track(track, options) + + assert publication.packet_trailer_features == packet_trailer_features + await asyncio.wait_for(track_subscribed_event.wait(), timeout=5.0) + assert subscribed_track is not None + assert subscribed_publication is not None + assert subscribed_publication.packet_trailer_features == packet_trailer_features + + video_stream = rtc.VideoStream.from_track(track=subscribed_track, capacity=1) + frame = rtc.VideoFrame( + width=2, + height=2, + type=rtc.VideoBufferType.RGBA, + data=bytes( + [ + 255, + 0, + 0, + 255, + 0, + 255, + 0, + 255, + 0, + 0, + 255, + 255, + 255, + 255, + 255, + 255, + ] + ), + ) + metadata = rtc.FrameMetadata(user_timestamp=123456789, frame_id=77) + + async def publish_frames(): + for _ in range(20): + source.capture_frame(frame, metadata=metadata) + await asyncio.sleep(0.05) + + publish_task = asyncio.create_task(publish_frames()) + event = await asyncio.wait_for(video_stream.__anext__(), timeout=5.0) + await publish_task + + assert event.metadata is not None + assert event.metadata.HasField("user_timestamp") + assert event.metadata.HasField("frame_id") + assert event.metadata.user_timestamp == 123456789 + assert event.metadata.frame_id == 77 + + finally: + if video_stream is not None: + await video_stream.aclose() + if source is not None: + await source.aclose() + await publisher_room.disconnect() + await subscriber_room.disconnect() + + +@pytest.mark.asyncio +@skip_if_no_credentials() +async def test_full_reconnect_preserves_local_publication_object(): + """Test that FFI local_track_republished updates the existing publication object.""" + room_name = unique_room_name("test-local-republish") + url = os.getenv("LIVEKIT_URL") + + room = rtc.Room() + token = create_token("publisher", room_name) + reconnected_event = asyncio.Event() + source = None + + @room.on("reconnected") + def on_reconnected(): + reconnected_event.set() + + try: + await room.connect(url, token) + + source = rtc.VideoSource(2, 2) + track = rtc.LocalVideoTrack.create_video_track("republish-video", source) + packet_trailer_features = [ + rtc.PacketTrailerFeature.PTF_USER_TIMESTAMP, + rtc.PacketTrailerFeature.PTF_FRAME_ID, + ] + publication = await room.local_participant.publish_track( + track, + rtc.TrackPublishOptions( + source=rtc.TrackSource.SOURCE_CAMERA, + packet_trailer_features=packet_trailer_features, + ), + ) + previous_sid = publication.sid + + await room.simulate_scenario(rtc.SimulateScenarioKind.SIMULATE_FULL_RECONNECT) + await asyncio.wait_for(reconnected_event.wait(), timeout=10.0) + + await assert_eventually( + lambda: ( + publication.sid in room.local_participant.track_publications + and room.local_participant.track_publications[publication.sid] is publication + ), + timeout=10.0, + message="local publication was not rekeyed after full reconnect", + ) + + assert publication.sid != previous_sid + assert previous_sid not in room.local_participant.track_publications + assert track.sid == publication.sid + assert publication.packet_trailer_features == packet_trailer_features + + finally: + if source is not None: + await source.aclose() + await room.disconnect() + + @pytest.mark.asyncio @skip_if_no_credentials() async def test_audio_stream_subscribe(): diff --git a/tests/rtc/test_packet_trailer.py b/tests/rtc/test_packet_trailer.py new file mode 100644 index 00000000..35b8e8bf --- /dev/null +++ b/tests/rtc/test_packet_trailer.py @@ -0,0 +1,168 @@ +from __future__ import annotations + +from types import SimpleNamespace + +import pytest + +from livekit import rtc +from livekit.rtc import video_source as video_source_module +from livekit.rtc._proto import e2ee_pb2 as proto_e2ee +from livekit.rtc._proto import handle_pb2 as proto_handle +from livekit.rtc._proto import participant_pb2 as proto_participant +from livekit.rtc._proto import room_pb2 as proto_room +from livekit.rtc._proto import track_pb2 as proto_track +from livekit.rtc.participant import LocalParticipant + + +def _publication_info( + sid: str, + *, + packet_trailer_features: list[proto_track.PacketTrailerFeature.ValueType] | None = None, +) -> proto_track.TrackPublicationInfo: + return proto_track.TrackPublicationInfo( + sid=sid, + name="camera", + kind=proto_track.KIND_VIDEO, + source=proto_track.SOURCE_CAMERA, + simulcasted=False, + width=640, + height=360, + mime_type="video/VP8", + muted=False, + remote=False, + encryption_type=proto_e2ee.NONE, + packet_trailer_features=packet_trailer_features or [], + ) + + +def _owned_publication( + sid: str, + *, + packet_trailer_features: list[proto_track.PacketTrailerFeature.ValueType] | None = None, +) -> proto_track.OwnedTrackPublication: + return proto_track.OwnedTrackPublication( + handle=proto_handle.FfiOwnedHandle(id=0), + info=_publication_info(sid, packet_trailer_features=packet_trailer_features), + ) + + +def test_packet_trailer_symbols_are_exported() -> None: + metadata = rtc.FrameMetadata(user_timestamp=123, frame_id=7) + + assert rtc.PacketTrailerFeature.PTF_USER_TIMESTAMP == proto_track.PTF_USER_TIMESTAMP + assert rtc.PacketTrailerFeature.PTF_FRAME_ID == proto_track.PTF_FRAME_ID + assert metadata.HasField("user_timestamp") + assert metadata.HasField("frame_id") + + +@pytest.mark.asyncio +async def test_track_publication_exposes_packet_trailer_features() -> None: + publication = rtc.LocalTrackPublication( + _owned_publication( + "TR_OLD", + packet_trailer_features=[ + proto_track.PTF_USER_TIMESTAMP, + proto_track.PTF_FRAME_ID, + ], + ) + ) + + assert publication.packet_trailer_features == [ + proto_track.PTF_USER_TIMESTAMP, + proto_track.PTF_FRAME_ID, + ] + + +def test_video_source_capture_frame_copies_metadata(monkeypatch: pytest.MonkeyPatch) -> None: + captured_requests = [] + + class FakeClient: + def request(self, req): + captured_requests.append(req) + + class FakeFfiClient: + instance = FakeClient() + + monkeypatch.setattr(video_source_module, "FfiClient", FakeFfiClient) + + source = video_source_module.VideoSource.__new__(video_source_module.VideoSource) + source._ffi_handle = SimpleNamespace(handle=42) + frame = rtc.VideoFrame( + width=1, + height=1, + type=rtc.VideoBufferType.RGBA, + data=bytes([0, 0, 0, 255]), + ) + + source.capture_frame( + frame, + timestamp_us=99, + rotation=rtc.VideoRotation.VIDEO_ROTATION_90, + metadata=rtc.FrameMetadata(user_timestamp=123, frame_id=7), + ) + + request = captured_requests[0] + assert request.capture_video_frame.source_handle == 42 + assert request.capture_video_frame.timestamp_us == 99 + assert request.capture_video_frame.rotation == rtc.VideoRotation.VIDEO_ROTATION_90 + assert request.capture_video_frame.HasField("metadata") + assert request.capture_video_frame.metadata.user_timestamp == 123 + assert request.capture_video_frame.metadata.frame_id == 7 + + +@pytest.mark.asyncio +async def test_local_track_republished_updates_existing_publication() -> None: + room = rtc.Room() + local_participant = LocalParticipant( + room._room_queue, + proto_participant.OwnedParticipant( + handle=proto_handle.FfiOwnedHandle(id=0), + info=proto_participant.ParticipantInfo( + sid="PA_LOCAL", + identity="publisher", + name="publisher", + state=proto_participant.PARTICIPANT_STATE_ACTIVE, + metadata="", + kind=proto_participant.PARTICIPANT_KIND_STANDARD, + disconnect_reason=proto_participant.UNKNOWN_REASON, + joined_at=0, + permission=proto_participant.ParticipantPermission(), + ), + ), + ) + room._local_participant = local_participant + + publication = rtc.LocalTrackPublication( + _owned_publication( + "TR_OLD", + packet_trailer_features=[proto_track.PTF_USER_TIMESTAMP], + ) + ) + publication._track = SimpleNamespace(_info=SimpleNamespace(sid="TR_OLD")) + local_participant._track_publications[publication.sid] = publication + + room._on_room_event( + proto_room.RoomEvent( + room_handle=0, + local_track_republished=proto_room.LocalTrackRepublished( + publication_handle=0, + previous_sid="TR_OLD", + info=_publication_info( + "TR_NEW", + packet_trailer_features=[ + proto_track.PTF_USER_TIMESTAMP, + proto_track.PTF_FRAME_ID, + ], + ), + ), + ) + ) + + assert "TR_OLD" not in local_participant.track_publications + assert local_participant.track_publications["TR_NEW"] is publication + assert publication.sid == "TR_NEW" + assert publication.track._info.sid == "TR_NEW" + assert publication.packet_trailer_features == [ + proto_track.PTF_USER_TIMESTAMP, + proto_track.PTF_FRAME_ID, + ]