
    /jP                        S r SSKJr  SSKJr  SSKJr  SSKJ	r
  \R                  " 5       rSSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  \R                  " 5       R;                  S5      r\" 5       r \
RB                  " \\ 5        \
RD                  " \S\ 5        \RF                  S:X  Ga  S\ S   l$        S\ S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S   l$        S\ S   RL                  S   l%        S\ S   RL                  S    l$        S!\ S   RL                  S    l%        S\ S   RL                  S"   l$        S#\ S   RL                  S"   l%        S\ S   RL                  S$   l$        S%\ S   RL                  S$   l%        S\ S   RL                  S&   l$        S'\ S   RL                  S&   l%        S\ S(   RL                  S)   l$        S*\ S(   RL                  S)   l%        S\ S+   RL                  S    l$        S!\ S+   RL                  S    l%        S\ S,   l$        S-\ S,   l%        S\ S.   RL                  S)   l$        S*\ S.   RL                  S)   l%        S\ S.   RL                  S   l$        S\ S.   RL                  S   l%        S\ S.   RL                  S   l$        S\ S.   RL                  S   l%        S\ S.   RL                  S   l$        S\ S.   RL                  S   l%        S\ S/   RL                  S)   l$        S*\ S/   RL                  S)   l%        S\ S/   RL                  S    l$        S!\ S/   RL                  S    l%        S\ S/   RL                  S   l$        S\ S/   RL                  S   l%        S\ S/   RL                  S   l$        S\ S/   RL                  S   l%        S\ S/   RL                  S   l$        S\ S/   RL                  S   l%        S\ S0   RL                  S1   l$        S2\ S0   RL                  S1   l%        S\ S0   RL                  S)   l$        S*\ S0   RL                  S)   l%        S\ S0   RL                  S   l$        S\ S0   RL                  S   l%        S\ S0   RL                  S   l$        S\ S0   RL                  S   l%        S\ S0   RL                  S   l$        S\ S0   RL                  S   l%        S\ S0   RL                  S   l$        S\ S0   RL                  S   l%        S\ S0   RL                  S   l$        S\ S0   RL                  S   l%        S3\ S4   l'        S5\ S4   l(        S6\ S7   l'        S8\ S7   l(        S9\ S:   l'        S;\ S:   l(        S<\ S=   l'        S>\ S=   l(        S?\ S   l'        S@\ S   l(        SA\ SB   l'        SC\ SB   l(        SD\ SE   l'        SF\ SE   l(        SG\ S   l'        SH\ S   l(        SI\ SJ   l'        SK\ SJ   l(        SL\ SM   l'        SN\ SM   l(        SO\ S(   l'        SP\ S(   l(        SQ\ S+   l'        SR\ S+   l(        SS\ ST   l'        SU\ ST   l(        SV\ SW   l'        SX\ SW   l(        SY\ S.   l'        SZ\ S.   l(        S[\ S,   l'        S\\ S,   l(        S]\ S^   l'        SZ\ S^   l(        S_\ S`   l'        Sa\ S`   l(        Sb\ S/   l'        Sc\ S/   l(        Sd\ S0   l'        Se\ S0   l(        gg)fzGenerated protocol buffer code.    )
descriptor)descriptor_pool)symbol_database)builder)timestamp_pb2   )models)egress)ingress)sip)room)optionss  
livekit_analytics.protolivekitgoogle/protobuf/timestamp.protolivekit_models.protolivekit_egress.protolivekit_ingress.protolivekit_sip.protolivekit_room.protologger/options.proto"T
AnalyticsVideoLayer
layer (
packets (
bytes (
frames ("
AnalyticsStream
ssrc (
primary_packets (
primary_bytes (
retransmit_packets (
retransmit_bytes (
padding_packets (
padding_bytes (
packets_lost (
frames	 (
rtt
 (
jitter (
nacks (
plis (
firs (2
video_layers (2.livekit.AnalyticsVideoLayer.

start_time (2.google.protobuf.Timestamp,
end_time (2.google.protobuf.Timestamp
packets_out_of_order ("
AnalyticsStat

id (	
analytics_key (	!
kind (2.livekit.StreamType.

time_stamp (2.google.protobuf.Timestamp
node (	
room_id (	B	ProomID
	room_name (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID
score	 ()
streams
 (2.livekit.AnalyticsStream
mime (	
	min_score (
median_score ("7
AnalyticsStats%
stats (2.livekit.AnalyticsStat"
AnalyticsClientMeta
region (	
node (	
client_addr (	
client_connect_time (
connection_type (	2
reconnect_reason (2.livekit.ReconnectReason
geo_hash (	H 
country (	H
isp_asn	 (HB
	_geo_hashB

_countryB

_isp_asn"

AnalyticsEvent

id (	)
type (2.livekit.AnalyticsEventType-
	timestamp (2.google.protobuf.Timestamp
room_id (	B	ProomID
room (2.livekit.Room(
participant_id (	BPparticipantID-
participant (2.livekit.ParticipantInfo
track_id (	B
PtrackID!
track (2.livekit.TrackInfo
analytics_key
 (	(
client_info (2.livekit.ClientInfo1
client_meta (2.livekit.AnalyticsClientMeta
	egress_id (	BPegressID 

ingress_id (	BP	ingressID;
max_subscribed_video_quality (2.livekit.VideoQuality+
	publisher (2.livekit.ParticipantInfo
mime (	#
egress (2.livekit.EgressInfo%
ingress (2.livekit.IngressInfo
error (	$
	rtp_stats (2.livekit.RTPStats
video_layer (
node_id (	B	PnodeID!
sip_call_id (	BP	sipCallID&
sip_call (2.livekit.SIPCallInfo#
sip_trunk_id (	BP
sipTrunkID7
sip_inbound_trunk (2.livekit.SIPInboundTrunkInfo9
sip_outbound_trunk (2.livekit.SIPOutboundTrunkInfo2
sip_dispatch_rule_id (	BPsipDispatchRuleID7
sip_dispatch_rule  (2.livekit.SIPDispatchRuleInfo.
sip_transfer$ (2.livekit.SIPTransferInfo#
report! (2.livekit.ReportInfo&
api_call" (2.livekit.APICallInfo%
webhook# (2.livekit.WebhookInfo":
AnalyticsEvents'
events (2.livekit.AnalyticsEvent"
AnalyticsRoomParticipant

id (	
identity (	
name (	-
state (2.livekit.ParticipantInfo.State-
	joined_at (2.google.protobuf.Timestamp"
AnalyticsRoom

id (	
name (	 

project_id (	BP	projectID.

created_at (2.google.protobuf.Timestamp7
participants (2!.livekit.AnalyticsRoomParticipant"
AnalyticsNodeRooms
node_id (	B	PnodeID
sequence_number (-
	timestamp (2.google.protobuf.Timestamp%
rooms (2.livekit.AnalyticsRoom"K

ReportInfo2
feature_usage (2.livekit.FeatureUsageInfoH B	
message"i
	TimeRange.

started_at (2.google.protobuf.Timestamp,
ended_at (2.google.protobuf.Timestamp"
FeatureUsageInfo2
feature (2!.livekit.FeatureUsageInfo.Feature 

project_id (	BP	projectID
	room_name (	
room_id (	B	ProomID
participant_identity (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID'
time_ranges (2.livekit.TimeRange@
feature_info	 (2*.livekit.FeatureUsageInfo.FeatureInfoEntry2
FeatureInfoEntry
key (	
value (	:8"k
Feature
KRISP_NOISE_CANCELLATION '
#KRISP_BACKGROUND_VOICE_CANCELLATION
AIC_AUDIO_ENHANCEMENT"
APICallRequest9
create_room_request (2.livekit.CreateRoomRequestH 7
list_rooms_request (2.livekit.ListRoomsRequestH 9
delete_room_request (2.livekit.DeleteRoomRequestH E
list_participants_request (2 .livekit.ListParticipantsRequestH E
room_participant_identity (2 .livekit.RoomParticipantIdentityH @
mute_room_track_request (2.livekit.MuteRoomTrackRequestH G
update_participant_request (2!.livekit.UpdateParticipantRequestH K
update_subscriptions_request (2#.livekit.UpdateSubscriptionsRequestH 5
send_data_request	 (2.livekit.SendDataRequestH J
update_room_metadata_request
 (2".livekit.UpdateRoomMetadataRequestH B	
message"
APICallInfo 

project_id (	BP	projectID(
request (2.livekit.APICallRequest
service (	
method (	
node_id (	B	PnodeID
status (
twirp_error_code (	
twirp_error_message (	
	room_name	 (	
room_id
 (	B	ProomID
participant_identity (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID.

started_at (2.google.protobuf.Timestamp
duration_ns ("
WebhookInfo
event_id (	B
PeventID
event (	 

project_id (	BP	projectID
	room_name (	
room_id (	B	ProomID
participant_identity (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID
	egress_id	 (	BPegressID 

ingress_id
 (	BP	ingressID.

created_at (2.google.protobuf.Timestamp-
	queued_at (2.google.protobuf.Timestamp
queue_duration_ns (+
sent_at (2.google.protobuf.Timestamp
send_duration_ns (
url (	
num_dropped (

is_dropped (
service_status (	
service_error_code (
service_error (	

send_error (	**

StreamType
UPSTREAM 

DOWNSTREAM*
AnalyticsEventType
ROOM_CREATED 

ROOM_ENDED
PARTICIPANT_JOINED
PARTICIPANT_LEFT"
PARTICIPANT_CONNECTION_ABORTED-
TRACK_PUBLISHED
TRACK_PUBLISH_REQUESTED
TRACK_UNPUBLISHED
TRACK_SUBSCRIBED
TRACK_SUBSCRIBE_REQUESTED
TRACK_SUBSCRIBE_FAILED
TRACK_UNSUBSCRIBED
TRACK_PUBLISHED_UPDATE

TRACK_MUTED
TRACK_UNMUTED
TRACK_PUBLISH_STATS
TRACK_SUBSCRIBE_STATS
PARTICIPANT_ACTIVE
PARTICIPANT_RESUMED
EGRESS_STARTED
EGRESS_ENDED
EGRESS_UPDATED&
"TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY
RECONNECTED
INGRESS_CREATED
INGRESS_DELETED
INGRESS_STARTED
INGRESS_ENDED
INGRESS_UPDATED
SIP_INBOUND_TRUNK_CREATED
SIP_INBOUND_TRUNK_DELETED
SIP_OUTBOUND_TRUNK_CREATED 
SIP_OUTBOUND_TRUNK_DELETED!
SIP_DISPATCH_RULE_CREATED"
SIP_DISPATCH_RULE_DELETED#
SIP_PARTICIPANT_CREATED$
SIP_CALL_INCOMING%
SIP_CALL_STARTED&
SIP_CALL_ENDED'
SIP_TRANSFER_REQUESTED+
SIP_TRANSFER_COMPLETE,
SIP_CALL_UPDATE.

REPORT(
API_CALL)
WEBHOOK*BFZ#github.com/livekit/protocol/livekitLiveKit.ProtoLiveKit::Protobproto3	analyticsFN
DESCRIPTORsF   Z#github.com/livekit/protocol/livekitLiveKit.ProtoLiveKit::Proto_ANALYTICSSTATroom_ids	   ProomIDparticipant_ids   PparticipantIDtrack_ids
   PtrackID_ANALYTICSEVENT	egress_ids   PegressID
ingress_ids   P	ingressIDnode_ids	   PnodeIDsip_call_ids   P	sipCallIDsip_trunk_ids   P
sipTrunkIDsip_dispatch_rule_ids   PsipDispatchRuleID_ANALYTICSROOM
project_ids   P	projectID_ANALYTICSNODEROOMS"_FEATUREUSAGEINFO_FEATUREINFOENTRYs   8_FEATUREUSAGEINFO_APICALLINFO_WEBHOOKINFOevent_ids
   PeventIDi  _STREAMTYPEi  i  _ANALYTICSEVENTTYPEiU     _ANALYTICSVIDEOLAYERi  i  _ANALYTICSSTREAMi  i  im  io  _ANALYTICSSTATSi  i  _ANALYTICSCLIENTMETAi  i  i
  i
  _ANALYTICSEVENTSi   i#  _ANALYTICSROOMPARTICIPANTi  i  i~  i  i   i"  _REPORTINFOim  io  
_TIMERANGEi  i  i  iE  iw  iy  _FEATUREUSAGEINFO_FEATUREi  _APICALLREQUESTi  i  iT  iW  i  ))__doc__google.protobufr   _descriptorr   _descriptor_poolr   _symbol_databasegoogle.protobuf.internalr   _builderDefault_sym_dbr   &google_dot_protobuf_dot_timestamp__pb2 r	   _models_r
   _egress_r   	_ingress_r   _sip_r   _room_	logger_pbr   logger_dot_options__pb2AddSerializedFiler   globals_globalsBuildMessageAndEnumDescriptorsBuildTopDescriptorsAndMessages_USE_C_DESCRIPTORS_options_serialized_optionsfields_by_name_serialized_start_serialized_end     K/app/agent/.venv/lib/python3.13/site-packages/livekit/protocol/analytics.py<module>rQ      s  
 & 5 ? ? 8 
"
"
$ T     "   9 %%'99  ;hy  iy
9  ' '
H =  ' '
K J!!U*$((<! 0I(<,BF(++I6?M_(++I6JIM(++,<=FTk(++,<=QCG(++J7@Na(++J7KCG(,,Y7@N`(,,Y7KJN(,,-=>GUl(,,-=>RDH(,,Z8AOb(,,Z8LEI(,,[9BPd(,,[9MFJ(,,\:CQd(,,\:NCG(,,Y7@N`(,,Y7KGK(,,];DRe(,,];OHL(,,^<ESg(,,^<PPT(,,-CDM[x(,,-CDXEI(++L9BPc(++L9MGK( !00;DRd( !00;O<@(/09GO(/0DHL(..|<ESf(..|<PEI(..y9BPb(..y9MLP(../?@IWn(../?@TFJ(..z:CQd(..z:NCG(>)),7@Na(>)),7K@D(>)))4=K](>)))4H@D(>)))4=K](>)))4HGK(>))*:;DRi(>))*:;OAE(>))*5>L_(>))*5IAE(>))*5>L_(>))*5ICG(>)),7@Na(>)),7K@D(>)))4=K](>)))4HGK(>))*:;DRi(>))*:;OAE(>))*5>L_(>))*5IBF(>))+6?Ma(>))+6JCG(>)),7@Na(>)),7K,0(=+*.(=)48( !326( !158(!"436(!"214(0/2(./2(.-1(,04(/.2(-59(!"437(!"204(/.2(-15(0/3(.:>(&'98<(&'7/3(.-1(,48( !326( !1,0(=+*.(=)+/(<*)-(<(26(104(/CG(/0BAE(/0@:>(&'98<(&'704(/.2(--1(>,+/(>*-1(>,+/(>*Q +rO   