From 8670601e037ec6380288fd3c6b0ab68fd9896801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Sat, 4 Apr 2026 21:11:32 -0700 Subject: [PATCH 1/5] add agent_dev proto (AgentDevMessage for CLI hot reload IPC) --- livekit-protocol/generate_proto.sh | 5 ++- .../livekit/protocol/agent_pb/agent_dev.py | 43 ++++++++++++++++++ .../livekit/protocol/agent_pb/agent_dev.pyi | 45 +++++++++++++++++++ livekit-protocol/protocol | 2 +- 4 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 livekit-protocol/livekit/protocol/agent_pb/agent_dev.py create mode 100644 livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi diff --git a/livekit-protocol/generate_proto.sh b/livekit-protocol/generate_proto.sh index f1794004..26fed685 100755 --- a/livekit-protocol/generate_proto.sh +++ b/livekit-protocol/generate_proto.sh @@ -39,6 +39,7 @@ protoc \ $API_PROTOCOL/livekit_rtc.proto \ $API_PROTOCOL/agent/livekit_agent_session.proto \ $API_PROTOCOL/agent/livekit_agent_text.proto \ + $API_PROTOCOL/agent/livekit_agent_dev.proto \ $API_PROTOCOL/logger/options.proto \ $API_PROTOCOL/livekit_connector_whatsapp.proto \ $API_PROTOCOL/livekit_connector_twilio.proto \ @@ -90,12 +91,14 @@ mv "$API_OUT_PYTHON/agent/livekit_agent_session_pb2.py" "$API_OUT_PYTHON/agent_p mv "$API_OUT_PYTHON/agent/livekit_agent_session_pb2.pyi" "$API_OUT_PYTHON/agent_pb/agent_session.pyi" mv "$API_OUT_PYTHON/agent/livekit_agent_text_pb2.py" "$API_OUT_PYTHON/agent_pb/agent_text.py" mv "$API_OUT_PYTHON/agent/livekit_agent_text_pb2.pyi" "$API_OUT_PYTHON/agent_pb/agent_text.pyi" +mv "$API_OUT_PYTHON/agent/livekit_agent_dev_pb2.py" "$API_OUT_PYTHON/agent_pb/agent_dev.py" +mv "$API_OUT_PYTHON/agent/livekit_agent_dev_pb2.pyi" "$API_OUT_PYTHON/agent_pb/agent_dev.pyi" mkdir -p "$API_OUT_PYTHON/logger_pb" mv "$API_OUT_PYTHON/logger/options_pb2.py" "$API_OUT_PYTHON/logger_pb/options.py" mv "$API_OUT_PYTHON/logger/options_pb2.pyi" "$API_OUT_PYTHON/logger_pb/options.pyi" -find "$API_OUT_PYTHON" -name '*.py' -o -name '*.pyi' | xargs perl -i -pe 's|^(import (livekit_egress_pb2\|livekit_room_pb2\|livekit_webhook_pb2\|livekit_ingress_pb2\|livekit_models_pb2\|livekit_agent_pb2\|livekit_agent_dispatch_pb2\|livekit_analytics_pb2\|livekit_sip_pb2\|livekit_metrics_pb2\|livekit_rtc_pb2\|livekit_connector_whatsapp_pb2\|livekit_connector_twilio_pb2\|livekit_connector_pb2\|livekit_agent_session_pb2\|options_pb2))|from . $1|g' +find "$API_OUT_PYTHON" -name '*.py' -o -name '*.pyi' | xargs perl -i -pe 's|^(import (livekit_egress_pb2\|livekit_room_pb2\|livekit_webhook_pb2\|livekit_ingress_pb2\|livekit_models_pb2\|livekit_agent_pb2\|livekit_agent_dispatch_pb2\|livekit_analytics_pb2\|livekit_sip_pb2\|livekit_metrics_pb2\|livekit_rtc_pb2\|livekit_connector_whatsapp_pb2\|livekit_connector_twilio_pb2\|livekit_connector_pb2\|livekit_agent_session_pb2\|livekit_agent_dev_pb2\|options_pb2))|from . $1|g' find "$API_OUT_PYTHON" -name '*.py' -o -name '*.pyi' | xargs perl -i -pe 's|livekit_(\w+)_pb2|${1}|g' diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py new file mode 100644 index 00000000..e01b17c3 --- /dev/null +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: agent/livekit_agent_dev.proto +# Protobuf Python Version: 6.33.4 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'agent/livekit_agent_dev.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x61gent/livekit_agent_dev.proto\x12\rlivekit.agent\"\xbc\x01\n\x0f\x41gentDevMessage\x12M\n\x18get_running_jobs_request\x18\x01 \x01(\x0b\x32).livekit.agent.GetRunningAgentJobsRequestH\x00\x12O\n\x19get_running_jobs_response\x18\x02 \x01(\x0b\x32*.livekit.agent.GetRunningAgentJobsResponseH\x00\x42\t\n\x07message\"\x1c\n\x1aGetRunningAgentJobsRequest\"O\n\x1bGetRunningAgentJobsResponse\x12\x30\n\x04jobs\x18\x01 \x03(\x0b\x32\".livekit.agent.RunningAgentJobInfo\"\xaa\x01\n\x13RunningAgentJobInfo\x12\x0b\n\x03job\x18\x01 \x01(\x0c\x12\x13\n\x0b\x61\x63\x63\x65pt_name\x18\x02 \x01(\t\x12\x17\n\x0f\x61\x63\x63\x65pt_identity\x18\x03 \x01(\t\x12\x17\n\x0f\x61\x63\x63\x65pt_metadata\x18\x04 \x01(\t\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\r\n\x05token\x18\x06 \x01(\t\x12\x11\n\tworker_id\x18\x07 \x01(\t\x12\x10\n\x08mock_job\x18\x08 \x01(\x08\x42+Z)github.com/livekit/protocol/livekit/agentb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_dev', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent' + _globals['_AGENTDEVMESSAGE']._serialized_start=49 + _globals['_AGENTDEVMESSAGE']._serialized_end=237 + _globals['_GETRUNNINGAGENTJOBSREQUEST']._serialized_start=239 + _globals['_GETRUNNINGAGENTJOBSREQUEST']._serialized_end=267 + _globals['_GETRUNNINGAGENTJOBSRESPONSE']._serialized_start=269 + _globals['_GETRUNNINGAGENTJOBSRESPONSE']._serialized_end=348 + _globals['_RUNNINGAGENTJOBINFO']._serialized_start=351 + _globals['_RUNNINGAGENTJOBINFO']._serialized_end=521 +# @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi new file mode 100644 index 00000000..b7f4c5dc --- /dev/null +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi @@ -0,0 +1,45 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class AgentDevMessage(_message.Message): + __slots__ = ("get_running_jobs_request", "get_running_jobs_response") + GET_RUNNING_JOBS_REQUEST_FIELD_NUMBER: _ClassVar[int] + GET_RUNNING_JOBS_RESPONSE_FIELD_NUMBER: _ClassVar[int] + get_running_jobs_request: GetRunningAgentJobsRequest + get_running_jobs_response: GetRunningAgentJobsResponse + def __init__(self, get_running_jobs_request: _Optional[_Union[GetRunningAgentJobsRequest, _Mapping]] = ..., get_running_jobs_response: _Optional[_Union[GetRunningAgentJobsResponse, _Mapping]] = ...) -> None: ... + +class GetRunningAgentJobsRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class GetRunningAgentJobsResponse(_message.Message): + __slots__ = ("jobs",) + JOBS_FIELD_NUMBER: _ClassVar[int] + jobs: _containers.RepeatedCompositeFieldContainer[RunningAgentJobInfo] + def __init__(self, jobs: _Optional[_Iterable[_Union[RunningAgentJobInfo, _Mapping]]] = ...) -> None: ... + +class RunningAgentJobInfo(_message.Message): + __slots__ = ("job", "accept_name", "accept_identity", "accept_metadata", "url", "token", "worker_id", "mock_job") + JOB_FIELD_NUMBER: _ClassVar[int] + ACCEPT_NAME_FIELD_NUMBER: _ClassVar[int] + ACCEPT_IDENTITY_FIELD_NUMBER: _ClassVar[int] + ACCEPT_METADATA_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + TOKEN_FIELD_NUMBER: _ClassVar[int] + WORKER_ID_FIELD_NUMBER: _ClassVar[int] + MOCK_JOB_FIELD_NUMBER: _ClassVar[int] + job: bytes + accept_name: str + accept_identity: str + accept_metadata: str + url: str + token: str + worker_id: str + mock_job: bool + def __init__(self, job: _Optional[bytes] = ..., accept_name: _Optional[str] = ..., accept_identity: _Optional[str] = ..., accept_metadata: _Optional[str] = ..., url: _Optional[str] = ..., token: _Optional[str] = ..., worker_id: _Optional[str] = ..., mock_job: _Optional[bool] = ...) -> None: ... diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index f734574d..785d3bfa 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit f734574de339d94dd83f70fbe1723ba1cdc61c2f +Subproject commit 785d3bfaa173cb1ffaea078ff4938d0d20ae4ee0 From ba20e03c41fefb681d7fb42836a4f8517095c7b2 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 5 Apr 2026 04:12:00 +0000 Subject: [PATCH 2/5] generated protobuf --- .../livekit/protocol/agent_dispatch.py | 36 +- .../livekit/protocol/agent_dispatch.pyi | 26 +- .../livekit/protocol/agent_pb/agent_dev.py | 16 +- .../livekit/protocol/agent_pb/agent_dev.pyi | 5 +- livekit-protocol/livekit/protocol/egress.py | 270 ++++--- livekit-protocol/livekit/protocol/egress.pyi | 721 +++++++++++------- livekit-protocol/livekit/protocol/metrics.py | 12 +- livekit-protocol/livekit/protocol/metrics.pyi | 8 +- livekit-protocol/livekit/protocol/models.py | 4 +- livekit-protocol/livekit/protocol/models.pyi | 2 + livekit-protocol/livekit/protocol/room.py | 36 +- livekit-protocol/livekit/protocol/room.pyi | 13 +- 12 files changed, 703 insertions(+), 446 deletions(-) diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.py b/livekit-protocol/livekit/protocol/agent_dispatch.py index 0dbfac94..df86bd23 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.py +++ b/livekit-protocol/livekit/protocol/agent_dispatch.py @@ -16,7 +16,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1clivekit_agent_dispatch.proto\x12\x07livekit\x1a\x13livekit_agent.proto\x1a\x14logger/options.proto\"V\n\x1a\x43reateAgentDispatchRequest\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\x12\x16\n\x08metadata\x18\x03 \x01(\tB\x04\x88\xec,\x01\"?\n\x11RoomAgentDispatch\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x16\n\x08metadata\x18\x02 \x01(\tB\x04\x88\xec,\x01\"O\n\x1a\x44\x65leteAgentDispatchRequest\x12#\n\x0b\x64ispatch_id\x18\x01 \x01(\tB\x0e\x9a\xec,\ndispatchID\x12\x0c\n\x04room\x18\x02 \x01(\t\"M\n\x18ListAgentDispatchRequest\x12#\n\x0b\x64ispatch_id\x18\x01 \x01(\tB\x0e\x9a\xec,\ndispatchID\x12\x0c\n\x04room\x18\x02 \x01(\t\"M\n\x19ListAgentDispatchResponse\x12\x30\n\x10\x61gent_dispatches\x18\x01 \x03(\x0b\x32\x16.livekit.AgentDispatch\"\x81\x01\n\rAgentDispatch\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nagent_name\x18\x02 \x01(\t\x12\x0c\n\x04room\x18\x03 \x01(\t\x12\x16\n\x08metadata\x18\x04 \x01(\tB\x04\x88\xec,\x01\x12*\n\x05state\x18\x05 \x01(\x0b\x32\x1b.livekit.AgentDispatchState\"X\n\x12\x41gentDispatchState\x12\x1a\n\x04jobs\x18\x01 \x03(\x0b\x32\x0c.livekit.Job\x12\x12\n\ncreated_at\x18\x02 \x01(\x03\x12\x12\n\ndeleted_at\x18\x03 \x01(\x03\x32\x8b\x02\n\x14\x41gentDispatchService\x12M\n\x0e\x43reateDispatch\x12#.livekit.CreateAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12M\n\x0e\x44\x65leteDispatch\x12#.livekit.DeleteAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12U\n\x0cListDispatch\x12!.livekit.ListAgentDispatchRequest\x1a\".livekit.ListAgentDispatchResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1clivekit_agent_dispatch.proto\x12\x07livekit\x1a\x13livekit_agent.proto\x1a\x14logger/options.proto\"\x89\x01\n\x1a\x43reateAgentDispatchRequest\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\x12\x16\n\x08metadata\x18\x03 \x01(\tB\x04\x88\xec,\x01\x12\x31\n\x0erestart_policy\x18\x04 \x01(\x0e\x32\x19.livekit.JobRestartPolicy\"r\n\x11RoomAgentDispatch\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x16\n\x08metadata\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x31\n\x0erestart_policy\x18\x03 \x01(\x0e\x32\x19.livekit.JobRestartPolicy\"O\n\x1a\x44\x65leteAgentDispatchRequest\x12#\n\x0b\x64ispatch_id\x18\x01 \x01(\tB\x0e\x9a\xec,\ndispatchID\x12\x0c\n\x04room\x18\x02 \x01(\t\"M\n\x18ListAgentDispatchRequest\x12#\n\x0b\x64ispatch_id\x18\x01 \x01(\tB\x0e\x9a\xec,\ndispatchID\x12\x0c\n\x04room\x18\x02 \x01(\t\"M\n\x19ListAgentDispatchResponse\x12\x30\n\x10\x61gent_dispatches\x18\x01 \x03(\x0b\x32\x16.livekit.AgentDispatch\"\xb4\x01\n\rAgentDispatch\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nagent_name\x18\x02 \x01(\t\x12\x0c\n\x04room\x18\x03 \x01(\t\x12\x16\n\x08metadata\x18\x04 \x01(\tB\x04\x88\xec,\x01\x12*\n\x05state\x18\x05 \x01(\x0b\x32\x1b.livekit.AgentDispatchState\x12\x31\n\x0erestart_policy\x18\x06 \x01(\x0e\x32\x19.livekit.JobRestartPolicy\"X\n\x12\x41gentDispatchState\x12\x1a\n\x04jobs\x18\x01 \x03(\x0b\x32\x0c.livekit.Job\x12\x12\n\ncreated_at\x18\x02 \x01(\x03\x12\x12\n\ndeleted_at\x18\x03 \x01(\x03*5\n\x10JobRestartPolicy\x12\x12\n\x0eJRP_ON_FAILURE\x10\x00\x12\r\n\tJRP_NEVER\x10\x01\x32\x8b\x02\n\x14\x41gentDispatchService\x12M\n\x0e\x43reateDispatch\x12#.livekit.CreateAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12M\n\x0e\x44\x65leteDispatch\x12#.livekit.DeleteAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12U\n\x0cListDispatch\x12!.livekit.ListAgentDispatchRequest\x1a\".livekit.ListAgentDispatchResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,20 +34,22 @@ _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' _globals['_AGENTDISPATCH'].fields_by_name['metadata']._options = None _globals['_AGENTDISPATCH'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' - _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_start=84 - _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_end=170 - _globals['_ROOMAGENTDISPATCH']._serialized_start=172 - _globals['_ROOMAGENTDISPATCH']._serialized_end=235 - _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_start=237 - _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_end=316 - _globals['_LISTAGENTDISPATCHREQUEST']._serialized_start=318 - _globals['_LISTAGENTDISPATCHREQUEST']._serialized_end=395 - _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_start=397 - _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_end=474 - _globals['_AGENTDISPATCH']._serialized_start=477 - _globals['_AGENTDISPATCH']._serialized_end=606 - _globals['_AGENTDISPATCHSTATE']._serialized_start=608 - _globals['_AGENTDISPATCHSTATE']._serialized_end=696 - _globals['_AGENTDISPATCHSERVICE']._serialized_start=699 - _globals['_AGENTDISPATCHSERVICE']._serialized_end=966 + _globals['_JOBRESTARTPOLICY']._serialized_start=852 + _globals['_JOBRESTARTPOLICY']._serialized_end=905 + _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_start=85 + _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_end=222 + _globals['_ROOMAGENTDISPATCH']._serialized_start=224 + _globals['_ROOMAGENTDISPATCH']._serialized_end=338 + _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_start=340 + _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_end=419 + _globals['_LISTAGENTDISPATCHREQUEST']._serialized_start=421 + _globals['_LISTAGENTDISPATCHREQUEST']._serialized_end=498 + _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_start=500 + _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_end=577 + _globals['_AGENTDISPATCH']._serialized_start=580 + _globals['_AGENTDISPATCH']._serialized_end=760 + _globals['_AGENTDISPATCHSTATE']._serialized_start=762 + _globals['_AGENTDISPATCHSTATE']._serialized_end=850 + _globals['_AGENTDISPATCHSERVICE']._serialized_start=908 + _globals['_AGENTDISPATCHSERVICE']._serialized_end=1175 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.pyi b/livekit-protocol/livekit/protocol/agent_dispatch.pyi index 408c18bc..35ecdd48 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.pyi +++ b/livekit-protocol/livekit/protocol/agent_dispatch.pyi @@ -1,29 +1,41 @@ from . import agent as _agent from .logger_pb import options as _options_pb2 from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor +class JobRestartPolicy(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + JRP_ON_FAILURE: _ClassVar[JobRestartPolicy] + JRP_NEVER: _ClassVar[JobRestartPolicy] +JRP_ON_FAILURE: JobRestartPolicy +JRP_NEVER: JobRestartPolicy + class CreateAgentDispatchRequest(_message.Message): - __slots__ = ("agent_name", "room", "metadata") + __slots__ = ("agent_name", "room", "metadata", "restart_policy") AGENT_NAME_FIELD_NUMBER: _ClassVar[int] ROOM_FIELD_NUMBER: _ClassVar[int] METADATA_FIELD_NUMBER: _ClassVar[int] + RESTART_POLICY_FIELD_NUMBER: _ClassVar[int] agent_name: str room: str metadata: str - def __init__(self, agent_name: _Optional[str] = ..., room: _Optional[str] = ..., metadata: _Optional[str] = ...) -> None: ... + restart_policy: JobRestartPolicy + def __init__(self, agent_name: _Optional[str] = ..., room: _Optional[str] = ..., metadata: _Optional[str] = ..., restart_policy: _Optional[_Union[JobRestartPolicy, str]] = ...) -> None: ... class RoomAgentDispatch(_message.Message): - __slots__ = ("agent_name", "metadata") + __slots__ = ("agent_name", "metadata", "restart_policy") AGENT_NAME_FIELD_NUMBER: _ClassVar[int] METADATA_FIELD_NUMBER: _ClassVar[int] + RESTART_POLICY_FIELD_NUMBER: _ClassVar[int] agent_name: str metadata: str - def __init__(self, agent_name: _Optional[str] = ..., metadata: _Optional[str] = ...) -> None: ... + restart_policy: JobRestartPolicy + def __init__(self, agent_name: _Optional[str] = ..., metadata: _Optional[str] = ..., restart_policy: _Optional[_Union[JobRestartPolicy, str]] = ...) -> None: ... class DeleteAgentDispatchRequest(_message.Message): __slots__ = ("dispatch_id", "room") @@ -48,18 +60,20 @@ class ListAgentDispatchResponse(_message.Message): def __init__(self, agent_dispatches: _Optional[_Iterable[_Union[AgentDispatch, _Mapping]]] = ...) -> None: ... class AgentDispatch(_message.Message): - __slots__ = ("id", "agent_name", "room", "metadata", "state") + __slots__ = ("id", "agent_name", "room", "metadata", "state", "restart_policy") ID_FIELD_NUMBER: _ClassVar[int] AGENT_NAME_FIELD_NUMBER: _ClassVar[int] ROOM_FIELD_NUMBER: _ClassVar[int] METADATA_FIELD_NUMBER: _ClassVar[int] STATE_FIELD_NUMBER: _ClassVar[int] + RESTART_POLICY_FIELD_NUMBER: _ClassVar[int] id: str agent_name: str room: str metadata: str state: AgentDispatchState - def __init__(self, id: _Optional[str] = ..., agent_name: _Optional[str] = ..., room: _Optional[str] = ..., metadata: _Optional[str] = ..., state: _Optional[_Union[AgentDispatchState, _Mapping]] = ...) -> None: ... + restart_policy: JobRestartPolicy + def __init__(self, id: _Optional[str] = ..., agent_name: _Optional[str] = ..., room: _Optional[str] = ..., metadata: _Optional[str] = ..., state: _Optional[_Union[AgentDispatchState, _Mapping]] = ..., restart_policy: _Optional[_Union[JobRestartPolicy, str]] = ...) -> None: ... class AgentDispatchState(_message.Message): __slots__ = ("jobs", "created_at", "deleted_at") diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py index e01b17c3..215aa7a4 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: agent/livekit_agent_dev.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'agent/livekit_agent_dev.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -29,8 +19,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_dev', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent' _globals['_AGENTDEVMESSAGE']._serialized_start=49 _globals['_AGENTDEVMESSAGE']._serialized_end=237 diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi index b7f4c5dc..2929222f 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi @@ -1,8 +1,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -42,4 +41,4 @@ class RunningAgentJobInfo(_message.Message): token: str worker_id: str mock_job: bool - def __init__(self, job: _Optional[bytes] = ..., accept_name: _Optional[str] = ..., accept_identity: _Optional[str] = ..., accept_metadata: _Optional[str] = ..., url: _Optional[str] = ..., token: _Optional[str] = ..., worker_id: _Optional[str] = ..., mock_job: _Optional[bool] = ...) -> None: ... + def __init__(self, job: _Optional[bytes] = ..., accept_name: _Optional[str] = ..., accept_identity: _Optional[str] = ..., accept_metadata: _Optional[str] = ..., url: _Optional[str] = ..., token: _Optional[str] = ..., worker_id: _Optional[str] = ..., mock_job: bool = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/egress.py b/livekit-protocol/livekit/protocol/egress.py index 008ba8aa..d403125f 100644 --- a/livekit-protocol/livekit/protocol/egress.py +++ b/livekit-protocol/livekit/protocol/egress.py @@ -16,7 +16,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xfb\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12(\n\x0e\x61udio_track_id\x18\x02 \x01(\tB\x10\x9a\xec,\x0c\x61udioTrackID\x12(\n\x0evideo_track_id\x18\x03 \x01(\tB\x10\x9a\xec,\x0cvideoTrackID\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xbe\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1d\n\x08track_id\x18\x02 \x01(\tB\x0b\x9a\xec,\x07trackID\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xb8\x03\n\x08S3Upload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x1b\n\rsession_token\x18\x0b \x01(\tB\x04\x88\xec,\x01\x12\x1d\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x04\x88\xec,\x01\x12=\n\x17\x61ssume_role_external_id\x18\r \x01(\tB\x1c\x88\xec,\x01\x9a\xec,\x14\x61ssumeRoleExternalID\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x31\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntry\x12\x0f\n\x07tagging\x18\x08 \x01(\t\x12\x1b\n\x13\x63ontent_disposition\x18\t \x01(\t\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"[\n\tGCPUpload\x12\x19\n\x0b\x63redentials\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"`\n\x0f\x41zureBlobUpload\x12\x1a\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x19\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"p\n\x0c\x41liOSSUpload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\">\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\xb7\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x15\n\raudio_quality\x18\x0b \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x15\n\rvideo_quality\x18\x0c \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\"F\n\x13UpdateLayoutRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x0e\n\x06layout\x18\x02 \x01(\t\"k\n\x13UpdateStreamRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"W\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1f\n\tegress_id\x18\x02 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"8\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\"4\n\x11StopEgressRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\"\xcd\x07\n\nEgressInfo\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x1b\n\x07room_id\x18\x02 \x01(\tB\n\x9a\xec,\x06roomID\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x12\x13\n\x0bretry_count\x18\x1b \x01(\x05\x42\t\n\x07requestB\x08\n\x06result\"7\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo:\x02\x18\x01\"\xe4\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output*B\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*9\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02*\xcf\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01\x32\x9c\x05\n\x06\x45gress\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\x89\x03\n\x12StartEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12+\n\x08template\x18\x02 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x03 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x04 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x05 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x06 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\x07 \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\x08 \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\t \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"a\n\x0eTemplateSource\x12\x0e\n\x06layout\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x04 \x01(\t\"\\\n\tWebSource\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x04 \x01(\x08\"\xc2\x01\n\x0bMediaSource\x12*\n\x0evideo_track_id\x18\x01 \x01(\tB\x10\x9a\xec,\x0cvideoTrackIDH\x00\x12\x36\n\x11participant_video\x18\x02 \x01(\x0b\x32\x19.livekit.ParticipantVideoH\x00\x12#\n\x05\x61udio\x18\x03 \x01(\x0b\x32\x14.livekit.AudioConfig\x12!\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x13.livekit.DataConfigB\x07\n\x05video\"A\n\x10ParticipantVideo\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x1b\n\x13prefer_screen_share\x18\x02 \x01(\x08\"2\n\x0b\x41udioConfig\x12#\n\x06routes\x18\x01 \x03(\x0b\x32\x13.livekit.AudioRoute\"\xb9\x01\n\nAudioRoute\x12\x1f\n\x08track_id\x18\x01 \x01(\tB\x0b\x9a\xec,\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x39\n\x10participant_kind\x18\x03 \x01(\x0e\x32\x1d.livekit.ParticipantInfo.KindH\x00\x12&\n\x07\x63hannel\x18\x04 \x01(\x0e\x32\x15.livekit.AudioChannelB\x07\n\x05match\"6\n\nDataConfig\x12(\n\tselectors\x18\x01 \x03(\x0b\x32\x15.livekit.DataSelector\"i\n\x0c\x44\x61taSelector\x12\x1f\n\x08track_id\x18\x01 \x01(\tB\x0b\x9a\xec,\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x0f\n\x05topic\x18\x03 \x01(\tH\x00\x42\x07\n\x05match\"\xbf\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\x12\x19\n\raudio_quality\x18\x0b \x01(\x05\x42\x02\x18\x01\x12\x19\n\rvideo_quality\x18\x0c \x01(\x05\x42\x02\x18\x01\"\xe3\x01\n\x06Output\x12#\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x13.livekit.FileOutputH\x00\x12\'\n\x06stream\x18\x02 \x01(\x0b\x32\x15.livekit.StreamOutputH\x00\x12\x30\n\x08segments\x18\x03 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputH\x00\x12&\n\x06images\x18\x04 \x01(\x0b\x32\x14.livekit.ImageOutputH\x00\x12\'\n\x07storage\x18\x06 \x01(\x0b\x32\x16.livekit.StorageConfigB\x08\n\x06\x63onfig\"e\n\nFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x03 \x01(\x08\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xb3\x01\n\rStorageConfig\x12\x1f\n\x02s3\x18\x01 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x02 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x03 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x04 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\n\n\x08provider\"\xb8\x03\n\x08S3Upload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x1b\n\rsession_token\x18\x0b \x01(\tB\x04\x88\xec,\x01\x12\x1d\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x04\x88\xec,\x01\x12=\n\x17\x61ssume_role_external_id\x18\r \x01(\tB\x1c\x88\xec,\x01\x9a\xec,\x14\x61ssumeRoleExternalID\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x31\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntry\x12\x0f\n\x07tagging\x18\x08 \x01(\t\x12\x1b\n\x13\x63ontent_disposition\x18\t \x01(\t\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"[\n\tGCPUpload\x12\x19\n\x0b\x63redentials\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"`\n\x0f\x41zureBlobUpload\x12\x1a\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x19\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"p\n\x0c\x41liOSSUpload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\"D\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x16\n\x08password\x18\x03 \x01(\tB\x04\x88\xec,\x01\"W\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1f\n\tegress_id\x18\x02 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"8\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\"\x88\x01\n\x13UpdateEgressRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06layout\x18\x03 \x01(\t\x12\x17\n\x0f\x61\x64\x64_stream_urls\x18\x04 \x03(\t\x12\x1a\n\x12remove_stream_urls\x18\x05 \x03(\t\"4\n\x11StopEgressRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\"\xfd\x07\n\nEgressInfo\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x1b\n\x07room_id\x18\x02 \x01(\tB\n\x9a\xec,\x06roomID\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12.\n\x06replay\x18\x1e \x01(\x0b\x32\x1c.livekit.ExportReplayRequestH\x00\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x12\x13\n\x0bretry_count\x18\x1b \x01(\x05\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x42\t\n\x07requestB\x08\n\x06result\"\xe4\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xc8\x03\n\x13\x45xportReplayRequest\x12\x1f\n\treplay_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08replayID\x12\x17\n\x0fstart_offset_ms\x18\x02 \x01(\x03\x12\x15\n\rend_offset_ms\x18\x03 \x01(\x03\x12+\n\x08template\x18\x04 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x05 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x06 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\t \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\n \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\x0b \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xfb\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12(\n\x0e\x61udio_track_id\x18\x02 \x01(\tB\x10\x9a\xec,\x0c\x61udioTrackID\x12(\n\x0evideo_track_id\x18\x03 \x01(\tB\x10\x9a\xec,\x0cvideoTrackID\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xbe\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1d\n\x08track_id\x18\x02 \x01(\tB\x0b\x9a\xec,\x07trackID\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"F\n\x13UpdateLayoutRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x0e\n\x06layout\x18\x02 \x01(\t\"k\n\x13UpdateStreamRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"3\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo*W\n\x0c\x41udioChannel\x12\x16\n\x12\x41UDIO_CHANNEL_BOTH\x10\x00\x12\x16\n\x12\x41UDIO_CHANNEL_LEFT\x10\x01\x12\x17\n\x13\x41UDIO_CHANNEL_RIGHT\x10\x02*\xcf\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07*B\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03*H\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02\x12\r\n\tWEBSOCKET\x10\x03*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02\x32\x9c\x05\n\x06\x45gress\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,30 +24,16 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._options = None - _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._options = None - _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._options = None - _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._options = None - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._serialized_options = b'\232\354,\014audioTrackID' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._options = None - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._options = None - _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._options = None + _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' + _globals['_AUDIOROUTE'].fields_by_name['track_id']._options = None + _globals['_AUDIOROUTE'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_DATASELECTOR'].fields_by_name['track_id']._options = None + _globals['_DATASELECTOR'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._options = None + _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._serialized_options = b'\030\001' + _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._options = None + _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._serialized_options = b'\030\001' _globals['_S3UPLOAD_METADATAENTRY']._options = None _globals['_S3UPLOAD_METADATAENTRY']._serialized_options = b'8\001' _globals['_S3UPLOAD'].fields_by_name['access_key']._options = None @@ -70,12 +56,12 @@ _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\354,\001' _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._options = None _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._serialized_options = b'\210\354,\001' - _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._options = None - _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._options = None - _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_PROXYCONFIG'].fields_by_name['password']._options = None + _globals['_PROXYCONFIG'].fields_by_name['password']._serialized_options = b'\210\354,\001' _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._options = None _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._options = None _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' _globals['_EGRESSINFO'].fields_by_name['egress_id']._options = None @@ -88,88 +74,146 @@ _globals['_EGRESSINFO'].fields_by_name['file']._serialized_options = b'\030\001' _globals['_EGRESSINFO'].fields_by_name['segments']._options = None _globals['_EGRESSINFO'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_STREAMINFOLIST']._options = None - _globals['_STREAMINFOLIST']._serialized_options = b'\030\001' - _globals['_ENCODEDFILETYPE']._serialized_start=7668 - _globals['_ENCODEDFILETYPE']._serialized_end=7734 - _globals['_SEGMENTEDFILEPROTOCOL']._serialized_start=7736 - _globals['_SEGMENTEDFILEPROTOCOL']._serialized_end=7814 - _globals['_SEGMENTEDFILESUFFIX']._serialized_start=7816 - _globals['_SEGMENTEDFILESUFFIX']._serialized_end=7863 - _globals['_IMAGEFILESUFFIX']._serialized_start=7865 - _globals['_IMAGEFILESUFFIX']._serialized_end=7967 - _globals['_STREAMPROTOCOL']._serialized_start=7969 - _globals['_STREAMPROTOCOL']._serialized_end=8026 - _globals['_AUDIOMIXING']._serialized_start=8028 - _globals['_AUDIOMIXING']._serialized_end=8113 - _globals['_ENCODINGOPTIONSPRESET']._serialized_start=8116 - _globals['_ENCODINGOPTIONSPRESET']._serialized_end=8323 - _globals['_EGRESSSTATUS']._serialized_start=8326 - _globals['_EGRESSSTATUS']._serialized_end=8485 - _globals['_EGRESSSOURCETYPE']._serialized_start=8487 - _globals['_EGRESSSOURCETYPE']._serialized_end=8561 - _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_start=78 - _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_end=753 - _globals['_WEBEGRESSREQUEST']._serialized_start=756 - _globals['_WEBEGRESSREQUEST']._serialized_end=1358 - _globals['_PARTICIPANTEGRESSREQUEST']._serialized_start=1361 - _globals['_PARTICIPANTEGRESSREQUEST']._serialized_end=1792 - _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_start=1795 - _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_end=2430 - _globals['_TRACKEGRESSREQUEST']._serialized_start=2433 - _globals['_TRACKEGRESSREQUEST']._serialized_end=2623 - _globals['_ENCODEDFILEOUTPUT']._serialized_start=2626 - _globals['_ENCODEDFILEOUTPUT']._serialized_end=2896 - _globals['_SEGMENTEDFILEOUTPUT']._serialized_start=2899 - _globals['_SEGMENTEDFILEOUTPUT']._serialized_end=3315 - _globals['_DIRECTFILEOUTPUT']._serialized_start=3318 - _globals['_DIRECTFILEOUTPUT']._serialized_end=3542 - _globals['_IMAGEOUTPUT']._serialized_start=3545 - _globals['_IMAGEOUTPUT']._serialized_end=3921 - _globals['_S3UPLOAD']._serialized_start=3924 - _globals['_S3UPLOAD']._serialized_end=4364 - _globals['_S3UPLOAD_METADATAENTRY']._serialized_start=4317 - _globals['_S3UPLOAD_METADATAENTRY']._serialized_end=4364 - _globals['_GCPUPLOAD']._serialized_start=4366 - _globals['_GCPUPLOAD']._serialized_end=4457 - _globals['_AZUREBLOBUPLOAD']._serialized_start=4459 - _globals['_AZUREBLOBUPLOAD']._serialized_end=4555 - _globals['_ALIOSSUPLOAD']._serialized_start=4557 - _globals['_ALIOSSUPLOAD']._serialized_end=4669 - _globals['_PROXYCONFIG']._serialized_start=4671 - _globals['_PROXYCONFIG']._serialized_end=4733 - _globals['_STREAMOUTPUT']._serialized_start=4735 - _globals['_STREAMOUTPUT']._serialized_end=4806 - _globals['_ENCODINGOPTIONS']._serialized_start=4809 - _globals['_ENCODINGOPTIONS']._serialized_end=5120 - _globals['_UPDATELAYOUTREQUEST']._serialized_start=5122 - _globals['_UPDATELAYOUTREQUEST']._serialized_end=5192 - _globals['_UPDATESTREAMREQUEST']._serialized_start=5194 - _globals['_UPDATESTREAMREQUEST']._serialized_end=5301 - _globals['_LISTEGRESSREQUEST']._serialized_start=5303 - _globals['_LISTEGRESSREQUEST']._serialized_end=5390 - _globals['_LISTEGRESSRESPONSE']._serialized_start=5392 - _globals['_LISTEGRESSRESPONSE']._serialized_end=5448 - _globals['_STOPEGRESSREQUEST']._serialized_start=5450 - _globals['_STOPEGRESSREQUEST']._serialized_end=5502 - _globals['_EGRESSINFO']._serialized_start=5505 - _globals['_EGRESSINFO']._serialized_end=6478 - _globals['_STREAMINFOLIST']._serialized_start=6480 - _globals['_STREAMINFOLIST']._serialized_end=6535 - _globals['_STREAMINFO']._serialized_start=6538 - _globals['_STREAMINFO']._serialized_end=6766 - _globals['_STREAMINFO_STATUS']._serialized_start=6720 - _globals['_STREAMINFO_STATUS']._serialized_end=6766 - _globals['_FILEINFO']._serialized_start=6768 - _globals['_FILEINFO']._serialized_end=6884 - _globals['_SEGMENTSINFO']._serialized_start=6887 - _globals['_SEGMENTSINFO']._serialized_end=7104 - _globals['_IMAGESINFO']._serialized_start=7106 - _globals['_IMAGESINFO']._serialized_end=7202 - _globals['_AUTOPARTICIPANTEGRESS']._serialized_start=7205 - _globals['_AUTOPARTICIPANTEGRESS']._serialized_end=7440 - _globals['_AUTOTRACKEGRESS']._serialized_start=7443 - _globals['_AUTOTRACKEGRESS']._serialized_end=7666 - _globals['_EGRESS']._serialized_start=8564 - _globals['_EGRESS']._serialized_end=9232 + _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._options = None + _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._serialized_options = b'\232\354,\010replayID' + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' + _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' + _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' + _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._serialized_options = b'\232\354,\014audioTrackID' + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' + _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._options = None + _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_AUDIOCHANNEL']._serialized_start=10095 + _globals['_AUDIOCHANNEL']._serialized_end=10182 + _globals['_ENCODINGOPTIONSPRESET']._serialized_start=10185 + _globals['_ENCODINGOPTIONSPRESET']._serialized_end=10392 + _globals['_ENCODEDFILETYPE']._serialized_start=10394 + _globals['_ENCODEDFILETYPE']._serialized_end=10460 + _globals['_STREAMPROTOCOL']._serialized_start=10462 + _globals['_STREAMPROTOCOL']._serialized_end=10534 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_start=10536 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_end=10614 + _globals['_SEGMENTEDFILESUFFIX']._serialized_start=10616 + _globals['_SEGMENTEDFILESUFFIX']._serialized_end=10663 + _globals['_IMAGEFILESUFFIX']._serialized_start=10665 + _globals['_IMAGEFILESUFFIX']._serialized_end=10767 + _globals['_EGRESSSOURCETYPE']._serialized_start=10769 + _globals['_EGRESSSOURCETYPE']._serialized_end=10843 + _globals['_EGRESSSTATUS']._serialized_start=10846 + _globals['_EGRESSSTATUS']._serialized_end=11005 + _globals['_AUDIOMIXING']._serialized_start=11007 + _globals['_AUDIOMIXING']._serialized_end=11092 + _globals['_STARTEGRESSREQUEST']._serialized_start=78 + _globals['_STARTEGRESSREQUEST']._serialized_end=471 + _globals['_TEMPLATESOURCE']._serialized_start=473 + _globals['_TEMPLATESOURCE']._serialized_end=570 + _globals['_WEBSOURCE']._serialized_start=572 + _globals['_WEBSOURCE']._serialized_end=664 + _globals['_MEDIASOURCE']._serialized_start=667 + _globals['_MEDIASOURCE']._serialized_end=861 + _globals['_PARTICIPANTVIDEO']._serialized_start=863 + _globals['_PARTICIPANTVIDEO']._serialized_end=928 + _globals['_AUDIOCONFIG']._serialized_start=930 + _globals['_AUDIOCONFIG']._serialized_end=980 + _globals['_AUDIOROUTE']._serialized_start=983 + _globals['_AUDIOROUTE']._serialized_end=1168 + _globals['_DATACONFIG']._serialized_start=1170 + _globals['_DATACONFIG']._serialized_end=1224 + _globals['_DATASELECTOR']._serialized_start=1226 + _globals['_DATASELECTOR']._serialized_end=1331 + _globals['_ENCODINGOPTIONS']._serialized_start=1334 + _globals['_ENCODINGOPTIONS']._serialized_end=1653 + _globals['_OUTPUT']._serialized_start=1656 + _globals['_OUTPUT']._serialized_end=1883 + _globals['_FILEOUTPUT']._serialized_start=1885 + _globals['_FILEOUTPUT']._serialized_end=1986 + _globals['_STREAMOUTPUT']._serialized_start=1988 + _globals['_STREAMOUTPUT']._serialized_end=2059 + _globals['_SEGMENTEDFILEOUTPUT']._serialized_start=2062 + _globals['_SEGMENTEDFILEOUTPUT']._serialized_end=2478 + _globals['_IMAGEOUTPUT']._serialized_start=2481 + _globals['_IMAGEOUTPUT']._serialized_end=2857 + _globals['_STORAGECONFIG']._serialized_start=2860 + _globals['_STORAGECONFIG']._serialized_end=3039 + _globals['_S3UPLOAD']._serialized_start=3042 + _globals['_S3UPLOAD']._serialized_end=3482 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_start=3435 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_end=3482 + _globals['_GCPUPLOAD']._serialized_start=3484 + _globals['_GCPUPLOAD']._serialized_end=3575 + _globals['_AZUREBLOBUPLOAD']._serialized_start=3577 + _globals['_AZUREBLOBUPLOAD']._serialized_end=3673 + _globals['_ALIOSSUPLOAD']._serialized_start=3675 + _globals['_ALIOSSUPLOAD']._serialized_end=3787 + _globals['_PROXYCONFIG']._serialized_start=3789 + _globals['_PROXYCONFIG']._serialized_end=3857 + _globals['_LISTEGRESSREQUEST']._serialized_start=3859 + _globals['_LISTEGRESSREQUEST']._serialized_end=3946 + _globals['_LISTEGRESSRESPONSE']._serialized_start=3948 + _globals['_LISTEGRESSRESPONSE']._serialized_end=4004 + _globals['_UPDATEEGRESSREQUEST']._serialized_start=4007 + _globals['_UPDATEEGRESSREQUEST']._serialized_end=4143 + _globals['_STOPEGRESSREQUEST']._serialized_start=4145 + _globals['_STOPEGRESSREQUEST']._serialized_end=4197 + _globals['_EGRESSINFO']._serialized_start=4200 + _globals['_EGRESSINFO']._serialized_end=5221 + _globals['_STREAMINFO']._serialized_start=5224 + _globals['_STREAMINFO']._serialized_end=5452 + _globals['_STREAMINFO_STATUS']._serialized_start=5406 + _globals['_STREAMINFO_STATUS']._serialized_end=5452 + _globals['_FILEINFO']._serialized_start=5454 + _globals['_FILEINFO']._serialized_end=5570 + _globals['_SEGMENTSINFO']._serialized_start=5573 + _globals['_SEGMENTSINFO']._serialized_end=5790 + _globals['_IMAGESINFO']._serialized_start=5792 + _globals['_IMAGESINFO']._serialized_end=5888 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_start=5891 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_end=6126 + _globals['_AUTOTRACKEGRESS']._serialized_start=6129 + _globals['_AUTOTRACKEGRESS']._serialized_end=6352 + _globals['_EXPORTREPLAYREQUEST']._serialized_start=6355 + _globals['_EXPORTREPLAYREQUEST']._serialized_end=6811 + _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_start=6814 + _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_end=7489 + _globals['_WEBEGRESSREQUEST']._serialized_start=7492 + _globals['_WEBEGRESSREQUEST']._serialized_end=8094 + _globals['_PARTICIPANTEGRESSREQUEST']._serialized_start=8097 + _globals['_PARTICIPANTEGRESSREQUEST']._serialized_end=8528 + _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_start=8531 + _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_end=9166 + _globals['_TRACKEGRESSREQUEST']._serialized_start=9169 + _globals['_TRACKEGRESSREQUEST']._serialized_end=9359 + _globals['_DIRECTFILEOUTPUT']._serialized_start=9362 + _globals['_DIRECTFILEOUTPUT']._serialized_end=9586 + _globals['_ENCODEDFILEOUTPUT']._serialized_start=9589 + _globals['_ENCODEDFILEOUTPUT']._serialized_end=9859 + _globals['_UPDATELAYOUTREQUEST']._serialized_start=9861 + _globals['_UPDATELAYOUTREQUEST']._serialized_end=9931 + _globals['_UPDATESTREAMREQUEST']._serialized_start=9933 + _globals['_UPDATESTREAMREQUEST']._serialized_end=10040 + _globals['_STREAMINFOLIST']._serialized_start=10042 + _globals['_STREAMINFOLIST']._serialized_end=10093 + _globals['_EGRESS']._serialized_start=11095 + _globals['_EGRESS']._serialized_end=11763 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/egress.pyi b/livekit-protocol/livekit/protocol/egress.pyi index e781ff27..0806e21a 100644 --- a/livekit-protocol/livekit/protocol/egress.pyi +++ b/livekit-protocol/livekit/protocol/egress.pyi @@ -8,6 +8,23 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor +class AudioChannel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + AUDIO_CHANNEL_BOTH: _ClassVar[AudioChannel] + AUDIO_CHANNEL_LEFT: _ClassVar[AudioChannel] + AUDIO_CHANNEL_RIGHT: _ClassVar[AudioChannel] + +class EncodingOptionsPreset(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + H264_720P_30: _ClassVar[EncodingOptionsPreset] + H264_720P_60: _ClassVar[EncodingOptionsPreset] + H264_1080P_30: _ClassVar[EncodingOptionsPreset] + H264_1080P_60: _ClassVar[EncodingOptionsPreset] + PORTRAIT_H264_720P_30: _ClassVar[EncodingOptionsPreset] + PORTRAIT_H264_720P_60: _ClassVar[EncodingOptionsPreset] + PORTRAIT_H264_1080P_30: _ClassVar[EncodingOptionsPreset] + PORTRAIT_H264_1080P_60: _ClassVar[EncodingOptionsPreset] + class EncodedFileType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () DEFAULT_FILETYPE: _ClassVar[EncodedFileType] @@ -15,6 +32,13 @@ class EncodedFileType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): OGG: _ClassVar[EncodedFileType] MP3: _ClassVar[EncodedFileType] +class StreamProtocol(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DEFAULT_PROTOCOL: _ClassVar[StreamProtocol] + RTMP: _ClassVar[StreamProtocol] + SRT: _ClassVar[StreamProtocol] + WEBSOCKET: _ClassVar[StreamProtocol] + class SegmentedFileProtocol(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () DEFAULT_SEGMENTED_FILE_PROTOCOL: _ClassVar[SegmentedFileProtocol] @@ -31,28 +55,10 @@ class ImageFileSuffix(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): IMAGE_SUFFIX_TIMESTAMP: _ClassVar[ImageFileSuffix] IMAGE_SUFFIX_NONE_OVERWRITE: _ClassVar[ImageFileSuffix] -class StreamProtocol(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () - DEFAULT_PROTOCOL: _ClassVar[StreamProtocol] - RTMP: _ClassVar[StreamProtocol] - SRT: _ClassVar[StreamProtocol] - -class AudioMixing(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () - DEFAULT_MIXING: _ClassVar[AudioMixing] - DUAL_CHANNEL_AGENT: _ClassVar[AudioMixing] - DUAL_CHANNEL_ALTERNATE: _ClassVar[AudioMixing] - -class EncodingOptionsPreset(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): +class EgressSourceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () - H264_720P_30: _ClassVar[EncodingOptionsPreset] - H264_720P_60: _ClassVar[EncodingOptionsPreset] - H264_1080P_30: _ClassVar[EncodingOptionsPreset] - H264_1080P_60: _ClassVar[EncodingOptionsPreset] - PORTRAIT_H264_720P_30: _ClassVar[EncodingOptionsPreset] - PORTRAIT_H264_720P_60: _ClassVar[EncodingOptionsPreset] - PORTRAIT_H264_1080P_30: _ClassVar[EncodingOptionsPreset] - PORTRAIT_H264_1080P_60: _ClassVar[EncodingOptionsPreset] + EGRESS_SOURCE_TYPE_WEB: _ClassVar[EgressSourceType] + EGRESS_SOURCE_TYPE_SDK: _ClassVar[EgressSourceType] class EgressStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -64,14 +70,30 @@ class EgressStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): EGRESS_ABORTED: _ClassVar[EgressStatus] EGRESS_LIMIT_REACHED: _ClassVar[EgressStatus] -class EgressSourceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): +class AudioMixing(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () - EGRESS_SOURCE_TYPE_WEB: _ClassVar[EgressSourceType] - EGRESS_SOURCE_TYPE_SDK: _ClassVar[EgressSourceType] + DEFAULT_MIXING: _ClassVar[AudioMixing] + DUAL_CHANNEL_AGENT: _ClassVar[AudioMixing] + DUAL_CHANNEL_ALTERNATE: _ClassVar[AudioMixing] +AUDIO_CHANNEL_BOTH: AudioChannel +AUDIO_CHANNEL_LEFT: AudioChannel +AUDIO_CHANNEL_RIGHT: AudioChannel +H264_720P_30: EncodingOptionsPreset +H264_720P_60: EncodingOptionsPreset +H264_1080P_30: EncodingOptionsPreset +H264_1080P_60: EncodingOptionsPreset +PORTRAIT_H264_720P_30: EncodingOptionsPreset +PORTRAIT_H264_720P_60: EncodingOptionsPreset +PORTRAIT_H264_1080P_30: EncodingOptionsPreset +PORTRAIT_H264_1080P_60: EncodingOptionsPreset DEFAULT_FILETYPE: EncodedFileType MP4: EncodedFileType OGG: EncodedFileType MP3: EncodedFileType +DEFAULT_PROTOCOL: StreamProtocol +RTMP: StreamProtocol +SRT: StreamProtocol +WEBSOCKET: StreamProtocol DEFAULT_SEGMENTED_FILE_PROTOCOL: SegmentedFileProtocol HLS_PROTOCOL: SegmentedFileProtocol INDEX: SegmentedFileSuffix @@ -79,20 +101,8 @@ TIMESTAMP: SegmentedFileSuffix IMAGE_SUFFIX_INDEX: ImageFileSuffix IMAGE_SUFFIX_TIMESTAMP: ImageFileSuffix IMAGE_SUFFIX_NONE_OVERWRITE: ImageFileSuffix -DEFAULT_PROTOCOL: StreamProtocol -RTMP: StreamProtocol -SRT: StreamProtocol -DEFAULT_MIXING: AudioMixing -DUAL_CHANNEL_AGENT: AudioMixing -DUAL_CHANNEL_ALTERNATE: AudioMixing -H264_720P_30: EncodingOptionsPreset -H264_720P_60: EncodingOptionsPreset -H264_1080P_30: EncodingOptionsPreset -H264_1080P_60: EncodingOptionsPreset -PORTRAIT_H264_720P_30: EncodingOptionsPreset -PORTRAIT_H264_720P_60: EncodingOptionsPreset -PORTRAIT_H264_1080P_30: EncodingOptionsPreset -PORTRAIT_H264_1080P_60: EncodingOptionsPreset +EGRESS_SOURCE_TYPE_WEB: EgressSourceType +EGRESS_SOURCE_TYPE_SDK: EgressSourceType EGRESS_STARTING: EgressStatus EGRESS_ACTIVE: EgressStatus EGRESS_ENDING: EgressStatus @@ -100,162 +110,169 @@ EGRESS_COMPLETE: EgressStatus EGRESS_FAILED: EgressStatus EGRESS_ABORTED: EgressStatus EGRESS_LIMIT_REACHED: EgressStatus -EGRESS_SOURCE_TYPE_WEB: EgressSourceType -EGRESS_SOURCE_TYPE_SDK: EgressSourceType +DEFAULT_MIXING: AudioMixing +DUAL_CHANNEL_AGENT: AudioMixing +DUAL_CHANNEL_ALTERNATE: AudioMixing -class RoomCompositeEgressRequest(_message.Message): - __slots__ = ("room_name", "layout", "audio_only", "audio_mixing", "video_only", "custom_base_url", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") +class StartEgressRequest(_message.Message): + __slots__ = ("room_name", "template", "web", "media", "preset", "advanced", "outputs", "storage", "webhooks") ROOM_NAME_FIELD_NUMBER: _ClassVar[int] - LAYOUT_FIELD_NUMBER: _ClassVar[int] - AUDIO_ONLY_FIELD_NUMBER: _ClassVar[int] - AUDIO_MIXING_FIELD_NUMBER: _ClassVar[int] - VIDEO_ONLY_FIELD_NUMBER: _ClassVar[int] - CUSTOM_BASE_URL_FIELD_NUMBER: _ClassVar[int] - FILE_FIELD_NUMBER: _ClassVar[int] - STREAM_FIELD_NUMBER: _ClassVar[int] - SEGMENTS_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_FIELD_NUMBER: _ClassVar[int] + WEB_FIELD_NUMBER: _ClassVar[int] + MEDIA_FIELD_NUMBER: _ClassVar[int] PRESET_FIELD_NUMBER: _ClassVar[int] ADVANCED_FIELD_NUMBER: _ClassVar[int] - FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + OUTPUTS_FIELD_NUMBER: _ClassVar[int] + STORAGE_FIELD_NUMBER: _ClassVar[int] WEBHOOKS_FIELD_NUMBER: _ClassVar[int] room_name: str + template: TemplateSource + web: WebSource + media: MediaSource + preset: EncodingOptionsPreset + advanced: EncodingOptions + outputs: _containers.RepeatedCompositeFieldContainer[Output] + storage: StorageConfig + webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] + def __init__(self, room_name: _Optional[str] = ..., template: _Optional[_Union[TemplateSource, _Mapping]] = ..., web: _Optional[_Union[WebSource, _Mapping]] = ..., media: _Optional[_Union[MediaSource, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., outputs: _Optional[_Iterable[_Union[Output, _Mapping]]] = ..., storage: _Optional[_Union[StorageConfig, _Mapping]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + +class TemplateSource(_message.Message): + __slots__ = ("layout", "audio_only", "video_only", "custom_base_url") + LAYOUT_FIELD_NUMBER: _ClassVar[int] + AUDIO_ONLY_FIELD_NUMBER: _ClassVar[int] + VIDEO_ONLY_FIELD_NUMBER: _ClassVar[int] + CUSTOM_BASE_URL_FIELD_NUMBER: _ClassVar[int] layout: str audio_only: bool - audio_mixing: AudioMixing video_only: bool custom_base_url: str - file: EncodedFileOutput - stream: StreamOutput - segments: SegmentedFileOutput - preset: EncodingOptionsPreset - advanced: EncodingOptions - file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] - stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] - segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] - image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] - webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., layout: _Optional[str] = ..., audio_only: bool = ..., audio_mixing: _Optional[_Union[AudioMixing, str]] = ..., video_only: bool = ..., custom_base_url: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, layout: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., custom_base_url: _Optional[str] = ...) -> None: ... -class WebEgressRequest(_message.Message): - __slots__ = ("url", "audio_only", "video_only", "await_start_signal", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") +class WebSource(_message.Message): + __slots__ = ("url", "audio_only", "video_only", "await_start_signal") URL_FIELD_NUMBER: _ClassVar[int] AUDIO_ONLY_FIELD_NUMBER: _ClassVar[int] VIDEO_ONLY_FIELD_NUMBER: _ClassVar[int] AWAIT_START_SIGNAL_FIELD_NUMBER: _ClassVar[int] - FILE_FIELD_NUMBER: _ClassVar[int] - STREAM_FIELD_NUMBER: _ClassVar[int] - SEGMENTS_FIELD_NUMBER: _ClassVar[int] - PRESET_FIELD_NUMBER: _ClassVar[int] - ADVANCED_FIELD_NUMBER: _ClassVar[int] - FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - WEBHOOKS_FIELD_NUMBER: _ClassVar[int] url: str audio_only: bool video_only: bool await_start_signal: bool - file: EncodedFileOutput - stream: StreamOutput - segments: SegmentedFileOutput - preset: EncodingOptionsPreset - advanced: EncodingOptions - file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] - stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] - segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] - image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] - webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ...) -> None: ... -class ParticipantEgressRequest(_message.Message): - __slots__ = ("room_name", "identity", "screen_share", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") - ROOM_NAME_FIELD_NUMBER: _ClassVar[int] +class MediaSource(_message.Message): + __slots__ = ("video_track_id", "participant_video", "audio", "data") + VIDEO_TRACK_ID_FIELD_NUMBER: _ClassVar[int] + PARTICIPANT_VIDEO_FIELD_NUMBER: _ClassVar[int] + AUDIO_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + video_track_id: str + participant_video: ParticipantVideo + audio: AudioConfig + data: DataConfig + def __init__(self, video_track_id: _Optional[str] = ..., participant_video: _Optional[_Union[ParticipantVideo, _Mapping]] = ..., audio: _Optional[_Union[AudioConfig, _Mapping]] = ..., data: _Optional[_Union[DataConfig, _Mapping]] = ...) -> None: ... + +class ParticipantVideo(_message.Message): + __slots__ = ("identity", "prefer_screen_share") IDENTITY_FIELD_NUMBER: _ClassVar[int] - SCREEN_SHARE_FIELD_NUMBER: _ClassVar[int] - PRESET_FIELD_NUMBER: _ClassVar[int] - ADVANCED_FIELD_NUMBER: _ClassVar[int] - FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - WEBHOOKS_FIELD_NUMBER: _ClassVar[int] - room_name: str + PREFER_SCREEN_SHARE_FIELD_NUMBER: _ClassVar[int] identity: str - screen_share: bool - preset: EncodingOptionsPreset - advanced: EncodingOptions - file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] - stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] - segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] - image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] - webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., identity: _Optional[str] = ..., screen_share: bool = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + prefer_screen_share: bool + def __init__(self, identity: _Optional[str] = ..., prefer_screen_share: bool = ...) -> None: ... -class TrackCompositeEgressRequest(_message.Message): - __slots__ = ("room_name", "audio_track_id", "video_track_id", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") - ROOM_NAME_FIELD_NUMBER: _ClassVar[int] - AUDIO_TRACK_ID_FIELD_NUMBER: _ClassVar[int] - VIDEO_TRACK_ID_FIELD_NUMBER: _ClassVar[int] +class AudioConfig(_message.Message): + __slots__ = ("routes",) + ROUTES_FIELD_NUMBER: _ClassVar[int] + routes: _containers.RepeatedCompositeFieldContainer[AudioRoute] + def __init__(self, routes: _Optional[_Iterable[_Union[AudioRoute, _Mapping]]] = ...) -> None: ... + +class AudioRoute(_message.Message): + __slots__ = ("track_id", "participant_identity", "participant_kind", "channel") + TRACK_ID_FIELD_NUMBER: _ClassVar[int] + PARTICIPANT_IDENTITY_FIELD_NUMBER: _ClassVar[int] + PARTICIPANT_KIND_FIELD_NUMBER: _ClassVar[int] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + track_id: str + participant_identity: str + participant_kind: _models.ParticipantInfo.Kind + channel: AudioChannel + def __init__(self, track_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_kind: _Optional[_Union[_models.ParticipantInfo.Kind, str]] = ..., channel: _Optional[_Union[AudioChannel, str]] = ...) -> None: ... + +class DataConfig(_message.Message): + __slots__ = ("selectors",) + SELECTORS_FIELD_NUMBER: _ClassVar[int] + selectors: _containers.RepeatedCompositeFieldContainer[DataSelector] + def __init__(self, selectors: _Optional[_Iterable[_Union[DataSelector, _Mapping]]] = ...) -> None: ... + +class DataSelector(_message.Message): + __slots__ = ("track_id", "participant_identity", "topic") + TRACK_ID_FIELD_NUMBER: _ClassVar[int] + PARTICIPANT_IDENTITY_FIELD_NUMBER: _ClassVar[int] + TOPIC_FIELD_NUMBER: _ClassVar[int] + track_id: str + participant_identity: str + topic: str + def __init__(self, track_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., topic: _Optional[str] = ...) -> None: ... + +class EncodingOptions(_message.Message): + __slots__ = ("width", "height", "depth", "framerate", "audio_codec", "audio_bitrate", "audio_frequency", "video_codec", "video_bitrate", "key_frame_interval", "audio_quality", "video_quality") + WIDTH_FIELD_NUMBER: _ClassVar[int] + HEIGHT_FIELD_NUMBER: _ClassVar[int] + DEPTH_FIELD_NUMBER: _ClassVar[int] + FRAMERATE_FIELD_NUMBER: _ClassVar[int] + AUDIO_CODEC_FIELD_NUMBER: _ClassVar[int] + AUDIO_BITRATE_FIELD_NUMBER: _ClassVar[int] + AUDIO_FREQUENCY_FIELD_NUMBER: _ClassVar[int] + VIDEO_CODEC_FIELD_NUMBER: _ClassVar[int] + VIDEO_BITRATE_FIELD_NUMBER: _ClassVar[int] + KEY_FRAME_INTERVAL_FIELD_NUMBER: _ClassVar[int] + AUDIO_QUALITY_FIELD_NUMBER: _ClassVar[int] + VIDEO_QUALITY_FIELD_NUMBER: _ClassVar[int] + width: int + height: int + depth: int + framerate: int + audio_codec: _models.AudioCodec + audio_bitrate: int + audio_frequency: int + video_codec: _models.VideoCodec + video_bitrate: int + key_frame_interval: float + audio_quality: int + video_quality: int + def __init__(self, width: _Optional[int] = ..., height: _Optional[int] = ..., depth: _Optional[int] = ..., framerate: _Optional[int] = ..., audio_codec: _Optional[_Union[_models.AudioCodec, str]] = ..., audio_bitrate: _Optional[int] = ..., audio_frequency: _Optional[int] = ..., video_codec: _Optional[_Union[_models.VideoCodec, str]] = ..., video_bitrate: _Optional[int] = ..., key_frame_interval: _Optional[float] = ..., audio_quality: _Optional[int] = ..., video_quality: _Optional[int] = ...) -> None: ... + +class Output(_message.Message): + __slots__ = ("file", "stream", "segments", "images", "storage") FILE_FIELD_NUMBER: _ClassVar[int] STREAM_FIELD_NUMBER: _ClassVar[int] SEGMENTS_FIELD_NUMBER: _ClassVar[int] - PRESET_FIELD_NUMBER: _ClassVar[int] - ADVANCED_FIELD_NUMBER: _ClassVar[int] - FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] - WEBHOOKS_FIELD_NUMBER: _ClassVar[int] - room_name: str - audio_track_id: str - video_track_id: str - file: EncodedFileOutput + IMAGES_FIELD_NUMBER: _ClassVar[int] + STORAGE_FIELD_NUMBER: _ClassVar[int] + file: FileOutput stream: StreamOutput segments: SegmentedFileOutput - preset: EncodingOptionsPreset - advanced: EncodingOptions - file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] - stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] - segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] - image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] - webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., audio_track_id: _Optional[str] = ..., video_track_id: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... - -class TrackEgressRequest(_message.Message): - __slots__ = ("room_name", "track_id", "file", "websocket_url", "webhooks") - ROOM_NAME_FIELD_NUMBER: _ClassVar[int] - TRACK_ID_FIELD_NUMBER: _ClassVar[int] - FILE_FIELD_NUMBER: _ClassVar[int] - WEBSOCKET_URL_FIELD_NUMBER: _ClassVar[int] - WEBHOOKS_FIELD_NUMBER: _ClassVar[int] - room_name: str - track_id: str - file: DirectFileOutput - websocket_url: str - webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., track_id: _Optional[str] = ..., file: _Optional[_Union[DirectFileOutput, _Mapping]] = ..., websocket_url: _Optional[str] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + images: ImageOutput + storage: StorageConfig + def __init__(self, file: _Optional[_Union[FileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., images: _Optional[_Union[ImageOutput, _Mapping]] = ..., storage: _Optional[_Union[StorageConfig, _Mapping]] = ...) -> None: ... -class EncodedFileOutput(_message.Message): - __slots__ = ("file_type", "filepath", "disable_manifest", "s3", "gcp", "azure", "aliOSS") +class FileOutput(_message.Message): + __slots__ = ("file_type", "filepath", "disable_manifest") FILE_TYPE_FIELD_NUMBER: _ClassVar[int] FILEPATH_FIELD_NUMBER: _ClassVar[int] DISABLE_MANIFEST_FIELD_NUMBER: _ClassVar[int] - S3_FIELD_NUMBER: _ClassVar[int] - GCP_FIELD_NUMBER: _ClassVar[int] - AZURE_FIELD_NUMBER: _ClassVar[int] - ALIOSS_FIELD_NUMBER: _ClassVar[int] file_type: EncodedFileType filepath: str disable_manifest: bool - s3: S3Upload - gcp: GCPUpload - azure: AzureBlobUpload - aliOSS: AliOSSUpload - def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: bool = ...) -> None: ... + +class StreamOutput(_message.Message): + __slots__ = ("protocol", "urls") + PROTOCOL_FIELD_NUMBER: _ClassVar[int] + URLS_FIELD_NUMBER: _ClassVar[int] + protocol: StreamProtocol + urls: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, protocol: _Optional[_Union[StreamProtocol, str]] = ..., urls: _Optional[_Iterable[str]] = ...) -> None: ... class SegmentedFileOutput(_message.Message): __slots__ = ("protocol", "filename_prefix", "playlist_name", "live_playlist_name", "segment_duration", "filename_suffix", "disable_manifest", "s3", "gcp", "azure", "aliOSS") @@ -283,22 +300,6 @@ class SegmentedFileOutput(_message.Message): aliOSS: AliOSSUpload def __init__(self, protocol: _Optional[_Union[SegmentedFileProtocol, str]] = ..., filename_prefix: _Optional[str] = ..., playlist_name: _Optional[str] = ..., live_playlist_name: _Optional[str] = ..., segment_duration: _Optional[int] = ..., filename_suffix: _Optional[_Union[SegmentedFileSuffix, str]] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... -class DirectFileOutput(_message.Message): - __slots__ = ("filepath", "disable_manifest", "s3", "gcp", "azure", "aliOSS") - FILEPATH_FIELD_NUMBER: _ClassVar[int] - DISABLE_MANIFEST_FIELD_NUMBER: _ClassVar[int] - S3_FIELD_NUMBER: _ClassVar[int] - GCP_FIELD_NUMBER: _ClassVar[int] - AZURE_FIELD_NUMBER: _ClassVar[int] - ALIOSS_FIELD_NUMBER: _ClassVar[int] - filepath: str - disable_manifest: bool - s3: S3Upload - gcp: GCPUpload - azure: AzureBlobUpload - aliOSS: AliOSSUpload - def __init__(self, filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... - class ImageOutput(_message.Message): __slots__ = ("capture_interval", "width", "height", "filename_prefix", "filename_suffix", "image_codec", "disable_manifest", "s3", "gcp", "azure", "aliOSS") CAPTURE_INTERVAL_FIELD_NUMBER: _ClassVar[int] @@ -325,6 +326,18 @@ class ImageOutput(_message.Message): aliOSS: AliOSSUpload def __init__(self, capture_interval: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., filename_prefix: _Optional[str] = ..., filename_suffix: _Optional[_Union[ImageFileSuffix, str]] = ..., image_codec: _Optional[_Union[_models.ImageCodec, str]] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... +class StorageConfig(_message.Message): + __slots__ = ("s3", "gcp", "azure", "aliOSS") + S3_FIELD_NUMBER: _ClassVar[int] + GCP_FIELD_NUMBER: _ClassVar[int] + AZURE_FIELD_NUMBER: _ClassVar[int] + ALIOSS_FIELD_NUMBER: _ClassVar[int] + s3: S3Upload + gcp: GCPUpload + azure: AzureBlobUpload + aliOSS: AliOSSUpload + def __init__(self, s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + class S3Upload(_message.Message): __slots__ = ("access_key", "secret", "session_token", "assume_role_arn", "assume_role_external_id", "region", "endpoint", "bucket", "force_path_style", "metadata", "tagging", "content_disposition", "proxy") class MetadataEntry(_message.Message): @@ -388,77 +401,23 @@ class AliOSSUpload(_message.Message): SECRET_FIELD_NUMBER: _ClassVar[int] REGION_FIELD_NUMBER: _ClassVar[int] ENDPOINT_FIELD_NUMBER: _ClassVar[int] - BUCKET_FIELD_NUMBER: _ClassVar[int] - access_key: str - secret: str - region: str - endpoint: str - bucket: str - def __init__(self, access_key: _Optional[str] = ..., secret: _Optional[str] = ..., region: _Optional[str] = ..., endpoint: _Optional[str] = ..., bucket: _Optional[str] = ...) -> None: ... - -class ProxyConfig(_message.Message): - __slots__ = ("url", "username", "password") - URL_FIELD_NUMBER: _ClassVar[int] - USERNAME_FIELD_NUMBER: _ClassVar[int] - PASSWORD_FIELD_NUMBER: _ClassVar[int] - url: str - username: str - password: str - def __init__(self, url: _Optional[str] = ..., username: _Optional[str] = ..., password: _Optional[str] = ...) -> None: ... - -class StreamOutput(_message.Message): - __slots__ = ("protocol", "urls") - PROTOCOL_FIELD_NUMBER: _ClassVar[int] - URLS_FIELD_NUMBER: _ClassVar[int] - protocol: StreamProtocol - urls: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, protocol: _Optional[_Union[StreamProtocol, str]] = ..., urls: _Optional[_Iterable[str]] = ...) -> None: ... - -class EncodingOptions(_message.Message): - __slots__ = ("width", "height", "depth", "framerate", "audio_codec", "audio_bitrate", "audio_quality", "audio_frequency", "video_codec", "video_bitrate", "video_quality", "key_frame_interval") - WIDTH_FIELD_NUMBER: _ClassVar[int] - HEIGHT_FIELD_NUMBER: _ClassVar[int] - DEPTH_FIELD_NUMBER: _ClassVar[int] - FRAMERATE_FIELD_NUMBER: _ClassVar[int] - AUDIO_CODEC_FIELD_NUMBER: _ClassVar[int] - AUDIO_BITRATE_FIELD_NUMBER: _ClassVar[int] - AUDIO_QUALITY_FIELD_NUMBER: _ClassVar[int] - AUDIO_FREQUENCY_FIELD_NUMBER: _ClassVar[int] - VIDEO_CODEC_FIELD_NUMBER: _ClassVar[int] - VIDEO_BITRATE_FIELD_NUMBER: _ClassVar[int] - VIDEO_QUALITY_FIELD_NUMBER: _ClassVar[int] - KEY_FRAME_INTERVAL_FIELD_NUMBER: _ClassVar[int] - width: int - height: int - depth: int - framerate: int - audio_codec: _models.AudioCodec - audio_bitrate: int - audio_quality: int - audio_frequency: int - video_codec: _models.VideoCodec - video_bitrate: int - video_quality: int - key_frame_interval: float - def __init__(self, width: _Optional[int] = ..., height: _Optional[int] = ..., depth: _Optional[int] = ..., framerate: _Optional[int] = ..., audio_codec: _Optional[_Union[_models.AudioCodec, str]] = ..., audio_bitrate: _Optional[int] = ..., audio_quality: _Optional[int] = ..., audio_frequency: _Optional[int] = ..., video_codec: _Optional[_Union[_models.VideoCodec, str]] = ..., video_bitrate: _Optional[int] = ..., video_quality: _Optional[int] = ..., key_frame_interval: _Optional[float] = ...) -> None: ... - -class UpdateLayoutRequest(_message.Message): - __slots__ = ("egress_id", "layout") - EGRESS_ID_FIELD_NUMBER: _ClassVar[int] - LAYOUT_FIELD_NUMBER: _ClassVar[int] - egress_id: str - layout: str - def __init__(self, egress_id: _Optional[str] = ..., layout: _Optional[str] = ...) -> None: ... - -class UpdateStreamRequest(_message.Message): - __slots__ = ("egress_id", "add_output_urls", "remove_output_urls") - EGRESS_ID_FIELD_NUMBER: _ClassVar[int] - ADD_OUTPUT_URLS_FIELD_NUMBER: _ClassVar[int] - REMOVE_OUTPUT_URLS_FIELD_NUMBER: _ClassVar[int] - egress_id: str - add_output_urls: _containers.RepeatedScalarFieldContainer[str] - remove_output_urls: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, egress_id: _Optional[str] = ..., add_output_urls: _Optional[_Iterable[str]] = ..., remove_output_urls: _Optional[_Iterable[str]] = ...) -> None: ... + BUCKET_FIELD_NUMBER: _ClassVar[int] + access_key: str + secret: str + region: str + endpoint: str + bucket: str + def __init__(self, access_key: _Optional[str] = ..., secret: _Optional[str] = ..., region: _Optional[str] = ..., endpoint: _Optional[str] = ..., bucket: _Optional[str] = ...) -> None: ... + +class ProxyConfig(_message.Message): + __slots__ = ("url", "username", "password") + URL_FIELD_NUMBER: _ClassVar[int] + USERNAME_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + url: str + username: str + password: str + def __init__(self, url: _Optional[str] = ..., username: _Optional[str] = ..., password: _Optional[str] = ...) -> None: ... class ListEgressRequest(_message.Message): __slots__ = ("room_name", "egress_id", "active") @@ -476,6 +435,20 @@ class ListEgressResponse(_message.Message): items: _containers.RepeatedCompositeFieldContainer[EgressInfo] def __init__(self, items: _Optional[_Iterable[_Union[EgressInfo, _Mapping]]] = ...) -> None: ... +class UpdateEgressRequest(_message.Message): + __slots__ = ("egress_id", "url", "layout", "add_stream_urls", "remove_stream_urls") + EGRESS_ID_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + LAYOUT_FIELD_NUMBER: _ClassVar[int] + ADD_STREAM_URLS_FIELD_NUMBER: _ClassVar[int] + REMOVE_STREAM_URLS_FIELD_NUMBER: _ClassVar[int] + egress_id: str + url: str + layout: str + add_stream_urls: _containers.RepeatedScalarFieldContainer[str] + remove_stream_urls: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, egress_id: _Optional[str] = ..., url: _Optional[str] = ..., layout: _Optional[str] = ..., add_stream_urls: _Optional[_Iterable[str]] = ..., remove_stream_urls: _Optional[_Iterable[str]] = ...) -> None: ... + class StopEgressRequest(_message.Message): __slots__ = ("egress_id",) EGRESS_ID_FIELD_NUMBER: _ClassVar[int] @@ -483,7 +456,7 @@ class StopEgressRequest(_message.Message): def __init__(self, egress_id: _Optional[str] = ...) -> None: ... class EgressInfo(_message.Message): - __slots__ = ("egress_id", "room_id", "room_name", "source_type", "status", "started_at", "ended_at", "updated_at", "details", "error", "error_code", "room_composite", "web", "participant", "track_composite", "track", "stream", "file", "segments", "stream_results", "file_results", "segment_results", "image_results", "manifest_location", "backup_storage_used", "retry_count") + __slots__ = ("egress_id", "room_id", "room_name", "source_type", "status", "started_at", "ended_at", "updated_at", "replay", "room_composite", "web", "participant", "track_composite", "track", "stream_results", "file_results", "segment_results", "image_results", "error", "error_code", "details", "manifest_location", "backup_storage_used", "retry_count", "stream", "file", "segments") EGRESS_ID_FIELD_NUMBER: _ClassVar[int] ROOM_ID_FIELD_NUMBER: _ClassVar[int] ROOM_NAME_FIELD_NUMBER: _ClassVar[int] @@ -492,24 +465,25 @@ class EgressInfo(_message.Message): STARTED_AT_FIELD_NUMBER: _ClassVar[int] ENDED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - DETAILS_FIELD_NUMBER: _ClassVar[int] - ERROR_FIELD_NUMBER: _ClassVar[int] - ERROR_CODE_FIELD_NUMBER: _ClassVar[int] + REPLAY_FIELD_NUMBER: _ClassVar[int] ROOM_COMPOSITE_FIELD_NUMBER: _ClassVar[int] WEB_FIELD_NUMBER: _ClassVar[int] PARTICIPANT_FIELD_NUMBER: _ClassVar[int] TRACK_COMPOSITE_FIELD_NUMBER: _ClassVar[int] TRACK_FIELD_NUMBER: _ClassVar[int] - STREAM_FIELD_NUMBER: _ClassVar[int] - FILE_FIELD_NUMBER: _ClassVar[int] - SEGMENTS_FIELD_NUMBER: _ClassVar[int] STREAM_RESULTS_FIELD_NUMBER: _ClassVar[int] FILE_RESULTS_FIELD_NUMBER: _ClassVar[int] SEGMENT_RESULTS_FIELD_NUMBER: _ClassVar[int] IMAGE_RESULTS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + ERROR_CODE_FIELD_NUMBER: _ClassVar[int] + DETAILS_FIELD_NUMBER: _ClassVar[int] MANIFEST_LOCATION_FIELD_NUMBER: _ClassVar[int] BACKUP_STORAGE_USED_FIELD_NUMBER: _ClassVar[int] RETRY_COUNT_FIELD_NUMBER: _ClassVar[int] + STREAM_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + SEGMENTS_FIELD_NUMBER: _ClassVar[int] egress_id: str room_id: str room_name: str @@ -518,31 +492,26 @@ class EgressInfo(_message.Message): started_at: int ended_at: int updated_at: int - details: str - error: str - error_code: int + replay: ExportReplayRequest room_composite: RoomCompositeEgressRequest web: WebEgressRequest participant: ParticipantEgressRequest track_composite: TrackCompositeEgressRequest track: TrackEgressRequest - stream: StreamInfoList - file: FileInfo - segments: SegmentsInfo stream_results: _containers.RepeatedCompositeFieldContainer[StreamInfo] file_results: _containers.RepeatedCompositeFieldContainer[FileInfo] segment_results: _containers.RepeatedCompositeFieldContainer[SegmentsInfo] image_results: _containers.RepeatedCompositeFieldContainer[ImagesInfo] + error: str + error_code: int + details: str manifest_location: str backup_storage_used: bool retry_count: int - def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., details: _Optional[str] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: bool = ..., retry_count: _Optional[int] = ...) -> None: ... - -class StreamInfoList(_message.Message): - __slots__ = ("info",) - INFO_FIELD_NUMBER: _ClassVar[int] - info: _containers.RepeatedCompositeFieldContainer[StreamInfo] - def __init__(self, info: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ...) -> None: ... + stream: StreamInfoList + file: FileInfo + segments: SegmentsInfo + def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., replay: _Optional[_Union[ExportReplayRequest, _Mapping]] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., details: _Optional[str] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: bool = ..., retry_count: _Optional[int] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ...) -> None: ... class StreamInfo(_message.Message): __slots__ = ("url", "started_at", "ended_at", "duration", "status", "error", "last_retry_at", "retries") @@ -649,3 +618,223 @@ class AutoTrackEgress(_message.Message): azure: AzureBlobUpload aliOSS: AliOSSUpload def __init__(self, filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + +class ExportReplayRequest(_message.Message): + __slots__ = ("replay_id", "start_offset_ms", "end_offset_ms", "template", "web", "media", "preset", "advanced", "outputs", "storage", "webhooks") + REPLAY_ID_FIELD_NUMBER: _ClassVar[int] + START_OFFSET_MS_FIELD_NUMBER: _ClassVar[int] + END_OFFSET_MS_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_FIELD_NUMBER: _ClassVar[int] + WEB_FIELD_NUMBER: _ClassVar[int] + MEDIA_FIELD_NUMBER: _ClassVar[int] + PRESET_FIELD_NUMBER: _ClassVar[int] + ADVANCED_FIELD_NUMBER: _ClassVar[int] + OUTPUTS_FIELD_NUMBER: _ClassVar[int] + STORAGE_FIELD_NUMBER: _ClassVar[int] + WEBHOOKS_FIELD_NUMBER: _ClassVar[int] + replay_id: str + start_offset_ms: int + end_offset_ms: int + template: TemplateSource + web: WebSource + media: MediaSource + preset: EncodingOptionsPreset + advanced: EncodingOptions + outputs: _containers.RepeatedCompositeFieldContainer[Output] + storage: StorageConfig + webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] + def __init__(self, replay_id: _Optional[str] = ..., start_offset_ms: _Optional[int] = ..., end_offset_ms: _Optional[int] = ..., template: _Optional[_Union[TemplateSource, _Mapping]] = ..., web: _Optional[_Union[WebSource, _Mapping]] = ..., media: _Optional[_Union[MediaSource, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., outputs: _Optional[_Iterable[_Union[Output, _Mapping]]] = ..., storage: _Optional[_Union[StorageConfig, _Mapping]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + +class RoomCompositeEgressRequest(_message.Message): + __slots__ = ("room_name", "layout", "audio_only", "audio_mixing", "video_only", "custom_base_url", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") + ROOM_NAME_FIELD_NUMBER: _ClassVar[int] + LAYOUT_FIELD_NUMBER: _ClassVar[int] + AUDIO_ONLY_FIELD_NUMBER: _ClassVar[int] + AUDIO_MIXING_FIELD_NUMBER: _ClassVar[int] + VIDEO_ONLY_FIELD_NUMBER: _ClassVar[int] + CUSTOM_BASE_URL_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + STREAM_FIELD_NUMBER: _ClassVar[int] + SEGMENTS_FIELD_NUMBER: _ClassVar[int] + PRESET_FIELD_NUMBER: _ClassVar[int] + ADVANCED_FIELD_NUMBER: _ClassVar[int] + FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + WEBHOOKS_FIELD_NUMBER: _ClassVar[int] + room_name: str + layout: str + audio_only: bool + audio_mixing: AudioMixing + video_only: bool + custom_base_url: str + file: EncodedFileOutput + stream: StreamOutput + segments: SegmentedFileOutput + preset: EncodingOptionsPreset + advanced: EncodingOptions + file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] + stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] + segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] + image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] + webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] + def __init__(self, room_name: _Optional[str] = ..., layout: _Optional[str] = ..., audio_only: bool = ..., audio_mixing: _Optional[_Union[AudioMixing, str]] = ..., video_only: bool = ..., custom_base_url: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + +class WebEgressRequest(_message.Message): + __slots__ = ("url", "audio_only", "video_only", "await_start_signal", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") + URL_FIELD_NUMBER: _ClassVar[int] + AUDIO_ONLY_FIELD_NUMBER: _ClassVar[int] + VIDEO_ONLY_FIELD_NUMBER: _ClassVar[int] + AWAIT_START_SIGNAL_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + STREAM_FIELD_NUMBER: _ClassVar[int] + SEGMENTS_FIELD_NUMBER: _ClassVar[int] + PRESET_FIELD_NUMBER: _ClassVar[int] + ADVANCED_FIELD_NUMBER: _ClassVar[int] + FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + WEBHOOKS_FIELD_NUMBER: _ClassVar[int] + url: str + audio_only: bool + video_only: bool + await_start_signal: bool + file: EncodedFileOutput + stream: StreamOutput + segments: SegmentedFileOutput + preset: EncodingOptionsPreset + advanced: EncodingOptions + file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] + stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] + segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] + image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] + webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] + def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + +class ParticipantEgressRequest(_message.Message): + __slots__ = ("room_name", "identity", "screen_share", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") + ROOM_NAME_FIELD_NUMBER: _ClassVar[int] + IDENTITY_FIELD_NUMBER: _ClassVar[int] + SCREEN_SHARE_FIELD_NUMBER: _ClassVar[int] + PRESET_FIELD_NUMBER: _ClassVar[int] + ADVANCED_FIELD_NUMBER: _ClassVar[int] + FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + WEBHOOKS_FIELD_NUMBER: _ClassVar[int] + room_name: str + identity: str + screen_share: bool + preset: EncodingOptionsPreset + advanced: EncodingOptions + file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] + stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] + segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] + image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] + webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] + def __init__(self, room_name: _Optional[str] = ..., identity: _Optional[str] = ..., screen_share: bool = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + +class TrackCompositeEgressRequest(_message.Message): + __slots__ = ("room_name", "audio_track_id", "video_track_id", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") + ROOM_NAME_FIELD_NUMBER: _ClassVar[int] + AUDIO_TRACK_ID_FIELD_NUMBER: _ClassVar[int] + VIDEO_TRACK_ID_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + STREAM_FIELD_NUMBER: _ClassVar[int] + SEGMENTS_FIELD_NUMBER: _ClassVar[int] + PRESET_FIELD_NUMBER: _ClassVar[int] + ADVANCED_FIELD_NUMBER: _ClassVar[int] + FILE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + STREAM_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + SEGMENT_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + IMAGE_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + WEBHOOKS_FIELD_NUMBER: _ClassVar[int] + room_name: str + audio_track_id: str + video_track_id: str + file: EncodedFileOutput + stream: StreamOutput + segments: SegmentedFileOutput + preset: EncodingOptionsPreset + advanced: EncodingOptions + file_outputs: _containers.RepeatedCompositeFieldContainer[EncodedFileOutput] + stream_outputs: _containers.RepeatedCompositeFieldContainer[StreamOutput] + segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] + image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] + webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] + def __init__(self, room_name: _Optional[str] = ..., audio_track_id: _Optional[str] = ..., video_track_id: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + +class TrackEgressRequest(_message.Message): + __slots__ = ("room_name", "track_id", "file", "websocket_url", "webhooks") + ROOM_NAME_FIELD_NUMBER: _ClassVar[int] + TRACK_ID_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + WEBSOCKET_URL_FIELD_NUMBER: _ClassVar[int] + WEBHOOKS_FIELD_NUMBER: _ClassVar[int] + room_name: str + track_id: str + file: DirectFileOutput + websocket_url: str + webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] + def __init__(self, room_name: _Optional[str] = ..., track_id: _Optional[str] = ..., file: _Optional[_Union[DirectFileOutput, _Mapping]] = ..., websocket_url: _Optional[str] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + +class DirectFileOutput(_message.Message): + __slots__ = ("filepath", "disable_manifest", "s3", "gcp", "azure", "aliOSS") + FILEPATH_FIELD_NUMBER: _ClassVar[int] + DISABLE_MANIFEST_FIELD_NUMBER: _ClassVar[int] + S3_FIELD_NUMBER: _ClassVar[int] + GCP_FIELD_NUMBER: _ClassVar[int] + AZURE_FIELD_NUMBER: _ClassVar[int] + ALIOSS_FIELD_NUMBER: _ClassVar[int] + filepath: str + disable_manifest: bool + s3: S3Upload + gcp: GCPUpload + azure: AzureBlobUpload + aliOSS: AliOSSUpload + def __init__(self, filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + +class EncodedFileOutput(_message.Message): + __slots__ = ("file_type", "filepath", "disable_manifest", "s3", "gcp", "azure", "aliOSS") + FILE_TYPE_FIELD_NUMBER: _ClassVar[int] + FILEPATH_FIELD_NUMBER: _ClassVar[int] + DISABLE_MANIFEST_FIELD_NUMBER: _ClassVar[int] + S3_FIELD_NUMBER: _ClassVar[int] + GCP_FIELD_NUMBER: _ClassVar[int] + AZURE_FIELD_NUMBER: _ClassVar[int] + ALIOSS_FIELD_NUMBER: _ClassVar[int] + file_type: EncodedFileType + filepath: str + disable_manifest: bool + s3: S3Upload + gcp: GCPUpload + azure: AzureBlobUpload + aliOSS: AliOSSUpload + def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + +class UpdateLayoutRequest(_message.Message): + __slots__ = ("egress_id", "layout") + EGRESS_ID_FIELD_NUMBER: _ClassVar[int] + LAYOUT_FIELD_NUMBER: _ClassVar[int] + egress_id: str + layout: str + def __init__(self, egress_id: _Optional[str] = ..., layout: _Optional[str] = ...) -> None: ... + +class UpdateStreamRequest(_message.Message): + __slots__ = ("egress_id", "add_output_urls", "remove_output_urls") + EGRESS_ID_FIELD_NUMBER: _ClassVar[int] + ADD_OUTPUT_URLS_FIELD_NUMBER: _ClassVar[int] + REMOVE_OUTPUT_URLS_FIELD_NUMBER: _ClassVar[int] + egress_id: str + add_output_urls: _containers.RepeatedScalarFieldContainer[str] + remove_output_urls: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, egress_id: _Optional[str] = ..., add_output_urls: _Optional[_Iterable[str]] = ..., remove_output_urls: _Optional[_Iterable[str]] = ...) -> None: ... + +class StreamInfoList(_message.Message): + __slots__ = ("info",) + INFO_FIELD_NUMBER: _ClassVar[int] + info: _containers.RepeatedCompositeFieldContainer[StreamInfo] + def __init__(self, info: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/metrics.py b/livekit-protocol/livekit/protocol/metrics.py index 15ad2d6c..ad610d90 100644 --- a/livekit-protocol/livekit/protocol/metrics.py +++ b/livekit-protocol/livekit/protocol/metrics.py @@ -16,7 +16,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15livekit_metrics.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14logger/options.proto\"\xc6\x01\n\x0cMetricsBatch\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x38\n\x14normalized_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08str_data\x18\x03 \x03(\t\x12.\n\x0btime_series\x18\x04 \x03(\x0b\x32\x19.livekit.TimeSeriesMetric\x12$\n\x06\x65vents\x18\x05 \x03(\x0b\x32\x14.livekit.EventMetric\"\x87\x01\n\x10TimeSeriesMetric\x12\r\n\x05label\x18\x01 \x01(\r\x12\x1c\n\x14participant_identity\x18\x02 \x01(\r\x12\x11\n\ttrack_sid\x18\x03 \x01(\r\x12&\n\x07samples\x18\x04 \x03(\x0b\x32\x15.livekit.MetricSample\x12\x0b\n\x03rid\x18\x05 \x01(\r\"m\n\x0cMetricSample\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x38\n\x14normalized_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05value\x18\x03 \x01(\x02\"\xdc\x02\n\x0b\x45ventMetric\x12\r\n\x05label\x18\x01 \x01(\r\x12\x1c\n\x14participant_identity\x18\x02 \x01(\r\x12\x11\n\ttrack_sid\x18\x03 \x01(\r\x12\x1a\n\x12start_timestamp_ms\x18\x04 \x01(\x03\x12\x1d\n\x10\x65nd_timestamp_ms\x18\x05 \x01(\x03H\x00\x88\x01\x01\x12>\n\x1anormalized_start_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x18normalized_end_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x0b\n\x03rid\x18\t \x01(\rB\x13\n\x11_end_timestamp_msB\x1b\n\x19_normalized_end_timestamp\"\xea\x01\n\x16MetricsRecordingHeader\x12\x1b\n\x07room_id\x18\x01 \x01(\tB\n\x9a\xec,\x06roomID\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\troom_tags\x18\x05 \x03(\x0b\x32-.livekit.MetricsRecordingHeader.RoomTagsEntry\x1a/\n\rRoomTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*\x81\x07\n\x0bMetricLabel\x12\x13\n\x0f\x41GENTS_LLM_TTFT\x10\x00\x12\x13\n\x0f\x41GENTS_STT_TTFT\x10\x01\x12\x13\n\x0f\x41GENTS_TTS_TTFB\x10\x02\x12(\n$CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT\x10\x03\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION\x10\x04\x12\'\n#CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT\x10\x05\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION\x10\x06\x12-\n)CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES\x10\x07\x12\x34\n0CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES\x10\x08\x12.\n*CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS\x10\t\x12.\n*CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT\x10\n\x12\x37\n3CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION\x10\x0b\x12)\n%CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY\x10\x0c\x12\x31\n-CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT\x10\r\x12@\n\n\x1anormalized_start_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x18normalized_end_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x0b\n\x03rid\x18\t \x01(\rB\x13\n\x11_end_timestamp_msB\x1b\n\x19_normalized_end_timestamp\"\xb2\x02\n\x16MetricsRecordingHeader\x12\x1b\n\x07room_id\x18\x01 \x01(\tB\n\x9a\xec,\x06roomID\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\troom_tags\x18\x05 \x03(\x0b\x32-.livekit.MetricsRecordingHeader.RoomTagsEntry\x12\x11\n\troom_name\x18\x06 \x01(\t\x12\x33\n\x0froom_start_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a/\n\rRoomTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*\x81\x07\n\x0bMetricLabel\x12\x13\n\x0f\x41GENTS_LLM_TTFT\x10\x00\x12\x13\n\x0f\x41GENTS_STT_TTFT\x10\x01\x12\x13\n\x0f\x41GENTS_TTS_TTFB\x10\x02\x12(\n$CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT\x10\x03\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION\x10\x04\x12\'\n#CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT\x10\x05\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION\x10\x06\x12-\n)CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES\x10\x07\x12\x34\n0CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES\x10\x08\x12.\n*CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS\x10\t\x12.\n*CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT\x10\n\x12\x37\n3CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION\x10\x0b\x12)\n%CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY\x10\x0c\x12\x31\n-CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT\x10\r\x12@\n None: ... class MetricsRecordingHeader(_message.Message): - __slots__ = ("room_id", "duration", "start_time", "room_tags") + __slots__ = ("room_id", "duration", "start_time", "room_tags", "room_name", "room_start_time") class RoomTagsEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -126,8 +126,12 @@ class MetricsRecordingHeader(_message.Message): DURATION_FIELD_NUMBER: _ClassVar[int] START_TIME_FIELD_NUMBER: _ClassVar[int] ROOM_TAGS_FIELD_NUMBER: _ClassVar[int] + ROOM_NAME_FIELD_NUMBER: _ClassVar[int] + ROOM_START_TIME_FIELD_NUMBER: _ClassVar[int] room_id: str duration: int start_time: _timestamp_pb2.Timestamp room_tags: _containers.ScalarMap[str, str] - def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_tags: _Optional[_Mapping[str, str]] = ...) -> None: ... + room_name: str + room_start_time: _timestamp_pb2.Timestamp + def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_tags: _Optional[_Mapping[str, str]] = ..., room_name: _Optional[str] = ..., room_start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/models.py b/livekit-protocol/livekit/protocol/models.py index ecf7be19..48d600fb 100644 --- a/livekit-protocol/livekit/protocol/models.py +++ b/livekit-protocol/livekit/protocol/models.py @@ -17,7 +17,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15livekit_metrics.proto\x1a\x14logger/options.proto\":\n\nPagination\x12\x1d\n\x08\x61\x66ter_id\x18\x01 \x01(\tB\x0b\x9a\xec,\x07\x61\x66terID\x12\r\n\x05limit\x18\x02 \x01(\x05\" \n\x0fTokenPagination\x12\r\n\x05token\x18\x01 \x01(\t\"E\n\nListUpdate\x12\x0b\n\x03set\x18\x01 \x03(\t\x12\x0b\n\x03\x61\x64\x64\x18\x02 \x03(\t\x12\x0e\n\x06remove\x18\x03 \x03(\t\x12\r\n\x05\x63lear\x18\x04 \x01(\x08\"\x8b\x03\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x0e \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x18\n\x10\x63reation_time_ms\x18\x0f \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x38\n\x08metadata\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\xa7\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\x12 \n\x18\x63\x61n_manage_agent_session\x18\r \x01(\x08\"\xed\x07\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x12\n\x04name\x18\t \x01(\tB\x04\x88\xec,\x01\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12\x64\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\x39\n\x0ckind_details\x18\x12 \x03(\x0e\x32#.livekit.ParticipantInfo.KindDetail\x12+\n\x0b\x64\x61ta_tracks\x18\x13 \x03(\x0b\x32\x16.livekit.DataTrackInfo\x12\x17\n\x0f\x63lient_protocol\x18\x14 \x01(\x05\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"\\\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\x12\r\n\tCONNECTOR\x10\x07\x12\n\n\x06\x42RIDGE\x10\x08\"k\n\nKindDetail\x12\x0f\n\x0b\x43LOUD_AGENT\x10\x00\x12\r\n\tFORWARDED\x10\x01\x12\x16\n\x12\x43ONNECTOR_WHATSAPP\x10\x02\x12\x14\n\x10\x43ONNECTOR_TWILIO\x10\x03\x12\x0f\n\x0b\x42RIDGE_RTSP\x10\x04\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"\xab\x01\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\x12\x0f\n\x07sdp_cid\x18\x06 \x01(\t\"\x84\x05\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x12\n\x04name\x18\x03 \x01(\tB\x04\x88\xec,\x01\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x15\n\tsimulcast\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12\'\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayerB\x02\x18\x01\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x12\n\x06stereo\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12>\n\x17packet_trailer_features\x18\x15 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"l\n\rDataTrackInfo\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0b\n\x03sid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12,\n\nencryption\x18\x04 \x01(\x0e\x32\x18.livekit.Encryption.Type\"f\n DataTrackExtensionParticipantSid\x12)\n\x02id\x18\x01 \x01(\x0e\x32\x1d.livekit.DataTrackExtensionID\x12\x17\n\x0fparticipant_sid\x18\x02 \x01(\t\"F\n\x1c\x44\x61taTrackSubscriptionOptions\x12\x17\n\ntarget_fps\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\r\n\x0b_target_fps\"\xc4\x02\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\x12\x15\n\rspatial_layer\x18\x06 \x01(\x05\x12\x0b\n\x03rid\x18\x07 \x01(\t\x12\x13\n\x0brepair_ssrc\x18\x08 \x01(\r\"\x96\x01\n\x04Mode\x12\x0f\n\x0bMODE_UNUSED\x10\x00\x12 \n\x1cONE_SPATIAL_LAYER_PER_STREAM\x10\x01\x12&\n\"MULTIPLE_SPATIAL_LAYERS_PER_STREAM\x10\x02\x12\x33\n/ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR\x10\x03\"\xa7\x06\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x12\x34\n\x10\x65ncrypted_packet\x18\x12 \x01(\x0b\x32\x18.livekit.EncryptedPacketH\x00\x12\x10\n\x08sequence\x18\x10 \x01(\r\x12\x17\n\x0fparticipant_sid\x18\x11 \x01(\t\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"|\n\x0f\x45ncryptedPacket\x12\x31\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\n\n\x02iv\x18\x02 \x01(\x0c\x12\x11\n\tkey_index\x18\x03 \x01(\r\x12\x17\n\x0f\x65ncrypted_value\x18\x04 \x01(\x0c\"\x91\x03\n\x16\x45ncryptedPacketPayload\x12#\n\x04user\x18\x01 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12,\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\x04 \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x05 \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x06 \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\x07 \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x08 \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\t \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x42\x07\n\x05value\"A\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo:\x02\x18\x01\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"\x89\x01\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x1d\n\x08track_id\x18\x03 \x01(\tB\x0b\x9a\xec,\x07trackID\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"\x83\x01\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\x12\x1a\n\x12\x63ompressed_payload\x18\x06 \x01(\x0c\"+\n\x06RpcAck\x12!\n\nrequest_id\x18\x01 \x01(\tB\r\x9a\xec,\trequestID\"\x8e\x01\n\x0bRpcResponse\x12!\n\nrequest_id\x18\x01 \x01(\tB\r\x9a\xec,\trequestID\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x12\x1c\n\x12\x63ompressed_payload\x18\x04 \x01(\x0cH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xda\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x1b\n\x07node_id\x18\x05 \x01(\tB\n\x9a\xec,\x06nodeID\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xba\x03\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\x12\x17\n\x0f\x63lient_protocol\x18\x0c \x01(\x05\"\xb3\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\x12\n\n\x06UNREAL\x10\r\x12\t\n\x05\x45SP32\x10\x0e\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xce\x01\n\x0eVP8MungerState\x12\x31\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x42\x14\x9a\xec,\x10\x65xtLastPictureID\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\x8c\x08\n\nDataStream\x1a\xb9\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12/\n\x12reply_to_stream_id\x18\x03 \x01(\tB\x13\x9a\xec,\x0freplyToStreamID\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 \x01(\t\x1a\xb4\x03\n\x06Header\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x35\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.TypeB\x02\x18\x01\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.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_headerB\x0f\n\r_total_length\x1a{\n\x05\x43hunk\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x13\n\x02iv\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xae\x01\n\x07Trailer\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.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\">\n\x0c\x46ilterParams\x12\x16\n\x0einclude_events\x18\x01 \x03(\t\x12\x16\n\x0e\x65xclude_events\x18\x02 \x03(\t\"_\n\rWebhookConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0bsigning_key\x18\x02 \x01(\t\x12,\n\rfilter_params\x18\x03 \x01(\x0b\x32\x15.livekit.FilterParams\"6\n\x14SubscribedAudioCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08*;\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02\x12\n\n\x06\x41\x43_MP3\x10\x03*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*I\n\x11\x42\x61\x63kupCodecPolicy\x12\x15\n\x11PREFER_REGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01\x12\x0e\n\nREGRESSION\x10\x02*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*B\n\x14\x44\x61taTrackExtensionID\x12\x10\n\x0c\x44TEI_INVALID\x10\x00\x12\x18\n\x14\x44TEI_PARTICIPANT_SID\x10\x01*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xe8\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r\x12\x16\n\x12\x43ONNECTION_TIMEOUT\x10\x0e\x12\x11\n\rMEDIA_FAILURE\x10\x0f\x12\x0f\n\x0b\x41GENT_ERROR\x10\x10*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xbd\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x12\x18\n\x14TF_PRECONNECT_BUFFER\x10\x06*.\n\x14PacketTrailerFeature\x12\x16\n\x12PTF_USER_TIMESTAMP\x10\x00\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15livekit_metrics.proto\x1a\x14logger/options.proto\":\n\nPagination\x12\x1d\n\x08\x61\x66ter_id\x18\x01 \x01(\tB\x0b\x9a\xec,\x07\x61\x66terID\x12\r\n\x05limit\x18\x02 \x01(\x05\" \n\x0fTokenPagination\x12\r\n\x05token\x18\x01 \x01(\t\"E\n\nListUpdate\x12\x0b\n\x03set\x18\x01 \x03(\t\x12\x0b\n\x03\x61\x64\x64\x18\x02 \x03(\t\x12\x0e\n\x06remove\x18\x03 \x03(\t\x12\r\n\x05\x63lear\x18\x04 \x01(\x08\"\x8b\x03\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x0e \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x18\n\x10\x63reation_time_ms\x18\x0f \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x38\n\x08metadata\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\xa7\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\x12 \n\x18\x63\x61n_manage_agent_session\x18\r \x01(\x08\"\xed\x07\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x12\n\x04name\x18\t \x01(\tB\x04\x88\xec,\x01\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12\x64\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\x39\n\x0ckind_details\x18\x12 \x03(\x0e\x32#.livekit.ParticipantInfo.KindDetail\x12+\n\x0b\x64\x61ta_tracks\x18\x13 \x03(\x0b\x32\x16.livekit.DataTrackInfo\x12\x17\n\x0f\x63lient_protocol\x18\x14 \x01(\x05\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"\\\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\x12\r\n\tCONNECTOR\x10\x07\x12\n\n\x06\x42RIDGE\x10\x08\"k\n\nKindDetail\x12\x0f\n\x0b\x43LOUD_AGENT\x10\x00\x12\r\n\tFORWARDED\x10\x01\x12\x16\n\x12\x43ONNECTOR_WHATSAPP\x10\x02\x12\x14\n\x10\x43ONNECTOR_TWILIO\x10\x03\x12\x0f\n\x0b\x42RIDGE_RTSP\x10\x04\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"\xab\x01\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\x12\x0f\n\x07sdp_cid\x18\x06 \x01(\t\"\x84\x05\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x12\n\x04name\x18\x03 \x01(\tB\x04\x88\xec,\x01\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x15\n\tsimulcast\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12\'\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayerB\x02\x18\x01\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x12\n\x06stereo\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12>\n\x17packet_trailer_features\x18\x15 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"l\n\rDataTrackInfo\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0b\n\x03sid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12,\n\nencryption\x18\x04 \x01(\x0e\x32\x18.livekit.Encryption.Type\"f\n DataTrackExtensionParticipantSid\x12)\n\x02id\x18\x01 \x01(\x0e\x32\x1d.livekit.DataTrackExtensionID\x12\x17\n\x0fparticipant_sid\x18\x02 \x01(\t\"F\n\x1c\x44\x61taTrackSubscriptionOptions\x12\x17\n\ntarget_fps\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\r\n\x0b_target_fps\"\xc4\x02\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\x12\x15\n\rspatial_layer\x18\x06 \x01(\x05\x12\x0b\n\x03rid\x18\x07 \x01(\t\x12\x13\n\x0brepair_ssrc\x18\x08 \x01(\r\"\x96\x01\n\x04Mode\x12\x0f\n\x0bMODE_UNUSED\x10\x00\x12 \n\x1cONE_SPATIAL_LAYER_PER_STREAM\x10\x01\x12&\n\"MULTIPLE_SPATIAL_LAYERS_PER_STREAM\x10\x02\x12\x33\n/ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR\x10\x03\"\xa7\x06\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x12\x34\n\x10\x65ncrypted_packet\x18\x12 \x01(\x0b\x32\x18.livekit.EncryptedPacketH\x00\x12\x10\n\x08sequence\x18\x10 \x01(\r\x12\x17\n\x0fparticipant_sid\x18\x11 \x01(\t\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"|\n\x0f\x45ncryptedPacket\x12\x31\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\n\n\x02iv\x18\x02 \x01(\x0c\x12\x11\n\tkey_index\x18\x03 \x01(\r\x12\x17\n\x0f\x65ncrypted_value\x18\x04 \x01(\x0c\"\x91\x03\n\x16\x45ncryptedPacketPayload\x12#\n\x04user\x18\x01 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12,\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\x04 \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x05 \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x06 \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\x07 \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x08 \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\t \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x42\x07\n\x05value\"A\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo:\x02\x18\x01\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"\x89\x01\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x1d\n\x08track_id\x18\x03 \x01(\tB\x0b\x9a\xec,\x07trackID\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"\x83\x01\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\x12\x1a\n\x12\x63ompressed_payload\x18\x06 \x01(\x0c\"+\n\x06RpcAck\x12!\n\nrequest_id\x18\x01 \x01(\tB\r\x9a\xec,\trequestID\"\x8e\x01\n\x0bRpcResponse\x12!\n\nrequest_id\x18\x01 \x01(\tB\r\x9a\xec,\trequestID\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x12\x1c\n\x12\x63ompressed_payload\x18\x04 \x01(\x0cH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xda\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x1b\n\x07node_id\x18\x05 \x01(\tB\n\x9a\xec,\x06nodeID\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xba\x03\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\x12\x17\n\x0f\x63lient_protocol\x18\x0c \x01(\x05\"\xb3\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\x12\n\n\x06UNREAL\x10\r\x12\t\n\x05\x45SP32\x10\x0e\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xce\x01\n\x0eVP8MungerState\x12\x31\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x42\x14\x9a\xec,\x10\x65xtLastPictureID\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\x8c\x08\n\nDataStream\x1a\xb9\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12/\n\x12reply_to_stream_id\x18\x03 \x01(\tB\x13\x9a\xec,\x0freplyToStreamID\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 \x01(\t\x1a\xb4\x03\n\x06Header\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x35\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.TypeB\x02\x18\x01\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.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_headerB\x0f\n\r_total_length\x1a{\n\x05\x43hunk\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x13\n\x02iv\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xae\x01\n\x07Trailer\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.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\">\n\x0c\x46ilterParams\x12\x16\n\x0einclude_events\x18\x01 \x03(\t\x12\x16\n\x0e\x65xclude_events\x18\x02 \x03(\t\"_\n\rWebhookConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0bsigning_key\x18\x02 \x01(\t\x12,\n\rfilter_params\x18\x03 \x01(\x0b\x32\x15.livekit.FilterParams\"6\n\x14SubscribedAudioCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08*;\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02\x12\n\n\x06\x41\x43_MP3\x10\x03*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*I\n\x11\x42\x61\x63kupCodecPolicy\x12\x15\n\x11PREFER_REGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01\x12\x0e\n\nREGRESSION\x10\x02*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*B\n\x14\x44\x61taTrackExtensionID\x12\x10\n\x0c\x44TEI_INVALID\x10\x00\x12\x18\n\x14\x44TEI_PARTICIPANT_SID\x10\x01*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xe8\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r\x12\x16\n\x12\x43ONNECTION_TIMEOUT\x10\x0e\x12\x11\n\rMEDIA_FAILURE\x10\x0f\x12\x0f\n\x0b\x41GENT_ERROR\x10\x10*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xbd\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x12\x18\n\x14TF_PRECONNECT_BUFFER\x10\x06*@\n\x14PacketTrailerFeature\x12\x16\n\x12PTF_USER_TIMESTAMP\x10\x00\x12\x10\n\x0cPTF_FRAME_ID\x10\x01\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -122,7 +122,7 @@ _globals['_AUDIOTRACKFEATURE']._serialized_start=12432 _globals['_AUDIOTRACKFEATURE']._serialized_end=12621 _globals['_PACKETTRAILERFEATURE']._serialized_start=12623 - _globals['_PACKETTRAILERFEATURE']._serialized_end=12669 + _globals['_PACKETTRAILERFEATURE']._serialized_end=12687 _globals['_PAGINATION']._serialized_start=111 _globals['_PAGINATION']._serialized_end=169 _globals['_TOKENPAGINATION']._serialized_start=171 diff --git a/livekit-protocol/livekit/protocol/models.pyi b/livekit-protocol/livekit/protocol/models.pyi index deb276c8..a563c530 100644 --- a/livekit-protocol/livekit/protocol/models.pyi +++ b/livekit-protocol/livekit/protocol/models.pyi @@ -121,6 +121,7 @@ class AudioTrackFeature(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): class PacketTrailerFeature(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () PTF_USER_TIMESTAMP: _ClassVar[PacketTrailerFeature] + PTF_FRAME_ID: _ClassVar[PacketTrailerFeature] DEFAULT_AC: AudioCodec OPUS: AudioCodec AAC: AudioCodec @@ -189,6 +190,7 @@ TF_NOISE_SUPPRESSION: AudioTrackFeature TF_ENHANCED_NOISE_CANCELLATION: AudioTrackFeature TF_PRECONNECT_BUFFER: AudioTrackFeature PTF_USER_TIMESTAMP: PacketTrailerFeature +PTF_FRAME_ID: PacketTrailerFeature class Pagination(_message.Message): __slots__ = ("after_id", "limit") diff --git a/livekit-protocol/livekit/protocol/room.py b/livekit-protocol/livekit/protocol/room.py index 40f00512..28359b37 100644 --- a/livekit-protocol/livekit/protocol/room.py +++ b/livekit-protocol/livekit/protocol/room.py @@ -18,7 +18,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x14logger/options.proto\"\x8e\x03\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0broom_preset\x18\x0c \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\n \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x1b\n\x07node_id\x18\x04 \x01(\tB\n\x9a\xec,\x06nodeID\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12\x16\n\x0ereplay_enabled\x18\r \x01(\x08\x12*\n\x06\x61gents\x18\x0e \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\";\n\tRoomAgent\x12.\n\ndispatches\x18\x01 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"9\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\x80\x03\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x34\n\x04name\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12m\n\nattributes\x18\x06 \x03(\x0b\x32\x31.livekit.UpdateParticipantRequest.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xc0\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05nonce\x18\x07 \x01(\x0c\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\"c\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x38\n\x08metadata\x18\x02 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\"\xc4\x02\n\x11RoomConfiguration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x38\n\x08metadata\x18\x0b \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12#\n\x06\x65gress\x18\x05 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12*\n\x06\x61gents\x18\n \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"U\n\x19\x46orwardParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x1c\n\x1a\x46orwardParticipantResponse\"R\n\x16MoveParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x19\n\x17MoveParticipantResponse\"}\n\x11PerformRpcRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x1c\n\x14\x64\x65stination_identity\x18\x02 \x01(\t\x12\x0e\n\x06method\x18\x03 \x01(\t\x12\x0f\n\x07payload\x18\x04 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x05 \x01(\r\"%\n\x12PerformRpcResponse\x12\x0f\n\x07payload\x18\x01 \x01(\t2\xe2\x08\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.Room\x12]\n\x12\x46orwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponse\x12T\n\x0fMoveParticipant\x12\x1f.livekit.MoveParticipantRequest\x1a .livekit.MoveParticipantResponse\x12\x45\n\nPerformRpc\x12\x1a.livekit.PerformRpcRequest\x1a\x1b.livekit.PerformRpcResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x14logger/options.proto\"\x8e\x03\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0broom_preset\x18\x0c \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\n \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x1b\n\x07node_id\x18\x04 \x01(\tB\n\x9a\xec,\x06nodeID\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12\x16\n\x0ereplay_enabled\x18\r \x01(\x08\x12*\n\x06\x61gents\x18\x0e \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\";\n\tRoomAgent\x12.\n\ndispatches\x18\x01 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"9\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\x80\x03\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x34\n\x04name\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12m\n\nattributes\x18\x06 \x03(\x0b\x32\x31.livekit.UpdateParticipantRequest.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xc0\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05nonce\x18\x07 \x01(\x0c\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\"c\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x38\n\x08metadata\x18\x02 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\"\xa5\x03\n\x11RoomConfiguration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x38\n\x08metadata\x18\x0b \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12#\n\x06\x65gress\x18\x05 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12*\n\x06\x61gents\x18\n \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x32\n\x04tags\x18\x0c \x03(\x0b\x32$.livekit.RoomConfiguration.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"U\n\x19\x46orwardParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x1c\n\x1a\x46orwardParticipantResponse\"R\n\x16MoveParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x19\n\x17MoveParticipantResponse\"}\n\x11PerformRpcRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x1c\n\x14\x64\x65stination_identity\x18\x02 \x01(\t\x12\x0e\n\x06method\x18\x03 \x01(\t\x12\x0f\n\x07payload\x18\x04 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x05 \x01(\r\"%\n\x12PerformRpcResponse\x12\x0f\n\x07payload\x18\x01 \x01(\t2\xe2\x08\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.Room\x12]\n\x12\x46orwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponse\x12T\n\x0fMoveParticipant\x12\x1f.livekit.MoveParticipantRequest\x1a .livekit.MoveParticipantResponse\x12\x45\n\nPerformRpc\x12\x1a.livekit.PerformRpcRequest\x1a\x1b.livekit.PerformRpcResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,6 +42,8 @@ _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._serialized_options = b'\030\001' _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._options = None _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_ROOMCONFIGURATION_TAGSENTRY']._options = None + _globals['_ROOMCONFIGURATION_TAGSENTRY']._serialized_options = b'8\001' _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._options = None _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATEROOMREQUEST']._serialized_start=128 @@ -85,19 +87,21 @@ _globals['_UPDATEROOMMETADATAREQUEST']._serialized_start=2039 _globals['_UPDATEROOMMETADATAREQUEST']._serialized_end=2138 _globals['_ROOMCONFIGURATION']._serialized_start=2141 - _globals['_ROOMCONFIGURATION']._serialized_end=2465 - _globals['_FORWARDPARTICIPANTREQUEST']._serialized_start=2467 - _globals['_FORWARDPARTICIPANTREQUEST']._serialized_end=2552 - _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_start=2554 - _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_end=2582 - _globals['_MOVEPARTICIPANTREQUEST']._serialized_start=2584 - _globals['_MOVEPARTICIPANTREQUEST']._serialized_end=2666 - _globals['_MOVEPARTICIPANTRESPONSE']._serialized_start=2668 - _globals['_MOVEPARTICIPANTRESPONSE']._serialized_end=2693 - _globals['_PERFORMRPCREQUEST']._serialized_start=2695 - _globals['_PERFORMRPCREQUEST']._serialized_end=2820 - _globals['_PERFORMRPCRESPONSE']._serialized_start=2822 - _globals['_PERFORMRPCRESPONSE']._serialized_end=2859 - _globals['_ROOMSERVICE']._serialized_start=2862 - _globals['_ROOMSERVICE']._serialized_end=3984 + _globals['_ROOMCONFIGURATION']._serialized_end=2562 + _globals['_ROOMCONFIGURATION_TAGSENTRY']._serialized_start=2519 + _globals['_ROOMCONFIGURATION_TAGSENTRY']._serialized_end=2562 + _globals['_FORWARDPARTICIPANTREQUEST']._serialized_start=2564 + _globals['_FORWARDPARTICIPANTREQUEST']._serialized_end=2649 + _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_start=2651 + _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_end=2679 + _globals['_MOVEPARTICIPANTREQUEST']._serialized_start=2681 + _globals['_MOVEPARTICIPANTREQUEST']._serialized_end=2763 + _globals['_MOVEPARTICIPANTRESPONSE']._serialized_start=2765 + _globals['_MOVEPARTICIPANTRESPONSE']._serialized_end=2790 + _globals['_PERFORMRPCREQUEST']._serialized_start=2792 + _globals['_PERFORMRPCREQUEST']._serialized_end=2917 + _globals['_PERFORMRPCRESPONSE']._serialized_start=2919 + _globals['_PERFORMRPCRESPONSE']._serialized_end=2956 + _globals['_ROOMSERVICE']._serialized_start=2959 + _globals['_ROOMSERVICE']._serialized_end=4081 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/room.pyi b/livekit-protocol/livekit/protocol/room.pyi index cbf2e215..ddeb0a0c 100644 --- a/livekit-protocol/livekit/protocol/room.pyi +++ b/livekit-protocol/livekit/protocol/room.pyi @@ -191,7 +191,14 @@ class UpdateRoomMetadataRequest(_message.Message): def __init__(self, room: _Optional[str] = ..., metadata: _Optional[str] = ...) -> None: ... class RoomConfiguration(_message.Message): - __slots__ = ("name", "empty_timeout", "departure_timeout", "max_participants", "metadata", "egress", "min_playout_delay", "max_playout_delay", "sync_streams", "agents") + __slots__ = ("name", "empty_timeout", "departure_timeout", "max_participants", "metadata", "egress", "min_playout_delay", "max_playout_delay", "sync_streams", "agents", "tags") + class TagsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... NAME_FIELD_NUMBER: _ClassVar[int] EMPTY_TIMEOUT_FIELD_NUMBER: _ClassVar[int] DEPARTURE_TIMEOUT_FIELD_NUMBER: _ClassVar[int] @@ -202,6 +209,7 @@ class RoomConfiguration(_message.Message): MAX_PLAYOUT_DELAY_FIELD_NUMBER: _ClassVar[int] SYNC_STREAMS_FIELD_NUMBER: _ClassVar[int] AGENTS_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] name: str empty_timeout: int departure_timeout: int @@ -212,7 +220,8 @@ class RoomConfiguration(_message.Message): max_playout_delay: int sync_streams: bool agents: _containers.RepeatedCompositeFieldContainer[_agent_dispatch.RoomAgentDispatch] - def __init__(self, name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: bool = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ...) -> None: ... + tags: _containers.ScalarMap[str, str] + def __init__(self, name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: bool = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class ForwardParticipantRequest(_message.Message): __slots__ = ("room", "identity", "destination_room") From 8216bafc724810512a9691a599500c4ca57b80b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 8 Apr 2026 14:06:53 -0700 Subject: [PATCH 3/5] update protocol and regenerate protos - Pull latest protocol (f2fd0b2) - Export agent_dev from agent_pb/__init__.py (review fix) - Regenerate all proto files --- livekit-protocol/livekit/protocol/agent.py | 34 +-- livekit-protocol/livekit/protocol/agent.pyi | 9 +- .../livekit/protocol/agent_dispatch.py | 26 ++- .../livekit/protocol/agent_dispatch.pyi | 3 +- .../livekit/protocol/agent_pb/__init__.py | 2 +- .../livekit/protocol/agent_pb/agent_dev.py | 16 +- .../livekit/protocol/agent_pb/agent_dev.pyi | 5 +- .../protocol/agent_pb/agent_session.py | 28 ++- .../protocol/agent_pb/agent_session.pyi | 27 +-- .../livekit/protocol/agent_pb/agent_text.py | 24 ++- .../livekit/protocol/agent_pb/agent_text.pyi | 3 +- .../livekit/protocol/analytics.py | 78 ++++--- .../livekit/protocol/analytics.pyi | 23 +- .../livekit/protocol/connector.py | 16 +- .../livekit/protocol/connector_twilio.py | 24 ++- .../livekit/protocol/connector_twilio.pyi | 3 +- .../livekit/protocol/connector_whatsapp.py | 54 +++-- .../livekit/protocol/connector_whatsapp.pyi | 9 +- livekit-protocol/livekit/protocol/egress.py | 96 +++++---- livekit-protocol/livekit/protocol/egress.pyi | 33 +-- livekit-protocol/livekit/protocol/ingress.py | 46 ++-- livekit-protocol/livekit/protocol/ingress.pyi | 11 +- .../livekit/protocol/logger_pb/options.py | 16 +- livekit-protocol/livekit/protocol/metrics.py | 20 +- livekit-protocol/livekit/protocol/metrics.pyi | 13 +- livekit-protocol/livekit/protocol/models.py | 84 ++++---- livekit-protocol/livekit/protocol/models.pyi | 37 ++-- livekit-protocol/livekit/protocol/room.py | 36 ++-- livekit-protocol/livekit/protocol/room.pyi | 11 +- livekit-protocol/livekit/protocol/rtc.py | 54 +++-- livekit-protocol/livekit/protocol/rtc.pyi | 33 +-- livekit-protocol/livekit/protocol/sip.py | 202 +++++++++--------- livekit-protocol/livekit/protocol/sip.pyi | 23 +- livekit-protocol/livekit/protocol/webhook.py | 18 +- livekit-protocol/livekit/protocol/webhook.pyi | 3 +- livekit-protocol/protocol | 2 +- 36 files changed, 665 insertions(+), 457 deletions(-) diff --git a/livekit-protocol/livekit/protocol/agent.py b/livekit-protocol/livekit/protocol/agent.py index 9ff9c26a..a8c374c8 100644 --- a/livekit-protocol/livekit/protocol/agent.py +++ b/livekit-protocol/livekit/protocol/agent.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_agent.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_agent.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,26 +31,26 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_JOB'].fields_by_name['dispatch_id']._options = None + _globals['_JOB'].fields_by_name['dispatch_id']._loaded_options = None _globals['_JOB'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' - _globals['_JOB'].fields_by_name['namespace']._options = None + _globals['_JOB'].fields_by_name['namespace']._loaded_options = None _globals['_JOB'].fields_by_name['namespace']._serialized_options = b'\030\001' - _globals['_JOBSTATE'].fields_by_name['worker_id']._options = None + _globals['_JOBSTATE'].fields_by_name['worker_id']._loaded_options = None _globals['_JOBSTATE'].fields_by_name['worker_id']._serialized_options = b'\232\354,\010workerID' - _globals['_JOBSTATE'].fields_by_name['agent_id']._options = None + _globals['_JOBSTATE'].fields_by_name['agent_id']._loaded_options = None _globals['_JOBSTATE'].fields_by_name['agent_id']._serialized_options = b'\232\354,\007agentID' - _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._options = None + _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._loaded_options = None _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._serialized_options = b'\232\354,\010workerID' - _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._options = None + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._options = None + _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._loaded_options = None _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' - _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._options = None + _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._loaded_options = None _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' - _globals['_JOBTERMINATION'].fields_by_name['job_id']._options = None + _globals['_JOBTERMINATION'].fields_by_name['job_id']._loaded_options = None _globals['_JOBTERMINATION'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' _globals['_JOBTYPE']._serialized_start=2580 _globals['_JOBTYPE']._serialized_end=2640 diff --git a/livekit-protocol/livekit/protocol/agent.pyi b/livekit-protocol/livekit/protocol/agent.pyi index a0a7901b..223a272c 100644 --- a/livekit-protocol/livekit/protocol/agent.pyi +++ b/livekit-protocol/livekit/protocol/agent.pyi @@ -4,7 +4,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -57,7 +58,7 @@ class Job(_message.Message): agent_name: str state: JobState enable_recording: bool - def __init__(self, id: _Optional[str] = ..., dispatch_id: _Optional[str] = ..., type: _Optional[_Union[JobType, str]] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., namespace: _Optional[str] = ..., metadata: _Optional[str] = ..., agent_name: _Optional[str] = ..., state: _Optional[_Union[JobState, _Mapping]] = ..., enable_recording: bool = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., dispatch_id: _Optional[str] = ..., type: _Optional[_Union[JobType, str]] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., namespace: _Optional[str] = ..., metadata: _Optional[str] = ..., agent_name: _Optional[str] = ..., state: _Optional[_Union[JobState, _Mapping]] = ..., enable_recording: _Optional[bool] = ...) -> None: ... class JobState(_message.Message): __slots__ = ("status", "error", "started_at", "ended_at", "updated_at", "participant_identity", "worker_id", "agent_id") @@ -171,7 +172,7 @@ class AvailabilityRequest(_message.Message): RESUMING_FIELD_NUMBER: _ClassVar[int] job: Job resuming: bool - def __init__(self, job: _Optional[_Union[Job, _Mapping]] = ..., resuming: bool = ...) -> None: ... + def __init__(self, job: _Optional[_Union[Job, _Mapping]] = ..., resuming: _Optional[bool] = ...) -> None: ... class AvailabilityResponse(_message.Message): __slots__ = ("job_id", "available", "supports_resume", "terminate", "participant_name", "participant_identity", "participant_metadata", "participant_attributes") @@ -198,7 +199,7 @@ class AvailabilityResponse(_message.Message): participant_identity: str participant_metadata: str participant_attributes: _containers.ScalarMap[str, str] - def __init__(self, job_id: _Optional[str] = ..., available: bool = ..., supports_resume: bool = ..., terminate: bool = ..., participant_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ...) -> None: ... + def __init__(self, job_id: _Optional[str] = ..., available: _Optional[bool] = ..., supports_resume: _Optional[bool] = ..., terminate: _Optional[bool] = ..., participant_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ...) -> None: ... class UpdateJobStatus(_message.Message): __slots__ = ("job_id", "status", "error") diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.py b/livekit-protocol/livekit/protocol/agent_dispatch.py index df86bd23..d2e7d80e 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.py +++ b/livekit-protocol/livekit/protocol/agent_dispatch.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_agent_dispatch.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_agent_dispatch.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,18 +31,18 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent_dispatch', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._options = None + _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' - _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._options = None + _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._loaded_options = None _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' - _globals['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._options = None + _globals['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._loaded_options = None _globals['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' - _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._options = None + _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._loaded_options = None _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' - _globals['_AGENTDISPATCH'].fields_by_name['metadata']._options = None + _globals['_AGENTDISPATCH'].fields_by_name['metadata']._loaded_options = None _globals['_AGENTDISPATCH'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' _globals['_JOBRESTARTPOLICY']._serialized_start=852 _globals['_JOBRESTARTPOLICY']._serialized_end=905 diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.pyi b/livekit-protocol/livekit/protocol/agent_dispatch.pyi index 35ecdd48..adfae236 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.pyi +++ b/livekit-protocol/livekit/protocol/agent_dispatch.pyi @@ -4,7 +4,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor diff --git a/livekit-protocol/livekit/protocol/agent_pb/__init__.py b/livekit-protocol/livekit/protocol/agent_pb/__init__.py index 39847bf8..1bb98552 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/__init__.py +++ b/livekit-protocol/livekit/protocol/agent_pb/__init__.py @@ -1 +1 @@ -from . import agent_session, agent_text \ No newline at end of file +from . import agent_dev, agent_session, agent_text \ No newline at end of file diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py index 215aa7a4..e01b17c3 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: agent/livekit_agent_dev.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'agent/livekit_agent_dev.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +29,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_dev', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent' _globals['_AGENTDEVMESSAGE']._serialized_start=49 _globals['_AGENTDEVMESSAGE']._serialized_end=237 diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi index 2929222f..b7f4c5dc 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi @@ -1,7 +1,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -41,4 +42,4 @@ class RunningAgentJobInfo(_message.Message): token: str worker_id: str mock_job: bool - def __init__(self, job: _Optional[bytes] = ..., accept_name: _Optional[str] = ..., accept_identity: _Optional[str] = ..., accept_metadata: _Optional[str] = ..., url: _Optional[str] = ..., token: _Optional[str] = ..., worker_id: _Optional[str] = ..., mock_job: bool = ...) -> None: ... + def __init__(self, job: _Optional[bytes] = ..., accept_name: _Optional[str] = ..., accept_identity: _Optional[str] = ..., accept_metadata: _Optional[str] = ..., url: _Optional[str] = ..., token: _Optional[str] = ..., worker_id: _Optional[str] = ..., mock_job: _Optional[bool] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py index 1e09a965..4b53718d 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: agent/livekit_agent_session.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'agent/livekit_agent_session.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -22,20 +32,20 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_session', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent' - _globals['_CHATMESSAGE_EXTRAENTRY']._options = None + _globals['_CHATMESSAGE_EXTRAENTRY']._loaded_options = None _globals['_CHATMESSAGE_EXTRAENTRY']._serialized_options = b'8\001' - _globals['_FUNCTIONCALL'].fields_by_name['call_id']._options = None + _globals['_FUNCTIONCALL'].fields_by_name['call_id']._loaded_options = None _globals['_FUNCTIONCALL'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._options = None + _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._loaded_options = None _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._options = None + _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._loaded_options = None _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._serialized_options = b'\232\354,\noldAgentID' - _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._options = None + _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._loaded_options = None _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._serialized_options = b'\232\354,\nnewAgentID' - _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._options = None + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._loaded_options = None _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_options = b'8\001' _globals['_CHATROLE']._serialized_start=7644 _globals['_CHATROLE']._serialized_end=7706 diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi index bc8942d2..df5cfd85 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi @@ -1,3 +1,5 @@ +import datetime + from google.protobuf import struct_pb2 as _struct_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 from ..logger_pb import options as _options_pb2 @@ -5,7 +7,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -60,7 +63,7 @@ class MetricsReport(_message.Message): llm_node_ttft: float tts_node_ttfb: float e2e_latency: float - def __init__(self, started_speaking_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., stopped_speaking_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., transcription_delay: _Optional[float] = ..., end_of_turn_delay: _Optional[float] = ..., on_user_turn_completed_delay: _Optional[float] = ..., llm_node_ttft: _Optional[float] = ..., tts_node_ttfb: _Optional[float] = ..., e2e_latency: _Optional[float] = ...) -> None: ... + def __init__(self, started_speaking_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., stopped_speaking_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., transcription_delay: _Optional[float] = ..., end_of_turn_delay: _Optional[float] = ..., on_user_turn_completed_delay: _Optional[float] = ..., llm_node_ttft: _Optional[float] = ..., tts_node_ttfb: _Optional[float] = ..., e2e_latency: _Optional[float] = ...) -> None: ... class ChatMessage(_message.Message): __slots__ = ("id", "role", "content", "interrupted", "transcript_confidence", "extra", "metrics", "created_at") @@ -92,7 +95,7 @@ class ChatMessage(_message.Message): extra: _containers.ScalarMap[str, str] metrics: MetricsReport created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., role: _Optional[_Union[ChatRole, str]] = ..., content: _Optional[_Iterable[_Union[ChatMessage.ChatContent, _Mapping]]] = ..., interrupted: bool = ..., transcript_confidence: _Optional[float] = ..., extra: _Optional[_Mapping[str, str]] = ..., metrics: _Optional[_Union[MetricsReport, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., role: _Optional[_Union[ChatRole, str]] = ..., content: _Optional[_Iterable[_Union[ChatMessage.ChatContent, _Mapping]]] = ..., interrupted: _Optional[bool] = ..., transcript_confidence: _Optional[float] = ..., extra: _Optional[_Mapping[str, str]] = ..., metrics: _Optional[_Union[MetricsReport, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class FunctionCall(_message.Message): __slots__ = ("id", "call_id", "arguments", "name", "created_at") @@ -106,7 +109,7 @@ class FunctionCall(_message.Message): arguments: str name: str created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., call_id: _Optional[str] = ..., arguments: _Optional[str] = ..., name: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., call_id: _Optional[str] = ..., arguments: _Optional[str] = ..., name: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class FunctionCallOutput(_message.Message): __slots__ = ("id", "name", "call_id", "output", "is_error", "created_at") @@ -122,7 +125,7 @@ class FunctionCallOutput(_message.Message): output: str is_error: bool created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., call_id: _Optional[str] = ..., output: _Optional[str] = ..., is_error: bool = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., call_id: _Optional[str] = ..., output: _Optional[str] = ..., is_error: _Optional[bool] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class AgentHandoff(_message.Message): __slots__ = ("id", "old_agent_id", "new_agent_id", "created_at") @@ -134,7 +137,7 @@ class AgentHandoff(_message.Message): old_agent_id: str new_agent_id: str created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., old_agent_id: _Optional[str] = ..., new_agent_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., old_agent_id: _Optional[str] = ..., new_agent_id: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class AgentConfigUpdate(_message.Message): __slots__ = ("id", "instructions", "tools_added", "tools_removed", "created_at") @@ -148,7 +151,7 @@ class AgentConfigUpdate(_message.Message): tools_added: _containers.RepeatedScalarFieldContainer[str] tools_removed: _containers.RepeatedScalarFieldContainer[str] created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., instructions: _Optional[str] = ..., tools_added: _Optional[_Iterable[str]] = ..., tools_removed: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., instructions: _Optional[str] = ..., tools_added: _Optional[_Iterable[str]] = ..., tools_removed: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class ChatContext(_message.Message): __slots__ = ("items",) @@ -288,7 +291,7 @@ class AgentSessionEvent(_message.Message): transcript: str is_final: bool language: str - def __init__(self, transcript: _Optional[str] = ..., is_final: bool = ..., language: _Optional[str] = ...) -> None: ... + def __init__(self, transcript: _Optional[str] = ..., is_final: _Optional[bool] = ..., language: _Optional[str] = ...) -> None: ... class FunctionToolsExecuted(_message.Message): __slots__ = ("function_calls", "function_call_outputs") FUNCTION_CALLS_FIELD_NUMBER: _ClassVar[int] @@ -311,7 +314,7 @@ class AgentSessionEvent(_message.Message): overlap_started_at: _timestamp_pb2.Timestamp detection_delay: float detected_at: _timestamp_pb2.Timestamp - def __init__(self, is_interruption: bool = ..., overlap_started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., detection_delay: _Optional[float] = ..., detected_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, is_interruption: _Optional[bool] = ..., overlap_started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., detection_delay: _Optional[float] = ..., detected_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SessionUsageUpdated(_message.Message): __slots__ = ("usage",) USAGE_FIELD_NUMBER: _ClassVar[int] @@ -335,7 +338,7 @@ class AgentSessionEvent(_message.Message): error: AgentSessionEvent.Error overlapping_speech: AgentSessionEvent.OverlappingSpeech session_usage_updated: AgentSessionEvent.SessionUsageUpdated - def __init__(self, created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., agent_state_changed: _Optional[_Union[AgentSessionEvent.AgentStateChanged, _Mapping]] = ..., user_state_changed: _Optional[_Union[AgentSessionEvent.UserStateChanged, _Mapping]] = ..., conversation_item_added: _Optional[_Union[AgentSessionEvent.ConversationItemAdded, _Mapping]] = ..., user_input_transcribed: _Optional[_Union[AgentSessionEvent.UserInputTranscribed, _Mapping]] = ..., function_tools_executed: _Optional[_Union[AgentSessionEvent.FunctionToolsExecuted, _Mapping]] = ..., error: _Optional[_Union[AgentSessionEvent.Error, _Mapping]] = ..., overlapping_speech: _Optional[_Union[AgentSessionEvent.OverlappingSpeech, _Mapping]] = ..., session_usage_updated: _Optional[_Union[AgentSessionEvent.SessionUsageUpdated, _Mapping]] = ...) -> None: ... + def __init__(self, created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., agent_state_changed: _Optional[_Union[AgentSessionEvent.AgentStateChanged, _Mapping]] = ..., user_state_changed: _Optional[_Union[AgentSessionEvent.UserStateChanged, _Mapping]] = ..., conversation_item_added: _Optional[_Union[AgentSessionEvent.ConversationItemAdded, _Mapping]] = ..., user_input_transcribed: _Optional[_Union[AgentSessionEvent.UserInputTranscribed, _Mapping]] = ..., function_tools_executed: _Optional[_Union[AgentSessionEvent.FunctionToolsExecuted, _Mapping]] = ..., error: _Optional[_Union[AgentSessionEvent.Error, _Mapping]] = ..., overlapping_speech: _Optional[_Union[AgentSessionEvent.OverlappingSpeech, _Mapping]] = ..., session_usage_updated: _Optional[_Union[AgentSessionEvent.SessionUsageUpdated, _Mapping]] = ...) -> None: ... class SessionRequest(_message.Message): __slots__ = ("request_id", "ping", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage") @@ -425,7 +428,7 @@ class SessionResponse(_message.Message): agent_id: str options: _containers.ScalarMap[str, str] created_at: _timestamp_pb2.Timestamp - def __init__(self, agent_state: _Optional[_Union[AgentState, str]] = ..., user_state: _Optional[_Union[UserState, str]] = ..., agent_id: _Optional[str] = ..., options: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, agent_state: _Optional[_Union[AgentState, str]] = ..., user_state: _Optional[_Union[UserState, str]] = ..., agent_id: _Optional[str] = ..., options: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class GetRTCStatsResponse(_message.Message): __slots__ = ("publisher_stats", "subscriber_stats") PUBLISHER_STATS_FIELD_NUMBER: _ClassVar[int] @@ -439,7 +442,7 @@ class SessionResponse(_message.Message): CREATED_AT_FIELD_NUMBER: _ClassVar[int] usage: AgentSessionUsage created_at: _timestamp_pb2.Timestamp - def __init__(self, usage: _Optional[_Union[AgentSessionUsage, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, usage: _Optional[_Union[AgentSessionUsage, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... REQUEST_ID_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] PONG_FIELD_NUMBER: _ClassVar[int] diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_text.py b/livekit-protocol/livekit/protocol/agent_pb/agent_text.py index 4f569b84..dc628bad 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_text.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_text.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: agent/livekit_agent_text.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'agent/livekit_agent_text.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,16 +31,16 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_text', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_TEXTMESSAGEREQUEST'].fields_by_name['message_id']._options = None + _globals['_TEXTMESSAGEREQUEST'].fields_by_name['message_id']._loaded_options = None _globals['_TEXTMESSAGEREQUEST'].fields_by_name['message_id']._serialized_options = b'\232\354,\tmessageID' - _globals['_TEXTMESSAGEREQUEST'].fields_by_name['session_id']._options = None + _globals['_TEXTMESSAGEREQUEST'].fields_by_name['session_id']._loaded_options = None _globals['_TEXTMESSAGEREQUEST'].fields_by_name['session_id']._serialized_options = b'\232\354,\tsessionID' - _globals['_TEXTMESSAGERESPONSE'].fields_by_name['message_id']._options = None + _globals['_TEXTMESSAGERESPONSE'].fields_by_name['message_id']._loaded_options = None _globals['_TEXTMESSAGERESPONSE'].fields_by_name['message_id']._serialized_options = b'\232\354,\tmessageID' - _globals['_TEXTMESSAGERESPONSE'].fields_by_name['session_id']._options = None + _globals['_TEXTMESSAGERESPONSE'].fields_by_name['session_id']._loaded_options = None _globals['_TEXTMESSAGERESPONSE'].fields_by_name['session_id']._serialized_options = b'\232\354,\tsessionID' _globals['_TEXTMESSAGEERRORCODE']._serialized_start=1026 _globals['_TEXTMESSAGEERRORCODE']._serialized_end=1141 diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi index 2f2199f0..04acbbc9 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi @@ -3,7 +3,8 @@ from ..logger_pb import options as _options_pb2 from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor diff --git a/livekit-protocol/livekit/protocol/analytics.py b/livekit-protocol/livekit/protocol/analytics.py index 76d7f69e..aa491972 100644 --- a/livekit-protocol/livekit/protocol/analytics.py +++ b/livekit-protocol/livekit/protocol/analytics.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_analytics.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_analytics.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -26,70 +36,70 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'analytics', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_ANALYTICSSTAT'].fields_by_name['room_id']._options = None + _globals['_ANALYTICSSTAT'].fields_by_name['room_id']._loaded_options = None _globals['_ANALYTICSSTAT'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._options = None + _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._loaded_options = None _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._options = None + _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._loaded_options = None _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' - _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_ANALYTICSROOM'].fields_by_name['project_id']._options = None + _globals['_ANALYTICSROOM'].fields_by_name['project_id']._loaded_options = None _globals['_ANALYTICSROOM'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._options = None + _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._loaded_options = None _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._options = None + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._loaded_options = None _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._serialized_options = b'8\001' - _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._loaded_options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._loaded_options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._loaded_options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._loaded_options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_APICALLINFO'].fields_by_name['project_id']._options = None + _globals['_APICALLINFO'].fields_by_name['project_id']._loaded_options = None _globals['_APICALLINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_APICALLINFO'].fields_by_name['node_id']._options = None + _globals['_APICALLINFO'].fields_by_name['node_id']._loaded_options = None _globals['_APICALLINFO'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_APICALLINFO'].fields_by_name['room_id']._options = None + _globals['_APICALLINFO'].fields_by_name['room_id']._loaded_options = None _globals['_APICALLINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_APICALLINFO'].fields_by_name['participant_id']._options = None + _globals['_APICALLINFO'].fields_by_name['participant_id']._loaded_options = None _globals['_APICALLINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_APICALLINFO'].fields_by_name['track_id']._options = None + _globals['_APICALLINFO'].fields_by_name['track_id']._loaded_options = None _globals['_APICALLINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_WEBHOOKINFO'].fields_by_name['event_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['event_id']._loaded_options = None _globals['_WEBHOOKINFO'].fields_by_name['event_id']._serialized_options = b'\232\354,\007eventID' - _globals['_WEBHOOKINFO'].fields_by_name['project_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['project_id']._loaded_options = None _globals['_WEBHOOKINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_WEBHOOKINFO'].fields_by_name['room_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['room_id']._loaded_options = None _globals['_WEBHOOKINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._loaded_options = None _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_WEBHOOKINFO'].fields_by_name['track_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['track_id']._loaded_options = None _globals['_WEBHOOKINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._loaded_options = None _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._loaded_options = None _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' _globals['_STREAMTYPE']._serialized_start=5888 _globals['_STREAMTYPE']._serialized_end=5930 diff --git a/livekit-protocol/livekit/protocol/analytics.pyi b/livekit-protocol/livekit/protocol/analytics.pyi index d9805772..e19e4aa2 100644 --- a/livekit-protocol/livekit/protocol/analytics.pyi +++ b/livekit-protocol/livekit/protocol/analytics.pyi @@ -1,3 +1,5 @@ +import datetime + from google.protobuf import timestamp_pb2 as _timestamp_pb2 from . import models as _models from . import egress as _egress @@ -9,7 +11,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -163,7 +166,7 @@ class AnalyticsStream(_message.Message): start_time: _timestamp_pb2.Timestamp end_time: _timestamp_pb2.Timestamp packets_out_of_order: int - def __init__(self, ssrc: _Optional[int] = ..., primary_packets: _Optional[int] = ..., primary_bytes: _Optional[int] = ..., retransmit_packets: _Optional[int] = ..., retransmit_bytes: _Optional[int] = ..., padding_packets: _Optional[int] = ..., padding_bytes: _Optional[int] = ..., packets_lost: _Optional[int] = ..., frames: _Optional[int] = ..., rtt: _Optional[int] = ..., jitter: _Optional[int] = ..., nacks: _Optional[int] = ..., plis: _Optional[int] = ..., firs: _Optional[int] = ..., video_layers: _Optional[_Iterable[_Union[AnalyticsVideoLayer, _Mapping]]] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., packets_out_of_order: _Optional[int] = ...) -> None: ... + def __init__(self, ssrc: _Optional[int] = ..., primary_packets: _Optional[int] = ..., primary_bytes: _Optional[int] = ..., retransmit_packets: _Optional[int] = ..., retransmit_bytes: _Optional[int] = ..., padding_packets: _Optional[int] = ..., padding_bytes: _Optional[int] = ..., packets_lost: _Optional[int] = ..., frames: _Optional[int] = ..., rtt: _Optional[int] = ..., jitter: _Optional[int] = ..., nacks: _Optional[int] = ..., plis: _Optional[int] = ..., firs: _Optional[int] = ..., video_layers: _Optional[_Iterable[_Union[AnalyticsVideoLayer, _Mapping]]] = ..., start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., packets_out_of_order: _Optional[int] = ...) -> None: ... class AnalyticsStat(_message.Message): __slots__ = ("id", "analytics_key", "kind", "time_stamp", "node", "room_id", "room_name", "participant_id", "track_id", "score", "streams", "mime", "min_score", "median_score") @@ -195,7 +198,7 @@ class AnalyticsStat(_message.Message): mime: str min_score: float median_score: float - def __init__(self, id: _Optional[str] = ..., analytics_key: _Optional[str] = ..., kind: _Optional[_Union[StreamType, str]] = ..., time_stamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., node: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., score: _Optional[float] = ..., streams: _Optional[_Iterable[_Union[AnalyticsStream, _Mapping]]] = ..., mime: _Optional[str] = ..., min_score: _Optional[float] = ..., median_score: _Optional[float] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., analytics_key: _Optional[str] = ..., kind: _Optional[_Union[StreamType, str]] = ..., time_stamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., node: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., score: _Optional[float] = ..., streams: _Optional[_Iterable[_Union[AnalyticsStream, _Mapping]]] = ..., mime: _Optional[str] = ..., min_score: _Optional[float] = ..., median_score: _Optional[float] = ...) -> None: ... class AnalyticsStats(_message.Message): __slots__ = ("stats",) @@ -295,7 +298,7 @@ class AnalyticsEvent(_message.Message): report: ReportInfo api_call: APICallInfo webhook: WebhookInfo - def __init__(self, id: _Optional[str] = ..., type: _Optional[_Union[AnalyticsEventType, str]] = ..., timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_id: _Optional[str] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant_id: _Optional[str] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., track_id: _Optional[str] = ..., track: _Optional[_Union[_models.TrackInfo, _Mapping]] = ..., analytics_key: _Optional[str] = ..., client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., client_meta: _Optional[_Union[AnalyticsClientMeta, _Mapping]] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., max_subscribed_video_quality: _Optional[_Union[_models.VideoQuality, str]] = ..., publisher: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., mime: _Optional[str] = ..., egress: _Optional[_Union[_egress.EgressInfo, _Mapping]] = ..., ingress: _Optional[_Union[_ingress.IngressInfo, _Mapping]] = ..., error: _Optional[str] = ..., rtp_stats: _Optional[_Union[_models.RTPStats, _Mapping]] = ..., video_layer: _Optional[int] = ..., node_id: _Optional[str] = ..., sip_call_id: _Optional[str] = ..., sip_call: _Optional[_Union[_sip.SIPCallInfo, _Mapping]] = ..., sip_trunk_id: _Optional[str] = ..., sip_inbound_trunk: _Optional[_Union[_sip.SIPInboundTrunkInfo, _Mapping]] = ..., sip_outbound_trunk: _Optional[_Union[_sip.SIPOutboundTrunkInfo, _Mapping]] = ..., sip_dispatch_rule_id: _Optional[str] = ..., sip_dispatch_rule: _Optional[_Union[_sip.SIPDispatchRuleInfo, _Mapping]] = ..., sip_transfer: _Optional[_Union[_sip.SIPTransferInfo, _Mapping]] = ..., report: _Optional[_Union[ReportInfo, _Mapping]] = ..., api_call: _Optional[_Union[APICallInfo, _Mapping]] = ..., webhook: _Optional[_Union[WebhookInfo, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., type: _Optional[_Union[AnalyticsEventType, str]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., room_id: _Optional[str] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant_id: _Optional[str] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., track_id: _Optional[str] = ..., track: _Optional[_Union[_models.TrackInfo, _Mapping]] = ..., analytics_key: _Optional[str] = ..., client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., client_meta: _Optional[_Union[AnalyticsClientMeta, _Mapping]] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., max_subscribed_video_quality: _Optional[_Union[_models.VideoQuality, str]] = ..., publisher: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., mime: _Optional[str] = ..., egress: _Optional[_Union[_egress.EgressInfo, _Mapping]] = ..., ingress: _Optional[_Union[_ingress.IngressInfo, _Mapping]] = ..., error: _Optional[str] = ..., rtp_stats: _Optional[_Union[_models.RTPStats, _Mapping]] = ..., video_layer: _Optional[int] = ..., node_id: _Optional[str] = ..., sip_call_id: _Optional[str] = ..., sip_call: _Optional[_Union[_sip.SIPCallInfo, _Mapping]] = ..., sip_trunk_id: _Optional[str] = ..., sip_inbound_trunk: _Optional[_Union[_sip.SIPInboundTrunkInfo, _Mapping]] = ..., sip_outbound_trunk: _Optional[_Union[_sip.SIPOutboundTrunkInfo, _Mapping]] = ..., sip_dispatch_rule_id: _Optional[str] = ..., sip_dispatch_rule: _Optional[_Union[_sip.SIPDispatchRuleInfo, _Mapping]] = ..., sip_transfer: _Optional[_Union[_sip.SIPTransferInfo, _Mapping]] = ..., report: _Optional[_Union[ReportInfo, _Mapping]] = ..., api_call: _Optional[_Union[APICallInfo, _Mapping]] = ..., webhook: _Optional[_Union[WebhookInfo, _Mapping]] = ...) -> None: ... class AnalyticsEvents(_message.Message): __slots__ = ("events",) @@ -315,7 +318,7 @@ class AnalyticsRoomParticipant(_message.Message): name: str state: _models.ParticipantInfo.State joined_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., identity: _Optional[str] = ..., name: _Optional[str] = ..., state: _Optional[_Union[_models.ParticipantInfo.State, str]] = ..., joined_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., identity: _Optional[str] = ..., name: _Optional[str] = ..., state: _Optional[_Union[_models.ParticipantInfo.State, str]] = ..., joined_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class AnalyticsRoom(_message.Message): __slots__ = ("id", "name", "project_id", "created_at", "participants") @@ -329,7 +332,7 @@ class AnalyticsRoom(_message.Message): project_id: str created_at: _timestamp_pb2.Timestamp participants: _containers.RepeatedCompositeFieldContainer[AnalyticsRoomParticipant] - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., project_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., participants: _Optional[_Iterable[_Union[AnalyticsRoomParticipant, _Mapping]]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., project_id: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., participants: _Optional[_Iterable[_Union[AnalyticsRoomParticipant, _Mapping]]] = ...) -> None: ... class AnalyticsNodeRooms(_message.Message): __slots__ = ("node_id", "sequence_number", "timestamp", "rooms") @@ -341,7 +344,7 @@ class AnalyticsNodeRooms(_message.Message): sequence_number: int timestamp: _timestamp_pb2.Timestamp rooms: _containers.RepeatedCompositeFieldContainer[AnalyticsRoom] - def __init__(self, node_id: _Optional[str] = ..., sequence_number: _Optional[int] = ..., timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., rooms: _Optional[_Iterable[_Union[AnalyticsRoom, _Mapping]]] = ...) -> None: ... + def __init__(self, node_id: _Optional[str] = ..., sequence_number: _Optional[int] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., rooms: _Optional[_Iterable[_Union[AnalyticsRoom, _Mapping]]] = ...) -> None: ... class ReportInfo(_message.Message): __slots__ = ("feature_usage",) @@ -355,7 +358,7 @@ class TimeRange(_message.Message): ENDED_AT_FIELD_NUMBER: _ClassVar[int] started_at: _timestamp_pb2.Timestamp ended_at: _timestamp_pb2.Timestamp - def __init__(self, started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class FeatureUsageInfo(_message.Message): __slots__ = ("feature", "project_id", "room_name", "room_id", "participant_identity", "participant_id", "track_id", "time_ranges", "feature_info") @@ -450,7 +453,7 @@ class APICallInfo(_message.Message): track_id: str started_at: _timestamp_pb2.Timestamp duration_ns: int - def __init__(self, project_id: _Optional[str] = ..., request: _Optional[_Union[APICallRequest, _Mapping]] = ..., service: _Optional[str] = ..., method: _Optional[str] = ..., node_id: _Optional[str] = ..., status: _Optional[int] = ..., twirp_error_code: _Optional[str] = ..., twirp_error_message: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration_ns: _Optional[int] = ...) -> None: ... + def __init__(self, project_id: _Optional[str] = ..., request: _Optional[_Union[APICallRequest, _Mapping]] = ..., service: _Optional[str] = ..., method: _Optional[str] = ..., node_id: _Optional[str] = ..., status: _Optional[int] = ..., twirp_error_code: _Optional[str] = ..., twirp_error_message: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., duration_ns: _Optional[int] = ...) -> None: ... class WebhookInfo(_message.Message): __slots__ = ("event_id", "event", "project_id", "room_name", "room_id", "participant_identity", "participant_id", "track_id", "egress_id", "ingress_id", "created_at", "queued_at", "queue_duration_ns", "sent_at", "send_duration_ns", "url", "num_dropped", "is_dropped", "service_status", "service_error_code", "service_error", "send_error") @@ -498,4 +501,4 @@ class WebhookInfo(_message.Message): service_error_code: int service_error: str send_error: str - def __init__(self, event_id: _Optional[str] = ..., event: _Optional[str] = ..., project_id: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., queued_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., queue_duration_ns: _Optional[int] = ..., sent_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., send_duration_ns: _Optional[int] = ..., url: _Optional[str] = ..., num_dropped: _Optional[int] = ..., is_dropped: bool = ..., service_status: _Optional[str] = ..., service_error_code: _Optional[int] = ..., service_error: _Optional[str] = ..., send_error: _Optional[str] = ...) -> None: ... + def __init__(self, event_id: _Optional[str] = ..., event: _Optional[str] = ..., project_id: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., queued_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., queue_duration_ns: _Optional[int] = ..., sent_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., send_duration_ns: _Optional[int] = ..., url: _Optional[str] = ..., num_dropped: _Optional[int] = ..., is_dropped: _Optional[bool] = ..., service_status: _Optional[str] = ..., service_error_code: _Optional[int] = ..., service_error: _Optional[str] = ..., send_error: _Optional[str] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/connector.py b/livekit-protocol/livekit/protocol/connector.py index e656930f..68c0a04e 100644 --- a/livekit-protocol/livekit/protocol/connector.py +++ b/livekit-protocol/livekit/protocol/connector.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_connector.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_connector.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' _globals['_CONNECTORTYPE']._serialized_start=102 _globals['_CONNECTORTYPE']._serialized_end=160 diff --git a/livekit-protocol/livekit/protocol/connector_twilio.py b/livekit-protocol/livekit/protocol/connector_twilio.py index e194fbff..27aaa780 100644 --- a/livekit-protocol/livekit/protocol/connector_twilio.py +++ b/livekit-protocol/livekit/protocol/connector_twilio.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_connector_twilio.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_connector_twilio.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,16 +31,16 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector_twilio', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None + _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._options = None + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._loaded_options = None _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._loaded_options = None _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._options = None + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._loaded_options = None _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CONNECTTWILIOCALLREQUEST']._serialized_start=96 _globals['_CONNECTTWILIOCALLREQUEST']._serialized_end=757 diff --git a/livekit-protocol/livekit/protocol/connector_twilio.pyi b/livekit-protocol/livekit/protocol/connector_twilio.pyi index abf53ec8..68fb3b95 100644 --- a/livekit-protocol/livekit/protocol/connector_twilio.pyi +++ b/livekit-protocol/livekit/protocol/connector_twilio.pyi @@ -4,7 +4,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor diff --git a/livekit-protocol/livekit/protocol/connector_whatsapp.py b/livekit-protocol/livekit/protocol/connector_whatsapp.py index 1076f353..ecd862ef 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.py +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_connector_whatsapp.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_connector_whatsapp.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -23,46 +33,46 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector_whatsapp', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None + _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._loaded_options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._serialized_options = b'\232\354,\025whatsappPhoneNumberID' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._loaded_options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._serialized_options = b'\210\354,\001' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._loaded_options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._loaded_options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._loaded_options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._loaded_options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._options = None + _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._loaded_options = None _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None + _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._loaded_options = None _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None + _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._loaded_options = None _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' - _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None + _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._loaded_options = None _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._loaded_options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._serialized_options = b'\232\354,\025whatsappPhoneNumberID' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._loaded_options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._loaded_options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._loaded_options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._loaded_options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._loaded_options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._options = None + _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._loaded_options = None _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' _globals['_WHATSAPPCALLDIRECTION']._serialized_start=2419 _globals['_WHATSAPPCALLDIRECTION']._serialized_end=2517 diff --git a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi index 15379886..1860bd24 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi @@ -1,3 +1,5 @@ +import datetime + from google.protobuf import duration_pb2 as _duration_pb2 from . import agent_dispatch as _agent_dispatch from . import rtc as _rtc @@ -6,7 +8,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -52,7 +55,7 @@ class DialWhatsAppCallRequest(_message.Message): participant_attributes: _containers.ScalarMap[str, str] destination_country: str ringing_timeout: _duration_pb2.Duration - def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_to_phone_number: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_to_phone_number: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ...) -> None: ... class DialWhatsAppCallResponse(_message.Message): __slots__ = ("whatsapp_call_id", "room_name") @@ -133,7 +136,7 @@ class AcceptWhatsAppCallRequest(_message.Message): destination_country: str ringing_timeout: _duration_pb2.Duration wait_until_answered: bool - def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_call_id: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., sdp: _Optional[_Union[_rtc.SessionDescription, _Mapping]] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., wait_until_answered: bool = ...) -> None: ... + def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_call_id: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., sdp: _Optional[_Union[_rtc.SessionDescription, _Mapping]] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., wait_until_answered: _Optional[bool] = ...) -> None: ... class AcceptWhatsAppCallResponse(_message.Message): __slots__ = ("room_name",) diff --git a/livekit-protocol/livekit/protocol/egress.py b/livekit-protocol/livekit/protocol/egress.py index d403125f..7d103f57 100644 --- a/livekit-protocol/livekit/protocol/egress.py +++ b/livekit-protocol/livekit/protocol/egress.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_egress.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_egress.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,88 +31,88 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'egress', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._options = None + _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._loaded_options = None _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' - _globals['_AUDIOROUTE'].fields_by_name['track_id']._options = None + _globals['_AUDIOROUTE'].fields_by_name['track_id']._loaded_options = None _globals['_AUDIOROUTE'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_DATASELECTOR'].fields_by_name['track_id']._options = None + _globals['_DATASELECTOR'].fields_by_name['track_id']._loaded_options = None _globals['_DATASELECTOR'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._options = None + _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._loaded_options = None _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._serialized_options = b'\030\001' - _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._options = None + _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._loaded_options = None _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._serialized_options = b'\030\001' - _globals['_S3UPLOAD_METADATAENTRY']._options = None + _globals['_S3UPLOAD_METADATAENTRY']._loaded_options = None _globals['_S3UPLOAD_METADATAENTRY']._serialized_options = b'8\001' - _globals['_S3UPLOAD'].fields_by_name['access_key']._options = None + _globals['_S3UPLOAD'].fields_by_name['access_key']._loaded_options = None _globals['_S3UPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['secret']._options = None + _globals['_S3UPLOAD'].fields_by_name['secret']._loaded_options = None _globals['_S3UPLOAD'].fields_by_name['secret']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['session_token']._options = None + _globals['_S3UPLOAD'].fields_by_name['session_token']._loaded_options = None _globals['_S3UPLOAD'].fields_by_name['session_token']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._options = None + _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._loaded_options = None _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._options = None + _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._loaded_options = None _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._serialized_options = b'\210\354,\001\232\354,\024assumeRoleExternalID' - _globals['_GCPUPLOAD'].fields_by_name['credentials']._options = None + _globals['_GCPUPLOAD'].fields_by_name['credentials']._loaded_options = None _globals['_GCPUPLOAD'].fields_by_name['credentials']._serialized_options = b'\210\354,\001' - _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._options = None + _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._loaded_options = None _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._serialized_options = b'\210\354,\001' - _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._options = None + _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._loaded_options = None _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._serialized_options = b'\210\354,\001' - _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._options = None + _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._loaded_options = None _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\354,\001' - _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._options = None + _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._loaded_options = None _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._serialized_options = b'\210\354,\001' - _globals['_PROXYCONFIG'].fields_by_name['password']._options = None + _globals['_PROXYCONFIG'].fields_by_name['password']._loaded_options = None _globals['_PROXYCONFIG'].fields_by_name['password']._serialized_options = b'\210\354,\001' - _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._options = None + _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._loaded_options = None _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._loaded_options = None _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._options = None + _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._loaded_options = None _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_EGRESSINFO'].fields_by_name['egress_id']._options = None + _globals['_EGRESSINFO'].fields_by_name['egress_id']._loaded_options = None _globals['_EGRESSINFO'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_EGRESSINFO'].fields_by_name['room_id']._options = None + _globals['_EGRESSINFO'].fields_by_name['room_id']._loaded_options = None _globals['_EGRESSINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_EGRESSINFO'].fields_by_name['stream']._options = None + _globals['_EGRESSINFO'].fields_by_name['stream']._loaded_options = None _globals['_EGRESSINFO'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_EGRESSINFO'].fields_by_name['file']._options = None + _globals['_EGRESSINFO'].fields_by_name['file']._loaded_options = None _globals['_EGRESSINFO'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_EGRESSINFO'].fields_by_name['segments']._options = None + _globals['_EGRESSINFO'].fields_by_name['segments']._loaded_options = None _globals['_EGRESSINFO'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._options = None + _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._loaded_options = None _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._serialized_options = b'\232\354,\010replayID' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._loaded_options = None _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._loaded_options = None _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._loaded_options = None _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._loaded_options = None _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._loaded_options = None _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._loaded_options = None _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._loaded_options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._serialized_options = b'\232\354,\014audioTrackID' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._loaded_options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._loaded_options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._loaded_options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._loaded_options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._options = None + _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._loaded_options = None _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._loaded_options = None _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._loaded_options = None _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' _globals['_AUDIOCHANNEL']._serialized_start=10095 _globals['_AUDIOCHANNEL']._serialized_end=10182 diff --git a/livekit-protocol/livekit/protocol/egress.pyi b/livekit-protocol/livekit/protocol/egress.pyi index 0806e21a..75ea2d9c 100644 --- a/livekit-protocol/livekit/protocol/egress.pyi +++ b/livekit-protocol/livekit/protocol/egress.pyi @@ -4,7 +4,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -146,7 +147,7 @@ class TemplateSource(_message.Message): audio_only: bool video_only: bool custom_base_url: str - def __init__(self, layout: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., custom_base_url: _Optional[str] = ...) -> None: ... + def __init__(self, layout: _Optional[str] = ..., audio_only: _Optional[bool] = ..., video_only: _Optional[bool] = ..., custom_base_url: _Optional[str] = ...) -> None: ... class WebSource(_message.Message): __slots__ = ("url", "audio_only", "video_only", "await_start_signal") @@ -158,7 +159,7 @@ class WebSource(_message.Message): audio_only: bool video_only: bool await_start_signal: bool - def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ...) -> None: ... + def __init__(self, url: _Optional[str] = ..., audio_only: _Optional[bool] = ..., video_only: _Optional[bool] = ..., await_start_signal: _Optional[bool] = ...) -> None: ... class MediaSource(_message.Message): __slots__ = ("video_track_id", "participant_video", "audio", "data") @@ -178,7 +179,7 @@ class ParticipantVideo(_message.Message): PREFER_SCREEN_SHARE_FIELD_NUMBER: _ClassVar[int] identity: str prefer_screen_share: bool - def __init__(self, identity: _Optional[str] = ..., prefer_screen_share: bool = ...) -> None: ... + def __init__(self, identity: _Optional[str] = ..., prefer_screen_share: _Optional[bool] = ...) -> None: ... class AudioConfig(_message.Message): __slots__ = ("routes",) @@ -264,7 +265,7 @@ class FileOutput(_message.Message): file_type: EncodedFileType filepath: str disable_manifest: bool - def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: bool = ...) -> None: ... + def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ...) -> None: ... class StreamOutput(_message.Message): __slots__ = ("protocol", "urls") @@ -298,7 +299,7 @@ class SegmentedFileOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, protocol: _Optional[_Union[SegmentedFileProtocol, str]] = ..., filename_prefix: _Optional[str] = ..., playlist_name: _Optional[str] = ..., live_playlist_name: _Optional[str] = ..., segment_duration: _Optional[int] = ..., filename_suffix: _Optional[_Union[SegmentedFileSuffix, str]] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, protocol: _Optional[_Union[SegmentedFileProtocol, str]] = ..., filename_prefix: _Optional[str] = ..., playlist_name: _Optional[str] = ..., live_playlist_name: _Optional[str] = ..., segment_duration: _Optional[int] = ..., filename_suffix: _Optional[_Union[SegmentedFileSuffix, str]] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class ImageOutput(_message.Message): __slots__ = ("capture_interval", "width", "height", "filename_prefix", "filename_suffix", "image_codec", "disable_manifest", "s3", "gcp", "azure", "aliOSS") @@ -324,7 +325,7 @@ class ImageOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, capture_interval: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., filename_prefix: _Optional[str] = ..., filename_suffix: _Optional[_Union[ImageFileSuffix, str]] = ..., image_codec: _Optional[_Union[_models.ImageCodec, str]] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, capture_interval: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., filename_prefix: _Optional[str] = ..., filename_suffix: _Optional[_Union[ImageFileSuffix, str]] = ..., image_codec: _Optional[_Union[_models.ImageCodec, str]] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class StorageConfig(_message.Message): __slots__ = ("s3", "gcp", "azure", "aliOSS") @@ -373,7 +374,7 @@ class S3Upload(_message.Message): tagging: str content_disposition: str proxy: ProxyConfig - def __init__(self, access_key: _Optional[str] = ..., secret: _Optional[str] = ..., session_token: _Optional[str] = ..., assume_role_arn: _Optional[str] = ..., assume_role_external_id: _Optional[str] = ..., region: _Optional[str] = ..., endpoint: _Optional[str] = ..., bucket: _Optional[str] = ..., force_path_style: bool = ..., metadata: _Optional[_Mapping[str, str]] = ..., tagging: _Optional[str] = ..., content_disposition: _Optional[str] = ..., proxy: _Optional[_Union[ProxyConfig, _Mapping]] = ...) -> None: ... + def __init__(self, access_key: _Optional[str] = ..., secret: _Optional[str] = ..., session_token: _Optional[str] = ..., assume_role_arn: _Optional[str] = ..., assume_role_external_id: _Optional[str] = ..., region: _Optional[str] = ..., endpoint: _Optional[str] = ..., bucket: _Optional[str] = ..., force_path_style: _Optional[bool] = ..., metadata: _Optional[_Mapping[str, str]] = ..., tagging: _Optional[str] = ..., content_disposition: _Optional[str] = ..., proxy: _Optional[_Union[ProxyConfig, _Mapping]] = ...) -> None: ... class GCPUpload(_message.Message): __slots__ = ("credentials", "bucket", "proxy") @@ -427,7 +428,7 @@ class ListEgressRequest(_message.Message): room_name: str egress_id: str active: bool - def __init__(self, room_name: _Optional[str] = ..., egress_id: _Optional[str] = ..., active: bool = ...) -> None: ... + def __init__(self, room_name: _Optional[str] = ..., egress_id: _Optional[str] = ..., active: _Optional[bool] = ...) -> None: ... class ListEgressResponse(_message.Message): __slots__ = ("items",) @@ -511,7 +512,7 @@ class EgressInfo(_message.Message): stream: StreamInfoList file: FileInfo segments: SegmentsInfo - def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., replay: _Optional[_Union[ExportReplayRequest, _Mapping]] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., details: _Optional[str] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: bool = ..., retry_count: _Optional[int] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ...) -> None: ... + def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., replay: _Optional[_Union[ExportReplayRequest, _Mapping]] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., details: _Optional[str] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: _Optional[bool] = ..., retry_count: _Optional[int] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ...) -> None: ... class StreamInfo(_message.Message): __slots__ = ("url", "started_at", "ended_at", "duration", "status", "error", "last_retry_at", "retries") @@ -617,7 +618,7 @@ class AutoTrackEgress(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class ExportReplayRequest(_message.Message): __slots__ = ("replay_id", "start_offset_ms", "end_offset_ms", "template", "web", "media", "preset", "advanced", "outputs", "storage", "webhooks") @@ -679,7 +680,7 @@ class RoomCompositeEgressRequest(_message.Message): segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., layout: _Optional[str] = ..., audio_only: bool = ..., audio_mixing: _Optional[_Union[AudioMixing, str]] = ..., video_only: bool = ..., custom_base_url: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, room_name: _Optional[str] = ..., layout: _Optional[str] = ..., audio_only: _Optional[bool] = ..., audio_mixing: _Optional[_Union[AudioMixing, str]] = ..., video_only: _Optional[bool] = ..., custom_base_url: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... class WebEgressRequest(_message.Message): __slots__ = ("url", "audio_only", "video_only", "await_start_signal", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") @@ -711,7 +712,7 @@ class WebEgressRequest(_message.Message): segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, url: _Optional[str] = ..., audio_only: _Optional[bool] = ..., video_only: _Optional[bool] = ..., await_start_signal: _Optional[bool] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... class ParticipantEgressRequest(_message.Message): __slots__ = ("room_name", "identity", "screen_share", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") @@ -735,7 +736,7 @@ class ParticipantEgressRequest(_message.Message): segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., identity: _Optional[str] = ..., screen_share: bool = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, room_name: _Optional[str] = ..., identity: _Optional[str] = ..., screen_share: _Optional[bool] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... class TrackCompositeEgressRequest(_message.Message): __slots__ = ("room_name", "audio_track_id", "video_track_id", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") @@ -795,7 +796,7 @@ class DirectFileOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class EncodedFileOutput(_message.Message): __slots__ = ("file_type", "filepath", "disable_manifest", "s3", "gcp", "azure", "aliOSS") @@ -813,7 +814,7 @@ class EncodedFileOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class UpdateLayoutRequest(_message.Message): __slots__ = ("egress_id", "layout") diff --git a/livekit-protocol/livekit/protocol/ingress.py b/livekit-protocol/livekit/protocol/ingress.py index 330e9099..5a13b51d 100644 --- a/livekit-protocol/livekit/protocol/ingress.py +++ b/livekit-protocol/livekit/protocol/ingress.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_ingress.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_ingress.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,38 +31,38 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ingress', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._loaded_options = None _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' - _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._loaded_options = None _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._loaded_options = None _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' - _globals['_INGRESSINFO'].fields_by_name['ingress_id']._options = None + _globals['_INGRESSINFO'].fields_by_name['ingress_id']._loaded_options = None _globals['_INGRESSINFO'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._options = None + _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._loaded_options = None _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' - _globals['_INGRESSINFO'].fields_by_name['participant_name']._options = None + _globals['_INGRESSINFO'].fields_by_name['participant_name']._loaded_options = None _globals['_INGRESSINFO'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' - _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._options = None + _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._loaded_options = None _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_INGRESSSTATE'].fields_by_name['room_id']._options = None + _globals['_INGRESSSTATE'].fields_by_name['room_id']._loaded_options = None _globals['_INGRESSSTATE'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_INGRESSSTATE'].fields_by_name['resource_id']._options = None + _globals['_INGRESSSTATE'].fields_by_name['resource_id']._loaded_options = None _globals['_INGRESSSTATE'].fields_by_name['resource_id']._serialized_options = b'\232\354,\nresourceID' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._loaded_options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._loaded_options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._loaded_options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._loaded_options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' - _globals['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._options = None + _globals['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._loaded_options = None _globals['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._options = None + _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._loaded_options = None _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' _globals['_INGRESSINPUT']._serialized_start=3189 _globals['_INGRESSINPUT']._serialized_end=3250 diff --git a/livekit-protocol/livekit/protocol/ingress.pyi b/livekit-protocol/livekit/protocol/ingress.pyi index d214cba8..83a4f83a 100644 --- a/livekit-protocol/livekit/protocol/ingress.pyi +++ b/livekit-protocol/livekit/protocol/ingress.pyi @@ -4,7 +4,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -73,7 +74,7 @@ class CreateIngressRequest(_message.Message): audio: IngressAudioOptions video: IngressVideoOptions enabled: bool - def __init__(self, input_type: _Optional[_Union[IngressInput, str]] = ..., url: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: bool = ..., enable_transcoding: bool = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: bool = ...) -> None: ... + def __init__(self, input_type: _Optional[_Union[IngressInput, str]] = ..., url: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: _Optional[bool] = ..., enable_transcoding: _Optional[bool] = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: _Optional[bool] = ...) -> None: ... class IngressAudioOptions(_message.Message): __slots__ = ("name", "source", "preset", "options") @@ -109,7 +110,7 @@ class IngressAudioEncodingOptions(_message.Message): bitrate: int disable_dtx: bool channels: int - def __init__(self, audio_codec: _Optional[_Union[_models.AudioCodec, str]] = ..., bitrate: _Optional[int] = ..., disable_dtx: bool = ..., channels: _Optional[int] = ...) -> None: ... + def __init__(self, audio_codec: _Optional[_Union[_models.AudioCodec, str]] = ..., bitrate: _Optional[int] = ..., disable_dtx: _Optional[bool] = ..., channels: _Optional[int] = ...) -> None: ... class IngressVideoEncodingOptions(_message.Message): __slots__ = ("video_codec", "frame_rate", "layers") @@ -155,7 +156,7 @@ class IngressInfo(_message.Message): reusable: bool state: IngressState enabled: bool - def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., stream_key: _Optional[str] = ..., url: _Optional[str] = ..., input_type: _Optional[_Union[IngressInput, str]] = ..., bypass_transcoding: bool = ..., enable_transcoding: bool = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., reusable: bool = ..., state: _Optional[_Union[IngressState, _Mapping]] = ..., enabled: bool = ...) -> None: ... + def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., stream_key: _Optional[str] = ..., url: _Optional[str] = ..., input_type: _Optional[_Union[IngressInput, str]] = ..., bypass_transcoding: _Optional[bool] = ..., enable_transcoding: _Optional[bool] = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., reusable: _Optional[bool] = ..., state: _Optional[_Union[IngressState, _Mapping]] = ..., enabled: _Optional[bool] = ...) -> None: ... class IngressState(_message.Message): __slots__ = ("status", "error", "video", "audio", "room_id", "started_at", "ended_at", "updated_at", "resource_id", "tracks") @@ -243,7 +244,7 @@ class UpdateIngressRequest(_message.Message): audio: IngressAudioOptions video: IngressVideoOptions enabled: bool - def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: bool = ..., enable_transcoding: bool = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: bool = ...) -> None: ... + def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: _Optional[bool] = ..., enable_transcoding: _Optional[bool] = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: _Optional[bool] = ...) -> None: ... class ListIngressRequest(_message.Message): __slots__ = ("page_token", "room_name", "ingress_id") diff --git a/livekit-protocol/livekit/protocol/logger_pb/options.py b/livekit-protocol/livekit/protocol/logger_pb/options.py index bb8ecfe5..9a3aea83 100644 --- a/livekit-protocol/livekit/protocol/logger_pb/options.py +++ b/livekit-protocol/livekit/protocol/logger_pb/options.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: logger/options.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'logger/options.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,7 +30,7 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'logger.options_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z*github.com/livekit/protocol/livekit/logger\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/metrics.py b/livekit-protocol/livekit/protocol/metrics.py index ad610d90..65c1540a 100644 --- a/livekit-protocol/livekit/protocol/metrics.py +++ b/livekit-protocol/livekit/protocol/metrics.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_metrics.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_metrics.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,12 +31,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metrics', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_METRICSRECORDINGHEADER_ROOMTAGSENTRY']._options = None + _globals['_METRICSRECORDINGHEADER_ROOMTAGSENTRY']._loaded_options = None _globals['_METRICSRECORDINGHEADER_ROOMTAGSENTRY']._serialized_options = b'8\001' - _globals['_METRICSRECORDINGHEADER'].fields_by_name['room_id']._options = None + _globals['_METRICSRECORDINGHEADER'].fields_by_name['room_id']._loaded_options = None _globals['_METRICSRECORDINGHEADER'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' _globals['_METRICLABEL']._serialized_start=1200 _globals['_METRICLABEL']._serialized_end=2097 diff --git a/livekit-protocol/livekit/protocol/metrics.pyi b/livekit-protocol/livekit/protocol/metrics.pyi index 5287a508..21be7417 100644 --- a/livekit-protocol/livekit/protocol/metrics.pyi +++ b/livekit-protocol/livekit/protocol/metrics.pyi @@ -1,10 +1,13 @@ +import datetime + from google.protobuf import timestamp_pb2 as _timestamp_pb2 from .logger_pb import options as _options_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -65,7 +68,7 @@ class MetricsBatch(_message.Message): str_data: _containers.RepeatedScalarFieldContainer[str] time_series: _containers.RepeatedCompositeFieldContainer[TimeSeriesMetric] events: _containers.RepeatedCompositeFieldContainer[EventMetric] - def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., str_data: _Optional[_Iterable[str]] = ..., time_series: _Optional[_Iterable[_Union[TimeSeriesMetric, _Mapping]]] = ..., events: _Optional[_Iterable[_Union[EventMetric, _Mapping]]] = ...) -> None: ... + def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., str_data: _Optional[_Iterable[str]] = ..., time_series: _Optional[_Iterable[_Union[TimeSeriesMetric, _Mapping]]] = ..., events: _Optional[_Iterable[_Union[EventMetric, _Mapping]]] = ...) -> None: ... class TimeSeriesMetric(_message.Message): __slots__ = ("label", "participant_identity", "track_sid", "samples", "rid") @@ -89,7 +92,7 @@ class MetricSample(_message.Message): timestamp_ms: int normalized_timestamp: _timestamp_pb2.Timestamp value: float - def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., value: _Optional[float] = ...) -> None: ... + def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., value: _Optional[float] = ...) -> None: ... class EventMetric(_message.Message): __slots__ = ("label", "participant_identity", "track_sid", "start_timestamp_ms", "end_timestamp_ms", "normalized_start_timestamp", "normalized_end_timestamp", "metadata", "rid") @@ -111,7 +114,7 @@ class EventMetric(_message.Message): normalized_end_timestamp: _timestamp_pb2.Timestamp metadata: str rid: int - def __init__(self, label: _Optional[int] = ..., participant_identity: _Optional[int] = ..., track_sid: _Optional[int] = ..., start_timestamp_ms: _Optional[int] = ..., end_timestamp_ms: _Optional[int] = ..., normalized_start_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., normalized_end_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., metadata: _Optional[str] = ..., rid: _Optional[int] = ...) -> None: ... + def __init__(self, label: _Optional[int] = ..., participant_identity: _Optional[int] = ..., track_sid: _Optional[int] = ..., start_timestamp_ms: _Optional[int] = ..., end_timestamp_ms: _Optional[int] = ..., normalized_start_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., normalized_end_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., metadata: _Optional[str] = ..., rid: _Optional[int] = ...) -> None: ... class MetricsRecordingHeader(_message.Message): __slots__ = ("room_id", "duration", "start_time", "room_tags", "room_name", "room_start_time") @@ -134,4 +137,4 @@ class MetricsRecordingHeader(_message.Message): room_tags: _containers.ScalarMap[str, str] room_name: str room_start_time: _timestamp_pb2.Timestamp - def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_tags: _Optional[_Mapping[str, str]] = ..., room_name: _Optional[str] = ..., room_start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., room_tags: _Optional[_Mapping[str, str]] = ..., room_name: _Optional[str] = ..., room_start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/models.py b/livekit-protocol/livekit/protocol/models.py index 48d600fb..8f3095e9 100644 --- a/livekit-protocol/livekit/protocol/models.py +++ b/livekit-protocol/livekit/protocol/models.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_models.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_models.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -22,76 +32,76 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'models', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_PAGINATION'].fields_by_name['after_id']._options = None + _globals['_PAGINATION'].fields_by_name['after_id']._loaded_options = None _globals['_PAGINATION'].fields_by_name['after_id']._serialized_options = b'\232\354,\007afterID' - _globals['_ROOM'].fields_by_name['metadata']._options = None + _globals['_ROOM'].fields_by_name['metadata']._loaded_options = None _globals['_ROOM'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._options = None + _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._loaded_options = None _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._serialized_options = b'\030\001' - _globals['_PARTICIPANTPERMISSION'].fields_by_name['agent']._options = None + _globals['_PARTICIPANTPERMISSION'].fields_by_name['agent']._loaded_options = None _globals['_PARTICIPANTPERMISSION'].fields_by_name['agent']._serialized_options = b'\030\001' - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._options = None + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._loaded_options = None _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._options = None + _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._loaded_options = None _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_PARTICIPANTINFO'].fields_by_name['name']._options = None + _globals['_PARTICIPANTINFO'].fields_by_name['name']._loaded_options = None _globals['_PARTICIPANTINFO'].fields_by_name['name']._serialized_options = b'\210\354,\001' - _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._options = None + _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._loaded_options = None _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_TRACKINFO'].fields_by_name['name']._options = None + _globals['_TRACKINFO'].fields_by_name['name']._loaded_options = None _globals['_TRACKINFO'].fields_by_name['name']._serialized_options = b'\210\354,\001' - _globals['_TRACKINFO'].fields_by_name['simulcast']._options = None + _globals['_TRACKINFO'].fields_by_name['simulcast']._loaded_options = None _globals['_TRACKINFO'].fields_by_name['simulcast']._serialized_options = b'\030\001' - _globals['_TRACKINFO'].fields_by_name['disable_dtx']._options = None + _globals['_TRACKINFO'].fields_by_name['disable_dtx']._loaded_options = None _globals['_TRACKINFO'].fields_by_name['disable_dtx']._serialized_options = b'\030\001' - _globals['_TRACKINFO'].fields_by_name['layers']._options = None + _globals['_TRACKINFO'].fields_by_name['layers']._loaded_options = None _globals['_TRACKINFO'].fields_by_name['layers']._serialized_options = b'\030\001' - _globals['_TRACKINFO'].fields_by_name['stereo']._options = None + _globals['_TRACKINFO'].fields_by_name['stereo']._loaded_options = None _globals['_TRACKINFO'].fields_by_name['stereo']._serialized_options = b'\030\001' - _globals['_DATAPACKET'].fields_by_name['kind']._options = None + _globals['_DATAPACKET'].fields_by_name['kind']._loaded_options = None _globals['_DATAPACKET'].fields_by_name['kind']._serialized_options = b'\030\001' - _globals['_DATAPACKET'].fields_by_name['speaker']._options = None + _globals['_DATAPACKET'].fields_by_name['speaker']._loaded_options = None _globals['_DATAPACKET'].fields_by_name['speaker']._serialized_options = b'\030\001' - _globals['_ACTIVESPEAKERUPDATE']._options = None + _globals['_ACTIVESPEAKERUPDATE']._loaded_options = None _globals['_ACTIVESPEAKERUPDATE']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['participant_sid']._options = None + _globals['_USERPACKET'].fields_by_name['participant_sid']._loaded_options = None _globals['_USERPACKET'].fields_by_name['participant_sid']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['participant_identity']._options = None + _globals['_USERPACKET'].fields_by_name['participant_identity']._loaded_options = None _globals['_USERPACKET'].fields_by_name['participant_identity']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['destination_sids']._options = None + _globals['_USERPACKET'].fields_by_name['destination_sids']._loaded_options = None _globals['_USERPACKET'].fields_by_name['destination_sids']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['destination_identities']._options = None + _globals['_USERPACKET'].fields_by_name['destination_identities']._loaded_options = None _globals['_USERPACKET'].fields_by_name['destination_identities']._serialized_options = b'\030\001' - _globals['_TRANSCRIPTION'].fields_by_name['track_id']._options = None + _globals['_TRANSCRIPTION'].fields_by_name['track_id']._loaded_options = None _globals['_TRANSCRIPTION'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_RPCACK'].fields_by_name['request_id']._options = None + _globals['_RPCACK'].fields_by_name['request_id']._loaded_options = None _globals['_RPCACK'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_RPCRESPONSE'].fields_by_name['request_id']._options = None + _globals['_RPCRESPONSE'].fields_by_name['request_id']._loaded_options = None _globals['_RPCRESPONSE'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_SERVERINFO'].fields_by_name['node_id']._options = None + _globals['_SERVERINFO'].fields_by_name['node_id']._loaded_options = None _globals['_SERVERINFO'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._options = None + _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._loaded_options = None _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_options = b'8\001' - _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._options = None + _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._loaded_options = None _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._serialized_options = b'\232\354,\020extLastPictureID' - _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._options = None + _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._loaded_options = None _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._serialized_options = b'\232\354,\017replyToStreamID' - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._options = None + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._loaded_options = None _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._options = None + _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._loaded_options = None _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' - _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._options = None + _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._loaded_options = None _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._serialized_options = b'\030\001' - _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._options = None + _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._loaded_options = None _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' - _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._options = None + _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._loaded_options = None _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._serialized_options = b'\030\001' - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._options = None + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._loaded_options = None _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._options = None + _globals['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._loaded_options = None _globals['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' _globals['_AUDIOCODEC']._serialized_start=11181 _globals['_AUDIOCODEC']._serialized_end=11240 diff --git a/livekit-protocol/livekit/protocol/models.pyi b/livekit-protocol/livekit/protocol/models.pyi index a563c530..acd7475a 100644 --- a/livekit-protocol/livekit/protocol/models.pyi +++ b/livekit-protocol/livekit/protocol/models.pyi @@ -1,3 +1,5 @@ +import datetime + from google.protobuf import timestamp_pb2 as _timestamp_pb2 from . import metrics as _metrics from .logger_pb import options as _options_pb2 @@ -5,7 +7,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -216,7 +219,7 @@ class ListUpdate(_message.Message): add: _containers.RepeatedScalarFieldContainer[str] remove: _containers.RepeatedScalarFieldContainer[str] clear: bool - def __init__(self, set: _Optional[_Iterable[str]] = ..., add: _Optional[_Iterable[str]] = ..., remove: _Optional[_Iterable[str]] = ..., clear: bool = ...) -> None: ... + def __init__(self, set: _Optional[_Iterable[str]] = ..., add: _Optional[_Iterable[str]] = ..., remove: _Optional[_Iterable[str]] = ..., clear: _Optional[bool] = ...) -> None: ... class Room(_message.Message): __slots__ = ("sid", "name", "empty_timeout", "departure_timeout", "max_participants", "creation_time", "creation_time_ms", "turn_password", "enabled_codecs", "metadata", "num_participants", "num_publishers", "active_recording", "version") @@ -248,7 +251,7 @@ class Room(_message.Message): num_publishers: int active_recording: bool version: TimedVersion - def __init__(self, sid: _Optional[str] = ..., name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., creation_time: _Optional[int] = ..., creation_time_ms: _Optional[int] = ..., turn_password: _Optional[str] = ..., enabled_codecs: _Optional[_Iterable[_Union[Codec, _Mapping]]] = ..., metadata: _Optional[str] = ..., num_participants: _Optional[int] = ..., num_publishers: _Optional[int] = ..., active_recording: bool = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., creation_time: _Optional[int] = ..., creation_time_ms: _Optional[int] = ..., turn_password: _Optional[str] = ..., enabled_codecs: _Optional[_Iterable[_Union[Codec, _Mapping]]] = ..., metadata: _Optional[str] = ..., num_participants: _Optional[int] = ..., num_publishers: _Optional[int] = ..., active_recording: _Optional[bool] = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ...) -> None: ... class Codec(_message.Message): __slots__ = ("mime", "fmtp_line") @@ -266,7 +269,7 @@ class PlayoutDelay(_message.Message): enabled: bool min: int max: int - def __init__(self, enabled: bool = ..., min: _Optional[int] = ..., max: _Optional[int] = ...) -> None: ... + def __init__(self, enabled: _Optional[bool] = ..., min: _Optional[int] = ..., max: _Optional[int] = ...) -> None: ... class ParticipantPermission(_message.Message): __slots__ = ("can_subscribe", "can_publish", "can_publish_data", "can_publish_sources", "hidden", "recorder", "can_update_metadata", "agent", "can_subscribe_metrics", "can_manage_agent_session") @@ -290,7 +293,7 @@ class ParticipantPermission(_message.Message): agent: bool can_subscribe_metrics: bool can_manage_agent_session: bool - def __init__(self, can_subscribe: bool = ..., can_publish: bool = ..., can_publish_data: bool = ..., can_publish_sources: _Optional[_Iterable[_Union[TrackSource, str]]] = ..., hidden: bool = ..., recorder: bool = ..., can_update_metadata: bool = ..., agent: bool = ..., can_subscribe_metrics: bool = ..., can_manage_agent_session: bool = ...) -> None: ... + def __init__(self, can_subscribe: _Optional[bool] = ..., can_publish: _Optional[bool] = ..., can_publish_data: _Optional[bool] = ..., can_publish_sources: _Optional[_Iterable[_Union[TrackSource, str]]] = ..., hidden: _Optional[bool] = ..., recorder: _Optional[bool] = ..., can_update_metadata: _Optional[bool] = ..., agent: _Optional[bool] = ..., can_subscribe_metrics: _Optional[bool] = ..., can_manage_agent_session: _Optional[bool] = ...) -> None: ... class ParticipantInfo(_message.Message): __slots__ = ("sid", "identity", "state", "tracks", "metadata", "joined_at", "joined_at_ms", "name", "version", "permission", "region", "is_publisher", "kind", "attributes", "disconnect_reason", "kind_details", "data_tracks", "client_protocol") @@ -375,7 +378,7 @@ class ParticipantInfo(_message.Message): kind_details: _containers.RepeatedScalarFieldContainer[ParticipantInfo.KindDetail] data_tracks: _containers.RepeatedCompositeFieldContainer[DataTrackInfo] client_protocol: int - def __init__(self, sid: _Optional[str] = ..., identity: _Optional[str] = ..., state: _Optional[_Union[ParticipantInfo.State, str]] = ..., tracks: _Optional[_Iterable[_Union[TrackInfo, _Mapping]]] = ..., metadata: _Optional[str] = ..., joined_at: _Optional[int] = ..., joined_at_ms: _Optional[int] = ..., name: _Optional[str] = ..., version: _Optional[int] = ..., permission: _Optional[_Union[ParticipantPermission, _Mapping]] = ..., region: _Optional[str] = ..., is_publisher: bool = ..., kind: _Optional[_Union[ParticipantInfo.Kind, str]] = ..., attributes: _Optional[_Mapping[str, str]] = ..., disconnect_reason: _Optional[_Union[DisconnectReason, str]] = ..., kind_details: _Optional[_Iterable[_Union[ParticipantInfo.KindDetail, str]]] = ..., data_tracks: _Optional[_Iterable[_Union[DataTrackInfo, _Mapping]]] = ..., client_protocol: _Optional[int] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., identity: _Optional[str] = ..., state: _Optional[_Union[ParticipantInfo.State, str]] = ..., tracks: _Optional[_Iterable[_Union[TrackInfo, _Mapping]]] = ..., metadata: _Optional[str] = ..., joined_at: _Optional[int] = ..., joined_at_ms: _Optional[int] = ..., name: _Optional[str] = ..., version: _Optional[int] = ..., permission: _Optional[_Union[ParticipantPermission, _Mapping]] = ..., region: _Optional[str] = ..., is_publisher: _Optional[bool] = ..., kind: _Optional[_Union[ParticipantInfo.Kind, str]] = ..., attributes: _Optional[_Mapping[str, str]] = ..., disconnect_reason: _Optional[_Union[DisconnectReason, str]] = ..., kind_details: _Optional[_Iterable[_Union[ParticipantInfo.KindDetail, str]]] = ..., data_tracks: _Optional[_Iterable[_Union[DataTrackInfo, _Mapping]]] = ..., client_protocol: _Optional[int] = ...) -> None: ... class Encryption(_message.Message): __slots__ = () @@ -449,7 +452,7 @@ class TrackInfo(_message.Message): audio_features: _containers.RepeatedScalarFieldContainer[AudioTrackFeature] backup_codec_policy: BackupCodecPolicy packet_trailer_features: _containers.RepeatedScalarFieldContainer[PacketTrailerFeature] - def __init__(self, sid: _Optional[str] = ..., type: _Optional[_Union[TrackType, str]] = ..., name: _Optional[str] = ..., muted: bool = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., simulcast: bool = ..., disable_dtx: bool = ..., source: _Optional[_Union[TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[VideoLayer, _Mapping]]] = ..., mime_type: _Optional[str] = ..., mid: _Optional[str] = ..., codecs: _Optional[_Iterable[_Union[SimulcastCodecInfo, _Mapping]]] = ..., stereo: bool = ..., disable_red: bool = ..., encryption: _Optional[_Union[Encryption.Type, str]] = ..., stream: _Optional[str] = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ..., audio_features: _Optional[_Iterable[_Union[AudioTrackFeature, str]]] = ..., backup_codec_policy: _Optional[_Union[BackupCodecPolicy, str]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[PacketTrailerFeature, str]]] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., type: _Optional[_Union[TrackType, str]] = ..., name: _Optional[str] = ..., muted: _Optional[bool] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., simulcast: _Optional[bool] = ..., disable_dtx: _Optional[bool] = ..., source: _Optional[_Union[TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[VideoLayer, _Mapping]]] = ..., mime_type: _Optional[str] = ..., mid: _Optional[str] = ..., codecs: _Optional[_Iterable[_Union[SimulcastCodecInfo, _Mapping]]] = ..., stereo: _Optional[bool] = ..., disable_red: _Optional[bool] = ..., encryption: _Optional[_Union[Encryption.Type, str]] = ..., stream: _Optional[str] = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ..., audio_features: _Optional[_Iterable[_Union[AudioTrackFeature, str]]] = ..., backup_codec_policy: _Optional[_Union[BackupCodecPolicy, str]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[PacketTrailerFeature, str]]] = ...) -> None: ... class DataTrackInfo(_message.Message): __slots__ = ("pub_handle", "sid", "name", "encryption") @@ -599,7 +602,7 @@ class SpeakerInfo(_message.Message): sid: str level: float active: bool - def __init__(self, sid: _Optional[str] = ..., level: _Optional[float] = ..., active: bool = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., level: _Optional[float] = ..., active: _Optional[bool] = ...) -> None: ... class UserPacket(_message.Message): __slots__ = ("participant_sid", "participant_identity", "payload", "destination_sids", "destination_identities", "topic", "id", "start_time", "end_time", "nonce") @@ -657,7 +660,7 @@ class TranscriptionSegment(_message.Message): end_time: int final: bool language: str - def __init__(self, id: _Optional[str] = ..., text: _Optional[str] = ..., start_time: _Optional[int] = ..., end_time: _Optional[int] = ..., final: bool = ..., language: _Optional[str] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., text: _Optional[str] = ..., start_time: _Optional[int] = ..., end_time: _Optional[int] = ..., final: _Optional[bool] = ..., language: _Optional[str] = ...) -> None: ... class ChatMessage(_message.Message): __slots__ = ("id", "timestamp", "edit_timestamp", "message", "deleted", "generated") @@ -673,7 +676,7 @@ class ChatMessage(_message.Message): message: str deleted: bool generated: bool - def __init__(self, id: _Optional[str] = ..., timestamp: _Optional[int] = ..., edit_timestamp: _Optional[int] = ..., message: _Optional[str] = ..., deleted: bool = ..., generated: bool = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., timestamp: _Optional[int] = ..., edit_timestamp: _Optional[int] = ..., message: _Optional[str] = ..., deleted: _Optional[bool] = ..., generated: _Optional[bool] = ...) -> None: ... class RpcRequest(_message.Message): __slots__ = ("id", "method", "payload", "response_timeout_ms", "version", "compressed_payload") @@ -859,7 +862,7 @@ class RTPDrift(_message.Message): drift_samples: int drift_ms: float clock_rate: float - def __init__(self, start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., start_timestamp: _Optional[int] = ..., end_timestamp: _Optional[int] = ..., rtp_clock_ticks: _Optional[int] = ..., drift_samples: _Optional[int] = ..., drift_ms: _Optional[float] = ..., clock_rate: _Optional[float] = ...) -> None: ... + def __init__(self, start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., start_timestamp: _Optional[int] = ..., end_timestamp: _Optional[int] = ..., rtp_clock_ticks: _Optional[int] = ..., drift_samples: _Optional[int] = ..., drift_ms: _Optional[float] = ..., clock_rate: _Optional[float] = ...) -> None: ... class RTPStats(_message.Message): __slots__ = ("start_time", "end_time", "duration", "packets", "packet_rate", "bytes", "header_bytes", "bitrate", "packets_lost", "packet_loss_rate", "packet_loss_percentage", "packets_duplicate", "packet_duplicate_rate", "bytes_duplicate", "header_bytes_duplicate", "bitrate_duplicate", "packets_padding", "packet_padding_rate", "bytes_padding", "header_bytes_padding", "bitrate_padding", "packets_out_of_order", "frames", "frame_rate", "jitter_current", "jitter_max", "gap_histogram", "nacks", "nack_acks", "nack_misses", "nack_repeated", "plis", "last_pli", "firs", "last_fir", "rtt_current", "rtt_max", "key_frames", "last_key_frame", "layer_lock_plis", "last_layer_lock_pli", "packet_drift", "ntp_report_drift", "rebased_report_drift", "received_report_drift") @@ -960,7 +963,7 @@ class RTPStats(_message.Message): ntp_report_drift: RTPDrift rebased_report_drift: RTPDrift received_report_drift: RTPDrift - def __init__(self, start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., packets: _Optional[int] = ..., packet_rate: _Optional[float] = ..., bytes: _Optional[int] = ..., header_bytes: _Optional[int] = ..., bitrate: _Optional[float] = ..., packets_lost: _Optional[int] = ..., packet_loss_rate: _Optional[float] = ..., packet_loss_percentage: _Optional[float] = ..., packets_duplicate: _Optional[int] = ..., packet_duplicate_rate: _Optional[float] = ..., bytes_duplicate: _Optional[int] = ..., header_bytes_duplicate: _Optional[int] = ..., bitrate_duplicate: _Optional[float] = ..., packets_padding: _Optional[int] = ..., packet_padding_rate: _Optional[float] = ..., bytes_padding: _Optional[int] = ..., header_bytes_padding: _Optional[int] = ..., bitrate_padding: _Optional[float] = ..., packets_out_of_order: _Optional[int] = ..., frames: _Optional[int] = ..., frame_rate: _Optional[float] = ..., jitter_current: _Optional[float] = ..., jitter_max: _Optional[float] = ..., gap_histogram: _Optional[_Mapping[int, int]] = ..., nacks: _Optional[int] = ..., nack_acks: _Optional[int] = ..., nack_misses: _Optional[int] = ..., nack_repeated: _Optional[int] = ..., plis: _Optional[int] = ..., last_pli: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., firs: _Optional[int] = ..., last_fir: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., rtt_current: _Optional[int] = ..., rtt_max: _Optional[int] = ..., key_frames: _Optional[int] = ..., last_key_frame: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., layer_lock_plis: _Optional[int] = ..., last_layer_lock_pli: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., packet_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., ntp_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., rebased_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., received_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ...) -> None: ... + def __init__(self, start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., packets: _Optional[int] = ..., packet_rate: _Optional[float] = ..., bytes: _Optional[int] = ..., header_bytes: _Optional[int] = ..., bitrate: _Optional[float] = ..., packets_lost: _Optional[int] = ..., packet_loss_rate: _Optional[float] = ..., packet_loss_percentage: _Optional[float] = ..., packets_duplicate: _Optional[int] = ..., packet_duplicate_rate: _Optional[float] = ..., bytes_duplicate: _Optional[int] = ..., header_bytes_duplicate: _Optional[int] = ..., bitrate_duplicate: _Optional[float] = ..., packets_padding: _Optional[int] = ..., packet_padding_rate: _Optional[float] = ..., bytes_padding: _Optional[int] = ..., header_bytes_padding: _Optional[int] = ..., bitrate_padding: _Optional[float] = ..., packets_out_of_order: _Optional[int] = ..., frames: _Optional[int] = ..., frame_rate: _Optional[float] = ..., jitter_current: _Optional[float] = ..., jitter_max: _Optional[float] = ..., gap_histogram: _Optional[_Mapping[int, int]] = ..., nacks: _Optional[int] = ..., nack_acks: _Optional[int] = ..., nack_misses: _Optional[int] = ..., nack_repeated: _Optional[int] = ..., plis: _Optional[int] = ..., last_pli: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., firs: _Optional[int] = ..., last_fir: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., rtt_current: _Optional[int] = ..., rtt_max: _Optional[int] = ..., key_frames: _Optional[int] = ..., last_key_frame: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., layer_lock_plis: _Optional[int] = ..., last_layer_lock_pli: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., packet_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., ntp_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., rebased_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., received_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ...) -> None: ... class RTCPSenderReportState(_message.Message): __slots__ = ("rtp_timestamp", "rtp_timestamp_ext", "ntp_timestamp", "at", "at_adjusted", "packets", "octets") @@ -998,7 +1001,7 @@ class RTPForwarderState(_message.Message): rtp_munger: RTPMungerState vp8_munger: VP8MungerState sender_report_state: _containers.RepeatedCompositeFieldContainer[RTCPSenderReportState] - def __init__(self, started: bool = ..., reference_layer_spatial: _Optional[int] = ..., pre_start_time: _Optional[int] = ..., ext_first_timestamp: _Optional[int] = ..., dummy_start_timestamp_offset: _Optional[int] = ..., rtp_munger: _Optional[_Union[RTPMungerState, _Mapping]] = ..., vp8_munger: _Optional[_Union[VP8MungerState, _Mapping]] = ..., sender_report_state: _Optional[_Iterable[_Union[RTCPSenderReportState, _Mapping]]] = ...) -> None: ... + def __init__(self, started: _Optional[bool] = ..., reference_layer_spatial: _Optional[int] = ..., pre_start_time: _Optional[int] = ..., ext_first_timestamp: _Optional[int] = ..., dummy_start_timestamp_offset: _Optional[int] = ..., rtp_munger: _Optional[_Union[RTPMungerState, _Mapping]] = ..., vp8_munger: _Optional[_Union[VP8MungerState, _Mapping]] = ..., sender_report_state: _Optional[_Iterable[_Union[RTCPSenderReportState, _Mapping]]] = ...) -> None: ... class RTPMungerState(_message.Message): __slots__ = ("ext_last_sequence_number", "ext_second_last_sequence_number", "ext_last_timestamp", "ext_second_last_timestamp", "last_marker", "second_last_marker") @@ -1014,7 +1017,7 @@ class RTPMungerState(_message.Message): ext_second_last_timestamp: int last_marker: bool second_last_marker: bool - def __init__(self, ext_last_sequence_number: _Optional[int] = ..., ext_second_last_sequence_number: _Optional[int] = ..., ext_last_timestamp: _Optional[int] = ..., ext_second_last_timestamp: _Optional[int] = ..., last_marker: bool = ..., second_last_marker: bool = ...) -> None: ... + def __init__(self, ext_last_sequence_number: _Optional[int] = ..., ext_second_last_sequence_number: _Optional[int] = ..., ext_last_timestamp: _Optional[int] = ..., ext_second_last_timestamp: _Optional[int] = ..., last_marker: _Optional[bool] = ..., second_last_marker: _Optional[bool] = ...) -> None: ... class VP8MungerState(_message.Message): __slots__ = ("ext_last_picture_id", "picture_id_used", "last_tl0_pic_idx", "tl0_pic_idx_used", "tid_used", "last_key_idx", "key_idx_used") @@ -1032,7 +1035,7 @@ class VP8MungerState(_message.Message): tid_used: bool last_key_idx: int key_idx_used: bool - def __init__(self, ext_last_picture_id: _Optional[int] = ..., picture_id_used: bool = ..., last_tl0_pic_idx: _Optional[int] = ..., tl0_pic_idx_used: bool = ..., tid_used: bool = ..., last_key_idx: _Optional[int] = ..., key_idx_used: bool = ...) -> None: ... + def __init__(self, ext_last_picture_id: _Optional[int] = ..., picture_id_used: _Optional[bool] = ..., last_tl0_pic_idx: _Optional[int] = ..., tl0_pic_idx_used: _Optional[bool] = ..., tid_used: _Optional[bool] = ..., last_key_idx: _Optional[int] = ..., key_idx_used: _Optional[bool] = ...) -> None: ... class TimedVersion(_message.Message): __slots__ = ("unix_micro", "ticks") @@ -1066,7 +1069,7 @@ class DataStream(_message.Message): reply_to_stream_id: str attached_stream_ids: _containers.RepeatedScalarFieldContainer[str] generated: bool - def __init__(self, operation_type: _Optional[_Union[DataStream.OperationType, str]] = ..., version: _Optional[int] = ..., reply_to_stream_id: _Optional[str] = ..., attached_stream_ids: _Optional[_Iterable[str]] = ..., generated: bool = ...) -> None: ... + def __init__(self, operation_type: _Optional[_Union[DataStream.OperationType, str]] = ..., version: _Optional[int] = ..., reply_to_stream_id: _Optional[str] = ..., attached_stream_ids: _Optional[_Iterable[str]] = ..., generated: _Optional[bool] = ...) -> None: ... class ByteHeader(_message.Message): __slots__ = ("name",) NAME_FIELD_NUMBER: _ClassVar[int] @@ -1155,4 +1158,4 @@ class SubscribedAudioCodec(_message.Message): ENABLED_FIELD_NUMBER: _ClassVar[int] codec: str enabled: bool - def __init__(self, codec: _Optional[str] = ..., enabled: bool = ...) -> None: ... + def __init__(self, codec: _Optional[str] = ..., enabled: _Optional[bool] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/room.py b/livekit-protocol/livekit/protocol/room.py index 28359b37..19dc4551 100644 --- a/livekit-protocol/livekit/protocol/room.py +++ b/livekit-protocol/livekit/protocol/room.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_room.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_room.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -23,28 +33,28 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'room', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATEROOMREQUEST'].fields_by_name['node_id']._options = None + _globals['_CREATEROOMREQUEST'].fields_by_name['node_id']._loaded_options = None _globals['_CREATEROOMREQUEST'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._options = None + _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._options = None + _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._loaded_options = None _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._options = None + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._options = None + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._loaded_options = None _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._options = None + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._loaded_options = None _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._options = None + _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._loaded_options = None _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._serialized_options = b'\030\001' - _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._options = None + _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_ROOMCONFIGURATION_TAGSENTRY']._options = None + _globals['_ROOMCONFIGURATION_TAGSENTRY']._loaded_options = None _globals['_ROOMCONFIGURATION_TAGSENTRY']._serialized_options = b'8\001' - _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._options = None + _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._loaded_options = None _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATEROOMREQUEST']._serialized_start=128 _globals['_CREATEROOMREQUEST']._serialized_end=526 diff --git a/livekit-protocol/livekit/protocol/room.pyi b/livekit-protocol/livekit/protocol/room.pyi index ddeb0a0c..58ed7b46 100644 --- a/livekit-protocol/livekit/protocol/room.pyi +++ b/livekit-protocol/livekit/protocol/room.pyi @@ -5,7 +5,8 @@ from .logger_pb import options as _options_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -37,7 +38,7 @@ class CreateRoomRequest(_message.Message): sync_streams: bool replay_enabled: bool agents: _containers.RepeatedCompositeFieldContainer[_agent_dispatch.RoomAgentDispatch] - def __init__(self, name: _Optional[str] = ..., room_preset: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., node_id: _Optional[str] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: bool = ..., replay_enabled: bool = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ...) -> None: ... + def __init__(self, name: _Optional[str] = ..., room_preset: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., node_id: _Optional[str] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: _Optional[bool] = ..., replay_enabled: _Optional[bool] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ...) -> None: ... class RoomEgress(_message.Message): __slots__ = ("room", "participant", "tracks") @@ -111,7 +112,7 @@ class MuteRoomTrackRequest(_message.Message): identity: str track_sid: str muted: bool - def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sid: _Optional[str] = ..., muted: bool = ...) -> None: ... + def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sid: _Optional[str] = ..., muted: _Optional[bool] = ...) -> None: ... class MuteRoomTrackResponse(_message.Message): __slots__ = ("track",) @@ -154,7 +155,7 @@ class UpdateSubscriptionsRequest(_message.Message): track_sids: _containers.RepeatedScalarFieldContainer[str] subscribe: bool participant_tracks: _containers.RepeatedCompositeFieldContainer[_models.ParticipantTracks] - def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sids: _Optional[_Iterable[str]] = ..., subscribe: bool = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... + def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sids: _Optional[_Iterable[str]] = ..., subscribe: _Optional[bool] = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... class UpdateSubscriptionsResponse(_message.Message): __slots__ = () @@ -221,7 +222,7 @@ class RoomConfiguration(_message.Message): sync_streams: bool agents: _containers.RepeatedCompositeFieldContainer[_agent_dispatch.RoomAgentDispatch] tags: _containers.ScalarMap[str, str] - def __init__(self, name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: bool = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... + def __init__(self, name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: _Optional[bool] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class ForwardParticipantRequest(_message.Message): __slots__ = ("room", "identity", "destination_room") diff --git a/livekit-protocol/livekit/protocol/rtc.py b/livekit-protocol/livekit/protocol/rtc.py index ef4875c7..0d1df6ba 100644 --- a/livekit-protocol/livekit/protocol/rtc.py +++ b/livekit-protocol/livekit/protocol/rtc.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_rtc.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_rtc.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,46 +31,46 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rtc', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_SIGNALREQUEST'].fields_by_name['update_layers']._options = None + _globals['_SIGNALREQUEST'].fields_by_name['update_layers']._loaded_options = None _globals['_SIGNALREQUEST'].fields_by_name['update_layers']._serialized_options = b'\030\001' - _globals['_ADDTRACKREQUEST'].fields_by_name['disable_dtx']._options = None + _globals['_ADDTRACKREQUEST'].fields_by_name['disable_dtx']._loaded_options = None _globals['_ADDTRACKREQUEST'].fields_by_name['disable_dtx']._serialized_options = b'\030\001' - _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._options = None + _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._loaded_options = None _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._serialized_options = b'\030\001' - _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._options = None + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._loaded_options = None _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_options = b'8\001' - _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._options = None + _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._loaded_options = None _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_options = b'8\001' - _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._options = None + _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._loaded_options = None _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._serialized_options = b'\232\354,\014midToTrackID' - _globals['_UPDATEVIDEOLAYERS']._options = None + _globals['_UPDATEVIDEOLAYERS']._loaded_options = None _globals['_UPDATEVIDEOLAYERS']._serialized_options = b'\030\001' - _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._options = None + _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._loaded_options = None _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._loaded_options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._loaded_options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._loaded_options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._loaded_options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_ICESERVER'].fields_by_name['username']._options = None + _globals['_ICESERVER'].fields_by_name['username']._loaded_options = None _globals['_ICESERVER'].fields_by_name['username']._serialized_options = b'\210\354,\001' - _globals['_ICESERVER'].fields_by_name['credential']._options = None + _globals['_ICESERVER'].fields_by_name['credential']._loaded_options = None _globals['_ICESERVER'].fields_by_name['credential']._serialized_options = b'\210\354,\001' - _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._options = None + _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._loaded_options = None _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._serialized_options = b'\030\001' - _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._options = None + _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._loaded_options = None _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None + _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_JOINREQUEST'].fields_by_name['metadata']._options = None + _globals['_JOINREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_JOINREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._options = None + _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._loaded_options = None _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIGNALTARGET']._serialized_start=11090 _globals['_SIGNALTARGET']._serialized_end=11135 diff --git a/livekit-protocol/livekit/protocol/rtc.pyi b/livekit-protocol/livekit/protocol/rtc.pyi index da3d829f..fe5b7503 100644 --- a/livekit-protocol/livekit/protocol/rtc.pyi +++ b/livekit-protocol/livekit/protocol/rtc.pyi @@ -4,7 +4,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -185,7 +186,7 @@ class AddTrackRequest(_message.Message): backup_codec_policy: _models.BackupCodecPolicy audio_features: _containers.RepeatedScalarFieldContainer[_models.AudioTrackFeature] packet_trailer_features: _containers.RepeatedScalarFieldContainer[_models.PacketTrailerFeature] - def __init__(self, cid: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[_models.TrackType, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., muted: bool = ..., disable_dtx: bool = ..., source: _Optional[_Union[_models.TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[_models.VideoLayer, _Mapping]]] = ..., simulcast_codecs: _Optional[_Iterable[_Union[SimulcastCodec, _Mapping]]] = ..., sid: _Optional[str] = ..., stereo: bool = ..., disable_red: bool = ..., encryption: _Optional[_Union[_models.Encryption.Type, str]] = ..., stream: _Optional[str] = ..., backup_codec_policy: _Optional[_Union[_models.BackupCodecPolicy, str]] = ..., audio_features: _Optional[_Iterable[_Union[_models.AudioTrackFeature, str]]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[_models.PacketTrailerFeature, str]]] = ...) -> None: ... + def __init__(self, cid: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[_models.TrackType, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., muted: _Optional[bool] = ..., disable_dtx: _Optional[bool] = ..., source: _Optional[_Union[_models.TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[_models.VideoLayer, _Mapping]]] = ..., simulcast_codecs: _Optional[_Iterable[_Union[SimulcastCodec, _Mapping]]] = ..., sid: _Optional[str] = ..., stereo: _Optional[bool] = ..., disable_red: _Optional[bool] = ..., encryption: _Optional[_Union[_models.Encryption.Type, str]] = ..., stream: _Optional[str] = ..., backup_codec_policy: _Optional[_Union[_models.BackupCodecPolicy, str]] = ..., audio_features: _Optional[_Iterable[_Union[_models.AudioTrackFeature, str]]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[_models.PacketTrailerFeature, str]]] = ...) -> None: ... class PublishDataTrackRequest(_message.Message): __slots__ = ("pub_handle", "name", "encryption") @@ -245,7 +246,7 @@ class TrickleRequest(_message.Message): candidateInit: str target: SignalTarget final: bool - def __init__(self, candidateInit: _Optional[str] = ..., target: _Optional[_Union[SignalTarget, str]] = ..., final: bool = ...) -> None: ... + def __init__(self, candidateInit: _Optional[str] = ..., target: _Optional[_Union[SignalTarget, str]] = ..., final: _Optional[bool] = ...) -> None: ... class MuteTrackRequest(_message.Message): __slots__ = ("sid", "muted") @@ -253,7 +254,7 @@ class MuteTrackRequest(_message.Message): MUTED_FIELD_NUMBER: _ClassVar[int] sid: str muted: bool - def __init__(self, sid: _Optional[str] = ..., muted: bool = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., muted: _Optional[bool] = ...) -> None: ... class JoinResponse(_message.Message): __slots__ = ("room", "participant", "other_participants", "server_version", "ice_servers", "subscriber_primary", "alternative_url", "client_configuration", "server_region", "ping_timeout", "ping_interval", "server_info", "sif_trailer", "enabled_publish_codecs", "fast_publish") @@ -287,7 +288,7 @@ class JoinResponse(_message.Message): sif_trailer: bytes enabled_publish_codecs: _containers.RepeatedCompositeFieldContainer[_models.Codec] fast_publish: bool - def __init__(self, room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., other_participants: _Optional[_Iterable[_Union[_models.ParticipantInfo, _Mapping]]] = ..., server_version: _Optional[str] = ..., ice_servers: _Optional[_Iterable[_Union[ICEServer, _Mapping]]] = ..., subscriber_primary: bool = ..., alternative_url: _Optional[str] = ..., client_configuration: _Optional[_Union[_models.ClientConfiguration, _Mapping]] = ..., server_region: _Optional[str] = ..., ping_timeout: _Optional[int] = ..., ping_interval: _Optional[int] = ..., server_info: _Optional[_Union[_models.ServerInfo, _Mapping]] = ..., sif_trailer: _Optional[bytes] = ..., enabled_publish_codecs: _Optional[_Iterable[_Union[_models.Codec, _Mapping]]] = ..., fast_publish: bool = ...) -> None: ... + def __init__(self, room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., other_participants: _Optional[_Iterable[_Union[_models.ParticipantInfo, _Mapping]]] = ..., server_version: _Optional[str] = ..., ice_servers: _Optional[_Iterable[_Union[ICEServer, _Mapping]]] = ..., subscriber_primary: _Optional[bool] = ..., alternative_url: _Optional[str] = ..., client_configuration: _Optional[_Union[_models.ClientConfiguration, _Mapping]] = ..., server_region: _Optional[str] = ..., ping_timeout: _Optional[int] = ..., ping_interval: _Optional[int] = ..., server_info: _Optional[_Union[_models.ServerInfo, _Mapping]] = ..., sif_trailer: _Optional[bytes] = ..., enabled_publish_codecs: _Optional[_Iterable[_Union[_models.Codec, _Mapping]]] = ..., fast_publish: _Optional[bool] = ...) -> None: ... class ReconnectResponse(_message.Message): __slots__ = ("ice_servers", "client_configuration", "server_info", "last_message_seq") @@ -348,7 +349,7 @@ class UpdateSubscription(_message.Message): track_sids: _containers.RepeatedScalarFieldContainer[str] subscribe: bool participant_tracks: _containers.RepeatedCompositeFieldContainer[_models.ParticipantTracks] - def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., subscribe: bool = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... + def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., subscribe: _Optional[bool] = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... class UpdateDataSubscription(_message.Message): __slots__ = ("updates",) @@ -360,7 +361,7 @@ class UpdateDataSubscription(_message.Message): track_sid: str subscribe: bool options: _models.DataTrackSubscriptionOptions - def __init__(self, track_sid: _Optional[str] = ..., subscribe: bool = ..., options: _Optional[_Union[_models.DataTrackSubscriptionOptions, _Mapping]] = ...) -> None: ... + def __init__(self, track_sid: _Optional[str] = ..., subscribe: _Optional[bool] = ..., options: _Optional[_Union[_models.DataTrackSubscriptionOptions, _Mapping]] = ...) -> None: ... UPDATES_FIELD_NUMBER: _ClassVar[int] updates: _containers.RepeatedCompositeFieldContainer[UpdateDataSubscription.Update] def __init__(self, updates: _Optional[_Iterable[_Union[UpdateDataSubscription.Update, _Mapping]]] = ...) -> None: ... @@ -381,7 +382,7 @@ class UpdateTrackSettings(_message.Message): height: int fps: int priority: int - def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., disabled: bool = ..., quality: _Optional[_Union[_models.VideoQuality, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., fps: _Optional[int] = ..., priority: _Optional[int] = ...) -> None: ... + def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., disabled: _Optional[bool] = ..., quality: _Optional[_Union[_models.VideoQuality, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., fps: _Optional[int] = ..., priority: _Optional[int] = ...) -> None: ... class UpdateLocalAudioTrack(_message.Message): __slots__ = ("track_sid", "features") @@ -419,7 +420,7 @@ class LeaveRequest(_message.Message): reason: _models.DisconnectReason action: LeaveRequest.Action regions: RegionSettings - def __init__(self, can_reconnect: bool = ..., reason: _Optional[_Union[_models.DisconnectReason, str]] = ..., action: _Optional[_Union[LeaveRequest.Action, str]] = ..., regions: _Optional[_Union[RegionSettings, _Mapping]] = ...) -> None: ... + def __init__(self, can_reconnect: _Optional[bool] = ..., reason: _Optional[_Union[_models.DisconnectReason, str]] = ..., action: _Optional[_Union[LeaveRequest.Action, str]] = ..., regions: _Optional[_Union[RegionSettings, _Mapping]] = ...) -> None: ... class UpdateVideoLayers(_message.Message): __slots__ = ("track_sid", "layers") @@ -508,7 +509,7 @@ class SubscribedQuality(_message.Message): ENABLED_FIELD_NUMBER: _ClassVar[int] quality: _models.VideoQuality enabled: bool - def __init__(self, quality: _Optional[_Union[_models.VideoQuality, str]] = ..., enabled: bool = ...) -> None: ... + def __init__(self, quality: _Optional[_Union[_models.VideoQuality, str]] = ..., enabled: _Optional[bool] = ...) -> None: ... class SubscribedCodec(_message.Message): __slots__ = ("codec", "qualities") @@ -546,7 +547,7 @@ class TrackPermission(_message.Message): all_tracks: bool track_sids: _containers.RepeatedScalarFieldContainer[str] participant_identity: str - def __init__(self, participant_sid: _Optional[str] = ..., all_tracks: bool = ..., track_sids: _Optional[_Iterable[str]] = ..., participant_identity: _Optional[str] = ...) -> None: ... + def __init__(self, participant_sid: _Optional[str] = ..., all_tracks: _Optional[bool] = ..., track_sids: _Optional[_Iterable[str]] = ..., participant_identity: _Optional[str] = ...) -> None: ... class SubscriptionPermission(_message.Message): __slots__ = ("all_participants", "track_permissions") @@ -554,7 +555,7 @@ class SubscriptionPermission(_message.Message): TRACK_PERMISSIONS_FIELD_NUMBER: _ClassVar[int] all_participants: bool track_permissions: _containers.RepeatedCompositeFieldContainer[TrackPermission] - def __init__(self, all_participants: bool = ..., track_permissions: _Optional[_Iterable[_Union[TrackPermission, _Mapping]]] = ...) -> None: ... + def __init__(self, all_participants: _Optional[bool] = ..., track_permissions: _Optional[_Iterable[_Union[TrackPermission, _Mapping]]] = ...) -> None: ... class SubscriptionPermissionUpdate(_message.Message): __slots__ = ("participant_sid", "track_sid", "allowed") @@ -564,7 +565,7 @@ class SubscriptionPermissionUpdate(_message.Message): participant_sid: str track_sid: str allowed: bool - def __init__(self, participant_sid: _Optional[str] = ..., track_sid: _Optional[str] = ..., allowed: bool = ...) -> None: ... + def __init__(self, participant_sid: _Optional[str] = ..., track_sid: _Optional[str] = ..., allowed: _Optional[bool] = ...) -> None: ... class RoomMovedResponse(_message.Message): __slots__ = ("room", "token", "participant", "other_participants") @@ -636,7 +637,7 @@ class SimulateScenario(_message.Message): disconnect_signal_on_resume: bool disconnect_signal_on_resume_no_messages: bool leave_request_full_reconnect: bool - def __init__(self, speaker_update: _Optional[int] = ..., node_failure: bool = ..., migration: bool = ..., server_leave: bool = ..., switch_candidate_protocol: _Optional[_Union[CandidateProtocol, str]] = ..., subscriber_bandwidth: _Optional[int] = ..., disconnect_signal_on_resume: bool = ..., disconnect_signal_on_resume_no_messages: bool = ..., leave_request_full_reconnect: bool = ...) -> None: ... + def __init__(self, speaker_update: _Optional[int] = ..., node_failure: _Optional[bool] = ..., migration: _Optional[bool] = ..., server_leave: _Optional[bool] = ..., switch_candidate_protocol: _Optional[_Union[CandidateProtocol, str]] = ..., subscriber_bandwidth: _Optional[int] = ..., disconnect_signal_on_resume: _Optional[bool] = ..., disconnect_signal_on_resume_no_messages: _Optional[bool] = ..., leave_request_full_reconnect: _Optional[bool] = ...) -> None: ... class Ping(_message.Message): __slots__ = ("timestamp", "rtt") @@ -746,7 +747,7 @@ class ConnectionSettings(_message.Message): subscriber_allow_pause: bool disable_ice_lite: bool auto_subscribe_data_track: bool - def __init__(self, auto_subscribe: bool = ..., adaptive_stream: bool = ..., subscriber_allow_pause: bool = ..., disable_ice_lite: bool = ..., auto_subscribe_data_track: bool = ...) -> None: ... + def __init__(self, auto_subscribe: _Optional[bool] = ..., adaptive_stream: _Optional[bool] = ..., subscriber_allow_pause: _Optional[bool] = ..., disable_ice_lite: _Optional[bool] = ..., auto_subscribe_data_track: _Optional[bool] = ...) -> None: ... class JoinRequest(_message.Message): __slots__ = ("client_info", "connection_settings", "metadata", "participant_attributes", "add_track_requests", "publisher_offer", "reconnect", "reconnect_reason", "participant_sid", "sync_state") @@ -777,7 +778,7 @@ class JoinRequest(_message.Message): reconnect_reason: _models.ReconnectReason participant_sid: str sync_state: SyncState - def __init__(self, client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., connection_settings: _Optional[_Union[ConnectionSettings, _Mapping]] = ..., metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., add_track_requests: _Optional[_Iterable[_Union[AddTrackRequest, _Mapping]]] = ..., publisher_offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., reconnect: bool = ..., reconnect_reason: _Optional[_Union[_models.ReconnectReason, str]] = ..., participant_sid: _Optional[str] = ..., sync_state: _Optional[_Union[SyncState, _Mapping]] = ...) -> None: ... + def __init__(self, client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., connection_settings: _Optional[_Union[ConnectionSettings, _Mapping]] = ..., metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., add_track_requests: _Optional[_Iterable[_Union[AddTrackRequest, _Mapping]]] = ..., publisher_offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., reconnect: _Optional[bool] = ..., reconnect_reason: _Optional[_Union[_models.ReconnectReason, str]] = ..., participant_sid: _Optional[str] = ..., sync_state: _Optional[_Union[SyncState, _Mapping]] = ...) -> None: ... class WrappedJoinRequest(_message.Message): __slots__ = ("compression", "join_request") diff --git a/livekit-protocol/livekit/protocol/sip.py b/livekit-protocol/livekit/protocol/sip.py index 4965a864..92fb6f97 100644 --- a/livekit-protocol/livekit/protocol/sip.py +++ b/livekit-protocol/livekit/protocol/sip.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_sip.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_sip.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -26,194 +36,194 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sip', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._loaded_options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._serialized_options = b'\030\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._loaded_options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._loaded_options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._loaded_options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._loaded_options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPTRUNKREQUEST']._options = None + _globals['_CREATESIPTRUNKREQUEST']._loaded_options = None _globals['_CREATESIPTRUNKREQUEST']._serialized_options = b'\030\001' - _globals['_SIPTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_SIPTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._loaded_options = None _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._serialized_options = b'\030\001' - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._loaded_options = None _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._loaded_options = None _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._loaded_options = None _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._loaded_options = None _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._loaded_options = None _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPTRUNKINFO']._options = None + _globals['_SIPTRUNKINFO']._loaded_options = None _globals['_SIPTRUNKINFO']._serialized_options = b'\030\001' - _globals['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._options = None + _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._options = None + _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None + _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._loaded_options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._options = None + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._loaded_options = None _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._loaded_options = None _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._loaded_options = None _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._options = None + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._loaded_options = None _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_LISTSIPTRUNKREQUEST']._options = None + _globals['_LISTSIPTRUNKREQUEST']._loaded_options = None _globals['_LISTSIPTRUNKREQUEST']._serialized_options = b'\030\001' - _globals['_LISTSIPTRUNKRESPONSE']._options = None + _globals['_LISTSIPTRUNKRESPONSE']._loaded_options = None _globals['_LISTSIPTRUNKRESPONSE']._serialized_options = b'\030\001' - _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['rule']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['rule']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['rule']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['trunk_ids']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['trunk_ids']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['trunk_ids']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['hide_phone_number']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['hide_phone_number']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['hide_phone_number']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['inbound_numbers']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['inbound_numbers']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['inbound_numbers']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._serialized_options = b'\030\001\210\354,\001\222\354,\036' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._serialized_options = b'\030\001\210\354,\001\222\354,\036' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._loaded_options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._serialized_options = b'\030\001' - _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._options = None + _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._loaded_options = None _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._options = None + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._loaded_options = None _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._options = None + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._loaded_options = None _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._options = None + _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._loaded_options = None _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._options = None + _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._loaded_options = None _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._options = None + _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._loaded_options = None _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._options = None + _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._loaded_options = None _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._options = None + _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._loaded_options = None _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._options = None + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._loaded_options = None _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._options = None + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._loaded_options = None _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._serialized_options = b'\030\001' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._options = None + _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._loaded_options = None _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._options = None + _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._loaded_options = None _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' - _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._options = None + _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._loaded_options = None _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._options = None + _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._loaded_options = None _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._options = None + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPCALLINFO'].fields_by_name['call_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['call_id']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._serialized_options = b'\232\354,\007trunkID' - _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._serialized_options = b'\232\354,\016dispatchRuleID' - _globals['_SIPCALLINFO'].fields_by_name['room_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['room_id']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._options = None + _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPCALLINFO'].fields_by_name['created_at']._options = None + _globals['_SIPCALLINFO'].fields_by_name['created_at']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['created_at']._serialized_options = b'\030\001' - _globals['_SIPCALLINFO'].fields_by_name['started_at']._options = None + _globals['_SIPCALLINFO'].fields_by_name['started_at']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['started_at']._serialized_options = b'\030\001' - _globals['_SIPCALLINFO'].fields_by_name['ended_at']._options = None + _globals['_SIPCALLINFO'].fields_by_name['ended_at']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['ended_at']._serialized_options = b'\030\001' - _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._loaded_options = None _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' - _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._options = None + _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._loaded_options = None _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._serialized_options = b'\232\354,\ntransferID' - _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._options = None + _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._loaded_options = None _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_SIP'].methods_by_name['ListSIPTrunk']._options = None + _globals['_SIP'].methods_by_name['ListSIPTrunk']._loaded_options = None _globals['_SIP'].methods_by_name['ListSIPTrunk']._serialized_options = b'\210\002\001' _globals['_SIPSTATUSCODE']._serialized_start=11922 _globals['_SIPSTATUSCODE']._serialized_end=14576 diff --git a/livekit-protocol/livekit/protocol/sip.pyi b/livekit-protocol/livekit/protocol/sip.pyi index 58da739b..f20da8f3 100644 --- a/livekit-protocol/livekit/protocol/sip.pyi +++ b/livekit-protocol/livekit/protocol/sip.pyi @@ -1,3 +1,5 @@ +import datetime + from google.protobuf import any_pb2 as _any_pb2 from google.protobuf import duration_pb2 as _duration_pb2 from google.protobuf import empty_pb2 as _empty_pb2 @@ -9,7 +11,8 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -288,7 +291,7 @@ class ProviderInfo(_message.Message): name: str type: ProviderType prevent_transfer: bool - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[ProviderType, str]] = ..., prevent_transfer: bool = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[ProviderType, str]] = ..., prevent_transfer: _Optional[bool] = ...) -> None: ... class SIPTrunkInfo(_message.Message): __slots__ = ("sip_trunk_id", "kind", "inbound_addresses", "outbound_address", "outbound_number", "transport", "inbound_numbers_regex", "inbound_numbers", "inbound_username", "inbound_password", "outbound_username", "outbound_password", "name", "metadata") @@ -405,7 +408,7 @@ class SIPInboundTrunkInfo(_message.Message): media_encryption: SIPMediaEncryption created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp - def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., numbers: _Optional[_Iterable[str]] = ..., allowed_addresses: _Optional[_Iterable[str]] = ..., allowed_numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., numbers: _Optional[_Iterable[str]] = ..., allowed_addresses: _Optional[_Iterable[str]] = ..., allowed_numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: _Optional[bool] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPInboundTrunkUpdate(_message.Message): __slots__ = ("numbers", "allowed_addresses", "allowed_numbers", "auth_username", "auth_password", "name", "metadata", "media_encryption") @@ -500,7 +503,7 @@ class SIPOutboundTrunkInfo(_message.Message): from_host: str created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp - def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., address: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., from_host: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., address: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., from_host: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPOutboundTrunkUpdate(_message.Message): __slots__ = ("address", "transport", "destination_country", "numbers", "auth_username", "auth_password", "name", "metadata", "media_encryption", "from_host") @@ -616,7 +619,7 @@ class SIPDispatchRuleIndividual(_message.Message): room_prefix: str pin: str no_randomness: bool - def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., no_randomness: bool = ...) -> None: ... + def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., no_randomness: _Optional[bool] = ...) -> None: ... class SIPDispatchRuleCallee(_message.Message): __slots__ = ("room_prefix", "pin", "randomize") @@ -626,7 +629,7 @@ class SIPDispatchRuleCallee(_message.Message): room_prefix: str pin: str randomize: bool - def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., randomize: bool = ...) -> None: ... + def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., randomize: _Optional[bool] = ...) -> None: ... class SIPDispatchRule(_message.Message): __slots__ = ("dispatch_rule_direct", "dispatch_rule_individual", "dispatch_rule_callee") @@ -667,7 +670,7 @@ class CreateSIPDispatchRuleRequest(_message.Message): attributes: _containers.ScalarMap[str, str] room_preset: str room_config: _room.RoomConfiguration - def __init__(self, dispatch_rule: _Optional[_Union[SIPDispatchRuleInfo, _Mapping]] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: bool = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ...) -> None: ... + def __init__(self, dispatch_rule: _Optional[_Union[SIPDispatchRuleInfo, _Mapping]] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: _Optional[bool] = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ...) -> None: ... class UpdateSIPDispatchRuleRequest(_message.Message): __slots__ = ("sip_dispatch_rule_id", "replace", "update") @@ -718,7 +721,7 @@ class SIPDispatchRuleInfo(_message.Message): media_encryption: SIPMediaEncryption created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp - def __init__(self, sip_dispatch_rule_id: _Optional[str] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: bool = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, sip_dispatch_rule_id: _Optional[str] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: _Optional[bool] = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ..., krisp_enabled: _Optional[bool] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPDispatchRuleUpdate(_message.Message): __slots__ = ("trunk_ids", "rule", "name", "metadata", "attributes", "media_encryption") @@ -859,7 +862,7 @@ class CreateSIPParticipantRequest(_message.Message): wait_until_answered: bool display_name: str destination: Destination - def __init__(self, sip_trunk_id: _Optional[str] = ..., trunk: _Optional[_Union[SIPOutboundConfig, _Mapping]] = ..., sip_call_to: _Optional[str] = ..., sip_number: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., dtmf: _Optional[str] = ..., play_ringtone: bool = ..., play_dialtone: bool = ..., hide_phone_number: bool = ..., headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., wait_until_answered: bool = ..., display_name: _Optional[str] = ..., destination: _Optional[_Union[Destination, _Mapping]] = ...) -> None: ... + def __init__(self, sip_trunk_id: _Optional[str] = ..., trunk: _Optional[_Union[SIPOutboundConfig, _Mapping]] = ..., sip_call_to: _Optional[str] = ..., sip_number: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., dtmf: _Optional[str] = ..., play_ringtone: _Optional[bool] = ..., play_dialtone: _Optional[bool] = ..., hide_phone_number: _Optional[bool] = ..., headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: _Optional[bool] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., wait_until_answered: _Optional[bool] = ..., display_name: _Optional[str] = ..., destination: _Optional[_Union[Destination, _Mapping]] = ...) -> None: ... class SIPParticipantInfo(_message.Message): __slots__ = ("participant_id", "participant_identity", "room_name", "sip_call_id") @@ -894,7 +897,7 @@ class TransferSIPParticipantRequest(_message.Message): play_dialtone: bool headers: _containers.ScalarMap[str, str] ringing_timeout: _duration_pb2.Duration - def __init__(self, participant_identity: _Optional[str] = ..., room_name: _Optional[str] = ..., transfer_to: _Optional[str] = ..., play_dialtone: bool = ..., headers: _Optional[_Mapping[str, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + def __init__(self, participant_identity: _Optional[str] = ..., room_name: _Optional[str] = ..., transfer_to: _Optional[str] = ..., play_dialtone: _Optional[bool] = ..., headers: _Optional[_Mapping[str, str]] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ...) -> None: ... class SIPCallInfo(_message.Message): __slots__ = ("call_id", "trunk_id", "dispatch_rule_id", "region", "room_name", "room_id", "participant_identity", "participant_attributes", "from_uri", "to_uri", "created_at", "started_at", "ended_at", "enabled_features", "call_direction", "call_status", "created_at_ns", "started_at_ns", "ended_at_ns", "disconnect_reason", "error", "call_status_code", "audio_codec", "media_encryption", "pcap_file_link", "call_context", "provider_info", "sip_call_id") diff --git a/livekit-protocol/livekit/protocol/webhook.py b/livekit-protocol/livekit/protocol/webhook.py index 70cc46fe..d579193a 100644 --- a/livekit-protocol/livekit/protocol/webhook.py +++ b/livekit-protocol/livekit/protocol/webhook.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_webhook.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'livekit_webhook.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -22,10 +32,10 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'webhook', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_WEBHOOKEVENT'].fields_by_name['num_dropped']._options = None + _globals['_WEBHOOKEVENT'].fields_by_name['num_dropped']._loaded_options = None _globals['_WEBHOOKEVENT'].fields_by_name['num_dropped']._serialized_options = b'\030\001' _globals['_WEBHOOKEVENT']._serialized_start=102 _globals['_WEBHOOKEVENT']._serialized_end=385 diff --git a/livekit-protocol/livekit/protocol/webhook.pyi b/livekit-protocol/livekit/protocol/webhook.pyi index 443a24dc..9ea54fcd 100644 --- a/livekit-protocol/livekit/protocol/webhook.pyi +++ b/livekit-protocol/livekit/protocol/webhook.pyi @@ -3,7 +3,8 @@ from . import egress as _egress from . import ingress as _ingress from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index 785d3bfa..f2fd0b22 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit 785d3bfaa173cb1ffaea078ff4938d0d20ae4ee0 +Subproject commit f2fd0b22e19ab8d2b51e4011e6f3fa65537ee510 From c47b11294b40b18ff13f10276838b2438c9e2ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 8 Apr 2026 14:14:52 -0700 Subject: [PATCH 4/5] pull latest protocol and regenerate (da9e3f7) Adds GetFrameworkInfo to RemoteSession --- .../protocol/agent_pb/agent_session.py | 108 +++++++++--------- .../protocol/agent_pb/agent_session.pyi | 22 +++- livekit-protocol/protocol | 2 +- 3 files changed, 75 insertions(+), 57 deletions(-) diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py index 4b53718d..0f621b78 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py @@ -27,7 +27,7 @@ from ..logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!agent/livekit_agent_session.proto\x12\rlivekit.agent\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14logger/options.proto\"\xc3\x03\n\rMetricsReport\x12\x37\n\x13started_speaking_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x13stopped_speaking_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x13transcription_delay\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x1e\n\x11\x65nd_of_turn_delay\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12)\n\x1con_user_turn_completed_delay\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x1a\n\rllm_node_ttft\x18\x06 \x01(\x01H\x03\x88\x01\x01\x12\x1a\n\rtts_node_ttfb\x18\x07 \x01(\x01H\x04\x88\x01\x01\x12\x18\n\x0b\x65\x32\x65_latency\x18\x08 \x01(\x01H\x05\x88\x01\x01\x42\x16\n\x14_transcription_delayB\x14\n\x12_end_of_turn_delayB\x1f\n\x1d_on_user_turn_completed_delayB\x10\n\x0e_llm_node_ttftB\x10\n\x0e_tts_node_ttfbB\x0e\n\x0c_e2e_latency\"\xb9\x03\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12%\n\x04role\x18\x02 \x01(\x0e\x32\x17.livekit.agent.ChatRole\x12\x37\n\x07\x63ontent\x18\x03 \x03(\x0b\x32&.livekit.agent.ChatMessage.ChatContent\x12\x13\n\x0binterrupted\x18\x04 \x01(\x08\x12\"\n\x15transcript_confidence\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x34\n\x05\x65xtra\x18\x06 \x03(\x0b\x32%.livekit.agent.ChatMessage.ExtraEntry\x12-\n\x07metrics\x18\x07 \x01(\x0b\x32\x1c.livekit.agent.MetricsReport\x12.\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a(\n\x0b\x43hatContent\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x42\t\n\x07payload\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x18\n\x16_transcript_confidence\"\x88\x01\n\x0c\x46unctionCall\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x07\x63\x61ll_id\x18\x02 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\x12\x11\n\targuments\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9d\x01\n\x12\x46unctionCallOutput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1b\n\x07\x63\x61ll_id\x18\x03 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\x12\x0e\n\x06output\x18\x04 \x01(\t\x12\x10\n\x08is_error\x18\x05 \x01(\x08\x12.\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x0c\x41gentHandoff\x12\n\n\x02id\x18\x01 \x01(\t\x12)\n\x0cold_agent_id\x18\x02 \x01(\tB\x0e\x9a\xec,\noldAgentIDH\x00\x88\x01\x01\x12$\n\x0cnew_agent_id\x18\x03 \x01(\tB\x0e\x9a\xec,\nnewAgentID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\n\r_old_agent_id\"\xa7\x01\n\x11\x41gentConfigUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x0cinstructions\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x0btools_added\x18\x03 \x03(\t\x12\x15\n\rtools_removed\x18\x04 \x03(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\n\r_instructions\"\xf5\x02\n\x0b\x43hatContext\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\xb1\x02\n\x08\x43hatItem\x12-\n\x07message\x18\x01 \x01(\x0b\x32\x1a.livekit.agent.ChatMessageH\x00\x12\x34\n\rfunction_call\x18\x02 \x01(\x0b\x32\x1b.livekit.agent.FunctionCallH\x00\x12\x41\n\x14\x66unction_call_output\x18\x03 \x01(\x0b\x32!.livekit.agent.FunctionCallOutputH\x00\x12\x34\n\ragent_handoff\x18\x04 \x01(\x0b\x32\x1b.livekit.agent.AgentHandoffH\x00\x12?\n\x13\x61gent_config_update\x18\x05 \x01(\x0b\x32 .livekit.agent.AgentConfigUpdateH\x00\x42\x06\n\x04item\"\x88\x03\n\rLLMModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x1b\n\x13input_cached_tokens\x18\x04 \x01(\x05\x12\x1a\n\x12input_audio_tokens\x18\x05 \x01(\x05\x12!\n\x19input_cached_audio_tokens\x18\x06 \x01(\x05\x12\x19\n\x11input_text_tokens\x18\x07 \x01(\x05\x12 \n\x18input_cached_text_tokens\x18\x08 \x01(\x05\x12\x1a\n\x12input_image_tokens\x18\t \x01(\x05\x12!\n\x19input_cached_image_tokens\x18\n \x01(\x05\x12\x15\n\routput_tokens\x18\x0b \x01(\x05\x12\x1b\n\x13output_audio_tokens\x18\x0c \x01(\x05\x12\x1a\n\x12output_text_tokens\x18\r \x01(\x05\x12\x18\n\x10session_duration\x18\x0e \x01(\x01\"\x8f\x01\n\rTTSModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x15\n\routput_tokens\x18\x04 \x01(\x05\x12\x18\n\x10\x63haracters_count\x18\x05 \x01(\x05\x12\x16\n\x0e\x61udio_duration\x18\x06 \x01(\x01\"u\n\rSTTModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x15\n\routput_tokens\x18\x04 \x01(\x05\x12\x16\n\x0e\x61udio_duration\x18\x05 \x01(\x01\"Q\n\x16InterruptionModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x16\n\x0etotal_requests\x18\x03 \x01(\x05\"\xdb\x01\n\nModelUsage\x12+\n\x03llm\x18\x01 \x01(\x0b\x32\x1c.livekit.agent.LLMModelUsageH\x00\x12+\n\x03tts\x18\x02 \x01(\x0b\x32\x1c.livekit.agent.TTSModelUsageH\x00\x12+\n\x03stt\x18\x03 \x01(\x0b\x32\x1c.livekit.agent.STTModelUsageH\x00\x12=\n\x0cinterruption\x18\x04 \x01(\x0b\x32%.livekit.agent.InterruptionModelUsageH\x00\x42\x07\n\x05usage\"C\n\x11\x41gentSessionUsage\x12.\n\x0bmodel_usage\x18\x01 \x03(\x0b\x32\x19.livekit.agent.ModelUsage\"\xae\x0c\n\x11\x41gentSessionEvent\x12.\n\ncreated_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12Q\n\x13\x61gent_state_changed\x18\n \x01(\x0b\x32\x32.livekit.agent.AgentSessionEvent.AgentStateChangedH\x00\x12O\n\x12user_state_changed\x18\x0b \x01(\x0b\x32\x31.livekit.agent.AgentSessionEvent.UserStateChangedH\x00\x12Y\n\x17\x63onversation_item_added\x18\x0c \x01(\x0b\x32\x36.livekit.agent.AgentSessionEvent.ConversationItemAddedH\x00\x12W\n\x16user_input_transcribed\x18\r \x01(\x0b\x32\x35.livekit.agent.AgentSessionEvent.UserInputTranscribedH\x00\x12Y\n\x17\x66unction_tools_executed\x18\x0e \x01(\x0b\x32\x36.livekit.agent.AgentSessionEvent.FunctionToolsExecutedH\x00\x12\x37\n\x05\x65rror\x18\x0f \x01(\x0b\x32&.livekit.agent.AgentSessionEvent.ErrorH\x00\x12P\n\x12overlapping_speech\x18\x10 \x01(\x0b\x32\x32.livekit.agent.AgentSessionEvent.OverlappingSpeechH\x00\x12U\n\x15session_usage_updated\x18\x11 \x01(\x0b\x32\x34.livekit.agent.AgentSessionEvent.SessionUsageUpdatedH\x00\x1ao\n\x11\x41gentStateChanged\x12,\n\told_state\x18\x01 \x01(\x0e\x32\x19.livekit.agent.AgentState\x12,\n\tnew_state\x18\x02 \x01(\x0e\x32\x19.livekit.agent.AgentState\x1al\n\x10UserStateChanged\x12+\n\told_state\x18\x01 \x01(\x0e\x32\x18.livekit.agent.UserState\x12+\n\tnew_state\x18\x02 \x01(\x0e\x32\x18.livekit.agent.UserState\x1aJ\n\x15\x43onversationItemAdded\x12\x31\n\x04item\x18\x01 \x01(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a`\n\x14UserInputTranscribed\x12\x12\n\ntranscript\x18\x01 \x01(\t\x12\x10\n\x08is_final\x18\x02 \x01(\x08\x12\x15\n\x08language\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_language\x1a\x8e\x01\n\x15\x46unctionToolsExecuted\x12\x33\n\x0e\x66unction_calls\x18\x01 \x03(\x0b\x32\x1b.livekit.agent.FunctionCall\x12@\n\x15\x66unction_call_outputs\x18\x02 \x03(\x0b\x32!.livekit.agent.FunctionCallOutput\x1a\x18\n\x05\x45rror\x12\x0f\n\x07message\x18\x01 \x01(\t\x1a\xca\x01\n\x11OverlappingSpeech\x12\x17\n\x0fis_interruption\x18\x01 \x01(\x08\x12;\n\x12overlap_started_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x17\n\x0f\x64\x65tection_delay\x18\x03 \x01(\x01\x12/\n\x0b\x64\x65tected_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x15\n\x13_overlap_started_at\x1a\x46\n\x13SessionUsageUpdated\x12/\n\x05usage\x18\x01 \x01(\x0b\x32 .livekit.agent.AgentSessionUsageB\x07\n\x05\x65vent\"\x85\x05\n\x0eSessionRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x32\n\x04ping\x18\x02 \x01(\x0b\x32\".livekit.agent.SessionRequest.PingH\x00\x12H\n\x10get_chat_history\x18\x04 \x01(\x0b\x32,.livekit.agent.SessionRequest.GetChatHistoryH\x00\x12;\n\trun_input\x18\x05 \x01(\x0b\x32&.livekit.agent.SessionRequest.RunInputH\x00\x12\x44\n\x0eget_agent_info\x18\x06 \x01(\x0b\x32*.livekit.agent.SessionRequest.GetAgentInfoH\x00\x12J\n\x11get_session_state\x18\x07 \x01(\x0b\x32-.livekit.agent.SessionRequest.GetSessionStateH\x00\x12\x42\n\rget_rtc_stats\x18\x08 \x01(\x0b\x32).livekit.agent.SessionRequest.GetRTCStatsH\x00\x12J\n\x11get_session_usage\x18\t \x01(\x0b\x32-.livekit.agent.SessionRequest.GetSessionUsageH\x00\x1a\x06\n\x04Ping\x1a\x10\n\x0eGetChatHistory\x1a\x18\n\x08RunInput\x12\x0c\n\x04text\x18\x01 \x01(\t\x1a\x0e\n\x0cGetAgentInfo\x1a\x11\n\x0fGetSessionState\x1a\r\n\x0bGetRTCStats\x1a\x11\n\x0fGetSessionUsageB\t\n\x07request\"\xd2\x0b\n\x0fSessionResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x33\n\x04pong\x18\x03 \x01(\x0b\x32#.livekit.agent.SessionResponse.PongH\x00\x12Q\n\x10get_chat_history\x18\x05 \x01(\x0b\x32\x35.livekit.agent.SessionResponse.GetChatHistoryResponseH\x00\x12\x44\n\trun_input\x18\x06 \x01(\x0b\x32/.livekit.agent.SessionResponse.RunInputResponseH\x00\x12M\n\x0eget_agent_info\x18\x07 \x01(\x0b\x32\x33.livekit.agent.SessionResponse.GetAgentInfoResponseH\x00\x12S\n\x11get_session_state\x18\x08 \x01(\x0b\x32\x36.livekit.agent.SessionResponse.GetSessionStateResponseH\x00\x12K\n\rget_rtc_stats\x18\t \x01(\x0b\x32\x32.livekit.agent.SessionResponse.GetRTCStatsResponseH\x00\x12S\n\x11get_session_usage\x18\n \x01(\x0b\x32\x36.livekit.agent.SessionResponse.GetSessionUsageResponseH\x00\x1a\x06\n\x04Pong\x1aL\n\x16GetChatHistoryResponse\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\x94\x01\n\x14GetAgentInfoResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x0cinstructions\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05tools\x18\x03 \x03(\t\x12\x35\n\x08\x63hat_ctx\x18\x04 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItemB\x0f\n\r_instructions\x1a\x46\n\x10RunInputResponse\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\xbf\x02\n\x17GetSessionStateResponse\x12.\n\x0b\x61gent_state\x18\x01 \x01(\x0e\x32\x19.livekit.agent.AgentState\x12,\n\nuser_state\x18\x02 \x01(\x0e\x32\x18.livekit.agent.UserState\x12\x10\n\x08\x61gent_id\x18\x03 \x01(\t\x12T\n\x07options\x18\x04 \x03(\x0b\x32\x43.livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a.\n\x0cOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1az\n\x13GetRTCStatsResponse\x12\x30\n\x0fpublisher_stats\x18\x01 \x03(\x0b\x32\x17.google.protobuf.Struct\x12\x31\n\x10subscriber_stats\x18\x02 \x03(\x0b\x32\x17.google.protobuf.Struct\x1az\n\x17GetSessionUsageResponse\x12/\n\x05usage\x18\x01 \x01(\x0b\x32 .livekit.agent.AgentSessionUsage\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\n\x08responseB\x08\n\x06_error\"\xba\x06\n\x13\x41gentSessionMessage\x12N\n\x0b\x61udio_input\x18\x01 \x01(\x0b\x32\x37.livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrameH\x00\x12O\n\x0c\x61udio_output\x18\x02 \x01(\x0b\x32\x37.livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrameH\x00\x12\x31\n\x05\x65vent\x18\x03 \x01(\x0b\x32 .livekit.agent.AgentSessionEventH\x00\x12\x30\n\x07request\x18\x04 \x01(\x0b\x32\x1d.livekit.agent.SessionRequestH\x00\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x1e.livekit.agent.SessionResponseH\x00\x12_\n\x14\x61udio_playback_flush\x18\x06 \x01(\x0b\x32?.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlushH\x00\x12_\n\x14\x61udio_playback_clear\x18\x07 \x01(\x0b\x32?.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClearH\x00\x12\x65\n\x17\x61udio_playback_finished\x18\x08 \x01(\x0b\x32\x42.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinishedH\x00\x1a\xb4\x01\n\tConsoleIO\x1a\x62\n\nAudioFrame\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x13\n\x0bsample_rate\x18\x02 \x01(\r\x12\x14\n\x0cnum_channels\x18\x03 \x01(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x01(\r\x1a\x14\n\x12\x41udioPlaybackFlush\x1a\x14\n\x12\x41udioPlaybackClear\x1a\x17\n\x15\x41udioPlaybackFinishedB\t\n\x07message*>\n\x08\x43hatRole\x12\r\n\tDEVELOPER\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x08\n\x04USER\x10\x02\x12\r\n\tASSISTANT\x10\x03*b\n\nAgentState\x12\x13\n\x0f\x41S_INITIALIZING\x10\x00\x12\x0b\n\x07\x41S_IDLE\x10\x01\x12\x10\n\x0c\x41S_LISTENING\x10\x02\x12\x0f\n\x0b\x41S_THINKING\x10\x03\x12\x0f\n\x0b\x41S_SPEAKING\x10\x04*;\n\tUserState\x12\x0f\n\x0bUS_SPEAKING\x10\x00\x12\x10\n\x0cUS_LISTENING\x10\x01\x12\x0b\n\x07US_AWAY\x10\x02\x42+Z)github.com/livekit/protocol/livekit/agentb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!agent/livekit_agent_session.proto\x12\rlivekit.agent\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14logger/options.proto\"\xc3\x03\n\rMetricsReport\x12\x37\n\x13started_speaking_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x13stopped_speaking_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x13transcription_delay\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x1e\n\x11\x65nd_of_turn_delay\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12)\n\x1con_user_turn_completed_delay\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x1a\n\rllm_node_ttft\x18\x06 \x01(\x01H\x03\x88\x01\x01\x12\x1a\n\rtts_node_ttfb\x18\x07 \x01(\x01H\x04\x88\x01\x01\x12\x18\n\x0b\x65\x32\x65_latency\x18\x08 \x01(\x01H\x05\x88\x01\x01\x42\x16\n\x14_transcription_delayB\x14\n\x12_end_of_turn_delayB\x1f\n\x1d_on_user_turn_completed_delayB\x10\n\x0e_llm_node_ttftB\x10\n\x0e_tts_node_ttfbB\x0e\n\x0c_e2e_latency\"\xb9\x03\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12%\n\x04role\x18\x02 \x01(\x0e\x32\x17.livekit.agent.ChatRole\x12\x37\n\x07\x63ontent\x18\x03 \x03(\x0b\x32&.livekit.agent.ChatMessage.ChatContent\x12\x13\n\x0binterrupted\x18\x04 \x01(\x08\x12\"\n\x15transcript_confidence\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x34\n\x05\x65xtra\x18\x06 \x03(\x0b\x32%.livekit.agent.ChatMessage.ExtraEntry\x12-\n\x07metrics\x18\x07 \x01(\x0b\x32\x1c.livekit.agent.MetricsReport\x12.\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a(\n\x0b\x43hatContent\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x42\t\n\x07payload\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x18\n\x16_transcript_confidence\"\x88\x01\n\x0c\x46unctionCall\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x07\x63\x61ll_id\x18\x02 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\x12\x11\n\targuments\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9d\x01\n\x12\x46unctionCallOutput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1b\n\x07\x63\x61ll_id\x18\x03 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\x12\x0e\n\x06output\x18\x04 \x01(\t\x12\x10\n\x08is_error\x18\x05 \x01(\x08\x12.\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x0c\x41gentHandoff\x12\n\n\x02id\x18\x01 \x01(\t\x12)\n\x0cold_agent_id\x18\x02 \x01(\tB\x0e\x9a\xec,\noldAgentIDH\x00\x88\x01\x01\x12$\n\x0cnew_agent_id\x18\x03 \x01(\tB\x0e\x9a\xec,\nnewAgentID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\n\r_old_agent_id\"\xa7\x01\n\x11\x41gentConfigUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x0cinstructions\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x0btools_added\x18\x03 \x03(\t\x12\x15\n\rtools_removed\x18\x04 \x03(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\n\r_instructions\"\xf5\x02\n\x0b\x43hatContext\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\xb1\x02\n\x08\x43hatItem\x12-\n\x07message\x18\x01 \x01(\x0b\x32\x1a.livekit.agent.ChatMessageH\x00\x12\x34\n\rfunction_call\x18\x02 \x01(\x0b\x32\x1b.livekit.agent.FunctionCallH\x00\x12\x41\n\x14\x66unction_call_output\x18\x03 \x01(\x0b\x32!.livekit.agent.FunctionCallOutputH\x00\x12\x34\n\ragent_handoff\x18\x04 \x01(\x0b\x32\x1b.livekit.agent.AgentHandoffH\x00\x12?\n\x13\x61gent_config_update\x18\x05 \x01(\x0b\x32 .livekit.agent.AgentConfigUpdateH\x00\x42\x06\n\x04item\"\x88\x03\n\rLLMModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x1b\n\x13input_cached_tokens\x18\x04 \x01(\x05\x12\x1a\n\x12input_audio_tokens\x18\x05 \x01(\x05\x12!\n\x19input_cached_audio_tokens\x18\x06 \x01(\x05\x12\x19\n\x11input_text_tokens\x18\x07 \x01(\x05\x12 \n\x18input_cached_text_tokens\x18\x08 \x01(\x05\x12\x1a\n\x12input_image_tokens\x18\t \x01(\x05\x12!\n\x19input_cached_image_tokens\x18\n \x01(\x05\x12\x15\n\routput_tokens\x18\x0b \x01(\x05\x12\x1b\n\x13output_audio_tokens\x18\x0c \x01(\x05\x12\x1a\n\x12output_text_tokens\x18\r \x01(\x05\x12\x18\n\x10session_duration\x18\x0e \x01(\x01\"\x8f\x01\n\rTTSModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x15\n\routput_tokens\x18\x04 \x01(\x05\x12\x18\n\x10\x63haracters_count\x18\x05 \x01(\x05\x12\x16\n\x0e\x61udio_duration\x18\x06 \x01(\x01\"u\n\rSTTModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x15\n\routput_tokens\x18\x04 \x01(\x05\x12\x16\n\x0e\x61udio_duration\x18\x05 \x01(\x01\"Q\n\x16InterruptionModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x16\n\x0etotal_requests\x18\x03 \x01(\x05\"\xdb\x01\n\nModelUsage\x12+\n\x03llm\x18\x01 \x01(\x0b\x32\x1c.livekit.agent.LLMModelUsageH\x00\x12+\n\x03tts\x18\x02 \x01(\x0b\x32\x1c.livekit.agent.TTSModelUsageH\x00\x12+\n\x03stt\x18\x03 \x01(\x0b\x32\x1c.livekit.agent.STTModelUsageH\x00\x12=\n\x0cinterruption\x18\x04 \x01(\x0b\x32%.livekit.agent.InterruptionModelUsageH\x00\x42\x07\n\x05usage\"C\n\x11\x41gentSessionUsage\x12.\n\x0bmodel_usage\x18\x01 \x03(\x0b\x32\x19.livekit.agent.ModelUsage\"\xae\x0c\n\x11\x41gentSessionEvent\x12.\n\ncreated_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12Q\n\x13\x61gent_state_changed\x18\n \x01(\x0b\x32\x32.livekit.agent.AgentSessionEvent.AgentStateChangedH\x00\x12O\n\x12user_state_changed\x18\x0b \x01(\x0b\x32\x31.livekit.agent.AgentSessionEvent.UserStateChangedH\x00\x12Y\n\x17\x63onversation_item_added\x18\x0c \x01(\x0b\x32\x36.livekit.agent.AgentSessionEvent.ConversationItemAddedH\x00\x12W\n\x16user_input_transcribed\x18\r \x01(\x0b\x32\x35.livekit.agent.AgentSessionEvent.UserInputTranscribedH\x00\x12Y\n\x17\x66unction_tools_executed\x18\x0e \x01(\x0b\x32\x36.livekit.agent.AgentSessionEvent.FunctionToolsExecutedH\x00\x12\x37\n\x05\x65rror\x18\x0f \x01(\x0b\x32&.livekit.agent.AgentSessionEvent.ErrorH\x00\x12P\n\x12overlapping_speech\x18\x10 \x01(\x0b\x32\x32.livekit.agent.AgentSessionEvent.OverlappingSpeechH\x00\x12U\n\x15session_usage_updated\x18\x11 \x01(\x0b\x32\x34.livekit.agent.AgentSessionEvent.SessionUsageUpdatedH\x00\x1ao\n\x11\x41gentStateChanged\x12,\n\told_state\x18\x01 \x01(\x0e\x32\x19.livekit.agent.AgentState\x12,\n\tnew_state\x18\x02 \x01(\x0e\x32\x19.livekit.agent.AgentState\x1al\n\x10UserStateChanged\x12+\n\told_state\x18\x01 \x01(\x0e\x32\x18.livekit.agent.UserState\x12+\n\tnew_state\x18\x02 \x01(\x0e\x32\x18.livekit.agent.UserState\x1aJ\n\x15\x43onversationItemAdded\x12\x31\n\x04item\x18\x01 \x01(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a`\n\x14UserInputTranscribed\x12\x12\n\ntranscript\x18\x01 \x01(\t\x12\x10\n\x08is_final\x18\x02 \x01(\x08\x12\x15\n\x08language\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_language\x1a\x8e\x01\n\x15\x46unctionToolsExecuted\x12\x33\n\x0e\x66unction_calls\x18\x01 \x03(\x0b\x32\x1b.livekit.agent.FunctionCall\x12@\n\x15\x66unction_call_outputs\x18\x02 \x03(\x0b\x32!.livekit.agent.FunctionCallOutput\x1a\x18\n\x05\x45rror\x12\x0f\n\x07message\x18\x01 \x01(\t\x1a\xca\x01\n\x11OverlappingSpeech\x12\x17\n\x0fis_interruption\x18\x01 \x01(\x08\x12;\n\x12overlap_started_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x17\n\x0f\x64\x65tection_delay\x18\x03 \x01(\x01\x12/\n\x0b\x64\x65tected_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x15\n\x13_overlap_started_at\x1a\x46\n\x13SessionUsageUpdated\x12/\n\x05usage\x18\x01 \x01(\x0b\x32 .livekit.agent.AgentSessionUsageB\x07\n\x05\x65vent\"\xe7\x05\n\x0eSessionRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x32\n\x04ping\x18\x02 \x01(\x0b\x32\".livekit.agent.SessionRequest.PingH\x00\x12H\n\x10get_chat_history\x18\x04 \x01(\x0b\x32,.livekit.agent.SessionRequest.GetChatHistoryH\x00\x12;\n\trun_input\x18\x05 \x01(\x0b\x32&.livekit.agent.SessionRequest.RunInputH\x00\x12\x44\n\x0eget_agent_info\x18\x06 \x01(\x0b\x32*.livekit.agent.SessionRequest.GetAgentInfoH\x00\x12J\n\x11get_session_state\x18\x07 \x01(\x0b\x32-.livekit.agent.SessionRequest.GetSessionStateH\x00\x12\x42\n\rget_rtc_stats\x18\x08 \x01(\x0b\x32).livekit.agent.SessionRequest.GetRTCStatsH\x00\x12J\n\x11get_session_usage\x18\t \x01(\x0b\x32-.livekit.agent.SessionRequest.GetSessionUsageH\x00\x12L\n\x12get_framework_info\x18\n \x01(\x0b\x32..livekit.agent.SessionRequest.GetFrameworkInfoH\x00\x1a\x06\n\x04Ping\x1a\x10\n\x0eGetChatHistory\x1a\x18\n\x08RunInput\x12\x0c\n\x04text\x18\x01 \x01(\t\x1a\x0e\n\x0cGetAgentInfo\x1a\x11\n\x0fGetSessionState\x1a\r\n\x0bGetRTCStats\x1a\x11\n\x0fGetSessionUsage\x1a\x12\n\x10GetFrameworkInfoB\t\n\x07request\"\xe7\x0c\n\x0fSessionResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x33\n\x04pong\x18\x03 \x01(\x0b\x32#.livekit.agent.SessionResponse.PongH\x00\x12Q\n\x10get_chat_history\x18\x05 \x01(\x0b\x32\x35.livekit.agent.SessionResponse.GetChatHistoryResponseH\x00\x12\x44\n\trun_input\x18\x06 \x01(\x0b\x32/.livekit.agent.SessionResponse.RunInputResponseH\x00\x12M\n\x0eget_agent_info\x18\x07 \x01(\x0b\x32\x33.livekit.agent.SessionResponse.GetAgentInfoResponseH\x00\x12S\n\x11get_session_state\x18\x08 \x01(\x0b\x32\x36.livekit.agent.SessionResponse.GetSessionStateResponseH\x00\x12K\n\rget_rtc_stats\x18\t \x01(\x0b\x32\x32.livekit.agent.SessionResponse.GetRTCStatsResponseH\x00\x12S\n\x11get_session_usage\x18\n \x01(\x0b\x32\x36.livekit.agent.SessionResponse.GetSessionUsageResponseH\x00\x12U\n\x12get_framework_info\x18\x0b \x01(\x0b\x32\x37.livekit.agent.SessionResponse.GetFrameworkInfoResponseH\x00\x1a\x06\n\x04Pong\x1aL\n\x16GetChatHistoryResponse\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\x94\x01\n\x14GetAgentInfoResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x0cinstructions\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05tools\x18\x03 \x03(\t\x12\x35\n\x08\x63hat_ctx\x18\x04 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItemB\x0f\n\r_instructions\x1a\x46\n\x10RunInputResponse\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\xbf\x02\n\x17GetSessionStateResponse\x12.\n\x0b\x61gent_state\x18\x01 \x01(\x0e\x32\x19.livekit.agent.AgentState\x12,\n\nuser_state\x18\x02 \x01(\x0e\x32\x18.livekit.agent.UserState\x12\x10\n\x08\x61gent_id\x18\x03 \x01(\t\x12T\n\x07options\x18\x04 \x03(\x0b\x32\x43.livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a.\n\x0cOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1az\n\x13GetRTCStatsResponse\x12\x30\n\x0fpublisher_stats\x18\x01 \x03(\x0b\x32\x17.google.protobuf.Struct\x12\x31\n\x10subscriber_stats\x18\x02 \x03(\x0b\x32\x17.google.protobuf.Struct\x1az\n\x17GetSessionUsageResponse\x12/\n\x05usage\x18\x01 \x01(\x0b\x32 .livekit.agent.AgentSessionUsage\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a<\n\x18GetFrameworkInfoResponse\x12\x0b\n\x03sdk\x18\x01 \x01(\t\x12\x13\n\x0bsdk_version\x18\x02 \x01(\tB\n\n\x08responseB\x08\n\x06_error\"\xba\x06\n\x13\x41gentSessionMessage\x12N\n\x0b\x61udio_input\x18\x01 \x01(\x0b\x32\x37.livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrameH\x00\x12O\n\x0c\x61udio_output\x18\x02 \x01(\x0b\x32\x37.livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrameH\x00\x12\x31\n\x05\x65vent\x18\x03 \x01(\x0b\x32 .livekit.agent.AgentSessionEventH\x00\x12\x30\n\x07request\x18\x04 \x01(\x0b\x32\x1d.livekit.agent.SessionRequestH\x00\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x1e.livekit.agent.SessionResponseH\x00\x12_\n\x14\x61udio_playback_flush\x18\x06 \x01(\x0b\x32?.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlushH\x00\x12_\n\x14\x61udio_playback_clear\x18\x07 \x01(\x0b\x32?.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClearH\x00\x12\x65\n\x17\x61udio_playback_finished\x18\x08 \x01(\x0b\x32\x42.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinishedH\x00\x1a\xb4\x01\n\tConsoleIO\x1a\x62\n\nAudioFrame\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x13\n\x0bsample_rate\x18\x02 \x01(\r\x12\x14\n\x0cnum_channels\x18\x03 \x01(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x01(\r\x1a\x14\n\x12\x41udioPlaybackFlush\x1a\x14\n\x12\x41udioPlaybackClear\x1a\x17\n\x15\x41udioPlaybackFinishedB\t\n\x07message*>\n\x08\x43hatRole\x12\r\n\tDEVELOPER\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x08\n\x04USER\x10\x02\x12\r\n\tASSISTANT\x10\x03*b\n\nAgentState\x12\x13\n\x0f\x41S_INITIALIZING\x10\x00\x12\x0b\n\x07\x41S_IDLE\x10\x01\x12\x10\n\x0c\x41S_LISTENING\x10\x02\x12\x0f\n\x0b\x41S_THINKING\x10\x03\x12\x0f\n\x0b\x41S_SPEAKING\x10\x04*;\n\tUserState\x12\x0f\n\x0bUS_SPEAKING\x10\x00\x12\x10\n\x0cUS_LISTENING\x10\x01\x12\x0b\n\x07US_AWAY\x10\x02\x42+Z)github.com/livekit/protocol/livekit/agentb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -47,12 +47,12 @@ _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._serialized_options = b'\232\354,\nnewAgentID' _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._loaded_options = None _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_options = b'8\001' - _globals['_CHATROLE']._serialized_start=7644 - _globals['_CHATROLE']._serialized_end=7706 - _globals['_AGENTSTATE']._serialized_start=7708 - _globals['_AGENTSTATE']._serialized_end=7806 - _globals['_USERSTATE']._serialized_start=7808 - _globals['_USERSTATE']._serialized_end=7867 + _globals['_CHATROLE']._serialized_start=7891 + _globals['_CHATROLE']._serialized_end=7953 + _globals['_AGENTSTATE']._serialized_start=7955 + _globals['_AGENTSTATE']._serialized_end=8053 + _globals['_USERSTATE']._serialized_start=8055 + _globals['_USERSTATE']._serialized_end=8114 _globals['_METRICSREPORT']._serialized_start=138 _globals['_METRICSREPORT']._serialized_end=589 _globals['_CHATMESSAGE']._serialized_start=592 @@ -104,49 +104,53 @@ _globals['_AGENTSESSIONEVENT_SESSIONUSAGEUPDATED']._serialized_start=4593 _globals['_AGENTSESSIONEVENT_SESSIONUSAGEUPDATED']._serialized_end=4663 _globals['_SESSIONREQUEST']._serialized_start=4675 - _globals['_SESSIONREQUEST']._serialized_end=5320 - _globals['_SESSIONREQUEST_PING']._serialized_start=5190 - _globals['_SESSIONREQUEST_PING']._serialized_end=5196 - _globals['_SESSIONREQUEST_GETCHATHISTORY']._serialized_start=5198 - _globals['_SESSIONREQUEST_GETCHATHISTORY']._serialized_end=5214 - _globals['_SESSIONREQUEST_RUNINPUT']._serialized_start=5216 - _globals['_SESSIONREQUEST_RUNINPUT']._serialized_end=5240 - _globals['_SESSIONREQUEST_GETAGENTINFO']._serialized_start=5242 - _globals['_SESSIONREQUEST_GETAGENTINFO']._serialized_end=5256 - _globals['_SESSIONREQUEST_GETSESSIONSTATE']._serialized_start=5258 - _globals['_SESSIONREQUEST_GETSESSIONSTATE']._serialized_end=5275 - _globals['_SESSIONREQUEST_GETRTCSTATS']._serialized_start=5277 - _globals['_SESSIONREQUEST_GETRTCSTATS']._serialized_end=5290 - _globals['_SESSIONREQUEST_GETSESSIONUSAGE']._serialized_start=5292 - _globals['_SESSIONREQUEST_GETSESSIONUSAGE']._serialized_end=5309 - _globals['_SESSIONRESPONSE']._serialized_start=5323 - _globals['_SESSIONRESPONSE']._serialized_end=6813 - _globals['_SESSIONRESPONSE_PONG']._serialized_start=5914 - _globals['_SESSIONRESPONSE_PONG']._serialized_end=5920 - _globals['_SESSIONRESPONSE_GETCHATHISTORYRESPONSE']._serialized_start=5922 - _globals['_SESSIONRESPONSE_GETCHATHISTORYRESPONSE']._serialized_end=5998 - _globals['_SESSIONRESPONSE_GETAGENTINFORESPONSE']._serialized_start=6001 - _globals['_SESSIONRESPONSE_GETAGENTINFORESPONSE']._serialized_end=6149 - _globals['_SESSIONRESPONSE_RUNINPUTRESPONSE']._serialized_start=6151 - _globals['_SESSIONRESPONSE_RUNINPUTRESPONSE']._serialized_end=6221 - _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE']._serialized_start=6224 - _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE']._serialized_end=6543 - _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_start=6497 - _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_end=6543 - _globals['_SESSIONRESPONSE_GETRTCSTATSRESPONSE']._serialized_start=6545 - _globals['_SESSIONRESPONSE_GETRTCSTATSRESPONSE']._serialized_end=6667 - _globals['_SESSIONRESPONSE_GETSESSIONUSAGERESPONSE']._serialized_start=6669 - _globals['_SESSIONRESPONSE_GETSESSIONUSAGERESPONSE']._serialized_end=6791 - _globals['_AGENTSESSIONMESSAGE']._serialized_start=6816 - _globals['_AGENTSESSIONMESSAGE']._serialized_end=7642 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO']._serialized_start=7451 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO']._serialized_end=7631 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOFRAME']._serialized_start=7464 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOFRAME']._serialized_end=7562 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFLUSH']._serialized_start=7564 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFLUSH']._serialized_end=7584 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKCLEAR']._serialized_start=7586 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKCLEAR']._serialized_end=7606 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFINISHED']._serialized_start=7608 - _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFINISHED']._serialized_end=7631 + _globals['_SESSIONREQUEST']._serialized_end=5418 + _globals['_SESSIONREQUEST_PING']._serialized_start=5268 + _globals['_SESSIONREQUEST_PING']._serialized_end=5274 + _globals['_SESSIONREQUEST_GETCHATHISTORY']._serialized_start=5276 + _globals['_SESSIONREQUEST_GETCHATHISTORY']._serialized_end=5292 + _globals['_SESSIONREQUEST_RUNINPUT']._serialized_start=5294 + _globals['_SESSIONREQUEST_RUNINPUT']._serialized_end=5318 + _globals['_SESSIONREQUEST_GETAGENTINFO']._serialized_start=5320 + _globals['_SESSIONREQUEST_GETAGENTINFO']._serialized_end=5334 + _globals['_SESSIONREQUEST_GETSESSIONSTATE']._serialized_start=5336 + _globals['_SESSIONREQUEST_GETSESSIONSTATE']._serialized_end=5353 + _globals['_SESSIONREQUEST_GETRTCSTATS']._serialized_start=5355 + _globals['_SESSIONREQUEST_GETRTCSTATS']._serialized_end=5368 + _globals['_SESSIONREQUEST_GETSESSIONUSAGE']._serialized_start=5370 + _globals['_SESSIONREQUEST_GETSESSIONUSAGE']._serialized_end=5387 + _globals['_SESSIONREQUEST_GETFRAMEWORKINFO']._serialized_start=5389 + _globals['_SESSIONREQUEST_GETFRAMEWORKINFO']._serialized_end=5407 + _globals['_SESSIONRESPONSE']._serialized_start=5421 + _globals['_SESSIONRESPONSE']._serialized_end=7060 + _globals['_SESSIONRESPONSE_PONG']._serialized_start=6099 + _globals['_SESSIONRESPONSE_PONG']._serialized_end=6105 + _globals['_SESSIONRESPONSE_GETCHATHISTORYRESPONSE']._serialized_start=6107 + _globals['_SESSIONRESPONSE_GETCHATHISTORYRESPONSE']._serialized_end=6183 + _globals['_SESSIONRESPONSE_GETAGENTINFORESPONSE']._serialized_start=6186 + _globals['_SESSIONRESPONSE_GETAGENTINFORESPONSE']._serialized_end=6334 + _globals['_SESSIONRESPONSE_RUNINPUTRESPONSE']._serialized_start=6336 + _globals['_SESSIONRESPONSE_RUNINPUTRESPONSE']._serialized_end=6406 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE']._serialized_start=6409 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE']._serialized_end=6728 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_start=6682 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_end=6728 + _globals['_SESSIONRESPONSE_GETRTCSTATSRESPONSE']._serialized_start=6730 + _globals['_SESSIONRESPONSE_GETRTCSTATSRESPONSE']._serialized_end=6852 + _globals['_SESSIONRESPONSE_GETSESSIONUSAGERESPONSE']._serialized_start=6854 + _globals['_SESSIONRESPONSE_GETSESSIONUSAGERESPONSE']._serialized_end=6976 + _globals['_SESSIONRESPONSE_GETFRAMEWORKINFORESPONSE']._serialized_start=6978 + _globals['_SESSIONRESPONSE_GETFRAMEWORKINFORESPONSE']._serialized_end=7038 + _globals['_AGENTSESSIONMESSAGE']._serialized_start=7063 + _globals['_AGENTSESSIONMESSAGE']._serialized_end=7889 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO']._serialized_start=7698 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO']._serialized_end=7878 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOFRAME']._serialized_start=7711 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOFRAME']._serialized_end=7809 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFLUSH']._serialized_start=7811 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFLUSH']._serialized_end=7831 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKCLEAR']._serialized_start=7833 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKCLEAR']._serialized_end=7853 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFINISHED']._serialized_start=7855 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFINISHED']._serialized_end=7878 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi index df5cfd85..0cc41c36 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi @@ -341,7 +341,7 @@ class AgentSessionEvent(_message.Message): def __init__(self, created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., agent_state_changed: _Optional[_Union[AgentSessionEvent.AgentStateChanged, _Mapping]] = ..., user_state_changed: _Optional[_Union[AgentSessionEvent.UserStateChanged, _Mapping]] = ..., conversation_item_added: _Optional[_Union[AgentSessionEvent.ConversationItemAdded, _Mapping]] = ..., user_input_transcribed: _Optional[_Union[AgentSessionEvent.UserInputTranscribed, _Mapping]] = ..., function_tools_executed: _Optional[_Union[AgentSessionEvent.FunctionToolsExecuted, _Mapping]] = ..., error: _Optional[_Union[AgentSessionEvent.Error, _Mapping]] = ..., overlapping_speech: _Optional[_Union[AgentSessionEvent.OverlappingSpeech, _Mapping]] = ..., session_usage_updated: _Optional[_Union[AgentSessionEvent.SessionUsageUpdated, _Mapping]] = ...) -> None: ... class SessionRequest(_message.Message): - __slots__ = ("request_id", "ping", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage") + __slots__ = ("request_id", "ping", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage", "get_framework_info") class Ping(_message.Message): __slots__ = () def __init__(self) -> None: ... @@ -365,6 +365,9 @@ class SessionRequest(_message.Message): class GetSessionUsage(_message.Message): __slots__ = () def __init__(self) -> None: ... + class GetFrameworkInfo(_message.Message): + __slots__ = () + def __init__(self) -> None: ... REQUEST_ID_FIELD_NUMBER: _ClassVar[int] PING_FIELD_NUMBER: _ClassVar[int] GET_CHAT_HISTORY_FIELD_NUMBER: _ClassVar[int] @@ -373,6 +376,7 @@ class SessionRequest(_message.Message): GET_SESSION_STATE_FIELD_NUMBER: _ClassVar[int] GET_RTC_STATS_FIELD_NUMBER: _ClassVar[int] GET_SESSION_USAGE_FIELD_NUMBER: _ClassVar[int] + GET_FRAMEWORK_INFO_FIELD_NUMBER: _ClassVar[int] request_id: str ping: SessionRequest.Ping get_chat_history: SessionRequest.GetChatHistory @@ -381,10 +385,11 @@ class SessionRequest(_message.Message): get_session_state: SessionRequest.GetSessionState get_rtc_stats: SessionRequest.GetRTCStats get_session_usage: SessionRequest.GetSessionUsage - def __init__(self, request_id: _Optional[str] = ..., ping: _Optional[_Union[SessionRequest.Ping, _Mapping]] = ..., get_chat_history: _Optional[_Union[SessionRequest.GetChatHistory, _Mapping]] = ..., run_input: _Optional[_Union[SessionRequest.RunInput, _Mapping]] = ..., get_agent_info: _Optional[_Union[SessionRequest.GetAgentInfo, _Mapping]] = ..., get_session_state: _Optional[_Union[SessionRequest.GetSessionState, _Mapping]] = ..., get_rtc_stats: _Optional[_Union[SessionRequest.GetRTCStats, _Mapping]] = ..., get_session_usage: _Optional[_Union[SessionRequest.GetSessionUsage, _Mapping]] = ...) -> None: ... + get_framework_info: SessionRequest.GetFrameworkInfo + def __init__(self, request_id: _Optional[str] = ..., ping: _Optional[_Union[SessionRequest.Ping, _Mapping]] = ..., get_chat_history: _Optional[_Union[SessionRequest.GetChatHistory, _Mapping]] = ..., run_input: _Optional[_Union[SessionRequest.RunInput, _Mapping]] = ..., get_agent_info: _Optional[_Union[SessionRequest.GetAgentInfo, _Mapping]] = ..., get_session_state: _Optional[_Union[SessionRequest.GetSessionState, _Mapping]] = ..., get_rtc_stats: _Optional[_Union[SessionRequest.GetRTCStats, _Mapping]] = ..., get_session_usage: _Optional[_Union[SessionRequest.GetSessionUsage, _Mapping]] = ..., get_framework_info: _Optional[_Union[SessionRequest.GetFrameworkInfo, _Mapping]] = ...) -> None: ... class SessionResponse(_message.Message): - __slots__ = ("request_id", "error", "pong", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage") + __slots__ = ("request_id", "error", "pong", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage", "get_framework_info") class Pong(_message.Message): __slots__ = () def __init__(self) -> None: ... @@ -443,6 +448,13 @@ class SessionResponse(_message.Message): usage: AgentSessionUsage created_at: _timestamp_pb2.Timestamp def __init__(self, usage: _Optional[_Union[AgentSessionUsage, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class GetFrameworkInfoResponse(_message.Message): + __slots__ = ("sdk", "sdk_version") + SDK_FIELD_NUMBER: _ClassVar[int] + SDK_VERSION_FIELD_NUMBER: _ClassVar[int] + sdk: str + sdk_version: str + def __init__(self, sdk: _Optional[str] = ..., sdk_version: _Optional[str] = ...) -> None: ... REQUEST_ID_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] PONG_FIELD_NUMBER: _ClassVar[int] @@ -452,6 +464,7 @@ class SessionResponse(_message.Message): GET_SESSION_STATE_FIELD_NUMBER: _ClassVar[int] GET_RTC_STATS_FIELD_NUMBER: _ClassVar[int] GET_SESSION_USAGE_FIELD_NUMBER: _ClassVar[int] + GET_FRAMEWORK_INFO_FIELD_NUMBER: _ClassVar[int] request_id: str error: str pong: SessionResponse.Pong @@ -461,7 +474,8 @@ class SessionResponse(_message.Message): get_session_state: SessionResponse.GetSessionStateResponse get_rtc_stats: SessionResponse.GetRTCStatsResponse get_session_usage: SessionResponse.GetSessionUsageResponse - def __init__(self, request_id: _Optional[str] = ..., error: _Optional[str] = ..., pong: _Optional[_Union[SessionResponse.Pong, _Mapping]] = ..., get_chat_history: _Optional[_Union[SessionResponse.GetChatHistoryResponse, _Mapping]] = ..., run_input: _Optional[_Union[SessionResponse.RunInputResponse, _Mapping]] = ..., get_agent_info: _Optional[_Union[SessionResponse.GetAgentInfoResponse, _Mapping]] = ..., get_session_state: _Optional[_Union[SessionResponse.GetSessionStateResponse, _Mapping]] = ..., get_rtc_stats: _Optional[_Union[SessionResponse.GetRTCStatsResponse, _Mapping]] = ..., get_session_usage: _Optional[_Union[SessionResponse.GetSessionUsageResponse, _Mapping]] = ...) -> None: ... + get_framework_info: SessionResponse.GetFrameworkInfoResponse + def __init__(self, request_id: _Optional[str] = ..., error: _Optional[str] = ..., pong: _Optional[_Union[SessionResponse.Pong, _Mapping]] = ..., get_chat_history: _Optional[_Union[SessionResponse.GetChatHistoryResponse, _Mapping]] = ..., run_input: _Optional[_Union[SessionResponse.RunInputResponse, _Mapping]] = ..., get_agent_info: _Optional[_Union[SessionResponse.GetAgentInfoResponse, _Mapping]] = ..., get_session_state: _Optional[_Union[SessionResponse.GetSessionStateResponse, _Mapping]] = ..., get_rtc_stats: _Optional[_Union[SessionResponse.GetRTCStatsResponse, _Mapping]] = ..., get_session_usage: _Optional[_Union[SessionResponse.GetSessionUsageResponse, _Mapping]] = ..., get_framework_info: _Optional[_Union[SessionResponse.GetFrameworkInfoResponse, _Mapping]] = ...) -> None: ... class AgentSessionMessage(_message.Message): __slots__ = ("audio_input", "audio_output", "event", "request", "response", "audio_playback_flush", "audio_playback_clear", "audio_playback_finished") diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index f2fd0b22..da9e3f70 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit f2fd0b22e19ab8d2b51e4011e6f3fa65537ee510 +Subproject commit da9e3f70b89e7b1874b2712bb92b58687c853fcf From 84c8775786a380964abe5a0fa56b9ff06e457299 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 21:15:25 +0000 Subject: [PATCH 5/5] generated protobuf --- livekit-protocol/livekit/protocol/agent.py | 34 ++- livekit-protocol/livekit/protocol/agent.pyi | 9 +- .../livekit/protocol/agent_dispatch.py | 26 +-- .../livekit/protocol/agent_dispatch.pyi | 3 +- .../livekit/protocol/agent_pb/agent_dev.py | 16 +- .../livekit/protocol/agent_pb/agent_dev.pyi | 5 +- .../protocol/agent_pb/agent_session.py | 28 +-- .../protocol/agent_pb/agent_session.pyi | 27 ++- .../livekit/protocol/agent_pb/agent_text.py | 24 +-- .../livekit/protocol/agent_pb/agent_text.pyi | 3 +- .../livekit/protocol/analytics.py | 78 +++---- .../livekit/protocol/analytics.pyi | 23 +- .../livekit/protocol/connector.py | 16 +- .../livekit/protocol/connector_twilio.py | 24 +-- .../livekit/protocol/connector_twilio.pyi | 3 +- .../livekit/protocol/connector_whatsapp.py | 54 ++--- .../livekit/protocol/connector_whatsapp.pyi | 9 +- livekit-protocol/livekit/protocol/egress.py | 96 ++++----- livekit-protocol/livekit/protocol/egress.pyi | 33 ++- livekit-protocol/livekit/protocol/ingress.py | 46 ++-- livekit-protocol/livekit/protocol/ingress.pyi | 11 +- .../livekit/protocol/logger_pb/options.py | 16 +- livekit-protocol/livekit/protocol/metrics.py | 20 +- livekit-protocol/livekit/protocol/metrics.pyi | 13 +- livekit-protocol/livekit/protocol/models.py | 84 ++++---- livekit-protocol/livekit/protocol/models.pyi | 37 ++-- livekit-protocol/livekit/protocol/room.py | 36 ++-- livekit-protocol/livekit/protocol/room.pyi | 11 +- livekit-protocol/livekit/protocol/rtc.py | 54 ++--- livekit-protocol/livekit/protocol/rtc.pyi | 33 ++- livekit-protocol/livekit/protocol/sip.py | 202 +++++++++--------- livekit-protocol/livekit/protocol/sip.pyi | 23 +- livekit-protocol/livekit/protocol/webhook.py | 18 +- livekit-protocol/livekit/protocol/webhook.pyi | 3 +- 34 files changed, 455 insertions(+), 663 deletions(-) diff --git a/livekit-protocol/livekit/protocol/agent.py b/livekit-protocol/livekit/protocol/agent.py index a8c374c8..9ff9c26a 100644 --- a/livekit-protocol/livekit/protocol/agent.py +++ b/livekit-protocol/livekit/protocol/agent.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_agent.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_agent.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,26 +21,26 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_JOB'].fields_by_name['dispatch_id']._loaded_options = None + _globals['_JOB'].fields_by_name['dispatch_id']._options = None _globals['_JOB'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' - _globals['_JOB'].fields_by_name['namespace']._loaded_options = None + _globals['_JOB'].fields_by_name['namespace']._options = None _globals['_JOB'].fields_by_name['namespace']._serialized_options = b'\030\001' - _globals['_JOBSTATE'].fields_by_name['worker_id']._loaded_options = None + _globals['_JOBSTATE'].fields_by_name['worker_id']._options = None _globals['_JOBSTATE'].fields_by_name['worker_id']._serialized_options = b'\232\354,\010workerID' - _globals['_JOBSTATE'].fields_by_name['agent_id']._loaded_options = None + _globals['_JOBSTATE'].fields_by_name['agent_id']._options = None _globals['_JOBSTATE'].fields_by_name['agent_id']._serialized_options = b'\232\354,\007agentID' - _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._loaded_options = None + _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._options = None _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._serialized_options = b'\232\354,\010workerID' - _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._loaded_options = None + _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._options = None _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' - _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._loaded_options = None + _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._options = None _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' - _globals['_JOBTERMINATION'].fields_by_name['job_id']._loaded_options = None + _globals['_JOBTERMINATION'].fields_by_name['job_id']._options = None _globals['_JOBTERMINATION'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' _globals['_JOBTYPE']._serialized_start=2580 _globals['_JOBTYPE']._serialized_end=2640 diff --git a/livekit-protocol/livekit/protocol/agent.pyi b/livekit-protocol/livekit/protocol/agent.pyi index 223a272c..a0a7901b 100644 --- a/livekit-protocol/livekit/protocol/agent.pyi +++ b/livekit-protocol/livekit/protocol/agent.pyi @@ -4,8 +4,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -58,7 +57,7 @@ class Job(_message.Message): agent_name: str state: JobState enable_recording: bool - def __init__(self, id: _Optional[str] = ..., dispatch_id: _Optional[str] = ..., type: _Optional[_Union[JobType, str]] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., namespace: _Optional[str] = ..., metadata: _Optional[str] = ..., agent_name: _Optional[str] = ..., state: _Optional[_Union[JobState, _Mapping]] = ..., enable_recording: _Optional[bool] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., dispatch_id: _Optional[str] = ..., type: _Optional[_Union[JobType, str]] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., namespace: _Optional[str] = ..., metadata: _Optional[str] = ..., agent_name: _Optional[str] = ..., state: _Optional[_Union[JobState, _Mapping]] = ..., enable_recording: bool = ...) -> None: ... class JobState(_message.Message): __slots__ = ("status", "error", "started_at", "ended_at", "updated_at", "participant_identity", "worker_id", "agent_id") @@ -172,7 +171,7 @@ class AvailabilityRequest(_message.Message): RESUMING_FIELD_NUMBER: _ClassVar[int] job: Job resuming: bool - def __init__(self, job: _Optional[_Union[Job, _Mapping]] = ..., resuming: _Optional[bool] = ...) -> None: ... + def __init__(self, job: _Optional[_Union[Job, _Mapping]] = ..., resuming: bool = ...) -> None: ... class AvailabilityResponse(_message.Message): __slots__ = ("job_id", "available", "supports_resume", "terminate", "participant_name", "participant_identity", "participant_metadata", "participant_attributes") @@ -199,7 +198,7 @@ class AvailabilityResponse(_message.Message): participant_identity: str participant_metadata: str participant_attributes: _containers.ScalarMap[str, str] - def __init__(self, job_id: _Optional[str] = ..., available: _Optional[bool] = ..., supports_resume: _Optional[bool] = ..., terminate: _Optional[bool] = ..., participant_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ...) -> None: ... + def __init__(self, job_id: _Optional[str] = ..., available: bool = ..., supports_resume: bool = ..., terminate: bool = ..., participant_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ...) -> None: ... class UpdateJobStatus(_message.Message): __slots__ = ("job_id", "status", "error") diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.py b/livekit-protocol/livekit/protocol/agent_dispatch.py index d2e7d80e..df86bd23 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.py +++ b/livekit-protocol/livekit/protocol/agent_dispatch.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_agent_dispatch.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_agent_dispatch.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,18 +21,18 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent_dispatch', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._loaded_options = None + _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._options = None _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' - _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._loaded_options = None + _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._options = None _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' - _globals['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._loaded_options = None + _globals['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._options = None _globals['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' - _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._loaded_options = None + _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._options = None _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' - _globals['_AGENTDISPATCH'].fields_by_name['metadata']._loaded_options = None + _globals['_AGENTDISPATCH'].fields_by_name['metadata']._options = None _globals['_AGENTDISPATCH'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' _globals['_JOBRESTARTPOLICY']._serialized_start=852 _globals['_JOBRESTARTPOLICY']._serialized_end=905 diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.pyi b/livekit-protocol/livekit/protocol/agent_dispatch.pyi index adfae236..35ecdd48 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.pyi +++ b/livekit-protocol/livekit/protocol/agent_dispatch.pyi @@ -4,8 +4,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py index e01b17c3..215aa7a4 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: agent/livekit_agent_dev.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'agent/livekit_agent_dev.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -29,8 +19,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_dev', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent' _globals['_AGENTDEVMESSAGE']._serialized_start=49 _globals['_AGENTDEVMESSAGE']._serialized_end=237 diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi index b7f4c5dc..2929222f 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_dev.pyi @@ -1,8 +1,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -42,4 +41,4 @@ class RunningAgentJobInfo(_message.Message): token: str worker_id: str mock_job: bool - def __init__(self, job: _Optional[bytes] = ..., accept_name: _Optional[str] = ..., accept_identity: _Optional[str] = ..., accept_metadata: _Optional[str] = ..., url: _Optional[str] = ..., token: _Optional[str] = ..., worker_id: _Optional[str] = ..., mock_job: _Optional[bool] = ...) -> None: ... + def __init__(self, job: _Optional[bytes] = ..., accept_name: _Optional[str] = ..., accept_identity: _Optional[str] = ..., accept_metadata: _Optional[str] = ..., url: _Optional[str] = ..., token: _Optional[str] = ..., worker_id: _Optional[str] = ..., mock_job: bool = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py index 0f621b78..aa580905 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: agent/livekit_agent_session.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'agent/livekit_agent_session.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -32,20 +22,20 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_session', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent' - _globals['_CHATMESSAGE_EXTRAENTRY']._loaded_options = None + _globals['_CHATMESSAGE_EXTRAENTRY']._options = None _globals['_CHATMESSAGE_EXTRAENTRY']._serialized_options = b'8\001' - _globals['_FUNCTIONCALL'].fields_by_name['call_id']._loaded_options = None + _globals['_FUNCTIONCALL'].fields_by_name['call_id']._options = None _globals['_FUNCTIONCALL'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._loaded_options = None + _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._options = None _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._loaded_options = None + _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._options = None _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._serialized_options = b'\232\354,\noldAgentID' - _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._loaded_options = None + _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._options = None _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._serialized_options = b'\232\354,\nnewAgentID' - _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._loaded_options = None + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._options = None _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_options = b'8\001' _globals['_CHATROLE']._serialized_start=7891 _globals['_CHATROLE']._serialized_end=7953 diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi index 0cc41c36..563278c0 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi @@ -1,5 +1,3 @@ -import datetime - from google.protobuf import struct_pb2 as _struct_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 from ..logger_pb import options as _options_pb2 @@ -7,8 +5,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -63,7 +60,7 @@ class MetricsReport(_message.Message): llm_node_ttft: float tts_node_ttfb: float e2e_latency: float - def __init__(self, started_speaking_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., stopped_speaking_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., transcription_delay: _Optional[float] = ..., end_of_turn_delay: _Optional[float] = ..., on_user_turn_completed_delay: _Optional[float] = ..., llm_node_ttft: _Optional[float] = ..., tts_node_ttfb: _Optional[float] = ..., e2e_latency: _Optional[float] = ...) -> None: ... + def __init__(self, started_speaking_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., stopped_speaking_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., transcription_delay: _Optional[float] = ..., end_of_turn_delay: _Optional[float] = ..., on_user_turn_completed_delay: _Optional[float] = ..., llm_node_ttft: _Optional[float] = ..., tts_node_ttfb: _Optional[float] = ..., e2e_latency: _Optional[float] = ...) -> None: ... class ChatMessage(_message.Message): __slots__ = ("id", "role", "content", "interrupted", "transcript_confidence", "extra", "metrics", "created_at") @@ -95,7 +92,7 @@ class ChatMessage(_message.Message): extra: _containers.ScalarMap[str, str] metrics: MetricsReport created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., role: _Optional[_Union[ChatRole, str]] = ..., content: _Optional[_Iterable[_Union[ChatMessage.ChatContent, _Mapping]]] = ..., interrupted: _Optional[bool] = ..., transcript_confidence: _Optional[float] = ..., extra: _Optional[_Mapping[str, str]] = ..., metrics: _Optional[_Union[MetricsReport, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., role: _Optional[_Union[ChatRole, str]] = ..., content: _Optional[_Iterable[_Union[ChatMessage.ChatContent, _Mapping]]] = ..., interrupted: bool = ..., transcript_confidence: _Optional[float] = ..., extra: _Optional[_Mapping[str, str]] = ..., metrics: _Optional[_Union[MetricsReport, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class FunctionCall(_message.Message): __slots__ = ("id", "call_id", "arguments", "name", "created_at") @@ -109,7 +106,7 @@ class FunctionCall(_message.Message): arguments: str name: str created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., call_id: _Optional[str] = ..., arguments: _Optional[str] = ..., name: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., call_id: _Optional[str] = ..., arguments: _Optional[str] = ..., name: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class FunctionCallOutput(_message.Message): __slots__ = ("id", "name", "call_id", "output", "is_error", "created_at") @@ -125,7 +122,7 @@ class FunctionCallOutput(_message.Message): output: str is_error: bool created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., call_id: _Optional[str] = ..., output: _Optional[str] = ..., is_error: _Optional[bool] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., call_id: _Optional[str] = ..., output: _Optional[str] = ..., is_error: bool = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class AgentHandoff(_message.Message): __slots__ = ("id", "old_agent_id", "new_agent_id", "created_at") @@ -137,7 +134,7 @@ class AgentHandoff(_message.Message): old_agent_id: str new_agent_id: str created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., old_agent_id: _Optional[str] = ..., new_agent_id: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., old_agent_id: _Optional[str] = ..., new_agent_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class AgentConfigUpdate(_message.Message): __slots__ = ("id", "instructions", "tools_added", "tools_removed", "created_at") @@ -151,7 +148,7 @@ class AgentConfigUpdate(_message.Message): tools_added: _containers.RepeatedScalarFieldContainer[str] tools_removed: _containers.RepeatedScalarFieldContainer[str] created_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., instructions: _Optional[str] = ..., tools_added: _Optional[_Iterable[str]] = ..., tools_removed: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., instructions: _Optional[str] = ..., tools_added: _Optional[_Iterable[str]] = ..., tools_removed: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class ChatContext(_message.Message): __slots__ = ("items",) @@ -291,7 +288,7 @@ class AgentSessionEvent(_message.Message): transcript: str is_final: bool language: str - def __init__(self, transcript: _Optional[str] = ..., is_final: _Optional[bool] = ..., language: _Optional[str] = ...) -> None: ... + def __init__(self, transcript: _Optional[str] = ..., is_final: bool = ..., language: _Optional[str] = ...) -> None: ... class FunctionToolsExecuted(_message.Message): __slots__ = ("function_calls", "function_call_outputs") FUNCTION_CALLS_FIELD_NUMBER: _ClassVar[int] @@ -314,7 +311,7 @@ class AgentSessionEvent(_message.Message): overlap_started_at: _timestamp_pb2.Timestamp detection_delay: float detected_at: _timestamp_pb2.Timestamp - def __init__(self, is_interruption: _Optional[bool] = ..., overlap_started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., detection_delay: _Optional[float] = ..., detected_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, is_interruption: bool = ..., overlap_started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., detection_delay: _Optional[float] = ..., detected_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SessionUsageUpdated(_message.Message): __slots__ = ("usage",) USAGE_FIELD_NUMBER: _ClassVar[int] @@ -338,7 +335,7 @@ class AgentSessionEvent(_message.Message): error: AgentSessionEvent.Error overlapping_speech: AgentSessionEvent.OverlappingSpeech session_usage_updated: AgentSessionEvent.SessionUsageUpdated - def __init__(self, created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., agent_state_changed: _Optional[_Union[AgentSessionEvent.AgentStateChanged, _Mapping]] = ..., user_state_changed: _Optional[_Union[AgentSessionEvent.UserStateChanged, _Mapping]] = ..., conversation_item_added: _Optional[_Union[AgentSessionEvent.ConversationItemAdded, _Mapping]] = ..., user_input_transcribed: _Optional[_Union[AgentSessionEvent.UserInputTranscribed, _Mapping]] = ..., function_tools_executed: _Optional[_Union[AgentSessionEvent.FunctionToolsExecuted, _Mapping]] = ..., error: _Optional[_Union[AgentSessionEvent.Error, _Mapping]] = ..., overlapping_speech: _Optional[_Union[AgentSessionEvent.OverlappingSpeech, _Mapping]] = ..., session_usage_updated: _Optional[_Union[AgentSessionEvent.SessionUsageUpdated, _Mapping]] = ...) -> None: ... + def __init__(self, created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., agent_state_changed: _Optional[_Union[AgentSessionEvent.AgentStateChanged, _Mapping]] = ..., user_state_changed: _Optional[_Union[AgentSessionEvent.UserStateChanged, _Mapping]] = ..., conversation_item_added: _Optional[_Union[AgentSessionEvent.ConversationItemAdded, _Mapping]] = ..., user_input_transcribed: _Optional[_Union[AgentSessionEvent.UserInputTranscribed, _Mapping]] = ..., function_tools_executed: _Optional[_Union[AgentSessionEvent.FunctionToolsExecuted, _Mapping]] = ..., error: _Optional[_Union[AgentSessionEvent.Error, _Mapping]] = ..., overlapping_speech: _Optional[_Union[AgentSessionEvent.OverlappingSpeech, _Mapping]] = ..., session_usage_updated: _Optional[_Union[AgentSessionEvent.SessionUsageUpdated, _Mapping]] = ...) -> None: ... class SessionRequest(_message.Message): __slots__ = ("request_id", "ping", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage", "get_framework_info") @@ -433,7 +430,7 @@ class SessionResponse(_message.Message): agent_id: str options: _containers.ScalarMap[str, str] created_at: _timestamp_pb2.Timestamp - def __init__(self, agent_state: _Optional[_Union[AgentState, str]] = ..., user_state: _Optional[_Union[UserState, str]] = ..., agent_id: _Optional[str] = ..., options: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, agent_state: _Optional[_Union[AgentState, str]] = ..., user_state: _Optional[_Union[UserState, str]] = ..., agent_id: _Optional[str] = ..., options: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class GetRTCStatsResponse(_message.Message): __slots__ = ("publisher_stats", "subscriber_stats") PUBLISHER_STATS_FIELD_NUMBER: _ClassVar[int] @@ -447,7 +444,7 @@ class SessionResponse(_message.Message): CREATED_AT_FIELD_NUMBER: _ClassVar[int] usage: AgentSessionUsage created_at: _timestamp_pb2.Timestamp - def __init__(self, usage: _Optional[_Union[AgentSessionUsage, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, usage: _Optional[_Union[AgentSessionUsage, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class GetFrameworkInfoResponse(_message.Message): __slots__ = ("sdk", "sdk_version") SDK_FIELD_NUMBER: _ClassVar[int] diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_text.py b/livekit-protocol/livekit/protocol/agent_pb/agent_text.py index dc628bad..4f569b84 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_text.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_text.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: agent/livekit_agent_text.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'agent/livekit_agent_text.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,16 +21,16 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_text', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_TEXTMESSAGEREQUEST'].fields_by_name['message_id']._loaded_options = None + _globals['_TEXTMESSAGEREQUEST'].fields_by_name['message_id']._options = None _globals['_TEXTMESSAGEREQUEST'].fields_by_name['message_id']._serialized_options = b'\232\354,\tmessageID' - _globals['_TEXTMESSAGEREQUEST'].fields_by_name['session_id']._loaded_options = None + _globals['_TEXTMESSAGEREQUEST'].fields_by_name['session_id']._options = None _globals['_TEXTMESSAGEREQUEST'].fields_by_name['session_id']._serialized_options = b'\232\354,\tsessionID' - _globals['_TEXTMESSAGERESPONSE'].fields_by_name['message_id']._loaded_options = None + _globals['_TEXTMESSAGERESPONSE'].fields_by_name['message_id']._options = None _globals['_TEXTMESSAGERESPONSE'].fields_by_name['message_id']._serialized_options = b'\232\354,\tmessageID' - _globals['_TEXTMESSAGERESPONSE'].fields_by_name['session_id']._loaded_options = None + _globals['_TEXTMESSAGERESPONSE'].fields_by_name['session_id']._options = None _globals['_TEXTMESSAGERESPONSE'].fields_by_name['session_id']._serialized_options = b'\232\354,\tsessionID' _globals['_TEXTMESSAGEERRORCODE']._serialized_start=1026 _globals['_TEXTMESSAGEERRORCODE']._serialized_end=1141 diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi index 04acbbc9..2f2199f0 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_text.pyi @@ -3,8 +3,7 @@ from ..logger_pb import options as _options_pb2 from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor diff --git a/livekit-protocol/livekit/protocol/analytics.py b/livekit-protocol/livekit/protocol/analytics.py index aa491972..76d7f69e 100644 --- a/livekit-protocol/livekit/protocol/analytics.py +++ b/livekit-protocol/livekit/protocol/analytics.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_analytics.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_analytics.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -36,70 +26,70 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'analytics', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_ANALYTICSSTAT'].fields_by_name['room_id']._loaded_options = None + _globals['_ANALYTICSSTAT'].fields_by_name['room_id']._options = None _globals['_ANALYTICSSTAT'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._loaded_options = None + _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._options = None _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._loaded_options = None + _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._options = None _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' - _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._options = None _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_ANALYTICSROOM'].fields_by_name['project_id']._loaded_options = None + _globals['_ANALYTICSROOM'].fields_by_name['project_id']._options = None _globals['_ANALYTICSROOM'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._loaded_options = None + _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._options = None _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._loaded_options = None + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._options = None _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._serialized_options = b'8\001' - _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._loaded_options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._loaded_options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._loaded_options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._loaded_options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._options = None _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_APICALLINFO'].fields_by_name['project_id']._loaded_options = None + _globals['_APICALLINFO'].fields_by_name['project_id']._options = None _globals['_APICALLINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_APICALLINFO'].fields_by_name['node_id']._loaded_options = None + _globals['_APICALLINFO'].fields_by_name['node_id']._options = None _globals['_APICALLINFO'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_APICALLINFO'].fields_by_name['room_id']._loaded_options = None + _globals['_APICALLINFO'].fields_by_name['room_id']._options = None _globals['_APICALLINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_APICALLINFO'].fields_by_name['participant_id']._loaded_options = None + _globals['_APICALLINFO'].fields_by_name['participant_id']._options = None _globals['_APICALLINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_APICALLINFO'].fields_by_name['track_id']._loaded_options = None + _globals['_APICALLINFO'].fields_by_name['track_id']._options = None _globals['_APICALLINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_WEBHOOKINFO'].fields_by_name['event_id']._loaded_options = None + _globals['_WEBHOOKINFO'].fields_by_name['event_id']._options = None _globals['_WEBHOOKINFO'].fields_by_name['event_id']._serialized_options = b'\232\354,\007eventID' - _globals['_WEBHOOKINFO'].fields_by_name['project_id']._loaded_options = None + _globals['_WEBHOOKINFO'].fields_by_name['project_id']._options = None _globals['_WEBHOOKINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' - _globals['_WEBHOOKINFO'].fields_by_name['room_id']._loaded_options = None + _globals['_WEBHOOKINFO'].fields_by_name['room_id']._options = None _globals['_WEBHOOKINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._loaded_options = None + _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._options = None _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_WEBHOOKINFO'].fields_by_name['track_id']._loaded_options = None + _globals['_WEBHOOKINFO'].fields_by_name['track_id']._options = None _globals['_WEBHOOKINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._loaded_options = None + _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._options = None _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._loaded_options = None + _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._options = None _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' _globals['_STREAMTYPE']._serialized_start=5888 _globals['_STREAMTYPE']._serialized_end=5930 diff --git a/livekit-protocol/livekit/protocol/analytics.pyi b/livekit-protocol/livekit/protocol/analytics.pyi index e19e4aa2..d9805772 100644 --- a/livekit-protocol/livekit/protocol/analytics.pyi +++ b/livekit-protocol/livekit/protocol/analytics.pyi @@ -1,5 +1,3 @@ -import datetime - from google.protobuf import timestamp_pb2 as _timestamp_pb2 from . import models as _models from . import egress as _egress @@ -11,8 +9,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -166,7 +163,7 @@ class AnalyticsStream(_message.Message): start_time: _timestamp_pb2.Timestamp end_time: _timestamp_pb2.Timestamp packets_out_of_order: int - def __init__(self, ssrc: _Optional[int] = ..., primary_packets: _Optional[int] = ..., primary_bytes: _Optional[int] = ..., retransmit_packets: _Optional[int] = ..., retransmit_bytes: _Optional[int] = ..., padding_packets: _Optional[int] = ..., padding_bytes: _Optional[int] = ..., packets_lost: _Optional[int] = ..., frames: _Optional[int] = ..., rtt: _Optional[int] = ..., jitter: _Optional[int] = ..., nacks: _Optional[int] = ..., plis: _Optional[int] = ..., firs: _Optional[int] = ..., video_layers: _Optional[_Iterable[_Union[AnalyticsVideoLayer, _Mapping]]] = ..., start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., packets_out_of_order: _Optional[int] = ...) -> None: ... + def __init__(self, ssrc: _Optional[int] = ..., primary_packets: _Optional[int] = ..., primary_bytes: _Optional[int] = ..., retransmit_packets: _Optional[int] = ..., retransmit_bytes: _Optional[int] = ..., padding_packets: _Optional[int] = ..., padding_bytes: _Optional[int] = ..., packets_lost: _Optional[int] = ..., frames: _Optional[int] = ..., rtt: _Optional[int] = ..., jitter: _Optional[int] = ..., nacks: _Optional[int] = ..., plis: _Optional[int] = ..., firs: _Optional[int] = ..., video_layers: _Optional[_Iterable[_Union[AnalyticsVideoLayer, _Mapping]]] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., packets_out_of_order: _Optional[int] = ...) -> None: ... class AnalyticsStat(_message.Message): __slots__ = ("id", "analytics_key", "kind", "time_stamp", "node", "room_id", "room_name", "participant_id", "track_id", "score", "streams", "mime", "min_score", "median_score") @@ -198,7 +195,7 @@ class AnalyticsStat(_message.Message): mime: str min_score: float median_score: float - def __init__(self, id: _Optional[str] = ..., analytics_key: _Optional[str] = ..., kind: _Optional[_Union[StreamType, str]] = ..., time_stamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., node: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., score: _Optional[float] = ..., streams: _Optional[_Iterable[_Union[AnalyticsStream, _Mapping]]] = ..., mime: _Optional[str] = ..., min_score: _Optional[float] = ..., median_score: _Optional[float] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., analytics_key: _Optional[str] = ..., kind: _Optional[_Union[StreamType, str]] = ..., time_stamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., node: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., score: _Optional[float] = ..., streams: _Optional[_Iterable[_Union[AnalyticsStream, _Mapping]]] = ..., mime: _Optional[str] = ..., min_score: _Optional[float] = ..., median_score: _Optional[float] = ...) -> None: ... class AnalyticsStats(_message.Message): __slots__ = ("stats",) @@ -298,7 +295,7 @@ class AnalyticsEvent(_message.Message): report: ReportInfo api_call: APICallInfo webhook: WebhookInfo - def __init__(self, id: _Optional[str] = ..., type: _Optional[_Union[AnalyticsEventType, str]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., room_id: _Optional[str] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant_id: _Optional[str] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., track_id: _Optional[str] = ..., track: _Optional[_Union[_models.TrackInfo, _Mapping]] = ..., analytics_key: _Optional[str] = ..., client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., client_meta: _Optional[_Union[AnalyticsClientMeta, _Mapping]] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., max_subscribed_video_quality: _Optional[_Union[_models.VideoQuality, str]] = ..., publisher: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., mime: _Optional[str] = ..., egress: _Optional[_Union[_egress.EgressInfo, _Mapping]] = ..., ingress: _Optional[_Union[_ingress.IngressInfo, _Mapping]] = ..., error: _Optional[str] = ..., rtp_stats: _Optional[_Union[_models.RTPStats, _Mapping]] = ..., video_layer: _Optional[int] = ..., node_id: _Optional[str] = ..., sip_call_id: _Optional[str] = ..., sip_call: _Optional[_Union[_sip.SIPCallInfo, _Mapping]] = ..., sip_trunk_id: _Optional[str] = ..., sip_inbound_trunk: _Optional[_Union[_sip.SIPInboundTrunkInfo, _Mapping]] = ..., sip_outbound_trunk: _Optional[_Union[_sip.SIPOutboundTrunkInfo, _Mapping]] = ..., sip_dispatch_rule_id: _Optional[str] = ..., sip_dispatch_rule: _Optional[_Union[_sip.SIPDispatchRuleInfo, _Mapping]] = ..., sip_transfer: _Optional[_Union[_sip.SIPTransferInfo, _Mapping]] = ..., report: _Optional[_Union[ReportInfo, _Mapping]] = ..., api_call: _Optional[_Union[APICallInfo, _Mapping]] = ..., webhook: _Optional[_Union[WebhookInfo, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., type: _Optional[_Union[AnalyticsEventType, str]] = ..., timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_id: _Optional[str] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant_id: _Optional[str] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., track_id: _Optional[str] = ..., track: _Optional[_Union[_models.TrackInfo, _Mapping]] = ..., analytics_key: _Optional[str] = ..., client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., client_meta: _Optional[_Union[AnalyticsClientMeta, _Mapping]] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., max_subscribed_video_quality: _Optional[_Union[_models.VideoQuality, str]] = ..., publisher: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., mime: _Optional[str] = ..., egress: _Optional[_Union[_egress.EgressInfo, _Mapping]] = ..., ingress: _Optional[_Union[_ingress.IngressInfo, _Mapping]] = ..., error: _Optional[str] = ..., rtp_stats: _Optional[_Union[_models.RTPStats, _Mapping]] = ..., video_layer: _Optional[int] = ..., node_id: _Optional[str] = ..., sip_call_id: _Optional[str] = ..., sip_call: _Optional[_Union[_sip.SIPCallInfo, _Mapping]] = ..., sip_trunk_id: _Optional[str] = ..., sip_inbound_trunk: _Optional[_Union[_sip.SIPInboundTrunkInfo, _Mapping]] = ..., sip_outbound_trunk: _Optional[_Union[_sip.SIPOutboundTrunkInfo, _Mapping]] = ..., sip_dispatch_rule_id: _Optional[str] = ..., sip_dispatch_rule: _Optional[_Union[_sip.SIPDispatchRuleInfo, _Mapping]] = ..., sip_transfer: _Optional[_Union[_sip.SIPTransferInfo, _Mapping]] = ..., report: _Optional[_Union[ReportInfo, _Mapping]] = ..., api_call: _Optional[_Union[APICallInfo, _Mapping]] = ..., webhook: _Optional[_Union[WebhookInfo, _Mapping]] = ...) -> None: ... class AnalyticsEvents(_message.Message): __slots__ = ("events",) @@ -318,7 +315,7 @@ class AnalyticsRoomParticipant(_message.Message): name: str state: _models.ParticipantInfo.State joined_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., identity: _Optional[str] = ..., name: _Optional[str] = ..., state: _Optional[_Union[_models.ParticipantInfo.State, str]] = ..., joined_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., identity: _Optional[str] = ..., name: _Optional[str] = ..., state: _Optional[_Union[_models.ParticipantInfo.State, str]] = ..., joined_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class AnalyticsRoom(_message.Message): __slots__ = ("id", "name", "project_id", "created_at", "participants") @@ -332,7 +329,7 @@ class AnalyticsRoom(_message.Message): project_id: str created_at: _timestamp_pb2.Timestamp participants: _containers.RepeatedCompositeFieldContainer[AnalyticsRoomParticipant] - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., project_id: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., participants: _Optional[_Iterable[_Union[AnalyticsRoomParticipant, _Mapping]]] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., project_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., participants: _Optional[_Iterable[_Union[AnalyticsRoomParticipant, _Mapping]]] = ...) -> None: ... class AnalyticsNodeRooms(_message.Message): __slots__ = ("node_id", "sequence_number", "timestamp", "rooms") @@ -344,7 +341,7 @@ class AnalyticsNodeRooms(_message.Message): sequence_number: int timestamp: _timestamp_pb2.Timestamp rooms: _containers.RepeatedCompositeFieldContainer[AnalyticsRoom] - def __init__(self, node_id: _Optional[str] = ..., sequence_number: _Optional[int] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., rooms: _Optional[_Iterable[_Union[AnalyticsRoom, _Mapping]]] = ...) -> None: ... + def __init__(self, node_id: _Optional[str] = ..., sequence_number: _Optional[int] = ..., timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., rooms: _Optional[_Iterable[_Union[AnalyticsRoom, _Mapping]]] = ...) -> None: ... class ReportInfo(_message.Message): __slots__ = ("feature_usage",) @@ -358,7 +355,7 @@ class TimeRange(_message.Message): ENDED_AT_FIELD_NUMBER: _ClassVar[int] started_at: _timestamp_pb2.Timestamp ended_at: _timestamp_pb2.Timestamp - def __init__(self, started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class FeatureUsageInfo(_message.Message): __slots__ = ("feature", "project_id", "room_name", "room_id", "participant_identity", "participant_id", "track_id", "time_ranges", "feature_info") @@ -453,7 +450,7 @@ class APICallInfo(_message.Message): track_id: str started_at: _timestamp_pb2.Timestamp duration_ns: int - def __init__(self, project_id: _Optional[str] = ..., request: _Optional[_Union[APICallRequest, _Mapping]] = ..., service: _Optional[str] = ..., method: _Optional[str] = ..., node_id: _Optional[str] = ..., status: _Optional[int] = ..., twirp_error_code: _Optional[str] = ..., twirp_error_message: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., duration_ns: _Optional[int] = ...) -> None: ... + def __init__(self, project_id: _Optional[str] = ..., request: _Optional[_Union[APICallRequest, _Mapping]] = ..., service: _Optional[str] = ..., method: _Optional[str] = ..., node_id: _Optional[str] = ..., status: _Optional[int] = ..., twirp_error_code: _Optional[str] = ..., twirp_error_message: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration_ns: _Optional[int] = ...) -> None: ... class WebhookInfo(_message.Message): __slots__ = ("event_id", "event", "project_id", "room_name", "room_id", "participant_identity", "participant_id", "track_id", "egress_id", "ingress_id", "created_at", "queued_at", "queue_duration_ns", "sent_at", "send_duration_ns", "url", "num_dropped", "is_dropped", "service_status", "service_error_code", "service_error", "send_error") @@ -501,4 +498,4 @@ class WebhookInfo(_message.Message): service_error_code: int service_error: str send_error: str - def __init__(self, event_id: _Optional[str] = ..., event: _Optional[str] = ..., project_id: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., queued_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., queue_duration_ns: _Optional[int] = ..., sent_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., send_duration_ns: _Optional[int] = ..., url: _Optional[str] = ..., num_dropped: _Optional[int] = ..., is_dropped: _Optional[bool] = ..., service_status: _Optional[str] = ..., service_error_code: _Optional[int] = ..., service_error: _Optional[str] = ..., send_error: _Optional[str] = ...) -> None: ... + def __init__(self, event_id: _Optional[str] = ..., event: _Optional[str] = ..., project_id: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., egress_id: _Optional[str] = ..., ingress_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., queued_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., queue_duration_ns: _Optional[int] = ..., sent_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., send_duration_ns: _Optional[int] = ..., url: _Optional[str] = ..., num_dropped: _Optional[int] = ..., is_dropped: bool = ..., service_status: _Optional[str] = ..., service_error_code: _Optional[int] = ..., service_error: _Optional[str] = ..., send_error: _Optional[str] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/connector.py b/livekit-protocol/livekit/protocol/connector.py index 68c0a04e..e656930f 100644 --- a/livekit-protocol/livekit/protocol/connector.py +++ b/livekit-protocol/livekit/protocol/connector.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_connector.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_connector.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,8 +21,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' _globals['_CONNECTORTYPE']._serialized_start=102 _globals['_CONNECTORTYPE']._serialized_end=160 diff --git a/livekit-protocol/livekit/protocol/connector_twilio.py b/livekit-protocol/livekit/protocol/connector_twilio.py index 27aaa780..e194fbff 100644 --- a/livekit-protocol/livekit/protocol/connector_twilio.py +++ b/livekit-protocol/livekit/protocol/connector_twilio.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_connector_twilio.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_connector_twilio.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,16 +21,16 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector_twilio', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None + _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._loaded_options = None + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._options = None _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._loaded_options = None + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._options = None _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._loaded_options = None + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._options = None _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CONNECTTWILIOCALLREQUEST']._serialized_start=96 _globals['_CONNECTTWILIOCALLREQUEST']._serialized_end=757 diff --git a/livekit-protocol/livekit/protocol/connector_twilio.pyi b/livekit-protocol/livekit/protocol/connector_twilio.pyi index 68fb3b95..abf53ec8 100644 --- a/livekit-protocol/livekit/protocol/connector_twilio.pyi +++ b/livekit-protocol/livekit/protocol/connector_twilio.pyi @@ -4,8 +4,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor diff --git a/livekit-protocol/livekit/protocol/connector_whatsapp.py b/livekit-protocol/livekit/protocol/connector_whatsapp.py index ecd862ef..1076f353 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.py +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_connector_whatsapp.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_connector_whatsapp.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -33,46 +23,46 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'connector_whatsapp', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None + _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._loaded_options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._serialized_options = b'\232\354,\025whatsappPhoneNumberID' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._loaded_options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._serialized_options = b'\210\354,\001' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._loaded_options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._loaded_options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._loaded_options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._loaded_options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._options = None _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._loaded_options = None + _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._options = None _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._loaded_options = None + _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._loaded_options = None + _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' - _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._loaded_options = None + _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._loaded_options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._serialized_options = b'\232\354,\025whatsappPhoneNumberID' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._loaded_options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._loaded_options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._loaded_options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._loaded_options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._loaded_options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._loaded_options = None + _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._options = None _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' _globals['_WHATSAPPCALLDIRECTION']._serialized_start=2419 _globals['_WHATSAPPCALLDIRECTION']._serialized_end=2517 diff --git a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi index 1860bd24..15379886 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi @@ -1,5 +1,3 @@ -import datetime - from google.protobuf import duration_pb2 as _duration_pb2 from . import agent_dispatch as _agent_dispatch from . import rtc as _rtc @@ -8,8 +6,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -55,7 +52,7 @@ class DialWhatsAppCallRequest(_message.Message): participant_attributes: _containers.ScalarMap[str, str] destination_country: str ringing_timeout: _duration_pb2.Duration - def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_to_phone_number: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ...) -> None: ... + def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_to_phone_number: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... class DialWhatsAppCallResponse(_message.Message): __slots__ = ("whatsapp_call_id", "room_name") @@ -136,7 +133,7 @@ class AcceptWhatsAppCallRequest(_message.Message): destination_country: str ringing_timeout: _duration_pb2.Duration wait_until_answered: bool - def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_call_id: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., sdp: _Optional[_Union[_rtc.SessionDescription, _Mapping]] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., wait_until_answered: _Optional[bool] = ...) -> None: ... + def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_call_id: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., sdp: _Optional[_Union[_rtc.SessionDescription, _Mapping]] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., wait_until_answered: bool = ...) -> None: ... class AcceptWhatsAppCallResponse(_message.Message): __slots__ = ("room_name",) diff --git a/livekit-protocol/livekit/protocol/egress.py b/livekit-protocol/livekit/protocol/egress.py index 7d103f57..d403125f 100644 --- a/livekit-protocol/livekit/protocol/egress.py +++ b/livekit-protocol/livekit/protocol/egress.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_egress.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_egress.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,88 +21,88 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'egress', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._loaded_options = None + _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._options = None _globals['_MEDIASOURCE'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' - _globals['_AUDIOROUTE'].fields_by_name['track_id']._loaded_options = None + _globals['_AUDIOROUTE'].fields_by_name['track_id']._options = None _globals['_AUDIOROUTE'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_DATASELECTOR'].fields_by_name['track_id']._loaded_options = None + _globals['_DATASELECTOR'].fields_by_name['track_id']._options = None _globals['_DATASELECTOR'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._loaded_options = None + _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._options = None _globals['_ENCODINGOPTIONS'].fields_by_name['audio_quality']._serialized_options = b'\030\001' - _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._loaded_options = None + _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._options = None _globals['_ENCODINGOPTIONS'].fields_by_name['video_quality']._serialized_options = b'\030\001' - _globals['_S3UPLOAD_METADATAENTRY']._loaded_options = None + _globals['_S3UPLOAD_METADATAENTRY']._options = None _globals['_S3UPLOAD_METADATAENTRY']._serialized_options = b'8\001' - _globals['_S3UPLOAD'].fields_by_name['access_key']._loaded_options = None + _globals['_S3UPLOAD'].fields_by_name['access_key']._options = None _globals['_S3UPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['secret']._loaded_options = None + _globals['_S3UPLOAD'].fields_by_name['secret']._options = None _globals['_S3UPLOAD'].fields_by_name['secret']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['session_token']._loaded_options = None + _globals['_S3UPLOAD'].fields_by_name['session_token']._options = None _globals['_S3UPLOAD'].fields_by_name['session_token']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._loaded_options = None + _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._options = None _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._serialized_options = b'\210\354,\001' - _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._loaded_options = None + _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._options = None _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._serialized_options = b'\210\354,\001\232\354,\024assumeRoleExternalID' - _globals['_GCPUPLOAD'].fields_by_name['credentials']._loaded_options = None + _globals['_GCPUPLOAD'].fields_by_name['credentials']._options = None _globals['_GCPUPLOAD'].fields_by_name['credentials']._serialized_options = b'\210\354,\001' - _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._loaded_options = None + _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._options = None _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._serialized_options = b'\210\354,\001' - _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._loaded_options = None + _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._options = None _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._serialized_options = b'\210\354,\001' - _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._loaded_options = None + _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._options = None _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\354,\001' - _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._loaded_options = None + _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._options = None _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._serialized_options = b'\210\354,\001' - _globals['_PROXYCONFIG'].fields_by_name['password']._loaded_options = None + _globals['_PROXYCONFIG'].fields_by_name['password']._options = None _globals['_PROXYCONFIG'].fields_by_name['password']._serialized_options = b'\210\354,\001' - _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._loaded_options = None + _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._options = None _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._loaded_options = None + _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._options = None _globals['_UPDATEEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._loaded_options = None + _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._options = None _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_EGRESSINFO'].fields_by_name['egress_id']._loaded_options = None + _globals['_EGRESSINFO'].fields_by_name['egress_id']._options = None _globals['_EGRESSINFO'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_EGRESSINFO'].fields_by_name['room_id']._loaded_options = None + _globals['_EGRESSINFO'].fields_by_name['room_id']._options = None _globals['_EGRESSINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_EGRESSINFO'].fields_by_name['stream']._loaded_options = None + _globals['_EGRESSINFO'].fields_by_name['stream']._options = None _globals['_EGRESSINFO'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_EGRESSINFO'].fields_by_name['file']._loaded_options = None + _globals['_EGRESSINFO'].fields_by_name['file']._options = None _globals['_EGRESSINFO'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_EGRESSINFO'].fields_by_name['segments']._loaded_options = None + _globals['_EGRESSINFO'].fields_by_name['segments']._options = None _globals['_EGRESSINFO'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._loaded_options = None + _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._options = None _globals['_EXPORTREPLAYREQUEST'].fields_by_name['replay_id']._serialized_options = b'\232\354,\010replayID' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._loaded_options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._loaded_options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._loaded_options = None + _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None _globals['_ROOMCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._loaded_options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._options = None _globals['_WEBEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._loaded_options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._options = None _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._loaded_options = None + _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._options = None _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._loaded_options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._serialized_options = b'\232\354,\014audioTrackID' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._loaded_options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._loaded_options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._loaded_options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' - _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._loaded_options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' - _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._loaded_options = None + _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._options = None _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._loaded_options = None + _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._options = None _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' - _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._loaded_options = None + _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._options = None _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' _globals['_AUDIOCHANNEL']._serialized_start=10095 _globals['_AUDIOCHANNEL']._serialized_end=10182 diff --git a/livekit-protocol/livekit/protocol/egress.pyi b/livekit-protocol/livekit/protocol/egress.pyi index 75ea2d9c..0806e21a 100644 --- a/livekit-protocol/livekit/protocol/egress.pyi +++ b/livekit-protocol/livekit/protocol/egress.pyi @@ -4,8 +4,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -147,7 +146,7 @@ class TemplateSource(_message.Message): audio_only: bool video_only: bool custom_base_url: str - def __init__(self, layout: _Optional[str] = ..., audio_only: _Optional[bool] = ..., video_only: _Optional[bool] = ..., custom_base_url: _Optional[str] = ...) -> None: ... + def __init__(self, layout: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., custom_base_url: _Optional[str] = ...) -> None: ... class WebSource(_message.Message): __slots__ = ("url", "audio_only", "video_only", "await_start_signal") @@ -159,7 +158,7 @@ class WebSource(_message.Message): audio_only: bool video_only: bool await_start_signal: bool - def __init__(self, url: _Optional[str] = ..., audio_only: _Optional[bool] = ..., video_only: _Optional[bool] = ..., await_start_signal: _Optional[bool] = ...) -> None: ... + def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ...) -> None: ... class MediaSource(_message.Message): __slots__ = ("video_track_id", "participant_video", "audio", "data") @@ -179,7 +178,7 @@ class ParticipantVideo(_message.Message): PREFER_SCREEN_SHARE_FIELD_NUMBER: _ClassVar[int] identity: str prefer_screen_share: bool - def __init__(self, identity: _Optional[str] = ..., prefer_screen_share: _Optional[bool] = ...) -> None: ... + def __init__(self, identity: _Optional[str] = ..., prefer_screen_share: bool = ...) -> None: ... class AudioConfig(_message.Message): __slots__ = ("routes",) @@ -265,7 +264,7 @@ class FileOutput(_message.Message): file_type: EncodedFileType filepath: str disable_manifest: bool - def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ...) -> None: ... + def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: bool = ...) -> None: ... class StreamOutput(_message.Message): __slots__ = ("protocol", "urls") @@ -299,7 +298,7 @@ class SegmentedFileOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, protocol: _Optional[_Union[SegmentedFileProtocol, str]] = ..., filename_prefix: _Optional[str] = ..., playlist_name: _Optional[str] = ..., live_playlist_name: _Optional[str] = ..., segment_duration: _Optional[int] = ..., filename_suffix: _Optional[_Union[SegmentedFileSuffix, str]] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, protocol: _Optional[_Union[SegmentedFileProtocol, str]] = ..., filename_prefix: _Optional[str] = ..., playlist_name: _Optional[str] = ..., live_playlist_name: _Optional[str] = ..., segment_duration: _Optional[int] = ..., filename_suffix: _Optional[_Union[SegmentedFileSuffix, str]] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class ImageOutput(_message.Message): __slots__ = ("capture_interval", "width", "height", "filename_prefix", "filename_suffix", "image_codec", "disable_manifest", "s3", "gcp", "azure", "aliOSS") @@ -325,7 +324,7 @@ class ImageOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, capture_interval: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., filename_prefix: _Optional[str] = ..., filename_suffix: _Optional[_Union[ImageFileSuffix, str]] = ..., image_codec: _Optional[_Union[_models.ImageCodec, str]] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, capture_interval: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., filename_prefix: _Optional[str] = ..., filename_suffix: _Optional[_Union[ImageFileSuffix, str]] = ..., image_codec: _Optional[_Union[_models.ImageCodec, str]] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class StorageConfig(_message.Message): __slots__ = ("s3", "gcp", "azure", "aliOSS") @@ -374,7 +373,7 @@ class S3Upload(_message.Message): tagging: str content_disposition: str proxy: ProxyConfig - def __init__(self, access_key: _Optional[str] = ..., secret: _Optional[str] = ..., session_token: _Optional[str] = ..., assume_role_arn: _Optional[str] = ..., assume_role_external_id: _Optional[str] = ..., region: _Optional[str] = ..., endpoint: _Optional[str] = ..., bucket: _Optional[str] = ..., force_path_style: _Optional[bool] = ..., metadata: _Optional[_Mapping[str, str]] = ..., tagging: _Optional[str] = ..., content_disposition: _Optional[str] = ..., proxy: _Optional[_Union[ProxyConfig, _Mapping]] = ...) -> None: ... + def __init__(self, access_key: _Optional[str] = ..., secret: _Optional[str] = ..., session_token: _Optional[str] = ..., assume_role_arn: _Optional[str] = ..., assume_role_external_id: _Optional[str] = ..., region: _Optional[str] = ..., endpoint: _Optional[str] = ..., bucket: _Optional[str] = ..., force_path_style: bool = ..., metadata: _Optional[_Mapping[str, str]] = ..., tagging: _Optional[str] = ..., content_disposition: _Optional[str] = ..., proxy: _Optional[_Union[ProxyConfig, _Mapping]] = ...) -> None: ... class GCPUpload(_message.Message): __slots__ = ("credentials", "bucket", "proxy") @@ -428,7 +427,7 @@ class ListEgressRequest(_message.Message): room_name: str egress_id: str active: bool - def __init__(self, room_name: _Optional[str] = ..., egress_id: _Optional[str] = ..., active: _Optional[bool] = ...) -> None: ... + def __init__(self, room_name: _Optional[str] = ..., egress_id: _Optional[str] = ..., active: bool = ...) -> None: ... class ListEgressResponse(_message.Message): __slots__ = ("items",) @@ -512,7 +511,7 @@ class EgressInfo(_message.Message): stream: StreamInfoList file: FileInfo segments: SegmentsInfo - def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., replay: _Optional[_Union[ExportReplayRequest, _Mapping]] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., details: _Optional[str] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: _Optional[bool] = ..., retry_count: _Optional[int] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ...) -> None: ... + def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., replay: _Optional[_Union[ExportReplayRequest, _Mapping]] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., details: _Optional[str] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: bool = ..., retry_count: _Optional[int] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ...) -> None: ... class StreamInfo(_message.Message): __slots__ = ("url", "started_at", "ended_at", "duration", "status", "error", "last_retry_at", "retries") @@ -618,7 +617,7 @@ class AutoTrackEgress(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class ExportReplayRequest(_message.Message): __slots__ = ("replay_id", "start_offset_ms", "end_offset_ms", "template", "web", "media", "preset", "advanced", "outputs", "storage", "webhooks") @@ -680,7 +679,7 @@ class RoomCompositeEgressRequest(_message.Message): segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., layout: _Optional[str] = ..., audio_only: _Optional[bool] = ..., audio_mixing: _Optional[_Union[AudioMixing, str]] = ..., video_only: _Optional[bool] = ..., custom_base_url: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, room_name: _Optional[str] = ..., layout: _Optional[str] = ..., audio_only: bool = ..., audio_mixing: _Optional[_Union[AudioMixing, str]] = ..., video_only: bool = ..., custom_base_url: _Optional[str] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... class WebEgressRequest(_message.Message): __slots__ = ("url", "audio_only", "video_only", "await_start_signal", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") @@ -712,7 +711,7 @@ class WebEgressRequest(_message.Message): segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, url: _Optional[str] = ..., audio_only: _Optional[bool] = ..., video_only: _Optional[bool] = ..., await_start_signal: _Optional[bool] = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, url: _Optional[str] = ..., audio_only: bool = ..., video_only: bool = ..., await_start_signal: bool = ..., file: _Optional[_Union[EncodedFileOutput, _Mapping]] = ..., stream: _Optional[_Union[StreamOutput, _Mapping]] = ..., segments: _Optional[_Union[SegmentedFileOutput, _Mapping]] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... class ParticipantEgressRequest(_message.Message): __slots__ = ("room_name", "identity", "screen_share", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") @@ -736,7 +735,7 @@ class ParticipantEgressRequest(_message.Message): segment_outputs: _containers.RepeatedCompositeFieldContainer[SegmentedFileOutput] image_outputs: _containers.RepeatedCompositeFieldContainer[ImageOutput] webhooks: _containers.RepeatedCompositeFieldContainer[_models.WebhookConfig] - def __init__(self, room_name: _Optional[str] = ..., identity: _Optional[str] = ..., screen_share: _Optional[bool] = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... + def __init__(self, room_name: _Optional[str] = ..., identity: _Optional[str] = ..., screen_share: bool = ..., preset: _Optional[_Union[EncodingOptionsPreset, str]] = ..., advanced: _Optional[_Union[EncodingOptions, _Mapping]] = ..., file_outputs: _Optional[_Iterable[_Union[EncodedFileOutput, _Mapping]]] = ..., stream_outputs: _Optional[_Iterable[_Union[StreamOutput, _Mapping]]] = ..., segment_outputs: _Optional[_Iterable[_Union[SegmentedFileOutput, _Mapping]]] = ..., image_outputs: _Optional[_Iterable[_Union[ImageOutput, _Mapping]]] = ..., webhooks: _Optional[_Iterable[_Union[_models.WebhookConfig, _Mapping]]] = ...) -> None: ... class TrackCompositeEgressRequest(_message.Message): __slots__ = ("room_name", "audio_track_id", "video_track_id", "file", "stream", "segments", "preset", "advanced", "file_outputs", "stream_outputs", "segment_outputs", "image_outputs", "webhooks") @@ -796,7 +795,7 @@ class DirectFileOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class EncodedFileOutput(_message.Message): __slots__ = ("file_type", "filepath", "disable_manifest", "s3", "gcp", "azure", "aliOSS") @@ -814,7 +813,7 @@ class EncodedFileOutput(_message.Message): gcp: GCPUpload azure: AzureBlobUpload aliOSS: AliOSSUpload - def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: _Optional[bool] = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... + def __init__(self, file_type: _Optional[_Union[EncodedFileType, str]] = ..., filepath: _Optional[str] = ..., disable_manifest: bool = ..., s3: _Optional[_Union[S3Upload, _Mapping]] = ..., gcp: _Optional[_Union[GCPUpload, _Mapping]] = ..., azure: _Optional[_Union[AzureBlobUpload, _Mapping]] = ..., aliOSS: _Optional[_Union[AliOSSUpload, _Mapping]] = ...) -> None: ... class UpdateLayoutRequest(_message.Message): __slots__ = ("egress_id", "layout") diff --git a/livekit-protocol/livekit/protocol/ingress.py b/livekit-protocol/livekit/protocol/ingress.py index 5a13b51d..330e9099 100644 --- a/livekit-protocol/livekit/protocol/ingress.py +++ b/livekit-protocol/livekit/protocol/ingress.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_ingress.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_ingress.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,38 +21,38 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ingress', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._loaded_options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._options = None _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' - _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._loaded_options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._options = None _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._loaded_options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._options = None _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' - _globals['_INGRESSINFO'].fields_by_name['ingress_id']._loaded_options = None + _globals['_INGRESSINFO'].fields_by_name['ingress_id']._options = None _globals['_INGRESSINFO'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._loaded_options = None + _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._options = None _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' - _globals['_INGRESSINFO'].fields_by_name['participant_name']._loaded_options = None + _globals['_INGRESSINFO'].fields_by_name['participant_name']._options = None _globals['_INGRESSINFO'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' - _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._loaded_options = None + _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._options = None _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_INGRESSSTATE'].fields_by_name['room_id']._loaded_options = None + _globals['_INGRESSSTATE'].fields_by_name['room_id']._options = None _globals['_INGRESSSTATE'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_INGRESSSTATE'].fields_by_name['resource_id']._loaded_options = None + _globals['_INGRESSSTATE'].fields_by_name['resource_id']._options = None _globals['_INGRESSSTATE'].fields_by_name['resource_id']._serialized_options = b'\232\354,\nresourceID' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._loaded_options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._loaded_options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._loaded_options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._loaded_options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' - _globals['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._loaded_options = None + _globals['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._options = None _globals['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' - _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._loaded_options = None + _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._options = None _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' _globals['_INGRESSINPUT']._serialized_start=3189 _globals['_INGRESSINPUT']._serialized_end=3250 diff --git a/livekit-protocol/livekit/protocol/ingress.pyi b/livekit-protocol/livekit/protocol/ingress.pyi index 83a4f83a..d214cba8 100644 --- a/livekit-protocol/livekit/protocol/ingress.pyi +++ b/livekit-protocol/livekit/protocol/ingress.pyi @@ -4,8 +4,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -74,7 +73,7 @@ class CreateIngressRequest(_message.Message): audio: IngressAudioOptions video: IngressVideoOptions enabled: bool - def __init__(self, input_type: _Optional[_Union[IngressInput, str]] = ..., url: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: _Optional[bool] = ..., enable_transcoding: _Optional[bool] = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: _Optional[bool] = ...) -> None: ... + def __init__(self, input_type: _Optional[_Union[IngressInput, str]] = ..., url: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: bool = ..., enable_transcoding: bool = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: bool = ...) -> None: ... class IngressAudioOptions(_message.Message): __slots__ = ("name", "source", "preset", "options") @@ -110,7 +109,7 @@ class IngressAudioEncodingOptions(_message.Message): bitrate: int disable_dtx: bool channels: int - def __init__(self, audio_codec: _Optional[_Union[_models.AudioCodec, str]] = ..., bitrate: _Optional[int] = ..., disable_dtx: _Optional[bool] = ..., channels: _Optional[int] = ...) -> None: ... + def __init__(self, audio_codec: _Optional[_Union[_models.AudioCodec, str]] = ..., bitrate: _Optional[int] = ..., disable_dtx: bool = ..., channels: _Optional[int] = ...) -> None: ... class IngressVideoEncodingOptions(_message.Message): __slots__ = ("video_codec", "frame_rate", "layers") @@ -156,7 +155,7 @@ class IngressInfo(_message.Message): reusable: bool state: IngressState enabled: bool - def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., stream_key: _Optional[str] = ..., url: _Optional[str] = ..., input_type: _Optional[_Union[IngressInput, str]] = ..., bypass_transcoding: _Optional[bool] = ..., enable_transcoding: _Optional[bool] = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., reusable: _Optional[bool] = ..., state: _Optional[_Union[IngressState, _Mapping]] = ..., enabled: _Optional[bool] = ...) -> None: ... + def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., stream_key: _Optional[str] = ..., url: _Optional[str] = ..., input_type: _Optional[_Union[IngressInput, str]] = ..., bypass_transcoding: bool = ..., enable_transcoding: bool = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., reusable: bool = ..., state: _Optional[_Union[IngressState, _Mapping]] = ..., enabled: bool = ...) -> None: ... class IngressState(_message.Message): __slots__ = ("status", "error", "video", "audio", "room_id", "started_at", "ended_at", "updated_at", "resource_id", "tracks") @@ -244,7 +243,7 @@ class UpdateIngressRequest(_message.Message): audio: IngressAudioOptions video: IngressVideoOptions enabled: bool - def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: _Optional[bool] = ..., enable_transcoding: _Optional[bool] = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: _Optional[bool] = ...) -> None: ... + def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: bool = ..., enable_transcoding: bool = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: bool = ...) -> None: ... class ListIngressRequest(_message.Message): __slots__ = ("page_token", "room_name", "ingress_id") diff --git a/livekit-protocol/livekit/protocol/logger_pb/options.py b/livekit-protocol/livekit/protocol/logger_pb/options.py index 9a3aea83..bb8ecfe5 100644 --- a/livekit-protocol/livekit/protocol/logger_pb/options.py +++ b/livekit-protocol/livekit/protocol/logger_pb/options.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: logger/options.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'logger/options.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -30,7 +20,7 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'logger.options_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z*github.com/livekit/protocol/livekit/logger\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/metrics.py b/livekit-protocol/livekit/protocol/metrics.py index 65c1540a..ad610d90 100644 --- a/livekit-protocol/livekit/protocol/metrics.py +++ b/livekit-protocol/livekit/protocol/metrics.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_metrics.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_metrics.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,12 +21,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metrics', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_METRICSRECORDINGHEADER_ROOMTAGSENTRY']._loaded_options = None + _globals['_METRICSRECORDINGHEADER_ROOMTAGSENTRY']._options = None _globals['_METRICSRECORDINGHEADER_ROOMTAGSENTRY']._serialized_options = b'8\001' - _globals['_METRICSRECORDINGHEADER'].fields_by_name['room_id']._loaded_options = None + _globals['_METRICSRECORDINGHEADER'].fields_by_name['room_id']._options = None _globals['_METRICSRECORDINGHEADER'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' _globals['_METRICLABEL']._serialized_start=1200 _globals['_METRICLABEL']._serialized_end=2097 diff --git a/livekit-protocol/livekit/protocol/metrics.pyi b/livekit-protocol/livekit/protocol/metrics.pyi index 21be7417..5287a508 100644 --- a/livekit-protocol/livekit/protocol/metrics.pyi +++ b/livekit-protocol/livekit/protocol/metrics.pyi @@ -1,13 +1,10 @@ -import datetime - from google.protobuf import timestamp_pb2 as _timestamp_pb2 from .logger_pb import options as _options_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -68,7 +65,7 @@ class MetricsBatch(_message.Message): str_data: _containers.RepeatedScalarFieldContainer[str] time_series: _containers.RepeatedCompositeFieldContainer[TimeSeriesMetric] events: _containers.RepeatedCompositeFieldContainer[EventMetric] - def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., str_data: _Optional[_Iterable[str]] = ..., time_series: _Optional[_Iterable[_Union[TimeSeriesMetric, _Mapping]]] = ..., events: _Optional[_Iterable[_Union[EventMetric, _Mapping]]] = ...) -> None: ... + def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., str_data: _Optional[_Iterable[str]] = ..., time_series: _Optional[_Iterable[_Union[TimeSeriesMetric, _Mapping]]] = ..., events: _Optional[_Iterable[_Union[EventMetric, _Mapping]]] = ...) -> None: ... class TimeSeriesMetric(_message.Message): __slots__ = ("label", "participant_identity", "track_sid", "samples", "rid") @@ -92,7 +89,7 @@ class MetricSample(_message.Message): timestamp_ms: int normalized_timestamp: _timestamp_pb2.Timestamp value: float - def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., value: _Optional[float] = ...) -> None: ... + def __init__(self, timestamp_ms: _Optional[int] = ..., normalized_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., value: _Optional[float] = ...) -> None: ... class EventMetric(_message.Message): __slots__ = ("label", "participant_identity", "track_sid", "start_timestamp_ms", "end_timestamp_ms", "normalized_start_timestamp", "normalized_end_timestamp", "metadata", "rid") @@ -114,7 +111,7 @@ class EventMetric(_message.Message): normalized_end_timestamp: _timestamp_pb2.Timestamp metadata: str rid: int - def __init__(self, label: _Optional[int] = ..., participant_identity: _Optional[int] = ..., track_sid: _Optional[int] = ..., start_timestamp_ms: _Optional[int] = ..., end_timestamp_ms: _Optional[int] = ..., normalized_start_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., normalized_end_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., metadata: _Optional[str] = ..., rid: _Optional[int] = ...) -> None: ... + def __init__(self, label: _Optional[int] = ..., participant_identity: _Optional[int] = ..., track_sid: _Optional[int] = ..., start_timestamp_ms: _Optional[int] = ..., end_timestamp_ms: _Optional[int] = ..., normalized_start_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., normalized_end_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., metadata: _Optional[str] = ..., rid: _Optional[int] = ...) -> None: ... class MetricsRecordingHeader(_message.Message): __slots__ = ("room_id", "duration", "start_time", "room_tags", "room_name", "room_start_time") @@ -137,4 +134,4 @@ class MetricsRecordingHeader(_message.Message): room_tags: _containers.ScalarMap[str, str] room_name: str room_start_time: _timestamp_pb2.Timestamp - def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., room_tags: _Optional[_Mapping[str, str]] = ..., room_name: _Optional[str] = ..., room_start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_tags: _Optional[_Mapping[str, str]] = ..., room_name: _Optional[str] = ..., room_start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/models.py b/livekit-protocol/livekit/protocol/models.py index 8f3095e9..48d600fb 100644 --- a/livekit-protocol/livekit/protocol/models.py +++ b/livekit-protocol/livekit/protocol/models.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_models.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_models.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -32,76 +22,76 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'models', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_PAGINATION'].fields_by_name['after_id']._loaded_options = None + _globals['_PAGINATION'].fields_by_name['after_id']._options = None _globals['_PAGINATION'].fields_by_name['after_id']._serialized_options = b'\232\354,\007afterID' - _globals['_ROOM'].fields_by_name['metadata']._loaded_options = None + _globals['_ROOM'].fields_by_name['metadata']._options = None _globals['_ROOM'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._loaded_options = None + _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._options = None _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._serialized_options = b'\030\001' - _globals['_PARTICIPANTPERMISSION'].fields_by_name['agent']._loaded_options = None + _globals['_PARTICIPANTPERMISSION'].fields_by_name['agent']._options = None _globals['_PARTICIPANTPERMISSION'].fields_by_name['agent']._serialized_options = b'\030\001' - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._loaded_options = None + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._options = None _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._loaded_options = None + _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._options = None _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_PARTICIPANTINFO'].fields_by_name['name']._loaded_options = None + _globals['_PARTICIPANTINFO'].fields_by_name['name']._options = None _globals['_PARTICIPANTINFO'].fields_by_name['name']._serialized_options = b'\210\354,\001' - _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._loaded_options = None + _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._options = None _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_TRACKINFO'].fields_by_name['name']._loaded_options = None + _globals['_TRACKINFO'].fields_by_name['name']._options = None _globals['_TRACKINFO'].fields_by_name['name']._serialized_options = b'\210\354,\001' - _globals['_TRACKINFO'].fields_by_name['simulcast']._loaded_options = None + _globals['_TRACKINFO'].fields_by_name['simulcast']._options = None _globals['_TRACKINFO'].fields_by_name['simulcast']._serialized_options = b'\030\001' - _globals['_TRACKINFO'].fields_by_name['disable_dtx']._loaded_options = None + _globals['_TRACKINFO'].fields_by_name['disable_dtx']._options = None _globals['_TRACKINFO'].fields_by_name['disable_dtx']._serialized_options = b'\030\001' - _globals['_TRACKINFO'].fields_by_name['layers']._loaded_options = None + _globals['_TRACKINFO'].fields_by_name['layers']._options = None _globals['_TRACKINFO'].fields_by_name['layers']._serialized_options = b'\030\001' - _globals['_TRACKINFO'].fields_by_name['stereo']._loaded_options = None + _globals['_TRACKINFO'].fields_by_name['stereo']._options = None _globals['_TRACKINFO'].fields_by_name['stereo']._serialized_options = b'\030\001' - _globals['_DATAPACKET'].fields_by_name['kind']._loaded_options = None + _globals['_DATAPACKET'].fields_by_name['kind']._options = None _globals['_DATAPACKET'].fields_by_name['kind']._serialized_options = b'\030\001' - _globals['_DATAPACKET'].fields_by_name['speaker']._loaded_options = None + _globals['_DATAPACKET'].fields_by_name['speaker']._options = None _globals['_DATAPACKET'].fields_by_name['speaker']._serialized_options = b'\030\001' - _globals['_ACTIVESPEAKERUPDATE']._loaded_options = None + _globals['_ACTIVESPEAKERUPDATE']._options = None _globals['_ACTIVESPEAKERUPDATE']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['participant_sid']._loaded_options = None + _globals['_USERPACKET'].fields_by_name['participant_sid']._options = None _globals['_USERPACKET'].fields_by_name['participant_sid']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['participant_identity']._loaded_options = None + _globals['_USERPACKET'].fields_by_name['participant_identity']._options = None _globals['_USERPACKET'].fields_by_name['participant_identity']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['destination_sids']._loaded_options = None + _globals['_USERPACKET'].fields_by_name['destination_sids']._options = None _globals['_USERPACKET'].fields_by_name['destination_sids']._serialized_options = b'\030\001' - _globals['_USERPACKET'].fields_by_name['destination_identities']._loaded_options = None + _globals['_USERPACKET'].fields_by_name['destination_identities']._options = None _globals['_USERPACKET'].fields_by_name['destination_identities']._serialized_options = b'\030\001' - _globals['_TRANSCRIPTION'].fields_by_name['track_id']._loaded_options = None + _globals['_TRANSCRIPTION'].fields_by_name['track_id']._options = None _globals['_TRANSCRIPTION'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' - _globals['_RPCACK'].fields_by_name['request_id']._loaded_options = None + _globals['_RPCACK'].fields_by_name['request_id']._options = None _globals['_RPCACK'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_RPCRESPONSE'].fields_by_name['request_id']._loaded_options = None + _globals['_RPCRESPONSE'].fields_by_name['request_id']._options = None _globals['_RPCRESPONSE'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_SERVERINFO'].fields_by_name['node_id']._loaded_options = None + _globals['_SERVERINFO'].fields_by_name['node_id']._options = None _globals['_SERVERINFO'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._loaded_options = None + _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._options = None _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_options = b'8\001' - _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._loaded_options = None + _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._options = None _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._serialized_options = b'\232\354,\020extLastPictureID' - _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._loaded_options = None + _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._options = None _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._serialized_options = b'\232\354,\017replyToStreamID' - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._loaded_options = None + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._options = None _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._loaded_options = None + _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._options = None _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' - _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._loaded_options = None + _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._options = None _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._serialized_options = b'\030\001' - _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._loaded_options = None + _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._options = None _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' - _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._loaded_options = None + _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._options = None _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._serialized_options = b'\030\001' - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._loaded_options = None + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._options = None _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._loaded_options = None + _globals['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._options = None _globals['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' _globals['_AUDIOCODEC']._serialized_start=11181 _globals['_AUDIOCODEC']._serialized_end=11240 diff --git a/livekit-protocol/livekit/protocol/models.pyi b/livekit-protocol/livekit/protocol/models.pyi index acd7475a..a563c530 100644 --- a/livekit-protocol/livekit/protocol/models.pyi +++ b/livekit-protocol/livekit/protocol/models.pyi @@ -1,5 +1,3 @@ -import datetime - from google.protobuf import timestamp_pb2 as _timestamp_pb2 from . import metrics as _metrics from .logger_pb import options as _options_pb2 @@ -7,8 +5,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -219,7 +216,7 @@ class ListUpdate(_message.Message): add: _containers.RepeatedScalarFieldContainer[str] remove: _containers.RepeatedScalarFieldContainer[str] clear: bool - def __init__(self, set: _Optional[_Iterable[str]] = ..., add: _Optional[_Iterable[str]] = ..., remove: _Optional[_Iterable[str]] = ..., clear: _Optional[bool] = ...) -> None: ... + def __init__(self, set: _Optional[_Iterable[str]] = ..., add: _Optional[_Iterable[str]] = ..., remove: _Optional[_Iterable[str]] = ..., clear: bool = ...) -> None: ... class Room(_message.Message): __slots__ = ("sid", "name", "empty_timeout", "departure_timeout", "max_participants", "creation_time", "creation_time_ms", "turn_password", "enabled_codecs", "metadata", "num_participants", "num_publishers", "active_recording", "version") @@ -251,7 +248,7 @@ class Room(_message.Message): num_publishers: int active_recording: bool version: TimedVersion - def __init__(self, sid: _Optional[str] = ..., name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., creation_time: _Optional[int] = ..., creation_time_ms: _Optional[int] = ..., turn_password: _Optional[str] = ..., enabled_codecs: _Optional[_Iterable[_Union[Codec, _Mapping]]] = ..., metadata: _Optional[str] = ..., num_participants: _Optional[int] = ..., num_publishers: _Optional[int] = ..., active_recording: _Optional[bool] = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., creation_time: _Optional[int] = ..., creation_time_ms: _Optional[int] = ..., turn_password: _Optional[str] = ..., enabled_codecs: _Optional[_Iterable[_Union[Codec, _Mapping]]] = ..., metadata: _Optional[str] = ..., num_participants: _Optional[int] = ..., num_publishers: _Optional[int] = ..., active_recording: bool = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ...) -> None: ... class Codec(_message.Message): __slots__ = ("mime", "fmtp_line") @@ -269,7 +266,7 @@ class PlayoutDelay(_message.Message): enabled: bool min: int max: int - def __init__(self, enabled: _Optional[bool] = ..., min: _Optional[int] = ..., max: _Optional[int] = ...) -> None: ... + def __init__(self, enabled: bool = ..., min: _Optional[int] = ..., max: _Optional[int] = ...) -> None: ... class ParticipantPermission(_message.Message): __slots__ = ("can_subscribe", "can_publish", "can_publish_data", "can_publish_sources", "hidden", "recorder", "can_update_metadata", "agent", "can_subscribe_metrics", "can_manage_agent_session") @@ -293,7 +290,7 @@ class ParticipantPermission(_message.Message): agent: bool can_subscribe_metrics: bool can_manage_agent_session: bool - def __init__(self, can_subscribe: _Optional[bool] = ..., can_publish: _Optional[bool] = ..., can_publish_data: _Optional[bool] = ..., can_publish_sources: _Optional[_Iterable[_Union[TrackSource, str]]] = ..., hidden: _Optional[bool] = ..., recorder: _Optional[bool] = ..., can_update_metadata: _Optional[bool] = ..., agent: _Optional[bool] = ..., can_subscribe_metrics: _Optional[bool] = ..., can_manage_agent_session: _Optional[bool] = ...) -> None: ... + def __init__(self, can_subscribe: bool = ..., can_publish: bool = ..., can_publish_data: bool = ..., can_publish_sources: _Optional[_Iterable[_Union[TrackSource, str]]] = ..., hidden: bool = ..., recorder: bool = ..., can_update_metadata: bool = ..., agent: bool = ..., can_subscribe_metrics: bool = ..., can_manage_agent_session: bool = ...) -> None: ... class ParticipantInfo(_message.Message): __slots__ = ("sid", "identity", "state", "tracks", "metadata", "joined_at", "joined_at_ms", "name", "version", "permission", "region", "is_publisher", "kind", "attributes", "disconnect_reason", "kind_details", "data_tracks", "client_protocol") @@ -378,7 +375,7 @@ class ParticipantInfo(_message.Message): kind_details: _containers.RepeatedScalarFieldContainer[ParticipantInfo.KindDetail] data_tracks: _containers.RepeatedCompositeFieldContainer[DataTrackInfo] client_protocol: int - def __init__(self, sid: _Optional[str] = ..., identity: _Optional[str] = ..., state: _Optional[_Union[ParticipantInfo.State, str]] = ..., tracks: _Optional[_Iterable[_Union[TrackInfo, _Mapping]]] = ..., metadata: _Optional[str] = ..., joined_at: _Optional[int] = ..., joined_at_ms: _Optional[int] = ..., name: _Optional[str] = ..., version: _Optional[int] = ..., permission: _Optional[_Union[ParticipantPermission, _Mapping]] = ..., region: _Optional[str] = ..., is_publisher: _Optional[bool] = ..., kind: _Optional[_Union[ParticipantInfo.Kind, str]] = ..., attributes: _Optional[_Mapping[str, str]] = ..., disconnect_reason: _Optional[_Union[DisconnectReason, str]] = ..., kind_details: _Optional[_Iterable[_Union[ParticipantInfo.KindDetail, str]]] = ..., data_tracks: _Optional[_Iterable[_Union[DataTrackInfo, _Mapping]]] = ..., client_protocol: _Optional[int] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., identity: _Optional[str] = ..., state: _Optional[_Union[ParticipantInfo.State, str]] = ..., tracks: _Optional[_Iterable[_Union[TrackInfo, _Mapping]]] = ..., metadata: _Optional[str] = ..., joined_at: _Optional[int] = ..., joined_at_ms: _Optional[int] = ..., name: _Optional[str] = ..., version: _Optional[int] = ..., permission: _Optional[_Union[ParticipantPermission, _Mapping]] = ..., region: _Optional[str] = ..., is_publisher: bool = ..., kind: _Optional[_Union[ParticipantInfo.Kind, str]] = ..., attributes: _Optional[_Mapping[str, str]] = ..., disconnect_reason: _Optional[_Union[DisconnectReason, str]] = ..., kind_details: _Optional[_Iterable[_Union[ParticipantInfo.KindDetail, str]]] = ..., data_tracks: _Optional[_Iterable[_Union[DataTrackInfo, _Mapping]]] = ..., client_protocol: _Optional[int] = ...) -> None: ... class Encryption(_message.Message): __slots__ = () @@ -452,7 +449,7 @@ class TrackInfo(_message.Message): audio_features: _containers.RepeatedScalarFieldContainer[AudioTrackFeature] backup_codec_policy: BackupCodecPolicy packet_trailer_features: _containers.RepeatedScalarFieldContainer[PacketTrailerFeature] - def __init__(self, sid: _Optional[str] = ..., type: _Optional[_Union[TrackType, str]] = ..., name: _Optional[str] = ..., muted: _Optional[bool] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., simulcast: _Optional[bool] = ..., disable_dtx: _Optional[bool] = ..., source: _Optional[_Union[TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[VideoLayer, _Mapping]]] = ..., mime_type: _Optional[str] = ..., mid: _Optional[str] = ..., codecs: _Optional[_Iterable[_Union[SimulcastCodecInfo, _Mapping]]] = ..., stereo: _Optional[bool] = ..., disable_red: _Optional[bool] = ..., encryption: _Optional[_Union[Encryption.Type, str]] = ..., stream: _Optional[str] = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ..., audio_features: _Optional[_Iterable[_Union[AudioTrackFeature, str]]] = ..., backup_codec_policy: _Optional[_Union[BackupCodecPolicy, str]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[PacketTrailerFeature, str]]] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., type: _Optional[_Union[TrackType, str]] = ..., name: _Optional[str] = ..., muted: bool = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., simulcast: bool = ..., disable_dtx: bool = ..., source: _Optional[_Union[TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[VideoLayer, _Mapping]]] = ..., mime_type: _Optional[str] = ..., mid: _Optional[str] = ..., codecs: _Optional[_Iterable[_Union[SimulcastCodecInfo, _Mapping]]] = ..., stereo: bool = ..., disable_red: bool = ..., encryption: _Optional[_Union[Encryption.Type, str]] = ..., stream: _Optional[str] = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ..., audio_features: _Optional[_Iterable[_Union[AudioTrackFeature, str]]] = ..., backup_codec_policy: _Optional[_Union[BackupCodecPolicy, str]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[PacketTrailerFeature, str]]] = ...) -> None: ... class DataTrackInfo(_message.Message): __slots__ = ("pub_handle", "sid", "name", "encryption") @@ -602,7 +599,7 @@ class SpeakerInfo(_message.Message): sid: str level: float active: bool - def __init__(self, sid: _Optional[str] = ..., level: _Optional[float] = ..., active: _Optional[bool] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., level: _Optional[float] = ..., active: bool = ...) -> None: ... class UserPacket(_message.Message): __slots__ = ("participant_sid", "participant_identity", "payload", "destination_sids", "destination_identities", "topic", "id", "start_time", "end_time", "nonce") @@ -660,7 +657,7 @@ class TranscriptionSegment(_message.Message): end_time: int final: bool language: str - def __init__(self, id: _Optional[str] = ..., text: _Optional[str] = ..., start_time: _Optional[int] = ..., end_time: _Optional[int] = ..., final: _Optional[bool] = ..., language: _Optional[str] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., text: _Optional[str] = ..., start_time: _Optional[int] = ..., end_time: _Optional[int] = ..., final: bool = ..., language: _Optional[str] = ...) -> None: ... class ChatMessage(_message.Message): __slots__ = ("id", "timestamp", "edit_timestamp", "message", "deleted", "generated") @@ -676,7 +673,7 @@ class ChatMessage(_message.Message): message: str deleted: bool generated: bool - def __init__(self, id: _Optional[str] = ..., timestamp: _Optional[int] = ..., edit_timestamp: _Optional[int] = ..., message: _Optional[str] = ..., deleted: _Optional[bool] = ..., generated: _Optional[bool] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., timestamp: _Optional[int] = ..., edit_timestamp: _Optional[int] = ..., message: _Optional[str] = ..., deleted: bool = ..., generated: bool = ...) -> None: ... class RpcRequest(_message.Message): __slots__ = ("id", "method", "payload", "response_timeout_ms", "version", "compressed_payload") @@ -862,7 +859,7 @@ class RTPDrift(_message.Message): drift_samples: int drift_ms: float clock_rate: float - def __init__(self, start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., start_timestamp: _Optional[int] = ..., end_timestamp: _Optional[int] = ..., rtp_clock_ticks: _Optional[int] = ..., drift_samples: _Optional[int] = ..., drift_ms: _Optional[float] = ..., clock_rate: _Optional[float] = ...) -> None: ... + def __init__(self, start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., start_timestamp: _Optional[int] = ..., end_timestamp: _Optional[int] = ..., rtp_clock_ticks: _Optional[int] = ..., drift_samples: _Optional[int] = ..., drift_ms: _Optional[float] = ..., clock_rate: _Optional[float] = ...) -> None: ... class RTPStats(_message.Message): __slots__ = ("start_time", "end_time", "duration", "packets", "packet_rate", "bytes", "header_bytes", "bitrate", "packets_lost", "packet_loss_rate", "packet_loss_percentage", "packets_duplicate", "packet_duplicate_rate", "bytes_duplicate", "header_bytes_duplicate", "bitrate_duplicate", "packets_padding", "packet_padding_rate", "bytes_padding", "header_bytes_padding", "bitrate_padding", "packets_out_of_order", "frames", "frame_rate", "jitter_current", "jitter_max", "gap_histogram", "nacks", "nack_acks", "nack_misses", "nack_repeated", "plis", "last_pli", "firs", "last_fir", "rtt_current", "rtt_max", "key_frames", "last_key_frame", "layer_lock_plis", "last_layer_lock_pli", "packet_drift", "ntp_report_drift", "rebased_report_drift", "received_report_drift") @@ -963,7 +960,7 @@ class RTPStats(_message.Message): ntp_report_drift: RTPDrift rebased_report_drift: RTPDrift received_report_drift: RTPDrift - def __init__(self, start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., packets: _Optional[int] = ..., packet_rate: _Optional[float] = ..., bytes: _Optional[int] = ..., header_bytes: _Optional[int] = ..., bitrate: _Optional[float] = ..., packets_lost: _Optional[int] = ..., packet_loss_rate: _Optional[float] = ..., packet_loss_percentage: _Optional[float] = ..., packets_duplicate: _Optional[int] = ..., packet_duplicate_rate: _Optional[float] = ..., bytes_duplicate: _Optional[int] = ..., header_bytes_duplicate: _Optional[int] = ..., bitrate_duplicate: _Optional[float] = ..., packets_padding: _Optional[int] = ..., packet_padding_rate: _Optional[float] = ..., bytes_padding: _Optional[int] = ..., header_bytes_padding: _Optional[int] = ..., bitrate_padding: _Optional[float] = ..., packets_out_of_order: _Optional[int] = ..., frames: _Optional[int] = ..., frame_rate: _Optional[float] = ..., jitter_current: _Optional[float] = ..., jitter_max: _Optional[float] = ..., gap_histogram: _Optional[_Mapping[int, int]] = ..., nacks: _Optional[int] = ..., nack_acks: _Optional[int] = ..., nack_misses: _Optional[int] = ..., nack_repeated: _Optional[int] = ..., plis: _Optional[int] = ..., last_pli: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., firs: _Optional[int] = ..., last_fir: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., rtt_current: _Optional[int] = ..., rtt_max: _Optional[int] = ..., key_frames: _Optional[int] = ..., last_key_frame: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., layer_lock_plis: _Optional[int] = ..., last_layer_lock_pli: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., packet_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., ntp_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., rebased_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., received_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ...) -> None: ... + def __init__(self, start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., duration: _Optional[float] = ..., packets: _Optional[int] = ..., packet_rate: _Optional[float] = ..., bytes: _Optional[int] = ..., header_bytes: _Optional[int] = ..., bitrate: _Optional[float] = ..., packets_lost: _Optional[int] = ..., packet_loss_rate: _Optional[float] = ..., packet_loss_percentage: _Optional[float] = ..., packets_duplicate: _Optional[int] = ..., packet_duplicate_rate: _Optional[float] = ..., bytes_duplicate: _Optional[int] = ..., header_bytes_duplicate: _Optional[int] = ..., bitrate_duplicate: _Optional[float] = ..., packets_padding: _Optional[int] = ..., packet_padding_rate: _Optional[float] = ..., bytes_padding: _Optional[int] = ..., header_bytes_padding: _Optional[int] = ..., bitrate_padding: _Optional[float] = ..., packets_out_of_order: _Optional[int] = ..., frames: _Optional[int] = ..., frame_rate: _Optional[float] = ..., jitter_current: _Optional[float] = ..., jitter_max: _Optional[float] = ..., gap_histogram: _Optional[_Mapping[int, int]] = ..., nacks: _Optional[int] = ..., nack_acks: _Optional[int] = ..., nack_misses: _Optional[int] = ..., nack_repeated: _Optional[int] = ..., plis: _Optional[int] = ..., last_pli: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., firs: _Optional[int] = ..., last_fir: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., rtt_current: _Optional[int] = ..., rtt_max: _Optional[int] = ..., key_frames: _Optional[int] = ..., last_key_frame: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., layer_lock_plis: _Optional[int] = ..., last_layer_lock_pli: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., packet_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., ntp_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., rebased_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ..., received_report_drift: _Optional[_Union[RTPDrift, _Mapping]] = ...) -> None: ... class RTCPSenderReportState(_message.Message): __slots__ = ("rtp_timestamp", "rtp_timestamp_ext", "ntp_timestamp", "at", "at_adjusted", "packets", "octets") @@ -1001,7 +998,7 @@ class RTPForwarderState(_message.Message): rtp_munger: RTPMungerState vp8_munger: VP8MungerState sender_report_state: _containers.RepeatedCompositeFieldContainer[RTCPSenderReportState] - def __init__(self, started: _Optional[bool] = ..., reference_layer_spatial: _Optional[int] = ..., pre_start_time: _Optional[int] = ..., ext_first_timestamp: _Optional[int] = ..., dummy_start_timestamp_offset: _Optional[int] = ..., rtp_munger: _Optional[_Union[RTPMungerState, _Mapping]] = ..., vp8_munger: _Optional[_Union[VP8MungerState, _Mapping]] = ..., sender_report_state: _Optional[_Iterable[_Union[RTCPSenderReportState, _Mapping]]] = ...) -> None: ... + def __init__(self, started: bool = ..., reference_layer_spatial: _Optional[int] = ..., pre_start_time: _Optional[int] = ..., ext_first_timestamp: _Optional[int] = ..., dummy_start_timestamp_offset: _Optional[int] = ..., rtp_munger: _Optional[_Union[RTPMungerState, _Mapping]] = ..., vp8_munger: _Optional[_Union[VP8MungerState, _Mapping]] = ..., sender_report_state: _Optional[_Iterable[_Union[RTCPSenderReportState, _Mapping]]] = ...) -> None: ... class RTPMungerState(_message.Message): __slots__ = ("ext_last_sequence_number", "ext_second_last_sequence_number", "ext_last_timestamp", "ext_second_last_timestamp", "last_marker", "second_last_marker") @@ -1017,7 +1014,7 @@ class RTPMungerState(_message.Message): ext_second_last_timestamp: int last_marker: bool second_last_marker: bool - def __init__(self, ext_last_sequence_number: _Optional[int] = ..., ext_second_last_sequence_number: _Optional[int] = ..., ext_last_timestamp: _Optional[int] = ..., ext_second_last_timestamp: _Optional[int] = ..., last_marker: _Optional[bool] = ..., second_last_marker: _Optional[bool] = ...) -> None: ... + def __init__(self, ext_last_sequence_number: _Optional[int] = ..., ext_second_last_sequence_number: _Optional[int] = ..., ext_last_timestamp: _Optional[int] = ..., ext_second_last_timestamp: _Optional[int] = ..., last_marker: bool = ..., second_last_marker: bool = ...) -> None: ... class VP8MungerState(_message.Message): __slots__ = ("ext_last_picture_id", "picture_id_used", "last_tl0_pic_idx", "tl0_pic_idx_used", "tid_used", "last_key_idx", "key_idx_used") @@ -1035,7 +1032,7 @@ class VP8MungerState(_message.Message): tid_used: bool last_key_idx: int key_idx_used: bool - def __init__(self, ext_last_picture_id: _Optional[int] = ..., picture_id_used: _Optional[bool] = ..., last_tl0_pic_idx: _Optional[int] = ..., tl0_pic_idx_used: _Optional[bool] = ..., tid_used: _Optional[bool] = ..., last_key_idx: _Optional[int] = ..., key_idx_used: _Optional[bool] = ...) -> None: ... + def __init__(self, ext_last_picture_id: _Optional[int] = ..., picture_id_used: bool = ..., last_tl0_pic_idx: _Optional[int] = ..., tl0_pic_idx_used: bool = ..., tid_used: bool = ..., last_key_idx: _Optional[int] = ..., key_idx_used: bool = ...) -> None: ... class TimedVersion(_message.Message): __slots__ = ("unix_micro", "ticks") @@ -1069,7 +1066,7 @@ class DataStream(_message.Message): reply_to_stream_id: str attached_stream_ids: _containers.RepeatedScalarFieldContainer[str] generated: bool - def __init__(self, operation_type: _Optional[_Union[DataStream.OperationType, str]] = ..., version: _Optional[int] = ..., reply_to_stream_id: _Optional[str] = ..., attached_stream_ids: _Optional[_Iterable[str]] = ..., generated: _Optional[bool] = ...) -> None: ... + def __init__(self, operation_type: _Optional[_Union[DataStream.OperationType, str]] = ..., version: _Optional[int] = ..., reply_to_stream_id: _Optional[str] = ..., attached_stream_ids: _Optional[_Iterable[str]] = ..., generated: bool = ...) -> None: ... class ByteHeader(_message.Message): __slots__ = ("name",) NAME_FIELD_NUMBER: _ClassVar[int] @@ -1158,4 +1155,4 @@ class SubscribedAudioCodec(_message.Message): ENABLED_FIELD_NUMBER: _ClassVar[int] codec: str enabled: bool - def __init__(self, codec: _Optional[str] = ..., enabled: _Optional[bool] = ...) -> None: ... + def __init__(self, codec: _Optional[str] = ..., enabled: bool = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/room.py b/livekit-protocol/livekit/protocol/room.py index 19dc4551..28359b37 100644 --- a/livekit-protocol/livekit/protocol/room.py +++ b/livekit-protocol/livekit/protocol/room.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_room.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_room.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -33,28 +23,28 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'room', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATEROOMREQUEST'].fields_by_name['node_id']._loaded_options = None + _globals['_CREATEROOMREQUEST'].fields_by_name['node_id']._options = None _globals['_CREATEROOMREQUEST'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' - _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._loaded_options = None + _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._options = None _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._loaded_options = None + _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._options = None _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._loaded_options = None + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._options = None _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._loaded_options = None + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._options = None _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._loaded_options = None + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._options = None _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._loaded_options = None + _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._options = None _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._serialized_options = b'\030\001' - _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._loaded_options = None + _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._options = None _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_ROOMCONFIGURATION_TAGSENTRY']._loaded_options = None + _globals['_ROOMCONFIGURATION_TAGSENTRY']._options = None _globals['_ROOMCONFIGURATION_TAGSENTRY']._serialized_options = b'8\001' - _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._loaded_options = None + _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._options = None _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATEROOMREQUEST']._serialized_start=128 _globals['_CREATEROOMREQUEST']._serialized_end=526 diff --git a/livekit-protocol/livekit/protocol/room.pyi b/livekit-protocol/livekit/protocol/room.pyi index 58ed7b46..ddeb0a0c 100644 --- a/livekit-protocol/livekit/protocol/room.pyi +++ b/livekit-protocol/livekit/protocol/room.pyi @@ -5,8 +5,7 @@ from .logger_pb import options as _options_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -38,7 +37,7 @@ class CreateRoomRequest(_message.Message): sync_streams: bool replay_enabled: bool agents: _containers.RepeatedCompositeFieldContainer[_agent_dispatch.RoomAgentDispatch] - def __init__(self, name: _Optional[str] = ..., room_preset: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., node_id: _Optional[str] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: _Optional[bool] = ..., replay_enabled: _Optional[bool] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ...) -> None: ... + def __init__(self, name: _Optional[str] = ..., room_preset: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., node_id: _Optional[str] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: bool = ..., replay_enabled: bool = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ...) -> None: ... class RoomEgress(_message.Message): __slots__ = ("room", "participant", "tracks") @@ -112,7 +111,7 @@ class MuteRoomTrackRequest(_message.Message): identity: str track_sid: str muted: bool - def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sid: _Optional[str] = ..., muted: _Optional[bool] = ...) -> None: ... + def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sid: _Optional[str] = ..., muted: bool = ...) -> None: ... class MuteRoomTrackResponse(_message.Message): __slots__ = ("track",) @@ -155,7 +154,7 @@ class UpdateSubscriptionsRequest(_message.Message): track_sids: _containers.RepeatedScalarFieldContainer[str] subscribe: bool participant_tracks: _containers.RepeatedCompositeFieldContainer[_models.ParticipantTracks] - def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sids: _Optional[_Iterable[str]] = ..., subscribe: _Optional[bool] = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... + def __init__(self, room: _Optional[str] = ..., identity: _Optional[str] = ..., track_sids: _Optional[_Iterable[str]] = ..., subscribe: bool = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... class UpdateSubscriptionsResponse(_message.Message): __slots__ = () @@ -222,7 +221,7 @@ class RoomConfiguration(_message.Message): sync_streams: bool agents: _containers.RepeatedCompositeFieldContainer[_agent_dispatch.RoomAgentDispatch] tags: _containers.ScalarMap[str, str] - def __init__(self, name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: _Optional[bool] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... + def __init__(self, name: _Optional[str] = ..., empty_timeout: _Optional[int] = ..., departure_timeout: _Optional[int] = ..., max_participants: _Optional[int] = ..., metadata: _Optional[str] = ..., egress: _Optional[_Union[RoomEgress, _Mapping]] = ..., min_playout_delay: _Optional[int] = ..., max_playout_delay: _Optional[int] = ..., sync_streams: bool = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... class ForwardParticipantRequest(_message.Message): __slots__ = ("room", "identity", "destination_room") diff --git a/livekit-protocol/livekit/protocol/rtc.py b/livekit-protocol/livekit/protocol/rtc.py index 0d1df6ba..ef4875c7 100644 --- a/livekit-protocol/livekit/protocol/rtc.py +++ b/livekit-protocol/livekit/protocol/rtc.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_rtc.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_rtc.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -31,46 +21,46 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rtc', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_SIGNALREQUEST'].fields_by_name['update_layers']._loaded_options = None + _globals['_SIGNALREQUEST'].fields_by_name['update_layers']._options = None _globals['_SIGNALREQUEST'].fields_by_name['update_layers']._serialized_options = b'\030\001' - _globals['_ADDTRACKREQUEST'].fields_by_name['disable_dtx']._loaded_options = None + _globals['_ADDTRACKREQUEST'].fields_by_name['disable_dtx']._options = None _globals['_ADDTRACKREQUEST'].fields_by_name['disable_dtx']._serialized_options = b'\030\001' - _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._loaded_options = None + _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._options = None _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._serialized_options = b'\030\001' - _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._loaded_options = None + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._options = None _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_options = b'8\001' - _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._loaded_options = None + _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._options = None _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_options = b'8\001' - _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._loaded_options = None + _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._options = None _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._serialized_options = b'\232\354,\014midToTrackID' - _globals['_UPDATEVIDEOLAYERS']._loaded_options = None + _globals['_UPDATEVIDEOLAYERS']._options = None _globals['_UPDATEVIDEOLAYERS']._serialized_options = b'\030\001' - _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._loaded_options = None + _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._options = None _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._loaded_options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._loaded_options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._loaded_options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._loaded_options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._options = None _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_ICESERVER'].fields_by_name['username']._loaded_options = None + _globals['_ICESERVER'].fields_by_name['username']._options = None _globals['_ICESERVER'].fields_by_name['username']._serialized_options = b'\210\354,\001' - _globals['_ICESERVER'].fields_by_name['credential']._loaded_options = None + _globals['_ICESERVER'].fields_by_name['credential']._options = None _globals['_ICESERVER'].fields_by_name['credential']._serialized_options = b'\210\354,\001' - _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._loaded_options = None + _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._options = None _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._serialized_options = b'\030\001' - _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._loaded_options = None + _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._options = None _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' - _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None + _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_JOINREQUEST'].fields_by_name['metadata']._loaded_options = None + _globals['_JOINREQUEST'].fields_by_name['metadata']._options = None _globals['_JOINREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._loaded_options = None + _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._options = None _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIGNALTARGET']._serialized_start=11090 _globals['_SIGNALTARGET']._serialized_end=11135 diff --git a/livekit-protocol/livekit/protocol/rtc.pyi b/livekit-protocol/livekit/protocol/rtc.pyi index fe5b7503..da3d829f 100644 --- a/livekit-protocol/livekit/protocol/rtc.pyi +++ b/livekit-protocol/livekit/protocol/rtc.pyi @@ -4,8 +4,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -186,7 +185,7 @@ class AddTrackRequest(_message.Message): backup_codec_policy: _models.BackupCodecPolicy audio_features: _containers.RepeatedScalarFieldContainer[_models.AudioTrackFeature] packet_trailer_features: _containers.RepeatedScalarFieldContainer[_models.PacketTrailerFeature] - def __init__(self, cid: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[_models.TrackType, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., muted: _Optional[bool] = ..., disable_dtx: _Optional[bool] = ..., source: _Optional[_Union[_models.TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[_models.VideoLayer, _Mapping]]] = ..., simulcast_codecs: _Optional[_Iterable[_Union[SimulcastCodec, _Mapping]]] = ..., sid: _Optional[str] = ..., stereo: _Optional[bool] = ..., disable_red: _Optional[bool] = ..., encryption: _Optional[_Union[_models.Encryption.Type, str]] = ..., stream: _Optional[str] = ..., backup_codec_policy: _Optional[_Union[_models.BackupCodecPolicy, str]] = ..., audio_features: _Optional[_Iterable[_Union[_models.AudioTrackFeature, str]]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[_models.PacketTrailerFeature, str]]] = ...) -> None: ... + def __init__(self, cid: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[_models.TrackType, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., muted: bool = ..., disable_dtx: bool = ..., source: _Optional[_Union[_models.TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[_models.VideoLayer, _Mapping]]] = ..., simulcast_codecs: _Optional[_Iterable[_Union[SimulcastCodec, _Mapping]]] = ..., sid: _Optional[str] = ..., stereo: bool = ..., disable_red: bool = ..., encryption: _Optional[_Union[_models.Encryption.Type, str]] = ..., stream: _Optional[str] = ..., backup_codec_policy: _Optional[_Union[_models.BackupCodecPolicy, str]] = ..., audio_features: _Optional[_Iterable[_Union[_models.AudioTrackFeature, str]]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[_models.PacketTrailerFeature, str]]] = ...) -> None: ... class PublishDataTrackRequest(_message.Message): __slots__ = ("pub_handle", "name", "encryption") @@ -246,7 +245,7 @@ class TrickleRequest(_message.Message): candidateInit: str target: SignalTarget final: bool - def __init__(self, candidateInit: _Optional[str] = ..., target: _Optional[_Union[SignalTarget, str]] = ..., final: _Optional[bool] = ...) -> None: ... + def __init__(self, candidateInit: _Optional[str] = ..., target: _Optional[_Union[SignalTarget, str]] = ..., final: bool = ...) -> None: ... class MuteTrackRequest(_message.Message): __slots__ = ("sid", "muted") @@ -254,7 +253,7 @@ class MuteTrackRequest(_message.Message): MUTED_FIELD_NUMBER: _ClassVar[int] sid: str muted: bool - def __init__(self, sid: _Optional[str] = ..., muted: _Optional[bool] = ...) -> None: ... + def __init__(self, sid: _Optional[str] = ..., muted: bool = ...) -> None: ... class JoinResponse(_message.Message): __slots__ = ("room", "participant", "other_participants", "server_version", "ice_servers", "subscriber_primary", "alternative_url", "client_configuration", "server_region", "ping_timeout", "ping_interval", "server_info", "sif_trailer", "enabled_publish_codecs", "fast_publish") @@ -288,7 +287,7 @@ class JoinResponse(_message.Message): sif_trailer: bytes enabled_publish_codecs: _containers.RepeatedCompositeFieldContainer[_models.Codec] fast_publish: bool - def __init__(self, room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., other_participants: _Optional[_Iterable[_Union[_models.ParticipantInfo, _Mapping]]] = ..., server_version: _Optional[str] = ..., ice_servers: _Optional[_Iterable[_Union[ICEServer, _Mapping]]] = ..., subscriber_primary: _Optional[bool] = ..., alternative_url: _Optional[str] = ..., client_configuration: _Optional[_Union[_models.ClientConfiguration, _Mapping]] = ..., server_region: _Optional[str] = ..., ping_timeout: _Optional[int] = ..., ping_interval: _Optional[int] = ..., server_info: _Optional[_Union[_models.ServerInfo, _Mapping]] = ..., sif_trailer: _Optional[bytes] = ..., enabled_publish_codecs: _Optional[_Iterable[_Union[_models.Codec, _Mapping]]] = ..., fast_publish: _Optional[bool] = ...) -> None: ... + def __init__(self, room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., other_participants: _Optional[_Iterable[_Union[_models.ParticipantInfo, _Mapping]]] = ..., server_version: _Optional[str] = ..., ice_servers: _Optional[_Iterable[_Union[ICEServer, _Mapping]]] = ..., subscriber_primary: bool = ..., alternative_url: _Optional[str] = ..., client_configuration: _Optional[_Union[_models.ClientConfiguration, _Mapping]] = ..., server_region: _Optional[str] = ..., ping_timeout: _Optional[int] = ..., ping_interval: _Optional[int] = ..., server_info: _Optional[_Union[_models.ServerInfo, _Mapping]] = ..., sif_trailer: _Optional[bytes] = ..., enabled_publish_codecs: _Optional[_Iterable[_Union[_models.Codec, _Mapping]]] = ..., fast_publish: bool = ...) -> None: ... class ReconnectResponse(_message.Message): __slots__ = ("ice_servers", "client_configuration", "server_info", "last_message_seq") @@ -349,7 +348,7 @@ class UpdateSubscription(_message.Message): track_sids: _containers.RepeatedScalarFieldContainer[str] subscribe: bool participant_tracks: _containers.RepeatedCompositeFieldContainer[_models.ParticipantTracks] - def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., subscribe: _Optional[bool] = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... + def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., subscribe: bool = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... class UpdateDataSubscription(_message.Message): __slots__ = ("updates",) @@ -361,7 +360,7 @@ class UpdateDataSubscription(_message.Message): track_sid: str subscribe: bool options: _models.DataTrackSubscriptionOptions - def __init__(self, track_sid: _Optional[str] = ..., subscribe: _Optional[bool] = ..., options: _Optional[_Union[_models.DataTrackSubscriptionOptions, _Mapping]] = ...) -> None: ... + def __init__(self, track_sid: _Optional[str] = ..., subscribe: bool = ..., options: _Optional[_Union[_models.DataTrackSubscriptionOptions, _Mapping]] = ...) -> None: ... UPDATES_FIELD_NUMBER: _ClassVar[int] updates: _containers.RepeatedCompositeFieldContainer[UpdateDataSubscription.Update] def __init__(self, updates: _Optional[_Iterable[_Union[UpdateDataSubscription.Update, _Mapping]]] = ...) -> None: ... @@ -382,7 +381,7 @@ class UpdateTrackSettings(_message.Message): height: int fps: int priority: int - def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., disabled: _Optional[bool] = ..., quality: _Optional[_Union[_models.VideoQuality, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., fps: _Optional[int] = ..., priority: _Optional[int] = ...) -> None: ... + def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., disabled: bool = ..., quality: _Optional[_Union[_models.VideoQuality, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., fps: _Optional[int] = ..., priority: _Optional[int] = ...) -> None: ... class UpdateLocalAudioTrack(_message.Message): __slots__ = ("track_sid", "features") @@ -420,7 +419,7 @@ class LeaveRequest(_message.Message): reason: _models.DisconnectReason action: LeaveRequest.Action regions: RegionSettings - def __init__(self, can_reconnect: _Optional[bool] = ..., reason: _Optional[_Union[_models.DisconnectReason, str]] = ..., action: _Optional[_Union[LeaveRequest.Action, str]] = ..., regions: _Optional[_Union[RegionSettings, _Mapping]] = ...) -> None: ... + def __init__(self, can_reconnect: bool = ..., reason: _Optional[_Union[_models.DisconnectReason, str]] = ..., action: _Optional[_Union[LeaveRequest.Action, str]] = ..., regions: _Optional[_Union[RegionSettings, _Mapping]] = ...) -> None: ... class UpdateVideoLayers(_message.Message): __slots__ = ("track_sid", "layers") @@ -509,7 +508,7 @@ class SubscribedQuality(_message.Message): ENABLED_FIELD_NUMBER: _ClassVar[int] quality: _models.VideoQuality enabled: bool - def __init__(self, quality: _Optional[_Union[_models.VideoQuality, str]] = ..., enabled: _Optional[bool] = ...) -> None: ... + def __init__(self, quality: _Optional[_Union[_models.VideoQuality, str]] = ..., enabled: bool = ...) -> None: ... class SubscribedCodec(_message.Message): __slots__ = ("codec", "qualities") @@ -547,7 +546,7 @@ class TrackPermission(_message.Message): all_tracks: bool track_sids: _containers.RepeatedScalarFieldContainer[str] participant_identity: str - def __init__(self, participant_sid: _Optional[str] = ..., all_tracks: _Optional[bool] = ..., track_sids: _Optional[_Iterable[str]] = ..., participant_identity: _Optional[str] = ...) -> None: ... + def __init__(self, participant_sid: _Optional[str] = ..., all_tracks: bool = ..., track_sids: _Optional[_Iterable[str]] = ..., participant_identity: _Optional[str] = ...) -> None: ... class SubscriptionPermission(_message.Message): __slots__ = ("all_participants", "track_permissions") @@ -555,7 +554,7 @@ class SubscriptionPermission(_message.Message): TRACK_PERMISSIONS_FIELD_NUMBER: _ClassVar[int] all_participants: bool track_permissions: _containers.RepeatedCompositeFieldContainer[TrackPermission] - def __init__(self, all_participants: _Optional[bool] = ..., track_permissions: _Optional[_Iterable[_Union[TrackPermission, _Mapping]]] = ...) -> None: ... + def __init__(self, all_participants: bool = ..., track_permissions: _Optional[_Iterable[_Union[TrackPermission, _Mapping]]] = ...) -> None: ... class SubscriptionPermissionUpdate(_message.Message): __slots__ = ("participant_sid", "track_sid", "allowed") @@ -565,7 +564,7 @@ class SubscriptionPermissionUpdate(_message.Message): participant_sid: str track_sid: str allowed: bool - def __init__(self, participant_sid: _Optional[str] = ..., track_sid: _Optional[str] = ..., allowed: _Optional[bool] = ...) -> None: ... + def __init__(self, participant_sid: _Optional[str] = ..., track_sid: _Optional[str] = ..., allowed: bool = ...) -> None: ... class RoomMovedResponse(_message.Message): __slots__ = ("room", "token", "participant", "other_participants") @@ -637,7 +636,7 @@ class SimulateScenario(_message.Message): disconnect_signal_on_resume: bool disconnect_signal_on_resume_no_messages: bool leave_request_full_reconnect: bool - def __init__(self, speaker_update: _Optional[int] = ..., node_failure: _Optional[bool] = ..., migration: _Optional[bool] = ..., server_leave: _Optional[bool] = ..., switch_candidate_protocol: _Optional[_Union[CandidateProtocol, str]] = ..., subscriber_bandwidth: _Optional[int] = ..., disconnect_signal_on_resume: _Optional[bool] = ..., disconnect_signal_on_resume_no_messages: _Optional[bool] = ..., leave_request_full_reconnect: _Optional[bool] = ...) -> None: ... + def __init__(self, speaker_update: _Optional[int] = ..., node_failure: bool = ..., migration: bool = ..., server_leave: bool = ..., switch_candidate_protocol: _Optional[_Union[CandidateProtocol, str]] = ..., subscriber_bandwidth: _Optional[int] = ..., disconnect_signal_on_resume: bool = ..., disconnect_signal_on_resume_no_messages: bool = ..., leave_request_full_reconnect: bool = ...) -> None: ... class Ping(_message.Message): __slots__ = ("timestamp", "rtt") @@ -747,7 +746,7 @@ class ConnectionSettings(_message.Message): subscriber_allow_pause: bool disable_ice_lite: bool auto_subscribe_data_track: bool - def __init__(self, auto_subscribe: _Optional[bool] = ..., adaptive_stream: _Optional[bool] = ..., subscriber_allow_pause: _Optional[bool] = ..., disable_ice_lite: _Optional[bool] = ..., auto_subscribe_data_track: _Optional[bool] = ...) -> None: ... + def __init__(self, auto_subscribe: bool = ..., adaptive_stream: bool = ..., subscriber_allow_pause: bool = ..., disable_ice_lite: bool = ..., auto_subscribe_data_track: bool = ...) -> None: ... class JoinRequest(_message.Message): __slots__ = ("client_info", "connection_settings", "metadata", "participant_attributes", "add_track_requests", "publisher_offer", "reconnect", "reconnect_reason", "participant_sid", "sync_state") @@ -778,7 +777,7 @@ class JoinRequest(_message.Message): reconnect_reason: _models.ReconnectReason participant_sid: str sync_state: SyncState - def __init__(self, client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., connection_settings: _Optional[_Union[ConnectionSettings, _Mapping]] = ..., metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., add_track_requests: _Optional[_Iterable[_Union[AddTrackRequest, _Mapping]]] = ..., publisher_offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., reconnect: _Optional[bool] = ..., reconnect_reason: _Optional[_Union[_models.ReconnectReason, str]] = ..., participant_sid: _Optional[str] = ..., sync_state: _Optional[_Union[SyncState, _Mapping]] = ...) -> None: ... + def __init__(self, client_info: _Optional[_Union[_models.ClientInfo, _Mapping]] = ..., connection_settings: _Optional[_Union[ConnectionSettings, _Mapping]] = ..., metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., add_track_requests: _Optional[_Iterable[_Union[AddTrackRequest, _Mapping]]] = ..., publisher_offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., reconnect: bool = ..., reconnect_reason: _Optional[_Union[_models.ReconnectReason, str]] = ..., participant_sid: _Optional[str] = ..., sync_state: _Optional[_Union[SyncState, _Mapping]] = ...) -> None: ... class WrappedJoinRequest(_message.Message): __slots__ = ("compression", "join_request") diff --git a/livekit-protocol/livekit/protocol/sip.py b/livekit-protocol/livekit/protocol/sip.py index 92fb6f97..4965a864 100644 --- a/livekit-protocol/livekit/protocol/sip.py +++ b/livekit-protocol/livekit/protocol/sip.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_sip.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_sip.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -36,194 +26,194 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sip', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._loaded_options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._serialized_options = b'\030\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._loaded_options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._loaded_options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._loaded_options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._loaded_options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._loaded_options = None + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPTRUNKREQUEST']._loaded_options = None + _globals['_CREATESIPTRUNKREQUEST']._options = None _globals['_CREATESIPTRUNKREQUEST']._serialized_options = b'\030\001' - _globals['_SIPTRUNKINFO'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_SIPTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._loaded_options = None + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._serialized_options = b'\030\001' - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._loaded_options = None + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._loaded_options = None + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._loaded_options = None + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._loaded_options = None + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001' - _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._loaded_options = None + _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPTRUNKINFO']._loaded_options = None + _globals['_SIPTRUNKINFO']._options = None _globals['_SIPTRUNKINFO']._serialized_options = b'\030\001' - _globals['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None _globals['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._options = None _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._options = None _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._loaded_options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._options = None _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._loaded_options = None + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._options = None _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._loaded_options = None + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._loaded_options = None + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._options = None _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._options = None _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._loaded_options = None + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_LISTSIPTRUNKREQUEST']._loaded_options = None + _globals['_LISTSIPTRUNKREQUEST']._options = None _globals['_LISTSIPTRUNKREQUEST']._serialized_options = b'\030\001' - _globals['_LISTSIPTRUNKRESPONSE']._loaded_options = None + _globals['_LISTSIPTRUNKRESPONSE']._options = None _globals['_LISTSIPTRUNKRESPONSE']._serialized_options = b'\030\001' - _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['rule']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['rule']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['rule']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['trunk_ids']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['trunk_ids']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['trunk_ids']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['hide_phone_number']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['hide_phone_number']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['hide_phone_number']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['inbound_numbers']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['inbound_numbers']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['inbound_numbers']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._serialized_options = b'\030\001\210\354,\001\222\354,\036' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._serialized_options = b'\030\001\210\354,\001\222\354,\036' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._serialized_options = b'\030\001' - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._loaded_options = None + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._serialized_options = b'\030\001' - _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None + _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._options = None _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._loaded_options = None + _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._options = None _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._options = None _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._loaded_options = None + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._options = None _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._loaded_options = None + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._options = None _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._loaded_options = None + _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._options = None _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._loaded_options = None + _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._options = None _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._loaded_options = None + _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._options = None _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._loaded_options = None + _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._options = None _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' - _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._loaded_options = None + _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._options = None _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._loaded_options = None + _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' - _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._loaded_options = None + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._options = None _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' - _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._loaded_options = None + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._options = None _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' - _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._options = None _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_trunk_id']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_trunk_id']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._serialized_options = b'\030\001' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._loaded_options = None + _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._options = None _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' - _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._loaded_options = None + _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._options = None _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' - _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._loaded_options = None + _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._options = None _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_options = b'8\001' - _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._loaded_options = None + _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._options = None _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._loaded_options = None + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIPCALLINFO'].fields_by_name['call_id']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['call_id']._options = None _globals['_SIPCALLINFO'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._options = None _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._serialized_options = b'\232\354,\007trunkID' - _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._options = None _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._serialized_options = b'\232\354,\016dispatchRuleID' - _globals['_SIPCALLINFO'].fields_by_name['room_id']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['room_id']._options = None _globals['_SIPCALLINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' - _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._options = None _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' - _globals['_SIPCALLINFO'].fields_by_name['created_at']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['created_at']._options = None _globals['_SIPCALLINFO'].fields_by_name['created_at']._serialized_options = b'\030\001' - _globals['_SIPCALLINFO'].fields_by_name['started_at']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['started_at']._options = None _globals['_SIPCALLINFO'].fields_by_name['started_at']._serialized_options = b'\030\001' - _globals['_SIPCALLINFO'].fields_by_name['ended_at']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['ended_at']._options = None _globals['_SIPCALLINFO'].fields_by_name['ended_at']._serialized_options = b'\030\001' - _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._loaded_options = None + _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._options = None _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' - _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._loaded_options = None + _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._options = None _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._serialized_options = b'\232\354,\ntransferID' - _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._loaded_options = None + _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._options = None _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' - _globals['_SIP'].methods_by_name['ListSIPTrunk']._loaded_options = None + _globals['_SIP'].methods_by_name['ListSIPTrunk']._options = None _globals['_SIP'].methods_by_name['ListSIPTrunk']._serialized_options = b'\210\002\001' _globals['_SIPSTATUSCODE']._serialized_start=11922 _globals['_SIPSTATUSCODE']._serialized_end=14576 diff --git a/livekit-protocol/livekit/protocol/sip.pyi b/livekit-protocol/livekit/protocol/sip.pyi index f20da8f3..58da739b 100644 --- a/livekit-protocol/livekit/protocol/sip.pyi +++ b/livekit-protocol/livekit/protocol/sip.pyi @@ -1,5 +1,3 @@ -import datetime - from google.protobuf import any_pb2 as _any_pb2 from google.protobuf import duration_pb2 as _duration_pb2 from google.protobuf import empty_pb2 as _empty_pb2 @@ -11,8 +9,7 @@ from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Iterable as _Iterable, Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor @@ -291,7 +288,7 @@ class ProviderInfo(_message.Message): name: str type: ProviderType prevent_transfer: bool - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[ProviderType, str]] = ..., prevent_transfer: _Optional[bool] = ...) -> None: ... + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[ProviderType, str]] = ..., prevent_transfer: bool = ...) -> None: ... class SIPTrunkInfo(_message.Message): __slots__ = ("sip_trunk_id", "kind", "inbound_addresses", "outbound_address", "outbound_number", "transport", "inbound_numbers_regex", "inbound_numbers", "inbound_username", "inbound_password", "outbound_username", "outbound_password", "name", "metadata") @@ -408,7 +405,7 @@ class SIPInboundTrunkInfo(_message.Message): media_encryption: SIPMediaEncryption created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp - def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., numbers: _Optional[_Iterable[str]] = ..., allowed_addresses: _Optional[_Iterable[str]] = ..., allowed_numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: _Optional[bool] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., numbers: _Optional[_Iterable[str]] = ..., allowed_addresses: _Optional[_Iterable[str]] = ..., allowed_numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPInboundTrunkUpdate(_message.Message): __slots__ = ("numbers", "allowed_addresses", "allowed_numbers", "auth_username", "auth_password", "name", "metadata", "media_encryption") @@ -503,7 +500,7 @@ class SIPOutboundTrunkInfo(_message.Message): from_host: str created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp - def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., address: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., from_host: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., address: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., from_host: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPOutboundTrunkUpdate(_message.Message): __slots__ = ("address", "transport", "destination_country", "numbers", "auth_username", "auth_password", "name", "metadata", "media_encryption", "from_host") @@ -619,7 +616,7 @@ class SIPDispatchRuleIndividual(_message.Message): room_prefix: str pin: str no_randomness: bool - def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., no_randomness: _Optional[bool] = ...) -> None: ... + def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., no_randomness: bool = ...) -> None: ... class SIPDispatchRuleCallee(_message.Message): __slots__ = ("room_prefix", "pin", "randomize") @@ -629,7 +626,7 @@ class SIPDispatchRuleCallee(_message.Message): room_prefix: str pin: str randomize: bool - def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., randomize: _Optional[bool] = ...) -> None: ... + def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., randomize: bool = ...) -> None: ... class SIPDispatchRule(_message.Message): __slots__ = ("dispatch_rule_direct", "dispatch_rule_individual", "dispatch_rule_callee") @@ -670,7 +667,7 @@ class CreateSIPDispatchRuleRequest(_message.Message): attributes: _containers.ScalarMap[str, str] room_preset: str room_config: _room.RoomConfiguration - def __init__(self, dispatch_rule: _Optional[_Union[SIPDispatchRuleInfo, _Mapping]] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: _Optional[bool] = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ...) -> None: ... + def __init__(self, dispatch_rule: _Optional[_Union[SIPDispatchRuleInfo, _Mapping]] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: bool = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ...) -> None: ... class UpdateSIPDispatchRuleRequest(_message.Message): __slots__ = ("sip_dispatch_rule_id", "replace", "update") @@ -721,7 +718,7 @@ class SIPDispatchRuleInfo(_message.Message): media_encryption: SIPMediaEncryption created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp - def __init__(self, sip_dispatch_rule_id: _Optional[str] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: _Optional[bool] = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ..., krisp_enabled: _Optional[bool] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + def __init__(self, sip_dispatch_rule_id: _Optional[str] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: bool = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPDispatchRuleUpdate(_message.Message): __slots__ = ("trunk_ids", "rule", "name", "metadata", "attributes", "media_encryption") @@ -862,7 +859,7 @@ class CreateSIPParticipantRequest(_message.Message): wait_until_answered: bool display_name: str destination: Destination - def __init__(self, sip_trunk_id: _Optional[str] = ..., trunk: _Optional[_Union[SIPOutboundConfig, _Mapping]] = ..., sip_call_to: _Optional[str] = ..., sip_number: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., dtmf: _Optional[str] = ..., play_ringtone: _Optional[bool] = ..., play_dialtone: _Optional[bool] = ..., hide_phone_number: _Optional[bool] = ..., headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: _Optional[bool] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., wait_until_answered: _Optional[bool] = ..., display_name: _Optional[str] = ..., destination: _Optional[_Union[Destination, _Mapping]] = ...) -> None: ... + def __init__(self, sip_trunk_id: _Optional[str] = ..., trunk: _Optional[_Union[SIPOutboundConfig, _Mapping]] = ..., sip_call_to: _Optional[str] = ..., sip_number: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., dtmf: _Optional[str] = ..., play_ringtone: bool = ..., play_dialtone: bool = ..., hide_phone_number: bool = ..., headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., wait_until_answered: bool = ..., display_name: _Optional[str] = ..., destination: _Optional[_Union[Destination, _Mapping]] = ...) -> None: ... class SIPParticipantInfo(_message.Message): __slots__ = ("participant_id", "participant_identity", "room_name", "sip_call_id") @@ -897,7 +894,7 @@ class TransferSIPParticipantRequest(_message.Message): play_dialtone: bool headers: _containers.ScalarMap[str, str] ringing_timeout: _duration_pb2.Duration - def __init__(self, participant_identity: _Optional[str] = ..., room_name: _Optional[str] = ..., transfer_to: _Optional[str] = ..., play_dialtone: _Optional[bool] = ..., headers: _Optional[_Mapping[str, str]] = ..., ringing_timeout: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ...) -> None: ... + def __init__(self, participant_identity: _Optional[str] = ..., room_name: _Optional[str] = ..., transfer_to: _Optional[str] = ..., play_dialtone: bool = ..., headers: _Optional[_Mapping[str, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... class SIPCallInfo(_message.Message): __slots__ = ("call_id", "trunk_id", "dispatch_rule_id", "region", "room_name", "room_id", "participant_identity", "participant_attributes", "from_uri", "to_uri", "created_at", "started_at", "ended_at", "enabled_features", "call_direction", "call_status", "created_at_ns", "started_at_ns", "ended_at_ns", "disconnect_reason", "error", "call_status_code", "audio_codec", "media_encryption", "pcap_file_link", "call_context", "provider_info", "sip_call_id") diff --git a/livekit-protocol/livekit/protocol/webhook.py b/livekit-protocol/livekit/protocol/webhook.py index d579193a..70cc46fe 100644 --- a/livekit-protocol/livekit/protocol/webhook.py +++ b/livekit-protocol/livekit/protocol/webhook.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: livekit_webhook.proto -# Protobuf Python Version: 6.33.4 +# 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 -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 4, - '', - 'livekit_webhook.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -32,10 +22,10 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'webhook', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_WEBHOOKEVENT'].fields_by_name['num_dropped']._loaded_options = None + _globals['_WEBHOOKEVENT'].fields_by_name['num_dropped']._options = None _globals['_WEBHOOKEVENT'].fields_by_name['num_dropped']._serialized_options = b'\030\001' _globals['_WEBHOOKEVENT']._serialized_start=102 _globals['_WEBHOOKEVENT']._serialized_end=385 diff --git a/livekit-protocol/livekit/protocol/webhook.pyi b/livekit-protocol/livekit/protocol/webhook.pyi index 9ea54fcd..443a24dc 100644 --- a/livekit-protocol/livekit/protocol/webhook.pyi +++ b/livekit-protocol/livekit/protocol/webhook.pyi @@ -3,8 +3,7 @@ from . import egress as _egress from . import ingress as _ingress from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message -from collections.abc import Mapping as _Mapping -from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor