diff --git a/.changeset/additional-metrics-fields.md b/.changeset/additional-metrics-fields.md new file mode 100644 index 000000000..9daa33e9b --- /dev/null +++ b/.changeset/additional-metrics-fields.md @@ -0,0 +1,5 @@ +--- +"github.com/livekit/protocol": minor +--- + +agent: add `llm_node_tps` and `llm_node_ttfs` to `MetricsReport`, and an `AgentFalseInterruption` event to `AgentSessionEvent` diff --git a/livekit/agent/livekit_agent_session.pb.go b/livekit/agent/livekit_agent_session.pb.go index f7d9a8449..2268c2e1f 100644 --- a/livekit/agent/livekit_agent_session.pb.go +++ b/livekit/agent/livekit_agent_session.pb.go @@ -353,6 +353,8 @@ type MetricsReport struct { LlmNodeTtft *float64 `protobuf:"fixed64,6,opt,name=llm_node_ttft,json=llmNodeTtft,proto3,oneof" json:"llm_node_ttft,omitempty"` TtsNodeTtfb *float64 `protobuf:"fixed64,7,opt,name=tts_node_ttfb,json=ttsNodeTtfb,proto3,oneof" json:"tts_node_ttfb,omitempty"` E2ELatency *float64 `protobuf:"fixed64,8,opt,name=e2e_latency,json=e2eLatency,proto3,oneof" json:"e2e_latency,omitempty"` + LlmNodeTps *float64 `protobuf:"fixed64,9,opt,name=llm_node_tps,json=llmNodeTps,proto3,oneof" json:"llm_node_tps,omitempty"` + LlmNodeTtfs *float64 `protobuf:"fixed64,10,opt,name=llm_node_ttfs,json=llmNodeTtfs,proto3,oneof" json:"llm_node_ttfs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -443,6 +445,20 @@ func (x *MetricsReport) GetE2ELatency() float64 { return 0 } +func (x *MetricsReport) GetLlmNodeTps() float64 { + if x != nil && x.LlmNodeTps != nil { + return *x.LlmNodeTps + } + return 0 +} + +func (x *MetricsReport) GetLlmNodeTtfs() float64 { + if x != nil && x.LlmNodeTtfs != nil { + return *x.LlmNodeTtfs + } + return 0 +} + type TimedString struct { state protoimpl.MessageState `protogen:"open.v1"` Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` @@ -1641,6 +1657,7 @@ type AgentSessionEvent struct { // *AgentSessionEvent_FunctionToolsStarted_ // *AgentSessionEvent_DebugMessage // *AgentSessionEvent_ToolExecutionUpdated_ + // *AgentSessionEvent_AgentFalseInterruption_ Event isAgentSessionEvent_Event `protobuf_oneof:"event"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1807,6 +1824,15 @@ func (x *AgentSessionEvent) GetToolExecutionUpdated() *AgentSessionEvent_ToolExe return nil } +func (x *AgentSessionEvent) GetAgentFalseInterruption() *AgentSessionEvent_AgentFalseInterruption { + if x != nil { + if x, ok := x.Event.(*AgentSessionEvent_AgentFalseInterruption_); ok { + return x.AgentFalseInterruption + } + } + return nil +} + type isAgentSessionEvent_Event interface { isAgentSessionEvent_Event() } @@ -1863,6 +1889,10 @@ type AgentSessionEvent_ToolExecutionUpdated_ struct { ToolExecutionUpdated *AgentSessionEvent_ToolExecutionUpdated `protobuf:"bytes,22,opt,name=tool_execution_updated,json=toolExecutionUpdated,proto3,oneof"` } +type AgentSessionEvent_AgentFalseInterruption_ struct { + AgentFalseInterruption *AgentSessionEvent_AgentFalseInterruption `protobuf:"bytes,23,opt,name=agent_false_interruption,json=agentFalseInterruption,proto3,oneof"` +} + func (*AgentSessionEvent_AgentStateChanged_) isAgentSessionEvent_Event() {} func (*AgentSessionEvent_UserStateChanged_) isAgentSessionEvent_Event() {} @@ -1889,6 +1919,8 @@ func (*AgentSessionEvent_DebugMessage) isAgentSessionEvent_Event() {} func (*AgentSessionEvent_ToolExecutionUpdated_) isAgentSessionEvent_Event() {} +func (*AgentSessionEvent_AgentFalseInterruption_) isAgentSessionEvent_Event() {} + type SessionRequest struct { state protoimpl.MessageState `protogen:"open.v1"` RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` @@ -3432,6 +3464,51 @@ func (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated_) isAgentSessionEvent func (*AgentSessionEvent_ToolExecutionUpdated_Ended_) isAgentSessionEvent_ToolExecutionUpdated_Update() { } +type AgentSessionEvent_AgentFalseInterruption struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Agent paused its own speech for what turned out not to be a real interruption (a backchannel, brief noise, etc.). + Resumed bool `protobuf:"varint,1,opt,name=resumed,proto3" json:"resumed,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentSessionEvent_AgentFalseInterruption) Reset() { + *x = AgentSessionEvent_AgentFalseInterruption{} + mi := &file_agent_livekit_agent_session_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentSessionEvent_AgentFalseInterruption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentSessionEvent_AgentFalseInterruption) ProtoMessage() {} + +func (x *AgentSessionEvent_AgentFalseInterruption) ProtoReflect() protoreflect.Message { + mi := &file_agent_livekit_agent_session_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentSessionEvent_AgentFalseInterruption.ProtoReflect.Descriptor instead. +func (*AgentSessionEvent_AgentFalseInterruption) Descriptor() ([]byte, []int) { + return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{16, 12} +} + +func (x *AgentSessionEvent_AgentFalseInterruption) GetResumed() bool { + if x != nil { + return x.Resumed + } + return false +} + type AgentSessionEvent_ToolExecutionUpdated_Started struct { state protoimpl.MessageState `protogen:"open.v1"` FunctionCall *FunctionCall `protobuf:"bytes,1,opt,name=function_call,json=functionCall,proto3" json:"function_call,omitempty"` @@ -3441,7 +3518,7 @@ type AgentSessionEvent_ToolExecutionUpdated_Started struct { func (x *AgentSessionEvent_ToolExecutionUpdated_Started) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_Started{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[35] + mi := &file_agent_livekit_agent_session_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3453,7 +3530,7 @@ func (x *AgentSessionEvent_ToolExecutionUpdated_Started) String() string { func (*AgentSessionEvent_ToolExecutionUpdated_Started) ProtoMessage() {} func (x *AgentSessionEvent_ToolExecutionUpdated_Started) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[35] + mi := &file_agent_livekit_agent_session_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3489,7 +3566,7 @@ type AgentSessionEvent_ToolExecutionUpdated_CallUpdated struct { func (x *AgentSessionEvent_ToolExecutionUpdated_CallUpdated) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_CallUpdated{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[36] + mi := &file_agent_livekit_agent_session_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3501,7 +3578,7 @@ func (x *AgentSessionEvent_ToolExecutionUpdated_CallUpdated) String() string { func (*AgentSessionEvent_ToolExecutionUpdated_CallUpdated) ProtoMessage() {} func (x *AgentSessionEvent_ToolExecutionUpdated_CallUpdated) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[36] + mi := &file_agent_livekit_agent_session_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3554,7 +3631,7 @@ type AgentSessionEvent_ToolExecutionUpdated_Ended struct { func (x *AgentSessionEvent_ToolExecutionUpdated_Ended) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_Ended{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[37] + mi := &file_agent_livekit_agent_session_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3566,7 +3643,7 @@ func (x *AgentSessionEvent_ToolExecutionUpdated_Ended) String() string { func (*AgentSessionEvent_ToolExecutionUpdated_Ended) ProtoMessage() {} func (x *AgentSessionEvent_ToolExecutionUpdated_Ended) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[37] + mi := &file_agent_livekit_agent_session_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3623,7 +3700,7 @@ type AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated struct { func (x *AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[38] + mi := &file_agent_livekit_agent_session_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3635,7 +3712,7 @@ func (x *AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated) String() string { func (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated) ProtoMessage() {} func (x *AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[38] + mi := &file_agent_livekit_agent_session_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3680,7 +3757,7 @@ type SessionRequest_Ping struct { func (x *SessionRequest_Ping) Reset() { *x = SessionRequest_Ping{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[39] + mi := &file_agent_livekit_agent_session_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3692,7 +3769,7 @@ func (x *SessionRequest_Ping) String() string { func (*SessionRequest_Ping) ProtoMessage() {} func (x *SessionRequest_Ping) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[39] + mi := &file_agent_livekit_agent_session_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3716,7 +3793,7 @@ type SessionRequest_GetChatHistory struct { func (x *SessionRequest_GetChatHistory) Reset() { *x = SessionRequest_GetChatHistory{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[40] + mi := &file_agent_livekit_agent_session_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3728,7 +3805,7 @@ func (x *SessionRequest_GetChatHistory) String() string { func (*SessionRequest_GetChatHistory) ProtoMessage() {} func (x *SessionRequest_GetChatHistory) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[40] + mi := &file_agent_livekit_agent_session_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3753,7 +3830,7 @@ type SessionRequest_RunInput struct { func (x *SessionRequest_RunInput) Reset() { *x = SessionRequest_RunInput{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[41] + mi := &file_agent_livekit_agent_session_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3765,7 +3842,7 @@ func (x *SessionRequest_RunInput) String() string { func (*SessionRequest_RunInput) ProtoMessage() {} func (x *SessionRequest_RunInput) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[41] + mi := &file_agent_livekit_agent_session_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3796,7 +3873,7 @@ type SessionRequest_GetAgentInfo struct { func (x *SessionRequest_GetAgentInfo) Reset() { *x = SessionRequest_GetAgentInfo{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[42] + mi := &file_agent_livekit_agent_session_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3808,7 +3885,7 @@ func (x *SessionRequest_GetAgentInfo) String() string { func (*SessionRequest_GetAgentInfo) ProtoMessage() {} func (x *SessionRequest_GetAgentInfo) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[42] + mi := &file_agent_livekit_agent_session_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3832,7 +3909,7 @@ type SessionRequest_GetSessionState struct { func (x *SessionRequest_GetSessionState) Reset() { *x = SessionRequest_GetSessionState{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[43] + mi := &file_agent_livekit_agent_session_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3844,7 +3921,7 @@ func (x *SessionRequest_GetSessionState) String() string { func (*SessionRequest_GetSessionState) ProtoMessage() {} func (x *SessionRequest_GetSessionState) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[43] + mi := &file_agent_livekit_agent_session_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3868,7 +3945,7 @@ type SessionRequest_GetRTCStats struct { func (x *SessionRequest_GetRTCStats) Reset() { *x = SessionRequest_GetRTCStats{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[44] + mi := &file_agent_livekit_agent_session_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3880,7 +3957,7 @@ func (x *SessionRequest_GetRTCStats) String() string { func (*SessionRequest_GetRTCStats) ProtoMessage() {} func (x *SessionRequest_GetRTCStats) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[44] + mi := &file_agent_livekit_agent_session_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3904,7 +3981,7 @@ type SessionRequest_GetSessionUsage struct { func (x *SessionRequest_GetSessionUsage) Reset() { *x = SessionRequest_GetSessionUsage{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[45] + mi := &file_agent_livekit_agent_session_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3916,7 +3993,7 @@ func (x *SessionRequest_GetSessionUsage) String() string { func (*SessionRequest_GetSessionUsage) ProtoMessage() {} func (x *SessionRequest_GetSessionUsage) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[45] + mi := &file_agent_livekit_agent_session_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3940,7 +4017,7 @@ type SessionRequest_GetFrameworkInfo struct { func (x *SessionRequest_GetFrameworkInfo) Reset() { *x = SessionRequest_GetFrameworkInfo{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[46] + mi := &file_agent_livekit_agent_session_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3952,7 +4029,7 @@ func (x *SessionRequest_GetFrameworkInfo) String() string { func (*SessionRequest_GetFrameworkInfo) ProtoMessage() {} func (x *SessionRequest_GetFrameworkInfo) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[46] + mi := &file_agent_livekit_agent_session_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3978,7 +4055,7 @@ type SessionRequest_UpdateIO struct { func (x *SessionRequest_UpdateIO) Reset() { *x = SessionRequest_UpdateIO{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[47] + mi := &file_agent_livekit_agent_session_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3990,7 +4067,7 @@ func (x *SessionRequest_UpdateIO) String() string { func (*SessionRequest_UpdateIO) ProtoMessage() {} func (x *SessionRequest_UpdateIO) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[47] + mi := &file_agent_livekit_agent_session_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4030,7 +4107,7 @@ type SessionRequest_FinalizeSimulation struct { func (x *SessionRequest_FinalizeSimulation) Reset() { *x = SessionRequest_FinalizeSimulation{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[48] + mi := &file_agent_livekit_agent_session_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4042,7 +4119,7 @@ func (x *SessionRequest_FinalizeSimulation) String() string { func (*SessionRequest_FinalizeSimulation) ProtoMessage() {} func (x *SessionRequest_FinalizeSimulation) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[48] + mi := &file_agent_livekit_agent_session_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4082,7 +4159,7 @@ type SessionRequest_UpdateIO_Input struct { func (x *SessionRequest_UpdateIO_Input) Reset() { *x = SessionRequest_UpdateIO_Input{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[49] + mi := &file_agent_livekit_agent_session_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4094,7 +4171,7 @@ func (x *SessionRequest_UpdateIO_Input) String() string { func (*SessionRequest_UpdateIO_Input) ProtoMessage() {} func (x *SessionRequest_UpdateIO_Input) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[49] + mi := &file_agent_livekit_agent_session_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4135,7 +4212,7 @@ type SessionRequest_UpdateIO_Output struct { func (x *SessionRequest_UpdateIO_Output) Reset() { *x = SessionRequest_UpdateIO_Output{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[50] + mi := &file_agent_livekit_agent_session_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4147,7 +4224,7 @@ func (x *SessionRequest_UpdateIO_Output) String() string { func (*SessionRequest_UpdateIO_Output) ProtoMessage() {} func (x *SessionRequest_UpdateIO_Output) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[50] + mi := &file_agent_livekit_agent_session_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4192,7 +4269,7 @@ type SessionResponse_Pong struct { func (x *SessionResponse_Pong) Reset() { *x = SessionResponse_Pong{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[51] + mi := &file_agent_livekit_agent_session_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4204,7 +4281,7 @@ func (x *SessionResponse_Pong) String() string { func (*SessionResponse_Pong) ProtoMessage() {} func (x *SessionResponse_Pong) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[51] + mi := &file_agent_livekit_agent_session_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4229,7 +4306,7 @@ type SessionResponse_GetChatHistoryResponse struct { func (x *SessionResponse_GetChatHistoryResponse) Reset() { *x = SessionResponse_GetChatHistoryResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[52] + mi := &file_agent_livekit_agent_session_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4241,7 +4318,7 @@ func (x *SessionResponse_GetChatHistoryResponse) String() string { func (*SessionResponse_GetChatHistoryResponse) ProtoMessage() {} func (x *SessionResponse_GetChatHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[52] + mi := &file_agent_livekit_agent_session_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4276,7 +4353,7 @@ type SessionResponse_GetAgentInfoResponse struct { func (x *SessionResponse_GetAgentInfoResponse) Reset() { *x = SessionResponse_GetAgentInfoResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[53] + mi := &file_agent_livekit_agent_session_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4288,7 +4365,7 @@ func (x *SessionResponse_GetAgentInfoResponse) String() string { func (*SessionResponse_GetAgentInfoResponse) ProtoMessage() {} func (x *SessionResponse_GetAgentInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[53] + mi := &file_agent_livekit_agent_session_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4341,7 +4418,7 @@ type SessionResponse_RunInputResponse struct { func (x *SessionResponse_RunInputResponse) Reset() { *x = SessionResponse_RunInputResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[54] + mi := &file_agent_livekit_agent_session_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4353,7 +4430,7 @@ func (x *SessionResponse_RunInputResponse) String() string { func (*SessionResponse_RunInputResponse) ProtoMessage() {} func (x *SessionResponse_RunInputResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[54] + mi := &file_agent_livekit_agent_session_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4389,7 +4466,7 @@ type SessionResponse_GetSessionStateResponse struct { func (x *SessionResponse_GetSessionStateResponse) Reset() { *x = SessionResponse_GetSessionStateResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[55] + mi := &file_agent_livekit_agent_session_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4401,7 +4478,7 @@ func (x *SessionResponse_GetSessionStateResponse) String() string { func (*SessionResponse_GetSessionStateResponse) ProtoMessage() {} func (x *SessionResponse_GetSessionStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[55] + mi := &file_agent_livekit_agent_session_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4462,7 +4539,7 @@ type SessionResponse_GetRTCStatsResponse struct { func (x *SessionResponse_GetRTCStatsResponse) Reset() { *x = SessionResponse_GetRTCStatsResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[56] + mi := &file_agent_livekit_agent_session_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4474,7 +4551,7 @@ func (x *SessionResponse_GetRTCStatsResponse) String() string { func (*SessionResponse_GetRTCStatsResponse) ProtoMessage() {} func (x *SessionResponse_GetRTCStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[56] + mi := &file_agent_livekit_agent_session_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4514,7 +4591,7 @@ type SessionResponse_GetSessionUsageResponse struct { func (x *SessionResponse_GetSessionUsageResponse) Reset() { *x = SessionResponse_GetSessionUsageResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[57] + mi := &file_agent_livekit_agent_session_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4526,7 +4603,7 @@ func (x *SessionResponse_GetSessionUsageResponse) String() string { func (*SessionResponse_GetSessionUsageResponse) ProtoMessage() {} func (x *SessionResponse_GetSessionUsageResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[57] + mi := &file_agent_livekit_agent_session_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4566,7 +4643,7 @@ type SessionResponse_GetFrameworkInfoResponse struct { func (x *SessionResponse_GetFrameworkInfoResponse) Reset() { *x = SessionResponse_GetFrameworkInfoResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[58] + mi := &file_agent_livekit_agent_session_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4578,7 +4655,7 @@ func (x *SessionResponse_GetFrameworkInfoResponse) String() string { func (*SessionResponse_GetFrameworkInfoResponse) ProtoMessage() {} func (x *SessionResponse_GetFrameworkInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[58] + mi := &file_agent_livekit_agent_session_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4616,7 +4693,7 @@ type SessionResponse_UpdateIOResponse struct { func (x *SessionResponse_UpdateIOResponse) Reset() { *x = SessionResponse_UpdateIOResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[59] + mi := &file_agent_livekit_agent_session_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4628,7 +4705,7 @@ func (x *SessionResponse_UpdateIOResponse) String() string { func (*SessionResponse_UpdateIOResponse) ProtoMessage() {} func (x *SessionResponse_UpdateIOResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[59] + mi := &file_agent_livekit_agent_session_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4653,7 +4730,7 @@ type SessionResponse_FinalizeSimulationResponse struct { func (x *SessionResponse_FinalizeSimulationResponse) Reset() { *x = SessionResponse_FinalizeSimulationResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[60] + mi := &file_agent_livekit_agent_session_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4665,7 +4742,7 @@ func (x *SessionResponse_FinalizeSimulationResponse) String() string { func (*SessionResponse_FinalizeSimulationResponse) ProtoMessage() {} func (x *SessionResponse_FinalizeSimulationResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[60] + mi := &file_agent_livekit_agent_session_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4698,7 +4775,7 @@ type SessionResponse_FinalizeSimulationResponse_SimulationVerdict struct { func (x *SessionResponse_FinalizeSimulationResponse_SimulationVerdict) Reset() { *x = SessionResponse_FinalizeSimulationResponse_SimulationVerdict{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[62] + mi := &file_agent_livekit_agent_session_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4710,7 +4787,7 @@ func (x *SessionResponse_FinalizeSimulationResponse_SimulationVerdict) String() func (*SessionResponse_FinalizeSimulationResponse_SimulationVerdict) ProtoMessage() {} func (x *SessionResponse_FinalizeSimulationResponse_SimulationVerdict) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[62] + mi := &file_agent_livekit_agent_session_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4748,7 +4825,7 @@ type AgentSessionMessage_ConsoleIO struct { func (x *AgentSessionMessage_ConsoleIO) Reset() { *x = AgentSessionMessage_ConsoleIO{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[63] + mi := &file_agent_livekit_agent_session_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4760,7 +4837,7 @@ func (x *AgentSessionMessage_ConsoleIO) String() string { func (*AgentSessionMessage_ConsoleIO) ProtoMessage() {} func (x *AgentSessionMessage_ConsoleIO) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[63] + mi := &file_agent_livekit_agent_session_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4788,7 +4865,7 @@ type AgentSessionMessage_ConsoleIO_AudioFrame struct { func (x *AgentSessionMessage_ConsoleIO_AudioFrame) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioFrame{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[64] + mi := &file_agent_livekit_agent_session_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4800,7 +4877,7 @@ func (x *AgentSessionMessage_ConsoleIO_AudioFrame) String() string { func (*AgentSessionMessage_ConsoleIO_AudioFrame) ProtoMessage() {} func (x *AgentSessionMessage_ConsoleIO_AudioFrame) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[64] + mi := &file_agent_livekit_agent_session_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4852,7 +4929,7 @@ type AgentSessionMessage_ConsoleIO_AudioPlaybackFlush struct { func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFlush) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioPlaybackFlush{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[65] + mi := &file_agent_livekit_agent_session_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4864,7 +4941,7 @@ func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFlush) String() string { func (*AgentSessionMessage_ConsoleIO_AudioPlaybackFlush) ProtoMessage() {} func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFlush) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[65] + mi := &file_agent_livekit_agent_session_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4888,7 +4965,7 @@ type AgentSessionMessage_ConsoleIO_AudioPlaybackClear struct { func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackClear) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioPlaybackClear{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[66] + mi := &file_agent_livekit_agent_session_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4900,7 +4977,7 @@ func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackClear) String() string { func (*AgentSessionMessage_ConsoleIO_AudioPlaybackClear) ProtoMessage() {} func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackClear) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[66] + mi := &file_agent_livekit_agent_session_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4924,7 +5001,7 @@ type AgentSessionMessage_ConsoleIO_AudioPlaybackFinished struct { func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFinished) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioPlaybackFinished{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[67] + mi := &file_agent_livekit_agent_session_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4936,7 +5013,7 @@ func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFinished) String() string { func (*AgentSessionMessage_ConsoleIO_AudioPlaybackFinished) ProtoMessage() {} func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFinished) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[67] + mi := &file_agent_livekit_agent_session_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4956,7 +5033,7 @@ var File_agent_livekit_agent_session_proto protoreflect.FileDescriptor const file_agent_livekit_agent_session_proto_rawDesc = "" + "\n" + - "!agent/livekit_agent_session.proto\x12\rlivekit.agent\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x14logger/options.proto\"\xcd\x04\n" + + "!agent/livekit_agent_session.proto\x12\rlivekit.agent\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x14logger/options.proto\"\xc0\x05\n" + "\rMetricsReport\x12J\n" + "\x13started_speaking_at\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x11startedSpeakingAt\x12J\n" + "\x13stopped_speaking_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x11stoppedSpeakingAt\x124\n" + @@ -4966,13 +5043,19 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\rllm_node_ttft\x18\x06 \x01(\x01H\x03R\vllmNodeTtft\x88\x01\x01\x12'\n" + "\rtts_node_ttfb\x18\a \x01(\x01H\x04R\vttsNodeTtfb\x88\x01\x01\x12$\n" + "\ve2e_latency\x18\b \x01(\x01H\x05R\n" + - "e2eLatency\x88\x01\x01B\x16\n" + + "e2eLatency\x88\x01\x01\x12%\n" + + "\fllm_node_tps\x18\t \x01(\x01H\x06R\n" + + "llmNodeTps\x88\x01\x01\x12'\n" + + "\rllm_node_ttfs\x18\n" + + " \x01(\x01H\aR\vllmNodeTtfs\x88\x01\x01B\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" + - "\f_e2e_latency\"\xaf\x02\n" + + "\f_e2e_latencyB\x0f\n" + + "\r_llm_node_tpsB\x10\n" + + "\x0e_llm_node_ttfs\"\xaf\x02\n" + "\vTimedString\x12\x12\n" + "\x04text\x18\x01 \x01(\tR\x04text\x12\"\n" + "\n" + @@ -5100,7 +5183,7 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\vmodel_usage\x18\x01 \x03(\v2\x19.livekit.agent.ModelUsageR\n" + "modelUsage\"A\n" + "\fDebugMessage\x121\n" + - "\apayload\x18\x01 \x01(\v2\x17.google.protobuf.StructR\apayload\"\xa4\x1e\n" + + "\apayload\x18\x01 \x01(\v2\x17.google.protobuf.StructR\apayload\"\xcd\x1f\n" + "\x11AgentSessionEvent\x129\n" + "\n" + "created_at\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12d\n" + @@ -5117,7 +5200,8 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\x0eeot_prediction\x18\x13 \x01(\v2..livekit.agent.AgentSessionEvent.EotPredictionH\x00R\reotPrediction\x12m\n" + "\x16function_tools_started\x18\x14 \x01(\v25.livekit.agent.AgentSessionEvent.FunctionToolsStartedH\x00R\x14functionToolsStarted\x12B\n" + "\rdebug_message\x18\x15 \x01(\v2\x1b.livekit.agent.DebugMessageH\x00R\fdebugMessage\x12m\n" + - "\x16tool_execution_updated\x18\x16 \x01(\v25.livekit.agent.AgentSessionEvent.ToolExecutionUpdatedH\x00R\x14toolExecutionUpdated\x1a\x83\x01\n" + + "\x16tool_execution_updated\x18\x16 \x01(\v25.livekit.agent.AgentSessionEvent.ToolExecutionUpdatedH\x00R\x14toolExecutionUpdated\x12s\n" + + "\x18agent_false_interruption\x18\x17 \x01(\v27.livekit.agent.AgentSessionEvent.AgentFalseInterruptionH\x00R\x16agentFalseInterruption\x1a\x83\x01\n" + "\x11AgentStateChanged\x126\n" + "\told_state\x18\x01 \x01(\x0e2\x19.livekit.agent.AgentStateR\boldState\x126\n" + "\tnew_state\x18\x02 \x01(\x0e2\x19.livekit.agent.AgentStateR\bnewState\x1a\x80\x01\n" + @@ -5185,7 +5269,9 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "update_ids\x18\x01 \x03(\tB\f\xbaP\tupdateIDsR\tupdateIds\x126\n" + "\x06status\x18\x02 \x01(\x0e2\x1e.livekit.agent.ToolReplyStatusR\x06status\x12(\n" + "\tspeech_id\x18\x03 \x01(\tB\v\xbaP\bspeechIDR\bspeechIdB\b\n" + - "\x06updateB\a\n" + + "\x06update\x1a2\n" + + "\x16AgentFalseInterruption\x12\x18\n" + + "\aresumed\x18\x01 \x01(\bR\aresumedB\a\n" + "\x05event\"\x98\r\n" + "\x0eSessionRequest\x12\x1d\n" + "\n" + @@ -5361,7 +5447,7 @@ func file_agent_livekit_agent_session_proto_rawDescGZIP() []byte { } var file_agent_livekit_agent_session_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_agent_livekit_agent_session_proto_msgTypes = make([]protoimpl.MessageInfo, 68) +var file_agent_livekit_agent_session_proto_msgTypes = make([]protoimpl.MessageInfo, 69) var file_agent_livekit_agent_session_proto_goTypes = []any{ (ChatRole)(0), // 0: livekit.agent.ChatRole (AgentState)(0), // 1: livekit.agent.AgentState @@ -5404,55 +5490,56 @@ var file_agent_livekit_agent_session_proto_goTypes = []any{ (*AgentSessionEvent_EotPrediction)(nil), // 38: livekit.agent.AgentSessionEvent.EotPrediction (*AgentSessionEvent_SessionUsageUpdated)(nil), // 39: livekit.agent.AgentSessionEvent.SessionUsageUpdated (*AgentSessionEvent_ToolExecutionUpdated)(nil), // 40: livekit.agent.AgentSessionEvent.ToolExecutionUpdated - (*AgentSessionEvent_ToolExecutionUpdated_Started)(nil), // 41: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started - (*AgentSessionEvent_ToolExecutionUpdated_CallUpdated)(nil), // 42: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated - (*AgentSessionEvent_ToolExecutionUpdated_Ended)(nil), // 43: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended - (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated)(nil), // 44: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated - (*SessionRequest_Ping)(nil), // 45: livekit.agent.SessionRequest.Ping - (*SessionRequest_GetChatHistory)(nil), // 46: livekit.agent.SessionRequest.GetChatHistory - (*SessionRequest_RunInput)(nil), // 47: livekit.agent.SessionRequest.RunInput - (*SessionRequest_GetAgentInfo)(nil), // 48: livekit.agent.SessionRequest.GetAgentInfo - (*SessionRequest_GetSessionState)(nil), // 49: livekit.agent.SessionRequest.GetSessionState - (*SessionRequest_GetRTCStats)(nil), // 50: livekit.agent.SessionRequest.GetRTCStats - (*SessionRequest_GetSessionUsage)(nil), // 51: livekit.agent.SessionRequest.GetSessionUsage - (*SessionRequest_GetFrameworkInfo)(nil), // 52: livekit.agent.SessionRequest.GetFrameworkInfo - (*SessionRequest_UpdateIO)(nil), // 53: livekit.agent.SessionRequest.UpdateIO - (*SessionRequest_FinalizeSimulation)(nil), // 54: livekit.agent.SessionRequest.FinalizeSimulation - (*SessionRequest_UpdateIO_Input)(nil), // 55: livekit.agent.SessionRequest.UpdateIO.Input - (*SessionRequest_UpdateIO_Output)(nil), // 56: livekit.agent.SessionRequest.UpdateIO.Output - (*SessionResponse_Pong)(nil), // 57: livekit.agent.SessionResponse.Pong - (*SessionResponse_GetChatHistoryResponse)(nil), // 58: livekit.agent.SessionResponse.GetChatHistoryResponse - (*SessionResponse_GetAgentInfoResponse)(nil), // 59: livekit.agent.SessionResponse.GetAgentInfoResponse - (*SessionResponse_RunInputResponse)(nil), // 60: livekit.agent.SessionResponse.RunInputResponse - (*SessionResponse_GetSessionStateResponse)(nil), // 61: livekit.agent.SessionResponse.GetSessionStateResponse - (*SessionResponse_GetRTCStatsResponse)(nil), // 62: livekit.agent.SessionResponse.GetRTCStatsResponse - (*SessionResponse_GetSessionUsageResponse)(nil), // 63: livekit.agent.SessionResponse.GetSessionUsageResponse - (*SessionResponse_GetFrameworkInfoResponse)(nil), // 64: livekit.agent.SessionResponse.GetFrameworkInfoResponse - (*SessionResponse_UpdateIOResponse)(nil), // 65: livekit.agent.SessionResponse.UpdateIOResponse - (*SessionResponse_FinalizeSimulationResponse)(nil), // 66: livekit.agent.SessionResponse.FinalizeSimulationResponse - nil, // 67: livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry - (*SessionResponse_FinalizeSimulationResponse_SimulationVerdict)(nil), // 68: livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict - (*AgentSessionMessage_ConsoleIO)(nil), // 69: livekit.agent.AgentSessionMessage.ConsoleIO - (*AgentSessionMessage_ConsoleIO_AudioFrame)(nil), // 70: livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame - (*AgentSessionMessage_ConsoleIO_AudioPlaybackFlush)(nil), // 71: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush - (*AgentSessionMessage_ConsoleIO_AudioPlaybackClear)(nil), // 72: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear - (*AgentSessionMessage_ConsoleIO_AudioPlaybackFinished)(nil), // 73: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished - (*timestamppb.Timestamp)(nil), // 74: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 75: google.protobuf.Struct - (*durationpb.Duration)(nil), // 76: google.protobuf.Duration + (*AgentSessionEvent_AgentFalseInterruption)(nil), // 41: livekit.agent.AgentSessionEvent.AgentFalseInterruption + (*AgentSessionEvent_ToolExecutionUpdated_Started)(nil), // 42: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started + (*AgentSessionEvent_ToolExecutionUpdated_CallUpdated)(nil), // 43: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated + (*AgentSessionEvent_ToolExecutionUpdated_Ended)(nil), // 44: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended + (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated)(nil), // 45: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated + (*SessionRequest_Ping)(nil), // 46: livekit.agent.SessionRequest.Ping + (*SessionRequest_GetChatHistory)(nil), // 47: livekit.agent.SessionRequest.GetChatHistory + (*SessionRequest_RunInput)(nil), // 48: livekit.agent.SessionRequest.RunInput + (*SessionRequest_GetAgentInfo)(nil), // 49: livekit.agent.SessionRequest.GetAgentInfo + (*SessionRequest_GetSessionState)(nil), // 50: livekit.agent.SessionRequest.GetSessionState + (*SessionRequest_GetRTCStats)(nil), // 51: livekit.agent.SessionRequest.GetRTCStats + (*SessionRequest_GetSessionUsage)(nil), // 52: livekit.agent.SessionRequest.GetSessionUsage + (*SessionRequest_GetFrameworkInfo)(nil), // 53: livekit.agent.SessionRequest.GetFrameworkInfo + (*SessionRequest_UpdateIO)(nil), // 54: livekit.agent.SessionRequest.UpdateIO + (*SessionRequest_FinalizeSimulation)(nil), // 55: livekit.agent.SessionRequest.FinalizeSimulation + (*SessionRequest_UpdateIO_Input)(nil), // 56: livekit.agent.SessionRequest.UpdateIO.Input + (*SessionRequest_UpdateIO_Output)(nil), // 57: livekit.agent.SessionRequest.UpdateIO.Output + (*SessionResponse_Pong)(nil), // 58: livekit.agent.SessionResponse.Pong + (*SessionResponse_GetChatHistoryResponse)(nil), // 59: livekit.agent.SessionResponse.GetChatHistoryResponse + (*SessionResponse_GetAgentInfoResponse)(nil), // 60: livekit.agent.SessionResponse.GetAgentInfoResponse + (*SessionResponse_RunInputResponse)(nil), // 61: livekit.agent.SessionResponse.RunInputResponse + (*SessionResponse_GetSessionStateResponse)(nil), // 62: livekit.agent.SessionResponse.GetSessionStateResponse + (*SessionResponse_GetRTCStatsResponse)(nil), // 63: livekit.agent.SessionResponse.GetRTCStatsResponse + (*SessionResponse_GetSessionUsageResponse)(nil), // 64: livekit.agent.SessionResponse.GetSessionUsageResponse + (*SessionResponse_GetFrameworkInfoResponse)(nil), // 65: livekit.agent.SessionResponse.GetFrameworkInfoResponse + (*SessionResponse_UpdateIOResponse)(nil), // 66: livekit.agent.SessionResponse.UpdateIOResponse + (*SessionResponse_FinalizeSimulationResponse)(nil), // 67: livekit.agent.SessionResponse.FinalizeSimulationResponse + nil, // 68: livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry + (*SessionResponse_FinalizeSimulationResponse_SimulationVerdict)(nil), // 69: livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict + (*AgentSessionMessage_ConsoleIO)(nil), // 70: livekit.agent.AgentSessionMessage.ConsoleIO + (*AgentSessionMessage_ConsoleIO_AudioFrame)(nil), // 71: livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame + (*AgentSessionMessage_ConsoleIO_AudioPlaybackFlush)(nil), // 72: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush + (*AgentSessionMessage_ConsoleIO_AudioPlaybackClear)(nil), // 73: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear + (*AgentSessionMessage_ConsoleIO_AudioPlaybackFinished)(nil), // 74: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished + (*timestamppb.Timestamp)(nil), // 75: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 76: google.protobuf.Struct + (*durationpb.Duration)(nil), // 77: google.protobuf.Duration } var file_agent_livekit_agent_session_proto_depIdxs = []int32{ - 74, // 0: livekit.agent.MetricsReport.started_speaking_at:type_name -> google.protobuf.Timestamp - 74, // 1: livekit.agent.MetricsReport.stopped_speaking_at:type_name -> google.protobuf.Timestamp + 75, // 0: livekit.agent.MetricsReport.started_speaking_at:type_name -> google.protobuf.Timestamp + 75, // 1: livekit.agent.MetricsReport.stopped_speaking_at:type_name -> google.protobuf.Timestamp 0, // 2: livekit.agent.ChatMessage.role:type_name -> livekit.agent.ChatRole 26, // 3: livekit.agent.ChatMessage.content:type_name -> livekit.agent.ChatMessage.ChatContent 27, // 4: livekit.agent.ChatMessage.extra:type_name -> livekit.agent.ChatMessage.ExtraEntry 6, // 5: livekit.agent.ChatMessage.metrics:type_name -> livekit.agent.MetricsReport - 74, // 6: livekit.agent.ChatMessage.created_at:type_name -> google.protobuf.Timestamp - 74, // 7: livekit.agent.FunctionCall.created_at:type_name -> google.protobuf.Timestamp - 74, // 8: livekit.agent.FunctionCallOutput.created_at:type_name -> google.protobuf.Timestamp - 74, // 9: livekit.agent.AgentHandoff.created_at:type_name -> google.protobuf.Timestamp - 74, // 10: livekit.agent.AgentConfigUpdate.created_at:type_name -> google.protobuf.Timestamp + 75, // 6: livekit.agent.ChatMessage.created_at:type_name -> google.protobuf.Timestamp + 75, // 7: livekit.agent.FunctionCall.created_at:type_name -> google.protobuf.Timestamp + 75, // 8: livekit.agent.FunctionCallOutput.created_at:type_name -> google.protobuf.Timestamp + 75, // 9: livekit.agent.AgentHandoff.created_at:type_name -> google.protobuf.Timestamp + 75, // 10: livekit.agent.AgentConfigUpdate.created_at:type_name -> google.protobuf.Timestamp 28, // 11: livekit.agent.ChatContext.items:type_name -> livekit.agent.ChatContext.ChatItem 14, // 12: livekit.agent.ModelUsage.llm:type_name -> livekit.agent.LLMModelUsage 15, // 13: livekit.agent.ModelUsage.tts:type_name -> livekit.agent.TTSModelUsage @@ -5460,8 +5547,8 @@ var file_agent_livekit_agent_session_proto_depIdxs = []int32{ 17, // 15: livekit.agent.ModelUsage.interruption:type_name -> livekit.agent.InterruptionModelUsage 18, // 16: livekit.agent.ModelUsage.eot:type_name -> livekit.agent.EotModelUsage 19, // 17: livekit.agent.AgentSessionUsage.model_usage:type_name -> livekit.agent.ModelUsage - 75, // 18: livekit.agent.DebugMessage.payload:type_name -> google.protobuf.Struct - 74, // 19: livekit.agent.AgentSessionEvent.created_at:type_name -> google.protobuf.Timestamp + 76, // 18: livekit.agent.DebugMessage.payload:type_name -> google.protobuf.Struct + 75, // 19: livekit.agent.AgentSessionEvent.created_at:type_name -> google.protobuf.Timestamp 29, // 20: livekit.agent.AgentSessionEvent.agent_state_changed:type_name -> livekit.agent.AgentSessionEvent.AgentStateChanged 30, // 21: livekit.agent.AgentSessionEvent.user_state_changed:type_name -> livekit.agent.AgentSessionEvent.UserStateChanged 31, // 22: livekit.agent.AgentSessionEvent.conversation_item_added:type_name -> livekit.agent.AgentSessionEvent.ConversationItemAdded @@ -5475,81 +5562,82 @@ var file_agent_livekit_agent_session_proto_depIdxs = []int32{ 33, // 30: livekit.agent.AgentSessionEvent.function_tools_started:type_name -> livekit.agent.AgentSessionEvent.FunctionToolsStarted 21, // 31: livekit.agent.AgentSessionEvent.debug_message:type_name -> livekit.agent.DebugMessage 40, // 32: livekit.agent.AgentSessionEvent.tool_execution_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated - 45, // 33: livekit.agent.SessionRequest.ping:type_name -> livekit.agent.SessionRequest.Ping - 46, // 34: livekit.agent.SessionRequest.get_chat_history:type_name -> livekit.agent.SessionRequest.GetChatHistory - 47, // 35: livekit.agent.SessionRequest.run_input:type_name -> livekit.agent.SessionRequest.RunInput - 48, // 36: livekit.agent.SessionRequest.get_agent_info:type_name -> livekit.agent.SessionRequest.GetAgentInfo - 49, // 37: livekit.agent.SessionRequest.get_session_state:type_name -> livekit.agent.SessionRequest.GetSessionState - 50, // 38: livekit.agent.SessionRequest.get_rtc_stats:type_name -> livekit.agent.SessionRequest.GetRTCStats - 51, // 39: livekit.agent.SessionRequest.get_session_usage:type_name -> livekit.agent.SessionRequest.GetSessionUsage - 52, // 40: livekit.agent.SessionRequest.get_framework_info:type_name -> livekit.agent.SessionRequest.GetFrameworkInfo - 53, // 41: livekit.agent.SessionRequest.update_io:type_name -> livekit.agent.SessionRequest.UpdateIO - 54, // 42: livekit.agent.SessionRequest.finalize_simulation:type_name -> livekit.agent.SessionRequest.FinalizeSimulation - 57, // 43: livekit.agent.SessionResponse.pong:type_name -> livekit.agent.SessionResponse.Pong - 58, // 44: livekit.agent.SessionResponse.get_chat_history:type_name -> livekit.agent.SessionResponse.GetChatHistoryResponse - 60, // 45: livekit.agent.SessionResponse.run_input:type_name -> livekit.agent.SessionResponse.RunInputResponse - 59, // 46: livekit.agent.SessionResponse.get_agent_info:type_name -> livekit.agent.SessionResponse.GetAgentInfoResponse - 61, // 47: livekit.agent.SessionResponse.get_session_state:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse - 62, // 48: livekit.agent.SessionResponse.get_rtc_stats:type_name -> livekit.agent.SessionResponse.GetRTCStatsResponse - 63, // 49: livekit.agent.SessionResponse.get_session_usage:type_name -> livekit.agent.SessionResponse.GetSessionUsageResponse - 64, // 50: livekit.agent.SessionResponse.get_framework_info:type_name -> livekit.agent.SessionResponse.GetFrameworkInfoResponse - 65, // 51: livekit.agent.SessionResponse.update_io:type_name -> livekit.agent.SessionResponse.UpdateIOResponse - 66, // 52: livekit.agent.SessionResponse.finalize_simulation:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse - 70, // 53: livekit.agent.AgentSessionMessage.audio_input:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame - 70, // 54: livekit.agent.AgentSessionMessage.audio_output:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame - 22, // 55: livekit.agent.AgentSessionMessage.event:type_name -> livekit.agent.AgentSessionEvent - 23, // 56: livekit.agent.AgentSessionMessage.request:type_name -> livekit.agent.SessionRequest - 24, // 57: livekit.agent.AgentSessionMessage.response:type_name -> livekit.agent.SessionResponse - 71, // 58: livekit.agent.AgentSessionMessage.audio_playback_flush:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush - 72, // 59: livekit.agent.AgentSessionMessage.audio_playback_clear:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear - 73, // 60: livekit.agent.AgentSessionMessage.audio_playback_finished:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished - 8, // 61: livekit.agent.ChatContext.ChatItem.message:type_name -> livekit.agent.ChatMessage - 9, // 62: livekit.agent.ChatContext.ChatItem.function_call:type_name -> livekit.agent.FunctionCall - 10, // 63: livekit.agent.ChatContext.ChatItem.function_call_output:type_name -> livekit.agent.FunctionCallOutput - 11, // 64: livekit.agent.ChatContext.ChatItem.agent_handoff:type_name -> livekit.agent.AgentHandoff - 12, // 65: livekit.agent.ChatContext.ChatItem.agent_config_update:type_name -> livekit.agent.AgentConfigUpdate - 1, // 66: livekit.agent.AgentSessionEvent.AgentStateChanged.old_state:type_name -> livekit.agent.AgentState - 1, // 67: livekit.agent.AgentSessionEvent.AgentStateChanged.new_state:type_name -> livekit.agent.AgentState - 2, // 68: livekit.agent.AgentSessionEvent.UserStateChanged.old_state:type_name -> livekit.agent.UserState - 2, // 69: livekit.agent.AgentSessionEvent.UserStateChanged.new_state:type_name -> livekit.agent.UserState - 28, // 70: livekit.agent.AgentSessionEvent.ConversationItemAdded.item:type_name -> livekit.agent.ChatContext.ChatItem - 9, // 71: livekit.agent.AgentSessionEvent.FunctionToolsStarted.function_calls:type_name -> livekit.agent.FunctionCall - 9, // 72: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_calls:type_name -> livekit.agent.FunctionCall - 10, // 73: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_call_outputs:type_name -> livekit.agent.FunctionCallOutput - 74, // 74: livekit.agent.AgentSessionEvent.OverlappingSpeech.overlap_started_at:type_name -> google.protobuf.Timestamp - 74, // 75: livekit.agent.AgentSessionEvent.OverlappingSpeech.detected_at:type_name -> google.protobuf.Timestamp - 76, // 76: livekit.agent.AgentSessionEvent.AmdPrediction.speech_duration:type_name -> google.protobuf.Duration - 5, // 77: livekit.agent.AgentSessionEvent.AmdPrediction.category:type_name -> livekit.agent.AmdCategory - 76, // 78: livekit.agent.AgentSessionEvent.AmdPrediction.delay:type_name -> google.protobuf.Duration - 76, // 79: livekit.agent.AgentSessionEvent.EotPrediction.inference_duration:type_name -> google.protobuf.Duration - 76, // 80: livekit.agent.AgentSessionEvent.EotPrediction.delay:type_name -> google.protobuf.Duration - 20, // 81: livekit.agent.AgentSessionEvent.SessionUsageUpdated.usage:type_name -> livekit.agent.AgentSessionUsage - 41, // 82: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.started:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started - 42, // 83: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.call_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated - 44, // 84: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.reply_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated - 43, // 85: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ended:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended - 9, // 86: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started.function_call:type_name -> livekit.agent.FunctionCall - 3, // 87: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended.status:type_name -> livekit.agent.ToolCallStatus - 4, // 88: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated.status:type_name -> livekit.agent.ToolReplyStatus - 55, // 89: livekit.agent.SessionRequest.UpdateIO.input:type_name -> livekit.agent.SessionRequest.UpdateIO.Input - 56, // 90: livekit.agent.SessionRequest.UpdateIO.output:type_name -> livekit.agent.SessionRequest.UpdateIO.Output - 28, // 91: livekit.agent.SessionResponse.GetChatHistoryResponse.items:type_name -> livekit.agent.ChatContext.ChatItem - 28, // 92: livekit.agent.SessionResponse.GetAgentInfoResponse.chat_ctx:type_name -> livekit.agent.ChatContext.ChatItem - 28, // 93: livekit.agent.SessionResponse.RunInputResponse.items:type_name -> livekit.agent.ChatContext.ChatItem - 1, // 94: livekit.agent.SessionResponse.GetSessionStateResponse.agent_state:type_name -> livekit.agent.AgentState - 2, // 95: livekit.agent.SessionResponse.GetSessionStateResponse.user_state:type_name -> livekit.agent.UserState - 67, // 96: livekit.agent.SessionResponse.GetSessionStateResponse.options:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry - 74, // 97: livekit.agent.SessionResponse.GetSessionStateResponse.created_at:type_name -> google.protobuf.Timestamp - 75, // 98: livekit.agent.SessionResponse.GetRTCStatsResponse.publisher_stats:type_name -> google.protobuf.Struct - 75, // 99: livekit.agent.SessionResponse.GetRTCStatsResponse.subscriber_stats:type_name -> google.protobuf.Struct - 20, // 100: livekit.agent.SessionResponse.GetSessionUsageResponse.usage:type_name -> livekit.agent.AgentSessionUsage - 74, // 101: livekit.agent.SessionResponse.GetSessionUsageResponse.created_at:type_name -> google.protobuf.Timestamp - 68, // 102: livekit.agent.SessionResponse.FinalizeSimulationResponse.user_verdict:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict - 103, // [103:103] is the sub-list for method output_type - 103, // [103:103] is the sub-list for method input_type - 103, // [103:103] is the sub-list for extension type_name - 103, // [103:103] is the sub-list for extension extendee - 0, // [0:103] is the sub-list for field type_name + 41, // 33: livekit.agent.AgentSessionEvent.agent_false_interruption:type_name -> livekit.agent.AgentSessionEvent.AgentFalseInterruption + 46, // 34: livekit.agent.SessionRequest.ping:type_name -> livekit.agent.SessionRequest.Ping + 47, // 35: livekit.agent.SessionRequest.get_chat_history:type_name -> livekit.agent.SessionRequest.GetChatHistory + 48, // 36: livekit.agent.SessionRequest.run_input:type_name -> livekit.agent.SessionRequest.RunInput + 49, // 37: livekit.agent.SessionRequest.get_agent_info:type_name -> livekit.agent.SessionRequest.GetAgentInfo + 50, // 38: livekit.agent.SessionRequest.get_session_state:type_name -> livekit.agent.SessionRequest.GetSessionState + 51, // 39: livekit.agent.SessionRequest.get_rtc_stats:type_name -> livekit.agent.SessionRequest.GetRTCStats + 52, // 40: livekit.agent.SessionRequest.get_session_usage:type_name -> livekit.agent.SessionRequest.GetSessionUsage + 53, // 41: livekit.agent.SessionRequest.get_framework_info:type_name -> livekit.agent.SessionRequest.GetFrameworkInfo + 54, // 42: livekit.agent.SessionRequest.update_io:type_name -> livekit.agent.SessionRequest.UpdateIO + 55, // 43: livekit.agent.SessionRequest.finalize_simulation:type_name -> livekit.agent.SessionRequest.FinalizeSimulation + 58, // 44: livekit.agent.SessionResponse.pong:type_name -> livekit.agent.SessionResponse.Pong + 59, // 45: livekit.agent.SessionResponse.get_chat_history:type_name -> livekit.agent.SessionResponse.GetChatHistoryResponse + 61, // 46: livekit.agent.SessionResponse.run_input:type_name -> livekit.agent.SessionResponse.RunInputResponse + 60, // 47: livekit.agent.SessionResponse.get_agent_info:type_name -> livekit.agent.SessionResponse.GetAgentInfoResponse + 62, // 48: livekit.agent.SessionResponse.get_session_state:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse + 63, // 49: livekit.agent.SessionResponse.get_rtc_stats:type_name -> livekit.agent.SessionResponse.GetRTCStatsResponse + 64, // 50: livekit.agent.SessionResponse.get_session_usage:type_name -> livekit.agent.SessionResponse.GetSessionUsageResponse + 65, // 51: livekit.agent.SessionResponse.get_framework_info:type_name -> livekit.agent.SessionResponse.GetFrameworkInfoResponse + 66, // 52: livekit.agent.SessionResponse.update_io:type_name -> livekit.agent.SessionResponse.UpdateIOResponse + 67, // 53: livekit.agent.SessionResponse.finalize_simulation:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse + 71, // 54: livekit.agent.AgentSessionMessage.audio_input:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame + 71, // 55: livekit.agent.AgentSessionMessage.audio_output:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame + 22, // 56: livekit.agent.AgentSessionMessage.event:type_name -> livekit.agent.AgentSessionEvent + 23, // 57: livekit.agent.AgentSessionMessage.request:type_name -> livekit.agent.SessionRequest + 24, // 58: livekit.agent.AgentSessionMessage.response:type_name -> livekit.agent.SessionResponse + 72, // 59: livekit.agent.AgentSessionMessage.audio_playback_flush:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush + 73, // 60: livekit.agent.AgentSessionMessage.audio_playback_clear:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear + 74, // 61: livekit.agent.AgentSessionMessage.audio_playback_finished:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished + 8, // 62: livekit.agent.ChatContext.ChatItem.message:type_name -> livekit.agent.ChatMessage + 9, // 63: livekit.agent.ChatContext.ChatItem.function_call:type_name -> livekit.agent.FunctionCall + 10, // 64: livekit.agent.ChatContext.ChatItem.function_call_output:type_name -> livekit.agent.FunctionCallOutput + 11, // 65: livekit.agent.ChatContext.ChatItem.agent_handoff:type_name -> livekit.agent.AgentHandoff + 12, // 66: livekit.agent.ChatContext.ChatItem.agent_config_update:type_name -> livekit.agent.AgentConfigUpdate + 1, // 67: livekit.agent.AgentSessionEvent.AgentStateChanged.old_state:type_name -> livekit.agent.AgentState + 1, // 68: livekit.agent.AgentSessionEvent.AgentStateChanged.new_state:type_name -> livekit.agent.AgentState + 2, // 69: livekit.agent.AgentSessionEvent.UserStateChanged.old_state:type_name -> livekit.agent.UserState + 2, // 70: livekit.agent.AgentSessionEvent.UserStateChanged.new_state:type_name -> livekit.agent.UserState + 28, // 71: livekit.agent.AgentSessionEvent.ConversationItemAdded.item:type_name -> livekit.agent.ChatContext.ChatItem + 9, // 72: livekit.agent.AgentSessionEvent.FunctionToolsStarted.function_calls:type_name -> livekit.agent.FunctionCall + 9, // 73: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_calls:type_name -> livekit.agent.FunctionCall + 10, // 74: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_call_outputs:type_name -> livekit.agent.FunctionCallOutput + 75, // 75: livekit.agent.AgentSessionEvent.OverlappingSpeech.overlap_started_at:type_name -> google.protobuf.Timestamp + 75, // 76: livekit.agent.AgentSessionEvent.OverlappingSpeech.detected_at:type_name -> google.protobuf.Timestamp + 77, // 77: livekit.agent.AgentSessionEvent.AmdPrediction.speech_duration:type_name -> google.protobuf.Duration + 5, // 78: livekit.agent.AgentSessionEvent.AmdPrediction.category:type_name -> livekit.agent.AmdCategory + 77, // 79: livekit.agent.AgentSessionEvent.AmdPrediction.delay:type_name -> google.protobuf.Duration + 77, // 80: livekit.agent.AgentSessionEvent.EotPrediction.inference_duration:type_name -> google.protobuf.Duration + 77, // 81: livekit.agent.AgentSessionEvent.EotPrediction.delay:type_name -> google.protobuf.Duration + 20, // 82: livekit.agent.AgentSessionEvent.SessionUsageUpdated.usage:type_name -> livekit.agent.AgentSessionUsage + 42, // 83: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.started:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started + 43, // 84: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.call_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated + 45, // 85: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.reply_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated + 44, // 86: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ended:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended + 9, // 87: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started.function_call:type_name -> livekit.agent.FunctionCall + 3, // 88: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended.status:type_name -> livekit.agent.ToolCallStatus + 4, // 89: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated.status:type_name -> livekit.agent.ToolReplyStatus + 56, // 90: livekit.agent.SessionRequest.UpdateIO.input:type_name -> livekit.agent.SessionRequest.UpdateIO.Input + 57, // 91: livekit.agent.SessionRequest.UpdateIO.output:type_name -> livekit.agent.SessionRequest.UpdateIO.Output + 28, // 92: livekit.agent.SessionResponse.GetChatHistoryResponse.items:type_name -> livekit.agent.ChatContext.ChatItem + 28, // 93: livekit.agent.SessionResponse.GetAgentInfoResponse.chat_ctx:type_name -> livekit.agent.ChatContext.ChatItem + 28, // 94: livekit.agent.SessionResponse.RunInputResponse.items:type_name -> livekit.agent.ChatContext.ChatItem + 1, // 95: livekit.agent.SessionResponse.GetSessionStateResponse.agent_state:type_name -> livekit.agent.AgentState + 2, // 96: livekit.agent.SessionResponse.GetSessionStateResponse.user_state:type_name -> livekit.agent.UserState + 68, // 97: livekit.agent.SessionResponse.GetSessionStateResponse.options:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry + 75, // 98: livekit.agent.SessionResponse.GetSessionStateResponse.created_at:type_name -> google.protobuf.Timestamp + 76, // 99: livekit.agent.SessionResponse.GetRTCStatsResponse.publisher_stats:type_name -> google.protobuf.Struct + 76, // 100: livekit.agent.SessionResponse.GetRTCStatsResponse.subscriber_stats:type_name -> google.protobuf.Struct + 20, // 101: livekit.agent.SessionResponse.GetSessionUsageResponse.usage:type_name -> livekit.agent.AgentSessionUsage + 75, // 102: livekit.agent.SessionResponse.GetSessionUsageResponse.created_at:type_name -> google.protobuf.Timestamp + 69, // 103: livekit.agent.SessionResponse.FinalizeSimulationResponse.user_verdict:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict + 104, // [104:104] is the sub-list for method output_type + 104, // [104:104] is the sub-list for method input_type + 104, // [104:104] is the sub-list for extension type_name + 104, // [104:104] is the sub-list for extension extendee + 0, // [0:104] is the sub-list for field type_name } func init() { file_agent_livekit_agent_session_proto_init() } @@ -5583,6 +5671,7 @@ func file_agent_livekit_agent_session_proto_init() { (*AgentSessionEvent_FunctionToolsStarted_)(nil), (*AgentSessionEvent_DebugMessage)(nil), (*AgentSessionEvent_ToolExecutionUpdated_)(nil), + (*AgentSessionEvent_AgentFalseInterruption_)(nil), } file_agent_livekit_agent_session_proto_msgTypes[17].OneofWrappers = []any{ (*SessionRequest_Ping_)(nil), @@ -5636,18 +5725,18 @@ func file_agent_livekit_agent_session_proto_init() { (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated_)(nil), (*AgentSessionEvent_ToolExecutionUpdated_Ended_)(nil), } - file_agent_livekit_agent_session_proto_msgTypes[37].OneofWrappers = []any{} - file_agent_livekit_agent_session_proto_msgTypes[47].OneofWrappers = []any{} - file_agent_livekit_agent_session_proto_msgTypes[49].OneofWrappers = []any{} + file_agent_livekit_agent_session_proto_msgTypes[38].OneofWrappers = []any{} + file_agent_livekit_agent_session_proto_msgTypes[48].OneofWrappers = []any{} file_agent_livekit_agent_session_proto_msgTypes[50].OneofWrappers = []any{} - file_agent_livekit_agent_session_proto_msgTypes[53].OneofWrappers = []any{} + file_agent_livekit_agent_session_proto_msgTypes[51].OneofWrappers = []any{} + file_agent_livekit_agent_session_proto_msgTypes[54].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_agent_livekit_agent_session_proto_rawDesc), len(file_agent_livekit_agent_session_proto_rawDesc)), NumEnums: 6, - NumMessages: 68, + NumMessages: 69, NumExtensions: 0, NumServices: 0, }, diff --git a/protobufs/agent/livekit_agent_session.proto b/protobufs/agent/livekit_agent_session.proto index 6b22b7650..844e4e1af 100644 --- a/protobufs/agent/livekit_agent_session.proto +++ b/protobufs/agent/livekit_agent_session.proto @@ -26,6 +26,8 @@ message MetricsReport { optional double llm_node_ttft = 6; optional double tts_node_ttfb = 7; optional double e2e_latency = 8; + optional double llm_node_tps = 9; + optional double llm_node_ttfs = 10; } message TimedString { @@ -303,6 +305,11 @@ message AgentSessionEvent { } } + message AgentFalseInterruption { + // Agent paused its own speech for what turned out not to be a real interruption (a backchannel, brief noise, etc.). + bool resumed = 1; + } + google.protobuf.Timestamp created_at = 1; oneof event { AgentStateChanged agent_state_changed = 10; @@ -318,6 +325,7 @@ message AgentSessionEvent { FunctionToolsStarted function_tools_started = 20; DebugMessage debug_message = 21; ToolExecutionUpdated tool_execution_updated = 22; + AgentFalseInterruption agent_false_interruption = 23; } }