From 60589e83886bbd9e9698fb4f8f13c6a267a32d29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 7 Oct 2026 19:34:42 -0700 Subject: [PATCH 01/12] agent threads: thread id and grant on the worker and the HTTP preamble Job.thread_id, UpdateThreadStatus/ThreadStatus on the worker control stream, StreamPreamble.thread_id and thread_grant (AgentHttp.AgentThreadGrant, with endpoints), and auth.AgentThreadGrant.ToProto. --- .changeset/agent-threads-runtime.md | 6 + auth/grants.go | 19 + livekit/livekit_agent.pb.go | 527 ++++++++++++++++++++++------ protobufs/livekit_agent.proto | 44 ++- 4 files changed, 481 insertions(+), 115 deletions(-) create mode 100644 .changeset/agent-threads-runtime.md diff --git a/.changeset/agent-threads-runtime.md b/.changeset/agent-threads-runtime.md new file mode 100644 index 000000000..19ed7c298 --- /dev/null +++ b/.changeset/agent-threads-runtime.md @@ -0,0 +1,6 @@ +--- +"github.com/livekit/protocol": minor +"@livekit/protocol": minor +--- + +Agent threads on the agent runtime: `Job.thread_id`, `UpdateThreadStatus` on the worker control stream, and `AgentHttp.StreamPreamble.thread_id` / `thread_grant` (`AgentHttp.AgentThreadGrant`, with `endpoints`). `auth.AgentThreadGrant.ToProto` converts the claim for the preamble. diff --git a/auth/grants.go b/auth/grants.go index 945bb6058..ef06ae095 100644 --- a/auth/grants.go +++ b/auth/grants.go @@ -767,6 +767,25 @@ func (s *AgentThreadGrant) Clone() *AgentThreadGrant { return &clone } +// ToProto is the grant as the node forwards it to the worker in +// AgentHttp.StreamPreamble.thread_grant; nil stays nil. +func (s *AgentThreadGrant) ToProto() *livekit.AgentHttp_AgentThreadGrant { + if s == nil { + return nil + } + return &livekit.AgentHttp_AgentThreadGrant{ + AgentName: s.AgentName, + Sub: s.Sub, + ThreadIds: append([]string{}, s.ThreadIDs...), + Endpoints: append([]string{}, s.Endpoints...), + List: s.List, + Create: s.Create, + Send: s.Send, + Read: s.Read, + Delete: s.Delete, + } +} + func (s *AgentThreadGrant) MarshalLogObject(e zapcore.ObjectEncoder) error { if s == nil { return nil diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 7ce1c942c..361006860 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agent.proto package livekit @@ -183,6 +183,54 @@ func (JobStatus) EnumDescriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{2} } +type ThreadStatus int32 + +const ( + // the server routes the thread's requests to this worker + ThreadStatus_TS_ACTIVE ThreadStatus = 0 + // the worker evicted the thread with everything persisted; final for this worker + ThreadStatus_TS_RELEASED ThreadStatus = 1 +) + +// Enum value maps for ThreadStatus. +var ( + ThreadStatus_name = map[int32]string{ + 0: "TS_ACTIVE", + 1: "TS_RELEASED", + } + ThreadStatus_value = map[string]int32{ + "TS_ACTIVE": 0, + "TS_RELEASED": 1, + } +) + +func (x ThreadStatus) Enum() *ThreadStatus { + p := new(ThreadStatus) + *p = x + return p +} + +func (x ThreadStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ThreadStatus) Descriptor() protoreflect.EnumDescriptor { + return file_livekit_agent_proto_enumTypes[3].Descriptor() +} + +func (ThreadStatus) Type() protoreflect.EnumType { + return &file_livekit_agent_proto_enumTypes[3] +} + +func (x ThreadStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ThreadStatus.Descriptor instead. +func (ThreadStatus) EnumDescriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{3} +} + type AgentHttp_AgentEndpointKind int32 const ( @@ -214,11 +262,11 @@ func (x AgentHttp_AgentEndpointKind) String() string { } func (AgentHttp_AgentEndpointKind) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_agent_proto_enumTypes[3].Descriptor() + return file_livekit_agent_proto_enumTypes[4].Descriptor() } func (AgentHttp_AgentEndpointKind) Type() protoreflect.EnumType { - return &file_livekit_agent_proto_enumTypes[3] + return &file_livekit_agent_proto_enumTypes[4] } func (x AgentHttp_AgentEndpointKind) Number() protoreflect.EnumNumber { @@ -227,7 +275,7 @@ func (x AgentHttp_AgentEndpointKind) Number() protoreflect.EnumNumber { // Deprecated: Use AgentHttp_AgentEndpointKind.Descriptor instead. func (AgentHttp_AgentEndpointKind) EnumDescriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16, 0} + return file_livekit_agent_proto_rawDescGZIP(), []int{17, 0} } // why a stream was reset before any HTTP bytes flowed. This travels as the @@ -285,11 +333,11 @@ func (x AgentHttp_HttpStreamResetCode) String() string { } func (AgentHttp_HttpStreamResetCode) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_agent_proto_enumTypes[4].Descriptor() + return file_livekit_agent_proto_enumTypes[5].Descriptor() } func (AgentHttp_HttpStreamResetCode) Type() protoreflect.EnumType { - return &file_livekit_agent_proto_enumTypes[4] + return &file_livekit_agent_proto_enumTypes[5] } func (x AgentHttp_HttpStreamResetCode) Number() protoreflect.EnumNumber { @@ -298,7 +346,7 @@ func (x AgentHttp_HttpStreamResetCode) Number() protoreflect.EnumNumber { // Deprecated: Use AgentHttp_HttpStreamResetCode.Descriptor instead. func (AgentHttp_HttpStreamResetCode) EnumDescriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16, 1} + return file_livekit_agent_proto_rawDescGZIP(), []int{17, 1} } type Job struct { @@ -317,8 +365,10 @@ type Job struct { Deployment string `protobuf:"bytes,11,opt,name=deployment,proto3" json:"deployment,omitempty"` Attributes map[string]string `protobuf:"bytes,12,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` EnableRedaction bool `protobuf:"varint,13,opt,name=enable_redaction,json=enableRedaction,proto3" json:"enable_redaction,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // the thread ("AT_...") this job continues; empty when dispatch made none + ThreadId string `protobuf:"bytes,14,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Job) Reset() { @@ -443,6 +493,13 @@ func (x *Job) GetEnableRedaction() bool { return false } +func (x *Job) GetThreadId() string { + if x != nil { + return x.ThreadId + } + return "" +} + type JobState struct { state protoimpl.MessageState `protogen:"open.v1"` Status JobStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` @@ -555,6 +612,7 @@ type WorkerMessage struct { // *WorkerMessage_Ping // *WorkerMessage_SimulateJob // *WorkerMessage_MigrateJob + // *WorkerMessage_UpdateThread Message isWorkerMessage_Message `protobuf_oneof:"message"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -660,6 +718,15 @@ func (x *WorkerMessage) GetMigrateJob() *MigrateJobRequest { return nil } +func (x *WorkerMessage) GetUpdateThread() *UpdateThreadStatus { + if x != nil { + if x, ok := x.Message.(*WorkerMessage_UpdateThread); ok { + return x.UpdateThread + } + } + return nil +} + type isWorkerMessage_Message interface { isWorkerMessage_Message() } @@ -696,6 +763,11 @@ type WorkerMessage_MigrateJob struct { MigrateJob *MigrateJobRequest `protobuf:"bytes,7,opt,name=migrate_job,json=migrateJob,proto3,oneof"` } +type WorkerMessage_UpdateThread struct { + // the worker holds or released a thread + UpdateThread *UpdateThreadStatus `protobuf:"bytes,8,opt,name=update_thread,json=updateThread,proto3,oneof"` +} + func (*WorkerMessage_Register) isWorkerMessage_Message() {} func (*WorkerMessage_Availability) isWorkerMessage_Message() {} @@ -710,6 +782,8 @@ func (*WorkerMessage_SimulateJob) isWorkerMessage_Message() {} func (*WorkerMessage_MigrateJob) isWorkerMessage_Message() {} +func (*WorkerMessage_UpdateThread) isWorkerMessage_Message() {} + // from Server to Worker type ServerMessage struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1460,6 +1534,70 @@ func (x *UpdateJobStatus) GetError() string { return "" } +// Which threads a worker holds, so a thread's requests reach the worker that +// has it loaded. Applied per worker in seq order; a dropped control stream +// releases every binding of the worker. +type UpdateThreadStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + ThreadId string `protobuf:"bytes,1,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"` + Status ThreadStatus `protobuf:"varint,2,opt,name=status,proto3,enum=livekit.ThreadStatus" json:"status,omitempty"` + // monotonic per worker; a late TS_ACTIVE never revives a TS_RELEASED binding + Seq uint64 `protobuf:"varint,3,opt,name=seq,proto3" json:"seq,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateThreadStatus) Reset() { + *x = UpdateThreadStatus{} + mi := &file_livekit_agent_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateThreadStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateThreadStatus) ProtoMessage() {} + +func (x *UpdateThreadStatus) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[13] + 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 UpdateThreadStatus.ProtoReflect.Descriptor instead. +func (*UpdateThreadStatus) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{13} +} + +func (x *UpdateThreadStatus) GetThreadId() string { + if x != nil { + return x.ThreadId + } + return "" +} + +func (x *UpdateThreadStatus) GetStatus() ThreadStatus { + if x != nil { + return x.Status + } + return ThreadStatus_TS_ACTIVE +} + +func (x *UpdateThreadStatus) GetSeq() uint64 { + if x != nil { + return x.Seq + } + return 0 +} + type UpdateWorkerStatus struct { state protoimpl.MessageState `protogen:"open.v1"` Status *WorkerStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.WorkerStatus,oneof" json:"status,omitempty"` @@ -1476,7 +1614,7 @@ type UpdateWorkerStatus struct { func (x *UpdateWorkerStatus) Reset() { *x = UpdateWorkerStatus{} - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1488,7 +1626,7 @@ func (x *UpdateWorkerStatus) String() string { func (*UpdateWorkerStatus) ProtoMessage() {} func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1501,7 +1639,7 @@ func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkerStatus.ProtoReflect.Descriptor instead. func (*UpdateWorkerStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{13} + return file_livekit_agent_proto_rawDescGZIP(), []int{14} } func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { @@ -1550,7 +1688,7 @@ type JobAssignment struct { func (x *JobAssignment) Reset() { *x = JobAssignment{} - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1562,7 +1700,7 @@ func (x *JobAssignment) String() string { func (*JobAssignment) ProtoMessage() {} func (x *JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1575,7 +1713,7 @@ func (x *JobAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use JobAssignment.ProtoReflect.Descriptor instead. func (*JobAssignment) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{14} + return file_livekit_agent_proto_rawDescGZIP(), []int{15} } func (x *JobAssignment) GetJob() *Job { @@ -1608,7 +1746,7 @@ type JobTermination struct { func (x *JobTermination) Reset() { *x = JobTermination{} - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1620,7 +1758,7 @@ func (x *JobTermination) String() string { func (*JobTermination) ProtoMessage() {} func (x *JobTermination) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1633,7 +1771,7 @@ func (x *JobTermination) ProtoReflect() protoreflect.Message { // Deprecated: Use JobTermination.ProtoReflect.Descriptor instead. func (*JobTermination) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{15} + return file_livekit_agent_proto_rawDescGZIP(), []int{16} } func (x *JobTermination) GetJobId() string { @@ -1693,7 +1831,7 @@ type AgentHttp struct { func (x *AgentHttp) Reset() { *x = AgentHttp{} - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1705,7 +1843,7 @@ func (x *AgentHttp) String() string { func (*AgentHttp) ProtoMessage() {} func (x *AgentHttp) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1718,7 +1856,7 @@ func (x *AgentHttp) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp.ProtoReflect.Descriptor instead. func (*AgentHttp) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16} + return file_livekit_agent_proto_rawDescGZIP(), []int{17} } type AgentHttp_AgentEndpoint struct { @@ -1739,7 +1877,7 @@ type AgentHttp_AgentEndpoint struct { func (x *AgentHttp_AgentEndpoint) Reset() { *x = AgentHttp_AgentEndpoint{} - mi := &file_livekit_agent_proto_msgTypes[19] + mi := &file_livekit_agent_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1751,7 +1889,7 @@ func (x *AgentHttp_AgentEndpoint) String() string { func (*AgentHttp_AgentEndpoint) ProtoMessage() {} func (x *AgentHttp_AgentEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[19] + mi := &file_livekit_agent_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1764,7 +1902,7 @@ func (x *AgentHttp_AgentEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_AgentEndpoint.ProtoReflect.Descriptor instead. func (*AgentHttp_AgentEndpoint) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16, 0} + return file_livekit_agent_proto_rawDescGZIP(), []int{17, 0} } func (x *AgentHttp_AgentEndpoint) GetPath() string { @@ -1809,7 +1947,7 @@ type AgentHttp_AgentEndpointSettings struct { func (x *AgentHttp_AgentEndpointSettings) Reset() { *x = AgentHttp_AgentEndpointSettings{} - mi := &file_livekit_agent_proto_msgTypes[20] + mi := &file_livekit_agent_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1821,7 +1959,7 @@ func (x *AgentHttp_AgentEndpointSettings) String() string { func (*AgentHttp_AgentEndpointSettings) ProtoMessage() {} func (x *AgentHttp_AgentEndpointSettings) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[20] + mi := &file_livekit_agent_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1834,7 +1972,7 @@ func (x *AgentHttp_AgentEndpointSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_AgentEndpointSettings.ProtoReflect.Descriptor instead. func (*AgentHttp_AgentEndpointSettings) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16, 1} + return file_livekit_agent_proto_rawDescGZIP(), []int{17, 1} } func (x *AgentHttp_AgentEndpointSettings) GetProtocol() uint32 { @@ -1864,14 +2002,20 @@ type AgentHttp_StreamPreamble struct { // end client address, host only ClientAddr string `protobuf:"bytes,6,opt,name=client_addr,json=clientAddr,proto3" json:"client_addr,omitempty"` // "http" or "https" as the end client saw it; not derivable worker-side - Scheme string `protobuf:"bytes,7,opt,name=scheme,proto3" json:"scheme,omitempty"` // NEXT_ID: 8 + Scheme string `protobuf:"bytes,7,opt,name=scheme,proto3" json:"scheme,omitempty"` + // the thread ("AT_...") the node resolved for this request; empty when + // none, and the worker resolves it from the body + ThreadId string `protobuf:"bytes,8,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"` + // the verified agentThread claim of the caller's token, which never + // reaches the worker; the worker enforces it on the addressed thread + ThreadGrant *AgentHttp_AgentThreadGrant `protobuf:"bytes,9,opt,name=thread_grant,json=threadGrant,proto3" json:"thread_grant,omitempty"` // NEXT_ID: 10 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AgentHttp_StreamPreamble) Reset() { *x = AgentHttp_StreamPreamble{} - mi := &file_livekit_agent_proto_msgTypes[21] + mi := &file_livekit_agent_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1883,7 +2027,7 @@ func (x *AgentHttp_StreamPreamble) String() string { func (*AgentHttp_StreamPreamble) ProtoMessage() {} func (x *AgentHttp_StreamPreamble) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[21] + mi := &file_livekit_agent_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1896,7 +2040,7 @@ func (x *AgentHttp_StreamPreamble) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_StreamPreamble.ProtoReflect.Descriptor instead. func (*AgentHttp_StreamPreamble) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16, 2} + return file_livekit_agent_proto_rawDescGZIP(), []int{17, 2} } func (x *AgentHttp_StreamPreamble) GetKind() AgentHttp_AgentEndpointKind { @@ -1948,6 +2092,131 @@ func (x *AgentHttp_StreamPreamble) GetScheme() string { return "" } +func (x *AgentHttp_StreamPreamble) GetThreadId() string { + if x != nil { + return x.ThreadId + } + return "" +} + +func (x *AgentHttp_StreamPreamble) GetThreadGrant() *AgentHttp_AgentThreadGrant { + if x != nil { + return x.ThreadGrant + } + return nil +} + +// auth.AgentThreadGrant on the wire: one agent's threads, by subject or by +// id, with per-action flags +type AgentHttp_AgentThreadGrant struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentName string `protobuf:"bytes,1,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` + Sub string `protobuf:"bytes,2,opt,name=sub,proto3" json:"sub,omitempty"` + ThreadIds []string `protobuf:"bytes,3,rep,name=thread_ids,json=threadIds,proto3" json:"thread_ids,omitempty"` + List bool `protobuf:"varint,4,opt,name=list,proto3" json:"list,omitempty"` + Create bool `protobuf:"varint,5,opt,name=create,proto3" json:"create,omitempty"` + Send bool `protobuf:"varint,6,opt,name=send,proto3" json:"send,omitempty"` + Read bool `protobuf:"varint,7,opt,name=read,proto3" json:"read,omitempty"` + Delete bool `protobuf:"varint,8,opt,name=delete,proto3" json:"delete,omitempty"` + // endpoints of the agent the holder may call; empty is all + Endpoints []string `protobuf:"bytes,9,rep,name=endpoints,proto3" json:"endpoints,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentHttp_AgentThreadGrant) Reset() { + *x = AgentHttp_AgentThreadGrant{} + mi := &file_livekit_agent_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentHttp_AgentThreadGrant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentHttp_AgentThreadGrant) ProtoMessage() {} + +func (x *AgentHttp_AgentThreadGrant) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[23] + 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 AgentHttp_AgentThreadGrant.ProtoReflect.Descriptor instead. +func (*AgentHttp_AgentThreadGrant) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{17, 3} +} + +func (x *AgentHttp_AgentThreadGrant) GetAgentName() string { + if x != nil { + return x.AgentName + } + return "" +} + +func (x *AgentHttp_AgentThreadGrant) GetSub() string { + if x != nil { + return x.Sub + } + return "" +} + +func (x *AgentHttp_AgentThreadGrant) GetThreadIds() []string { + if x != nil { + return x.ThreadIds + } + return nil +} + +func (x *AgentHttp_AgentThreadGrant) GetList() bool { + if x != nil { + return x.List + } + return false +} + +func (x *AgentHttp_AgentThreadGrant) GetCreate() bool { + if x != nil { + return x.Create + } + return false +} + +func (x *AgentHttp_AgentThreadGrant) GetSend() bool { + if x != nil { + return x.Send + } + return false +} + +func (x *AgentHttp_AgentThreadGrant) GetRead() bool { + if x != nil { + return x.Read + } + return false +} + +func (x *AgentHttp_AgentThreadGrant) GetDelete() bool { + if x != nil { + return x.Delete + } + return false +} + +func (x *AgentHttp_AgentThreadGrant) GetEndpoints() []string { + if x != nil { + return x.Endpoints + } + return nil +} + // the server is draining: the worker should re-register elsewhere; in-flight // HTTP exchanges run to completion type AgentHttp_GoAway struct { @@ -1959,7 +2228,7 @@ type AgentHttp_GoAway struct { func (x *AgentHttp_GoAway) Reset() { *x = AgentHttp_GoAway{} - mi := &file_livekit_agent_proto_msgTypes[22] + mi := &file_livekit_agent_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1971,7 +2240,7 @@ func (x *AgentHttp_GoAway) String() string { func (*AgentHttp_GoAway) ProtoMessage() {} func (x *AgentHttp_GoAway) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[22] + mi := &file_livekit_agent_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1984,7 +2253,7 @@ func (x *AgentHttp_GoAway) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_GoAway.ProtoReflect.Descriptor instead. func (*AgentHttp_GoAway) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16, 3} + return file_livekit_agent_proto_rawDescGZIP(), []int{17, 4} } func (x *AgentHttp_GoAway) GetReason() string { @@ -1998,7 +2267,7 @@ var File_livekit_agent_proto protoreflect.FileDescriptor const file_livekit_agent_proto_rawDesc = "" + "\n" + - "\x13livekit_agent.proto\x12\alivekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xe2\x04\n" + + "\x13livekit_agent.proto\x12\alivekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\x8c\x05\n" + "\x03Job\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12.\n" + "\vdispatch_id\x18\t \x01(\tB\r\xbaP\n" + @@ -2020,7 +2289,8 @@ const file_livekit_agent_proto_rawDesc = "" + "\n" + "attributes\x18\f \x03(\v2\x1c.livekit.Job.AttributesEntryB\x03\xc0P\x01R\n" + "attributes\x12)\n" + - "\x10enable_redaction\x18\r \x01(\bR\x0fenableRedaction\x1a=\n" + + "\x10enable_redaction\x18\r \x01(\bR\x0fenableRedaction\x12(\n" + + "\tthread_id\x18\x0e \x01(\tB\v\xbaP\bthreadIDR\bthreadId\x1a=\n" + "\x0fAttributesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x0e\n" + @@ -2036,7 +2306,7 @@ const file_livekit_agent_proto_rawDesc = "" + "\x14participant_identity\x18\x06 \x01(\tR\x13participantIdentity\x12(\n" + "\tworker_id\x18\a \x01(\tB\v\xbaP\bworkerIDR\bworkerId\x12%\n" + "\bagent_id\x18\b \x01(\tB\n" + - "\xbaP\aagentIDR\aagentId\"\xc8\x03\n" + + "\xbaP\aagentIDR\aagentId\"\x8c\x04\n" + "\rWorkerMessage\x12<\n" + "\bregister\x18\x01 \x01(\v2\x1e.livekit.RegisterWorkerRequestH\x00R\bregister\x12C\n" + "\favailability\x18\x02 \x01(\v2\x1d.livekit.AvailabilityResponseH\x00R\favailability\x12B\n" + @@ -2046,7 +2316,8 @@ const file_livekit_agent_proto_rawDesc = "" + "\x04ping\x18\x05 \x01(\v2\x13.livekit.WorkerPingH\x00R\x04ping\x12@\n" + "\fsimulate_job\x18\x06 \x01(\v2\x1b.livekit.SimulateJobRequestH\x00R\vsimulateJob\x12=\n" + "\vmigrate_job\x18\a \x01(\v2\x1a.livekit.MigrateJobRequestH\x00R\n" + - "migrateJobB\t\n" + + "migrateJob\x12B\n" + + "\rupdate_thread\x18\b \x01(\v2\x1b.livekit.UpdateThreadStatusH\x00R\fupdateThreadB\t\n" + "\amessage\"\xf5\x02\n" + "\rServerMessage\x12=\n" + "\bregister\x18\x01 \x01(\v2\x1f.livekit.RegisterWorkerResponseH\x00R\bregister\x12B\n" + @@ -2113,7 +2384,11 @@ const file_livekit_agent_proto_rawDesc = "" + "\x0fUpdateJobStatus\x12\x1f\n" + "\x06job_id\x18\x01 \x01(\tB\b\xbaP\x05jobIDR\x05jobId\x12*\n" + "\x06status\x18\x02 \x01(\x0e2\x12.livekit.JobStatusR\x06status\x12\x14\n" + - "\x05error\x18\x03 \x01(\tR\x05error\"\xb8\x01\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"\x7f\n" + + "\x12UpdateThreadStatus\x12(\n" + + "\tthread_id\x18\x01 \x01(\tB\v\xbaP\bthreadIDR\bthreadId\x12-\n" + + "\x06status\x18\x02 \x01(\x0e2\x15.livekit.ThreadStatusR\x06status\x12\x10\n" + + "\x03seq\x18\x03 \x01(\x04R\x03seq\"\xb8\x01\n" + "\x12UpdateWorkerStatus\x122\n" + "\x06status\x18\x01 \x01(\x0e2\x15.livekit.WorkerStatusH\x00R\x06status\x88\x01\x01\x12\x12\n" + "\x04load\x18\x03 \x01(\x02R\x04load\x12\x1b\n" + @@ -2127,7 +2402,7 @@ const file_livekit_agent_proto_rawDesc = "" + "\x05token\x18\x03 \x01(\tR\x05tokenB\x06\n" + "\x04_url\"1\n" + "\x0eJobTermination\x12\x1f\n" + - "\x06job_id\x18\x01 \x01(\tB\b\xbaP\x05jobIDR\x05jobId\"\xaa\x05\n" + + "\x06job_id\x18\x01 \x01(\tB\b\xbaP\x05jobIDR\x05jobId\"\xa7\b\n" + "\tAgentHttp\x1a\x8f\x01\n" + "\rAgentEndpoint\x12\x12\n" + "\x04path\x18\x01 \x01(\tR\x04path\x12\x18\n" + @@ -2135,7 +2410,7 @@ const file_livekit_agent_proto_rawDesc = "" + "\x04kind\x18\x03 \x01(\x0e2$.livekit.AgentHttp.AgentEndpointKindR\x04kind\x12\x16\n" + "\x06public\x18\x04 \x01(\bR\x06public\x1a?\n" + "\x15AgentEndpointSettings\x12\x1a\n" + - "\bprotocol\x18\x01 \x01(\rR\bprotocolJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04\x1a\x8a\x02\n" + + "\bprotocol\x18\x01 \x01(\rR\bprotocolJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04\x1a\xfc\x02\n" + "\x0eStreamPreamble\x128\n" + "\x04kind\x18\x01 \x01(\x0e2$.livekit.AgentHttp.AgentEndpointKindR\x04kind\x12+\n" + "\n" + @@ -2148,7 +2423,21 @@ const file_livekit_agent_proto_rawDesc = "" + "timeout_ms\x18\x05 \x01(\rR\ttimeoutMs\x12$\n" + "\vclient_addr\x18\x06 \x01(\tB\x03\xc0P\x01R\n" + "clientAddr\x12\x16\n" + - "\x06scheme\x18\a \x01(\tR\x06scheme\x1a \n" + + "\x06scheme\x18\a \x01(\tR\x06scheme\x12(\n" + + "\tthread_id\x18\b \x01(\tB\v\xbaP\bthreadIDR\bthreadId\x12F\n" + + "\fthread_grant\x18\t \x01(\v2#.livekit.AgentHttp.AgentThreadGrantR\vthreadGrant\x1a\x88\x02\n" + + "\x10AgentThreadGrant\x12+\n" + + "\n" + + "agent_name\x18\x01 \x01(\tB\f\xbaP\tagentNameR\tagentName\x12\x10\n" + + "\x03sub\x18\x02 \x01(\tR\x03sub\x12+\n" + + "\n" + + "thread_ids\x18\x03 \x03(\tB\f\xbaP\tthreadIDsR\tthreadIds\x12\x12\n" + + "\x04list\x18\x04 \x01(\bR\x04list\x12\x16\n" + + "\x06create\x18\x05 \x01(\bR\x06create\x12\x12\n" + + "\x04send\x18\x06 \x01(\bR\x04send\x12\x12\n" + + "\x04read\x18\a \x01(\bR\x04read\x12\x16\n" + + "\x06delete\x18\b \x01(\bR\x06delete\x12\x1c\n" + + "\tendpoints\x18\t \x03(\tR\tendpoints\x1a \n" + "\x06GoAway\x12\x16\n" + "\x06reason\x18\x01 \x01(\tR\x06reason\"/\n" + "\x11AgentEndpointKind\x12\f\n" + @@ -2174,7 +2463,10 @@ const file_livekit_agent_proto_rawDesc = "" + "JS_RUNNING\x10\x01\x12\x0e\n" + "\n" + "JS_SUCCESS\x10\x02\x12\r\n" + - "\tJS_FAILED\x10\x03BFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" + "\tJS_FAILED\x10\x03*.\n" + + "\fThreadStatus\x12\r\n" + + "\tTS_ACTIVE\x10\x00\x12\x0f\n" + + "\vTS_RELEASED\x10\x01BFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" var ( file_livekit_agent_proto_rawDescOnce sync.Once @@ -2188,82 +2480,88 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { return file_livekit_agent_proto_rawDescData } -var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_livekit_agent_proto_goTypes = []any{ (JobType)(0), // 0: livekit.JobType (WorkerStatus)(0), // 1: livekit.WorkerStatus (JobStatus)(0), // 2: livekit.JobStatus - (AgentHttp_AgentEndpointKind)(0), // 3: livekit.AgentHttp.AgentEndpointKind - (AgentHttp_HttpStreamResetCode)(0), // 4: livekit.AgentHttp.HttpStreamResetCode - (*Job)(nil), // 5: livekit.Job - (*JobState)(nil), // 6: livekit.JobState - (*WorkerMessage)(nil), // 7: livekit.WorkerMessage - (*ServerMessage)(nil), // 8: livekit.ServerMessage - (*SimulateJobRequest)(nil), // 9: livekit.SimulateJobRequest - (*WorkerPing)(nil), // 10: livekit.WorkerPing - (*WorkerPong)(nil), // 11: livekit.WorkerPong - (*RegisterWorkerRequest)(nil), // 12: livekit.RegisterWorkerRequest - (*RegisterWorkerResponse)(nil), // 13: livekit.RegisterWorkerResponse - (*MigrateJobRequest)(nil), // 14: livekit.MigrateJobRequest - (*AvailabilityRequest)(nil), // 15: livekit.AvailabilityRequest - (*AvailabilityResponse)(nil), // 16: livekit.AvailabilityResponse - (*UpdateJobStatus)(nil), // 17: livekit.UpdateJobStatus - (*UpdateWorkerStatus)(nil), // 18: livekit.UpdateWorkerStatus - (*JobAssignment)(nil), // 19: livekit.JobAssignment - (*JobTermination)(nil), // 20: livekit.JobTermination - (*AgentHttp)(nil), // 21: livekit.AgentHttp - nil, // 22: livekit.Job.AttributesEntry - nil, // 23: livekit.AvailabilityResponse.ParticipantAttributesEntry - (*AgentHttp_AgentEndpoint)(nil), // 24: livekit.AgentHttp.AgentEndpoint - (*AgentHttp_AgentEndpointSettings)(nil), // 25: livekit.AgentHttp.AgentEndpointSettings - (*AgentHttp_StreamPreamble)(nil), // 26: livekit.AgentHttp.StreamPreamble - (*AgentHttp_GoAway)(nil), // 27: livekit.AgentHttp.GoAway - (*Room)(nil), // 28: livekit.Room - (*ParticipantInfo)(nil), // 29: livekit.ParticipantInfo - (*ParticipantPermission)(nil), // 30: livekit.ParticipantPermission - (*ServerInfo)(nil), // 31: livekit.ServerInfo + (ThreadStatus)(0), // 3: livekit.ThreadStatus + (AgentHttp_AgentEndpointKind)(0), // 4: livekit.AgentHttp.AgentEndpointKind + (AgentHttp_HttpStreamResetCode)(0), // 5: livekit.AgentHttp.HttpStreamResetCode + (*Job)(nil), // 6: livekit.Job + (*JobState)(nil), // 7: livekit.JobState + (*WorkerMessage)(nil), // 8: livekit.WorkerMessage + (*ServerMessage)(nil), // 9: livekit.ServerMessage + (*SimulateJobRequest)(nil), // 10: livekit.SimulateJobRequest + (*WorkerPing)(nil), // 11: livekit.WorkerPing + (*WorkerPong)(nil), // 12: livekit.WorkerPong + (*RegisterWorkerRequest)(nil), // 13: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 14: livekit.RegisterWorkerResponse + (*MigrateJobRequest)(nil), // 15: livekit.MigrateJobRequest + (*AvailabilityRequest)(nil), // 16: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 17: livekit.AvailabilityResponse + (*UpdateJobStatus)(nil), // 18: livekit.UpdateJobStatus + (*UpdateThreadStatus)(nil), // 19: livekit.UpdateThreadStatus + (*UpdateWorkerStatus)(nil), // 20: livekit.UpdateWorkerStatus + (*JobAssignment)(nil), // 21: livekit.JobAssignment + (*JobTermination)(nil), // 22: livekit.JobTermination + (*AgentHttp)(nil), // 23: livekit.AgentHttp + nil, // 24: livekit.Job.AttributesEntry + nil, // 25: livekit.AvailabilityResponse.ParticipantAttributesEntry + (*AgentHttp_AgentEndpoint)(nil), // 26: livekit.AgentHttp.AgentEndpoint + (*AgentHttp_AgentEndpointSettings)(nil), // 27: livekit.AgentHttp.AgentEndpointSettings + (*AgentHttp_StreamPreamble)(nil), // 28: livekit.AgentHttp.StreamPreamble + (*AgentHttp_AgentThreadGrant)(nil), // 29: livekit.AgentHttp.AgentThreadGrant + (*AgentHttp_GoAway)(nil), // 30: livekit.AgentHttp.GoAway + (*Room)(nil), // 31: livekit.Room + (*ParticipantInfo)(nil), // 32: livekit.ParticipantInfo + (*ParticipantPermission)(nil), // 33: livekit.ParticipantPermission + (*ServerInfo)(nil), // 34: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ 0, // 0: livekit.Job.type:type_name -> livekit.JobType - 28, // 1: livekit.Job.room:type_name -> livekit.Room - 29, // 2: livekit.Job.participant:type_name -> livekit.ParticipantInfo - 6, // 3: livekit.Job.state:type_name -> livekit.JobState - 22, // 4: livekit.Job.attributes:type_name -> livekit.Job.AttributesEntry + 31, // 1: livekit.Job.room:type_name -> livekit.Room + 32, // 2: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 7, // 3: livekit.Job.state:type_name -> livekit.JobState + 24, // 4: livekit.Job.attributes:type_name -> livekit.Job.AttributesEntry 2, // 5: livekit.JobState.status:type_name -> livekit.JobStatus - 12, // 6: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest - 16, // 7: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse - 18, // 8: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus - 17, // 9: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus - 10, // 10: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing - 9, // 11: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest - 14, // 12: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest - 13, // 13: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse - 15, // 14: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest - 19, // 15: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment - 20, // 16: livekit.ServerMessage.termination:type_name -> livekit.JobTermination - 11, // 17: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong - 27, // 18: livekit.ServerMessage.go_away:type_name -> livekit.AgentHttp.GoAway - 0, // 19: livekit.SimulateJobRequest.type:type_name -> livekit.JobType - 28, // 20: livekit.SimulateJobRequest.room:type_name -> livekit.Room - 29, // 21: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo - 0, // 22: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType - 30, // 23: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission - 24, // 24: livekit.RegisterWorkerRequest.endpoints:type_name -> livekit.AgentHttp.AgentEndpoint - 31, // 25: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo - 25, // 26: livekit.RegisterWorkerResponse.endpoint_settings:type_name -> livekit.AgentHttp.AgentEndpointSettings - 5, // 27: livekit.AvailabilityRequest.job:type_name -> livekit.Job - 23, // 28: livekit.AvailabilityResponse.participant_attributes:type_name -> livekit.AvailabilityResponse.ParticipantAttributesEntry - 2, // 29: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus - 1, // 30: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus - 5, // 31: livekit.JobAssignment.job:type_name -> livekit.Job - 3, // 32: livekit.AgentHttp.AgentEndpoint.kind:type_name -> livekit.AgentHttp.AgentEndpointKind - 3, // 33: livekit.AgentHttp.StreamPreamble.kind:type_name -> livekit.AgentHttp.AgentEndpointKind - 34, // [34:34] is the sub-list for method output_type - 34, // [34:34] is the sub-list for method input_type - 34, // [34:34] is the sub-list for extension type_name - 34, // [34:34] is the sub-list for extension extendee - 0, // [0:34] is the sub-list for field type_name + 13, // 6: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 17, // 7: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 20, // 8: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 18, // 9: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 11, // 10: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 10, // 11: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 15, // 12: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 19, // 13: livekit.WorkerMessage.update_thread:type_name -> livekit.UpdateThreadStatus + 14, // 14: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 16, // 15: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 21, // 16: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 22, // 17: livekit.ServerMessage.termination:type_name -> livekit.JobTermination + 12, // 18: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 30, // 19: livekit.ServerMessage.go_away:type_name -> livekit.AgentHttp.GoAway + 0, // 20: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 31, // 21: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 32, // 22: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 23: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 33, // 24: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 26, // 25: livekit.RegisterWorkerRequest.endpoints:type_name -> livekit.AgentHttp.AgentEndpoint + 34, // 26: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 27, // 27: livekit.RegisterWorkerResponse.endpoint_settings:type_name -> livekit.AgentHttp.AgentEndpointSettings + 6, // 28: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 25, // 29: livekit.AvailabilityResponse.participant_attributes:type_name -> livekit.AvailabilityResponse.ParticipantAttributesEntry + 2, // 30: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 3, // 31: livekit.UpdateThreadStatus.status:type_name -> livekit.ThreadStatus + 1, // 32: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 6, // 33: livekit.JobAssignment.job:type_name -> livekit.Job + 4, // 34: livekit.AgentHttp.AgentEndpoint.kind:type_name -> livekit.AgentHttp.AgentEndpointKind + 4, // 35: livekit.AgentHttp.StreamPreamble.kind:type_name -> livekit.AgentHttp.AgentEndpointKind + 29, // 36: livekit.AgentHttp.StreamPreamble.thread_grant:type_name -> livekit.AgentHttp.AgentThreadGrant + 37, // [37:37] is the sub-list for method output_type + 37, // [37:37] is the sub-list for method input_type + 37, // [37:37] is the sub-list for extension type_name + 37, // [37:37] is the sub-list for extension extendee + 0, // [0:37] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -2281,6 +2579,7 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_Ping)(nil), (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), + (*WorkerMessage_UpdateThread)(nil), } file_livekit_agent_proto_msgTypes[3].OneofWrappers = []any{ (*ServerMessage_Register)(nil), @@ -2291,15 +2590,15 @@ func file_livekit_agent_proto_init() { (*ServerMessage_GoAway)(nil), } file_livekit_agent_proto_msgTypes[7].OneofWrappers = []any{} - file_livekit_agent_proto_msgTypes[13].OneofWrappers = []any{} file_livekit_agent_proto_msgTypes[14].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[15].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_agent_proto_rawDesc), len(file_livekit_agent_proto_rawDesc)), - NumEnums: 5, - NumMessages: 23, + NumEnums: 6, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 4747feb11..4f9cb3cb2 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -36,6 +36,8 @@ message Job { string deployment = 11; map attributes = 12 [(logger.sensitivity) = SENSITIVITY_PII]; bool enable_redaction = 13; + // the thread ("AT_...") this job continues; empty when dispatch made none + string thread_id = 14 [(logger.name) = "threadID"]; } message JobState { @@ -65,6 +67,8 @@ message WorkerMessage { WorkerPing ping = 5; SimulateJobRequest simulate_job = 6; MigrateJobRequest migrate_job = 7; + // the worker holds or released a thread + UpdateThreadStatus update_thread = 8; }; } @@ -182,6 +186,23 @@ message UpdateJobStatus { string error = 3; } +enum ThreadStatus { + // the server routes the thread's requests to this worker + TS_ACTIVE = 0; + // the worker evicted the thread with everything persisted; final for this worker + TS_RELEASED = 1; +} + +// Which threads a worker holds, so a thread's requests reach the worker that +// has it loaded. Applied per worker in seq order; a dropped control stream +// releases every binding of the worker. +message UpdateThreadStatus { + string thread_id = 1 [(logger.name) = "threadID"]; + ThreadStatus status = 2; + // monotonic per worker; a late TS_ACTIVE never revives a TS_RELEASED binding + uint64 seq = 3; +} + message UpdateWorkerStatus { reserved 2; // metadata (retired) optional WorkerStatus status = 1; @@ -297,7 +318,28 @@ message AgentHttp { string client_addr = 6 [(logger.sensitivity) = SENSITIVITY_PII]; // "http" or "https" as the end client saw it; not derivable worker-side string scheme = 7; - // NEXT_ID: 8 + // the thread ("AT_...") the node resolved for this request; empty when + // none, and the worker resolves it from the body + string thread_id = 8 [(logger.name) = "threadID"]; + // the verified agentThread claim of the caller's token, which never + // reaches the worker; the worker enforces it on the addressed thread + AgentThreadGrant thread_grant = 9; + // NEXT_ID: 10 + } + + // auth.AgentThreadGrant on the wire: one agent's threads, by subject or by + // id, with per-action flags + message AgentThreadGrant { + string agent_name = 1 [(logger.name) = "agentName"]; + string sub = 2; + repeated string thread_ids = 3 [(logger.name) = "threadIDs"]; + bool list = 4; + bool create = 5; + bool send = 6; + bool read = 7; + bool delete = 8; + // endpoints of the agent the holder may call; empty is all + repeated string endpoints = 9; } // why a stream was reset before any HTTP bytes flowed. This travels as the From b05416751bb652ee67aa6730d881380327ebe1e4 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2026 02:35:45 +0000 Subject: [PATCH 02/12] generated protobuf --- livekit/livekit_agent.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 361006860..9d17f4998 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent.proto package livekit From b820d545bb2d418f51c3359d0f3d99f9bc7e30c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 7 Oct 2026 19:45:01 -0700 Subject: [PATCH 03/12] agentdb: tag batch results with their statement index A Batch answers one result per statement, in order, each Columns, ColumnBatch or ExecResult tagged with the statement's index, then one Done. The storage client loads a lane in one batch and reads each statement's rows back by it. --- livekit/livekit_agentdb.pb.go | 51 +++++++++++++++++++++++++++------ protobufs/livekit_agentdb.proto | 13 +++++++-- 2 files changed, 53 insertions(+), 11 deletions(-) diff --git a/livekit/livekit_agentdb.pb.go b/livekit/livekit_agentdb.pb.go index fae84af93..562ad22fb 100644 --- a/livekit/livekit_agentdb.pb.go +++ b/livekit/livekit_agentdb.pb.go @@ -892,7 +892,7 @@ type AgentDB_Wire_ClientMessage_Query struct { } type AgentDB_Wire_ClientMessage_Batch struct { - Batch *AgentDB_Wire_Batch `protobuf:"bytes,5,opt,name=batch,proto3,oneof"` + Batch *AgentDB_Wire_Batch `protobuf:"bytes,5,opt,name=batch,proto3,oneof"` // answers one result per statement, then Done } type AgentDB_Wire_ClientMessage_Begin struct { @@ -1300,9 +1300,15 @@ func (x *AgentDB_Wire_Statement) GetLang() AgentDB_Wire_QueryLang { return AgentDB_Wire_SQL } +// Applied atomically, in order, and answered with one result per +// statement, in order: Columns then ColumnBatch frames for a statement +// that returns rows, one ExecResult for one that does not, each tagged +// with the statement's 0-based index, then a single Done for the whole +// batch. A statement that returns no rows still sends its Columns. Credit +// paces the ColumnBatch frames of the batch as a whole. type AgentDB_Wire_Batch struct { state protoimpl.MessageState `protogen:"open.v1"` - Statements []*AgentDB_Wire_Statement `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"` // applied atomically, in order + Statements []*AgentDB_Wire_Statement `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1743,6 +1749,7 @@ func (x *AgentDB_Wire_HelloOk) GetPingTimeoutMs() uint32 { type AgentDB_Wire_Columns struct { state protoimpl.MessageState `protogen:"open.v1"` Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + Statement uint32 `protobuf:"varint,2,opt,name=statement,proto3" json:"statement,omitempty"` // index within a Batch; 0 and unused for a Query unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1784,6 +1791,13 @@ func (x *AgentDB_Wire_Columns) GetNames() []string { return nil } +func (x *AgentDB_Wire_Columns) GetStatement() uint32 { + if x != nil { + return x.Statement + } + return 0 +} + // Values are typed per row, as SQLite types them, so a column may mix // classes: walk `types` and take the next entry from the matching array. Text // and blobs are concatenated with one exclusive end offset each, so value i @@ -1885,6 +1899,7 @@ type AgentDB_Wire_ColumnBatch struct { state protoimpl.MessageState `protogen:"open.v1"` Columns []*AgentDB_Wire_Column `protobuf:"bytes,1,rep,name=columns,proto3" json:"columns,omitempty"` // one per name in Columns Rows uint32 `protobuf:"varint,2,opt,name=rows,proto3" json:"rows,omitempty"` + Statement uint32 `protobuf:"varint,3,opt,name=statement,proto3" json:"statement,omitempty"` // index within a Batch; 0 and unused for a Query unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1933,11 +1948,19 @@ func (x *AgentDB_Wire_ColumnBatch) GetRows() uint32 { return 0 } +func (x *AgentDB_Wire_ColumnBatch) GetStatement() uint32 { + if x != nil { + return x.Statement + } + return 0 +} + type AgentDB_Wire_ExecResult struct { state protoimpl.MessageState `protogen:"open.v1"` RowsAffected int64 `protobuf:"varint,1,opt,name=rows_affected,json=rowsAffected,proto3" json:"rows_affected,omitempty"` LastInsertId int64 `protobuf:"varint,2,opt,name=last_insert_id,json=lastInsertId,proto3" json:"last_insert_id,omitempty"` Tip int64 `protobuf:"varint,3,opt,name=tip,proto3" json:"tip,omitempty"` + Statement uint32 `protobuf:"varint,4,opt,name=statement,proto3" json:"statement,omitempty"` // index within a Batch; 0 and unused for an Exec unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1993,6 +2016,13 @@ func (x *AgentDB_Wire_ExecResult) GetTip() int64 { return 0 } +func (x *AgentDB_Wire_ExecResult) GetStatement() uint32 { + if x != nil { + return x.Statement + } + return 0 +} + type AgentDB_Wire_Done struct { state protoimpl.MessageState `protogen:"open.v1"` Tip int64 `protobuf:"varint,1,opt,name=tip,proto3" json:"tip,omitempty"` // the snapshot the query ran at @@ -2101,7 +2131,7 @@ var File_livekit_agentdb_proto protoreflect.FileDescriptor const file_livekit_agentdb_proto_rawDesc = "" + "\n" + - "\x15livekit_agentdb.proto\x12\alivekit\"\xce\x19\n" + + "\x15livekit_agentdb.proto\x12\alivekit\"\xa9\x1a\n" + "\aAgentDB\x1a>\n" + "\rCreateRequest\x12\x1f\n" + "\vttl_seconds\x18\x02 \x01(\x03R\n" + @@ -2142,7 +2172,7 @@ const file_livekit_agentdb_proto_rawDesc = "" + "\fdownload_url\x18\x01 \x01(\tR\vdownloadUrl\x12\x1d\n" + "\n" + "expires_at\x18\x02 \x01(\x03R\texpiresAt\x12\x10\n" + - "\x03tip\x18\x03 \x01(\x03R\x03tip\x1a\xcd\x13\n" + + "\x03tip\x18\x03 \x01(\x03R\x03tip\x1a\xa8\x14\n" + "\x04Wire\x1a\xe0\x04\n" + "\rClientMessage\x12\x1d\n" + "\n" + @@ -2208,9 +2238,10 @@ const file_livekit_agentdb_proto_rawDesc = "" + "\aHelloOk\x12\x10\n" + "\x03tip\x18\x01 \x01(\x03R\x03tip\x12(\n" + "\x10ping_interval_ms\x18\x02 \x01(\rR\x0epingIntervalMs\x12&\n" + - "\x0fping_timeout_ms\x18\x03 \x01(\rR\rpingTimeoutMs\x1a\x1f\n" + + "\x0fping_timeout_ms\x18\x03 \x01(\rR\rpingTimeoutMs\x1a=\n" + "\aColumns\x12\x14\n" + - "\x05names\x18\x01 \x03(\tR\x05names\x1a\xc0\x01\n" + + "\x05names\x18\x01 \x03(\tR\x05names\x12\x1c\n" + + "\tstatement\x18\x02 \x01(\rR\tstatement\x1a\xc0\x01\n" + "\x06Column\x12\x14\n" + "\x05types\x18\x01 \x01(\fR\x05types\x12\x12\n" + "\x04ints\x18\x02 \x03(\x12R\x04ints\x12\x18\n" + @@ -2218,15 +2249,17 @@ const file_livekit_agentdb_proto_rawDesc = "" + "\ttext_data\x18\x04 \x01(\fR\btextData\x12\x1b\n" + "\ttext_ends\x18\x05 \x03(\rR\btextEnds\x12\x1b\n" + "\tblob_data\x18\x06 \x01(\fR\bblobData\x12\x1b\n" + - "\tblob_ends\x18\a \x03(\rR\bblobEnds\x1aY\n" + + "\tblob_ends\x18\a \x03(\rR\bblobEnds\x1aw\n" + "\vColumnBatch\x126\n" + "\acolumns\x18\x01 \x03(\v2\x1c.livekit.AgentDB.Wire.ColumnR\acolumns\x12\x12\n" + - "\x04rows\x18\x02 \x01(\rR\x04rows\x1ai\n" + + "\x04rows\x18\x02 \x01(\rR\x04rows\x12\x1c\n" + + "\tstatement\x18\x03 \x01(\rR\tstatement\x1a\x87\x01\n" + "\n" + "ExecResult\x12#\n" + "\rrows_affected\x18\x01 \x01(\x03R\frowsAffected\x12$\n" + "\x0elast_insert_id\x18\x02 \x01(\x03R\flastInsertId\x12\x10\n" + - "\x03tip\x18\x03 \x01(\x03R\x03tip\x1a7\n" + + "\x03tip\x18\x03 \x01(\x03R\x03tip\x12\x1c\n" + + "\tstatement\x18\x04 \x01(\rR\tstatement\x1a7\n" + "\x04Done\x12\x10\n" + "\x03tip\x18\x01 \x01(\x03R\x03tip\x12\x1d\n" + "\n" + diff --git a/protobufs/livekit_agentdb.proto b/protobufs/livekit_agentdb.proto index 8824e9805..d282f5ca3 100644 --- a/protobufs/livekit_agentdb.proto +++ b/protobufs/livekit_agentdb.proto @@ -90,7 +90,7 @@ message AgentDB { Hello hello = 2; // must be first on the socket Statement exec = 3; // answers ExecResult Statement query = 4; // answers Columns + ColumnBatch* + Done - Batch batch = 5; + Batch batch = 5; // answers one result per statement, then Done Begin begin = 6; Commit commit = 7; Rollback rollback = 8; @@ -135,8 +135,14 @@ message AgentDB { QueryLang lang = 3; } + // Applied atomically, in order, and answered with one result per + // statement, in order: Columns then ColumnBatch frames for a statement + // that returns rows, one ExecResult for one that does not, each tagged + // with the statement's 0-based index, then a single Done for the whole + // batch. A statement that returns no rows still sends its Columns. Credit + // paces the ColumnBatch frames of the batch as a whole. message Batch { - repeated Statement statements = 1; // applied atomically, in order + repeated Statement statements = 1; } message Begin {} @@ -170,6 +176,7 @@ message AgentDB { message Columns { repeated string names = 1; + uint32 statement = 2; // index within a Batch; 0 and unused for a Query } enum ValueType { @@ -198,12 +205,14 @@ message AgentDB { message ColumnBatch { repeated Column columns = 1; // one per name in Columns uint32 rows = 2; + uint32 statement = 3; // index within a Batch; 0 and unused for a Query } message ExecResult { int64 rows_affected = 1; int64 last_insert_id = 2; int64 tip = 3; + uint32 statement = 4; // index within a Batch; 0 and unused for an Exec } message Done { From df2a6b01febd3f296dd5216efb1abb77fc185f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Mon, 5 Oct 2026 23:24:48 -0700 Subject: [PATCH 04/12] agent: add run_started and run_ended to AgentSessionEvent A run is one input to one result on any channel. run_started carries the run id, task id, answer stream id, lane and channel; run_ended carries the outcome and the reason word. A run_started with no run_ended marks an interrupted run. (cherry picked from commit 7e20e99d93c95c47527f4342c63b3d9f90d7104b) --- livekit/agent/livekit_agent_session.pb.go | 778 +++++++++++++------- protobufs/agent/livekit_agent_session.proto | 36 + 2 files changed, 554 insertions(+), 260 deletions(-) diff --git a/livekit/agent/livekit_agent_session.pb.go b/livekit/agent/livekit_agent_session.pb.go index 9b0eac540..cbd1d8e2a 100644 --- a/livekit/agent/livekit_agent_session.pb.go +++ b/livekit/agent/livekit_agent_session.pb.go @@ -285,6 +285,58 @@ func (ToolReplyStatus) EnumDescriptor() ([]byte, []int) { return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{4} } +// How a run ended. A run is one input to one result, tools included, on +// any channel: a text message, a voice turn, a background task. +type RunOutcome int32 + +const ( + RunOutcome_RO_COMPLETED RunOutcome = 0 + RunOutcome_RO_FAILED RunOutcome = 1 + // the run yielded to a newer message or was cancelled by the caller + RunOutcome_RO_CANCELLED RunOutcome = 2 +) + +// Enum value maps for RunOutcome. +var ( + RunOutcome_name = map[int32]string{ + 0: "RO_COMPLETED", + 1: "RO_FAILED", + 2: "RO_CANCELLED", + } + RunOutcome_value = map[string]int32{ + "RO_COMPLETED": 0, + "RO_FAILED": 1, + "RO_CANCELLED": 2, + } +) + +func (x RunOutcome) Enum() *RunOutcome { + p := new(RunOutcome) + *p = x + return p +} + +func (x RunOutcome) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RunOutcome) Descriptor() protoreflect.EnumDescriptor { + return file_agent_livekit_agent_session_proto_enumTypes[5].Descriptor() +} + +func (RunOutcome) Type() protoreflect.EnumType { + return &file_agent_livekit_agent_session_proto_enumTypes[5] +} + +func (x RunOutcome) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RunOutcome.Descriptor instead. +func (RunOutcome) EnumDescriptor() ([]byte, []int) { + return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{5} +} + type AmdCategory int32 const ( @@ -327,11 +379,11 @@ func (x AmdCategory) String() string { } func (AmdCategory) Descriptor() protoreflect.EnumDescriptor { - return file_agent_livekit_agent_session_proto_enumTypes[5].Descriptor() + return file_agent_livekit_agent_session_proto_enumTypes[6].Descriptor() } func (AmdCategory) Type() protoreflect.EnumType { - return &file_agent_livekit_agent_session_proto_enumTypes[5] + return &file_agent_livekit_agent_session_proto_enumTypes[6] } func (x AmdCategory) Number() protoreflect.EnumNumber { @@ -340,7 +392,7 @@ func (x AmdCategory) Number() protoreflect.EnumNumber { // Deprecated: Use AmdCategory.Descriptor instead. func (AmdCategory) EnumDescriptor() ([]byte, []int) { - return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{5} + return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{6} } type MetricsReport struct { @@ -1658,6 +1710,8 @@ type AgentSessionEvent struct { // *AgentSessionEvent_DebugMessage // *AgentSessionEvent_ToolExecutionUpdated_ // *AgentSessionEvent_AgentFalseInterruption_ + // *AgentSessionEvent_RunStarted_ + // *AgentSessionEvent_RunEnded_ Event isAgentSessionEvent_Event `protobuf_oneof:"event"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1833,6 +1887,24 @@ func (x *AgentSessionEvent) GetAgentFalseInterruption() *AgentSessionEvent_Agent return nil } +func (x *AgentSessionEvent) GetRunStarted() *AgentSessionEvent_RunStarted { + if x != nil { + if x, ok := x.Event.(*AgentSessionEvent_RunStarted_); ok { + return x.RunStarted + } + } + return nil +} + +func (x *AgentSessionEvent) GetRunEnded() *AgentSessionEvent_RunEnded { + if x != nil { + if x, ok := x.Event.(*AgentSessionEvent_RunEnded_); ok { + return x.RunEnded + } + } + return nil +} + type isAgentSessionEvent_Event interface { isAgentSessionEvent_Event() } @@ -1893,6 +1965,14 @@ type AgentSessionEvent_AgentFalseInterruption_ struct { AgentFalseInterruption *AgentSessionEvent_AgentFalseInterruption `protobuf:"bytes,23,opt,name=agent_false_interruption,json=agentFalseInterruption,proto3,oneof"` } +type AgentSessionEvent_RunStarted_ struct { + RunStarted *AgentSessionEvent_RunStarted `protobuf:"bytes,24,opt,name=run_started,json=runStarted,proto3,oneof"` +} + +type AgentSessionEvent_RunEnded_ struct { + RunEnded *AgentSessionEvent_RunEnded `protobuf:"bytes,25,opt,name=run_ended,json=runEnded,proto3,oneof"` +} + func (*AgentSessionEvent_AgentStateChanged_) isAgentSessionEvent_Event() {} func (*AgentSessionEvent_UserStateChanged_) isAgentSessionEvent_Event() {} @@ -1921,6 +2001,10 @@ func (*AgentSessionEvent_ToolExecutionUpdated_) isAgentSessionEvent_Event() {} func (*AgentSessionEvent_AgentFalseInterruption_) isAgentSessionEvent_Event() {} +func (*AgentSessionEvent_RunStarted_) isAgentSessionEvent_Event() {} + +func (*AgentSessionEvent_RunEnded_) 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"` @@ -3509,6 +3593,153 @@ func (x *AgentSessionEvent_AgentFalseInterruption) GetResumed() bool { return false } +// Written by the framework when a run begins, before any application code +// runs. A RunStarted with no matching RunEnded is an interrupted run. +type AgentSessionEvent_RunStarted struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // the A2A task the run serves; also the id of its answer stream + TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` + // the durable stream ("AST_...") the run's answer is appended to + StreamId string `protobuf:"bytes,3,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` + // the registered agent whose lane the run writes + Lane string `protobuf:"bytes,4,opt,name=lane,proto3" json:"lane,omitempty"` + // the channel the input arrived on: "sms", "whatsapp", "email", "a2a", + // "voice"; empty when the ingress tagged none + Channel string `protobuf:"bytes,5,opt,name=channel,proto3" json:"channel,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentSessionEvent_RunStarted) Reset() { + *x = AgentSessionEvent_RunStarted{} + mi := &file_agent_livekit_agent_session_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentSessionEvent_RunStarted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentSessionEvent_RunStarted) ProtoMessage() {} + +func (x *AgentSessionEvent_RunStarted) ProtoReflect() protoreflect.Message { + mi := &file_agent_livekit_agent_session_proto_msgTypes[36] + 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_RunStarted.ProtoReflect.Descriptor instead. +func (*AgentSessionEvent_RunStarted) Descriptor() ([]byte, []int) { + return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{16, 13} +} + +func (x *AgentSessionEvent_RunStarted) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *AgentSessionEvent_RunStarted) GetTaskId() string { + if x != nil { + return x.TaskId + } + return "" +} + +func (x *AgentSessionEvent_RunStarted) GetStreamId() string { + if x != nil { + return x.StreamId + } + return "" +} + +func (x *AgentSessionEvent_RunStarted) GetLane() string { + if x != nil { + return x.Lane + } + return "" +} + +func (x *AgentSessionEvent_RunStarted) GetChannel() string { + if x != nil { + return x.Channel + } + return "" +} + +// Written by the framework when a run commits or fails. +type AgentSessionEvent_RunEnded struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + Outcome RunOutcome `protobuf:"varint,2,opt,name=outcome,proto3,enum=livekit.agent.RunOutcome" json:"outcome,omitempty"` + // the word from the shared reason list for a failed or cancelled run: + // "worker-lost", "lease-timeout", "session-not-found", + // "storage-unavailable", "timeout"; empty when completed + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AgentSessionEvent_RunEnded) Reset() { + *x = AgentSessionEvent_RunEnded{} + mi := &file_agent_livekit_agent_session_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentSessionEvent_RunEnded) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentSessionEvent_RunEnded) ProtoMessage() {} + +func (x *AgentSessionEvent_RunEnded) ProtoReflect() protoreflect.Message { + mi := &file_agent_livekit_agent_session_proto_msgTypes[37] + 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_RunEnded.ProtoReflect.Descriptor instead. +func (*AgentSessionEvent_RunEnded) Descriptor() ([]byte, []int) { + return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{16, 14} +} + +func (x *AgentSessionEvent_RunEnded) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *AgentSessionEvent_RunEnded) GetOutcome() RunOutcome { + if x != nil { + return x.Outcome + } + return RunOutcome_RO_COMPLETED +} + +func (x *AgentSessionEvent_RunEnded) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + 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"` @@ -3518,7 +3749,7 @@ type AgentSessionEvent_ToolExecutionUpdated_Started struct { func (x *AgentSessionEvent_ToolExecutionUpdated_Started) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_Started{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[36] + mi := &file_agent_livekit_agent_session_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3530,7 +3761,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[36] + mi := &file_agent_livekit_agent_session_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3566,7 +3797,7 @@ type AgentSessionEvent_ToolExecutionUpdated_CallUpdated struct { func (x *AgentSessionEvent_ToolExecutionUpdated_CallUpdated) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_CallUpdated{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[37] + mi := &file_agent_livekit_agent_session_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3578,7 +3809,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[37] + mi := &file_agent_livekit_agent_session_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3631,7 +3862,7 @@ type AgentSessionEvent_ToolExecutionUpdated_Ended struct { func (x *AgentSessionEvent_ToolExecutionUpdated_Ended) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_Ended{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[38] + mi := &file_agent_livekit_agent_session_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3643,7 +3874,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[38] + mi := &file_agent_livekit_agent_session_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3700,7 +3931,7 @@ type AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated struct { func (x *AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated) Reset() { *x = AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[39] + mi := &file_agent_livekit_agent_session_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3712,7 +3943,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[39] + mi := &file_agent_livekit_agent_session_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3757,7 +3988,7 @@ type SessionRequest_Ping struct { func (x *SessionRequest_Ping) Reset() { *x = SessionRequest_Ping{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[40] + mi := &file_agent_livekit_agent_session_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3769,7 +4000,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[40] + mi := &file_agent_livekit_agent_session_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3793,7 +4024,7 @@ type SessionRequest_GetChatHistory struct { func (x *SessionRequest_GetChatHistory) Reset() { *x = SessionRequest_GetChatHistory{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[41] + mi := &file_agent_livekit_agent_session_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3805,7 +4036,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[41] + mi := &file_agent_livekit_agent_session_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3830,7 +4061,7 @@ type SessionRequest_RunInput struct { func (x *SessionRequest_RunInput) Reset() { *x = SessionRequest_RunInput{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[42] + mi := &file_agent_livekit_agent_session_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3842,7 +4073,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[42] + mi := &file_agent_livekit_agent_session_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3873,7 +4104,7 @@ type SessionRequest_GetAgentInfo struct { func (x *SessionRequest_GetAgentInfo) Reset() { *x = SessionRequest_GetAgentInfo{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[43] + mi := &file_agent_livekit_agent_session_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3885,7 +4116,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[43] + mi := &file_agent_livekit_agent_session_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3909,7 +4140,7 @@ type SessionRequest_GetSessionState struct { func (x *SessionRequest_GetSessionState) Reset() { *x = SessionRequest_GetSessionState{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[44] + mi := &file_agent_livekit_agent_session_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3921,7 +4152,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[44] + mi := &file_agent_livekit_agent_session_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3945,7 +4176,7 @@ type SessionRequest_GetRTCStats struct { func (x *SessionRequest_GetRTCStats) Reset() { *x = SessionRequest_GetRTCStats{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[45] + mi := &file_agent_livekit_agent_session_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3957,7 +4188,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[45] + mi := &file_agent_livekit_agent_session_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3981,7 +4212,7 @@ type SessionRequest_GetSessionUsage struct { func (x *SessionRequest_GetSessionUsage) Reset() { *x = SessionRequest_GetSessionUsage{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[46] + mi := &file_agent_livekit_agent_session_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3993,7 +4224,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[46] + mi := &file_agent_livekit_agent_session_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4017,7 +4248,7 @@ type SessionRequest_GetFrameworkInfo struct { func (x *SessionRequest_GetFrameworkInfo) Reset() { *x = SessionRequest_GetFrameworkInfo{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[47] + mi := &file_agent_livekit_agent_session_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4029,7 +4260,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[47] + mi := &file_agent_livekit_agent_session_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4055,7 +4286,7 @@ type SessionRequest_UpdateIO struct { func (x *SessionRequest_UpdateIO) Reset() { *x = SessionRequest_UpdateIO{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[48] + mi := &file_agent_livekit_agent_session_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4067,7 +4298,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[48] + mi := &file_agent_livekit_agent_session_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4107,7 +4338,7 @@ type SessionRequest_FinalizeSimulation struct { func (x *SessionRequest_FinalizeSimulation) Reset() { *x = SessionRequest_FinalizeSimulation{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[49] + mi := &file_agent_livekit_agent_session_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4119,7 +4350,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[49] + mi := &file_agent_livekit_agent_session_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4159,7 +4390,7 @@ type SessionRequest_UpdateIO_Input struct { func (x *SessionRequest_UpdateIO_Input) Reset() { *x = SessionRequest_UpdateIO_Input{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[50] + mi := &file_agent_livekit_agent_session_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4171,7 +4402,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[50] + mi := &file_agent_livekit_agent_session_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4212,7 +4443,7 @@ type SessionRequest_UpdateIO_Output struct { func (x *SessionRequest_UpdateIO_Output) Reset() { *x = SessionRequest_UpdateIO_Output{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[51] + mi := &file_agent_livekit_agent_session_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4224,7 +4455,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[51] + mi := &file_agent_livekit_agent_session_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4269,7 +4500,7 @@ type SessionResponse_Pong struct { func (x *SessionResponse_Pong) Reset() { *x = SessionResponse_Pong{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[52] + mi := &file_agent_livekit_agent_session_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4281,7 +4512,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[52] + mi := &file_agent_livekit_agent_session_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4306,7 +4537,7 @@ type SessionResponse_GetChatHistoryResponse struct { func (x *SessionResponse_GetChatHistoryResponse) Reset() { *x = SessionResponse_GetChatHistoryResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[53] + mi := &file_agent_livekit_agent_session_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4318,7 +4549,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[53] + mi := &file_agent_livekit_agent_session_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4353,7 +4584,7 @@ type SessionResponse_GetAgentInfoResponse struct { func (x *SessionResponse_GetAgentInfoResponse) Reset() { *x = SessionResponse_GetAgentInfoResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[54] + mi := &file_agent_livekit_agent_session_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4365,7 +4596,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[54] + mi := &file_agent_livekit_agent_session_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4418,7 +4649,7 @@ type SessionResponse_RunInputResponse struct { func (x *SessionResponse_RunInputResponse) Reset() { *x = SessionResponse_RunInputResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[55] + mi := &file_agent_livekit_agent_session_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4430,7 +4661,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[55] + mi := &file_agent_livekit_agent_session_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4466,7 +4697,7 @@ type SessionResponse_GetSessionStateResponse struct { func (x *SessionResponse_GetSessionStateResponse) Reset() { *x = SessionResponse_GetSessionStateResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[56] + mi := &file_agent_livekit_agent_session_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4478,7 +4709,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[56] + mi := &file_agent_livekit_agent_session_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4539,7 +4770,7 @@ type SessionResponse_GetRTCStatsResponse struct { func (x *SessionResponse_GetRTCStatsResponse) Reset() { *x = SessionResponse_GetRTCStatsResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[57] + mi := &file_agent_livekit_agent_session_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4551,7 +4782,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[57] + mi := &file_agent_livekit_agent_session_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4591,7 +4822,7 @@ type SessionResponse_GetSessionUsageResponse struct { func (x *SessionResponse_GetSessionUsageResponse) Reset() { *x = SessionResponse_GetSessionUsageResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[58] + mi := &file_agent_livekit_agent_session_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4603,7 +4834,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[58] + mi := &file_agent_livekit_agent_session_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4643,7 +4874,7 @@ type SessionResponse_GetFrameworkInfoResponse struct { func (x *SessionResponse_GetFrameworkInfoResponse) Reset() { *x = SessionResponse_GetFrameworkInfoResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[59] + mi := &file_agent_livekit_agent_session_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4655,7 +4886,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[59] + mi := &file_agent_livekit_agent_session_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4693,7 +4924,7 @@ type SessionResponse_UpdateIOResponse struct { func (x *SessionResponse_UpdateIOResponse) Reset() { *x = SessionResponse_UpdateIOResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[60] + mi := &file_agent_livekit_agent_session_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4705,7 +4936,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[60] + mi := &file_agent_livekit_agent_session_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4730,7 +4961,7 @@ type SessionResponse_FinalizeSimulationResponse struct { func (x *SessionResponse_FinalizeSimulationResponse) Reset() { *x = SessionResponse_FinalizeSimulationResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[61] + mi := &file_agent_livekit_agent_session_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4742,7 +4973,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[61] + mi := &file_agent_livekit_agent_session_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4775,7 +5006,7 @@ type SessionResponse_FinalizeSimulationResponse_SimulationVerdict struct { func (x *SessionResponse_FinalizeSimulationResponse_SimulationVerdict) Reset() { *x = SessionResponse_FinalizeSimulationResponse_SimulationVerdict{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[63] + mi := &file_agent_livekit_agent_session_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4787,7 +5018,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[63] + mi := &file_agent_livekit_agent_session_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4825,7 +5056,7 @@ type AgentSessionMessage_ConsoleIO struct { func (x *AgentSessionMessage_ConsoleIO) Reset() { *x = AgentSessionMessage_ConsoleIO{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[64] + mi := &file_agent_livekit_agent_session_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4837,7 +5068,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[64] + mi := &file_agent_livekit_agent_session_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4865,7 +5096,7 @@ type AgentSessionMessage_ConsoleIO_AudioFrame struct { func (x *AgentSessionMessage_ConsoleIO_AudioFrame) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioFrame{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[65] + mi := &file_agent_livekit_agent_session_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4877,7 +5108,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[65] + mi := &file_agent_livekit_agent_session_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4929,7 +5160,7 @@ type AgentSessionMessage_ConsoleIO_AudioPlaybackFlush struct { func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFlush) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioPlaybackFlush{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[66] + mi := &file_agent_livekit_agent_session_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4941,7 +5172,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[66] + mi := &file_agent_livekit_agent_session_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4965,7 +5196,7 @@ type AgentSessionMessage_ConsoleIO_AudioPlaybackClear struct { func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackClear) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioPlaybackClear{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[67] + mi := &file_agent_livekit_agent_session_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4977,7 +5208,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[67] + mi := &file_agent_livekit_agent_session_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5001,7 +5232,7 @@ type AgentSessionMessage_ConsoleIO_AudioPlaybackFinished struct { func (x *AgentSessionMessage_ConsoleIO_AudioPlaybackFinished) Reset() { *x = AgentSessionMessage_ConsoleIO_AudioPlaybackFinished{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[68] + mi := &file_agent_livekit_agent_session_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5013,7 +5244,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[68] + mi := &file_agent_livekit_agent_session_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5183,7 +5414,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\"\xcd\x1f\n" + + "\apayload\x18\x01 \x01(\v2\x17.google.protobuf.StructR\apayload\"\x8d#\n" + "\x11AgentSessionEvent\x129\n" + "\n" + "created_at\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12d\n" + @@ -5201,7 +5432,10 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\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\x12s\n" + - "\x18agent_false_interruption\x18\x17 \x01(\v27.livekit.agent.AgentSessionEvent.AgentFalseInterruptionH\x00R\x16agentFalseInterruption\x1a\x83\x01\n" + + "\x18agent_false_interruption\x18\x17 \x01(\v27.livekit.agent.AgentSessionEvent.AgentFalseInterruptionH\x00R\x16agentFalseInterruption\x12N\n" + + "\vrun_started\x18\x18 \x01(\v2+.livekit.agent.AgentSessionEvent.RunStartedH\x00R\n" + + "runStarted\x12H\n" + + "\trun_ended\x18\x19 \x01(\v2).livekit.agent.AgentSessionEvent.RunEndedH\x00R\brunEnded\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" + @@ -5271,7 +5505,18 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\tspeech_id\x18\x03 \x01(\tB\v\xbaP\bspeechIDR\bspeechIdB\b\n" + "\x06update\x1a2\n" + "\x16AgentFalseInterruption\x12\x18\n" + - "\aresumed\x18\x01 \x01(\bR\aresumedB\a\n" + + "\aresumed\x18\x01 \x01(\bR\aresumed\x1a\xa9\x01\n" + + "\n" + + "RunStarted\x12\x1f\n" + + "\x06run_id\x18\x01 \x01(\tB\b\xbaP\x05runIDR\x05runId\x12\"\n" + + "\atask_id\x18\x02 \x01(\tB\t\xbaP\x06taskIDR\x06taskId\x12(\n" + + "\tstream_id\x18\x03 \x01(\tB\v\xbaP\bstreamIDR\bstreamId\x12\x12\n" + + "\x04lane\x18\x04 \x01(\tR\x04lane\x12\x18\n" + + "\achannel\x18\x05 \x01(\tR\achannel\x1ax\n" + + "\bRunEnded\x12\x1f\n" + + "\x06run_id\x18\x01 \x01(\tB\b\xbaP\x05runIDR\x05runId\x123\n" + + "\aoutcome\x18\x02 \x01(\x0e2\x19.livekit.agent.RunOutcomeR\aoutcome\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reasonB\a\n" + "\x05event\"\x98\r\n" + "\x0eSessionRequest\x12\x1d\n" + "\n" + @@ -5425,7 +5670,12 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\fTR_COMPLETED\x10\x01\x12\x12\n" + "\x0eTR_INTERRUPTED\x10\x02\x12\x0e\n" + "\n" + - "TR_SKIPPED\x10\x03*\x86\x01\n" + + "TR_SKIPPED\x10\x03*?\n" + + "\n" + + "RunOutcome\x12\x10\n" + + "\fRO_COMPLETED\x10\x00\x12\r\n" + + "\tRO_FAILED\x10\x01\x12\x10\n" + + "\fRO_CANCELLED\x10\x02*\x86\x01\n" + "\vAmdCategory\x12\x0f\n" + "\vAMD_UNKNOWN\x10\x00\x12\r\n" + "\tAMD_HUMAN\x10\x01\x12\x13\n" + @@ -5446,198 +5696,204 @@ func file_agent_livekit_agent_session_proto_rawDescGZIP() []byte { return file_agent_livekit_agent_session_proto_rawDescData } -var file_agent_livekit_agent_session_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_agent_livekit_agent_session_proto_msgTypes = make([]protoimpl.MessageInfo, 69) +var file_agent_livekit_agent_session_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_agent_livekit_agent_session_proto_msgTypes = make([]protoimpl.MessageInfo, 71) var file_agent_livekit_agent_session_proto_goTypes = []any{ (ChatRole)(0), // 0: livekit.agent.ChatRole (AgentState)(0), // 1: livekit.agent.AgentState (UserState)(0), // 2: livekit.agent.UserState (ToolCallStatus)(0), // 3: livekit.agent.ToolCallStatus (ToolReplyStatus)(0), // 4: livekit.agent.ToolReplyStatus - (AmdCategory)(0), // 5: livekit.agent.AmdCategory - (*MetricsReport)(nil), // 6: livekit.agent.MetricsReport - (*TimedString)(nil), // 7: livekit.agent.TimedString - (*ChatMessage)(nil), // 8: livekit.agent.ChatMessage - (*FunctionCall)(nil), // 9: livekit.agent.FunctionCall - (*FunctionCallOutput)(nil), // 10: livekit.agent.FunctionCallOutput - (*AgentHandoff)(nil), // 11: livekit.agent.AgentHandoff - (*AgentConfigUpdate)(nil), // 12: livekit.agent.AgentConfigUpdate - (*ChatContext)(nil), // 13: livekit.agent.ChatContext - (*LLMModelUsage)(nil), // 14: livekit.agent.LLMModelUsage - (*TTSModelUsage)(nil), // 15: livekit.agent.TTSModelUsage - (*STTModelUsage)(nil), // 16: livekit.agent.STTModelUsage - (*InterruptionModelUsage)(nil), // 17: livekit.agent.InterruptionModelUsage - (*EotModelUsage)(nil), // 18: livekit.agent.EotModelUsage - (*ModelUsage)(nil), // 19: livekit.agent.ModelUsage - (*AgentSessionUsage)(nil), // 20: livekit.agent.AgentSessionUsage - (*DebugMessage)(nil), // 21: livekit.agent.DebugMessage - (*AgentSessionEvent)(nil), // 22: livekit.agent.AgentSessionEvent - (*SessionRequest)(nil), // 23: livekit.agent.SessionRequest - (*SessionResponse)(nil), // 24: livekit.agent.SessionResponse - (*AgentSessionMessage)(nil), // 25: livekit.agent.AgentSessionMessage - (*ChatMessage_ChatContent)(nil), // 26: livekit.agent.ChatMessage.ChatContent - nil, // 27: livekit.agent.ChatMessage.ExtraEntry - (*ChatContext_ChatItem)(nil), // 28: livekit.agent.ChatContext.ChatItem - (*AgentSessionEvent_AgentStateChanged)(nil), // 29: livekit.agent.AgentSessionEvent.AgentStateChanged - (*AgentSessionEvent_UserStateChanged)(nil), // 30: livekit.agent.AgentSessionEvent.UserStateChanged - (*AgentSessionEvent_ConversationItemAdded)(nil), // 31: livekit.agent.AgentSessionEvent.ConversationItemAdded - (*AgentSessionEvent_UserInputTranscribed)(nil), // 32: livekit.agent.AgentSessionEvent.UserInputTranscribed - (*AgentSessionEvent_FunctionToolsStarted)(nil), // 33: livekit.agent.AgentSessionEvent.FunctionToolsStarted - (*AgentSessionEvent_FunctionToolsExecuted)(nil), // 34: livekit.agent.AgentSessionEvent.FunctionToolsExecuted - (*AgentSessionEvent_Error)(nil), // 35: livekit.agent.AgentSessionEvent.Error - (*AgentSessionEvent_OverlappingSpeech)(nil), // 36: livekit.agent.AgentSessionEvent.OverlappingSpeech - (*AgentSessionEvent_AmdPrediction)(nil), // 37: livekit.agent.AgentSessionEvent.AmdPrediction - (*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_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 + (RunOutcome)(0), // 5: livekit.agent.RunOutcome + (AmdCategory)(0), // 6: livekit.agent.AmdCategory + (*MetricsReport)(nil), // 7: livekit.agent.MetricsReport + (*TimedString)(nil), // 8: livekit.agent.TimedString + (*ChatMessage)(nil), // 9: livekit.agent.ChatMessage + (*FunctionCall)(nil), // 10: livekit.agent.FunctionCall + (*FunctionCallOutput)(nil), // 11: livekit.agent.FunctionCallOutput + (*AgentHandoff)(nil), // 12: livekit.agent.AgentHandoff + (*AgentConfigUpdate)(nil), // 13: livekit.agent.AgentConfigUpdate + (*ChatContext)(nil), // 14: livekit.agent.ChatContext + (*LLMModelUsage)(nil), // 15: livekit.agent.LLMModelUsage + (*TTSModelUsage)(nil), // 16: livekit.agent.TTSModelUsage + (*STTModelUsage)(nil), // 17: livekit.agent.STTModelUsage + (*InterruptionModelUsage)(nil), // 18: livekit.agent.InterruptionModelUsage + (*EotModelUsage)(nil), // 19: livekit.agent.EotModelUsage + (*ModelUsage)(nil), // 20: livekit.agent.ModelUsage + (*AgentSessionUsage)(nil), // 21: livekit.agent.AgentSessionUsage + (*DebugMessage)(nil), // 22: livekit.agent.DebugMessage + (*AgentSessionEvent)(nil), // 23: livekit.agent.AgentSessionEvent + (*SessionRequest)(nil), // 24: livekit.agent.SessionRequest + (*SessionResponse)(nil), // 25: livekit.agent.SessionResponse + (*AgentSessionMessage)(nil), // 26: livekit.agent.AgentSessionMessage + (*ChatMessage_ChatContent)(nil), // 27: livekit.agent.ChatMessage.ChatContent + nil, // 28: livekit.agent.ChatMessage.ExtraEntry + (*ChatContext_ChatItem)(nil), // 29: livekit.agent.ChatContext.ChatItem + (*AgentSessionEvent_AgentStateChanged)(nil), // 30: livekit.agent.AgentSessionEvent.AgentStateChanged + (*AgentSessionEvent_UserStateChanged)(nil), // 31: livekit.agent.AgentSessionEvent.UserStateChanged + (*AgentSessionEvent_ConversationItemAdded)(nil), // 32: livekit.agent.AgentSessionEvent.ConversationItemAdded + (*AgentSessionEvent_UserInputTranscribed)(nil), // 33: livekit.agent.AgentSessionEvent.UserInputTranscribed + (*AgentSessionEvent_FunctionToolsStarted)(nil), // 34: livekit.agent.AgentSessionEvent.FunctionToolsStarted + (*AgentSessionEvent_FunctionToolsExecuted)(nil), // 35: livekit.agent.AgentSessionEvent.FunctionToolsExecuted + (*AgentSessionEvent_Error)(nil), // 36: livekit.agent.AgentSessionEvent.Error + (*AgentSessionEvent_OverlappingSpeech)(nil), // 37: livekit.agent.AgentSessionEvent.OverlappingSpeech + (*AgentSessionEvent_AmdPrediction)(nil), // 38: livekit.agent.AgentSessionEvent.AmdPrediction + (*AgentSessionEvent_EotPrediction)(nil), // 39: livekit.agent.AgentSessionEvent.EotPrediction + (*AgentSessionEvent_SessionUsageUpdated)(nil), // 40: livekit.agent.AgentSessionEvent.SessionUsageUpdated + (*AgentSessionEvent_ToolExecutionUpdated)(nil), // 41: livekit.agent.AgentSessionEvent.ToolExecutionUpdated + (*AgentSessionEvent_AgentFalseInterruption)(nil), // 42: livekit.agent.AgentSessionEvent.AgentFalseInterruption + (*AgentSessionEvent_RunStarted)(nil), // 43: livekit.agent.AgentSessionEvent.RunStarted + (*AgentSessionEvent_RunEnded)(nil), // 44: livekit.agent.AgentSessionEvent.RunEnded + (*AgentSessionEvent_ToolExecutionUpdated_Started)(nil), // 45: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started + (*AgentSessionEvent_ToolExecutionUpdated_CallUpdated)(nil), // 46: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated + (*AgentSessionEvent_ToolExecutionUpdated_Ended)(nil), // 47: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended + (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated)(nil), // 48: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated + (*SessionRequest_Ping)(nil), // 49: livekit.agent.SessionRequest.Ping + (*SessionRequest_GetChatHistory)(nil), // 50: livekit.agent.SessionRequest.GetChatHistory + (*SessionRequest_RunInput)(nil), // 51: livekit.agent.SessionRequest.RunInput + (*SessionRequest_GetAgentInfo)(nil), // 52: livekit.agent.SessionRequest.GetAgentInfo + (*SessionRequest_GetSessionState)(nil), // 53: livekit.agent.SessionRequest.GetSessionState + (*SessionRequest_GetRTCStats)(nil), // 54: livekit.agent.SessionRequest.GetRTCStats + (*SessionRequest_GetSessionUsage)(nil), // 55: livekit.agent.SessionRequest.GetSessionUsage + (*SessionRequest_GetFrameworkInfo)(nil), // 56: livekit.agent.SessionRequest.GetFrameworkInfo + (*SessionRequest_UpdateIO)(nil), // 57: livekit.agent.SessionRequest.UpdateIO + (*SessionRequest_FinalizeSimulation)(nil), // 58: livekit.agent.SessionRequest.FinalizeSimulation + (*SessionRequest_UpdateIO_Input)(nil), // 59: livekit.agent.SessionRequest.UpdateIO.Input + (*SessionRequest_UpdateIO_Output)(nil), // 60: livekit.agent.SessionRequest.UpdateIO.Output + (*SessionResponse_Pong)(nil), // 61: livekit.agent.SessionResponse.Pong + (*SessionResponse_GetChatHistoryResponse)(nil), // 62: livekit.agent.SessionResponse.GetChatHistoryResponse + (*SessionResponse_GetAgentInfoResponse)(nil), // 63: livekit.agent.SessionResponse.GetAgentInfoResponse + (*SessionResponse_RunInputResponse)(nil), // 64: livekit.agent.SessionResponse.RunInputResponse + (*SessionResponse_GetSessionStateResponse)(nil), // 65: livekit.agent.SessionResponse.GetSessionStateResponse + (*SessionResponse_GetRTCStatsResponse)(nil), // 66: livekit.agent.SessionResponse.GetRTCStatsResponse + (*SessionResponse_GetSessionUsageResponse)(nil), // 67: livekit.agent.SessionResponse.GetSessionUsageResponse + (*SessionResponse_GetFrameworkInfoResponse)(nil), // 68: livekit.agent.SessionResponse.GetFrameworkInfoResponse + (*SessionResponse_UpdateIOResponse)(nil), // 69: livekit.agent.SessionResponse.UpdateIOResponse + (*SessionResponse_FinalizeSimulationResponse)(nil), // 70: livekit.agent.SessionResponse.FinalizeSimulationResponse + nil, // 71: livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry + (*SessionResponse_FinalizeSimulationResponse_SimulationVerdict)(nil), // 72: livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict + (*AgentSessionMessage_ConsoleIO)(nil), // 73: livekit.agent.AgentSessionMessage.ConsoleIO + (*AgentSessionMessage_ConsoleIO_AudioFrame)(nil), // 74: livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame + (*AgentSessionMessage_ConsoleIO_AudioPlaybackFlush)(nil), // 75: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush + (*AgentSessionMessage_ConsoleIO_AudioPlaybackClear)(nil), // 76: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear + (*AgentSessionMessage_ConsoleIO_AudioPlaybackFinished)(nil), // 77: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished + (*timestamppb.Timestamp)(nil), // 78: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 79: google.protobuf.Struct + (*durationpb.Duration)(nil), // 80: google.protobuf.Duration } var file_agent_livekit_agent_session_proto_depIdxs = []int32{ - 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 + 78, // 0: livekit.agent.MetricsReport.started_speaking_at:type_name -> google.protobuf.Timestamp + 78, // 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 - 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 - 16, // 14: livekit.agent.ModelUsage.stt:type_name -> livekit.agent.STTModelUsage - 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 - 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 - 32, // 23: livekit.agent.AgentSessionEvent.user_input_transcribed:type_name -> livekit.agent.AgentSessionEvent.UserInputTranscribed - 34, // 24: livekit.agent.AgentSessionEvent.function_tools_executed:type_name -> livekit.agent.AgentSessionEvent.FunctionToolsExecuted - 35, // 25: livekit.agent.AgentSessionEvent.error:type_name -> livekit.agent.AgentSessionEvent.Error - 36, // 26: livekit.agent.AgentSessionEvent.overlapping_speech:type_name -> livekit.agent.AgentSessionEvent.OverlappingSpeech - 39, // 27: livekit.agent.AgentSessionEvent.session_usage_updated:type_name -> livekit.agent.AgentSessionEvent.SessionUsageUpdated - 37, // 28: livekit.agent.AgentSessionEvent.amd_prediction:type_name -> livekit.agent.AgentSessionEvent.AmdPrediction - 38, // 29: livekit.agent.AgentSessionEvent.eot_prediction:type_name -> livekit.agent.AgentSessionEvent.EotPrediction - 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 - 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 + 27, // 3: livekit.agent.ChatMessage.content:type_name -> livekit.agent.ChatMessage.ChatContent + 28, // 4: livekit.agent.ChatMessage.extra:type_name -> livekit.agent.ChatMessage.ExtraEntry + 7, // 5: livekit.agent.ChatMessage.metrics:type_name -> livekit.agent.MetricsReport + 78, // 6: livekit.agent.ChatMessage.created_at:type_name -> google.protobuf.Timestamp + 78, // 7: livekit.agent.FunctionCall.created_at:type_name -> google.protobuf.Timestamp + 78, // 8: livekit.agent.FunctionCallOutput.created_at:type_name -> google.protobuf.Timestamp + 78, // 9: livekit.agent.AgentHandoff.created_at:type_name -> google.protobuf.Timestamp + 78, // 10: livekit.agent.AgentConfigUpdate.created_at:type_name -> google.protobuf.Timestamp + 29, // 11: livekit.agent.ChatContext.items:type_name -> livekit.agent.ChatContext.ChatItem + 15, // 12: livekit.agent.ModelUsage.llm:type_name -> livekit.agent.LLMModelUsage + 16, // 13: livekit.agent.ModelUsage.tts:type_name -> livekit.agent.TTSModelUsage + 17, // 14: livekit.agent.ModelUsage.stt:type_name -> livekit.agent.STTModelUsage + 18, // 15: livekit.agent.ModelUsage.interruption:type_name -> livekit.agent.InterruptionModelUsage + 19, // 16: livekit.agent.ModelUsage.eot:type_name -> livekit.agent.EotModelUsage + 20, // 17: livekit.agent.AgentSessionUsage.model_usage:type_name -> livekit.agent.ModelUsage + 79, // 18: livekit.agent.DebugMessage.payload:type_name -> google.protobuf.Struct + 78, // 19: livekit.agent.AgentSessionEvent.created_at:type_name -> google.protobuf.Timestamp + 30, // 20: livekit.agent.AgentSessionEvent.agent_state_changed:type_name -> livekit.agent.AgentSessionEvent.AgentStateChanged + 31, // 21: livekit.agent.AgentSessionEvent.user_state_changed:type_name -> livekit.agent.AgentSessionEvent.UserStateChanged + 32, // 22: livekit.agent.AgentSessionEvent.conversation_item_added:type_name -> livekit.agent.AgentSessionEvent.ConversationItemAdded + 33, // 23: livekit.agent.AgentSessionEvent.user_input_transcribed:type_name -> livekit.agent.AgentSessionEvent.UserInputTranscribed + 35, // 24: livekit.agent.AgentSessionEvent.function_tools_executed:type_name -> livekit.agent.AgentSessionEvent.FunctionToolsExecuted + 36, // 25: livekit.agent.AgentSessionEvent.error:type_name -> livekit.agent.AgentSessionEvent.Error + 37, // 26: livekit.agent.AgentSessionEvent.overlapping_speech:type_name -> livekit.agent.AgentSessionEvent.OverlappingSpeech + 40, // 27: livekit.agent.AgentSessionEvent.session_usage_updated:type_name -> livekit.agent.AgentSessionEvent.SessionUsageUpdated + 38, // 28: livekit.agent.AgentSessionEvent.amd_prediction:type_name -> livekit.agent.AgentSessionEvent.AmdPrediction + 39, // 29: livekit.agent.AgentSessionEvent.eot_prediction:type_name -> livekit.agent.AgentSessionEvent.EotPrediction + 34, // 30: livekit.agent.AgentSessionEvent.function_tools_started:type_name -> livekit.agent.AgentSessionEvent.FunctionToolsStarted + 22, // 31: livekit.agent.AgentSessionEvent.debug_message:type_name -> livekit.agent.DebugMessage + 41, // 32: livekit.agent.AgentSessionEvent.tool_execution_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated + 42, // 33: livekit.agent.AgentSessionEvent.agent_false_interruption:type_name -> livekit.agent.AgentSessionEvent.AgentFalseInterruption + 43, // 34: livekit.agent.AgentSessionEvent.run_started:type_name -> livekit.agent.AgentSessionEvent.RunStarted + 44, // 35: livekit.agent.AgentSessionEvent.run_ended:type_name -> livekit.agent.AgentSessionEvent.RunEnded + 49, // 36: livekit.agent.SessionRequest.ping:type_name -> livekit.agent.SessionRequest.Ping + 50, // 37: livekit.agent.SessionRequest.get_chat_history:type_name -> livekit.agent.SessionRequest.GetChatHistory + 51, // 38: livekit.agent.SessionRequest.run_input:type_name -> livekit.agent.SessionRequest.RunInput + 52, // 39: livekit.agent.SessionRequest.get_agent_info:type_name -> livekit.agent.SessionRequest.GetAgentInfo + 53, // 40: livekit.agent.SessionRequest.get_session_state:type_name -> livekit.agent.SessionRequest.GetSessionState + 54, // 41: livekit.agent.SessionRequest.get_rtc_stats:type_name -> livekit.agent.SessionRequest.GetRTCStats + 55, // 42: livekit.agent.SessionRequest.get_session_usage:type_name -> livekit.agent.SessionRequest.GetSessionUsage + 56, // 43: livekit.agent.SessionRequest.get_framework_info:type_name -> livekit.agent.SessionRequest.GetFrameworkInfo + 57, // 44: livekit.agent.SessionRequest.update_io:type_name -> livekit.agent.SessionRequest.UpdateIO + 58, // 45: livekit.agent.SessionRequest.finalize_simulation:type_name -> livekit.agent.SessionRequest.FinalizeSimulation + 61, // 46: livekit.agent.SessionResponse.pong:type_name -> livekit.agent.SessionResponse.Pong + 62, // 47: livekit.agent.SessionResponse.get_chat_history:type_name -> livekit.agent.SessionResponse.GetChatHistoryResponse + 64, // 48: livekit.agent.SessionResponse.run_input:type_name -> livekit.agent.SessionResponse.RunInputResponse + 63, // 49: livekit.agent.SessionResponse.get_agent_info:type_name -> livekit.agent.SessionResponse.GetAgentInfoResponse + 65, // 50: livekit.agent.SessionResponse.get_session_state:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse + 66, // 51: livekit.agent.SessionResponse.get_rtc_stats:type_name -> livekit.agent.SessionResponse.GetRTCStatsResponse + 67, // 52: livekit.agent.SessionResponse.get_session_usage:type_name -> livekit.agent.SessionResponse.GetSessionUsageResponse + 68, // 53: livekit.agent.SessionResponse.get_framework_info:type_name -> livekit.agent.SessionResponse.GetFrameworkInfoResponse + 69, // 54: livekit.agent.SessionResponse.update_io:type_name -> livekit.agent.SessionResponse.UpdateIOResponse + 70, // 55: livekit.agent.SessionResponse.finalize_simulation:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse + 74, // 56: livekit.agent.AgentSessionMessage.audio_input:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame + 74, // 57: livekit.agent.AgentSessionMessage.audio_output:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame + 23, // 58: livekit.agent.AgentSessionMessage.event:type_name -> livekit.agent.AgentSessionEvent + 24, // 59: livekit.agent.AgentSessionMessage.request:type_name -> livekit.agent.SessionRequest + 25, // 60: livekit.agent.AgentSessionMessage.response:type_name -> livekit.agent.SessionResponse + 75, // 61: livekit.agent.AgentSessionMessage.audio_playback_flush:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush + 76, // 62: livekit.agent.AgentSessionMessage.audio_playback_clear:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear + 77, // 63: livekit.agent.AgentSessionMessage.audio_playback_finished:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished + 9, // 64: livekit.agent.ChatContext.ChatItem.message:type_name -> livekit.agent.ChatMessage + 10, // 65: livekit.agent.ChatContext.ChatItem.function_call:type_name -> livekit.agent.FunctionCall + 11, // 66: livekit.agent.ChatContext.ChatItem.function_call_output:type_name -> livekit.agent.FunctionCallOutput + 12, // 67: livekit.agent.ChatContext.ChatItem.agent_handoff:type_name -> livekit.agent.AgentHandoff + 13, // 68: livekit.agent.ChatContext.ChatItem.agent_config_update:type_name -> livekit.agent.AgentConfigUpdate + 1, // 69: livekit.agent.AgentSessionEvent.AgentStateChanged.old_state:type_name -> livekit.agent.AgentState + 1, // 70: livekit.agent.AgentSessionEvent.AgentStateChanged.new_state:type_name -> livekit.agent.AgentState + 2, // 71: livekit.agent.AgentSessionEvent.UserStateChanged.old_state:type_name -> livekit.agent.UserState + 2, // 72: livekit.agent.AgentSessionEvent.UserStateChanged.new_state:type_name -> livekit.agent.UserState + 29, // 73: livekit.agent.AgentSessionEvent.ConversationItemAdded.item:type_name -> livekit.agent.ChatContext.ChatItem + 10, // 74: livekit.agent.AgentSessionEvent.FunctionToolsStarted.function_calls:type_name -> livekit.agent.FunctionCall + 10, // 75: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_calls:type_name -> livekit.agent.FunctionCall + 11, // 76: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_call_outputs:type_name -> livekit.agent.FunctionCallOutput + 78, // 77: livekit.agent.AgentSessionEvent.OverlappingSpeech.overlap_started_at:type_name -> google.protobuf.Timestamp + 78, // 78: livekit.agent.AgentSessionEvent.OverlappingSpeech.detected_at:type_name -> google.protobuf.Timestamp + 80, // 79: livekit.agent.AgentSessionEvent.AmdPrediction.speech_duration:type_name -> google.protobuf.Duration + 6, // 80: livekit.agent.AgentSessionEvent.AmdPrediction.category:type_name -> livekit.agent.AmdCategory + 80, // 81: livekit.agent.AgentSessionEvent.AmdPrediction.delay:type_name -> google.protobuf.Duration + 80, // 82: livekit.agent.AgentSessionEvent.EotPrediction.inference_duration:type_name -> google.protobuf.Duration + 80, // 83: livekit.agent.AgentSessionEvent.EotPrediction.delay:type_name -> google.protobuf.Duration + 21, // 84: livekit.agent.AgentSessionEvent.SessionUsageUpdated.usage:type_name -> livekit.agent.AgentSessionUsage + 45, // 85: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.started:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started + 46, // 86: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.call_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated + 48, // 87: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.reply_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated + 47, // 88: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ended:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended + 5, // 89: livekit.agent.AgentSessionEvent.RunEnded.outcome:type_name -> livekit.agent.RunOutcome + 10, // 90: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started.function_call:type_name -> livekit.agent.FunctionCall + 3, // 91: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended.status:type_name -> livekit.agent.ToolCallStatus + 4, // 92: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated.status:type_name -> livekit.agent.ToolReplyStatus + 59, // 93: livekit.agent.SessionRequest.UpdateIO.input:type_name -> livekit.agent.SessionRequest.UpdateIO.Input + 60, // 94: livekit.agent.SessionRequest.UpdateIO.output:type_name -> livekit.agent.SessionRequest.UpdateIO.Output + 29, // 95: livekit.agent.SessionResponse.GetChatHistoryResponse.items:type_name -> livekit.agent.ChatContext.ChatItem + 29, // 96: livekit.agent.SessionResponse.GetAgentInfoResponse.chat_ctx:type_name -> livekit.agent.ChatContext.ChatItem + 29, // 97: livekit.agent.SessionResponse.RunInputResponse.items:type_name -> livekit.agent.ChatContext.ChatItem + 1, // 98: livekit.agent.SessionResponse.GetSessionStateResponse.agent_state:type_name -> livekit.agent.AgentState + 2, // 99: livekit.agent.SessionResponse.GetSessionStateResponse.user_state:type_name -> livekit.agent.UserState + 71, // 100: livekit.agent.SessionResponse.GetSessionStateResponse.options:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry + 78, // 101: livekit.agent.SessionResponse.GetSessionStateResponse.created_at:type_name -> google.protobuf.Timestamp + 79, // 102: livekit.agent.SessionResponse.GetRTCStatsResponse.publisher_stats:type_name -> google.protobuf.Struct + 79, // 103: livekit.agent.SessionResponse.GetRTCStatsResponse.subscriber_stats:type_name -> google.protobuf.Struct + 21, // 104: livekit.agent.SessionResponse.GetSessionUsageResponse.usage:type_name -> livekit.agent.AgentSessionUsage + 78, // 105: livekit.agent.SessionResponse.GetSessionUsageResponse.created_at:type_name -> google.protobuf.Timestamp + 72, // 106: livekit.agent.SessionResponse.FinalizeSimulationResponse.user_verdict:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict + 107, // [107:107] is the sub-list for method output_type + 107, // [107:107] is the sub-list for method input_type + 107, // [107:107] is the sub-list for extension type_name + 107, // [107:107] is the sub-list for extension extendee + 0, // [0:107] is the sub-list for field type_name } func init() { file_agent_livekit_agent_session_proto_init() } @@ -5672,6 +5928,8 @@ func file_agent_livekit_agent_session_proto_init() { (*AgentSessionEvent_DebugMessage)(nil), (*AgentSessionEvent_ToolExecutionUpdated_)(nil), (*AgentSessionEvent_AgentFalseInterruption_)(nil), + (*AgentSessionEvent_RunStarted_)(nil), + (*AgentSessionEvent_RunEnded_)(nil), } file_agent_livekit_agent_session_proto_msgTypes[17].OneofWrappers = []any{ (*SessionRequest_Ping_)(nil), @@ -5725,18 +5983,18 @@ func file_agent_livekit_agent_session_proto_init() { (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated_)(nil), (*AgentSessionEvent_ToolExecutionUpdated_Ended_)(nil), } - 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[40].OneofWrappers = []any{} file_agent_livekit_agent_session_proto_msgTypes[50].OneofWrappers = []any{} - file_agent_livekit_agent_session_proto_msgTypes[51].OneofWrappers = []any{} - file_agent_livekit_agent_session_proto_msgTypes[54].OneofWrappers = []any{} + file_agent_livekit_agent_session_proto_msgTypes[52].OneofWrappers = []any{} + file_agent_livekit_agent_session_proto_msgTypes[53].OneofWrappers = []any{} + file_agent_livekit_agent_session_proto_msgTypes[56].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: 69, + NumEnums: 7, + NumMessages: 71, NumExtensions: 0, NumServices: 0, }, diff --git a/protobufs/agent/livekit_agent_session.proto b/protobufs/agent/livekit_agent_session.proto index 844e4e1af..e8bd011db 100644 --- a/protobufs/agent/livekit_agent_session.proto +++ b/protobufs/agent/livekit_agent_session.proto @@ -130,6 +130,15 @@ enum ToolReplyStatus { TR_SKIPPED = 3; } +// How a run ended. A run is one input to one result, tools included, on +// any channel: a text message, a voice turn, a background task. +enum RunOutcome { + RO_COMPLETED = 0; + RO_FAILED = 1; + // the run yielded to a newer message or was cancelled by the caller + RO_CANCELLED = 2; +} + enum AmdCategory { AMD_UNKNOWN = 0; AMD_HUMAN = 1; @@ -310,6 +319,31 @@ message AgentSessionEvent { bool resumed = 1; } + // Written by the framework when a run begins, before any application code + // runs. A RunStarted with no matching RunEnded is an interrupted run. + message RunStarted { + string run_id = 1 [(logger.name) = "runID"]; + // the A2A task the run serves; also the id of its answer stream + string task_id = 2 [(logger.name) = "taskID"]; + // the durable stream ("AST_...") the run's answer is appended to + string stream_id = 3 [(logger.name) = "streamID"]; + // the registered agent whose lane the run writes + string lane = 4; + // the channel the input arrived on: "sms", "whatsapp", "email", "a2a", + // "voice"; empty when the ingress tagged none + string channel = 5; + } + + // Written by the framework when a run commits or fails. + message RunEnded { + string run_id = 1 [(logger.name) = "runID"]; + RunOutcome outcome = 2; + // the word from the shared reason list for a failed or cancelled run: + // "worker-lost", "lease-timeout", "session-not-found", + // "storage-unavailable", "timeout"; empty when completed + string reason = 3; + } + google.protobuf.Timestamp created_at = 1; oneof event { AgentStateChanged agent_state_changed = 10; @@ -326,6 +360,8 @@ message AgentSessionEvent { DebugMessage debug_message = 21; ToolExecutionUpdated tool_execution_updated = 22; AgentFalseInterruption agent_false_interruption = 23; + RunStarted run_started = 24; + RunEnded run_ended = 25; } } From 39b5da99e59d38eb7d27e425ab755b4aa99681c2 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2026 03:25:47 +0000 Subject: [PATCH 05/12] generated protobuf --- infra/link.pb.go | 2 +- infra/link_grpc.pb.go | 2 +- livekit/agent/livekit_agent_dev.pb.go | 2 +- livekit/agent/livekit_agent_inference.pb.go | 2 +- livekit/agent/livekit_agent_session.pb.go | 2 +- livekit/agent/livekit_agent_thread.pb.go | 2 +- livekit/cloud_replay.pb.go | 2 +- livekit/livekit_agent_dispatch.pb.go | 2 +- livekit/livekit_agent_simulation.pb.go | 2 +- livekit/livekit_agent_worker.pb.go | 2 +- livekit/livekit_agentdb.pb.go | 2 +- livekit/livekit_analytics.pb.go | 2 +- livekit/livekit_cloud_agent.pb.go | 2 +- livekit/livekit_connector.pb.go | 2 +- livekit/livekit_connector_twilio.pb.go | 2 +- livekit/livekit_connector_whatsapp.pb.go | 2 +- livekit/livekit_egress.pb.go | 2 +- livekit/livekit_ingress.pb.go | 2 +- livekit/livekit_internal.pb.go | 2 +- livekit/livekit_metrics.pb.go | 2 +- livekit/livekit_models.pb.go | 2 +- livekit/livekit_phone_number.pb.go | 2 +- livekit/livekit_room.pb.go | 2 +- livekit/livekit_rtc.pb.go | 2 +- livekit/livekit_sip.pb.go | 2 +- livekit/livekit_token_source.pb.go | 2 +- livekit/livekit_webhook.pb.go | 2 +- livekit/logger/options.pb.go | 2 +- livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go | 2 +- rpc/agent.pb.go | 2 +- rpc/agent_dispatch.pb.go | 2 +- rpc/analytics.pb.go | 2 +- rpc/analytics_grpc.pb.go | 2 +- rpc/egress.pb.go | 2 +- rpc/ingress.pb.go | 2 +- rpc/io.pb.go | 2 +- rpc/keepalive.pb.go | 2 +- rpc/participant.pb.go | 2 +- rpc/room.pb.go | 2 +- rpc/roommanager.pb.go | 2 +- rpc/signal.pb.go | 2 +- rpc/sip.pb.go | 2 +- rpc/whip_signal.pb.go | 2 +- 43 files changed, 43 insertions(+), 43 deletions(-) diff --git a/infra/link.pb.go b/infra/link.pb.go index 4163d3784..97745edcd 100644 --- a/infra/link.pb.go +++ b/infra/link.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: infra/link.proto package infra diff --git a/infra/link_grpc.pb.go b/infra/link_grpc.pb.go index d4039c4c1..8cc2e120a 100644 --- a/infra/link_grpc.pb.go +++ b/infra/link_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.36.2 +// - protoc v7.35.1 // source: infra/link.proto package infra diff --git a/livekit/agent/livekit_agent_dev.pb.go b/livekit/agent/livekit_agent_dev.pb.go index 8dc992d2b..9b3f92317 100644 --- a/livekit/agent/livekit_agent_dev.pb.go +++ b/livekit/agent/livekit_agent_dev.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_dev.proto package agent diff --git a/livekit/agent/livekit_agent_inference.pb.go b/livekit/agent/livekit_agent_inference.pb.go index 5650964b8..b14c54fd8 100644 --- a/livekit/agent/livekit_agent_inference.pb.go +++ b/livekit/agent/livekit_agent_inference.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_inference.proto package agent diff --git a/livekit/agent/livekit_agent_session.pb.go b/livekit/agent/livekit_agent_session.pb.go index 5ebe5b299..cbd1d8e2a 100644 --- a/livekit/agent/livekit_agent_session.pb.go +++ b/livekit/agent/livekit_agent_session.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_session.proto package agent diff --git a/livekit/agent/livekit_agent_thread.pb.go b/livekit/agent/livekit_agent_thread.pb.go index e85c4170d..41a0b46ec 100644 --- a/livekit/agent/livekit_agent_thread.pb.go +++ b/livekit/agent/livekit_agent_thread.pb.go @@ -21,7 +21,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_thread.proto package agent diff --git a/livekit/cloud_replay.pb.go b/livekit/cloud_replay.pb.go index a6e3e464d..12e72de7a 100644 --- a/livekit/cloud_replay.pb.go +++ b/livekit/cloud_replay.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: cloud_replay.proto package livekit diff --git a/livekit/livekit_agent_dispatch.pb.go b/livekit/livekit_agent_dispatch.pb.go index f8a21a4c0..c08d0141f 100644 --- a/livekit/livekit_agent_dispatch.pb.go +++ b/livekit/livekit_agent_dispatch.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent_dispatch.proto package livekit diff --git a/livekit/livekit_agent_simulation.pb.go b/livekit/livekit_agent_simulation.pb.go index 52d5440cc..adbe4da5e 100644 --- a/livekit/livekit_agent_simulation.pb.go +++ b/livekit/livekit_agent_simulation.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent_simulation.proto package livekit diff --git a/livekit/livekit_agent_worker.pb.go b/livekit/livekit_agent_worker.pb.go index 9858a2a3b..97b9ddc2e 100644 --- a/livekit/livekit_agent_worker.pb.go +++ b/livekit/livekit_agent_worker.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent_worker.proto package livekit diff --git a/livekit/livekit_agentdb.pb.go b/livekit/livekit_agentdb.pb.go index a551d92cb..b55c57ce4 100644 --- a/livekit/livekit_agentdb.pb.go +++ b/livekit/livekit_agentdb.pb.go @@ -19,7 +19,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agentdb.proto package livekit diff --git a/livekit/livekit_analytics.pb.go b/livekit/livekit_analytics.pb.go index 984c2cdf3..e7dc1d8f6 100644 --- a/livekit/livekit_analytics.pb.go +++ b/livekit/livekit_analytics.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_analytics.proto package livekit diff --git a/livekit/livekit_cloud_agent.pb.go b/livekit/livekit_cloud_agent.pb.go index d813ceadd..2f049e67e 100644 --- a/livekit/livekit_cloud_agent.pb.go +++ b/livekit/livekit_cloud_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_cloud_agent.proto package livekit diff --git a/livekit/livekit_connector.pb.go b/livekit/livekit_connector.pb.go index 5bcfb3128..d44083615 100644 --- a/livekit/livekit_connector.pb.go +++ b/livekit/livekit_connector.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_connector.proto package livekit diff --git a/livekit/livekit_connector_twilio.pb.go b/livekit/livekit_connector_twilio.pb.go index b158433e2..b0cb87c83 100644 --- a/livekit/livekit_connector_twilio.pb.go +++ b/livekit/livekit_connector_twilio.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_connector_twilio.proto package livekit diff --git a/livekit/livekit_connector_whatsapp.pb.go b/livekit/livekit_connector_whatsapp.pb.go index 201c354d0..f99fd95bf 100644 --- a/livekit/livekit_connector_whatsapp.pb.go +++ b/livekit/livekit_connector_whatsapp.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_connector_whatsapp.proto package livekit diff --git a/livekit/livekit_egress.pb.go b/livekit/livekit_egress.pb.go index 51dc5a666..77c5121c7 100644 --- a/livekit/livekit_egress.pb.go +++ b/livekit/livekit_egress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_egress.proto package livekit diff --git a/livekit/livekit_ingress.pb.go b/livekit/livekit_ingress.pb.go index 0ed91f61f..b05701fcf 100644 --- a/livekit/livekit_ingress.pb.go +++ b/livekit/livekit_ingress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_ingress.proto package livekit diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index 6019c7f1e..ce2509afa 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_internal.proto package livekit diff --git a/livekit/livekit_metrics.pb.go b/livekit/livekit_metrics.pb.go index c9c58c536..b57b0d139 100644 --- a/livekit/livekit_metrics.pb.go +++ b/livekit/livekit_metrics.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_metrics.proto package livekit diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index 7f43c5f4f..b9f1e03b9 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_models.proto package livekit diff --git a/livekit/livekit_phone_number.pb.go b/livekit/livekit_phone_number.pb.go index 5df45031c..ae973e57c 100644 --- a/livekit/livekit_phone_number.pb.go +++ b/livekit/livekit_phone_number.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_phone_number.proto package livekit diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 251f35f60..1c2535d4e 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_room.proto package livekit diff --git a/livekit/livekit_rtc.pb.go b/livekit/livekit_rtc.pb.go index 027e87390..214b234cb 100644 --- a/livekit/livekit_rtc.pb.go +++ b/livekit/livekit_rtc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_rtc.proto package livekit diff --git a/livekit/livekit_sip.pb.go b/livekit/livekit_sip.pb.go index 0017ecf63..b3649d5dc 100644 --- a/livekit/livekit_sip.pb.go +++ b/livekit/livekit_sip.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_sip.proto package livekit diff --git a/livekit/livekit_token_source.pb.go b/livekit/livekit_token_source.pb.go index 2fb9b760e..156d50d3e 100644 --- a/livekit/livekit_token_source.pb.go +++ b/livekit/livekit_token_source.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_token_source.proto package livekit diff --git a/livekit/livekit_webhook.pb.go b/livekit/livekit_webhook.pb.go index 5da00b7eb..80442fe92 100644 --- a/livekit/livekit_webhook.pb.go +++ b/livekit/livekit_webhook.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_webhook.proto package livekit diff --git a/livekit/logger/options.pb.go b/livekit/logger/options.pb.go index 87887ea3d..b3a08fc0a 100644 --- a/livekit/logger/options.pb.go +++ b/livekit/logger/options.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: logger/options.proto package logger diff --git a/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go b/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go index 833508bb6..4f2a3f39d 100644 --- a/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go +++ b/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: roomrpc/siprpc/roomrpc_sip_v1.proto package siprpc diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go index b611371b4..2d66e26f2 100644 --- a/rpc/agent.pb.go +++ b/rpc/agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/agent.proto package rpc diff --git a/rpc/agent_dispatch.pb.go b/rpc/agent_dispatch.pb.go index 91ac29cd8..d61e54299 100644 --- a/rpc/agent_dispatch.pb.go +++ b/rpc/agent_dispatch.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/agent_dispatch.proto package rpc diff --git a/rpc/analytics.pb.go b/rpc/analytics.pb.go index 72cd9c1a2..45885e577 100644 --- a/rpc/analytics.pb.go +++ b/rpc/analytics.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/analytics.proto package rpc diff --git a/rpc/analytics_grpc.pb.go b/rpc/analytics_grpc.pb.go index 5517210f0..32f344edf 100644 --- a/rpc/analytics_grpc.pb.go +++ b/rpc/analytics_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.36.2 +// - protoc v7.35.1 // source: rpc/analytics.proto package rpc diff --git a/rpc/egress.pb.go b/rpc/egress.pb.go index a42ee3868..2594451a8 100644 --- a/rpc/egress.pb.go +++ b/rpc/egress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/egress.proto package rpc diff --git a/rpc/ingress.pb.go b/rpc/ingress.pb.go index 948091d14..119bb3166 100644 --- a/rpc/ingress.pb.go +++ b/rpc/ingress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/ingress.proto package rpc diff --git a/rpc/io.pb.go b/rpc/io.pb.go index dda0b2014..36d481216 100644 --- a/rpc/io.pb.go +++ b/rpc/io.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/io.proto package rpc diff --git a/rpc/keepalive.pb.go b/rpc/keepalive.pb.go index cf7fdb4a0..36c1d58ab 100644 --- a/rpc/keepalive.pb.go +++ b/rpc/keepalive.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/keepalive.proto package rpc diff --git a/rpc/participant.pb.go b/rpc/participant.pb.go index bbf09806b..84da23d12 100644 --- a/rpc/participant.pb.go +++ b/rpc/participant.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/participant.proto package rpc diff --git a/rpc/room.pb.go b/rpc/room.pb.go index 4ebbecaa5..28a8cd92f 100644 --- a/rpc/room.pb.go +++ b/rpc/room.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/room.proto package rpc diff --git a/rpc/roommanager.pb.go b/rpc/roommanager.pb.go index 0e97f5b97..bbdd62d08 100644 --- a/rpc/roommanager.pb.go +++ b/rpc/roommanager.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/roommanager.proto package rpc diff --git a/rpc/signal.pb.go b/rpc/signal.pb.go index 0337a6df5..6acb08680 100644 --- a/rpc/signal.pb.go +++ b/rpc/signal.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/signal.proto package rpc diff --git a/rpc/sip.pb.go b/rpc/sip.pb.go index c8d1e61f6..d1cd10cc4 100644 --- a/rpc/sip.pb.go +++ b/rpc/sip.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/sip.proto package rpc diff --git a/rpc/whip_signal.pb.go b/rpc/whip_signal.pb.go index 92c662a87..bd6d57cc9 100644 --- a/rpc/whip_signal.pb.go +++ b/rpc/whip_signal.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/whip_signal.proto package rpc From d5ad07d8bf03b328f426fbe3bd58c0559192a2ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 7 Oct 2026 21:07:30 -0700 Subject: [PATCH 06/12] Merge #1841: the wire grant is scope, ids and flags --- .changeset/agent-threads-runtime.md | 2 +- auth/grants.go | 6 +-- livekit/livekit_agent.pb.go | 65 ++++++++++------------------- livekit/livekit_agentdb.pb.go | 2 +- protobufs/livekit_agent.proto | 12 +++--- 5 files changed, 32 insertions(+), 55 deletions(-) diff --git a/.changeset/agent-threads-runtime.md b/.changeset/agent-threads-runtime.md index 19ed7c298..71901c769 100644 --- a/.changeset/agent-threads-runtime.md +++ b/.changeset/agent-threads-runtime.md @@ -3,4 +3,4 @@ "@livekit/protocol": minor --- -Agent threads on the agent runtime: `Job.thread_id`, `UpdateThreadStatus` on the worker control stream, and `AgentHttp.StreamPreamble.thread_id` / `thread_grant` (`AgentHttp.AgentThreadGrant`, with `endpoints`). `auth.AgentThreadGrant.ToProto` converts the claim for the preamble. +Agent threads on the agent runtime: `Job.thread_id`, `UpdateThreadStatus` on the worker control stream, and `AgentHttp.StreamPreamble.thread_id` / `thread_grant` (`AgentHttp.AgentThreadGrant`). `auth.AgentThreadGrant.ToProto` converts the claim for the preamble. diff --git a/auth/grants.go b/auth/grants.go index d7c115dd7..5435c04ed 100644 --- a/auth/grants.go +++ b/auth/grants.go @@ -760,13 +760,11 @@ func (s *AgentThreadGrant) ToProto() *livekit.AgentHttp_AgentThreadGrant { return nil } return &livekit.AgentHttp_AgentThreadGrant{ - AgentName: s.AgentName, - Subject: s.Subject, + Scope: s.Scope, ThreadIds: append([]string{}, s.ThreadIDs...), - Endpoints: append([]string{}, s.Endpoints...), List: s.List, Create: s.Create, - Send: s.Send, + Write: s.Write, Read: s.Read, Delete: s.Delete, } diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index eb1c36221..235646430 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agent.proto package livekit @@ -2106,20 +2106,17 @@ func (x *AgentHttp_StreamPreamble) GetThreadGrant() *AgentHttp_AgentThreadGrant return nil } -// auth.AgentThreadGrant on the wire: one agent's threads, by subject or by -// id, with per-action flags +// auth.AgentThreadGrant on the wire: threads by scope or by id, with +// per-action flags type AgentHttp_AgentThreadGrant struct { - state protoimpl.MessageState `protogen:"open.v1"` - AgentName string `protobuf:"bytes,1,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` - Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` - ThreadIds []string `protobuf:"bytes,3,rep,name=thread_ids,json=threadIds,proto3" json:"thread_ids,omitempty"` - List bool `protobuf:"varint,4,opt,name=list,proto3" json:"list,omitempty"` - Create bool `protobuf:"varint,5,opt,name=create,proto3" json:"create,omitempty"` - Send bool `protobuf:"varint,6,opt,name=send,proto3" json:"send,omitempty"` - Read bool `protobuf:"varint,7,opt,name=read,proto3" json:"read,omitempty"` - Delete bool `protobuf:"varint,8,opt,name=delete,proto3" json:"delete,omitempty"` - // endpoints of the agent the holder may call; empty is all - Endpoints []string `protobuf:"bytes,9,rep,name=endpoints,proto3" json:"endpoints,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Scope string `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` + ThreadIds []string `protobuf:"bytes,3,rep,name=thread_ids,json=threadIds,proto3" json:"thread_ids,omitempty"` + List bool `protobuf:"varint,4,opt,name=list,proto3" json:"list,omitempty"` + Create bool `protobuf:"varint,5,opt,name=create,proto3" json:"create,omitempty"` + Write bool `protobuf:"varint,6,opt,name=write,proto3" json:"write,omitempty"` + Read bool `protobuf:"varint,7,opt,name=read,proto3" json:"read,omitempty"` + Delete bool `protobuf:"varint,8,opt,name=delete,proto3" json:"delete,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -2154,16 +2151,9 @@ func (*AgentHttp_AgentThreadGrant) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{17, 3} } -func (x *AgentHttp_AgentThreadGrant) GetAgentName() string { - if x != nil { - return x.AgentName - } - return "" -} - -func (x *AgentHttp_AgentThreadGrant) GetSubject() string { +func (x *AgentHttp_AgentThreadGrant) GetScope() string { if x != nil { - return x.Subject + return x.Scope } return "" } @@ -2189,9 +2179,9 @@ func (x *AgentHttp_AgentThreadGrant) GetCreate() bool { return false } -func (x *AgentHttp_AgentThreadGrant) GetSend() bool { +func (x *AgentHttp_AgentThreadGrant) GetWrite() bool { if x != nil { - return x.Send + return x.Write } return false } @@ -2210,13 +2200,6 @@ func (x *AgentHttp_AgentThreadGrant) GetDelete() bool { return false } -func (x *AgentHttp_AgentThreadGrant) GetEndpoints() []string { - if x != nil { - return x.Endpoints - } - return nil -} - // the server is draining: the worker should re-register elsewhere; in-flight // HTTP exchanges run to completion type AgentHttp_GoAway struct { @@ -2402,7 +2385,7 @@ const file_livekit_agent_proto_rawDesc = "" + "\x05token\x18\x03 \x01(\tR\x05tokenB\x06\n" + "\x04_url\"1\n" + "\x0eJobTermination\x12\x1f\n" + - "\x06job_id\x18\x01 \x01(\tB\b\xbaP\x05jobIDR\x05jobId\"\xaf\b\n" + + "\x06job_id\x18\x01 \x01(\tB\b\xbaP\x05jobIDR\x05jobId\"\xee\a\n" + "\tAgentHttp\x1a\x8f\x01\n" + "\rAgentEndpoint\x12\x12\n" + "\x04path\x18\x01 \x01(\tR\x04path\x12\x18\n" + @@ -2425,19 +2408,17 @@ const file_livekit_agent_proto_rawDesc = "" + "clientAddr\x12\x16\n" + "\x06scheme\x18\a \x01(\tR\x06scheme\x12(\n" + "\tthread_id\x18\b \x01(\tB\v\xbaP\bthreadIDR\bthreadId\x12F\n" + - "\fthread_grant\x18\t \x01(\v2#.livekit.AgentHttp.AgentThreadGrantR\vthreadGrant\x1a\x90\x02\n" + - "\x10AgentThreadGrant\x12+\n" + - "\n" + - "agent_name\x18\x01 \x01(\tB\f\xbaP\tagentNameR\tagentName\x12\x18\n" + - "\asubject\x18\x02 \x01(\tR\asubject\x12+\n" + + "\fthread_grant\x18\t \x01(\v2#.livekit.AgentHttp.AgentThreadGrantR\vthreadGrant\x1a\xcf\x01\n" + + "\x10AgentThreadGrant\x12\x14\n" + + "\x05scope\x18\x02 \x01(\tR\x05scope\x12+\n" + "\n" + "thread_ids\x18\x03 \x03(\tB\f\xbaP\tthreadIDsR\tthreadIds\x12\x12\n" + "\x04list\x18\x04 \x01(\bR\x04list\x12\x16\n" + - "\x06create\x18\x05 \x01(\bR\x06create\x12\x12\n" + - "\x04send\x18\x06 \x01(\bR\x04send\x12\x12\n" + + "\x06create\x18\x05 \x01(\bR\x06create\x12\x14\n" + + "\x05write\x18\x06 \x01(\bR\x05write\x12\x12\n" + "\x04read\x18\a \x01(\bR\x04read\x12\x16\n" + - "\x06delete\x18\b \x01(\bR\x06delete\x12\x1c\n" + - "\tendpoints\x18\t \x03(\tR\tendpoints\x1a \n" + + "\x06delete\x18\b \x01(\bR\x06deleteJ\x04\b\x01\x10\x02J\x04\b\t\x10\n" + + "\x1a \n" + "\x06GoAway\x12\x16\n" + "\x06reason\x18\x01 \x01(\tR\x06reason\"/\n" + "\x11AgentEndpointKind\x12\f\n" + diff --git a/livekit/livekit_agentdb.pb.go b/livekit/livekit_agentdb.pb.go index b55c57ce4..a551d92cb 100644 --- a/livekit/livekit_agentdb.pb.go +++ b/livekit/livekit_agentdb.pb.go @@ -19,7 +19,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agentdb.proto package livekit diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 014e3847e..e02b0e0f1 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -327,19 +327,17 @@ message AgentHttp { // NEXT_ID: 10 } - // auth.AgentThreadGrant on the wire: one agent's threads, by subject or by - // id, with per-action flags + // auth.AgentThreadGrant on the wire: threads by scope or by id, with + // per-action flags message AgentThreadGrant { - string agent_name = 1 [(logger.name) = "agentName"]; - string subject = 2; + reserved 1, 9; + string scope = 2; repeated string thread_ids = 3 [(logger.name) = "threadIDs"]; bool list = 4; bool create = 5; - bool send = 6; + bool write = 6; bool read = 7; bool delete = 8; - // endpoints of the agent the holder may call; empty is all - repeated string endpoints = 9; } // why a stream was reset before any HTTP bytes flowed. This travels as the From 9e07f675bfe6f7dc52285851327c047c4a5811eb Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2026 04:08:57 +0000 Subject: [PATCH 07/12] generated protobuf --- livekit/livekit_agent.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 235646430..1368b877b 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent.proto package livekit From 58b89977f391cafd454810805fa677e767b49f25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 7 Oct 2026 21:22:31 -0700 Subject: [PATCH 08/12] Revert "agentdb: tag batch results with their statement index" This reverts commit b820d545bb2d418f51c3359d0f3d99f9bc7e30c1. --- infra/link.pb.go | 2 +- infra/link_grpc.pb.go | 2 +- livekit/agent/livekit_agent_dev.pb.go | 2 +- livekit/agent/livekit_agent_inference.pb.go | 2 +- livekit/agent/livekit_agent_session.pb.go | 2 +- livekit/agent/livekit_agent_thread.pb.go | 2 +- livekit/cloud_replay.pb.go | 2 +- livekit/livekit_agent.pb.go | 2 +- livekit/livekit_agent_dispatch.pb.go | 2 +- livekit/livekit_agent_simulation.pb.go | 2 +- livekit/livekit_agent_worker.pb.go | 2 +- livekit/livekit_agentdb.pb.go | 53 ++++----------------- livekit/livekit_analytics.pb.go | 2 +- livekit/livekit_cloud_agent.pb.go | 2 +- livekit/livekit_connector.pb.go | 2 +- livekit/livekit_connector_twilio.pb.go | 2 +- livekit/livekit_connector_whatsapp.pb.go | 2 +- livekit/livekit_egress.pb.go | 2 +- livekit/livekit_ingress.pb.go | 2 +- livekit/livekit_internal.pb.go | 2 +- livekit/livekit_metrics.pb.go | 2 +- livekit/livekit_models.pb.go | 2 +- livekit/livekit_phone_number.pb.go | 2 +- livekit/livekit_room.pb.go | 2 +- livekit/livekit_rtc.pb.go | 2 +- livekit/livekit_sip.pb.go | 2 +- livekit/livekit_token_source.pb.go | 2 +- livekit/livekit_webhook.pb.go | 2 +- livekit/logger/options.pb.go | 2 +- livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go | 2 +- protobufs/livekit_agentdb.proto | 13 +---- rpc/agent.pb.go | 2 +- rpc/agent_dispatch.pb.go | 2 +- rpc/analytics.pb.go | 2 +- rpc/analytics_grpc.pb.go | 2 +- rpc/egress.pb.go | 2 +- rpc/ingress.pb.go | 2 +- rpc/io.pb.go | 2 +- rpc/keepalive.pb.go | 2 +- rpc/participant.pb.go | 2 +- rpc/room.pb.go | 2 +- rpc/roommanager.pb.go | 2 +- rpc/signal.pb.go | 2 +- rpc/sip.pb.go | 2 +- rpc/whip_signal.pb.go | 2 +- 45 files changed, 55 insertions(+), 97 deletions(-) diff --git a/infra/link.pb.go b/infra/link.pb.go index 97745edcd..4163d3784 100644 --- a/infra/link.pb.go +++ b/infra/link.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: infra/link.proto package infra diff --git a/infra/link_grpc.pb.go b/infra/link_grpc.pb.go index 8cc2e120a..d4039c4c1 100644 --- a/infra/link_grpc.pb.go +++ b/infra/link_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.1 +// - protoc v7.36.2 // source: infra/link.proto package infra diff --git a/livekit/agent/livekit_agent_dev.pb.go b/livekit/agent/livekit_agent_dev.pb.go index 9b3f92317..8dc992d2b 100644 --- a/livekit/agent/livekit_agent_dev.pb.go +++ b/livekit/agent/livekit_agent_dev.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: agent/livekit_agent_dev.proto package agent diff --git a/livekit/agent/livekit_agent_inference.pb.go b/livekit/agent/livekit_agent_inference.pb.go index b14c54fd8..5650964b8 100644 --- a/livekit/agent/livekit_agent_inference.pb.go +++ b/livekit/agent/livekit_agent_inference.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: agent/livekit_agent_inference.proto package agent diff --git a/livekit/agent/livekit_agent_session.pb.go b/livekit/agent/livekit_agent_session.pb.go index cbd1d8e2a..5ebe5b299 100644 --- a/livekit/agent/livekit_agent_session.pb.go +++ b/livekit/agent/livekit_agent_session.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: agent/livekit_agent_session.proto package agent diff --git a/livekit/agent/livekit_agent_thread.pb.go b/livekit/agent/livekit_agent_thread.pb.go index 847e128b0..7dd037c34 100644 --- a/livekit/agent/livekit_agent_thread.pb.go +++ b/livekit/agent/livekit_agent_thread.pb.go @@ -21,7 +21,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: agent/livekit_agent_thread.proto package agent diff --git a/livekit/cloud_replay.pb.go b/livekit/cloud_replay.pb.go index 12e72de7a..a6e3e464d 100644 --- a/livekit/cloud_replay.pb.go +++ b/livekit/cloud_replay.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: cloud_replay.proto package livekit diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 1368b877b..235646430 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agent.proto package livekit diff --git a/livekit/livekit_agent_dispatch.pb.go b/livekit/livekit_agent_dispatch.pb.go index c08d0141f..f8a21a4c0 100644 --- a/livekit/livekit_agent_dispatch.pb.go +++ b/livekit/livekit_agent_dispatch.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agent_dispatch.proto package livekit diff --git a/livekit/livekit_agent_simulation.pb.go b/livekit/livekit_agent_simulation.pb.go index adbe4da5e..52d5440cc 100644 --- a/livekit/livekit_agent_simulation.pb.go +++ b/livekit/livekit_agent_simulation.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agent_simulation.proto package livekit diff --git a/livekit/livekit_agent_worker.pb.go b/livekit/livekit_agent_worker.pb.go index 97b9ddc2e..9858a2a3b 100644 --- a/livekit/livekit_agent_worker.pb.go +++ b/livekit/livekit_agent_worker.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agent_worker.proto package livekit diff --git a/livekit/livekit_agentdb.pb.go b/livekit/livekit_agentdb.pb.go index b55c57ce4..88a3bc423 100644 --- a/livekit/livekit_agentdb.pb.go +++ b/livekit/livekit_agentdb.pb.go @@ -19,7 +19,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agentdb.proto package livekit @@ -894,7 +894,7 @@ type AgentDB_Wire_ClientMessage_Query struct { } type AgentDB_Wire_ClientMessage_Batch struct { - Batch *AgentDB_Wire_Batch `protobuf:"bytes,5,opt,name=batch,proto3,oneof"` // answers one result per statement, then Done + Batch *AgentDB_Wire_Batch `protobuf:"bytes,5,opt,name=batch,proto3,oneof"` } type AgentDB_Wire_ClientMessage_Begin struct { @@ -1302,15 +1302,9 @@ func (x *AgentDB_Wire_Statement) GetLang() AgentDB_Wire_QueryLang { return AgentDB_Wire_SQL } -// Applied atomically, in order, and answered with one result per -// statement, in order: Columns then ColumnBatch frames for a statement -// that returns rows, one ExecResult for one that does not, each tagged -// with the statement's 0-based index, then a single Done for the whole -// batch. A statement that returns no rows still sends its Columns. Credit -// paces the ColumnBatch frames of the batch as a whole. type AgentDB_Wire_Batch struct { state protoimpl.MessageState `protogen:"open.v1"` - Statements []*AgentDB_Wire_Statement `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"` + Statements []*AgentDB_Wire_Statement `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"` // applied atomically, in order unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1751,7 +1745,6 @@ func (x *AgentDB_Wire_HelloOk) GetPingTimeoutMs() uint32 { type AgentDB_Wire_Columns struct { state protoimpl.MessageState `protogen:"open.v1"` Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` - Statement uint32 `protobuf:"varint,2,opt,name=statement,proto3" json:"statement,omitempty"` // index within a Batch; 0 and unused for a Query unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1793,13 +1786,6 @@ func (x *AgentDB_Wire_Columns) GetNames() []string { return nil } -func (x *AgentDB_Wire_Columns) GetStatement() uint32 { - if x != nil { - return x.Statement - } - return 0 -} - // Values are typed per row, as SQLite types them, so a column may mix // classes: walk `types` and take the next entry from the matching array. Text // and blobs are concatenated with one exclusive end offset each, so value i @@ -1901,7 +1887,6 @@ type AgentDB_Wire_ColumnBatch struct { state protoimpl.MessageState `protogen:"open.v1"` Columns []*AgentDB_Wire_Column `protobuf:"bytes,1,rep,name=columns,proto3" json:"columns,omitempty"` // one per name in Columns Rows uint32 `protobuf:"varint,2,opt,name=rows,proto3" json:"rows,omitempty"` - Statement uint32 `protobuf:"varint,3,opt,name=statement,proto3" json:"statement,omitempty"` // index within a Batch; 0 and unused for a Query unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1950,19 +1935,11 @@ func (x *AgentDB_Wire_ColumnBatch) GetRows() uint32 { return 0 } -func (x *AgentDB_Wire_ColumnBatch) GetStatement() uint32 { - if x != nil { - return x.Statement - } - return 0 -} - type AgentDB_Wire_ExecResult struct { state protoimpl.MessageState `protogen:"open.v1"` RowsAffected int64 `protobuf:"varint,1,opt,name=rows_affected,json=rowsAffected,proto3" json:"rows_affected,omitempty"` LastInsertId int64 `protobuf:"varint,2,opt,name=last_insert_id,json=lastInsertId,proto3" json:"last_insert_id,omitempty"` Tip int64 `protobuf:"varint,3,opt,name=tip,proto3" json:"tip,omitempty"` - Statement uint32 `protobuf:"varint,4,opt,name=statement,proto3" json:"statement,omitempty"` // index within a Batch; 0 and unused for an Exec unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -2018,13 +1995,6 @@ func (x *AgentDB_Wire_ExecResult) GetTip() int64 { return 0 } -func (x *AgentDB_Wire_ExecResult) GetStatement() uint32 { - if x != nil { - return x.Statement - } - return 0 -} - type AgentDB_Wire_Done struct { state protoimpl.MessageState `protogen:"open.v1"` Tip int64 `protobuf:"varint,1,opt,name=tip,proto3" json:"tip,omitempty"` // the snapshot the query ran at @@ -2133,7 +2103,7 @@ var File_livekit_agentdb_proto protoreflect.FileDescriptor const file_livekit_agentdb_proto_rawDesc = "" + "\n" + - "\x15livekit_agentdb.proto\x12\alivekit\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa5\x1b\n" + + "\x15livekit_agentdb.proto\x12\alivekit\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xca\x1a\n" + "\aAgentDB\x1aJ\n" + "\rCreateRequest\x12+\n" + "\x03ttl\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x03ttlJ\x04\b\x01\x10\x02R\x06region\x1al\n" + @@ -2173,7 +2143,7 @@ const file_livekit_agentdb_proto_rawDesc = "" + "\fdownload_url\x18\x01 \x01(\tR\vdownloadUrl\x129\n" + "\n" + "expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12\x10\n" + - "\x03tip\x18\x03 \x01(\x03R\x03tip\x1a\xa8\x14\n" + + "\x03tip\x18\x03 \x01(\x03R\x03tip\x1a\xcd\x13\n" + "\x04Wire\x1a\xe0\x04\n" + "\rClientMessage\x12\x1d\n" + "\n" + @@ -2239,10 +2209,9 @@ const file_livekit_agentdb_proto_rawDesc = "" + "\aHelloOk\x12\x10\n" + "\x03tip\x18\x01 \x01(\x03R\x03tip\x12(\n" + "\x10ping_interval_ms\x18\x02 \x01(\rR\x0epingIntervalMs\x12&\n" + - "\x0fping_timeout_ms\x18\x03 \x01(\rR\rpingTimeoutMs\x1a=\n" + + "\x0fping_timeout_ms\x18\x03 \x01(\rR\rpingTimeoutMs\x1a\x1f\n" + "\aColumns\x12\x14\n" + - "\x05names\x18\x01 \x03(\tR\x05names\x12\x1c\n" + - "\tstatement\x18\x02 \x01(\rR\tstatement\x1a\xc0\x01\n" + + "\x05names\x18\x01 \x03(\tR\x05names\x1a\xc0\x01\n" + "\x06Column\x12\x14\n" + "\x05types\x18\x01 \x01(\fR\x05types\x12\x12\n" + "\x04ints\x18\x02 \x03(\x12R\x04ints\x12\x18\n" + @@ -2250,17 +2219,15 @@ const file_livekit_agentdb_proto_rawDesc = "" + "\ttext_data\x18\x04 \x01(\fR\btextData\x12\x1b\n" + "\ttext_ends\x18\x05 \x03(\rR\btextEnds\x12\x1b\n" + "\tblob_data\x18\x06 \x01(\fR\bblobData\x12\x1b\n" + - "\tblob_ends\x18\a \x03(\rR\bblobEnds\x1aw\n" + + "\tblob_ends\x18\a \x03(\rR\bblobEnds\x1aY\n" + "\vColumnBatch\x126\n" + "\acolumns\x18\x01 \x03(\v2\x1c.livekit.AgentDB.Wire.ColumnR\acolumns\x12\x12\n" + - "\x04rows\x18\x02 \x01(\rR\x04rows\x12\x1c\n" + - "\tstatement\x18\x03 \x01(\rR\tstatement\x1a\x87\x01\n" + + "\x04rows\x18\x02 \x01(\rR\x04rows\x1ai\n" + "\n" + "ExecResult\x12#\n" + "\rrows_affected\x18\x01 \x01(\x03R\frowsAffected\x12$\n" + "\x0elast_insert_id\x18\x02 \x01(\x03R\flastInsertId\x12\x10\n" + - "\x03tip\x18\x03 \x01(\x03R\x03tip\x12\x1c\n" + - "\tstatement\x18\x04 \x01(\rR\tstatement\x1a7\n" + + "\x03tip\x18\x03 \x01(\x03R\x03tip\x1a7\n" + "\x04Done\x12\x10\n" + "\x03tip\x18\x01 \x01(\x03R\x03tip\x12\x1d\n" + "\n" + diff --git a/livekit/livekit_analytics.pb.go b/livekit/livekit_analytics.pb.go index e7dc1d8f6..984c2cdf3 100644 --- a/livekit/livekit_analytics.pb.go +++ b/livekit/livekit_analytics.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_analytics.proto package livekit diff --git a/livekit/livekit_cloud_agent.pb.go b/livekit/livekit_cloud_agent.pb.go index 2f049e67e..d813ceadd 100644 --- a/livekit/livekit_cloud_agent.pb.go +++ b/livekit/livekit_cloud_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_cloud_agent.proto package livekit diff --git a/livekit/livekit_connector.pb.go b/livekit/livekit_connector.pb.go index d44083615..5bcfb3128 100644 --- a/livekit/livekit_connector.pb.go +++ b/livekit/livekit_connector.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_connector.proto package livekit diff --git a/livekit/livekit_connector_twilio.pb.go b/livekit/livekit_connector_twilio.pb.go index b0cb87c83..b158433e2 100644 --- a/livekit/livekit_connector_twilio.pb.go +++ b/livekit/livekit_connector_twilio.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_connector_twilio.proto package livekit diff --git a/livekit/livekit_connector_whatsapp.pb.go b/livekit/livekit_connector_whatsapp.pb.go index f99fd95bf..201c354d0 100644 --- a/livekit/livekit_connector_whatsapp.pb.go +++ b/livekit/livekit_connector_whatsapp.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_connector_whatsapp.proto package livekit diff --git a/livekit/livekit_egress.pb.go b/livekit/livekit_egress.pb.go index 77c5121c7..51dc5a666 100644 --- a/livekit/livekit_egress.pb.go +++ b/livekit/livekit_egress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_egress.proto package livekit diff --git a/livekit/livekit_ingress.pb.go b/livekit/livekit_ingress.pb.go index b05701fcf..0ed91f61f 100644 --- a/livekit/livekit_ingress.pb.go +++ b/livekit/livekit_ingress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_ingress.proto package livekit diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index ce2509afa..6019c7f1e 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_internal.proto package livekit diff --git a/livekit/livekit_metrics.pb.go b/livekit/livekit_metrics.pb.go index b57b0d139..c9c58c536 100644 --- a/livekit/livekit_metrics.pb.go +++ b/livekit/livekit_metrics.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_metrics.proto package livekit diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index b9f1e03b9..7f43c5f4f 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_models.proto package livekit diff --git a/livekit/livekit_phone_number.pb.go b/livekit/livekit_phone_number.pb.go index ae973e57c..5df45031c 100644 --- a/livekit/livekit_phone_number.pb.go +++ b/livekit/livekit_phone_number.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_phone_number.proto package livekit diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 1c2535d4e..251f35f60 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_room.proto package livekit diff --git a/livekit/livekit_rtc.pb.go b/livekit/livekit_rtc.pb.go index 214b234cb..027e87390 100644 --- a/livekit/livekit_rtc.pb.go +++ b/livekit/livekit_rtc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_rtc.proto package livekit diff --git a/livekit/livekit_sip.pb.go b/livekit/livekit_sip.pb.go index b3649d5dc..0017ecf63 100644 --- a/livekit/livekit_sip.pb.go +++ b/livekit/livekit_sip.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_sip.proto package livekit diff --git a/livekit/livekit_token_source.pb.go b/livekit/livekit_token_source.pb.go index 156d50d3e..2fb9b760e 100644 --- a/livekit/livekit_token_source.pb.go +++ b/livekit/livekit_token_source.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_token_source.proto package livekit diff --git a/livekit/livekit_webhook.pb.go b/livekit/livekit_webhook.pb.go index 80442fe92..5da00b7eb 100644 --- a/livekit/livekit_webhook.pb.go +++ b/livekit/livekit_webhook.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_webhook.proto package livekit diff --git a/livekit/logger/options.pb.go b/livekit/logger/options.pb.go index b3a08fc0a..87887ea3d 100644 --- a/livekit/logger/options.pb.go +++ b/livekit/logger/options.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: logger/options.proto package logger diff --git a/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go b/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go index 4f2a3f39d..833508bb6 100644 --- a/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go +++ b/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: roomrpc/siprpc/roomrpc_sip_v1.proto package siprpc diff --git a/protobufs/livekit_agentdb.proto b/protobufs/livekit_agentdb.proto index b19277925..2f2ee8333 100644 --- a/protobufs/livekit_agentdb.proto +++ b/protobufs/livekit_agentdb.proto @@ -93,7 +93,7 @@ message AgentDB { Hello hello = 2; // must be first on the socket Statement exec = 3; // answers ExecResult Statement query = 4; // answers Columns + ColumnBatch* + Done - Batch batch = 5; // answers one result per statement, then Done + Batch batch = 5; Begin begin = 6; Commit commit = 7; Rollback rollback = 8; @@ -138,14 +138,8 @@ message AgentDB { QueryLang lang = 3; } - // Applied atomically, in order, and answered with one result per - // statement, in order: Columns then ColumnBatch frames for a statement - // that returns rows, one ExecResult for one that does not, each tagged - // with the statement's 0-based index, then a single Done for the whole - // batch. A statement that returns no rows still sends its Columns. Credit - // paces the ColumnBatch frames of the batch as a whole. message Batch { - repeated Statement statements = 1; + repeated Statement statements = 1; // applied atomically, in order } message Begin {} @@ -179,7 +173,6 @@ message AgentDB { message Columns { repeated string names = 1; - uint32 statement = 2; // index within a Batch; 0 and unused for a Query } enum ValueType { @@ -208,14 +201,12 @@ message AgentDB { message ColumnBatch { repeated Column columns = 1; // one per name in Columns uint32 rows = 2; - uint32 statement = 3; // index within a Batch; 0 and unused for a Query } message ExecResult { int64 rows_affected = 1; int64 last_insert_id = 2; int64 tip = 3; - uint32 statement = 4; // index within a Batch; 0 and unused for an Exec } message Done { diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go index 2d66e26f2..b611371b4 100644 --- a/rpc/agent.pb.go +++ b/rpc/agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/agent.proto package rpc diff --git a/rpc/agent_dispatch.pb.go b/rpc/agent_dispatch.pb.go index d61e54299..91ac29cd8 100644 --- a/rpc/agent_dispatch.pb.go +++ b/rpc/agent_dispatch.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/agent_dispatch.proto package rpc diff --git a/rpc/analytics.pb.go b/rpc/analytics.pb.go index 45885e577..72cd9c1a2 100644 --- a/rpc/analytics.pb.go +++ b/rpc/analytics.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/analytics.proto package rpc diff --git a/rpc/analytics_grpc.pb.go b/rpc/analytics_grpc.pb.go index 32f344edf..5517210f0 100644 --- a/rpc/analytics_grpc.pb.go +++ b/rpc/analytics_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.1 +// - protoc v7.36.2 // source: rpc/analytics.proto package rpc diff --git a/rpc/egress.pb.go b/rpc/egress.pb.go index 2594451a8..a42ee3868 100644 --- a/rpc/egress.pb.go +++ b/rpc/egress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/egress.proto package rpc diff --git a/rpc/ingress.pb.go b/rpc/ingress.pb.go index 119bb3166..948091d14 100644 --- a/rpc/ingress.pb.go +++ b/rpc/ingress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/ingress.proto package rpc diff --git a/rpc/io.pb.go b/rpc/io.pb.go index 36d481216..dda0b2014 100644 --- a/rpc/io.pb.go +++ b/rpc/io.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/io.proto package rpc diff --git a/rpc/keepalive.pb.go b/rpc/keepalive.pb.go index 36c1d58ab..cf7fdb4a0 100644 --- a/rpc/keepalive.pb.go +++ b/rpc/keepalive.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/keepalive.proto package rpc diff --git a/rpc/participant.pb.go b/rpc/participant.pb.go index 84da23d12..bbf09806b 100644 --- a/rpc/participant.pb.go +++ b/rpc/participant.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/participant.proto package rpc diff --git a/rpc/room.pb.go b/rpc/room.pb.go index 28a8cd92f..4ebbecaa5 100644 --- a/rpc/room.pb.go +++ b/rpc/room.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/room.proto package rpc diff --git a/rpc/roommanager.pb.go b/rpc/roommanager.pb.go index bbdd62d08..0e97f5b97 100644 --- a/rpc/roommanager.pb.go +++ b/rpc/roommanager.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/roommanager.proto package rpc diff --git a/rpc/signal.pb.go b/rpc/signal.pb.go index 6acb08680..0337a6df5 100644 --- a/rpc/signal.pb.go +++ b/rpc/signal.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/signal.proto package rpc diff --git a/rpc/sip.pb.go b/rpc/sip.pb.go index d1cd10cc4..c8d1e61f6 100644 --- a/rpc/sip.pb.go +++ b/rpc/sip.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/sip.proto package rpc diff --git a/rpc/whip_signal.pb.go b/rpc/whip_signal.pb.go index bd6d57cc9..92c662a87 100644 --- a/rpc/whip_signal.pb.go +++ b/rpc/whip_signal.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: rpc/whip_signal.proto package rpc From 701c4e8a871c994ae6eb73be0dc67182542d3137 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 7 Oct 2026 21:22:31 -0700 Subject: [PATCH 09/12] Revert "agent: add run_started and run_ended to AgentSessionEvent" This reverts commit df2a6b01febd3f296dd5216efb1abb77fc185f76. --- livekit/agent/livekit_agent_session.pb.go | 778 +++++++------------- protobufs/agent/livekit_agent_session.proto | 36 - 2 files changed, 260 insertions(+), 554 deletions(-) diff --git a/livekit/agent/livekit_agent_session.pb.go b/livekit/agent/livekit_agent_session.pb.go index 5ebe5b299..7fe1a687b 100644 --- a/livekit/agent/livekit_agent_session.pb.go +++ b/livekit/agent/livekit_agent_session.pb.go @@ -285,58 +285,6 @@ func (ToolReplyStatus) EnumDescriptor() ([]byte, []int) { return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{4} } -// How a run ended. A run is one input to one result, tools included, on -// any channel: a text message, a voice turn, a background task. -type RunOutcome int32 - -const ( - RunOutcome_RO_COMPLETED RunOutcome = 0 - RunOutcome_RO_FAILED RunOutcome = 1 - // the run yielded to a newer message or was cancelled by the caller - RunOutcome_RO_CANCELLED RunOutcome = 2 -) - -// Enum value maps for RunOutcome. -var ( - RunOutcome_name = map[int32]string{ - 0: "RO_COMPLETED", - 1: "RO_FAILED", - 2: "RO_CANCELLED", - } - RunOutcome_value = map[string]int32{ - "RO_COMPLETED": 0, - "RO_FAILED": 1, - "RO_CANCELLED": 2, - } -) - -func (x RunOutcome) Enum() *RunOutcome { - p := new(RunOutcome) - *p = x - return p -} - -func (x RunOutcome) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RunOutcome) Descriptor() protoreflect.EnumDescriptor { - return file_agent_livekit_agent_session_proto_enumTypes[5].Descriptor() -} - -func (RunOutcome) Type() protoreflect.EnumType { - return &file_agent_livekit_agent_session_proto_enumTypes[5] -} - -func (x RunOutcome) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RunOutcome.Descriptor instead. -func (RunOutcome) EnumDescriptor() ([]byte, []int) { - return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{5} -} - type AmdCategory int32 const ( @@ -379,11 +327,11 @@ func (x AmdCategory) String() string { } func (AmdCategory) Descriptor() protoreflect.EnumDescriptor { - return file_agent_livekit_agent_session_proto_enumTypes[6].Descriptor() + return file_agent_livekit_agent_session_proto_enumTypes[5].Descriptor() } func (AmdCategory) Type() protoreflect.EnumType { - return &file_agent_livekit_agent_session_proto_enumTypes[6] + return &file_agent_livekit_agent_session_proto_enumTypes[5] } func (x AmdCategory) Number() protoreflect.EnumNumber { @@ -392,7 +340,7 @@ func (x AmdCategory) Number() protoreflect.EnumNumber { // Deprecated: Use AmdCategory.Descriptor instead. func (AmdCategory) EnumDescriptor() ([]byte, []int) { - return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{6} + return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{5} } type MetricsReport struct { @@ -1710,8 +1658,6 @@ type AgentSessionEvent struct { // *AgentSessionEvent_DebugMessage // *AgentSessionEvent_ToolExecutionUpdated_ // *AgentSessionEvent_AgentFalseInterruption_ - // *AgentSessionEvent_RunStarted_ - // *AgentSessionEvent_RunEnded_ Event isAgentSessionEvent_Event `protobuf_oneof:"event"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1887,24 +1833,6 @@ func (x *AgentSessionEvent) GetAgentFalseInterruption() *AgentSessionEvent_Agent return nil } -func (x *AgentSessionEvent) GetRunStarted() *AgentSessionEvent_RunStarted { - if x != nil { - if x, ok := x.Event.(*AgentSessionEvent_RunStarted_); ok { - return x.RunStarted - } - } - return nil -} - -func (x *AgentSessionEvent) GetRunEnded() *AgentSessionEvent_RunEnded { - if x != nil { - if x, ok := x.Event.(*AgentSessionEvent_RunEnded_); ok { - return x.RunEnded - } - } - return nil -} - type isAgentSessionEvent_Event interface { isAgentSessionEvent_Event() } @@ -1965,14 +1893,6 @@ type AgentSessionEvent_AgentFalseInterruption_ struct { AgentFalseInterruption *AgentSessionEvent_AgentFalseInterruption `protobuf:"bytes,23,opt,name=agent_false_interruption,json=agentFalseInterruption,proto3,oneof"` } -type AgentSessionEvent_RunStarted_ struct { - RunStarted *AgentSessionEvent_RunStarted `protobuf:"bytes,24,opt,name=run_started,json=runStarted,proto3,oneof"` -} - -type AgentSessionEvent_RunEnded_ struct { - RunEnded *AgentSessionEvent_RunEnded `protobuf:"bytes,25,opt,name=run_ended,json=runEnded,proto3,oneof"` -} - func (*AgentSessionEvent_AgentStateChanged_) isAgentSessionEvent_Event() {} func (*AgentSessionEvent_UserStateChanged_) isAgentSessionEvent_Event() {} @@ -2001,10 +1921,6 @@ func (*AgentSessionEvent_ToolExecutionUpdated_) isAgentSessionEvent_Event() {} func (*AgentSessionEvent_AgentFalseInterruption_) isAgentSessionEvent_Event() {} -func (*AgentSessionEvent_RunStarted_) isAgentSessionEvent_Event() {} - -func (*AgentSessionEvent_RunEnded_) 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"` @@ -3593,153 +3509,6 @@ func (x *AgentSessionEvent_AgentFalseInterruption) GetResumed() bool { return false } -// Written by the framework when a run begins, before any application code -// runs. A RunStarted with no matching RunEnded is an interrupted run. -type AgentSessionEvent_RunStarted struct { - state protoimpl.MessageState `protogen:"open.v1"` - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - // the A2A task the run serves; also the id of its answer stream - TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` - // the durable stream ("AST_...") the run's answer is appended to - StreamId string `protobuf:"bytes,3,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` - // the registered agent whose lane the run writes - Lane string `protobuf:"bytes,4,opt,name=lane,proto3" json:"lane,omitempty"` - // the channel the input arrived on: "sms", "whatsapp", "email", "a2a", - // "voice"; empty when the ingress tagged none - Channel string `protobuf:"bytes,5,opt,name=channel,proto3" json:"channel,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentSessionEvent_RunStarted) Reset() { - *x = AgentSessionEvent_RunStarted{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentSessionEvent_RunStarted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentSessionEvent_RunStarted) ProtoMessage() {} - -func (x *AgentSessionEvent_RunStarted) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[36] - 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_RunStarted.ProtoReflect.Descriptor instead. -func (*AgentSessionEvent_RunStarted) Descriptor() ([]byte, []int) { - return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{16, 13} -} - -func (x *AgentSessionEvent_RunStarted) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -func (x *AgentSessionEvent_RunStarted) GetTaskId() string { - if x != nil { - return x.TaskId - } - return "" -} - -func (x *AgentSessionEvent_RunStarted) GetStreamId() string { - if x != nil { - return x.StreamId - } - return "" -} - -func (x *AgentSessionEvent_RunStarted) GetLane() string { - if x != nil { - return x.Lane - } - return "" -} - -func (x *AgentSessionEvent_RunStarted) GetChannel() string { - if x != nil { - return x.Channel - } - return "" -} - -// Written by the framework when a run commits or fails. -type AgentSessionEvent_RunEnded struct { - state protoimpl.MessageState `protogen:"open.v1"` - RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` - Outcome RunOutcome `protobuf:"varint,2,opt,name=outcome,proto3,enum=livekit.agent.RunOutcome" json:"outcome,omitempty"` - // the word from the shared reason list for a failed or cancelled run: - // "worker-lost", "lease-timeout", "session-not-found", - // "storage-unavailable", "timeout"; empty when completed - Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *AgentSessionEvent_RunEnded) Reset() { - *x = AgentSessionEvent_RunEnded{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AgentSessionEvent_RunEnded) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentSessionEvent_RunEnded) ProtoMessage() {} - -func (x *AgentSessionEvent_RunEnded) ProtoReflect() protoreflect.Message { - mi := &file_agent_livekit_agent_session_proto_msgTypes[37] - 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_RunEnded.ProtoReflect.Descriptor instead. -func (*AgentSessionEvent_RunEnded) Descriptor() ([]byte, []int) { - return file_agent_livekit_agent_session_proto_rawDescGZIP(), []int{16, 14} -} - -func (x *AgentSessionEvent_RunEnded) GetRunId() string { - if x != nil { - return x.RunId - } - return "" -} - -func (x *AgentSessionEvent_RunEnded) GetOutcome() RunOutcome { - if x != nil { - return x.Outcome - } - return RunOutcome_RO_COMPLETED -} - -func (x *AgentSessionEvent_RunEnded) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - 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"` @@ -3749,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[38] + mi := &file_agent_livekit_agent_session_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3761,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[38] + mi := &file_agent_livekit_agent_session_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3797,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[39] + mi := &file_agent_livekit_agent_session_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3809,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[39] + mi := &file_agent_livekit_agent_session_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3862,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[40] + mi := &file_agent_livekit_agent_session_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3874,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[40] + mi := &file_agent_livekit_agent_session_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3931,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[41] + mi := &file_agent_livekit_agent_session_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3943,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[41] + mi := &file_agent_livekit_agent_session_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3988,7 +3757,7 @@ type SessionRequest_Ping struct { func (x *SessionRequest_Ping) Reset() { *x = SessionRequest_Ping{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[42] + mi := &file_agent_livekit_agent_session_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4000,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[42] + mi := &file_agent_livekit_agent_session_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4024,7 +3793,7 @@ type SessionRequest_GetChatHistory struct { func (x *SessionRequest_GetChatHistory) Reset() { *x = SessionRequest_GetChatHistory{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[43] + mi := &file_agent_livekit_agent_session_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4036,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[43] + mi := &file_agent_livekit_agent_session_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4061,7 +3830,7 @@ type SessionRequest_RunInput struct { func (x *SessionRequest_RunInput) Reset() { *x = SessionRequest_RunInput{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[44] + mi := &file_agent_livekit_agent_session_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4073,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[44] + mi := &file_agent_livekit_agent_session_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4104,7 +3873,7 @@ type SessionRequest_GetAgentInfo struct { func (x *SessionRequest_GetAgentInfo) Reset() { *x = SessionRequest_GetAgentInfo{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[45] + mi := &file_agent_livekit_agent_session_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4116,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[45] + mi := &file_agent_livekit_agent_session_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4140,7 +3909,7 @@ type SessionRequest_GetSessionState struct { func (x *SessionRequest_GetSessionState) Reset() { *x = SessionRequest_GetSessionState{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[46] + mi := &file_agent_livekit_agent_session_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4152,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[46] + mi := &file_agent_livekit_agent_session_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4176,7 +3945,7 @@ type SessionRequest_GetRTCStats struct { func (x *SessionRequest_GetRTCStats) Reset() { *x = SessionRequest_GetRTCStats{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[47] + mi := &file_agent_livekit_agent_session_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4188,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[47] + mi := &file_agent_livekit_agent_session_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4212,7 +3981,7 @@ type SessionRequest_GetSessionUsage struct { func (x *SessionRequest_GetSessionUsage) Reset() { *x = SessionRequest_GetSessionUsage{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[48] + mi := &file_agent_livekit_agent_session_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4224,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[48] + mi := &file_agent_livekit_agent_session_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4248,7 +4017,7 @@ type SessionRequest_GetFrameworkInfo struct { func (x *SessionRequest_GetFrameworkInfo) Reset() { *x = SessionRequest_GetFrameworkInfo{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[49] + mi := &file_agent_livekit_agent_session_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4260,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[49] + mi := &file_agent_livekit_agent_session_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4286,7 +4055,7 @@ type SessionRequest_UpdateIO struct { func (x *SessionRequest_UpdateIO) Reset() { *x = SessionRequest_UpdateIO{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[50] + mi := &file_agent_livekit_agent_session_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4298,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[50] + mi := &file_agent_livekit_agent_session_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4338,7 +4107,7 @@ type SessionRequest_FinalizeSimulation struct { func (x *SessionRequest_FinalizeSimulation) Reset() { *x = SessionRequest_FinalizeSimulation{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[51] + mi := &file_agent_livekit_agent_session_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4350,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[51] + mi := &file_agent_livekit_agent_session_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4390,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[52] + mi := &file_agent_livekit_agent_session_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4402,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[52] + mi := &file_agent_livekit_agent_session_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4443,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[53] + mi := &file_agent_livekit_agent_session_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4455,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[53] + mi := &file_agent_livekit_agent_session_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4500,7 +4269,7 @@ type SessionResponse_Pong struct { func (x *SessionResponse_Pong) Reset() { *x = SessionResponse_Pong{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[54] + mi := &file_agent_livekit_agent_session_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4512,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[54] + mi := &file_agent_livekit_agent_session_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4537,7 +4306,7 @@ type SessionResponse_GetChatHistoryResponse struct { func (x *SessionResponse_GetChatHistoryResponse) Reset() { *x = SessionResponse_GetChatHistoryResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[55] + mi := &file_agent_livekit_agent_session_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4549,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[55] + mi := &file_agent_livekit_agent_session_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4584,7 +4353,7 @@ type SessionResponse_GetAgentInfoResponse struct { func (x *SessionResponse_GetAgentInfoResponse) Reset() { *x = SessionResponse_GetAgentInfoResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[56] + mi := &file_agent_livekit_agent_session_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4596,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[56] + mi := &file_agent_livekit_agent_session_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4649,7 +4418,7 @@ type SessionResponse_RunInputResponse struct { func (x *SessionResponse_RunInputResponse) Reset() { *x = SessionResponse_RunInputResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[57] + mi := &file_agent_livekit_agent_session_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4661,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[57] + mi := &file_agent_livekit_agent_session_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4697,7 +4466,7 @@ type SessionResponse_GetSessionStateResponse struct { func (x *SessionResponse_GetSessionStateResponse) Reset() { *x = SessionResponse_GetSessionStateResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[58] + mi := &file_agent_livekit_agent_session_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4709,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[58] + mi := &file_agent_livekit_agent_session_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4770,7 +4539,7 @@ type SessionResponse_GetRTCStatsResponse struct { func (x *SessionResponse_GetRTCStatsResponse) Reset() { *x = SessionResponse_GetRTCStatsResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[59] + mi := &file_agent_livekit_agent_session_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4782,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[59] + mi := &file_agent_livekit_agent_session_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4822,7 +4591,7 @@ type SessionResponse_GetSessionUsageResponse struct { func (x *SessionResponse_GetSessionUsageResponse) Reset() { *x = SessionResponse_GetSessionUsageResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[60] + mi := &file_agent_livekit_agent_session_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4834,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[60] + mi := &file_agent_livekit_agent_session_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4874,7 +4643,7 @@ type SessionResponse_GetFrameworkInfoResponse struct { func (x *SessionResponse_GetFrameworkInfoResponse) Reset() { *x = SessionResponse_GetFrameworkInfoResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[61] + mi := &file_agent_livekit_agent_session_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4886,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[61] + mi := &file_agent_livekit_agent_session_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4924,7 +4693,7 @@ type SessionResponse_UpdateIOResponse struct { func (x *SessionResponse_UpdateIOResponse) Reset() { *x = SessionResponse_UpdateIOResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[62] + mi := &file_agent_livekit_agent_session_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4936,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[62] + mi := &file_agent_livekit_agent_session_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4961,7 +4730,7 @@ type SessionResponse_FinalizeSimulationResponse struct { func (x *SessionResponse_FinalizeSimulationResponse) Reset() { *x = SessionResponse_FinalizeSimulationResponse{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[63] + mi := &file_agent_livekit_agent_session_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4973,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[63] + mi := &file_agent_livekit_agent_session_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5006,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[65] + mi := &file_agent_livekit_agent_session_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5018,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[65] + mi := &file_agent_livekit_agent_session_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5056,7 +4825,7 @@ type AgentSessionMessage_ConsoleIO struct { func (x *AgentSessionMessage_ConsoleIO) Reset() { *x = AgentSessionMessage_ConsoleIO{} - mi := &file_agent_livekit_agent_session_proto_msgTypes[66] + mi := &file_agent_livekit_agent_session_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5068,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[66] + mi := &file_agent_livekit_agent_session_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5096,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[67] + mi := &file_agent_livekit_agent_session_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5108,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[67] + mi := &file_agent_livekit_agent_session_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5160,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[68] + mi := &file_agent_livekit_agent_session_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5172,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[68] + mi := &file_agent_livekit_agent_session_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5196,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[69] + mi := &file_agent_livekit_agent_session_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5208,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[69] + mi := &file_agent_livekit_agent_session_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5232,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[70] + mi := &file_agent_livekit_agent_session_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5244,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[70] + mi := &file_agent_livekit_agent_session_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5414,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\"\x8d#\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" + @@ -5432,10 +5201,7 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\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\x12s\n" + - "\x18agent_false_interruption\x18\x17 \x01(\v27.livekit.agent.AgentSessionEvent.AgentFalseInterruptionH\x00R\x16agentFalseInterruption\x12N\n" + - "\vrun_started\x18\x18 \x01(\v2+.livekit.agent.AgentSessionEvent.RunStartedH\x00R\n" + - "runStarted\x12H\n" + - "\trun_ended\x18\x19 \x01(\v2).livekit.agent.AgentSessionEvent.RunEndedH\x00R\brunEnded\x1a\x83\x01\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" + @@ -5505,18 +5271,7 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\tspeech_id\x18\x03 \x01(\tB\v\xbaP\bspeechIDR\bspeechIdB\b\n" + "\x06update\x1a2\n" + "\x16AgentFalseInterruption\x12\x18\n" + - "\aresumed\x18\x01 \x01(\bR\aresumed\x1a\xa9\x01\n" + - "\n" + - "RunStarted\x12\x1f\n" + - "\x06run_id\x18\x01 \x01(\tB\b\xbaP\x05runIDR\x05runId\x12\"\n" + - "\atask_id\x18\x02 \x01(\tB\t\xbaP\x06taskIDR\x06taskId\x12(\n" + - "\tstream_id\x18\x03 \x01(\tB\v\xbaP\bstreamIDR\bstreamId\x12\x12\n" + - "\x04lane\x18\x04 \x01(\tR\x04lane\x12\x18\n" + - "\achannel\x18\x05 \x01(\tR\achannel\x1ax\n" + - "\bRunEnded\x12\x1f\n" + - "\x06run_id\x18\x01 \x01(\tB\b\xbaP\x05runIDR\x05runId\x123\n" + - "\aoutcome\x18\x02 \x01(\x0e2\x19.livekit.agent.RunOutcomeR\aoutcome\x12\x16\n" + - "\x06reason\x18\x03 \x01(\tR\x06reasonB\a\n" + + "\aresumed\x18\x01 \x01(\bR\aresumedB\a\n" + "\x05event\"\x98\r\n" + "\x0eSessionRequest\x12\x1d\n" + "\n" + @@ -5670,12 +5425,7 @@ const file_agent_livekit_agent_session_proto_rawDesc = "" + "\fTR_COMPLETED\x10\x01\x12\x12\n" + "\x0eTR_INTERRUPTED\x10\x02\x12\x0e\n" + "\n" + - "TR_SKIPPED\x10\x03*?\n" + - "\n" + - "RunOutcome\x12\x10\n" + - "\fRO_COMPLETED\x10\x00\x12\r\n" + - "\tRO_FAILED\x10\x01\x12\x10\n" + - "\fRO_CANCELLED\x10\x02*\x86\x01\n" + + "TR_SKIPPED\x10\x03*\x86\x01\n" + "\vAmdCategory\x12\x0f\n" + "\vAMD_UNKNOWN\x10\x00\x12\r\n" + "\tAMD_HUMAN\x10\x01\x12\x13\n" + @@ -5696,204 +5446,198 @@ func file_agent_livekit_agent_session_proto_rawDescGZIP() []byte { return file_agent_livekit_agent_session_proto_rawDescData } -var file_agent_livekit_agent_session_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_agent_livekit_agent_session_proto_msgTypes = make([]protoimpl.MessageInfo, 71) +var file_agent_livekit_agent_session_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +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 (UserState)(0), // 2: livekit.agent.UserState (ToolCallStatus)(0), // 3: livekit.agent.ToolCallStatus (ToolReplyStatus)(0), // 4: livekit.agent.ToolReplyStatus - (RunOutcome)(0), // 5: livekit.agent.RunOutcome - (AmdCategory)(0), // 6: livekit.agent.AmdCategory - (*MetricsReport)(nil), // 7: livekit.agent.MetricsReport - (*TimedString)(nil), // 8: livekit.agent.TimedString - (*ChatMessage)(nil), // 9: livekit.agent.ChatMessage - (*FunctionCall)(nil), // 10: livekit.agent.FunctionCall - (*FunctionCallOutput)(nil), // 11: livekit.agent.FunctionCallOutput - (*AgentHandoff)(nil), // 12: livekit.agent.AgentHandoff - (*AgentConfigUpdate)(nil), // 13: livekit.agent.AgentConfigUpdate - (*ChatContext)(nil), // 14: livekit.agent.ChatContext - (*LLMModelUsage)(nil), // 15: livekit.agent.LLMModelUsage - (*TTSModelUsage)(nil), // 16: livekit.agent.TTSModelUsage - (*STTModelUsage)(nil), // 17: livekit.agent.STTModelUsage - (*InterruptionModelUsage)(nil), // 18: livekit.agent.InterruptionModelUsage - (*EotModelUsage)(nil), // 19: livekit.agent.EotModelUsage - (*ModelUsage)(nil), // 20: livekit.agent.ModelUsage - (*AgentSessionUsage)(nil), // 21: livekit.agent.AgentSessionUsage - (*DebugMessage)(nil), // 22: livekit.agent.DebugMessage - (*AgentSessionEvent)(nil), // 23: livekit.agent.AgentSessionEvent - (*SessionRequest)(nil), // 24: livekit.agent.SessionRequest - (*SessionResponse)(nil), // 25: livekit.agent.SessionResponse - (*AgentSessionMessage)(nil), // 26: livekit.agent.AgentSessionMessage - (*ChatMessage_ChatContent)(nil), // 27: livekit.agent.ChatMessage.ChatContent - nil, // 28: livekit.agent.ChatMessage.ExtraEntry - (*ChatContext_ChatItem)(nil), // 29: livekit.agent.ChatContext.ChatItem - (*AgentSessionEvent_AgentStateChanged)(nil), // 30: livekit.agent.AgentSessionEvent.AgentStateChanged - (*AgentSessionEvent_UserStateChanged)(nil), // 31: livekit.agent.AgentSessionEvent.UserStateChanged - (*AgentSessionEvent_ConversationItemAdded)(nil), // 32: livekit.agent.AgentSessionEvent.ConversationItemAdded - (*AgentSessionEvent_UserInputTranscribed)(nil), // 33: livekit.agent.AgentSessionEvent.UserInputTranscribed - (*AgentSessionEvent_FunctionToolsStarted)(nil), // 34: livekit.agent.AgentSessionEvent.FunctionToolsStarted - (*AgentSessionEvent_FunctionToolsExecuted)(nil), // 35: livekit.agent.AgentSessionEvent.FunctionToolsExecuted - (*AgentSessionEvent_Error)(nil), // 36: livekit.agent.AgentSessionEvent.Error - (*AgentSessionEvent_OverlappingSpeech)(nil), // 37: livekit.agent.AgentSessionEvent.OverlappingSpeech - (*AgentSessionEvent_AmdPrediction)(nil), // 38: livekit.agent.AgentSessionEvent.AmdPrediction - (*AgentSessionEvent_EotPrediction)(nil), // 39: livekit.agent.AgentSessionEvent.EotPrediction - (*AgentSessionEvent_SessionUsageUpdated)(nil), // 40: livekit.agent.AgentSessionEvent.SessionUsageUpdated - (*AgentSessionEvent_ToolExecutionUpdated)(nil), // 41: livekit.agent.AgentSessionEvent.ToolExecutionUpdated - (*AgentSessionEvent_AgentFalseInterruption)(nil), // 42: livekit.agent.AgentSessionEvent.AgentFalseInterruption - (*AgentSessionEvent_RunStarted)(nil), // 43: livekit.agent.AgentSessionEvent.RunStarted - (*AgentSessionEvent_RunEnded)(nil), // 44: livekit.agent.AgentSessionEvent.RunEnded - (*AgentSessionEvent_ToolExecutionUpdated_Started)(nil), // 45: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started - (*AgentSessionEvent_ToolExecutionUpdated_CallUpdated)(nil), // 46: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated - (*AgentSessionEvent_ToolExecutionUpdated_Ended)(nil), // 47: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended - (*AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated)(nil), // 48: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated - (*SessionRequest_Ping)(nil), // 49: livekit.agent.SessionRequest.Ping - (*SessionRequest_GetChatHistory)(nil), // 50: livekit.agent.SessionRequest.GetChatHistory - (*SessionRequest_RunInput)(nil), // 51: livekit.agent.SessionRequest.RunInput - (*SessionRequest_GetAgentInfo)(nil), // 52: livekit.agent.SessionRequest.GetAgentInfo - (*SessionRequest_GetSessionState)(nil), // 53: livekit.agent.SessionRequest.GetSessionState - (*SessionRequest_GetRTCStats)(nil), // 54: livekit.agent.SessionRequest.GetRTCStats - (*SessionRequest_GetSessionUsage)(nil), // 55: livekit.agent.SessionRequest.GetSessionUsage - (*SessionRequest_GetFrameworkInfo)(nil), // 56: livekit.agent.SessionRequest.GetFrameworkInfo - (*SessionRequest_UpdateIO)(nil), // 57: livekit.agent.SessionRequest.UpdateIO - (*SessionRequest_FinalizeSimulation)(nil), // 58: livekit.agent.SessionRequest.FinalizeSimulation - (*SessionRequest_UpdateIO_Input)(nil), // 59: livekit.agent.SessionRequest.UpdateIO.Input - (*SessionRequest_UpdateIO_Output)(nil), // 60: livekit.agent.SessionRequest.UpdateIO.Output - (*SessionResponse_Pong)(nil), // 61: livekit.agent.SessionResponse.Pong - (*SessionResponse_GetChatHistoryResponse)(nil), // 62: livekit.agent.SessionResponse.GetChatHistoryResponse - (*SessionResponse_GetAgentInfoResponse)(nil), // 63: livekit.agent.SessionResponse.GetAgentInfoResponse - (*SessionResponse_RunInputResponse)(nil), // 64: livekit.agent.SessionResponse.RunInputResponse - (*SessionResponse_GetSessionStateResponse)(nil), // 65: livekit.agent.SessionResponse.GetSessionStateResponse - (*SessionResponse_GetRTCStatsResponse)(nil), // 66: livekit.agent.SessionResponse.GetRTCStatsResponse - (*SessionResponse_GetSessionUsageResponse)(nil), // 67: livekit.agent.SessionResponse.GetSessionUsageResponse - (*SessionResponse_GetFrameworkInfoResponse)(nil), // 68: livekit.agent.SessionResponse.GetFrameworkInfoResponse - (*SessionResponse_UpdateIOResponse)(nil), // 69: livekit.agent.SessionResponse.UpdateIOResponse - (*SessionResponse_FinalizeSimulationResponse)(nil), // 70: livekit.agent.SessionResponse.FinalizeSimulationResponse - nil, // 71: livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry - (*SessionResponse_FinalizeSimulationResponse_SimulationVerdict)(nil), // 72: livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict - (*AgentSessionMessage_ConsoleIO)(nil), // 73: livekit.agent.AgentSessionMessage.ConsoleIO - (*AgentSessionMessage_ConsoleIO_AudioFrame)(nil), // 74: livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame - (*AgentSessionMessage_ConsoleIO_AudioPlaybackFlush)(nil), // 75: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush - (*AgentSessionMessage_ConsoleIO_AudioPlaybackClear)(nil), // 76: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear - (*AgentSessionMessage_ConsoleIO_AudioPlaybackFinished)(nil), // 77: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished - (*timestamppb.Timestamp)(nil), // 78: google.protobuf.Timestamp - (*structpb.Struct)(nil), // 79: google.protobuf.Struct - (*durationpb.Duration)(nil), // 80: google.protobuf.Duration + (AmdCategory)(0), // 5: livekit.agent.AmdCategory + (*MetricsReport)(nil), // 6: livekit.agent.MetricsReport + (*TimedString)(nil), // 7: livekit.agent.TimedString + (*ChatMessage)(nil), // 8: livekit.agent.ChatMessage + (*FunctionCall)(nil), // 9: livekit.agent.FunctionCall + (*FunctionCallOutput)(nil), // 10: livekit.agent.FunctionCallOutput + (*AgentHandoff)(nil), // 11: livekit.agent.AgentHandoff + (*AgentConfigUpdate)(nil), // 12: livekit.agent.AgentConfigUpdate + (*ChatContext)(nil), // 13: livekit.agent.ChatContext + (*LLMModelUsage)(nil), // 14: livekit.agent.LLMModelUsage + (*TTSModelUsage)(nil), // 15: livekit.agent.TTSModelUsage + (*STTModelUsage)(nil), // 16: livekit.agent.STTModelUsage + (*InterruptionModelUsage)(nil), // 17: livekit.agent.InterruptionModelUsage + (*EotModelUsage)(nil), // 18: livekit.agent.EotModelUsage + (*ModelUsage)(nil), // 19: livekit.agent.ModelUsage + (*AgentSessionUsage)(nil), // 20: livekit.agent.AgentSessionUsage + (*DebugMessage)(nil), // 21: livekit.agent.DebugMessage + (*AgentSessionEvent)(nil), // 22: livekit.agent.AgentSessionEvent + (*SessionRequest)(nil), // 23: livekit.agent.SessionRequest + (*SessionResponse)(nil), // 24: livekit.agent.SessionResponse + (*AgentSessionMessage)(nil), // 25: livekit.agent.AgentSessionMessage + (*ChatMessage_ChatContent)(nil), // 26: livekit.agent.ChatMessage.ChatContent + nil, // 27: livekit.agent.ChatMessage.ExtraEntry + (*ChatContext_ChatItem)(nil), // 28: livekit.agent.ChatContext.ChatItem + (*AgentSessionEvent_AgentStateChanged)(nil), // 29: livekit.agent.AgentSessionEvent.AgentStateChanged + (*AgentSessionEvent_UserStateChanged)(nil), // 30: livekit.agent.AgentSessionEvent.UserStateChanged + (*AgentSessionEvent_ConversationItemAdded)(nil), // 31: livekit.agent.AgentSessionEvent.ConversationItemAdded + (*AgentSessionEvent_UserInputTranscribed)(nil), // 32: livekit.agent.AgentSessionEvent.UserInputTranscribed + (*AgentSessionEvent_FunctionToolsStarted)(nil), // 33: livekit.agent.AgentSessionEvent.FunctionToolsStarted + (*AgentSessionEvent_FunctionToolsExecuted)(nil), // 34: livekit.agent.AgentSessionEvent.FunctionToolsExecuted + (*AgentSessionEvent_Error)(nil), // 35: livekit.agent.AgentSessionEvent.Error + (*AgentSessionEvent_OverlappingSpeech)(nil), // 36: livekit.agent.AgentSessionEvent.OverlappingSpeech + (*AgentSessionEvent_AmdPrediction)(nil), // 37: livekit.agent.AgentSessionEvent.AmdPrediction + (*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_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{ - 78, // 0: livekit.agent.MetricsReport.started_speaking_at:type_name -> google.protobuf.Timestamp - 78, // 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 - 27, // 3: livekit.agent.ChatMessage.content:type_name -> livekit.agent.ChatMessage.ChatContent - 28, // 4: livekit.agent.ChatMessage.extra:type_name -> livekit.agent.ChatMessage.ExtraEntry - 7, // 5: livekit.agent.ChatMessage.metrics:type_name -> livekit.agent.MetricsReport - 78, // 6: livekit.agent.ChatMessage.created_at:type_name -> google.protobuf.Timestamp - 78, // 7: livekit.agent.FunctionCall.created_at:type_name -> google.protobuf.Timestamp - 78, // 8: livekit.agent.FunctionCallOutput.created_at:type_name -> google.protobuf.Timestamp - 78, // 9: livekit.agent.AgentHandoff.created_at:type_name -> google.protobuf.Timestamp - 78, // 10: livekit.agent.AgentConfigUpdate.created_at:type_name -> google.protobuf.Timestamp - 29, // 11: livekit.agent.ChatContext.items:type_name -> livekit.agent.ChatContext.ChatItem - 15, // 12: livekit.agent.ModelUsage.llm:type_name -> livekit.agent.LLMModelUsage - 16, // 13: livekit.agent.ModelUsage.tts:type_name -> livekit.agent.TTSModelUsage - 17, // 14: livekit.agent.ModelUsage.stt:type_name -> livekit.agent.STTModelUsage - 18, // 15: livekit.agent.ModelUsage.interruption:type_name -> livekit.agent.InterruptionModelUsage - 19, // 16: livekit.agent.ModelUsage.eot:type_name -> livekit.agent.EotModelUsage - 20, // 17: livekit.agent.AgentSessionUsage.model_usage:type_name -> livekit.agent.ModelUsage - 79, // 18: livekit.agent.DebugMessage.payload:type_name -> google.protobuf.Struct - 78, // 19: livekit.agent.AgentSessionEvent.created_at:type_name -> google.protobuf.Timestamp - 30, // 20: livekit.agent.AgentSessionEvent.agent_state_changed:type_name -> livekit.agent.AgentSessionEvent.AgentStateChanged - 31, // 21: livekit.agent.AgentSessionEvent.user_state_changed:type_name -> livekit.agent.AgentSessionEvent.UserStateChanged - 32, // 22: livekit.agent.AgentSessionEvent.conversation_item_added:type_name -> livekit.agent.AgentSessionEvent.ConversationItemAdded - 33, // 23: livekit.agent.AgentSessionEvent.user_input_transcribed:type_name -> livekit.agent.AgentSessionEvent.UserInputTranscribed - 35, // 24: livekit.agent.AgentSessionEvent.function_tools_executed:type_name -> livekit.agent.AgentSessionEvent.FunctionToolsExecuted - 36, // 25: livekit.agent.AgentSessionEvent.error:type_name -> livekit.agent.AgentSessionEvent.Error - 37, // 26: livekit.agent.AgentSessionEvent.overlapping_speech:type_name -> livekit.agent.AgentSessionEvent.OverlappingSpeech - 40, // 27: livekit.agent.AgentSessionEvent.session_usage_updated:type_name -> livekit.agent.AgentSessionEvent.SessionUsageUpdated - 38, // 28: livekit.agent.AgentSessionEvent.amd_prediction:type_name -> livekit.agent.AgentSessionEvent.AmdPrediction - 39, // 29: livekit.agent.AgentSessionEvent.eot_prediction:type_name -> livekit.agent.AgentSessionEvent.EotPrediction - 34, // 30: livekit.agent.AgentSessionEvent.function_tools_started:type_name -> livekit.agent.AgentSessionEvent.FunctionToolsStarted - 22, // 31: livekit.agent.AgentSessionEvent.debug_message:type_name -> livekit.agent.DebugMessage - 41, // 32: livekit.agent.AgentSessionEvent.tool_execution_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated - 42, // 33: livekit.agent.AgentSessionEvent.agent_false_interruption:type_name -> livekit.agent.AgentSessionEvent.AgentFalseInterruption - 43, // 34: livekit.agent.AgentSessionEvent.run_started:type_name -> livekit.agent.AgentSessionEvent.RunStarted - 44, // 35: livekit.agent.AgentSessionEvent.run_ended:type_name -> livekit.agent.AgentSessionEvent.RunEnded - 49, // 36: livekit.agent.SessionRequest.ping:type_name -> livekit.agent.SessionRequest.Ping - 50, // 37: livekit.agent.SessionRequest.get_chat_history:type_name -> livekit.agent.SessionRequest.GetChatHistory - 51, // 38: livekit.agent.SessionRequest.run_input:type_name -> livekit.agent.SessionRequest.RunInput - 52, // 39: livekit.agent.SessionRequest.get_agent_info:type_name -> livekit.agent.SessionRequest.GetAgentInfo - 53, // 40: livekit.agent.SessionRequest.get_session_state:type_name -> livekit.agent.SessionRequest.GetSessionState - 54, // 41: livekit.agent.SessionRequest.get_rtc_stats:type_name -> livekit.agent.SessionRequest.GetRTCStats - 55, // 42: livekit.agent.SessionRequest.get_session_usage:type_name -> livekit.agent.SessionRequest.GetSessionUsage - 56, // 43: livekit.agent.SessionRequest.get_framework_info:type_name -> livekit.agent.SessionRequest.GetFrameworkInfo - 57, // 44: livekit.agent.SessionRequest.update_io:type_name -> livekit.agent.SessionRequest.UpdateIO - 58, // 45: livekit.agent.SessionRequest.finalize_simulation:type_name -> livekit.agent.SessionRequest.FinalizeSimulation - 61, // 46: livekit.agent.SessionResponse.pong:type_name -> livekit.agent.SessionResponse.Pong - 62, // 47: livekit.agent.SessionResponse.get_chat_history:type_name -> livekit.agent.SessionResponse.GetChatHistoryResponse - 64, // 48: livekit.agent.SessionResponse.run_input:type_name -> livekit.agent.SessionResponse.RunInputResponse - 63, // 49: livekit.agent.SessionResponse.get_agent_info:type_name -> livekit.agent.SessionResponse.GetAgentInfoResponse - 65, // 50: livekit.agent.SessionResponse.get_session_state:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse - 66, // 51: livekit.agent.SessionResponse.get_rtc_stats:type_name -> livekit.agent.SessionResponse.GetRTCStatsResponse - 67, // 52: livekit.agent.SessionResponse.get_session_usage:type_name -> livekit.agent.SessionResponse.GetSessionUsageResponse - 68, // 53: livekit.agent.SessionResponse.get_framework_info:type_name -> livekit.agent.SessionResponse.GetFrameworkInfoResponse - 69, // 54: livekit.agent.SessionResponse.update_io:type_name -> livekit.agent.SessionResponse.UpdateIOResponse - 70, // 55: livekit.agent.SessionResponse.finalize_simulation:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse - 74, // 56: livekit.agent.AgentSessionMessage.audio_input:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame - 74, // 57: livekit.agent.AgentSessionMessage.audio_output:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame - 23, // 58: livekit.agent.AgentSessionMessage.event:type_name -> livekit.agent.AgentSessionEvent - 24, // 59: livekit.agent.AgentSessionMessage.request:type_name -> livekit.agent.SessionRequest - 25, // 60: livekit.agent.AgentSessionMessage.response:type_name -> livekit.agent.SessionResponse - 75, // 61: livekit.agent.AgentSessionMessage.audio_playback_flush:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush - 76, // 62: livekit.agent.AgentSessionMessage.audio_playback_clear:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear - 77, // 63: livekit.agent.AgentSessionMessage.audio_playback_finished:type_name -> livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished - 9, // 64: livekit.agent.ChatContext.ChatItem.message:type_name -> livekit.agent.ChatMessage - 10, // 65: livekit.agent.ChatContext.ChatItem.function_call:type_name -> livekit.agent.FunctionCall - 11, // 66: livekit.agent.ChatContext.ChatItem.function_call_output:type_name -> livekit.agent.FunctionCallOutput - 12, // 67: livekit.agent.ChatContext.ChatItem.agent_handoff:type_name -> livekit.agent.AgentHandoff - 13, // 68: livekit.agent.ChatContext.ChatItem.agent_config_update:type_name -> livekit.agent.AgentConfigUpdate - 1, // 69: livekit.agent.AgentSessionEvent.AgentStateChanged.old_state:type_name -> livekit.agent.AgentState - 1, // 70: livekit.agent.AgentSessionEvent.AgentStateChanged.new_state:type_name -> livekit.agent.AgentState - 2, // 71: livekit.agent.AgentSessionEvent.UserStateChanged.old_state:type_name -> livekit.agent.UserState - 2, // 72: livekit.agent.AgentSessionEvent.UserStateChanged.new_state:type_name -> livekit.agent.UserState - 29, // 73: livekit.agent.AgentSessionEvent.ConversationItemAdded.item:type_name -> livekit.agent.ChatContext.ChatItem - 10, // 74: livekit.agent.AgentSessionEvent.FunctionToolsStarted.function_calls:type_name -> livekit.agent.FunctionCall - 10, // 75: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_calls:type_name -> livekit.agent.FunctionCall - 11, // 76: livekit.agent.AgentSessionEvent.FunctionToolsExecuted.function_call_outputs:type_name -> livekit.agent.FunctionCallOutput - 78, // 77: livekit.agent.AgentSessionEvent.OverlappingSpeech.overlap_started_at:type_name -> google.protobuf.Timestamp - 78, // 78: livekit.agent.AgentSessionEvent.OverlappingSpeech.detected_at:type_name -> google.protobuf.Timestamp - 80, // 79: livekit.agent.AgentSessionEvent.AmdPrediction.speech_duration:type_name -> google.protobuf.Duration - 6, // 80: livekit.agent.AgentSessionEvent.AmdPrediction.category:type_name -> livekit.agent.AmdCategory - 80, // 81: livekit.agent.AgentSessionEvent.AmdPrediction.delay:type_name -> google.protobuf.Duration - 80, // 82: livekit.agent.AgentSessionEvent.EotPrediction.inference_duration:type_name -> google.protobuf.Duration - 80, // 83: livekit.agent.AgentSessionEvent.EotPrediction.delay:type_name -> google.protobuf.Duration - 21, // 84: livekit.agent.AgentSessionEvent.SessionUsageUpdated.usage:type_name -> livekit.agent.AgentSessionUsage - 45, // 85: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.started:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started - 46, // 86: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.call_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated - 48, // 87: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.reply_updated:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated - 47, // 88: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ended:type_name -> livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended - 5, // 89: livekit.agent.AgentSessionEvent.RunEnded.outcome:type_name -> livekit.agent.RunOutcome - 10, // 90: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started.function_call:type_name -> livekit.agent.FunctionCall - 3, // 91: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended.status:type_name -> livekit.agent.ToolCallStatus - 4, // 92: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated.status:type_name -> livekit.agent.ToolReplyStatus - 59, // 93: livekit.agent.SessionRequest.UpdateIO.input:type_name -> livekit.agent.SessionRequest.UpdateIO.Input - 60, // 94: livekit.agent.SessionRequest.UpdateIO.output:type_name -> livekit.agent.SessionRequest.UpdateIO.Output - 29, // 95: livekit.agent.SessionResponse.GetChatHistoryResponse.items:type_name -> livekit.agent.ChatContext.ChatItem - 29, // 96: livekit.agent.SessionResponse.GetAgentInfoResponse.chat_ctx:type_name -> livekit.agent.ChatContext.ChatItem - 29, // 97: livekit.agent.SessionResponse.RunInputResponse.items:type_name -> livekit.agent.ChatContext.ChatItem - 1, // 98: livekit.agent.SessionResponse.GetSessionStateResponse.agent_state:type_name -> livekit.agent.AgentState - 2, // 99: livekit.agent.SessionResponse.GetSessionStateResponse.user_state:type_name -> livekit.agent.UserState - 71, // 100: livekit.agent.SessionResponse.GetSessionStateResponse.options:type_name -> livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry - 78, // 101: livekit.agent.SessionResponse.GetSessionStateResponse.created_at:type_name -> google.protobuf.Timestamp - 79, // 102: livekit.agent.SessionResponse.GetRTCStatsResponse.publisher_stats:type_name -> google.protobuf.Struct - 79, // 103: livekit.agent.SessionResponse.GetRTCStatsResponse.subscriber_stats:type_name -> google.protobuf.Struct - 21, // 104: livekit.agent.SessionResponse.GetSessionUsageResponse.usage:type_name -> livekit.agent.AgentSessionUsage - 78, // 105: livekit.agent.SessionResponse.GetSessionUsageResponse.created_at:type_name -> google.protobuf.Timestamp - 72, // 106: livekit.agent.SessionResponse.FinalizeSimulationResponse.user_verdict:type_name -> livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict - 107, // [107:107] is the sub-list for method output_type - 107, // [107:107] is the sub-list for method input_type - 107, // [107:107] is the sub-list for extension type_name - 107, // [107:107] is the sub-list for extension extendee - 0, // [0:107] is the sub-list for field type_name + 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 + 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 + 16, // 14: livekit.agent.ModelUsage.stt:type_name -> livekit.agent.STTModelUsage + 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 + 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 + 32, // 23: livekit.agent.AgentSessionEvent.user_input_transcribed:type_name -> livekit.agent.AgentSessionEvent.UserInputTranscribed + 34, // 24: livekit.agent.AgentSessionEvent.function_tools_executed:type_name -> livekit.agent.AgentSessionEvent.FunctionToolsExecuted + 35, // 25: livekit.agent.AgentSessionEvent.error:type_name -> livekit.agent.AgentSessionEvent.Error + 36, // 26: livekit.agent.AgentSessionEvent.overlapping_speech:type_name -> livekit.agent.AgentSessionEvent.OverlappingSpeech + 39, // 27: livekit.agent.AgentSessionEvent.session_usage_updated:type_name -> livekit.agent.AgentSessionEvent.SessionUsageUpdated + 37, // 28: livekit.agent.AgentSessionEvent.amd_prediction:type_name -> livekit.agent.AgentSessionEvent.AmdPrediction + 38, // 29: livekit.agent.AgentSessionEvent.eot_prediction:type_name -> livekit.agent.AgentSessionEvent.EotPrediction + 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 + 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() } @@ -5928,8 +5672,6 @@ func file_agent_livekit_agent_session_proto_init() { (*AgentSessionEvent_DebugMessage)(nil), (*AgentSessionEvent_ToolExecutionUpdated_)(nil), (*AgentSessionEvent_AgentFalseInterruption_)(nil), - (*AgentSessionEvent_RunStarted_)(nil), - (*AgentSessionEvent_RunEnded_)(nil), } file_agent_livekit_agent_session_proto_msgTypes[17].OneofWrappers = []any{ (*SessionRequest_Ping_)(nil), @@ -5983,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[40].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[52].OneofWrappers = []any{} - file_agent_livekit_agent_session_proto_msgTypes[53].OneofWrappers = []any{} - file_agent_livekit_agent_session_proto_msgTypes[56].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: 7, - NumMessages: 71, + NumEnums: 6, + NumMessages: 69, NumExtensions: 0, NumServices: 0, }, diff --git a/protobufs/agent/livekit_agent_session.proto b/protobufs/agent/livekit_agent_session.proto index e8bd011db..844e4e1af 100644 --- a/protobufs/agent/livekit_agent_session.proto +++ b/protobufs/agent/livekit_agent_session.proto @@ -130,15 +130,6 @@ enum ToolReplyStatus { TR_SKIPPED = 3; } -// How a run ended. A run is one input to one result, tools included, on -// any channel: a text message, a voice turn, a background task. -enum RunOutcome { - RO_COMPLETED = 0; - RO_FAILED = 1; - // the run yielded to a newer message or was cancelled by the caller - RO_CANCELLED = 2; -} - enum AmdCategory { AMD_UNKNOWN = 0; AMD_HUMAN = 1; @@ -319,31 +310,6 @@ message AgentSessionEvent { bool resumed = 1; } - // Written by the framework when a run begins, before any application code - // runs. A RunStarted with no matching RunEnded is an interrupted run. - message RunStarted { - string run_id = 1 [(logger.name) = "runID"]; - // the A2A task the run serves; also the id of its answer stream - string task_id = 2 [(logger.name) = "taskID"]; - // the durable stream ("AST_...") the run's answer is appended to - string stream_id = 3 [(logger.name) = "streamID"]; - // the registered agent whose lane the run writes - string lane = 4; - // the channel the input arrived on: "sms", "whatsapp", "email", "a2a", - // "voice"; empty when the ingress tagged none - string channel = 5; - } - - // Written by the framework when a run commits or fails. - message RunEnded { - string run_id = 1 [(logger.name) = "runID"]; - RunOutcome outcome = 2; - // the word from the shared reason list for a failed or cancelled run: - // "worker-lost", "lease-timeout", "session-not-found", - // "storage-unavailable", "timeout"; empty when completed - string reason = 3; - } - google.protobuf.Timestamp created_at = 1; oneof event { AgentStateChanged agent_state_changed = 10; @@ -360,8 +326,6 @@ message AgentSessionEvent { DebugMessage debug_message = 21; ToolExecutionUpdated tool_execution_updated = 22; AgentFalseInterruption agent_false_interruption = 23; - RunStarted run_started = 24; - RunEnded run_ended = 25; } } From 7329238fe5a98ab86932578f198c187c003454b9 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2026 04:23:29 +0000 Subject: [PATCH 10/12] generated protobuf --- infra/link.pb.go | 2 +- infra/link_grpc.pb.go | 2 +- livekit/agent/livekit_agent_dev.pb.go | 2 +- livekit/agent/livekit_agent_inference.pb.go | 2 +- livekit/agent/livekit_agent_session.pb.go | 2 +- livekit/agent/livekit_agent_thread.pb.go | 2 +- livekit/cloud_replay.pb.go | 2 +- livekit/livekit_agent.pb.go | 2 +- livekit/livekit_agent_dispatch.pb.go | 2 +- livekit/livekit_agent_simulation.pb.go | 2 +- livekit/livekit_agent_worker.pb.go | 2 +- livekit/livekit_agentdb.pb.go | 2 +- livekit/livekit_analytics.pb.go | 2 +- livekit/livekit_cloud_agent.pb.go | 2 +- livekit/livekit_connector.pb.go | 2 +- livekit/livekit_connector_twilio.pb.go | 2 +- livekit/livekit_connector_whatsapp.pb.go | 2 +- livekit/livekit_egress.pb.go | 2 +- livekit/livekit_ingress.pb.go | 2 +- livekit/livekit_internal.pb.go | 2 +- livekit/livekit_metrics.pb.go | 2 +- livekit/livekit_models.pb.go | 2 +- livekit/livekit_phone_number.pb.go | 2 +- livekit/livekit_room.pb.go | 2 +- livekit/livekit_rtc.pb.go | 2 +- livekit/livekit_sip.pb.go | 2 +- livekit/livekit_token_source.pb.go | 2 +- livekit/livekit_webhook.pb.go | 2 +- livekit/logger/options.pb.go | 2 +- livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go | 2 +- rpc/agent.pb.go | 2 +- rpc/agent_dispatch.pb.go | 2 +- rpc/analytics.pb.go | 2 +- rpc/analytics_grpc.pb.go | 2 +- rpc/egress.pb.go | 2 +- rpc/ingress.pb.go | 2 +- rpc/io.pb.go | 2 +- rpc/keepalive.pb.go | 2 +- rpc/participant.pb.go | 2 +- rpc/room.pb.go | 2 +- rpc/roommanager.pb.go | 2 +- rpc/signal.pb.go | 2 +- rpc/sip.pb.go | 2 +- rpc/whip_signal.pb.go | 2 +- 44 files changed, 44 insertions(+), 44 deletions(-) diff --git a/infra/link.pb.go b/infra/link.pb.go index 4163d3784..97745edcd 100644 --- a/infra/link.pb.go +++ b/infra/link.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: infra/link.proto package infra diff --git a/infra/link_grpc.pb.go b/infra/link_grpc.pb.go index d4039c4c1..8cc2e120a 100644 --- a/infra/link_grpc.pb.go +++ b/infra/link_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.36.2 +// - protoc v7.35.1 // source: infra/link.proto package infra diff --git a/livekit/agent/livekit_agent_dev.pb.go b/livekit/agent/livekit_agent_dev.pb.go index 8dc992d2b..9b3f92317 100644 --- a/livekit/agent/livekit_agent_dev.pb.go +++ b/livekit/agent/livekit_agent_dev.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_dev.proto package agent diff --git a/livekit/agent/livekit_agent_inference.pb.go b/livekit/agent/livekit_agent_inference.pb.go index 5650964b8..b14c54fd8 100644 --- a/livekit/agent/livekit_agent_inference.pb.go +++ b/livekit/agent/livekit_agent_inference.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_inference.proto package agent diff --git a/livekit/agent/livekit_agent_session.pb.go b/livekit/agent/livekit_agent_session.pb.go index 7fe1a687b..9b0eac540 100644 --- a/livekit/agent/livekit_agent_session.pb.go +++ b/livekit/agent/livekit_agent_session.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_session.proto package agent diff --git a/livekit/agent/livekit_agent_thread.pb.go b/livekit/agent/livekit_agent_thread.pb.go index 7dd037c34..847e128b0 100644 --- a/livekit/agent/livekit_agent_thread.pb.go +++ b/livekit/agent/livekit_agent_thread.pb.go @@ -21,7 +21,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: agent/livekit_agent_thread.proto package agent diff --git a/livekit/cloud_replay.pb.go b/livekit/cloud_replay.pb.go index a6e3e464d..12e72de7a 100644 --- a/livekit/cloud_replay.pb.go +++ b/livekit/cloud_replay.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: cloud_replay.proto package livekit diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 235646430..1368b877b 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent.proto package livekit diff --git a/livekit/livekit_agent_dispatch.pb.go b/livekit/livekit_agent_dispatch.pb.go index f8a21a4c0..c08d0141f 100644 --- a/livekit/livekit_agent_dispatch.pb.go +++ b/livekit/livekit_agent_dispatch.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent_dispatch.proto package livekit diff --git a/livekit/livekit_agent_simulation.pb.go b/livekit/livekit_agent_simulation.pb.go index 52d5440cc..adbe4da5e 100644 --- a/livekit/livekit_agent_simulation.pb.go +++ b/livekit/livekit_agent_simulation.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent_simulation.proto package livekit diff --git a/livekit/livekit_agent_worker.pb.go b/livekit/livekit_agent_worker.pb.go index 9858a2a3b..97b9ddc2e 100644 --- a/livekit/livekit_agent_worker.pb.go +++ b/livekit/livekit_agent_worker.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent_worker.proto package livekit diff --git a/livekit/livekit_agentdb.pb.go b/livekit/livekit_agentdb.pb.go index 88a3bc423..32b41791d 100644 --- a/livekit/livekit_agentdb.pb.go +++ b/livekit/livekit_agentdb.pb.go @@ -19,7 +19,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agentdb.proto package livekit diff --git a/livekit/livekit_analytics.pb.go b/livekit/livekit_analytics.pb.go index 984c2cdf3..e7dc1d8f6 100644 --- a/livekit/livekit_analytics.pb.go +++ b/livekit/livekit_analytics.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_analytics.proto package livekit diff --git a/livekit/livekit_cloud_agent.pb.go b/livekit/livekit_cloud_agent.pb.go index d813ceadd..2f049e67e 100644 --- a/livekit/livekit_cloud_agent.pb.go +++ b/livekit/livekit_cloud_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_cloud_agent.proto package livekit diff --git a/livekit/livekit_connector.pb.go b/livekit/livekit_connector.pb.go index 5bcfb3128..d44083615 100644 --- a/livekit/livekit_connector.pb.go +++ b/livekit/livekit_connector.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_connector.proto package livekit diff --git a/livekit/livekit_connector_twilio.pb.go b/livekit/livekit_connector_twilio.pb.go index b158433e2..b0cb87c83 100644 --- a/livekit/livekit_connector_twilio.pb.go +++ b/livekit/livekit_connector_twilio.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_connector_twilio.proto package livekit diff --git a/livekit/livekit_connector_whatsapp.pb.go b/livekit/livekit_connector_whatsapp.pb.go index 201c354d0..f99fd95bf 100644 --- a/livekit/livekit_connector_whatsapp.pb.go +++ b/livekit/livekit_connector_whatsapp.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_connector_whatsapp.proto package livekit diff --git a/livekit/livekit_egress.pb.go b/livekit/livekit_egress.pb.go index 51dc5a666..77c5121c7 100644 --- a/livekit/livekit_egress.pb.go +++ b/livekit/livekit_egress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_egress.proto package livekit diff --git a/livekit/livekit_ingress.pb.go b/livekit/livekit_ingress.pb.go index 0ed91f61f..b05701fcf 100644 --- a/livekit/livekit_ingress.pb.go +++ b/livekit/livekit_ingress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_ingress.proto package livekit diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index 6019c7f1e..ce2509afa 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_internal.proto package livekit diff --git a/livekit/livekit_metrics.pb.go b/livekit/livekit_metrics.pb.go index c9c58c536..b57b0d139 100644 --- a/livekit/livekit_metrics.pb.go +++ b/livekit/livekit_metrics.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_metrics.proto package livekit diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index 7f43c5f4f..b9f1e03b9 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_models.proto package livekit diff --git a/livekit/livekit_phone_number.pb.go b/livekit/livekit_phone_number.pb.go index 5df45031c..ae973e57c 100644 --- a/livekit/livekit_phone_number.pb.go +++ b/livekit/livekit_phone_number.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_phone_number.proto package livekit diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 251f35f60..1c2535d4e 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_room.proto package livekit diff --git a/livekit/livekit_rtc.pb.go b/livekit/livekit_rtc.pb.go index 027e87390..214b234cb 100644 --- a/livekit/livekit_rtc.pb.go +++ b/livekit/livekit_rtc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_rtc.proto package livekit diff --git a/livekit/livekit_sip.pb.go b/livekit/livekit_sip.pb.go index 0017ecf63..b3649d5dc 100644 --- a/livekit/livekit_sip.pb.go +++ b/livekit/livekit_sip.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_sip.proto package livekit diff --git a/livekit/livekit_token_source.pb.go b/livekit/livekit_token_source.pb.go index 2fb9b760e..156d50d3e 100644 --- a/livekit/livekit_token_source.pb.go +++ b/livekit/livekit_token_source.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_token_source.proto package livekit diff --git a/livekit/livekit_webhook.pb.go b/livekit/livekit_webhook.pb.go index 5da00b7eb..80442fe92 100644 --- a/livekit/livekit_webhook.pb.go +++ b/livekit/livekit_webhook.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_webhook.proto package livekit diff --git a/livekit/logger/options.pb.go b/livekit/logger/options.pb.go index 87887ea3d..b3a08fc0a 100644 --- a/livekit/logger/options.pb.go +++ b/livekit/logger/options.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: logger/options.proto package logger diff --git a/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go b/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go index 833508bb6..4f2a3f39d 100644 --- a/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go +++ b/livekit/roomrpc/siprpc/roomrpc_sip_v1.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: roomrpc/siprpc/roomrpc_sip_v1.proto package siprpc diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go index b611371b4..2d66e26f2 100644 --- a/rpc/agent.pb.go +++ b/rpc/agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/agent.proto package rpc diff --git a/rpc/agent_dispatch.pb.go b/rpc/agent_dispatch.pb.go index 91ac29cd8..d61e54299 100644 --- a/rpc/agent_dispatch.pb.go +++ b/rpc/agent_dispatch.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/agent_dispatch.proto package rpc diff --git a/rpc/analytics.pb.go b/rpc/analytics.pb.go index 72cd9c1a2..45885e577 100644 --- a/rpc/analytics.pb.go +++ b/rpc/analytics.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/analytics.proto package rpc diff --git a/rpc/analytics_grpc.pb.go b/rpc/analytics_grpc.pb.go index 5517210f0..32f344edf 100644 --- a/rpc/analytics_grpc.pb.go +++ b/rpc/analytics_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.36.2 +// - protoc v7.35.1 // source: rpc/analytics.proto package rpc diff --git a/rpc/egress.pb.go b/rpc/egress.pb.go index a42ee3868..2594451a8 100644 --- a/rpc/egress.pb.go +++ b/rpc/egress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/egress.proto package rpc diff --git a/rpc/ingress.pb.go b/rpc/ingress.pb.go index 948091d14..119bb3166 100644 --- a/rpc/ingress.pb.go +++ b/rpc/ingress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/ingress.proto package rpc diff --git a/rpc/io.pb.go b/rpc/io.pb.go index dda0b2014..36d481216 100644 --- a/rpc/io.pb.go +++ b/rpc/io.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/io.proto package rpc diff --git a/rpc/keepalive.pb.go b/rpc/keepalive.pb.go index cf7fdb4a0..36c1d58ab 100644 --- a/rpc/keepalive.pb.go +++ b/rpc/keepalive.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/keepalive.proto package rpc diff --git a/rpc/participant.pb.go b/rpc/participant.pb.go index bbf09806b..84da23d12 100644 --- a/rpc/participant.pb.go +++ b/rpc/participant.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/participant.proto package rpc diff --git a/rpc/room.pb.go b/rpc/room.pb.go index 4ebbecaa5..28a8cd92f 100644 --- a/rpc/room.pb.go +++ b/rpc/room.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/room.proto package rpc diff --git a/rpc/roommanager.pb.go b/rpc/roommanager.pb.go index 0e97f5b97..bbdd62d08 100644 --- a/rpc/roommanager.pb.go +++ b/rpc/roommanager.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/roommanager.proto package rpc diff --git a/rpc/signal.pb.go b/rpc/signal.pb.go index 0337a6df5..6acb08680 100644 --- a/rpc/signal.pb.go +++ b/rpc/signal.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/signal.proto package rpc diff --git a/rpc/sip.pb.go b/rpc/sip.pb.go index c8d1e61f6..d1cd10cc4 100644 --- a/rpc/sip.pb.go +++ b/rpc/sip.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/sip.proto package rpc diff --git a/rpc/whip_signal.pb.go b/rpc/whip_signal.pb.go index 92c662a87..bd6d57cc9 100644 --- a/rpc/whip_signal.pb.go +++ b/rpc/whip_signal.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: rpc/whip_signal.proto package rpc From 94e43b4ed817ce8ec6b482cd4313ae9fffeced1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Wed, 7 Oct 2026 21:34:46 -0700 Subject: [PATCH 11/12] agent threads: drop UpdateThreadStatus Worker-to-thread affinity is left for later; v0 routes any request to any worker and the thread's state lives in agent-db. --- .changeset/agent-threads-runtime.md | 2 +- livekit/livekit_agent.pb.go | 364 +++++++++------------------- protobufs/livekit_agent.proto | 19 -- 3 files changed, 112 insertions(+), 273 deletions(-) diff --git a/.changeset/agent-threads-runtime.md b/.changeset/agent-threads-runtime.md index 71901c769..5920f46c6 100644 --- a/.changeset/agent-threads-runtime.md +++ b/.changeset/agent-threads-runtime.md @@ -3,4 +3,4 @@ "@livekit/protocol": minor --- -Agent threads on the agent runtime: `Job.thread_id`, `UpdateThreadStatus` on the worker control stream, and `AgentHttp.StreamPreamble.thread_id` / `thread_grant` (`AgentHttp.AgentThreadGrant`). `auth.AgentThreadGrant.ToProto` converts the claim for the preamble. +Agent threads on the agent runtime: `Job.thread_id` and `AgentHttp.StreamPreamble.thread_id` / `thread_grant` (`AgentHttp.AgentThreadGrant`). `auth.AgentThreadGrant.ToProto` converts the claim for the preamble. diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 1368b877b..5838757e5 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.35.1 +// protoc v7.36.2 // source: livekit_agent.proto package livekit @@ -183,54 +183,6 @@ func (JobStatus) EnumDescriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{2} } -type ThreadStatus int32 - -const ( - // the server routes the thread's requests to this worker - ThreadStatus_TS_ACTIVE ThreadStatus = 0 - // the worker evicted the thread with everything persisted; final for this worker - ThreadStatus_TS_RELEASED ThreadStatus = 1 -) - -// Enum value maps for ThreadStatus. -var ( - ThreadStatus_name = map[int32]string{ - 0: "TS_ACTIVE", - 1: "TS_RELEASED", - } - ThreadStatus_value = map[string]int32{ - "TS_ACTIVE": 0, - "TS_RELEASED": 1, - } -) - -func (x ThreadStatus) Enum() *ThreadStatus { - p := new(ThreadStatus) - *p = x - return p -} - -func (x ThreadStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ThreadStatus) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_agent_proto_enumTypes[3].Descriptor() -} - -func (ThreadStatus) Type() protoreflect.EnumType { - return &file_livekit_agent_proto_enumTypes[3] -} - -func (x ThreadStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ThreadStatus.Descriptor instead. -func (ThreadStatus) EnumDescriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{3} -} - type AgentHttp_AgentEndpointKind int32 const ( @@ -262,11 +214,11 @@ func (x AgentHttp_AgentEndpointKind) String() string { } func (AgentHttp_AgentEndpointKind) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_agent_proto_enumTypes[4].Descriptor() + return file_livekit_agent_proto_enumTypes[3].Descriptor() } func (AgentHttp_AgentEndpointKind) Type() protoreflect.EnumType { - return &file_livekit_agent_proto_enumTypes[4] + return &file_livekit_agent_proto_enumTypes[3] } func (x AgentHttp_AgentEndpointKind) Number() protoreflect.EnumNumber { @@ -275,7 +227,7 @@ func (x AgentHttp_AgentEndpointKind) Number() protoreflect.EnumNumber { // Deprecated: Use AgentHttp_AgentEndpointKind.Descriptor instead. func (AgentHttp_AgentEndpointKind) EnumDescriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17, 0} + return file_livekit_agent_proto_rawDescGZIP(), []int{16, 0} } // why a stream was reset before any HTTP bytes flowed. This travels as the @@ -333,11 +285,11 @@ func (x AgentHttp_HttpStreamResetCode) String() string { } func (AgentHttp_HttpStreamResetCode) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_agent_proto_enumTypes[5].Descriptor() + return file_livekit_agent_proto_enumTypes[4].Descriptor() } func (AgentHttp_HttpStreamResetCode) Type() protoreflect.EnumType { - return &file_livekit_agent_proto_enumTypes[5] + return &file_livekit_agent_proto_enumTypes[4] } func (x AgentHttp_HttpStreamResetCode) Number() protoreflect.EnumNumber { @@ -346,7 +298,7 @@ func (x AgentHttp_HttpStreamResetCode) Number() protoreflect.EnumNumber { // Deprecated: Use AgentHttp_HttpStreamResetCode.Descriptor instead. func (AgentHttp_HttpStreamResetCode) EnumDescriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17, 1} + return file_livekit_agent_proto_rawDescGZIP(), []int{16, 1} } type Job struct { @@ -612,7 +564,6 @@ type WorkerMessage struct { // *WorkerMessage_Ping // *WorkerMessage_SimulateJob // *WorkerMessage_MigrateJob - // *WorkerMessage_UpdateThread Message isWorkerMessage_Message `protobuf_oneof:"message"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -718,15 +669,6 @@ func (x *WorkerMessage) GetMigrateJob() *MigrateJobRequest { return nil } -func (x *WorkerMessage) GetUpdateThread() *UpdateThreadStatus { - if x != nil { - if x, ok := x.Message.(*WorkerMessage_UpdateThread); ok { - return x.UpdateThread - } - } - return nil -} - type isWorkerMessage_Message interface { isWorkerMessage_Message() } @@ -763,11 +705,6 @@ type WorkerMessage_MigrateJob struct { MigrateJob *MigrateJobRequest `protobuf:"bytes,7,opt,name=migrate_job,json=migrateJob,proto3,oneof"` } -type WorkerMessage_UpdateThread struct { - // the worker holds or released a thread - UpdateThread *UpdateThreadStatus `protobuf:"bytes,8,opt,name=update_thread,json=updateThread,proto3,oneof"` -} - func (*WorkerMessage_Register) isWorkerMessage_Message() {} func (*WorkerMessage_Availability) isWorkerMessage_Message() {} @@ -782,8 +719,6 @@ func (*WorkerMessage_SimulateJob) isWorkerMessage_Message() {} func (*WorkerMessage_MigrateJob) isWorkerMessage_Message() {} -func (*WorkerMessage_UpdateThread) isWorkerMessage_Message() {} - // from Server to Worker type ServerMessage struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1534,70 +1469,6 @@ func (x *UpdateJobStatus) GetError() string { return "" } -// Which threads a worker holds, so a thread's requests reach the worker that -// has it loaded. Applied per worker in seq order; a dropped control stream -// releases every binding of the worker. -type UpdateThreadStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` - ThreadId string `protobuf:"bytes,1,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"` - Status ThreadStatus `protobuf:"varint,2,opt,name=status,proto3,enum=livekit.ThreadStatus" json:"status,omitempty"` - // monotonic per worker; a late TS_ACTIVE never revives a TS_RELEASED binding - Seq uint64 `protobuf:"varint,3,opt,name=seq,proto3" json:"seq,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *UpdateThreadStatus) Reset() { - *x = UpdateThreadStatus{} - mi := &file_livekit_agent_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UpdateThreadStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateThreadStatus) ProtoMessage() {} - -func (x *UpdateThreadStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[13] - 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 UpdateThreadStatus.ProtoReflect.Descriptor instead. -func (*UpdateThreadStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{13} -} - -func (x *UpdateThreadStatus) GetThreadId() string { - if x != nil { - return x.ThreadId - } - return "" -} - -func (x *UpdateThreadStatus) GetStatus() ThreadStatus { - if x != nil { - return x.Status - } - return ThreadStatus_TS_ACTIVE -} - -func (x *UpdateThreadStatus) GetSeq() uint64 { - if x != nil { - return x.Seq - } - return 0 -} - type UpdateWorkerStatus struct { state protoimpl.MessageState `protogen:"open.v1"` Status *WorkerStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.WorkerStatus,oneof" json:"status,omitempty"` @@ -1614,7 +1485,7 @@ type UpdateWorkerStatus struct { func (x *UpdateWorkerStatus) Reset() { *x = UpdateWorkerStatus{} - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1626,7 +1497,7 @@ func (x *UpdateWorkerStatus) String() string { func (*UpdateWorkerStatus) ProtoMessage() {} func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1639,7 +1510,7 @@ func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkerStatus.ProtoReflect.Descriptor instead. func (*UpdateWorkerStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{14} + return file_livekit_agent_proto_rawDescGZIP(), []int{13} } func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { @@ -1688,7 +1559,7 @@ type JobAssignment struct { func (x *JobAssignment) Reset() { *x = JobAssignment{} - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1700,7 +1571,7 @@ func (x *JobAssignment) String() string { func (*JobAssignment) ProtoMessage() {} func (x *JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1713,7 +1584,7 @@ func (x *JobAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use JobAssignment.ProtoReflect.Descriptor instead. func (*JobAssignment) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{15} + return file_livekit_agent_proto_rawDescGZIP(), []int{14} } func (x *JobAssignment) GetJob() *Job { @@ -1746,7 +1617,7 @@ type JobTermination struct { func (x *JobTermination) Reset() { *x = JobTermination{} - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1758,7 +1629,7 @@ func (x *JobTermination) String() string { func (*JobTermination) ProtoMessage() {} func (x *JobTermination) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1771,7 +1642,7 @@ func (x *JobTermination) ProtoReflect() protoreflect.Message { // Deprecated: Use JobTermination.ProtoReflect.Descriptor instead. func (*JobTermination) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16} + return file_livekit_agent_proto_rawDescGZIP(), []int{15} } func (x *JobTermination) GetJobId() string { @@ -1831,7 +1702,7 @@ type AgentHttp struct { func (x *AgentHttp) Reset() { *x = AgentHttp{} - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1843,7 +1714,7 @@ func (x *AgentHttp) String() string { func (*AgentHttp) ProtoMessage() {} func (x *AgentHttp) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1856,7 +1727,7 @@ func (x *AgentHttp) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp.ProtoReflect.Descriptor instead. func (*AgentHttp) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17} + return file_livekit_agent_proto_rawDescGZIP(), []int{16} } type AgentHttp_AgentEndpoint struct { @@ -1877,7 +1748,7 @@ type AgentHttp_AgentEndpoint struct { func (x *AgentHttp_AgentEndpoint) Reset() { *x = AgentHttp_AgentEndpoint{} - mi := &file_livekit_agent_proto_msgTypes[20] + mi := &file_livekit_agent_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1889,7 +1760,7 @@ func (x *AgentHttp_AgentEndpoint) String() string { func (*AgentHttp_AgentEndpoint) ProtoMessage() {} func (x *AgentHttp_AgentEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[20] + mi := &file_livekit_agent_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1902,7 +1773,7 @@ func (x *AgentHttp_AgentEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_AgentEndpoint.ProtoReflect.Descriptor instead. func (*AgentHttp_AgentEndpoint) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17, 0} + return file_livekit_agent_proto_rawDescGZIP(), []int{16, 0} } func (x *AgentHttp_AgentEndpoint) GetPath() string { @@ -1947,7 +1818,7 @@ type AgentHttp_AgentEndpointSettings struct { func (x *AgentHttp_AgentEndpointSettings) Reset() { *x = AgentHttp_AgentEndpointSettings{} - mi := &file_livekit_agent_proto_msgTypes[21] + mi := &file_livekit_agent_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1959,7 +1830,7 @@ func (x *AgentHttp_AgentEndpointSettings) String() string { func (*AgentHttp_AgentEndpointSettings) ProtoMessage() {} func (x *AgentHttp_AgentEndpointSettings) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[21] + mi := &file_livekit_agent_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1972,7 +1843,7 @@ func (x *AgentHttp_AgentEndpointSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_AgentEndpointSettings.ProtoReflect.Descriptor instead. func (*AgentHttp_AgentEndpointSettings) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17, 1} + return file_livekit_agent_proto_rawDescGZIP(), []int{16, 1} } func (x *AgentHttp_AgentEndpointSettings) GetProtocol() uint32 { @@ -2015,7 +1886,7 @@ type AgentHttp_StreamPreamble struct { func (x *AgentHttp_StreamPreamble) Reset() { *x = AgentHttp_StreamPreamble{} - mi := &file_livekit_agent_proto_msgTypes[22] + mi := &file_livekit_agent_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2027,7 +1898,7 @@ func (x *AgentHttp_StreamPreamble) String() string { func (*AgentHttp_StreamPreamble) ProtoMessage() {} func (x *AgentHttp_StreamPreamble) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[22] + mi := &file_livekit_agent_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2040,7 +1911,7 @@ func (x *AgentHttp_StreamPreamble) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_StreamPreamble.ProtoReflect.Descriptor instead. func (*AgentHttp_StreamPreamble) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17, 2} + return file_livekit_agent_proto_rawDescGZIP(), []int{16, 2} } func (x *AgentHttp_StreamPreamble) GetKind() AgentHttp_AgentEndpointKind { @@ -2123,7 +1994,7 @@ type AgentHttp_AgentThreadGrant struct { func (x *AgentHttp_AgentThreadGrant) Reset() { *x = AgentHttp_AgentThreadGrant{} - mi := &file_livekit_agent_proto_msgTypes[23] + mi := &file_livekit_agent_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2135,7 +2006,7 @@ func (x *AgentHttp_AgentThreadGrant) String() string { func (*AgentHttp_AgentThreadGrant) ProtoMessage() {} func (x *AgentHttp_AgentThreadGrant) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[23] + mi := &file_livekit_agent_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2148,7 +2019,7 @@ func (x *AgentHttp_AgentThreadGrant) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_AgentThreadGrant.ProtoReflect.Descriptor instead. func (*AgentHttp_AgentThreadGrant) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17, 3} + return file_livekit_agent_proto_rawDescGZIP(), []int{16, 3} } func (x *AgentHttp_AgentThreadGrant) GetScope() string { @@ -2211,7 +2082,7 @@ type AgentHttp_GoAway struct { func (x *AgentHttp_GoAway) Reset() { *x = AgentHttp_GoAway{} - mi := &file_livekit_agent_proto_msgTypes[24] + mi := &file_livekit_agent_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2223,7 +2094,7 @@ func (x *AgentHttp_GoAway) String() string { func (*AgentHttp_GoAway) ProtoMessage() {} func (x *AgentHttp_GoAway) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[24] + mi := &file_livekit_agent_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2236,7 +2107,7 @@ func (x *AgentHttp_GoAway) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentHttp_GoAway.ProtoReflect.Descriptor instead. func (*AgentHttp_GoAway) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17, 4} + return file_livekit_agent_proto_rawDescGZIP(), []int{16, 4} } func (x *AgentHttp_GoAway) GetReason() string { @@ -2289,7 +2160,7 @@ const file_livekit_agent_proto_rawDesc = "" + "\x14participant_identity\x18\x06 \x01(\tR\x13participantIdentity\x12(\n" + "\tworker_id\x18\a \x01(\tB\v\xbaP\bworkerIDR\bworkerId\x12%\n" + "\bagent_id\x18\b \x01(\tB\n" + - "\xbaP\aagentIDR\aagentId\"\x8c\x04\n" + + "\xbaP\aagentIDR\aagentId\"\xc8\x03\n" + "\rWorkerMessage\x12<\n" + "\bregister\x18\x01 \x01(\v2\x1e.livekit.RegisterWorkerRequestH\x00R\bregister\x12C\n" + "\favailability\x18\x02 \x01(\v2\x1d.livekit.AvailabilityResponseH\x00R\favailability\x12B\n" + @@ -2299,8 +2170,7 @@ const file_livekit_agent_proto_rawDesc = "" + "\x04ping\x18\x05 \x01(\v2\x13.livekit.WorkerPingH\x00R\x04ping\x12@\n" + "\fsimulate_job\x18\x06 \x01(\v2\x1b.livekit.SimulateJobRequestH\x00R\vsimulateJob\x12=\n" + "\vmigrate_job\x18\a \x01(\v2\x1a.livekit.MigrateJobRequestH\x00R\n" + - "migrateJob\x12B\n" + - "\rupdate_thread\x18\b \x01(\v2\x1b.livekit.UpdateThreadStatusH\x00R\fupdateThreadB\t\n" + + "migrateJobB\t\n" + "\amessage\"\xf5\x02\n" + "\rServerMessage\x12=\n" + "\bregister\x18\x01 \x01(\v2\x1f.livekit.RegisterWorkerResponseH\x00R\bregister\x12B\n" + @@ -2367,11 +2237,7 @@ const file_livekit_agent_proto_rawDesc = "" + "\x0fUpdateJobStatus\x12\x1f\n" + "\x06job_id\x18\x01 \x01(\tB\b\xbaP\x05jobIDR\x05jobId\x12*\n" + "\x06status\x18\x02 \x01(\x0e2\x12.livekit.JobStatusR\x06status\x12\x14\n" + - "\x05error\x18\x03 \x01(\tR\x05error\"\x7f\n" + - "\x12UpdateThreadStatus\x12(\n" + - "\tthread_id\x18\x01 \x01(\tB\v\xbaP\bthreadIDR\bthreadId\x12-\n" + - "\x06status\x18\x02 \x01(\x0e2\x15.livekit.ThreadStatusR\x06status\x12\x10\n" + - "\x03seq\x18\x03 \x01(\x04R\x03seq\"\xb8\x01\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"\xb8\x01\n" + "\x12UpdateWorkerStatus\x122\n" + "\x06status\x18\x01 \x01(\x0e2\x15.livekit.WorkerStatusH\x00R\x06status\x88\x01\x01\x12\x12\n" + "\x04load\x18\x03 \x01(\x02R\x04load\x12\x1b\n" + @@ -2444,10 +2310,7 @@ const file_livekit_agent_proto_rawDesc = "" + "JS_RUNNING\x10\x01\x12\x0e\n" + "\n" + "JS_SUCCESS\x10\x02\x12\r\n" + - "\tJS_FAILED\x10\x03*.\n" + - "\fThreadStatus\x12\r\n" + - "\tTS_ACTIVE\x10\x00\x12\x0f\n" + - "\vTS_RELEASED\x10\x01BFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" + "\tJS_FAILED\x10\x03BFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" var ( file_livekit_agent_proto_rawDescOnce sync.Once @@ -2461,88 +2324,84 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { return file_livekit_agent_proto_rawDescData } -var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_livekit_agent_proto_goTypes = []any{ (JobType)(0), // 0: livekit.JobType (WorkerStatus)(0), // 1: livekit.WorkerStatus (JobStatus)(0), // 2: livekit.JobStatus - (ThreadStatus)(0), // 3: livekit.ThreadStatus - (AgentHttp_AgentEndpointKind)(0), // 4: livekit.AgentHttp.AgentEndpointKind - (AgentHttp_HttpStreamResetCode)(0), // 5: livekit.AgentHttp.HttpStreamResetCode - (*Job)(nil), // 6: livekit.Job - (*JobState)(nil), // 7: livekit.JobState - (*WorkerMessage)(nil), // 8: livekit.WorkerMessage - (*ServerMessage)(nil), // 9: livekit.ServerMessage - (*SimulateJobRequest)(nil), // 10: livekit.SimulateJobRequest - (*WorkerPing)(nil), // 11: livekit.WorkerPing - (*WorkerPong)(nil), // 12: livekit.WorkerPong - (*RegisterWorkerRequest)(nil), // 13: livekit.RegisterWorkerRequest - (*RegisterWorkerResponse)(nil), // 14: livekit.RegisterWorkerResponse - (*MigrateJobRequest)(nil), // 15: livekit.MigrateJobRequest - (*AvailabilityRequest)(nil), // 16: livekit.AvailabilityRequest - (*AvailabilityResponse)(nil), // 17: livekit.AvailabilityResponse - (*UpdateJobStatus)(nil), // 18: livekit.UpdateJobStatus - (*UpdateThreadStatus)(nil), // 19: livekit.UpdateThreadStatus - (*UpdateWorkerStatus)(nil), // 20: livekit.UpdateWorkerStatus - (*JobAssignment)(nil), // 21: livekit.JobAssignment - (*JobTermination)(nil), // 22: livekit.JobTermination - (*AgentHttp)(nil), // 23: livekit.AgentHttp - nil, // 24: livekit.Job.AttributesEntry - nil, // 25: livekit.AvailabilityResponse.ParticipantAttributesEntry - (*AgentHttp_AgentEndpoint)(nil), // 26: livekit.AgentHttp.AgentEndpoint - (*AgentHttp_AgentEndpointSettings)(nil), // 27: livekit.AgentHttp.AgentEndpointSettings - (*AgentHttp_StreamPreamble)(nil), // 28: livekit.AgentHttp.StreamPreamble - (*AgentHttp_AgentThreadGrant)(nil), // 29: livekit.AgentHttp.AgentThreadGrant - (*AgentHttp_GoAway)(nil), // 30: livekit.AgentHttp.GoAway - (*Room)(nil), // 31: livekit.Room - (*ParticipantInfo)(nil), // 32: livekit.ParticipantInfo - (*ParticipantPermission)(nil), // 33: livekit.ParticipantPermission - (*ServerInfo)(nil), // 34: livekit.ServerInfo + (AgentHttp_AgentEndpointKind)(0), // 3: livekit.AgentHttp.AgentEndpointKind + (AgentHttp_HttpStreamResetCode)(0), // 4: livekit.AgentHttp.HttpStreamResetCode + (*Job)(nil), // 5: livekit.Job + (*JobState)(nil), // 6: livekit.JobState + (*WorkerMessage)(nil), // 7: livekit.WorkerMessage + (*ServerMessage)(nil), // 8: livekit.ServerMessage + (*SimulateJobRequest)(nil), // 9: livekit.SimulateJobRequest + (*WorkerPing)(nil), // 10: livekit.WorkerPing + (*WorkerPong)(nil), // 11: livekit.WorkerPong + (*RegisterWorkerRequest)(nil), // 12: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 13: livekit.RegisterWorkerResponse + (*MigrateJobRequest)(nil), // 14: livekit.MigrateJobRequest + (*AvailabilityRequest)(nil), // 15: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 16: livekit.AvailabilityResponse + (*UpdateJobStatus)(nil), // 17: livekit.UpdateJobStatus + (*UpdateWorkerStatus)(nil), // 18: livekit.UpdateWorkerStatus + (*JobAssignment)(nil), // 19: livekit.JobAssignment + (*JobTermination)(nil), // 20: livekit.JobTermination + (*AgentHttp)(nil), // 21: livekit.AgentHttp + nil, // 22: livekit.Job.AttributesEntry + nil, // 23: livekit.AvailabilityResponse.ParticipantAttributesEntry + (*AgentHttp_AgentEndpoint)(nil), // 24: livekit.AgentHttp.AgentEndpoint + (*AgentHttp_AgentEndpointSettings)(nil), // 25: livekit.AgentHttp.AgentEndpointSettings + (*AgentHttp_StreamPreamble)(nil), // 26: livekit.AgentHttp.StreamPreamble + (*AgentHttp_AgentThreadGrant)(nil), // 27: livekit.AgentHttp.AgentThreadGrant + (*AgentHttp_GoAway)(nil), // 28: livekit.AgentHttp.GoAway + (*Room)(nil), // 29: livekit.Room + (*ParticipantInfo)(nil), // 30: livekit.ParticipantInfo + (*ParticipantPermission)(nil), // 31: livekit.ParticipantPermission + (*ServerInfo)(nil), // 32: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ 0, // 0: livekit.Job.type:type_name -> livekit.JobType - 31, // 1: livekit.Job.room:type_name -> livekit.Room - 32, // 2: livekit.Job.participant:type_name -> livekit.ParticipantInfo - 7, // 3: livekit.Job.state:type_name -> livekit.JobState - 24, // 4: livekit.Job.attributes:type_name -> livekit.Job.AttributesEntry + 29, // 1: livekit.Job.room:type_name -> livekit.Room + 30, // 2: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 6, // 3: livekit.Job.state:type_name -> livekit.JobState + 22, // 4: livekit.Job.attributes:type_name -> livekit.Job.AttributesEntry 2, // 5: livekit.JobState.status:type_name -> livekit.JobStatus - 13, // 6: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest - 17, // 7: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse - 20, // 8: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus - 18, // 9: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus - 11, // 10: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing - 10, // 11: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest - 15, // 12: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest - 19, // 13: livekit.WorkerMessage.update_thread:type_name -> livekit.UpdateThreadStatus - 14, // 14: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse - 16, // 15: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest - 21, // 16: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment - 22, // 17: livekit.ServerMessage.termination:type_name -> livekit.JobTermination - 12, // 18: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong - 30, // 19: livekit.ServerMessage.go_away:type_name -> livekit.AgentHttp.GoAway - 0, // 20: livekit.SimulateJobRequest.type:type_name -> livekit.JobType - 31, // 21: livekit.SimulateJobRequest.room:type_name -> livekit.Room - 32, // 22: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo - 0, // 23: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType - 33, // 24: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission - 26, // 25: livekit.RegisterWorkerRequest.endpoints:type_name -> livekit.AgentHttp.AgentEndpoint - 34, // 26: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo - 27, // 27: livekit.RegisterWorkerResponse.endpoint_settings:type_name -> livekit.AgentHttp.AgentEndpointSettings - 6, // 28: livekit.AvailabilityRequest.job:type_name -> livekit.Job - 25, // 29: livekit.AvailabilityResponse.participant_attributes:type_name -> livekit.AvailabilityResponse.ParticipantAttributesEntry - 2, // 30: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus - 3, // 31: livekit.UpdateThreadStatus.status:type_name -> livekit.ThreadStatus - 1, // 32: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus - 6, // 33: livekit.JobAssignment.job:type_name -> livekit.Job - 4, // 34: livekit.AgentHttp.AgentEndpoint.kind:type_name -> livekit.AgentHttp.AgentEndpointKind - 4, // 35: livekit.AgentHttp.StreamPreamble.kind:type_name -> livekit.AgentHttp.AgentEndpointKind - 29, // 36: livekit.AgentHttp.StreamPreamble.thread_grant:type_name -> livekit.AgentHttp.AgentThreadGrant - 37, // [37:37] is the sub-list for method output_type - 37, // [37:37] is the sub-list for method input_type - 37, // [37:37] is the sub-list for extension type_name - 37, // [37:37] is the sub-list for extension extendee - 0, // [0:37] is the sub-list for field type_name + 12, // 6: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 16, // 7: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 18, // 8: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 17, // 9: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 10, // 10: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 9, // 11: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 14, // 12: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 13, // 13: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 15, // 14: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 19, // 15: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 20, // 16: livekit.ServerMessage.termination:type_name -> livekit.JobTermination + 11, // 17: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 28, // 18: livekit.ServerMessage.go_away:type_name -> livekit.AgentHttp.GoAway + 0, // 19: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 29, // 20: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 30, // 21: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 22: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 31, // 23: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 24, // 24: livekit.RegisterWorkerRequest.endpoints:type_name -> livekit.AgentHttp.AgentEndpoint + 32, // 25: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 25, // 26: livekit.RegisterWorkerResponse.endpoint_settings:type_name -> livekit.AgentHttp.AgentEndpointSettings + 5, // 27: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 23, // 28: livekit.AvailabilityResponse.participant_attributes:type_name -> livekit.AvailabilityResponse.ParticipantAttributesEntry + 2, // 29: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 1, // 30: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 5, // 31: livekit.JobAssignment.job:type_name -> livekit.Job + 3, // 32: livekit.AgentHttp.AgentEndpoint.kind:type_name -> livekit.AgentHttp.AgentEndpointKind + 3, // 33: livekit.AgentHttp.StreamPreamble.kind:type_name -> livekit.AgentHttp.AgentEndpointKind + 27, // 34: livekit.AgentHttp.StreamPreamble.thread_grant:type_name -> livekit.AgentHttp.AgentThreadGrant + 35, // [35:35] is the sub-list for method output_type + 35, // [35:35] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -2560,7 +2419,6 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_Ping)(nil), (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), - (*WorkerMessage_UpdateThread)(nil), } file_livekit_agent_proto_msgTypes[3].OneofWrappers = []any{ (*ServerMessage_Register)(nil), @@ -2571,15 +2429,15 @@ func file_livekit_agent_proto_init() { (*ServerMessage_GoAway)(nil), } file_livekit_agent_proto_msgTypes[7].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[13].OneofWrappers = []any{} file_livekit_agent_proto_msgTypes[14].OneofWrappers = []any{} - file_livekit_agent_proto_msgTypes[15].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_agent_proto_rawDesc), len(file_livekit_agent_proto_rawDesc)), - NumEnums: 6, - NumMessages: 25, + NumEnums: 5, + NumMessages: 24, NumExtensions: 0, NumServices: 0, }, diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index e02b0e0f1..4a844f844 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -67,8 +67,6 @@ message WorkerMessage { WorkerPing ping = 5; SimulateJobRequest simulate_job = 6; MigrateJobRequest migrate_job = 7; - // the worker holds or released a thread - UpdateThreadStatus update_thread = 8; }; } @@ -186,23 +184,6 @@ message UpdateJobStatus { string error = 3; } -enum ThreadStatus { - // the server routes the thread's requests to this worker - TS_ACTIVE = 0; - // the worker evicted the thread with everything persisted; final for this worker - TS_RELEASED = 1; -} - -// Which threads a worker holds, so a thread's requests reach the worker that -// has it loaded. Applied per worker in seq order; a dropped control stream -// releases every binding of the worker. -message UpdateThreadStatus { - string thread_id = 1 [(logger.name) = "threadID"]; - ThreadStatus status = 2; - // monotonic per worker; a late TS_ACTIVE never revives a TS_RELEASED binding - uint64 seq = 3; -} - message UpdateWorkerStatus { reserved 2; // metadata (retired) optional WorkerStatus status = 1; From 86e999c735cbb63fabc4b5cb2b93a1f73ce5cbd5 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2026 04:35:29 +0000 Subject: [PATCH 12/12] generated protobuf --- livekit/livekit_agent.pb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 5838757e5..6ca991501 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 -// protoc v7.36.2 +// protoc v7.35.1 // source: livekit_agent.proto package livekit