From 45da3739ad85e66968aa7f4f05fbd2b571d9726c Mon Sep 17 00:00:00 2001 From: Steve Yoon Date: Tue, 7 Apr 2026 13:10:38 -0400 Subject: [PATCH 1/5] add environment support for cloud-agents --- livekit/livekit_cloud_agent.pb.go | 61 +++++++++++++++++++++++++---- protobufs/livekit_cloud_agent.proto | 5 +++ 2 files changed, 58 insertions(+), 8 deletions(-) diff --git a/livekit/livekit_cloud_agent.pb.go b/livekit/livekit_cloud_agent.pb.go index 5ac61b22e..69a883c83 100644 --- a/livekit/livekit_cloud_agent.pb.go +++ b/livekit/livekit_cloud_agent.pb.go @@ -263,6 +263,7 @@ type AgentSecret struct { CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` Kind AgentSecretKind `protobuf:"varint,5,opt,name=kind,proto3,enum=livekit.AgentSecretKind" json:"kind,omitempty"` + Environments []string `protobuf:"bytes,6,rep,name=environments,proto3" json:"environments,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -332,6 +333,13 @@ func (x *AgentSecret) GetKind() AgentSecretKind { return AgentSecretKind_AGENT_SECRET_KIND_UNKNOWN } +func (x *AgentSecret) GetEnvironments() []string { + if x != nil { + return x.Environments + } + return nil +} + type CreateAgentRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Deprecated: Marked as deprecated in livekit_cloud_agent.proto. @@ -344,6 +352,7 @@ type CreateAgentRequest struct { // Deprecated: Marked as deprecated in livekit_cloud_agent.proto. CpuReq string `protobuf:"bytes,5,opt,name=cpu_req,json=cpuReq,proto3" json:"cpu_req,omitempty"` Regions []string `protobuf:"bytes,6,rep,name=regions,proto3" json:"regions,omitempty"` + Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -424,6 +433,13 @@ func (x *CreateAgentRequest) GetRegions() []string { return nil } +func (x *CreateAgentRequest) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + type CreateAgentResponse struct { state protoimpl.MessageState `protogen:"open.v1"` AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` @@ -434,6 +450,7 @@ type CreateAgentResponse struct { Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` ServerRegions []string `protobuf:"bytes,7,rep,name=server_regions,json=serverRegions,proto3" json:"server_regions,omitempty"` PresignedPostRequest *PresignedPostRequest `protobuf:"bytes,8,opt,name=presigned_post_request,json=presignedPostRequest,proto3" json:"presigned_post_request,omitempty"` + Environment string `protobuf:"bytes,9,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -524,6 +541,13 @@ func (x *CreateAgentResponse) GetPresignedPostRequest() *PresignedPostRequest { return nil } +func (x *CreateAgentResponse) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + type PresignedPostRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` @@ -592,6 +616,7 @@ type AgentDeployment struct { CpuLimit string `protobuf:"bytes,12,opt,name=cpu_limit,json=cpuLimit,proto3" json:"cpu_limit,omitempty"` ServerRegion string `protobuf:"bytes,13,opt,name=server_region,json=serverRegion,proto3" json:"server_region,omitempty"` Events []*AgentEvent `protobuf:"bytes,14,rep,name=events,proto3" json:"events,omitempty"` + Environment string `protobuf:"bytes,15,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -724,6 +749,13 @@ func (x *AgentDeployment) GetEvents() []*AgentEvent { return nil } +func (x *AgentDeployment) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + type AgentInfo struct { state protoimpl.MessageState `protogen:"open.v1"` AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` @@ -1360,6 +1392,7 @@ type DeployAgentRequest struct { MaxReplicas int32 `protobuf:"varint,5,opt,name=max_replicas,json=maxReplicas,proto3" json:"max_replicas,omitempty"` // Deprecated: Marked as deprecated in livekit_cloud_agent.proto. CpuReq string `protobuf:"bytes,6,opt,name=cpu_req,json=cpuReq,proto3" json:"cpu_req,omitempty"` + Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1440,6 +1473,13 @@ func (x *DeployAgentRequest) GetCpuReq() string { return "" } +func (x *DeployAgentRequest) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + type DeployAgentResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` @@ -2765,7 +2805,7 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "AgentEvent\x12+\n" + "\x04type\x18\x01 \x01(\x0e2\x17.livekit.AgentEventTypeR\x04type\x12\x14\n" + "\x05count\x18\x02 \x01(\x05R\x05count\x128\n" + - "\ttimestamp\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\"\xdb\x01\n" + + "\ttimestamp\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\"\xff\x01\n" + "\vAgentSecret\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + "\x05value\x18\x02 \x01(\fR\x05value\x129\n" + @@ -2773,7 +2813,8 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + "\n" + "updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12,\n" + - "\x04kind\x18\x05 \x01(\x0e2\x18.livekit.AgentSecretKindR\x04kind\"\xe5\x01\n" + + "\x04kind\x18\x05 \x01(\x0e2\x18.livekit.AgentSecretKindR\x04kind\x12\"\n" + + "\fenvironments\x18\x06 \x03(\tR\fenvironments\"\x87\x02\n" + "\x12CreateAgentRequest\x12!\n" + "\n" + "agent_name\x18\x01 \x01(\tB\x02\x18\x01R\tagentName\x12.\n" + @@ -2781,7 +2822,8 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\breplicas\x18\x03 \x01(\x05B\x02\x18\x01R\breplicas\x12%\n" + "\fmax_replicas\x18\x04 \x01(\x05B\x02\x18\x01R\vmaxReplicas\x12\x1b\n" + "\acpu_req\x18\x05 \x01(\tB\x02\x18\x01R\x06cpuReq\x12\x18\n" + - "\aregions\x18\x06 \x03(\tR\aregions\"\xc1\x02\n" + + "\aregions\x18\x06 \x03(\tR\aregions\x12 \n" + + "\venvironment\x18\a \x01(\tR\venvironment\"\xe3\x02\n" + "\x13CreateAgentResponse\x12&\n" + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x1d\n" + "\n" + @@ -2791,13 +2833,14 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\rpresigned_url\x18\x05 \x01(\tR\fpresignedUrl\x12\x10\n" + "\x03tag\x18\x06 \x01(\tR\x03tag\x12%\n" + "\x0eserver_regions\x18\a \x03(\tR\rserverRegions\x12S\n" + - "\x16presigned_post_request\x18\b \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\"\xa6\x01\n" + + "\x16presigned_post_request\x18\b \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\x12 \n" + + "\venvironment\x18\t \x01(\tR\venvironment\"\xa6\x01\n" + "\x14PresignedPostRequest\x12\x10\n" + "\x03url\x18\x01 \x01(\tR\x03url\x12A\n" + "\x06values\x18\x02 \x03(\v2).livekit.PresignedPostRequest.ValuesEntryR\x06values\x1a9\n" + "\vValuesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xbb\x03\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xdd\x03\n" + "\x0fAgentDeployment\x12\x16\n" + "\x06region\x18\x01 \x01(\tR\x06region\x12&\n" + "\bagent_id\x18\x02 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x16\n" + @@ -2813,7 +2856,8 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\tmem_limit\x18\v \x01(\tR\bmemLimit\x12\x1b\n" + "\tcpu_limit\x18\f \x01(\tR\bcpuLimit\x12#\n" + "\rserver_region\x18\r \x01(\tR\fserverRegion\x12+\n" + - "\x06events\x18\x0e \x03(\v2\x13.livekit.AgentEventR\x06events\"\xa0\x02\n" + + "\x06events\x18\x0e \x03(\v2\x13.livekit.AgentEventR\x06events\x12 \n" + + "\venvironment\x18\x0f \x01(\tR\venvironment\"\xa0\x02\n" + "\tAgentInfo\x12&\n" + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x1d\n" + "\n" + @@ -2867,7 +2911,7 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\"J\n" + "\x14RestartAgentResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + - "\amessage\x18\x02 \x01(\tR\amessage\"\xf3\x01\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"\x95\x02\n" + "\x12DeployAgentRequest\x12&\n" + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12!\n" + "\n" + @@ -2875,7 +2919,8 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\asecrets\x18\x03 \x03(\v2\x14.livekit.AgentSecretR\asecrets\x12\x1e\n" + "\breplicas\x18\x04 \x01(\x05B\x02\x18\x01R\breplicas\x12%\n" + "\fmax_replicas\x18\x05 \x01(\x05B\x02\x18\x01R\vmaxReplicas\x12\x1b\n" + - "\acpu_req\x18\x06 \x01(\tB\x02\x18\x01R\x06cpuReq\"\xfd\x01\n" + + "\acpu_req\x18\x06 \x01(\tB\x02\x18\x01R\x06cpuReq\x12 \n" + + "\venvironment\x18\a \x01(\tR\venvironment\"\xfd\x01\n" + "\x13DeployAgentResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\x12&\n" + diff --git a/protobufs/livekit_cloud_agent.proto b/protobufs/livekit_cloud_agent.proto index 7a91cab5c..ab7eb90c9 100644 --- a/protobufs/livekit_cloud_agent.proto +++ b/protobufs/livekit_cloud_agent.proto @@ -47,6 +47,7 @@ message AgentSecret { google.protobuf.Timestamp created_at = 3; google.protobuf.Timestamp updated_at = 4; AgentSecretKind kind = 5; + repeated string environments = 6; } message CreateAgentRequest { @@ -56,6 +57,7 @@ message CreateAgentRequest { int32 max_replicas = 4 [deprecated=true]; string cpu_req = 5 [deprecated=true]; repeated string regions = 6; + string environment = 7; } message CreateAgentResponse { @@ -67,6 +69,7 @@ message CreateAgentResponse { string tag = 6; repeated string server_regions = 7; PresignedPostRequest presigned_post_request = 8; + string environment = 9; } message PresignedPostRequest { @@ -89,6 +92,7 @@ message AgentDeployment { string cpu_limit = 12; string server_region = 13; repeated AgentEvent events = 14; + string environment = 15; } message AgentInfo { @@ -160,6 +164,7 @@ message DeployAgentRequest { int32 replicas = 4 [deprecated=true]; int32 max_replicas = 5 [deprecated=true]; string cpu_req = 6 [deprecated=true]; + string environment = 7; } message DeployAgentResponse { From 92a1406ced691aacb4e154b51aed212598715eed Mon Sep 17 00:00:00 2001 From: Steve Yoon Date: Wed, 8 Apr 2026 09:26:18 -0400 Subject: [PATCH 2/5] remove env from create agent API --- protobufs/livekit_cloud_agent.proto | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/protobufs/livekit_cloud_agent.proto b/protobufs/livekit_cloud_agent.proto index ab7eb90c9..6ccb0fe1b 100644 --- a/protobufs/livekit_cloud_agent.proto +++ b/protobufs/livekit_cloud_agent.proto @@ -57,7 +57,6 @@ message CreateAgentRequest { int32 max_replicas = 4 [deprecated=true]; string cpu_req = 5 [deprecated=true]; repeated string regions = 6; - string environment = 7; } message CreateAgentResponse { @@ -69,7 +68,6 @@ message CreateAgentResponse { string tag = 6; repeated string server_regions = 7; PresignedPostRequest presigned_post_request = 8; - string environment = 9; } message PresignedPostRequest { @@ -174,6 +172,7 @@ message DeployAgentResponse { string presigned_url = 4; string tag = 5; PresignedPostRequest presigned_post_request = 6; + string environment = 7; } message UpdateAgentSecretsRequest { From af12e0ebcdaa5770bbdd95178abe0405410fd396 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 13:27:20 +0000 Subject: [PATCH 3/5] generated protobuf --- livekit/livekit_cloud_agent.pb.go | 37 ++-- livekit/livekit_cloud_agent.twirp.go | 283 ++++++++++++++------------- 2 files changed, 157 insertions(+), 163 deletions(-) diff --git a/livekit/livekit_cloud_agent.pb.go b/livekit/livekit_cloud_agent.pb.go index 69a883c83..f026a5101 100644 --- a/livekit/livekit_cloud_agent.pb.go +++ b/livekit/livekit_cloud_agent.pb.go @@ -352,7 +352,6 @@ type CreateAgentRequest struct { // Deprecated: Marked as deprecated in livekit_cloud_agent.proto. CpuReq string `protobuf:"bytes,5,opt,name=cpu_req,json=cpuReq,proto3" json:"cpu_req,omitempty"` Regions []string `protobuf:"bytes,6,rep,name=regions,proto3" json:"regions,omitempty"` - Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -433,13 +432,6 @@ func (x *CreateAgentRequest) GetRegions() []string { return nil } -func (x *CreateAgentRequest) GetEnvironment() string { - if x != nil { - return x.Environment - } - return "" -} - type CreateAgentResponse struct { state protoimpl.MessageState `protogen:"open.v1"` AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` @@ -450,7 +442,6 @@ type CreateAgentResponse struct { Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` ServerRegions []string `protobuf:"bytes,7,rep,name=server_regions,json=serverRegions,proto3" json:"server_regions,omitempty"` PresignedPostRequest *PresignedPostRequest `protobuf:"bytes,8,opt,name=presigned_post_request,json=presignedPostRequest,proto3" json:"presigned_post_request,omitempty"` - Environment string `protobuf:"bytes,9,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -541,13 +532,6 @@ func (x *CreateAgentResponse) GetPresignedPostRequest() *PresignedPostRequest { return nil } -func (x *CreateAgentResponse) GetEnvironment() string { - if x != nil { - return x.Environment - } - return "" -} - type PresignedPostRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` @@ -1488,6 +1472,7 @@ type DeployAgentResponse struct { PresignedUrl string `protobuf:"bytes,4,opt,name=presigned_url,json=presignedUrl,proto3" json:"presigned_url,omitempty"` Tag string `protobuf:"bytes,5,opt,name=tag,proto3" json:"tag,omitempty"` PresignedPostRequest *PresignedPostRequest `protobuf:"bytes,6,opt,name=presigned_post_request,json=presignedPostRequest,proto3" json:"presigned_post_request,omitempty"` + Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1564,6 +1549,13 @@ func (x *DeployAgentResponse) GetPresignedPostRequest() *PresignedPostRequest { return nil } +func (x *DeployAgentResponse) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + type UpdateAgentSecretsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` @@ -2814,7 +2806,7 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\n" + "updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12,\n" + "\x04kind\x18\x05 \x01(\x0e2\x18.livekit.AgentSecretKindR\x04kind\x12\"\n" + - "\fenvironments\x18\x06 \x03(\tR\fenvironments\"\x87\x02\n" + + "\fenvironments\x18\x06 \x03(\tR\fenvironments\"\xe5\x01\n" + "\x12CreateAgentRequest\x12!\n" + "\n" + "agent_name\x18\x01 \x01(\tB\x02\x18\x01R\tagentName\x12.\n" + @@ -2822,8 +2814,7 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\breplicas\x18\x03 \x01(\x05B\x02\x18\x01R\breplicas\x12%\n" + "\fmax_replicas\x18\x04 \x01(\x05B\x02\x18\x01R\vmaxReplicas\x12\x1b\n" + "\acpu_req\x18\x05 \x01(\tB\x02\x18\x01R\x06cpuReq\x12\x18\n" + - "\aregions\x18\x06 \x03(\tR\aregions\x12 \n" + - "\venvironment\x18\a \x01(\tR\venvironment\"\xe3\x02\n" + + "\aregions\x18\x06 \x03(\tR\aregions\"\xc1\x02\n" + "\x13CreateAgentResponse\x12&\n" + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x1d\n" + "\n" + @@ -2833,8 +2824,7 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\rpresigned_url\x18\x05 \x01(\tR\fpresignedUrl\x12\x10\n" + "\x03tag\x18\x06 \x01(\tR\x03tag\x12%\n" + "\x0eserver_regions\x18\a \x03(\tR\rserverRegions\x12S\n" + - "\x16presigned_post_request\x18\b \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\x12 \n" + - "\venvironment\x18\t \x01(\tR\venvironment\"\xa6\x01\n" + + "\x16presigned_post_request\x18\b \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\"\xa6\x01\n" + "\x14PresignedPostRequest\x12\x10\n" + "\x03url\x18\x01 \x01(\tR\x03url\x12A\n" + "\x06values\x18\x02 \x03(\v2).livekit.PresignedPostRequest.ValuesEntryR\x06values\x1a9\n" + @@ -2920,14 +2910,15 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\breplicas\x18\x04 \x01(\x05B\x02\x18\x01R\breplicas\x12%\n" + "\fmax_replicas\x18\x05 \x01(\x05B\x02\x18\x01R\vmaxReplicas\x12\x1b\n" + "\acpu_req\x18\x06 \x01(\tB\x02\x18\x01R\x06cpuReq\x12 \n" + - "\venvironment\x18\a \x01(\tR\venvironment\"\xfd\x01\n" + + "\venvironment\x18\a \x01(\tR\venvironment\"\x9f\x02\n" + "\x13DeployAgentResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\x12&\n" + "\bagent_id\x18\x03 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12#\n" + "\rpresigned_url\x18\x04 \x01(\tR\fpresignedUrl\x12\x10\n" + "\x03tag\x18\x05 \x01(\tR\x03tag\x12S\n" + - "\x16presigned_post_request\x18\x06 \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\"\xc8\x01\n" + + "\x16presigned_post_request\x18\x06 \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\x12 \n" + + "\venvironment\x18\a \x01(\tR\venvironment\"\xc8\x01\n" + "\x19UpdateAgentSecretsRequest\x12&\n" + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x1d\n" + "\n" + diff --git a/livekit/livekit_cloud_agent.twirp.go b/livekit/livekit_cloud_agent.twirp.go index f586dad7b..b1051e458 100644 --- a/livekit/livekit_cloud_agent.twirp.go +++ b/livekit/livekit_cloud_agent.twirp.go @@ -4423,144 +4423,147 @@ func (s *cloudAgentServer) PathPrefix() string { } var twirpFileDescriptor6 = []byte{ - // 2224 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4b, 0x6f, 0x1b, 0xc9, - 0x11, 0xd6, 0xf0, 0x25, 0xb2, 0x28, 0xd9, 0x74, 0x4b, 0x96, 0x47, 0x94, 0x64, 0x4b, 0x63, 0x3b, - 0x50, 0x6c, 0x83, 0x5e, 0x3b, 0x40, 0xb2, 0x76, 0xb0, 0x40, 0x68, 0x71, 0x2c, 0xd1, 0x92, 0x29, - 0xa2, 0x49, 0x69, 0xe3, 0x4d, 0x80, 0xc9, 0x88, 0x6c, 0x33, 0x03, 0x71, 0x1e, 0x9e, 0x69, 0xca, - 0xab, 0x73, 0x4e, 0x09, 0x90, 0x1f, 0x90, 0x3d, 0xe5, 0x94, 0x43, 0x7e, 0x42, 0x72, 0x0a, 0x90, - 0x43, 0xfe, 0x43, 0x0e, 0x39, 0xe5, 0x12, 0xec, 0x2d, 0xe7, 0x04, 0xc1, 0x74, 0xcf, 0xa3, 0x87, - 0x1c, 0xea, 0xe9, 0x45, 0x2e, 0x36, 0xbb, 0xab, 0xba, 0x9e, 0x5f, 0x55, 0xd7, 0xb4, 0x60, 0x79, - 0x68, 0x9c, 0x90, 0x63, 0x83, 0x6a, 0xbd, 0xa1, 0x3d, 0xea, 0x6b, 0xfa, 0x80, 0x58, 0xb4, 0xe6, - 0xb8, 0x36, 0xb5, 0xd1, 0x6c, 0x40, 0xaa, 0xde, 0x1b, 0xd8, 0xf6, 0x60, 0x48, 0x9e, 0xb2, 0xed, - 0xa3, 0xd1, 0xfb, 0xa7, 0xd4, 0x30, 0x89, 0x47, 0x75, 0xd3, 0xe1, 0x9c, 0xd5, 0xc5, 0xa1, 0x3d, - 0x18, 0x10, 0xf7, 0xa9, 0xed, 0x50, 0xc3, 0xb6, 0x3c, 0xbe, 0xab, 0xfc, 0x5a, 0x02, 0xa8, 0xfb, - 0xf2, 0xd4, 0x13, 0x62, 0x51, 0xf4, 0x18, 0x72, 0xf4, 0xd4, 0x21, 0xb2, 0xb4, 0x2e, 0x6d, 0xde, - 0x78, 0x7e, 0xa7, 0x16, 0x48, 0xaf, 0xc5, 0x2c, 0xdd, 0x53, 0x87, 0x60, 0xc6, 0x84, 0x16, 0x21, - 0xdf, 0xb3, 0x47, 0x16, 0x95, 0x33, 0xeb, 0xd2, 0x66, 0x1e, 0xf3, 0x05, 0xfa, 0x1c, 0x4a, 0x91, - 0x6a, 0x39, 0xbb, 0x2e, 0x6d, 0x96, 0x9f, 0x57, 0x6b, 0xdc, 0xb8, 0x5a, 0x68, 0x5c, 0xad, 0x1b, - 0x72, 0xe0, 0x98, 0x59, 0xf9, 0xbb, 0x04, 0x65, 0xa6, 0xa8, 0x43, 0x7a, 0x2e, 0xa1, 0x08, 0x41, - 0xce, 0xd2, 0x4d, 0x6e, 0x4c, 0x09, 0xb3, 0xdf, 0xbe, 0xce, 0x13, 0x7d, 0x38, 0x22, 0x4c, 0xe7, - 0x1c, 0xe6, 0x0b, 0xf4, 0x02, 0xa0, 0xe7, 0x12, 0x9d, 0x92, 0xbe, 0xa6, 0xd3, 0x8b, 0x28, 0x0d, - 0xb8, 0xeb, 0xd4, 0x3f, 0x3a, 0x72, 0xfa, 0xe1, 0xd1, 0xdc, 0xf9, 0x47, 0x03, 0xee, 0x3a, 0x45, - 0x4f, 0x20, 0x77, 0x6c, 0x58, 0x7d, 0x39, 0xcf, 0x82, 0x25, 0x27, 0x83, 0xc5, 0x7d, 0xd8, 0x35, - 0xac, 0x3e, 0x66, 0x5c, 0xca, 0x3f, 0x25, 0x40, 0x5b, 0x4c, 0x2d, 0xa3, 0x63, 0xf2, 0x61, 0x44, - 0x3c, 0x8a, 0x36, 0x00, 0x58, 0x3e, 0xb5, 0xd8, 0xd5, 0x57, 0x19, 0x59, 0xc2, 0x25, 0xb6, 0xdb, - 0xf2, 0x7d, 0xae, 0xc1, 0xac, 0xc7, 0xa4, 0x79, 0x72, 0x66, 0x3d, 0xbb, 0x59, 0x7e, 0xbe, 0x98, - 0xa6, 0x0a, 0x87, 0x4c, 0xe8, 0x2e, 0x14, 0x5d, 0xe2, 0x0c, 0x8d, 0x9e, 0xee, 0xb1, 0x58, 0xe4, - 0x99, 0xc0, 0x68, 0x0f, 0x3d, 0x84, 0x39, 0x53, 0xff, 0x5a, 0x8b, 0x78, 0x72, 0x11, 0x4f, 0xd9, - 0xd4, 0xbf, 0xc6, 0x21, 0xdb, 0x0a, 0xcc, 0xf6, 0x9c, 0x91, 0xe6, 0x92, 0x0f, 0xcc, 0x43, 0x6e, - 0x56, 0xa1, 0xe7, 0x8c, 0x30, 0xf9, 0x80, 0x64, 0x98, 0x75, 0xc9, 0xc0, 0x07, 0x92, 0x5c, 0x58, - 0xcf, 0x6e, 0x96, 0x70, 0xb8, 0x54, 0xfe, 0x92, 0x81, 0x85, 0x84, 0x9f, 0x9e, 0x63, 0x5b, 0x1e, - 0x41, 0xdf, 0x83, 0x22, 0x77, 0xd4, 0xe8, 0x07, 0x6e, 0x96, 0xbf, 0xf9, 0xf6, 0xc9, 0x2c, 0xdb, - 0x6b, 0x36, 0x70, 0xf0, 0xa3, 0x8f, 0xd6, 0x12, 0x01, 0xc9, 0xb0, 0xdc, 0x0b, 0xc1, 0x58, 0x82, - 0x82, 0x47, 0x75, 0x3a, 0xe2, 0xae, 0x95, 0x70, 0xb0, 0xf2, 0x0d, 0x3a, 0x21, 0xae, 0x67, 0xd8, - 0x16, 0xf3, 0xa7, 0x84, 0xc3, 0x25, 0xba, 0x0f, 0xf3, 0x8e, 0x4b, 0x3c, 0x63, 0x60, 0x91, 0xbe, - 0x36, 0x72, 0x87, 0xdc, 0x1b, 0x3c, 0x17, 0x6d, 0x1e, 0xb8, 0x43, 0x54, 0x81, 0x2c, 0xd5, 0x07, - 0x72, 0x81, 0x91, 0xfc, 0x9f, 0xe8, 0x21, 0xdc, 0xf0, 0x88, 0x7b, 0x42, 0x5c, 0x2d, 0x74, 0x74, - 0x96, 0x39, 0x3a, 0xcf, 0x77, 0x31, 0xdf, 0x44, 0x1d, 0x58, 0x8a, 0xa5, 0x3b, 0xb6, 0x47, 0xfd, - 0x80, 0xf9, 0x99, 0x95, 0x8b, 0x0c, 0x4b, 0x6b, 0x51, 0xae, 0xda, 0x21, 0x5b, 0xdb, 0xf6, 0xc2, - 0xf4, 0xe3, 0x45, 0x27, 0x65, 0x57, 0xf9, 0x83, 0x04, 0x8b, 0x69, 0xec, 0xbe, 0x99, 0xbe, 0x07, - 0xbc, 0x22, 0xfc, 0x9f, 0xa8, 0x0e, 0x05, 0x56, 0x03, 0x21, 0x36, 0xbe, 0x7f, 0xa6, 0xbe, 0xda, - 0x21, 0xe3, 0x55, 0x2d, 0xea, 0x9e, 0xe2, 0xe0, 0x60, 0xf5, 0x05, 0x94, 0x85, 0x6d, 0x5f, 0xc7, - 0x31, 0x39, 0x0d, 0x75, 0x1c, 0x93, 0xd3, 0x64, 0xd1, 0x95, 0x82, 0xa2, 0x7b, 0x99, 0xf9, 0x5c, - 0x52, 0xfe, 0x9c, 0x85, 0x9b, 0x2c, 0xcd, 0x0d, 0xe2, 0x0c, 0xed, 0x53, 0xd3, 0xef, 0x21, 0x4b, - 0x50, 0xe0, 0x11, 0x0b, 0x44, 0x04, 0xab, 0x04, 0x00, 0x32, 0x67, 0x00, 0x60, 0x5a, 0x86, 0xab, - 0x02, 0xac, 0x19, 0x64, 0x05, 0x48, 0x6f, 0xc0, 0x9c, 0x69, 0x58, 0x31, 0xa4, 0xf3, 0x8c, 0x5e, - 0x36, 0x0d, 0x0b, 0x8b, 0x2c, 0x22, 0xea, 0x0b, 0x01, 0x8b, 0x80, 0xf8, 0x3b, 0x31, 0xe2, 0x67, - 0xb9, 0xea, 0x00, 0xed, 0x3e, 0x61, 0xe4, 0x6a, 0x3d, 0x67, 0xc4, 0xb2, 0xea, 0x13, 0x46, 0xee, - 0x96, 0x33, 0x0a, 0x09, 0x26, 0x31, 0xe5, 0x52, 0x44, 0x78, 0x4b, 0x4c, 0x9f, 0x60, 0x12, 0x93, - 0x89, 0x02, 0x4e, 0x30, 0x89, 0xe9, 0x8b, 0x5a, 0x81, 0x92, 0x4f, 0x18, 0x1a, 0xa6, 0x41, 0xe5, - 0x32, 0x23, 0x15, 0x4d, 0x62, 0xee, 0xf9, 0x6b, 0x9f, 0xe8, 0x1b, 0xc0, 0x89, 0x73, 0x9c, 0xd8, - 0x73, 0x46, 0x9c, 0x78, 0x1f, 0xe6, 0x13, 0x80, 0x94, 0xe7, 0x39, 0x8e, 0x45, 0x3c, 0xa2, 0xc7, - 0x50, 0x20, 0x7e, 0x9b, 0xf6, 0xe4, 0x1b, 0x0c, 0x0e, 0x0b, 0x29, 0x2d, 0x1c, 0x07, 0x2c, 0xca, - 0xef, 0x33, 0x50, 0x62, 0xdb, 0x4d, 0xeb, 0xbd, 0xfd, 0xa9, 0x0a, 0x54, 0x28, 0xc4, 0x6c, 0xb2, - 0x10, 0x55, 0xb8, 0xc5, 0x0f, 0xf6, 0x23, 0xb0, 0xf8, 0x99, 0xf4, 0xcd, 0x1c, 0x6b, 0x9e, 0x31, - 0x9a, 0x70, 0x45, 0x4f, 0x6e, 0x78, 0x62, 0x3b, 0xcc, 0x5f, 0xa4, 0x1d, 0xfe, 0x18, 0xca, 0x5c, - 0x21, 0x6f, 0xf1, 0x85, 0x73, 0x5b, 0x3c, 0x84, 0xec, 0x75, 0xaa, 0x7c, 0x05, 0xb7, 0xf6, 0x0c, - 0x8f, 0x32, 0xc1, 0x5e, 0x58, 0x85, 0x6b, 0x93, 0x3d, 0x5b, 0x8c, 0xc0, 0x05, 0x81, 0xae, 0xfc, - 0x04, 0x90, 0x28, 0x3b, 0xe8, 0x93, 0x8f, 0xa0, 0xc0, 0x18, 0x3c, 0x59, 0x62, 0xde, 0xa1, 0xa4, - 0x77, 0x7e, 0xaa, 0x70, 0xc0, 0xa1, 0xfc, 0x26, 0x0b, 0x73, 0x6c, 0xf7, 0x30, 0x08, 0xb1, 0x10, - 0x7c, 0x29, 0x19, 0x7c, 0x99, 0x21, 0xd5, 0x25, 0xc1, 0x75, 0x5d, 0xc4, 0xe1, 0xf2, 0x3a, 0x97, - 0xe7, 0x58, 0x68, 0x73, 0x97, 0x09, 0x2d, 0x52, 0x01, 0x74, 0x4a, 0x5d, 0xe3, 0x68, 0x44, 0x49, - 0x98, 0xca, 0x87, 0x49, 0x67, 0x03, 0xb7, 0x6a, 0xf5, 0x88, 0x8f, 0x77, 0x2e, 0xe1, 0xa0, 0xd0, - 0x2e, 0x0a, 0x89, 0x76, 0xb1, 0x08, 0x79, 0xfb, 0xa3, 0x45, 0xdc, 0xa0, 0x94, 0xf9, 0xc2, 0x6f, - 0x22, 0x7d, 0x57, 0x37, 0x2c, 0xc3, 0x1a, 0xb0, 0x52, 0x2e, 0xe2, 0x68, 0x5d, 0xfd, 0x02, 0x6e, - 0x8e, 0x29, 0xba, 0x54, 0x2f, 0xd4, 0x41, 0x8e, 0xd2, 0x19, 0x18, 0x1e, 0x21, 0xe6, 0xd3, 0xd4, - 0x96, 0xd2, 0x82, 0xe5, 0x14, 0x15, 0x01, 0x70, 0x9e, 0x41, 0x31, 0x48, 0x76, 0x08, 0x9d, 0xdb, - 0xa9, 0xd1, 0xc4, 0x11, 0x9b, 0xf2, 0xdb, 0x0c, 0xa0, 0x03, 0x36, 0xcf, 0x24, 0x66, 0x92, 0x8b, - 0x5a, 0xbb, 0x31, 0x69, 0xed, 0xf8, 0xec, 0xf2, 0x7f, 0x9d, 0x45, 0xc4, 0x56, 0x31, 0x7b, 0x81, - 0x56, 0xa1, 0x34, 0x61, 0x21, 0x11, 0x8e, 0x20, 0xb2, 0x32, 0xcc, 0x7a, 0xa3, 0x5e, 0x8f, 0x78, - 0x1e, 0x0b, 0x47, 0x11, 0x87, 0x4b, 0x9f, 0x62, 0x12, 0xcf, 0xd3, 0x07, 0x61, 0xb2, 0xc2, 0xa5, - 0xf2, 0x05, 0x2c, 0x60, 0x1f, 0xf4, 0x2e, 0xbd, 0x4a, 0x68, 0x95, 0x37, 0xb0, 0x98, 0x3c, 0x7e, - 0x0d, 0x53, 0xfe, 0x2d, 0x01, 0xe2, 0x0d, 0xf4, 0xbb, 0xca, 0xb2, 0x10, 0xe7, 0xec, 0x65, 0x27, - 0xd4, 0xdc, 0x05, 0x50, 0x91, 0x3f, 0x17, 0x15, 0x85, 0x71, 0x54, 0x28, 0xff, 0x91, 0x60, 0x21, - 0xe1, 0xf5, 0xd5, 0x23, 0x98, 0x08, 0x55, 0xf6, 0x8c, 0x50, 0x4d, 0x8c, 0x9a, 0xb9, 0xe9, 0xa3, - 0x66, 0x3e, 0x1e, 0x35, 0xa7, 0xcf, 0x90, 0x85, 0xab, 0xcf, 0x90, 0x7f, 0x93, 0x60, 0x59, 0x00, - 0x33, 0x4f, 0xc1, 0x27, 0x6e, 0x48, 0x68, 0x15, 0x4a, 0xf6, 0x09, 0x71, 0x3f, 0xba, 0x06, 0x25, - 0x2c, 0x32, 0x45, 0x1c, 0x6f, 0x88, 0xb0, 0xc8, 0x5d, 0x04, 0x16, 0x6c, 0x72, 0x34, 0xed, 0x13, - 0xc2, 0x6e, 0x03, 0x36, 0x39, 0xfa, 0x2b, 0xa5, 0x0d, 0xd5, 0x34, 0x4f, 0xae, 0x51, 0x12, 0x1f, - 0x61, 0x11, 0xdb, 0xc3, 0xe1, 0x91, 0xde, 0x3b, 0xbe, 0x52, 0x4d, 0x5c, 0x75, 0x06, 0x52, 0x76, - 0xe1, 0xf6, 0x98, 0xe2, 0x6b, 0x78, 0xf1, 0x33, 0xbf, 0xae, 0x87, 0xe4, 0x8a, 0xdd, 0xfb, 0x9c, - 0xbb, 0xa6, 0xe9, 0x97, 0x8f, 0x20, 0xfc, 0x1a, 0x76, 0xfe, 0x02, 0xee, 0x44, 0xd7, 0xd6, 0x77, - 0x82, 0x43, 0xe5, 0x8d, 0x70, 0xf7, 0x8e, 0xe3, 0x43, 0x40, 0xa1, 0x74, 0x91, 0x4b, 0xe0, 0x05, - 0xcc, 0x77, 0x08, 0xa5, 0x86, 0x35, 0xf0, 0xda, 0xba, 0xab, 0x9b, 0xe7, 0xbf, 0x43, 0x84, 0x63, - 0x80, 0xb2, 0x03, 0x4b, 0x5b, 0x43, 0x83, 0xc9, 0xe4, 0x02, 0x04, 0x23, 0x0a, 0x8e, 0x2f, 0x2c, - 0xb4, 0x61, 0x29, 0xb2, 0x21, 0xa1, 0x0b, 0x07, 0x5c, 0xca, 0x1d, 0xb8, 0x3d, 0x2e, 0x89, 0x97, - 0xf5, 0x5f, 0x33, 0x50, 0x6e, 0xbb, 0xc6, 0x89, 0x4e, 0xc9, 0x9e, 0x61, 0x1d, 0xa3, 0x17, 0x70, - 0xd3, 0xe1, 0x4b, 0x6d, 0x68, 0x58, 0xc7, 0x71, 0x1c, 0x6f, 0x7d, 0xf3, 0xed, 0x93, 0x79, 0x27, - 0xe6, 0x6c, 0x36, 0x70, 0x62, 0xd9, 0x8f, 0xfc, 0xca, 0x08, 0x7e, 0xc5, 0x1f, 0x6f, 0xb9, 0xc4, - 0xc7, 0x1b, 0x82, 0x9c, 0x63, 0xbb, 0x94, 0x75, 0xad, 0x79, 0xcc, 0x7e, 0xfb, 0xb3, 0x14, 0xb1, - 0xfa, 0x8e, 0x6d, 0x58, 0x34, 0x98, 0xbd, 0xa2, 0x35, 0x7a, 0x0a, 0x0b, 0x3d, 0xdb, 0xb2, 0x48, - 0x8f, 0x1a, 0xb6, 0xa5, 0x45, 0x6c, 0x7c, 0x16, 0x43, 0x31, 0x49, 0x0d, 0x0f, 0xfc, 0x10, 0xb2, - 0xfa, 0x47, 0x2f, 0x18, 0x3f, 0xef, 0x0a, 0x0d, 0x2f, 0xb2, 0xb8, 0x56, 0xff, 0xb2, 0xb3, 0x65, - 0x5b, 0xef, 0x8d, 0x81, 0xdf, 0xe7, 0x77, 0x66, 0xb0, 0x7f, 0xa0, 0xfa, 0x18, 0x4a, 0xd1, 0xbe, - 0x7f, 0xaf, 0x44, 0xaa, 0xe2, 0xa7, 0x94, 0x68, 0xef, 0x55, 0x11, 0x0a, 0x3d, 0xc6, 0xa9, 0xfc, - 0x2a, 0x0b, 0xb7, 0x04, 0xd9, 0x1d, 0x3e, 0x33, 0xbe, 0x88, 0x66, 0x49, 0xfe, 0x00, 0xb6, 0x91, - 0x66, 0x07, 0xe7, 0xad, 0xf1, 0xff, 0xa2, 0x71, 0x33, 0xf9, 0x8e, 0x94, 0xb9, 0xcc, 0x3b, 0x12, - 0x8b, 0xb9, 0xee, 0x45, 0xcd, 0x22, 0x58, 0x29, 0xff, 0x90, 0xa0, 0x10, 0x18, 0x76, 0x0f, 0x56, - 0xda, 0xb8, 0x79, 0x58, 0xef, 0xaa, 0xda, 0x5e, 0xb3, 0xb5, 0xab, 0x75, 0xba, 0xf5, 0xee, 0x41, - 0x47, 0x3b, 0x68, 0xed, 0xb6, 0xf6, 0xbf, 0x6c, 0x55, 0x66, 0xd0, 0x03, 0x58, 0x4f, 0x63, 0x68, - 0xe3, 0xfd, 0xc3, 0x66, 0xa7, 0xb9, 0xdf, 0x6a, 0xb6, 0xb6, 0x2b, 0x12, 0xda, 0x84, 0x07, 0xa9, - 0x5c, 0x6a, 0xab, 0xd1, 0x6c, 0x6d, 0x6b, 0xf5, 0xb6, 0xcf, 0x5f, 0xdf, 0xab, 0x64, 0xa6, 0x29, - 0xdc, 0x51, 0xeb, 0x7b, 0xdd, 0x9d, 0x77, 0x95, 0x2c, 0xda, 0x80, 0xb5, 0x74, 0x8b, 0x42, 0x96, - 0x1c, 0x5a, 0x87, 0xd5, 0x34, 0x16, 0xae, 0x45, 0x6d, 0x54, 0xf2, 0xca, 0x7f, 0x25, 0x90, 0xf9, - 0x5b, 0x91, 0x10, 0xdf, 0xb0, 0x35, 0xa4, 0x95, 0x5d, 0x0c, 0xcf, 0x6c, 0x2a, 0x3c, 0x73, 0x53, - 0xe0, 0x99, 0x1f, 0x83, 0x67, 0x93, 0xa3, 0x8d, 0xa7, 0xe9, 0x59, 0x94, 0xe5, 0x69, 0xb6, 0x30, - 0xe8, 0x31, 0xda, 0x24, 0x00, 0x9f, 0xc1, 0xcd, 0x31, 0xea, 0x25, 0x60, 0xd8, 0x85, 0xe5, 0x14, - 0x9d, 0x41, 0xcf, 0xf8, 0x11, 0xcc, 0x89, 0xa5, 0xcd, 0x44, 0x89, 0xdd, 0x4b, 0x3c, 0x53, 0x16, - 0x4a, 0x5b, 0x39, 0x84, 0xe5, 0x06, 0xf1, 0xa8, 0x6b, 0x9f, 0xa6, 0x84, 0xf5, 0xea, 0x0d, 0x43, - 0x59, 0x85, 0x6a, 0x9a, 0x5c, 0x6e, 0xae, 0xb2, 0xcc, 0xbb, 0xbc, 0x40, 0x8a, 0x9a, 0xd6, 0x6b, - 0xde, 0x9e, 0x93, 0xa4, 0xe8, 0x7b, 0x37, 0x6f, 0x50, 0x62, 0x4e, 0x36, 0x67, 0x51, 0x07, 0x67, - 0x51, 0x7e, 0x0a, 0x2b, 0xdb, 0x84, 0x4e, 0xd4, 0xe2, 0x27, 0x70, 0xad, 0x0d, 0xab, 0xe9, 0x92, - 0x03, 0x2b, 0x3f, 0x0b, 0xfb, 0xbd, 0x14, 0x54, 0xf6, 0xd4, 0xc6, 0x10, 0xdc, 0x05, 0x8f, 0xec, - 0xe0, 0x65, 0x2c, 0x7e, 0x08, 0x46, 0x6b, 0xb0, 0x5c, 0xdf, 0x56, 0x5b, 0x5d, 0xad, 0xa3, 0x6e, - 0x61, 0xb5, 0xab, 0xed, 0x36, 0x5b, 0x0d, 0xa1, 0x86, 0x37, 0x60, 0x6d, 0x92, 0xac, 0xb6, 0x0e, - 0x9b, 0x78, 0xbf, 0xf5, 0x56, 0x6d, 0x75, 0x2b, 0x12, 0xaa, 0xc2, 0xd2, 0x24, 0xcb, 0xeb, 0xe6, - 0x9e, 0x5a, 0xc9, 0x3c, 0xfa, 0x93, 0x04, 0x37, 0x92, 0xef, 0xf4, 0x68, 0x15, 0x64, 0xce, 0xae, - 0x1e, 0xfa, 0xff, 0x76, 0xdf, 0xb5, 0x55, 0x41, 0xdf, 0x26, 0x3c, 0x98, 0xa0, 0xd6, 0xdb, 0xed, - 0xbd, 0xe6, 0x56, 0xbd, 0xdb, 0xdc, 0x6f, 0x69, 0x5b, 0xb8, 0xde, 0xd9, 0x51, 0x1b, 0x15, 0x09, - 0xd5, 0xe0, 0xd1, 0x04, 0x27, 0x56, 0x3b, 0xdd, 0x3a, 0xee, 0xaa, 0x0d, 0x6d, 0xa7, 0xb9, 0xbd, - 0xa3, 0x35, 0x9a, 0x9d, 0x5d, 0xed, 0xa0, 0x53, 0xdf, 0x56, 0x2b, 0x19, 0xf4, 0x19, 0x3c, 0x39, - 0x8f, 0xff, 0xad, 0xfa, 0x76, 0x1f, 0xbf, 0x0b, 0x4e, 0x64, 0x9f, 0xff, 0x0e, 0x00, 0xb6, 0x86, - 0xf6, 0xa8, 0xcf, 0x3c, 0x40, 0x6f, 0xa0, 0x2c, 0xbc, 0x21, 0xa3, 0x95, 0xb1, 0x0a, 0x15, 0xe7, - 0x9d, 0xea, 0x6a, 0x3a, 0x31, 0x40, 0xe5, 0x0c, 0xda, 0x06, 0x88, 0x9f, 0x59, 0x50, 0x9c, 0xb9, - 0x89, 0x77, 0x9d, 0xea, 0x4a, 0x2a, 0x2d, 0x12, 0xf4, 0x73, 0xe1, 0x2d, 0x28, 0xfc, 0xfa, 0x46, - 0x1b, 0x93, 0x67, 0xc6, 0x3e, 0xfe, 0xab, 0xca, 0x59, 0x2c, 0x91, 0xf4, 0x77, 0x50, 0x19, 0x1f, - 0x61, 0xd0, 0xfa, 0xe4, 0xc9, 0xe4, 0xfc, 0x54, 0xdd, 0x38, 0x83, 0x23, 0x12, 0xfd, 0x06, 0xca, - 0xc2, 0xfc, 0x2c, 0x44, 0x73, 0xf2, 0xdb, 0x5f, 0x88, 0x66, 0xca, 0x97, 0xb0, 0x32, 0x83, 0xde, - 0xc2, 0x9c, 0xf8, 0x61, 0x8a, 0x62, 0xfe, 0x94, 0xcf, 0xdd, 0xea, 0xda, 0x14, 0xaa, 0x68, 0x9a, - 0xf0, 0x91, 0x26, 0x98, 0x36, 0xf9, 0xc1, 0x2a, 0x98, 0x96, 0xf2, 0x5d, 0xa7, 0xcc, 0x20, 0x2d, - 0xf1, 0x98, 0x11, 0xc6, 0x50, 0x49, 0x73, 0x68, 0x2c, 0x8a, 0xf7, 0xcf, 0xe4, 0x89, 0x14, 0xb4, - 0x61, 0x3e, 0x31, 0xbc, 0x23, 0xc1, 0xbd, 0x94, 0xaf, 0x89, 0xea, 0xdd, 0x69, 0xe4, 0xa4, 0xfb, - 0xd1, 0x90, 0x9d, 0x70, 0x7f, 0x7c, 0xae, 0x4f, 0xb8, 0x3f, 0x31, 0x97, 0x2b, 0x33, 0xe8, 0x10, - 0x6e, 0x6d, 0x13, 0x9a, 0x9c, 0x1a, 0x51, 0x6c, 0x42, 0xea, 0x38, 0x59, 0xbd, 0x37, 0x95, 0x2e, - 0xc2, 0x7e, 0xe2, 0x8e, 0x12, 0x60, 0x3f, 0xed, 0xce, 0x14, 0x60, 0x3f, 0xf5, 0x8a, 0xe3, 0x49, - 0x9b, 0xbc, 0x53, 0x84, 0xa4, 0x4d, 0xbd, 0xc8, 0x84, 0xa4, 0x9d, 0x71, 0x29, 0x45, 0x75, 0x25, - 0xde, 0x3d, 0x63, 0x75, 0x95, 0x72, 0x63, 0x8d, 0xd5, 0x55, 0xda, 0xc5, 0xa5, 0xcc, 0x20, 0x02, - 0x8b, 0x69, 0x97, 0x06, 0x7a, 0x10, 0x1d, 0x3e, 0xe3, 0xb6, 0xaa, 0x3e, 0x3c, 0x87, 0x2b, 0x54, - 0xf3, 0xea, 0xf5, 0x57, 0xf7, 0x07, 0x06, 0xfd, 0xe5, 0xe8, 0xa8, 0xd6, 0xb3, 0xcd, 0xa7, 0xc1, - 0x21, 0xfe, 0x87, 0xde, 0x9e, 0x3d, 0x0c, 0x37, 0xfe, 0x98, 0x99, 0xdf, 0x33, 0x4e, 0xc8, 0x2e, - 0xbb, 0x93, 0x6c, 0x6a, 0xff, 0x2b, 0x73, 0x23, 0x58, 0xbf, 0x7c, 0xc9, 0x36, 0x8e, 0x0a, 0xec, - 0xc8, 0x0f, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x8c, 0x16, 0x25, 0x2d, 0x4f, 0x1e, 0x00, 0x00, + // 2259 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcb, 0x6f, 0xdb, 0xc8, + 0x19, 0x37, 0xf5, 0xb2, 0xf5, 0xc9, 0x4e, 0x94, 0xb1, 0x93, 0xd0, 0xb2, 0x9d, 0xd8, 0x4c, 0x52, + 0xb8, 0x49, 0xa0, 0x6c, 0x52, 0xa0, 0xdd, 0xa4, 0x58, 0xa0, 0x8a, 0xc5, 0xd8, 0x8a, 0x1d, 0x59, + 0x18, 0x29, 0xde, 0x66, 0x5b, 0x80, 0x65, 0xa4, 0x89, 0x4a, 0x58, 0x7c, 0x84, 0x1c, 0x29, 0xeb, + 0x73, 0x4f, 0x2d, 0xd0, 0x63, 0x0f, 0xdd, 0x4b, 0x7b, 0xea, 0xa1, 0x7f, 0x42, 0x6f, 0x05, 0x7a, + 0xe8, 0x3f, 0x51, 0xf4, 0xd4, 0x4b, 0xb1, 0x7f, 0x43, 0x5b, 0x70, 0x86, 0x8f, 0xa1, 0x48, 0xd9, + 0x8e, 0x9d, 0x45, 0x2f, 0x89, 0x66, 0xbe, 0x6f, 0xbe, 0xd7, 0xfc, 0xbe, 0x07, 0xc7, 0xb0, 0x3a, + 0x32, 0x26, 0xe4, 0xd8, 0xa0, 0x5a, 0x7f, 0x64, 0x8f, 0x07, 0x9a, 0x3e, 0x24, 0x16, 0xad, 0x3b, + 0xae, 0x4d, 0x6d, 0x34, 0x1f, 0x90, 0x6a, 0xb7, 0x87, 0xb6, 0x3d, 0x1c, 0x91, 0x47, 0x6c, 0xfb, + 0xed, 0xf8, 0xdd, 0x23, 0x6a, 0x98, 0xc4, 0xa3, 0xba, 0xe9, 0x70, 0xce, 0xda, 0xca, 0xc8, 0x1e, + 0x0e, 0x89, 0xfb, 0xc8, 0x76, 0xa8, 0x61, 0x5b, 0x1e, 0xdf, 0x55, 0x7e, 0x2d, 0x01, 0x34, 0x7c, + 0x79, 0xea, 0x84, 0x58, 0x14, 0x3d, 0x80, 0x02, 0x3d, 0x71, 0x88, 0x2c, 0x6d, 0x4a, 0xdb, 0x57, + 0x9e, 0xdc, 0xac, 0x07, 0xd2, 0xeb, 0x31, 0x4b, 0xef, 0xc4, 0x21, 0x98, 0x31, 0xa1, 0x15, 0x28, + 0xf6, 0xed, 0xb1, 0x45, 0xe5, 0xdc, 0xa6, 0xb4, 0x5d, 0xc4, 0x7c, 0x81, 0x3e, 0x87, 0x72, 0xa4, + 0x5a, 0xce, 0x6f, 0x4a, 0xdb, 0x95, 0x27, 0xb5, 0x3a, 0x37, 0xae, 0x1e, 0x1a, 0x57, 0xef, 0x85, + 0x1c, 0x38, 0x66, 0x56, 0xfe, 0x2b, 0x41, 0x85, 0x29, 0xea, 0x92, 0xbe, 0x4b, 0x28, 0x42, 0x50, + 0xb0, 0x74, 0x93, 0x1b, 0x53, 0xc6, 0xec, 0xb7, 0xaf, 0x73, 0xa2, 0x8f, 0xc6, 0x84, 0xe9, 0x5c, + 0xc4, 0x7c, 0x81, 0x9e, 0x02, 0xf4, 0x5d, 0xa2, 0x53, 0x32, 0xd0, 0x74, 0x7a, 0x1e, 0xa5, 0x01, + 0x77, 0x83, 0xfa, 0x47, 0xc7, 0xce, 0x20, 0x3c, 0x5a, 0x38, 0xfb, 0x68, 0xc0, 0xdd, 0xa0, 0xe8, + 0x21, 0x14, 0x8e, 0x0d, 0x6b, 0x20, 0x17, 0x59, 0xb0, 0xe4, 0x64, 0xb0, 0xb8, 0x0f, 0xfb, 0x86, + 0x35, 0xc0, 0x8c, 0x0b, 0x29, 0xb0, 0x48, 0xac, 0x89, 0xe1, 0xda, 0x96, 0x49, 0x2c, 0xea, 0xc9, + 0xa5, 0xcd, 0xfc, 0x76, 0x19, 0x27, 0xf6, 0x94, 0x7f, 0x49, 0x80, 0x76, 0x98, 0x69, 0x4c, 0x06, + 0x26, 0xef, 0xc7, 0xc4, 0xa3, 0x68, 0x0b, 0x80, 0xdd, 0xb9, 0x16, 0x87, 0xe3, 0x79, 0x4e, 0x96, + 0x70, 0x99, 0xed, 0xb6, 0xfd, 0xb8, 0xd4, 0x61, 0xde, 0x63, 0x1a, 0x3d, 0x39, 0xb7, 0x99, 0xdf, + 0xae, 0x3c, 0x59, 0xc9, 0x32, 0x07, 0x87, 0x4c, 0xe8, 0x16, 0x2c, 0xb8, 0xc4, 0x19, 0x19, 0x7d, + 0xdd, 0x63, 0xf1, 0x2a, 0x32, 0x81, 0xd1, 0x1e, 0xba, 0x07, 0x8b, 0xa6, 0xfe, 0xb5, 0x16, 0xf1, + 0x14, 0x22, 0x9e, 0x8a, 0xa9, 0x7f, 0x8d, 0x43, 0xb6, 0x35, 0x98, 0xef, 0x3b, 0x63, 0xcd, 0x25, + 0xef, 0x59, 0x14, 0xb8, 0x59, 0xa5, 0xbe, 0x33, 0xc6, 0xe4, 0x3d, 0x92, 0x61, 0xde, 0x25, 0x43, + 0x1f, 0x6c, 0x81, 0xb3, 0xe1, 0x52, 0xf9, 0x6b, 0x0e, 0x96, 0x13, 0x7e, 0x7a, 0x8e, 0x6d, 0x79, + 0x04, 0x7d, 0x0f, 0x16, 0xb8, 0xa3, 0xc6, 0x20, 0x70, 0xb3, 0xf2, 0xcd, 0xb7, 0x0f, 0xe7, 0xd9, + 0x5e, 0xab, 0x89, 0x83, 0x1f, 0x03, 0xb4, 0x91, 0x08, 0x48, 0x8e, 0xe1, 0x43, 0x08, 0xc6, 0x0d, + 0x28, 0x79, 0x54, 0xa7, 0x63, 0xee, 0x5a, 0x19, 0x07, 0x2b, 0xdf, 0xa0, 0x09, 0x71, 0x3d, 0xc3, + 0xb6, 0x98, 0x3f, 0x65, 0x1c, 0x2e, 0xd1, 0x1d, 0x58, 0x72, 0x5c, 0xe2, 0x19, 0x43, 0x8b, 0x0c, + 0xb4, 0xb1, 0x3b, 0xe2, 0xde, 0xe0, 0xc5, 0x68, 0xf3, 0xb5, 0x3b, 0x42, 0x55, 0xc8, 0x53, 0x7d, + 0x28, 0x97, 0x18, 0xc9, 0xff, 0x89, 0xee, 0xc1, 0x15, 0x8f, 0xb8, 0x13, 0xe2, 0x6a, 0xa1, 0xa3, + 0xf3, 0xcc, 0xd1, 0x25, 0xbe, 0x8b, 0xf9, 0x26, 0xea, 0xc2, 0x8d, 0x58, 0xba, 0x63, 0x7b, 0xd4, + 0x0f, 0x98, 0x7f, 0xb3, 0xf2, 0x02, 0xc3, 0xdb, 0x46, 0x74, 0x57, 0x9d, 0x90, 0xad, 0x63, 0x7b, + 0xe1, 0xf5, 0xe3, 0x15, 0x27, 0x63, 0x57, 0xf9, 0x93, 0x04, 0x2b, 0x59, 0xec, 0xbe, 0x99, 0xbe, + 0x07, 0x3c, 0x6b, 0xfc, 0x9f, 0xa8, 0x01, 0x25, 0x96, 0x27, 0x21, 0x36, 0xbe, 0x7f, 0xaa, 0xbe, + 0xfa, 0x11, 0xe3, 0x55, 0x2d, 0xea, 0x9e, 0xe0, 0xe0, 0x60, 0xed, 0x29, 0x54, 0x84, 0x6d, 0x5f, + 0xc7, 0x31, 0x39, 0x09, 0x75, 0x1c, 0x93, 0x93, 0x64, 0x62, 0x96, 0x83, 0xc4, 0x7c, 0x96, 0xfb, + 0x5c, 0x52, 0xfe, 0x91, 0x87, 0xab, 0xec, 0x9a, 0x9b, 0xc4, 0x19, 0xd9, 0x27, 0x3e, 0xd2, 0xfd, + 0x1b, 0xe2, 0x11, 0x0b, 0x44, 0x04, 0xab, 0x04, 0x00, 0x72, 0xa7, 0x00, 0x60, 0xd6, 0x0d, 0xd7, + 0x04, 0x58, 0x33, 0xc8, 0x0a, 0x90, 0xde, 0x82, 0x45, 0xd3, 0xb0, 0x62, 0x48, 0x17, 0x19, 0xbd, + 0x62, 0x1a, 0x16, 0x16, 0x59, 0x44, 0xd4, 0x97, 0x02, 0x16, 0x01, 0xf1, 0x37, 0x63, 0xc4, 0xcf, + 0x73, 0xd5, 0x01, 0xda, 0x7d, 0xc2, 0xd8, 0xd5, 0xfa, 0xce, 0x98, 0xdd, 0xaa, 0x4f, 0x18, 0xbb, + 0x3b, 0xce, 0x38, 0x24, 0x98, 0xc4, 0x94, 0xcb, 0x11, 0xe1, 0x15, 0x31, 0x7d, 0x82, 0x49, 0x4c, + 0x26, 0x0a, 0x38, 0xc1, 0x24, 0xa6, 0x2f, 0x6a, 0x0d, 0xca, 0x3e, 0x61, 0x64, 0x98, 0x06, 0x95, + 0x2b, 0x8c, 0xb4, 0x60, 0x12, 0xf3, 0xc0, 0x5f, 0xfb, 0x44, 0xdf, 0x00, 0x4e, 0x5c, 0xe4, 0xc4, + 0xbe, 0x33, 0xe6, 0xc4, 0x3b, 0xb0, 0x94, 0x00, 0xa4, 0xbc, 0xc4, 0x71, 0x2c, 0xe2, 0x11, 0x3d, + 0x80, 0x12, 0x99, 0xb0, 0x1a, 0x74, 0x85, 0xc1, 0x61, 0x39, 0xa3, 0xcc, 0xe3, 0x80, 0x05, 0x6d, + 0x42, 0x45, 0x28, 0x51, 0xf2, 0x55, 0x26, 0x4f, 0xdc, 0x52, 0xfe, 0x98, 0x83, 0x32, 0x3b, 0xd8, + 0xb2, 0xde, 0xd9, 0x9f, 0x2a, 0x85, 0x85, 0x54, 0xcd, 0x27, 0x53, 0x55, 0x85, 0x6b, 0xfc, 0xe0, + 0x20, 0x82, 0x93, 0x7f, 0xd7, 0xbe, 0x23, 0x53, 0x25, 0x38, 0xc6, 0x1b, 0xae, 0xea, 0xc9, 0x0d, + 0x4f, 0x2c, 0x98, 0xc5, 0xf3, 0x14, 0xcc, 0x1f, 0x43, 0x85, 0x2b, 0xe4, 0x8d, 0xa2, 0x74, 0x66, + 0xa3, 0x80, 0x90, 0xbd, 0x41, 0x95, 0xaf, 0xe0, 0xda, 0x81, 0xe1, 0x51, 0x26, 0xd8, 0x0b, 0xf3, + 0x74, 0x23, 0x5d, 0xd5, 0xc5, 0x08, 0x9c, 0x33, 0x15, 0x94, 0x9f, 0x00, 0x12, 0x65, 0x07, 0x95, + 0xf4, 0x3e, 0x94, 0x18, 0x83, 0x27, 0x4b, 0xcc, 0x3b, 0x94, 0xf4, 0xce, 0xbf, 0x2a, 0x1c, 0x70, + 0x28, 0xbf, 0xc9, 0xc3, 0x22, 0xdb, 0x3d, 0x0a, 0x42, 0x2c, 0x04, 0x5f, 0x4a, 0x06, 0x5f, 0x66, + 0x58, 0x76, 0x49, 0xd0, 0xf4, 0x17, 0x70, 0xb8, 0xbc, 0x4c, 0x0b, 0x9e, 0x0a, 0x6d, 0xe1, 0x63, + 0x42, 0x8b, 0x54, 0x00, 0x9d, 0x52, 0xd7, 0x78, 0x3b, 0xa6, 0x24, 0xbc, 0xca, 0x7b, 0x49, 0x67, + 0x03, 0xb7, 0xea, 0x8d, 0x88, 0x8f, 0xd7, 0x36, 0xe1, 0xa0, 0x50, 0x50, 0x4a, 0x89, 0x82, 0xb2, + 0x02, 0x45, 0xfb, 0x83, 0x45, 0xdc, 0x20, 0xd9, 0xf9, 0xc2, 0x2f, 0x33, 0x03, 0x57, 0x37, 0x2c, + 0xc3, 0x1a, 0xb2, 0x64, 0x5f, 0xc0, 0xd1, 0xba, 0xf6, 0x05, 0x5c, 0x9d, 0x52, 0xf4, 0x51, 0xd5, + 0x52, 0x07, 0x39, 0xba, 0xce, 0xc0, 0xf0, 0x08, 0x31, 0x9f, 0x26, 0xb7, 0x94, 0x36, 0xac, 0x66, + 0xa8, 0x08, 0x80, 0xf3, 0x18, 0x16, 0x82, 0xcb, 0x0e, 0xa1, 0x73, 0x3d, 0x33, 0x9a, 0x38, 0x62, + 0x53, 0x7e, 0x9b, 0x03, 0xf4, 0x9a, 0x4d, 0x45, 0x89, 0xa9, 0xe5, 0xbc, 0xd6, 0x6e, 0xa5, 0xad, + 0x9d, 0x9e, 0x6e, 0xfe, 0xaf, 0xd3, 0x8a, 0x58, 0x2a, 0xe6, 0xcf, 0x51, 0x2a, 0x94, 0x16, 0x2c, + 0x27, 0xc2, 0x11, 0x44, 0x56, 0x86, 0x79, 0x6f, 0xdc, 0xef, 0x13, 0xcf, 0x63, 0xe1, 0x58, 0xc0, + 0xe1, 0xd2, 0xa7, 0x98, 0xc4, 0xf3, 0xf4, 0x61, 0x78, 0x59, 0xe1, 0x52, 0xf9, 0x02, 0x96, 0xb1, + 0x0f, 0x7a, 0x97, 0x5e, 0x24, 0xb4, 0xca, 0x4b, 0x58, 0x49, 0x1e, 0xbf, 0x84, 0x29, 0xbf, 0xcb, + 0x01, 0xe2, 0x05, 0xf4, 0xbb, 0xba, 0x65, 0x21, 0xce, 0xf9, 0x8f, 0x9d, 0x61, 0x0b, 0xe7, 0x40, + 0x45, 0xf1, 0x4c, 0x54, 0x94, 0x52, 0xa8, 0x98, 0x6a, 0x7f, 0xf3, 0xe9, 0xf6, 0xf7, 0x87, 0x1c, + 0x2c, 0x27, 0xe2, 0x72, 0xf1, 0x18, 0x27, 0x82, 0x99, 0x3f, 0x25, 0x98, 0xa9, 0x71, 0xb5, 0x30, + 0x7b, 0x5c, 0x2d, 0xc6, 0xe3, 0xea, 0xec, 0x39, 0xb4, 0x74, 0xe1, 0x39, 0xf4, 0x1c, 0x11, 0xfa, + 0xbb, 0x04, 0xab, 0x42, 0x42, 0xf0, 0x6b, 0xfc, 0xc4, 0x45, 0x0d, 0xad, 0x43, 0xd9, 0x9e, 0x10, + 0xf7, 0x83, 0x6b, 0x50, 0xc2, 0x62, 0xb7, 0x80, 0xe3, 0x0d, 0x11, 0x5a, 0x85, 0xf3, 0x40, 0x8b, + 0xcd, 0xa7, 0xa6, 0x3d, 0x21, 0xac, 0xa3, 0xb0, 0xf9, 0xd4, 0x5f, 0x29, 0x1d, 0xa8, 0x65, 0x79, + 0x72, 0x89, 0xb4, 0xfa, 0x00, 0x2b, 0xd8, 0x1e, 0x8d, 0xde, 0xea, 0xfd, 0xe3, 0x0b, 0xe5, 0xd5, + 0x45, 0xe7, 0x28, 0x65, 0x1f, 0xae, 0x4f, 0x29, 0xbe, 0x84, 0x17, 0x3f, 0xf3, 0x6b, 0xc3, 0x88, + 0x5c, 0xb0, 0x03, 0x9c, 0xd1, 0xaf, 0x5a, 0x7e, 0x82, 0x09, 0xc2, 0x2f, 0x61, 0xe7, 0x2f, 0xe0, + 0x66, 0xd4, 0xfa, 0xbe, 0x13, 0x1c, 0x2a, 0x2f, 0x85, 0xfe, 0x3d, 0x8d, 0x0f, 0x01, 0x85, 0xd2, + 0x79, 0x1a, 0xc9, 0x53, 0x58, 0xea, 0x12, 0x4a, 0x0d, 0x6b, 0xe8, 0x75, 0x74, 0x57, 0x37, 0xcf, + 0x7e, 0x11, 0x09, 0x47, 0x09, 0x65, 0x0f, 0x6e, 0xec, 0x8c, 0x0c, 0x26, 0x93, 0x0b, 0x10, 0x8c, + 0x28, 0x39, 0xbe, 0xb0, 0xd0, 0x86, 0x1b, 0x91, 0x0d, 0x09, 0x5d, 0x38, 0xe0, 0x52, 0x6e, 0xc2, + 0xf5, 0x69, 0x49, 0xfc, 0x03, 0xf4, 0x6f, 0x39, 0xa8, 0x74, 0x5c, 0x63, 0xa2, 0x53, 0x72, 0x60, + 0x58, 0xc7, 0xe8, 0x29, 0x5c, 0x75, 0xf8, 0x52, 0x1b, 0x19, 0xd6, 0x71, 0x1c, 0xc7, 0x6b, 0xdf, + 0x7c, 0xfb, 0x70, 0xc9, 0x89, 0x39, 0x5b, 0x4d, 0x9c, 0x58, 0x0e, 0x22, 0xbf, 0x72, 0x82, 0x5f, + 0xf1, 0x27, 0x62, 0x21, 0xf1, 0x89, 0x88, 0xa0, 0xe0, 0xd8, 0x2e, 0x65, 0x75, 0x6d, 0x09, 0xb3, + 0xdf, 0xfe, 0x3c, 0x46, 0xac, 0x81, 0x63, 0x1b, 0x16, 0x0d, 0xe6, 0xb7, 0x68, 0x8d, 0x1e, 0xc1, + 0x72, 0xdf, 0xb6, 0x2c, 0xd2, 0xa7, 0x86, 0x6d, 0x69, 0x11, 0x1b, 0xaf, 0x53, 0x28, 0x26, 0xa9, + 0xe1, 0x81, 0x1f, 0x42, 0x5e, 0xff, 0xe0, 0x05, 0x23, 0xec, 0x2d, 0xa1, 0x24, 0x46, 0x16, 0xd7, + 0x1b, 0x5f, 0x76, 0x77, 0x6c, 0xeb, 0x9d, 0x31, 0xf4, 0x7b, 0xc5, 0xde, 0x1c, 0xf6, 0x0f, 0xd4, + 0x1e, 0x40, 0x39, 0xda, 0xf7, 0x7b, 0x53, 0xa4, 0x2a, 0x7e, 0xb0, 0x89, 0xf6, 0x9e, 0x2f, 0x40, + 0xa9, 0xcf, 0x38, 0x95, 0x5f, 0xe5, 0xe1, 0x9a, 0x20, 0xbb, 0xcb, 0xe7, 0xce, 0xa7, 0xd1, 0x3c, + 0xca, 0x9f, 0xe2, 0xb6, 0xb2, 0xec, 0xe0, 0xbc, 0x75, 0xfe, 0x5f, 0x34, 0xb2, 0x26, 0x5f, 0xb4, + 0x72, 0x1f, 0xf3, 0xa2, 0xc5, 0x62, 0xae, 0x7b, 0x51, 0xb1, 0x08, 0x56, 0xca, 0x3f, 0x25, 0x28, + 0x05, 0x86, 0xdd, 0x86, 0xb5, 0x0e, 0x6e, 0x1d, 0x35, 0x7a, 0xaa, 0x76, 0xd0, 0x6a, 0xef, 0x6b, + 0xdd, 0x5e, 0xa3, 0xf7, 0xba, 0xab, 0xbd, 0x6e, 0xef, 0xb7, 0x0f, 0xbf, 0x6c, 0x57, 0xe7, 0xd0, + 0x5d, 0xd8, 0xcc, 0x62, 0xe8, 0xe0, 0xc3, 0xa3, 0x56, 0xb7, 0x75, 0xd8, 0x6e, 0xb5, 0x77, 0xab, + 0x12, 0xda, 0x86, 0xbb, 0x99, 0x5c, 0x6a, 0xbb, 0xd9, 0x6a, 0xef, 0x6a, 0x8d, 0x8e, 0xcf, 0xdf, + 0x38, 0xa8, 0xe6, 0x66, 0x29, 0xdc, 0x53, 0x1b, 0x07, 0xbd, 0xbd, 0x37, 0xd5, 0x3c, 0xda, 0x82, + 0x8d, 0x6c, 0x8b, 0x42, 0x96, 0x02, 0xda, 0x84, 0xf5, 0x2c, 0x16, 0xae, 0x45, 0x6d, 0x56, 0x8b, + 0xca, 0x7f, 0x24, 0x90, 0xf9, 0x8b, 0x94, 0x10, 0xdf, 0xb0, 0x34, 0x64, 0xa5, 0x5d, 0x0c, 0xcf, + 0x7c, 0x26, 0x3c, 0x0b, 0x33, 0xe0, 0x59, 0x9c, 0x82, 0x67, 0x8b, 0xa3, 0x8d, 0x5f, 0xd3, 0xe3, + 0xe8, 0x96, 0x67, 0xd9, 0xc2, 0xa0, 0xc7, 0x68, 0x69, 0x00, 0x3e, 0x86, 0xab, 0x53, 0xd4, 0x8f, + 0x80, 0x61, 0x0f, 0x56, 0x33, 0x74, 0x06, 0x35, 0xe3, 0x47, 0xb0, 0x28, 0xa6, 0x36, 0x13, 0x25, + 0x56, 0x2f, 0xf1, 0x4c, 0x45, 0x48, 0x6d, 0xe5, 0x08, 0x56, 0x9b, 0xc4, 0xa3, 0xae, 0x7d, 0x92, + 0x11, 0xd6, 0x8b, 0x17, 0x0c, 0x65, 0x1d, 0x6a, 0x59, 0x72, 0xb9, 0xb9, 0xca, 0x2a, 0xaf, 0xf2, + 0x02, 0x29, 0x2a, 0x5a, 0x2f, 0x78, 0x79, 0x4e, 0x92, 0xa2, 0x6f, 0xe6, 0xa2, 0x41, 0x89, 0x99, + 0x2e, 0xce, 0xa2, 0x0e, 0xce, 0xa2, 0xfc, 0x14, 0xd6, 0x76, 0x09, 0x4d, 0xe5, 0xe2, 0x27, 0x70, + 0xad, 0x03, 0xeb, 0xd9, 0x92, 0x03, 0x2b, 0x3f, 0x0b, 0xeb, 0xbd, 0x14, 0x64, 0xf6, 0xcc, 0xc2, + 0x10, 0xf4, 0x82, 0xfb, 0x76, 0xf0, 0xfe, 0x16, 0x3f, 0x49, 0xa3, 0x0d, 0x58, 0x6d, 0xec, 0xaa, + 0xed, 0x9e, 0xd6, 0x55, 0x77, 0xb0, 0xda, 0xd3, 0xf6, 0x5b, 0xed, 0xa6, 0x90, 0xc3, 0x5b, 0xb0, + 0x91, 0x26, 0xab, 0xed, 0xa3, 0x16, 0x3e, 0x6c, 0xbf, 0x52, 0xdb, 0xbd, 0xaa, 0x84, 0x6a, 0x70, + 0x23, 0xcd, 0xf2, 0xa2, 0x75, 0xa0, 0x56, 0x73, 0xf7, 0xff, 0x22, 0xc1, 0x95, 0xe4, 0x5f, 0x0c, + 0xd0, 0x3a, 0xc8, 0x9c, 0x5d, 0x3d, 0xf2, 0xff, 0xed, 0xbd, 0xe9, 0xa8, 0x82, 0xbe, 0x6d, 0xb8, + 0x9b, 0xa2, 0x36, 0x3a, 0x9d, 0x83, 0xd6, 0x4e, 0xa3, 0xd7, 0x3a, 0x6c, 0x6b, 0x3b, 0xb8, 0xd1, + 0xdd, 0x53, 0x9b, 0x55, 0x09, 0xd5, 0xe1, 0x7e, 0x8a, 0x13, 0xab, 0xdd, 0x5e, 0x03, 0xf7, 0xd4, + 0xa6, 0xb6, 0xd7, 0xda, 0xdd, 0xd3, 0x9a, 0xad, 0xee, 0xbe, 0xf6, 0xba, 0xdb, 0xd8, 0x55, 0xab, + 0x39, 0xf4, 0x19, 0x3c, 0x3c, 0x8b, 0xff, 0x95, 0xfa, 0xea, 0x10, 0xbf, 0x09, 0x4e, 0xe4, 0x9f, + 0xfc, 0x1e, 0x00, 0x76, 0x46, 0xf6, 0x78, 0xc0, 0x3c, 0x40, 0x2f, 0xa1, 0x22, 0xbc, 0x54, 0xa3, + 0xb5, 0xa9, 0x0c, 0x15, 0xe7, 0x9d, 0xda, 0x7a, 0x36, 0x31, 0x40, 0xe5, 0x1c, 0xda, 0x05, 0x88, + 0x9f, 0x6a, 0x50, 0x7c, 0x73, 0xa9, 0xb7, 0xa1, 0xda, 0x5a, 0x26, 0x2d, 0x12, 0xf4, 0x73, 0xe1, + 0x3d, 0x29, 0xfc, 0x82, 0x47, 0x5b, 0xe9, 0x33, 0x53, 0x0f, 0x08, 0x35, 0xe5, 0x34, 0x96, 0x48, + 0xfa, 0x1b, 0xa8, 0x4e, 0x8f, 0x30, 0x68, 0x33, 0x7d, 0x32, 0x39, 0x3f, 0xd5, 0xb6, 0x4e, 0xe1, + 0x88, 0x44, 0xbf, 0x84, 0x8a, 0x30, 0x3f, 0x0b, 0xd1, 0x4c, 0xbf, 0x1f, 0x08, 0xd1, 0xcc, 0xf8, + 0x9a, 0x56, 0xe6, 0xd0, 0x2b, 0x58, 0x14, 0x3f, 0x6e, 0x51, 0xcc, 0x9f, 0xf1, 0xc9, 0x5c, 0xdb, + 0x98, 0x41, 0x15, 0x4d, 0x13, 0x3e, 0xe3, 0x04, 0xd3, 0xd2, 0x1f, 0xbd, 0x82, 0x69, 0x19, 0x5f, + 0x7e, 0xca, 0x1c, 0xd2, 0x12, 0x0f, 0x22, 0x61, 0x0c, 0x95, 0x2c, 0x87, 0xa6, 0xa2, 0x78, 0xe7, + 0x54, 0x9e, 0x48, 0x41, 0x07, 0x96, 0x12, 0xc3, 0x3b, 0x12, 0xdc, 0xcb, 0xf8, 0x9a, 0xa8, 0xdd, + 0x9a, 0x45, 0x4e, 0xba, 0x1f, 0x0d, 0xd9, 0x09, 0xf7, 0xa7, 0xe7, 0xfa, 0x84, 0xfb, 0xa9, 0xb9, + 0x5c, 0x99, 0x43, 0x47, 0x70, 0x6d, 0x97, 0xd0, 0xe4, 0xd4, 0x88, 0x62, 0x13, 0x32, 0xc7, 0xc9, + 0xda, 0xed, 0x99, 0x74, 0x11, 0xf6, 0xa9, 0x1e, 0x25, 0xc0, 0x7e, 0x56, 0xcf, 0x14, 0x60, 0x3f, + 0xb3, 0xc5, 0xf1, 0x4b, 0x4b, 0xf7, 0x14, 0xe1, 0xd2, 0x66, 0x36, 0x32, 0xe1, 0xd2, 0x4e, 0x69, + 0x4a, 0x51, 0x5e, 0x89, 0xbd, 0x67, 0x2a, 0xaf, 0x32, 0x3a, 0xd6, 0x54, 0x5e, 0x65, 0x35, 0x2e, + 0x65, 0x0e, 0x11, 0x58, 0xc9, 0x6a, 0x1a, 0xe8, 0x6e, 0x74, 0xf8, 0x94, 0x6e, 0x55, 0xbb, 0x77, + 0x06, 0x57, 0xa8, 0xe6, 0xf9, 0x8b, 0xaf, 0xee, 0x0c, 0x0d, 0xfa, 0xcb, 0xf1, 0xdb, 0x7a, 0xdf, + 0x36, 0x1f, 0x05, 0x87, 0xf8, 0x9f, 0x9c, 0xfb, 0xf6, 0x28, 0xdc, 0xf8, 0x73, 0x6e, 0xe9, 0xc0, + 0x98, 0x90, 0x7d, 0xd6, 0x93, 0x6c, 0x6a, 0xff, 0x3b, 0x77, 0x25, 0x58, 0x3f, 0x7b, 0xc6, 0x36, + 0xde, 0x96, 0xd8, 0x91, 0x1f, 0xfc, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x24, 0x5b, 0xf3, 0xba, 0xd9, + 0x1e, 0x00, 0x00, } From 2dac97405b9bd7fdfc5e148ffa1aaaad198d45dc Mon Sep 17 00:00:00 2001 From: Steve Yoon Date: Fri, 10 Apr 2026 12:38:16 -0400 Subject: [PATCH 4/5] fix the proto to support cloud agents v2 api --- protobufs/livekit_cloud_agent.proto | 31 ++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/protobufs/livekit_cloud_agent.proto b/protobufs/livekit_cloud_agent.proto index 6ccb0fe1b..696cbbf5d 100644 --- a/protobufs/livekit_cloud_agent.proto +++ b/protobufs/livekit_cloud_agent.proto @@ -70,6 +70,17 @@ message CreateAgentResponse { PresignedPostRequest presigned_post_request = 8; } +message CreateAgentV2Request { + repeated AgentSecret secrets = 1; + repeated string regions = 2; +} + +message CreateAgentV2Response { + string agent_id = 1 [(logger.name) = "agentID"]; + string status = 2; + repeated string server_regions = 3; +} + message PresignedPostRequest { string url = 1; map values = 2; @@ -169,12 +180,28 @@ message DeployAgentResponse { bool success = 1; string message = 2; string agent_id = 3 [(logger.name) = "agentID"]; - string presigned_url = 4; + string presigned_url = 4 [deprecated=true]; string tag = 5; PresignedPostRequest presigned_post_request = 6; string environment = 7; } +message DeployAgentV2Request { + string agent_id = 1 [(logger.name) = "agentID"]; + repeated AgentSecret secrets = 2; + string environment = 3; + string region = 4; +} + +message DeployAgentV2Response { + bool success = 1; + string message = 2; + string agent_id = 3 [(logger.name) = "agentID"]; + string tag = 4; + PresignedPostRequest presigned_req = 5; + string environment = 6; +} + message UpdateAgentSecretsRequest { string agent_id = 1 [(logger.name) = "agentID"]; string agent_name = 2; @@ -304,12 +331,14 @@ message GetPrivateLinkStatusResponse { service CloudAgent { rpc CreateAgent(CreateAgentRequest) returns (CreateAgentResponse) {} + rpc CreateAgentV2(CreateAgentV2Request) returns (CreateAgentV2Response) {} rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse) {} rpc ListAgentVersions(ListAgentVersionsRequest) returns (ListAgentVersionsResponse) {} rpc ListAgentSecrets(ListAgentSecretsRequest) returns (ListAgentSecretsResponse) {} rpc UpdateAgent(UpdateAgentRequest) returns (UpdateAgentResponse) {} rpc RestartAgent(RestartAgentRequest) returns (RestartAgentResponse) {} rpc DeployAgent(DeployAgentRequest) returns (DeployAgentResponse) {} + rpc DeployAgentV2(DeployAgentV2Request) returns (DeployAgentV2Response) {} rpc UpdateAgentSecrets(UpdateAgentSecretsRequest) returns (UpdateAgentSecretsResponse) {} rpc RollbackAgent(RollbackAgentRequest) returns (RollbackAgentResponse) {} rpc DeleteAgent(DeleteAgentRequest) returns (DeleteAgentResponse) {} From 9ea890a7604e1569b3cc8cbe402c7a469a899245 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:39:22 +0000 Subject: [PATCH 5/5] generated protobuf --- livekit/livekit_cloud_agent.pb.go | 767 +++++++++++++++------- livekit/livekit_cloud_agent.twirp.go | 916 ++++++++++++++++++++++----- 2 files changed, 1273 insertions(+), 410 deletions(-) diff --git a/livekit/livekit_cloud_agent.pb.go b/livekit/livekit_cloud_agent.pb.go index f026a5101..642c13102 100644 --- a/livekit/livekit_cloud_agent.pb.go +++ b/livekit/livekit_cloud_agent.pb.go @@ -193,7 +193,7 @@ func (x PrivateLinkStatus_Status) Number() protoreflect.EnumNumber { // Deprecated: Use PrivateLinkStatus_Status.Descriptor instead. func (PrivateLinkStatus_Status) EnumDescriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{30, 0} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{34, 0} } type AgentEvent struct { @@ -532,6 +532,118 @@ func (x *CreateAgentResponse) GetPresignedPostRequest() *PresignedPostRequest { return nil } +type CreateAgentV2Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + Secrets []*AgentSecret `protobuf:"bytes,1,rep,name=secrets,proto3" json:"secrets,omitempty"` + Regions []string `protobuf:"bytes,2,rep,name=regions,proto3" json:"regions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAgentV2Request) Reset() { + *x = CreateAgentV2Request{} + mi := &file_livekit_cloud_agent_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAgentV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAgentV2Request) ProtoMessage() {} + +func (x *CreateAgentV2Request) ProtoReflect() protoreflect.Message { + mi := &file_livekit_cloud_agent_proto_msgTypes[4] + 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 CreateAgentV2Request.ProtoReflect.Descriptor instead. +func (*CreateAgentV2Request) Descriptor() ([]byte, []int) { + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateAgentV2Request) GetSecrets() []*AgentSecret { + if x != nil { + return x.Secrets + } + return nil +} + +func (x *CreateAgentV2Request) GetRegions() []string { + if x != nil { + return x.Regions + } + return nil +} + +type CreateAgentV2Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + ServerRegions []string `protobuf:"bytes,3,rep,name=server_regions,json=serverRegions,proto3" json:"server_regions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAgentV2Response) Reset() { + *x = CreateAgentV2Response{} + mi := &file_livekit_cloud_agent_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAgentV2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAgentV2Response) ProtoMessage() {} + +func (x *CreateAgentV2Response) ProtoReflect() protoreflect.Message { + mi := &file_livekit_cloud_agent_proto_msgTypes[5] + 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 CreateAgentV2Response.ProtoReflect.Descriptor instead. +func (*CreateAgentV2Response) Descriptor() ([]byte, []int) { + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{5} +} + +func (x *CreateAgentV2Response) GetAgentId() string { + if x != nil { + return x.AgentId + } + return "" +} + +func (x *CreateAgentV2Response) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateAgentV2Response) GetServerRegions() []string { + if x != nil { + return x.ServerRegions + } + return nil +} + type PresignedPostRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` @@ -542,7 +654,7 @@ type PresignedPostRequest struct { func (x *PresignedPostRequest) Reset() { *x = PresignedPostRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[4] + mi := &file_livekit_cloud_agent_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -554,7 +666,7 @@ func (x *PresignedPostRequest) String() string { func (*PresignedPostRequest) ProtoMessage() {} func (x *PresignedPostRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[4] + mi := &file_livekit_cloud_agent_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -567,7 +679,7 @@ func (x *PresignedPostRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PresignedPostRequest.ProtoReflect.Descriptor instead. func (*PresignedPostRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{4} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{6} } func (x *PresignedPostRequest) GetUrl() string { @@ -607,7 +719,7 @@ type AgentDeployment struct { func (x *AgentDeployment) Reset() { *x = AgentDeployment{} - mi := &file_livekit_cloud_agent_proto_msgTypes[5] + mi := &file_livekit_cloud_agent_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -619,7 +731,7 @@ func (x *AgentDeployment) String() string { func (*AgentDeployment) ProtoMessage() {} func (x *AgentDeployment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[5] + mi := &file_livekit_cloud_agent_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -632,7 +744,7 @@ func (x *AgentDeployment) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentDeployment.ProtoReflect.Descriptor instead. func (*AgentDeployment) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{5} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{7} } func (x *AgentDeployment) GetRegion() string { @@ -754,7 +866,7 @@ type AgentInfo struct { func (x *AgentInfo) Reset() { *x = AgentInfo{} - mi := &file_livekit_cloud_agent_proto_msgTypes[6] + mi := &file_livekit_cloud_agent_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -766,7 +878,7 @@ func (x *AgentInfo) String() string { func (*AgentInfo) ProtoMessage() {} func (x *AgentInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[6] + mi := &file_livekit_cloud_agent_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -779,7 +891,7 @@ func (x *AgentInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentInfo.ProtoReflect.Descriptor instead. func (*AgentInfo) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{6} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{8} } func (x *AgentInfo) GetAgentId() string { @@ -834,7 +946,7 @@ type ListAgentsRequest struct { func (x *ListAgentsRequest) Reset() { *x = ListAgentsRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[7] + mi := &file_livekit_cloud_agent_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -846,7 +958,7 @@ func (x *ListAgentsRequest) String() string { func (*ListAgentsRequest) ProtoMessage() {} func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[7] + mi := &file_livekit_cloud_agent_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -859,7 +971,7 @@ func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAgentsRequest.ProtoReflect.Descriptor instead. func (*ListAgentsRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{7} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{9} } func (x *ListAgentsRequest) GetAgentName() string { @@ -885,7 +997,7 @@ type ListAgentsResponse struct { func (x *ListAgentsResponse) Reset() { *x = ListAgentsResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[8] + mi := &file_livekit_cloud_agent_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -897,7 +1009,7 @@ func (x *ListAgentsResponse) String() string { func (*ListAgentsResponse) ProtoMessage() {} func (x *ListAgentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[8] + mi := &file_livekit_cloud_agent_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -910,7 +1022,7 @@ func (x *ListAgentsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAgentsResponse.ProtoReflect.Descriptor instead. func (*ListAgentsResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{8} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{10} } func (x *ListAgentsResponse) GetAgents() []*AgentInfo { @@ -936,7 +1048,7 @@ type AgentVersion struct { func (x *AgentVersion) Reset() { *x = AgentVersion{} - mi := &file_livekit_cloud_agent_proto_msgTypes[9] + mi := &file_livekit_cloud_agent_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -948,7 +1060,7 @@ func (x *AgentVersion) String() string { func (*AgentVersion) ProtoMessage() {} func (x *AgentVersion) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[9] + mi := &file_livekit_cloud_agent_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -961,7 +1073,7 @@ func (x *AgentVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentVersion.ProtoReflect.Descriptor instead. func (*AgentVersion) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{9} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{11} } func (x *AgentVersion) GetVersion() string { @@ -1030,7 +1142,7 @@ type ListAgentVersionsRequest struct { func (x *ListAgentVersionsRequest) Reset() { *x = ListAgentVersionsRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[10] + mi := &file_livekit_cloud_agent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1042,7 +1154,7 @@ func (x *ListAgentVersionsRequest) String() string { func (*ListAgentVersionsRequest) ProtoMessage() {} func (x *ListAgentVersionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[10] + mi := &file_livekit_cloud_agent_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1055,7 +1167,7 @@ func (x *ListAgentVersionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAgentVersionsRequest.ProtoReflect.Descriptor instead. func (*ListAgentVersionsRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{10} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{12} } func (x *ListAgentVersionsRequest) GetAgentId() string { @@ -1081,7 +1193,7 @@ type ListAgentVersionsResponse struct { func (x *ListAgentVersionsResponse) Reset() { *x = ListAgentVersionsResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[11] + mi := &file_livekit_cloud_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1093,7 +1205,7 @@ func (x *ListAgentVersionsResponse) String() string { func (*ListAgentVersionsResponse) ProtoMessage() {} func (x *ListAgentVersionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[11] + mi := &file_livekit_cloud_agent_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1106,7 +1218,7 @@ func (x *ListAgentVersionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAgentVersionsResponse.ProtoReflect.Descriptor instead. func (*ListAgentVersionsResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{11} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{13} } func (x *ListAgentVersionsResponse) GetVersions() []*AgentVersion { @@ -1135,7 +1247,7 @@ type UpdateAgentRequest struct { func (x *UpdateAgentRequest) Reset() { *x = UpdateAgentRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[12] + mi := &file_livekit_cloud_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1147,7 +1259,7 @@ func (x *UpdateAgentRequest) String() string { func (*UpdateAgentRequest) ProtoMessage() {} func (x *UpdateAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[12] + mi := &file_livekit_cloud_agent_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1160,7 +1272,7 @@ func (x *UpdateAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAgentRequest.ProtoReflect.Descriptor instead. func (*UpdateAgentRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{12} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{14} } func (x *UpdateAgentRequest) GetAgentId() string { @@ -1226,7 +1338,7 @@ type UpdateAgentResponse struct { func (x *UpdateAgentResponse) Reset() { *x = UpdateAgentResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[13] + mi := &file_livekit_cloud_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1238,7 +1350,7 @@ func (x *UpdateAgentResponse) String() string { func (*UpdateAgentResponse) ProtoMessage() {} func (x *UpdateAgentResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[13] + mi := &file_livekit_cloud_agent_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1251,7 +1363,7 @@ func (x *UpdateAgentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAgentResponse.ProtoReflect.Descriptor instead. func (*UpdateAgentResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{13} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{15} } func (x *UpdateAgentResponse) GetSuccess() bool { @@ -1277,7 +1389,7 @@ type RestartAgentRequest struct { func (x *RestartAgentRequest) Reset() { *x = RestartAgentRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[14] + mi := &file_livekit_cloud_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1289,7 +1401,7 @@ func (x *RestartAgentRequest) String() string { func (*RestartAgentRequest) ProtoMessage() {} func (x *RestartAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[14] + mi := &file_livekit_cloud_agent_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1302,7 +1414,7 @@ func (x *RestartAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestartAgentRequest.ProtoReflect.Descriptor instead. func (*RestartAgentRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{14} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{16} } func (x *RestartAgentRequest) GetAgentId() string { @@ -1322,7 +1434,7 @@ type RestartAgentResponse struct { func (x *RestartAgentResponse) Reset() { *x = RestartAgentResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[15] + mi := &file_livekit_cloud_agent_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1334,7 +1446,7 @@ func (x *RestartAgentResponse) String() string { func (*RestartAgentResponse) ProtoMessage() {} func (x *RestartAgentResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[15] + mi := &file_livekit_cloud_agent_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1347,7 +1459,7 @@ func (x *RestartAgentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestartAgentResponse.ProtoReflect.Descriptor instead. func (*RestartAgentResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{15} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{17} } func (x *RestartAgentResponse) GetSuccess() bool { @@ -1383,7 +1495,7 @@ type DeployAgentRequest struct { func (x *DeployAgentRequest) Reset() { *x = DeployAgentRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[16] + mi := &file_livekit_cloud_agent_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1395,7 +1507,7 @@ func (x *DeployAgentRequest) String() string { func (*DeployAgentRequest) ProtoMessage() {} func (x *DeployAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[16] + mi := &file_livekit_cloud_agent_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1408,7 +1520,7 @@ func (x *DeployAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployAgentRequest.ProtoReflect.Descriptor instead. func (*DeployAgentRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{16} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{18} } func (x *DeployAgentRequest) GetAgentId() string { @@ -1465,21 +1577,22 @@ func (x *DeployAgentRequest) GetEnvironment() string { } type DeployAgentResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` - AgentId string `protobuf:"bytes,3,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` - PresignedUrl string `protobuf:"bytes,4,opt,name=presigned_url,json=presignedUrl,proto3" json:"presigned_url,omitempty"` - Tag string `protobuf:"bytes,5,opt,name=tag,proto3" json:"tag,omitempty"` - PresignedPostRequest *PresignedPostRequest `protobuf:"bytes,6,opt,name=presigned_post_request,json=presignedPostRequest,proto3" json:"presigned_post_request,omitempty"` - Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + AgentId string `protobuf:"bytes,3,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + // Deprecated: Marked as deprecated in livekit_cloud_agent.proto. + PresignedUrl string `protobuf:"bytes,4,opt,name=presigned_url,json=presignedUrl,proto3" json:"presigned_url,omitempty"` + Tag string `protobuf:"bytes,5,opt,name=tag,proto3" json:"tag,omitempty"` + PresignedPostRequest *PresignedPostRequest `protobuf:"bytes,6,opt,name=presigned_post_request,json=presignedPostRequest,proto3" json:"presigned_post_request,omitempty"` + Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DeployAgentResponse) Reset() { *x = DeployAgentResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[17] + mi := &file_livekit_cloud_agent_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1491,7 +1604,7 @@ func (x *DeployAgentResponse) String() string { func (*DeployAgentResponse) ProtoMessage() {} func (x *DeployAgentResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[17] + mi := &file_livekit_cloud_agent_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1504,7 +1617,7 @@ func (x *DeployAgentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployAgentResponse.ProtoReflect.Descriptor instead. func (*DeployAgentResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{17} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{19} } func (x *DeployAgentResponse) GetSuccess() bool { @@ -1528,6 +1641,7 @@ func (x *DeployAgentResponse) GetAgentId() string { return "" } +// Deprecated: Marked as deprecated in livekit_cloud_agent.proto. func (x *DeployAgentResponse) GetPresignedUrl() string { if x != nil { return x.PresignedUrl @@ -1556,6 +1670,158 @@ func (x *DeployAgentResponse) GetEnvironment() string { return "" } +type DeployAgentV2Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + Secrets []*AgentSecret `protobuf:"bytes,2,rep,name=secrets,proto3" json:"secrets,omitempty"` + Environment string `protobuf:"bytes,3,opt,name=environment,proto3" json:"environment,omitempty"` + Region string `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeployAgentV2Request) Reset() { + *x = DeployAgentV2Request{} + mi := &file_livekit_cloud_agent_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeployAgentV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployAgentV2Request) ProtoMessage() {} + +func (x *DeployAgentV2Request) ProtoReflect() protoreflect.Message { + mi := &file_livekit_cloud_agent_proto_msgTypes[20] + 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 DeployAgentV2Request.ProtoReflect.Descriptor instead. +func (*DeployAgentV2Request) Descriptor() ([]byte, []int) { + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{20} +} + +func (x *DeployAgentV2Request) GetAgentId() string { + if x != nil { + return x.AgentId + } + return "" +} + +func (x *DeployAgentV2Request) GetSecrets() []*AgentSecret { + if x != nil { + return x.Secrets + } + return nil +} + +func (x *DeployAgentV2Request) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + +func (x *DeployAgentV2Request) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +type DeployAgentV2Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + AgentId string `protobuf:"bytes,3,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + Tag string `protobuf:"bytes,4,opt,name=tag,proto3" json:"tag,omitempty"` + PresignedReq *PresignedPostRequest `protobuf:"bytes,5,opt,name=presigned_req,json=presignedReq,proto3" json:"presigned_req,omitempty"` + Environment string `protobuf:"bytes,6,opt,name=environment,proto3" json:"environment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeployAgentV2Response) Reset() { + *x = DeployAgentV2Response{} + mi := &file_livekit_cloud_agent_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeployAgentV2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployAgentV2Response) ProtoMessage() {} + +func (x *DeployAgentV2Response) ProtoReflect() protoreflect.Message { + mi := &file_livekit_cloud_agent_proto_msgTypes[21] + 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 DeployAgentV2Response.ProtoReflect.Descriptor instead. +func (*DeployAgentV2Response) Descriptor() ([]byte, []int) { + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{21} +} + +func (x *DeployAgentV2Response) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *DeployAgentV2Response) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *DeployAgentV2Response) GetAgentId() string { + if x != nil { + return x.AgentId + } + return "" +} + +func (x *DeployAgentV2Response) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *DeployAgentV2Response) GetPresignedReq() *PresignedPostRequest { + if x != nil { + return x.PresignedReq + } + return nil +} + +func (x *DeployAgentV2Response) GetEnvironment() string { + if x != nil { + return x.Environment + } + return "" +} + type UpdateAgentSecretsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` @@ -1569,7 +1835,7 @@ type UpdateAgentSecretsRequest struct { func (x *UpdateAgentSecretsRequest) Reset() { *x = UpdateAgentSecretsRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[18] + mi := &file_livekit_cloud_agent_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1581,7 +1847,7 @@ func (x *UpdateAgentSecretsRequest) String() string { func (*UpdateAgentSecretsRequest) ProtoMessage() {} func (x *UpdateAgentSecretsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[18] + mi := &file_livekit_cloud_agent_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1594,7 +1860,7 @@ func (x *UpdateAgentSecretsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAgentSecretsRequest.ProtoReflect.Descriptor instead. func (*UpdateAgentSecretsRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{18} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{22} } func (x *UpdateAgentSecretsRequest) GetAgentId() string { @@ -1642,7 +1908,7 @@ type UpdateAgentSecretsResponse struct { func (x *UpdateAgentSecretsResponse) Reset() { *x = UpdateAgentSecretsResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[19] + mi := &file_livekit_cloud_agent_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1654,7 +1920,7 @@ func (x *UpdateAgentSecretsResponse) String() string { func (*UpdateAgentSecretsResponse) ProtoMessage() {} func (x *UpdateAgentSecretsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[19] + mi := &file_livekit_cloud_agent_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1667,7 +1933,7 @@ func (x *UpdateAgentSecretsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAgentSecretsResponse.ProtoReflect.Descriptor instead. func (*UpdateAgentSecretsResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{19} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{23} } func (x *UpdateAgentSecretsResponse) GetSuccess() bool { @@ -1695,7 +1961,7 @@ type RollbackAgentRequest struct { func (x *RollbackAgentRequest) Reset() { *x = RollbackAgentRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[20] + mi := &file_livekit_cloud_agent_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1707,7 +1973,7 @@ func (x *RollbackAgentRequest) String() string { func (*RollbackAgentRequest) ProtoMessage() {} func (x *RollbackAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[20] + mi := &file_livekit_cloud_agent_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1720,7 +1986,7 @@ func (x *RollbackAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RollbackAgentRequest.ProtoReflect.Descriptor instead. func (*RollbackAgentRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{20} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{24} } func (x *RollbackAgentRequest) GetAgentId() string { @@ -1754,7 +2020,7 @@ type RollbackAgentResponse struct { func (x *RollbackAgentResponse) Reset() { *x = RollbackAgentResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[21] + mi := &file_livekit_cloud_agent_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1766,7 +2032,7 @@ func (x *RollbackAgentResponse) String() string { func (*RollbackAgentResponse) ProtoMessage() {} func (x *RollbackAgentResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[21] + mi := &file_livekit_cloud_agent_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1779,7 +2045,7 @@ func (x *RollbackAgentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RollbackAgentResponse.ProtoReflect.Descriptor instead. func (*RollbackAgentResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{21} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{25} } func (x *RollbackAgentResponse) GetSuccess() bool { @@ -1806,7 +2072,7 @@ type DeleteAgentRequest struct { func (x *DeleteAgentRequest) Reset() { *x = DeleteAgentRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[22] + mi := &file_livekit_cloud_agent_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1818,7 +2084,7 @@ func (x *DeleteAgentRequest) String() string { func (*DeleteAgentRequest) ProtoMessage() {} func (x *DeleteAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[22] + mi := &file_livekit_cloud_agent_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1831,7 +2097,7 @@ func (x *DeleteAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAgentRequest.ProtoReflect.Descriptor instead. func (*DeleteAgentRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{22} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{26} } func (x *DeleteAgentRequest) GetAgentId() string { @@ -1858,7 +2124,7 @@ type DeleteAgentResponse struct { func (x *DeleteAgentResponse) Reset() { *x = DeleteAgentResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[23] + mi := &file_livekit_cloud_agent_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1870,7 +2136,7 @@ func (x *DeleteAgentResponse) String() string { func (*DeleteAgentResponse) ProtoMessage() {} func (x *DeleteAgentResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[23] + mi := &file_livekit_cloud_agent_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1883,7 +2149,7 @@ func (x *DeleteAgentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAgentResponse.ProtoReflect.Descriptor instead. func (*DeleteAgentResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{23} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{27} } func (x *DeleteAgentResponse) GetSuccess() bool { @@ -1910,7 +2176,7 @@ type ListAgentSecretsRequest struct { func (x *ListAgentSecretsRequest) Reset() { *x = ListAgentSecretsRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[24] + mi := &file_livekit_cloud_agent_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1922,7 +2188,7 @@ func (x *ListAgentSecretsRequest) String() string { func (*ListAgentSecretsRequest) ProtoMessage() {} func (x *ListAgentSecretsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[24] + mi := &file_livekit_cloud_agent_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1935,7 +2201,7 @@ func (x *ListAgentSecretsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAgentSecretsRequest.ProtoReflect.Descriptor instead. func (*ListAgentSecretsRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{24} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{28} } func (x *ListAgentSecretsRequest) GetAgentId() string { @@ -1961,7 +2227,7 @@ type ListAgentSecretsResponse struct { func (x *ListAgentSecretsResponse) Reset() { *x = ListAgentSecretsResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[25] + mi := &file_livekit_cloud_agent_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1973,7 +2239,7 @@ func (x *ListAgentSecretsResponse) String() string { func (*ListAgentSecretsResponse) ProtoMessage() {} func (x *ListAgentSecretsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[25] + mi := &file_livekit_cloud_agent_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,7 +2252,7 @@ func (x *ListAgentSecretsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAgentSecretsResponse.ProtoReflect.Descriptor instead. func (*ListAgentSecretsResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{25} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{29} } func (x *ListAgentSecretsResponse) GetSecrets() []*AgentSecret { @@ -2006,7 +2272,7 @@ type SettingsParam struct { func (x *SettingsParam) Reset() { *x = SettingsParam{} - mi := &file_livekit_cloud_agent_proto_msgTypes[26] + mi := &file_livekit_cloud_agent_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2018,7 +2284,7 @@ func (x *SettingsParam) String() string { func (*SettingsParam) ProtoMessage() {} func (x *SettingsParam) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[26] + mi := &file_livekit_cloud_agent_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2031,7 +2297,7 @@ func (x *SettingsParam) ProtoReflect() protoreflect.Message { // Deprecated: Use SettingsParam.ProtoReflect.Descriptor instead. func (*SettingsParam) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{26} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{30} } func (x *SettingsParam) GetName() string { @@ -2057,7 +2323,7 @@ type ClientSettingsResponse struct { func (x *ClientSettingsResponse) Reset() { *x = ClientSettingsResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[27] + mi := &file_livekit_cloud_agent_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2069,7 +2335,7 @@ func (x *ClientSettingsResponse) String() string { func (*ClientSettingsResponse) ProtoMessage() {} func (x *ClientSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[27] + mi := &file_livekit_cloud_agent_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2082,7 +2348,7 @@ func (x *ClientSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientSettingsResponse.ProtoReflect.Descriptor instead. func (*ClientSettingsResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{27} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{31} } func (x *ClientSettingsResponse) GetParams() []*SettingsParam { @@ -2100,7 +2366,7 @@ type ClientSettingsRequest struct { func (x *ClientSettingsRequest) Reset() { *x = ClientSettingsRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[28] + mi := &file_livekit_cloud_agent_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2112,7 +2378,7 @@ func (x *ClientSettingsRequest) String() string { func (*ClientSettingsRequest) ProtoMessage() {} func (x *ClientSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[28] + mi := &file_livekit_cloud_agent_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2125,7 +2391,7 @@ func (x *ClientSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientSettingsRequest.ProtoReflect.Descriptor instead. func (*ClientSettingsRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{28} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{32} } type PrivateLink struct { @@ -2146,7 +2412,7 @@ type PrivateLink struct { func (x *PrivateLink) Reset() { *x = PrivateLink{} - mi := &file_livekit_cloud_agent_proto_msgTypes[29] + mi := &file_livekit_cloud_agent_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2158,7 +2424,7 @@ func (x *PrivateLink) String() string { func (*PrivateLink) ProtoMessage() {} func (x *PrivateLink) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[29] + mi := &file_livekit_cloud_agent_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2171,7 +2437,7 @@ func (x *PrivateLink) ProtoReflect() protoreflect.Message { // Deprecated: Use PrivateLink.ProtoReflect.Descriptor instead. func (*PrivateLink) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{29} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{33} } func (x *PrivateLink) GetPrivateLinkId() string { @@ -2255,7 +2521,7 @@ type PrivateLinkStatus struct { func (x *PrivateLinkStatus) Reset() { *x = PrivateLinkStatus{} - mi := &file_livekit_cloud_agent_proto_msgTypes[30] + mi := &file_livekit_cloud_agent_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2267,7 +2533,7 @@ func (x *PrivateLinkStatus) String() string { func (*PrivateLinkStatus) ProtoMessage() {} func (x *PrivateLinkStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[30] + mi := &file_livekit_cloud_agent_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2280,7 +2546,7 @@ func (x *PrivateLinkStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use PrivateLinkStatus.ProtoReflect.Descriptor instead. func (*PrivateLinkStatus) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{30} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{34} } func (x *PrivateLinkStatus) GetStatus() PrivateLinkStatus_Status { @@ -2320,7 +2586,7 @@ type CreatePrivateLinkRequest struct { func (x *CreatePrivateLinkRequest) Reset() { *x = CreatePrivateLinkRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[31] + mi := &file_livekit_cloud_agent_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2332,7 +2598,7 @@ func (x *CreatePrivateLinkRequest) String() string { func (*CreatePrivateLinkRequest) ProtoMessage() {} func (x *CreatePrivateLinkRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[31] + mi := &file_livekit_cloud_agent_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2345,7 +2611,7 @@ func (x *CreatePrivateLinkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePrivateLinkRequest.ProtoReflect.Descriptor instead. func (*CreatePrivateLinkRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{31} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{35} } func (x *CreatePrivateLinkRequest) GetName() string { @@ -2413,7 +2679,7 @@ type CreatePrivateLinkResponse struct { func (x *CreatePrivateLinkResponse) Reset() { *x = CreatePrivateLinkResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[32] + mi := &file_livekit_cloud_agent_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2425,7 +2691,7 @@ func (x *CreatePrivateLinkResponse) String() string { func (*CreatePrivateLinkResponse) ProtoMessage() {} func (x *CreatePrivateLinkResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[32] + mi := &file_livekit_cloud_agent_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2438,7 +2704,7 @@ func (x *CreatePrivateLinkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePrivateLinkResponse.ProtoReflect.Descriptor instead. func (*CreatePrivateLinkResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{32} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{36} } func (x *CreatePrivateLinkResponse) GetPrivateLink() *PrivateLink { @@ -2457,7 +2723,7 @@ type DestroyPrivateLinkRequest struct { func (x *DestroyPrivateLinkRequest) Reset() { *x = DestroyPrivateLinkRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[33] + mi := &file_livekit_cloud_agent_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2469,7 +2735,7 @@ func (x *DestroyPrivateLinkRequest) String() string { func (*DestroyPrivateLinkRequest) ProtoMessage() {} func (x *DestroyPrivateLinkRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[33] + mi := &file_livekit_cloud_agent_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2482,7 +2748,7 @@ func (x *DestroyPrivateLinkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DestroyPrivateLinkRequest.ProtoReflect.Descriptor instead. func (*DestroyPrivateLinkRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{33} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{37} } func (x *DestroyPrivateLinkRequest) GetPrivateLinkId() string { @@ -2500,7 +2766,7 @@ type DestroyPrivateLinkResponse struct { func (x *DestroyPrivateLinkResponse) Reset() { *x = DestroyPrivateLinkResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[34] + mi := &file_livekit_cloud_agent_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2512,7 +2778,7 @@ func (x *DestroyPrivateLinkResponse) String() string { func (*DestroyPrivateLinkResponse) ProtoMessage() {} func (x *DestroyPrivateLinkResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[34] + mi := &file_livekit_cloud_agent_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2525,7 +2791,7 @@ func (x *DestroyPrivateLinkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DestroyPrivateLinkResponse.ProtoReflect.Descriptor instead. func (*DestroyPrivateLinkResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{34} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{38} } type ListPrivateLinksRequest struct { @@ -2536,7 +2802,7 @@ type ListPrivateLinksRequest struct { func (x *ListPrivateLinksRequest) Reset() { *x = ListPrivateLinksRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[35] + mi := &file_livekit_cloud_agent_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2548,7 +2814,7 @@ func (x *ListPrivateLinksRequest) String() string { func (*ListPrivateLinksRequest) ProtoMessage() {} func (x *ListPrivateLinksRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[35] + mi := &file_livekit_cloud_agent_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2561,7 +2827,7 @@ func (x *ListPrivateLinksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPrivateLinksRequest.ProtoReflect.Descriptor instead. func (*ListPrivateLinksRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{35} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{39} } type ListPrivateLinksResponse struct { @@ -2573,7 +2839,7 @@ type ListPrivateLinksResponse struct { func (x *ListPrivateLinksResponse) Reset() { *x = ListPrivateLinksResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[36] + mi := &file_livekit_cloud_agent_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2585,7 +2851,7 @@ func (x *ListPrivateLinksResponse) String() string { func (*ListPrivateLinksResponse) ProtoMessage() {} func (x *ListPrivateLinksResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[36] + mi := &file_livekit_cloud_agent_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2598,7 +2864,7 @@ func (x *ListPrivateLinksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPrivateLinksResponse.ProtoReflect.Descriptor instead. func (*ListPrivateLinksResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{36} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{40} } func (x *ListPrivateLinksResponse) GetItems() []*PrivateLink { @@ -2617,7 +2883,7 @@ type GetPrivateLinkStatusRequest struct { func (x *GetPrivateLinkStatusRequest) Reset() { *x = GetPrivateLinkStatusRequest{} - mi := &file_livekit_cloud_agent_proto_msgTypes[37] + mi := &file_livekit_cloud_agent_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2629,7 +2895,7 @@ func (x *GetPrivateLinkStatusRequest) String() string { func (*GetPrivateLinkStatusRequest) ProtoMessage() {} func (x *GetPrivateLinkStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[37] + mi := &file_livekit_cloud_agent_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2642,7 +2908,7 @@ func (x *GetPrivateLinkStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrivateLinkStatusRequest.ProtoReflect.Descriptor instead. func (*GetPrivateLinkStatusRequest) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{37} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{41} } func (x *GetPrivateLinkStatusRequest) GetPrivateLinkId() string { @@ -2661,7 +2927,7 @@ type GetPrivateLinkStatusResponse struct { func (x *GetPrivateLinkStatusResponse) Reset() { *x = GetPrivateLinkStatusResponse{} - mi := &file_livekit_cloud_agent_proto_msgTypes[38] + mi := &file_livekit_cloud_agent_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2673,7 +2939,7 @@ func (x *GetPrivateLinkStatusResponse) String() string { func (*GetPrivateLinkStatusResponse) ProtoMessage() {} func (x *GetPrivateLinkStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[38] + mi := &file_livekit_cloud_agent_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2686,7 +2952,7 @@ func (x *GetPrivateLinkStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPrivateLinkStatusResponse.ProtoReflect.Descriptor instead. func (*GetPrivateLinkStatusResponse) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{38} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{42} } func (x *GetPrivateLinkStatusResponse) GetValue() *PrivateLinkStatus { @@ -2706,7 +2972,7 @@ type PrivateLink_AWSConfig struct { func (x *PrivateLink_AWSConfig) Reset() { *x = PrivateLink_AWSConfig{} - mi := &file_livekit_cloud_agent_proto_msgTypes[41] + mi := &file_livekit_cloud_agent_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2718,7 +2984,7 @@ func (x *PrivateLink_AWSConfig) String() string { func (*PrivateLink_AWSConfig) ProtoMessage() {} func (x *PrivateLink_AWSConfig) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[41] + mi := &file_livekit_cloud_agent_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2731,7 +2997,7 @@ func (x *PrivateLink_AWSConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use PrivateLink_AWSConfig.ProtoReflect.Descriptor instead. func (*PrivateLink_AWSConfig) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{29, 0} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{33, 0} } // Deprecated: Marked as deprecated in livekit_cloud_agent.proto. @@ -2752,7 +3018,7 @@ type CreatePrivateLinkRequest_AWSCreateConfig struct { func (x *CreatePrivateLinkRequest_AWSCreateConfig) Reset() { *x = CreatePrivateLinkRequest_AWSCreateConfig{} - mi := &file_livekit_cloud_agent_proto_msgTypes[42] + mi := &file_livekit_cloud_agent_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2764,7 +3030,7 @@ func (x *CreatePrivateLinkRequest_AWSCreateConfig) String() string { func (*CreatePrivateLinkRequest_AWSCreateConfig) ProtoMessage() {} func (x *CreatePrivateLinkRequest_AWSCreateConfig) ProtoReflect() protoreflect.Message { - mi := &file_livekit_cloud_agent_proto_msgTypes[42] + mi := &file_livekit_cloud_agent_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2777,7 +3043,7 @@ func (x *CreatePrivateLinkRequest_AWSCreateConfig) ProtoReflect() protoreflect.M // Deprecated: Use CreatePrivateLinkRequest_AWSCreateConfig.ProtoReflect.Descriptor instead. func (*CreatePrivateLinkRequest_AWSCreateConfig) Descriptor() ([]byte, []int) { - return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{31, 0} + return file_livekit_cloud_agent_proto_rawDescGZIP(), []int{35, 0} } // Deprecated: Marked as deprecated in livekit_cloud_agent.proto. @@ -2824,7 +3090,14 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\rpresigned_url\x18\x05 \x01(\tR\fpresignedUrl\x12\x10\n" + "\x03tag\x18\x06 \x01(\tR\x03tag\x12%\n" + "\x0eserver_regions\x18\a \x03(\tR\rserverRegions\x12S\n" + - "\x16presigned_post_request\x18\b \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\"\xa6\x01\n" + + "\x16presigned_post_request\x18\b \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\"`\n" + + "\x14CreateAgentV2Request\x12.\n" + + "\asecrets\x18\x01 \x03(\v2\x14.livekit.AgentSecretR\asecrets\x12\x18\n" + + "\aregions\x18\x02 \x03(\tR\aregions\"~\n" + + "\x15CreateAgentV2Response\x12&\n" + + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\x12%\n" + + "\x0eserver_regions\x18\x03 \x03(\tR\rserverRegions\"\xa6\x01\n" + "\x14PresignedPostRequest\x12\x10\n" + "\x03url\x18\x01 \x01(\tR\x03url\x12A\n" + "\x06values\x18\x02 \x03(\v2).livekit.PresignedPostRequest.ValuesEntryR\x06values\x1a9\n" + @@ -2910,15 +3183,27 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\breplicas\x18\x04 \x01(\x05B\x02\x18\x01R\breplicas\x12%\n" + "\fmax_replicas\x18\x05 \x01(\x05B\x02\x18\x01R\vmaxReplicas\x12\x1b\n" + "\acpu_req\x18\x06 \x01(\tB\x02\x18\x01R\x06cpuReq\x12 \n" + - "\venvironment\x18\a \x01(\tR\venvironment\"\x9f\x02\n" + + "\venvironment\x18\a \x01(\tR\venvironment\"\xa3\x02\n" + "\x13DeployAgentResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\x12&\n" + - "\bagent_id\x18\x03 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12#\n" + - "\rpresigned_url\x18\x04 \x01(\tR\fpresignedUrl\x12\x10\n" + + "\bagent_id\x18\x03 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12'\n" + + "\rpresigned_url\x18\x04 \x01(\tB\x02\x18\x01R\fpresignedUrl\x12\x10\n" + "\x03tag\x18\x05 \x01(\tR\x03tag\x12S\n" + "\x16presigned_post_request\x18\x06 \x01(\v2\x1d.livekit.PresignedPostRequestR\x14presignedPostRequest\x12 \n" + - "\venvironment\x18\a \x01(\tR\venvironment\"\xc8\x01\n" + + "\venvironment\x18\a \x01(\tR\venvironment\"\xa8\x01\n" + + "\x14DeployAgentV2Request\x12&\n" + + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12.\n" + + "\asecrets\x18\x02 \x03(\v2\x14.livekit.AgentSecretR\asecrets\x12 \n" + + "\venvironment\x18\x03 \x01(\tR\venvironment\x12\x16\n" + + "\x06region\x18\x04 \x01(\tR\x06region\"\xeb\x01\n" + + "\x15DeployAgentV2Response\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12&\n" + + "\bagent_id\x18\x03 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x10\n" + + "\x03tag\x18\x04 \x01(\tR\x03tag\x12B\n" + + "\rpresigned_req\x18\x05 \x01(\v2\x1d.livekit.PresignedPostRequestR\fpresignedReq\x12 \n" + + "\venvironment\x18\x06 \x01(\tR\venvironment\"\xc8\x01\n" + "\x19UpdateAgentSecretsRequest\x12&\n" + "\bagent_id\x18\x01 \x01(\tB\v\x9a\xec,\aagentIDR\aagentId\x12\x1d\n" + "\n" + @@ -3008,18 +3293,19 @@ const file_livekit_cloud_agent_proto_rawDesc = "" + "\x18AGENT_EVENT_TYPE_UNKNOWN\x10\x00\x12(\n" + "$AGENT_EVENT_TYPE_APPLICATION_CRASHED\x10\x01\x12.\n" + "*AGENT_EVENT_TYPE_RESTARTED_HIGH_DISK_USAGE\x10\x02\x120\n" + - ",AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE\x10\x032\x99\n" + - "\n" + + ",AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE\x10\x032\xbd\v\n" + "\n" + "CloudAgent\x12J\n" + - "\vCreateAgent\x12\x1b.livekit.CreateAgentRequest\x1a\x1c.livekit.CreateAgentResponse\"\x00\x12G\n" + + "\vCreateAgent\x12\x1b.livekit.CreateAgentRequest\x1a\x1c.livekit.CreateAgentResponse\"\x00\x12P\n" + + "\rCreateAgentV2\x12\x1d.livekit.CreateAgentV2Request\x1a\x1e.livekit.CreateAgentV2Response\"\x00\x12G\n" + "\n" + "ListAgents\x12\x1a.livekit.ListAgentsRequest\x1a\x1b.livekit.ListAgentsResponse\"\x00\x12\\\n" + "\x11ListAgentVersions\x12!.livekit.ListAgentVersionsRequest\x1a\".livekit.ListAgentVersionsResponse\"\x00\x12Y\n" + "\x10ListAgentSecrets\x12 .livekit.ListAgentSecretsRequest\x1a!.livekit.ListAgentSecretsResponse\"\x00\x12J\n" + "\vUpdateAgent\x12\x1b.livekit.UpdateAgentRequest\x1a\x1c.livekit.UpdateAgentResponse\"\x00\x12M\n" + "\fRestartAgent\x12\x1c.livekit.RestartAgentRequest\x1a\x1d.livekit.RestartAgentResponse\"\x00\x12J\n" + - "\vDeployAgent\x12\x1b.livekit.DeployAgentRequest\x1a\x1c.livekit.DeployAgentResponse\"\x00\x12_\n" + + "\vDeployAgent\x12\x1b.livekit.DeployAgentRequest\x1a\x1c.livekit.DeployAgentResponse\"\x00\x12P\n" + + "\rDeployAgentV2\x12\x1d.livekit.DeployAgentV2Request\x1a\x1e.livekit.DeployAgentV2Response\"\x00\x12_\n" + "\x12UpdateAgentSecrets\x12\".livekit.UpdateAgentSecretsRequest\x1a#.livekit.UpdateAgentSecretsResponse\"\x00\x12P\n" + "\rRollbackAgent\x12\x1d.livekit.RollbackAgentRequest\x1a\x1e.livekit.RollbackAgentResponse\"\x00\x12J\n" + "\vDeleteAgent\x12\x1b.livekit.DeleteAgentRequest\x1a\x1c.livekit.DeleteAgentResponse\"\x00\x12V\n" + @@ -3042,7 +3328,7 @@ func file_livekit_cloud_agent_proto_rawDescGZIP() []byte { } var file_livekit_cloud_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_livekit_cloud_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 43) +var file_livekit_cloud_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 47) var file_livekit_cloud_agent_proto_goTypes = []any{ (AgentSecretKind)(0), // 0: livekit.AgentSecretKind (AgentEventType)(0), // 1: livekit.AgentEventType @@ -3051,113 +3337,124 @@ var file_livekit_cloud_agent_proto_goTypes = []any{ (*AgentSecret)(nil), // 4: livekit.AgentSecret (*CreateAgentRequest)(nil), // 5: livekit.CreateAgentRequest (*CreateAgentResponse)(nil), // 6: livekit.CreateAgentResponse - (*PresignedPostRequest)(nil), // 7: livekit.PresignedPostRequest - (*AgentDeployment)(nil), // 8: livekit.AgentDeployment - (*AgentInfo)(nil), // 9: livekit.AgentInfo - (*ListAgentsRequest)(nil), // 10: livekit.ListAgentsRequest - (*ListAgentsResponse)(nil), // 11: livekit.ListAgentsResponse - (*AgentVersion)(nil), // 12: livekit.AgentVersion - (*ListAgentVersionsRequest)(nil), // 13: livekit.ListAgentVersionsRequest - (*ListAgentVersionsResponse)(nil), // 14: livekit.ListAgentVersionsResponse - (*UpdateAgentRequest)(nil), // 15: livekit.UpdateAgentRequest - (*UpdateAgentResponse)(nil), // 16: livekit.UpdateAgentResponse - (*RestartAgentRequest)(nil), // 17: livekit.RestartAgentRequest - (*RestartAgentResponse)(nil), // 18: livekit.RestartAgentResponse - (*DeployAgentRequest)(nil), // 19: livekit.DeployAgentRequest - (*DeployAgentResponse)(nil), // 20: livekit.DeployAgentResponse - (*UpdateAgentSecretsRequest)(nil), // 21: livekit.UpdateAgentSecretsRequest - (*UpdateAgentSecretsResponse)(nil), // 22: livekit.UpdateAgentSecretsResponse - (*RollbackAgentRequest)(nil), // 23: livekit.RollbackAgentRequest - (*RollbackAgentResponse)(nil), // 24: livekit.RollbackAgentResponse - (*DeleteAgentRequest)(nil), // 25: livekit.DeleteAgentRequest - (*DeleteAgentResponse)(nil), // 26: livekit.DeleteAgentResponse - (*ListAgentSecretsRequest)(nil), // 27: livekit.ListAgentSecretsRequest - (*ListAgentSecretsResponse)(nil), // 28: livekit.ListAgentSecretsResponse - (*SettingsParam)(nil), // 29: livekit.SettingsParam - (*ClientSettingsResponse)(nil), // 30: livekit.ClientSettingsResponse - (*ClientSettingsRequest)(nil), // 31: livekit.ClientSettingsRequest - (*PrivateLink)(nil), // 32: livekit.PrivateLink - (*PrivateLinkStatus)(nil), // 33: livekit.PrivateLinkStatus - (*CreatePrivateLinkRequest)(nil), // 34: livekit.CreatePrivateLinkRequest - (*CreatePrivateLinkResponse)(nil), // 35: livekit.CreatePrivateLinkResponse - (*DestroyPrivateLinkRequest)(nil), // 36: livekit.DestroyPrivateLinkRequest - (*DestroyPrivateLinkResponse)(nil), // 37: livekit.DestroyPrivateLinkResponse - (*ListPrivateLinksRequest)(nil), // 38: livekit.ListPrivateLinksRequest - (*ListPrivateLinksResponse)(nil), // 39: livekit.ListPrivateLinksResponse - (*GetPrivateLinkStatusRequest)(nil), // 40: livekit.GetPrivateLinkStatusRequest - (*GetPrivateLinkStatusResponse)(nil), // 41: livekit.GetPrivateLinkStatusResponse - nil, // 42: livekit.PresignedPostRequest.ValuesEntry - nil, // 43: livekit.AgentVersion.AttributesEntry - (*PrivateLink_AWSConfig)(nil), // 44: livekit.PrivateLink.AWSConfig - (*CreatePrivateLinkRequest_AWSCreateConfig)(nil), // 45: livekit.CreatePrivateLinkRequest.AWSCreateConfig - (*timestamppb.Timestamp)(nil), // 46: google.protobuf.Timestamp + (*CreateAgentV2Request)(nil), // 7: livekit.CreateAgentV2Request + (*CreateAgentV2Response)(nil), // 8: livekit.CreateAgentV2Response + (*PresignedPostRequest)(nil), // 9: livekit.PresignedPostRequest + (*AgentDeployment)(nil), // 10: livekit.AgentDeployment + (*AgentInfo)(nil), // 11: livekit.AgentInfo + (*ListAgentsRequest)(nil), // 12: livekit.ListAgentsRequest + (*ListAgentsResponse)(nil), // 13: livekit.ListAgentsResponse + (*AgentVersion)(nil), // 14: livekit.AgentVersion + (*ListAgentVersionsRequest)(nil), // 15: livekit.ListAgentVersionsRequest + (*ListAgentVersionsResponse)(nil), // 16: livekit.ListAgentVersionsResponse + (*UpdateAgentRequest)(nil), // 17: livekit.UpdateAgentRequest + (*UpdateAgentResponse)(nil), // 18: livekit.UpdateAgentResponse + (*RestartAgentRequest)(nil), // 19: livekit.RestartAgentRequest + (*RestartAgentResponse)(nil), // 20: livekit.RestartAgentResponse + (*DeployAgentRequest)(nil), // 21: livekit.DeployAgentRequest + (*DeployAgentResponse)(nil), // 22: livekit.DeployAgentResponse + (*DeployAgentV2Request)(nil), // 23: livekit.DeployAgentV2Request + (*DeployAgentV2Response)(nil), // 24: livekit.DeployAgentV2Response + (*UpdateAgentSecretsRequest)(nil), // 25: livekit.UpdateAgentSecretsRequest + (*UpdateAgentSecretsResponse)(nil), // 26: livekit.UpdateAgentSecretsResponse + (*RollbackAgentRequest)(nil), // 27: livekit.RollbackAgentRequest + (*RollbackAgentResponse)(nil), // 28: livekit.RollbackAgentResponse + (*DeleteAgentRequest)(nil), // 29: livekit.DeleteAgentRequest + (*DeleteAgentResponse)(nil), // 30: livekit.DeleteAgentResponse + (*ListAgentSecretsRequest)(nil), // 31: livekit.ListAgentSecretsRequest + (*ListAgentSecretsResponse)(nil), // 32: livekit.ListAgentSecretsResponse + (*SettingsParam)(nil), // 33: livekit.SettingsParam + (*ClientSettingsResponse)(nil), // 34: livekit.ClientSettingsResponse + (*ClientSettingsRequest)(nil), // 35: livekit.ClientSettingsRequest + (*PrivateLink)(nil), // 36: livekit.PrivateLink + (*PrivateLinkStatus)(nil), // 37: livekit.PrivateLinkStatus + (*CreatePrivateLinkRequest)(nil), // 38: livekit.CreatePrivateLinkRequest + (*CreatePrivateLinkResponse)(nil), // 39: livekit.CreatePrivateLinkResponse + (*DestroyPrivateLinkRequest)(nil), // 40: livekit.DestroyPrivateLinkRequest + (*DestroyPrivateLinkResponse)(nil), // 41: livekit.DestroyPrivateLinkResponse + (*ListPrivateLinksRequest)(nil), // 42: livekit.ListPrivateLinksRequest + (*ListPrivateLinksResponse)(nil), // 43: livekit.ListPrivateLinksResponse + (*GetPrivateLinkStatusRequest)(nil), // 44: livekit.GetPrivateLinkStatusRequest + (*GetPrivateLinkStatusResponse)(nil), // 45: livekit.GetPrivateLinkStatusResponse + nil, // 46: livekit.PresignedPostRequest.ValuesEntry + nil, // 47: livekit.AgentVersion.AttributesEntry + (*PrivateLink_AWSConfig)(nil), // 48: livekit.PrivateLink.AWSConfig + (*CreatePrivateLinkRequest_AWSCreateConfig)(nil), // 49: livekit.CreatePrivateLinkRequest.AWSCreateConfig + (*timestamppb.Timestamp)(nil), // 50: google.protobuf.Timestamp } var file_livekit_cloud_agent_proto_depIdxs = []int32{ 1, // 0: livekit.AgentEvent.type:type_name -> livekit.AgentEventType - 46, // 1: livekit.AgentEvent.timestamp:type_name -> google.protobuf.Timestamp - 46, // 2: livekit.AgentSecret.created_at:type_name -> google.protobuf.Timestamp - 46, // 3: livekit.AgentSecret.updated_at:type_name -> google.protobuf.Timestamp + 50, // 1: livekit.AgentEvent.timestamp:type_name -> google.protobuf.Timestamp + 50, // 2: livekit.AgentSecret.created_at:type_name -> google.protobuf.Timestamp + 50, // 3: livekit.AgentSecret.updated_at:type_name -> google.protobuf.Timestamp 0, // 4: livekit.AgentSecret.kind:type_name -> livekit.AgentSecretKind 4, // 5: livekit.CreateAgentRequest.secrets:type_name -> livekit.AgentSecret - 7, // 6: livekit.CreateAgentResponse.presigned_post_request:type_name -> livekit.PresignedPostRequest - 42, // 7: livekit.PresignedPostRequest.values:type_name -> livekit.PresignedPostRequest.ValuesEntry - 3, // 8: livekit.AgentDeployment.events:type_name -> livekit.AgentEvent - 8, // 9: livekit.AgentInfo.agent_deployments:type_name -> livekit.AgentDeployment - 4, // 10: livekit.AgentInfo.secrets:type_name -> livekit.AgentSecret - 46, // 11: livekit.AgentInfo.deployed_at:type_name -> google.protobuf.Timestamp - 9, // 12: livekit.ListAgentsResponse.agents:type_name -> livekit.AgentInfo - 46, // 13: livekit.AgentVersion.created_at:type_name -> google.protobuf.Timestamp - 46, // 14: livekit.AgentVersion.deployed_at:type_name -> google.protobuf.Timestamp - 43, // 15: livekit.AgentVersion.attributes:type_name -> livekit.AgentVersion.AttributesEntry - 12, // 16: livekit.ListAgentVersionsResponse.versions:type_name -> livekit.AgentVersion - 4, // 17: livekit.UpdateAgentRequest.secrets:type_name -> livekit.AgentSecret - 4, // 18: livekit.DeployAgentRequest.secrets:type_name -> livekit.AgentSecret - 7, // 19: livekit.DeployAgentResponse.presigned_post_request:type_name -> livekit.PresignedPostRequest - 4, // 20: livekit.UpdateAgentSecretsRequest.secrets:type_name -> livekit.AgentSecret - 4, // 21: livekit.ListAgentSecretsResponse.secrets:type_name -> livekit.AgentSecret - 29, // 22: livekit.ClientSettingsResponse.params:type_name -> livekit.SettingsParam - 44, // 23: livekit.PrivateLink.aws:type_name -> livekit.PrivateLink.AWSConfig - 2, // 24: livekit.PrivateLinkStatus.status:type_name -> livekit.PrivateLinkStatus.Status - 46, // 25: livekit.PrivateLinkStatus.updated_at:type_name -> google.protobuf.Timestamp - 45, // 26: livekit.CreatePrivateLinkRequest.aws:type_name -> livekit.CreatePrivateLinkRequest.AWSCreateConfig - 32, // 27: livekit.CreatePrivateLinkResponse.private_link:type_name -> livekit.PrivateLink - 32, // 28: livekit.ListPrivateLinksResponse.items:type_name -> livekit.PrivateLink - 33, // 29: livekit.GetPrivateLinkStatusResponse.value:type_name -> livekit.PrivateLinkStatus - 5, // 30: livekit.CloudAgent.CreateAgent:input_type -> livekit.CreateAgentRequest - 10, // 31: livekit.CloudAgent.ListAgents:input_type -> livekit.ListAgentsRequest - 13, // 32: livekit.CloudAgent.ListAgentVersions:input_type -> livekit.ListAgentVersionsRequest - 27, // 33: livekit.CloudAgent.ListAgentSecrets:input_type -> livekit.ListAgentSecretsRequest - 15, // 34: livekit.CloudAgent.UpdateAgent:input_type -> livekit.UpdateAgentRequest - 17, // 35: livekit.CloudAgent.RestartAgent:input_type -> livekit.RestartAgentRequest - 19, // 36: livekit.CloudAgent.DeployAgent:input_type -> livekit.DeployAgentRequest - 21, // 37: livekit.CloudAgent.UpdateAgentSecrets:input_type -> livekit.UpdateAgentSecretsRequest - 23, // 38: livekit.CloudAgent.RollbackAgent:input_type -> livekit.RollbackAgentRequest - 25, // 39: livekit.CloudAgent.DeleteAgent:input_type -> livekit.DeleteAgentRequest - 31, // 40: livekit.CloudAgent.GetClientSettings:input_type -> livekit.ClientSettingsRequest - 34, // 41: livekit.CloudAgent.CreatePrivateLink:input_type -> livekit.CreatePrivateLinkRequest - 36, // 42: livekit.CloudAgent.DestroyPrivateLink:input_type -> livekit.DestroyPrivateLinkRequest - 38, // 43: livekit.CloudAgent.ListPrivateLinks:input_type -> livekit.ListPrivateLinksRequest - 40, // 44: livekit.CloudAgent.GetPrivateLinkStatus:input_type -> livekit.GetPrivateLinkStatusRequest - 6, // 45: livekit.CloudAgent.CreateAgent:output_type -> livekit.CreateAgentResponse - 11, // 46: livekit.CloudAgent.ListAgents:output_type -> livekit.ListAgentsResponse - 14, // 47: livekit.CloudAgent.ListAgentVersions:output_type -> livekit.ListAgentVersionsResponse - 28, // 48: livekit.CloudAgent.ListAgentSecrets:output_type -> livekit.ListAgentSecretsResponse - 16, // 49: livekit.CloudAgent.UpdateAgent:output_type -> livekit.UpdateAgentResponse - 18, // 50: livekit.CloudAgent.RestartAgent:output_type -> livekit.RestartAgentResponse - 20, // 51: livekit.CloudAgent.DeployAgent:output_type -> livekit.DeployAgentResponse - 22, // 52: livekit.CloudAgent.UpdateAgentSecrets:output_type -> livekit.UpdateAgentSecretsResponse - 24, // 53: livekit.CloudAgent.RollbackAgent:output_type -> livekit.RollbackAgentResponse - 26, // 54: livekit.CloudAgent.DeleteAgent:output_type -> livekit.DeleteAgentResponse - 30, // 55: livekit.CloudAgent.GetClientSettings:output_type -> livekit.ClientSettingsResponse - 35, // 56: livekit.CloudAgent.CreatePrivateLink:output_type -> livekit.CreatePrivateLinkResponse - 37, // 57: livekit.CloudAgent.DestroyPrivateLink:output_type -> livekit.DestroyPrivateLinkResponse - 39, // 58: livekit.CloudAgent.ListPrivateLinks:output_type -> livekit.ListPrivateLinksResponse - 41, // 59: livekit.CloudAgent.GetPrivateLinkStatus:output_type -> livekit.GetPrivateLinkStatusResponse - 45, // [45:60] is the sub-list for method output_type - 30, // [30:45] is the sub-list for method input_type - 30, // [30:30] is the sub-list for extension type_name - 30, // [30:30] is the sub-list for extension extendee - 0, // [0:30] is the sub-list for field type_name + 9, // 6: livekit.CreateAgentResponse.presigned_post_request:type_name -> livekit.PresignedPostRequest + 4, // 7: livekit.CreateAgentV2Request.secrets:type_name -> livekit.AgentSecret + 46, // 8: livekit.PresignedPostRequest.values:type_name -> livekit.PresignedPostRequest.ValuesEntry + 3, // 9: livekit.AgentDeployment.events:type_name -> livekit.AgentEvent + 10, // 10: livekit.AgentInfo.agent_deployments:type_name -> livekit.AgentDeployment + 4, // 11: livekit.AgentInfo.secrets:type_name -> livekit.AgentSecret + 50, // 12: livekit.AgentInfo.deployed_at:type_name -> google.protobuf.Timestamp + 11, // 13: livekit.ListAgentsResponse.agents:type_name -> livekit.AgentInfo + 50, // 14: livekit.AgentVersion.created_at:type_name -> google.protobuf.Timestamp + 50, // 15: livekit.AgentVersion.deployed_at:type_name -> google.protobuf.Timestamp + 47, // 16: livekit.AgentVersion.attributes:type_name -> livekit.AgentVersion.AttributesEntry + 14, // 17: livekit.ListAgentVersionsResponse.versions:type_name -> livekit.AgentVersion + 4, // 18: livekit.UpdateAgentRequest.secrets:type_name -> livekit.AgentSecret + 4, // 19: livekit.DeployAgentRequest.secrets:type_name -> livekit.AgentSecret + 9, // 20: livekit.DeployAgentResponse.presigned_post_request:type_name -> livekit.PresignedPostRequest + 4, // 21: livekit.DeployAgentV2Request.secrets:type_name -> livekit.AgentSecret + 9, // 22: livekit.DeployAgentV2Response.presigned_req:type_name -> livekit.PresignedPostRequest + 4, // 23: livekit.UpdateAgentSecretsRequest.secrets:type_name -> livekit.AgentSecret + 4, // 24: livekit.ListAgentSecretsResponse.secrets:type_name -> livekit.AgentSecret + 33, // 25: livekit.ClientSettingsResponse.params:type_name -> livekit.SettingsParam + 48, // 26: livekit.PrivateLink.aws:type_name -> livekit.PrivateLink.AWSConfig + 2, // 27: livekit.PrivateLinkStatus.status:type_name -> livekit.PrivateLinkStatus.Status + 50, // 28: livekit.PrivateLinkStatus.updated_at:type_name -> google.protobuf.Timestamp + 49, // 29: livekit.CreatePrivateLinkRequest.aws:type_name -> livekit.CreatePrivateLinkRequest.AWSCreateConfig + 36, // 30: livekit.CreatePrivateLinkResponse.private_link:type_name -> livekit.PrivateLink + 36, // 31: livekit.ListPrivateLinksResponse.items:type_name -> livekit.PrivateLink + 37, // 32: livekit.GetPrivateLinkStatusResponse.value:type_name -> livekit.PrivateLinkStatus + 5, // 33: livekit.CloudAgent.CreateAgent:input_type -> livekit.CreateAgentRequest + 7, // 34: livekit.CloudAgent.CreateAgentV2:input_type -> livekit.CreateAgentV2Request + 12, // 35: livekit.CloudAgent.ListAgents:input_type -> livekit.ListAgentsRequest + 15, // 36: livekit.CloudAgent.ListAgentVersions:input_type -> livekit.ListAgentVersionsRequest + 31, // 37: livekit.CloudAgent.ListAgentSecrets:input_type -> livekit.ListAgentSecretsRequest + 17, // 38: livekit.CloudAgent.UpdateAgent:input_type -> livekit.UpdateAgentRequest + 19, // 39: livekit.CloudAgent.RestartAgent:input_type -> livekit.RestartAgentRequest + 21, // 40: livekit.CloudAgent.DeployAgent:input_type -> livekit.DeployAgentRequest + 23, // 41: livekit.CloudAgent.DeployAgentV2:input_type -> livekit.DeployAgentV2Request + 25, // 42: livekit.CloudAgent.UpdateAgentSecrets:input_type -> livekit.UpdateAgentSecretsRequest + 27, // 43: livekit.CloudAgent.RollbackAgent:input_type -> livekit.RollbackAgentRequest + 29, // 44: livekit.CloudAgent.DeleteAgent:input_type -> livekit.DeleteAgentRequest + 35, // 45: livekit.CloudAgent.GetClientSettings:input_type -> livekit.ClientSettingsRequest + 38, // 46: livekit.CloudAgent.CreatePrivateLink:input_type -> livekit.CreatePrivateLinkRequest + 40, // 47: livekit.CloudAgent.DestroyPrivateLink:input_type -> livekit.DestroyPrivateLinkRequest + 42, // 48: livekit.CloudAgent.ListPrivateLinks:input_type -> livekit.ListPrivateLinksRequest + 44, // 49: livekit.CloudAgent.GetPrivateLinkStatus:input_type -> livekit.GetPrivateLinkStatusRequest + 6, // 50: livekit.CloudAgent.CreateAgent:output_type -> livekit.CreateAgentResponse + 8, // 51: livekit.CloudAgent.CreateAgentV2:output_type -> livekit.CreateAgentV2Response + 13, // 52: livekit.CloudAgent.ListAgents:output_type -> livekit.ListAgentsResponse + 16, // 53: livekit.CloudAgent.ListAgentVersions:output_type -> livekit.ListAgentVersionsResponse + 32, // 54: livekit.CloudAgent.ListAgentSecrets:output_type -> livekit.ListAgentSecretsResponse + 18, // 55: livekit.CloudAgent.UpdateAgent:output_type -> livekit.UpdateAgentResponse + 20, // 56: livekit.CloudAgent.RestartAgent:output_type -> livekit.RestartAgentResponse + 22, // 57: livekit.CloudAgent.DeployAgent:output_type -> livekit.DeployAgentResponse + 24, // 58: livekit.CloudAgent.DeployAgentV2:output_type -> livekit.DeployAgentV2Response + 26, // 59: livekit.CloudAgent.UpdateAgentSecrets:output_type -> livekit.UpdateAgentSecretsResponse + 28, // 60: livekit.CloudAgent.RollbackAgent:output_type -> livekit.RollbackAgentResponse + 30, // 61: livekit.CloudAgent.DeleteAgent:output_type -> livekit.DeleteAgentResponse + 34, // 62: livekit.CloudAgent.GetClientSettings:output_type -> livekit.ClientSettingsResponse + 39, // 63: livekit.CloudAgent.CreatePrivateLink:output_type -> livekit.CreatePrivateLinkResponse + 41, // 64: livekit.CloudAgent.DestroyPrivateLink:output_type -> livekit.DestroyPrivateLinkResponse + 43, // 65: livekit.CloudAgent.ListPrivateLinks:output_type -> livekit.ListPrivateLinksResponse + 45, // 66: livekit.CloudAgent.GetPrivateLinkStatus:output_type -> livekit.GetPrivateLinkStatusResponse + 50, // [50:67] is the sub-list for method output_type + 33, // [33:50] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] is the sub-list for field type_name } func init() { file_livekit_cloud_agent_proto_init() } @@ -3165,10 +3462,10 @@ func file_livekit_cloud_agent_proto_init() { if File_livekit_cloud_agent_proto != nil { return } - file_livekit_cloud_agent_proto_msgTypes[29].OneofWrappers = []any{ + file_livekit_cloud_agent_proto_msgTypes[33].OneofWrappers = []any{ (*PrivateLink_Aws)(nil), } - file_livekit_cloud_agent_proto_msgTypes[31].OneofWrappers = []any{ + file_livekit_cloud_agent_proto_msgTypes[35].OneofWrappers = []any{ (*CreatePrivateLinkRequest_Aws)(nil), } type x struct{} @@ -3177,7 +3474,7 @@ func file_livekit_cloud_agent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_cloud_agent_proto_rawDesc), len(file_livekit_cloud_agent_proto_rawDesc)), NumEnums: 3, - NumMessages: 43, + NumMessages: 47, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_cloud_agent.twirp.go b/livekit/livekit_cloud_agent.twirp.go index b1051e458..777d95904 100644 --- a/livekit/livekit_cloud_agent.twirp.go +++ b/livekit/livekit_cloud_agent.twirp.go @@ -29,6 +29,8 @@ const _ = twirp.TwirpPackageMinVersion_8_1_0 type CloudAgent interface { CreateAgent(context.Context, *CreateAgentRequest) (*CreateAgentResponse, error) + CreateAgentV2(context.Context, *CreateAgentV2Request) (*CreateAgentV2Response, error) + ListAgents(context.Context, *ListAgentsRequest) (*ListAgentsResponse, error) ListAgentVersions(context.Context, *ListAgentVersionsRequest) (*ListAgentVersionsResponse, error) @@ -41,6 +43,8 @@ type CloudAgent interface { DeployAgent(context.Context, *DeployAgentRequest) (*DeployAgentResponse, error) + DeployAgentV2(context.Context, *DeployAgentV2Request) (*DeployAgentV2Response, error) + UpdateAgentSecrets(context.Context, *UpdateAgentSecretsRequest) (*UpdateAgentSecretsResponse, error) RollbackAgent(context.Context, *RollbackAgentRequest) (*RollbackAgentResponse, error) @@ -64,7 +68,7 @@ type CloudAgent interface { type cloudAgentProtobufClient struct { client HTTPClient - urls [15]string + urls [17]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -92,14 +96,16 @@ func NewCloudAgentProtobufClient(baseURL string, client HTTPClient, opts ...twir // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "CloudAgent") - urls := [15]string{ + urls := [17]string{ serviceURL + "CreateAgent", + serviceURL + "CreateAgentV2", serviceURL + "ListAgents", serviceURL + "ListAgentVersions", serviceURL + "ListAgentSecrets", serviceURL + "UpdateAgent", serviceURL + "RestartAgent", serviceURL + "DeployAgent", + serviceURL + "DeployAgentV2", serviceURL + "UpdateAgentSecrets", serviceURL + "RollbackAgent", serviceURL + "DeleteAgent", @@ -164,6 +170,52 @@ func (c *cloudAgentProtobufClient) callCreateAgent(ctx context.Context, in *Crea return out, nil } +func (c *cloudAgentProtobufClient) CreateAgentV2(ctx context.Context, in *CreateAgentV2Request) (*CreateAgentV2Response, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "CloudAgent") + ctx = ctxsetters.WithMethodName(ctx, "CreateAgentV2") + caller := c.callCreateAgentV2 + if c.interceptor != nil { + caller = func(ctx context.Context, req *CreateAgentV2Request) (*CreateAgentV2Response, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateAgentV2Request) when calling interceptor") + } + return c.callCreateAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*CreateAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*CreateAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *cloudAgentProtobufClient) callCreateAgentV2(ctx context.Context, in *CreateAgentV2Request) (*CreateAgentV2Response, error) { + out := new(CreateAgentV2Response) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[1], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + func (c *cloudAgentProtobufClient) ListAgents(ctx context.Context, in *ListAgentsRequest) (*ListAgentsResponse, error) { ctx = ctxsetters.WithPackageName(ctx, "livekit") ctx = ctxsetters.WithServiceName(ctx, "CloudAgent") @@ -195,7 +247,7 @@ func (c *cloudAgentProtobufClient) ListAgents(ctx context.Context, in *ListAgent func (c *cloudAgentProtobufClient) callListAgents(ctx context.Context, in *ListAgentsRequest) (*ListAgentsResponse, error) { out := new(ListAgentsResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[1], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[2], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -241,7 +293,7 @@ func (c *cloudAgentProtobufClient) ListAgentVersions(ctx context.Context, in *Li func (c *cloudAgentProtobufClient) callListAgentVersions(ctx context.Context, in *ListAgentVersionsRequest) (*ListAgentVersionsResponse, error) { out := new(ListAgentVersionsResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[2], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[3], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -287,7 +339,7 @@ func (c *cloudAgentProtobufClient) ListAgentSecrets(ctx context.Context, in *Lis func (c *cloudAgentProtobufClient) callListAgentSecrets(ctx context.Context, in *ListAgentSecretsRequest) (*ListAgentSecretsResponse, error) { out := new(ListAgentSecretsResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[3], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[4], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -333,7 +385,7 @@ func (c *cloudAgentProtobufClient) UpdateAgent(ctx context.Context, in *UpdateAg func (c *cloudAgentProtobufClient) callUpdateAgent(ctx context.Context, in *UpdateAgentRequest) (*UpdateAgentResponse, error) { out := new(UpdateAgentResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[4], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[5], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -379,7 +431,7 @@ func (c *cloudAgentProtobufClient) RestartAgent(ctx context.Context, in *Restart func (c *cloudAgentProtobufClient) callRestartAgent(ctx context.Context, in *RestartAgentRequest) (*RestartAgentResponse, error) { out := new(RestartAgentResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[5], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[6], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -425,7 +477,53 @@ func (c *cloudAgentProtobufClient) DeployAgent(ctx context.Context, in *DeployAg func (c *cloudAgentProtobufClient) callDeployAgent(ctx context.Context, in *DeployAgentRequest) (*DeployAgentResponse, error) { out := new(DeployAgentResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[6], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *cloudAgentProtobufClient) DeployAgentV2(ctx context.Context, in *DeployAgentV2Request) (*DeployAgentV2Response, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "CloudAgent") + ctx = ctxsetters.WithMethodName(ctx, "DeployAgentV2") + caller := c.callDeployAgentV2 + if c.interceptor != nil { + caller = func(ctx context.Context, req *DeployAgentV2Request) (*DeployAgentV2Response, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeployAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeployAgentV2Request) when calling interceptor") + } + return c.callDeployAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeployAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeployAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *cloudAgentProtobufClient) callDeployAgentV2(ctx context.Context, in *DeployAgentV2Request) (*DeployAgentV2Response, error) { + out := new(DeployAgentV2Response) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[8], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -471,7 +569,7 @@ func (c *cloudAgentProtobufClient) UpdateAgentSecrets(ctx context.Context, in *U func (c *cloudAgentProtobufClient) callUpdateAgentSecrets(ctx context.Context, in *UpdateAgentSecretsRequest) (*UpdateAgentSecretsResponse, error) { out := new(UpdateAgentSecretsResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -517,7 +615,7 @@ func (c *cloudAgentProtobufClient) RollbackAgent(ctx context.Context, in *Rollba func (c *cloudAgentProtobufClient) callRollbackAgent(ctx context.Context, in *RollbackAgentRequest) (*RollbackAgentResponse, error) { out := new(RollbackAgentResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[8], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -563,7 +661,7 @@ func (c *cloudAgentProtobufClient) DeleteAgent(ctx context.Context, in *DeleteAg func (c *cloudAgentProtobufClient) callDeleteAgent(ctx context.Context, in *DeleteAgentRequest) (*DeleteAgentResponse, error) { out := new(DeleteAgentResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -609,7 +707,7 @@ func (c *cloudAgentProtobufClient) GetClientSettings(ctx context.Context, in *Cl func (c *cloudAgentProtobufClient) callGetClientSettings(ctx context.Context, in *ClientSettingsRequest) (*ClientSettingsResponse, error) { out := new(ClientSettingsResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -655,7 +753,7 @@ func (c *cloudAgentProtobufClient) CreatePrivateLink(ctx context.Context, in *Cr func (c *cloudAgentProtobufClient) callCreatePrivateLink(ctx context.Context, in *CreatePrivateLinkRequest) (*CreatePrivateLinkResponse, error) { out := new(CreatePrivateLinkResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -701,7 +799,7 @@ func (c *cloudAgentProtobufClient) DestroyPrivateLink(ctx context.Context, in *D func (c *cloudAgentProtobufClient) callDestroyPrivateLink(ctx context.Context, in *DestroyPrivateLinkRequest) (*DestroyPrivateLinkResponse, error) { out := new(DestroyPrivateLinkResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[14], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -747,7 +845,7 @@ func (c *cloudAgentProtobufClient) ListPrivateLinks(ctx context.Context, in *Lis func (c *cloudAgentProtobufClient) callListPrivateLinks(ctx context.Context, in *ListPrivateLinksRequest) (*ListPrivateLinksResponse, error) { out := new(ListPrivateLinksResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[15], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -793,7 +891,7 @@ func (c *cloudAgentProtobufClient) GetPrivateLinkStatus(ctx context.Context, in func (c *cloudAgentProtobufClient) callGetPrivateLinkStatus(ctx context.Context, in *GetPrivateLinkStatusRequest) (*GetPrivateLinkStatusResponse, error) { out := new(GetPrivateLinkStatusResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[14], in, out) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[16], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -814,7 +912,7 @@ func (c *cloudAgentProtobufClient) callGetPrivateLinkStatus(ctx context.Context, type cloudAgentJSONClient struct { client HTTPClient - urls [15]string + urls [17]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -842,14 +940,16 @@ func NewCloudAgentJSONClient(baseURL string, client HTTPClient, opts ...twirp.Cl // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "CloudAgent") - urls := [15]string{ + urls := [17]string{ serviceURL + "CreateAgent", + serviceURL + "CreateAgentV2", serviceURL + "ListAgents", serviceURL + "ListAgentVersions", serviceURL + "ListAgentSecrets", serviceURL + "UpdateAgent", serviceURL + "RestartAgent", serviceURL + "DeployAgent", + serviceURL + "DeployAgentV2", serviceURL + "UpdateAgentSecrets", serviceURL + "RollbackAgent", serviceURL + "DeleteAgent", @@ -914,6 +1014,52 @@ func (c *cloudAgentJSONClient) callCreateAgent(ctx context.Context, in *CreateAg return out, nil } +func (c *cloudAgentJSONClient) CreateAgentV2(ctx context.Context, in *CreateAgentV2Request) (*CreateAgentV2Response, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "CloudAgent") + ctx = ctxsetters.WithMethodName(ctx, "CreateAgentV2") + caller := c.callCreateAgentV2 + if c.interceptor != nil { + caller = func(ctx context.Context, req *CreateAgentV2Request) (*CreateAgentV2Response, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateAgentV2Request) when calling interceptor") + } + return c.callCreateAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*CreateAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*CreateAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *cloudAgentJSONClient) callCreateAgentV2(ctx context.Context, in *CreateAgentV2Request) (*CreateAgentV2Response, error) { + out := new(CreateAgentV2Response) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[1], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + func (c *cloudAgentJSONClient) ListAgents(ctx context.Context, in *ListAgentsRequest) (*ListAgentsResponse, error) { ctx = ctxsetters.WithPackageName(ctx, "livekit") ctx = ctxsetters.WithServiceName(ctx, "CloudAgent") @@ -945,7 +1091,7 @@ func (c *cloudAgentJSONClient) ListAgents(ctx context.Context, in *ListAgentsReq func (c *cloudAgentJSONClient) callListAgents(ctx context.Context, in *ListAgentsRequest) (*ListAgentsResponse, error) { out := new(ListAgentsResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[1], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[2], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -991,7 +1137,7 @@ func (c *cloudAgentJSONClient) ListAgentVersions(ctx context.Context, in *ListAg func (c *cloudAgentJSONClient) callListAgentVersions(ctx context.Context, in *ListAgentVersionsRequest) (*ListAgentVersionsResponse, error) { out := new(ListAgentVersionsResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[2], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[3], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1037,7 +1183,7 @@ func (c *cloudAgentJSONClient) ListAgentSecrets(ctx context.Context, in *ListAge func (c *cloudAgentJSONClient) callListAgentSecrets(ctx context.Context, in *ListAgentSecretsRequest) (*ListAgentSecretsResponse, error) { out := new(ListAgentSecretsResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[3], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[4], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1083,7 +1229,7 @@ func (c *cloudAgentJSONClient) UpdateAgent(ctx context.Context, in *UpdateAgentR func (c *cloudAgentJSONClient) callUpdateAgent(ctx context.Context, in *UpdateAgentRequest) (*UpdateAgentResponse, error) { out := new(UpdateAgentResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[4], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[5], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1129,7 +1275,7 @@ func (c *cloudAgentJSONClient) RestartAgent(ctx context.Context, in *RestartAgen func (c *cloudAgentJSONClient) callRestartAgent(ctx context.Context, in *RestartAgentRequest) (*RestartAgentResponse, error) { out := new(RestartAgentResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[5], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[6], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1175,7 +1321,53 @@ func (c *cloudAgentJSONClient) DeployAgent(ctx context.Context, in *DeployAgentR func (c *cloudAgentJSONClient) callDeployAgent(ctx context.Context, in *DeployAgentRequest) (*DeployAgentResponse, error) { out := new(DeployAgentResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[6], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *cloudAgentJSONClient) DeployAgentV2(ctx context.Context, in *DeployAgentV2Request) (*DeployAgentV2Response, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "CloudAgent") + ctx = ctxsetters.WithMethodName(ctx, "DeployAgentV2") + caller := c.callDeployAgentV2 + if c.interceptor != nil { + caller = func(ctx context.Context, req *DeployAgentV2Request) (*DeployAgentV2Response, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeployAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeployAgentV2Request) when calling interceptor") + } + return c.callDeployAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeployAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeployAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *cloudAgentJSONClient) callDeployAgentV2(ctx context.Context, in *DeployAgentV2Request) (*DeployAgentV2Response, error) { + out := new(DeployAgentV2Response) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[8], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1221,7 +1413,7 @@ func (c *cloudAgentJSONClient) UpdateAgentSecrets(ctx context.Context, in *Updat func (c *cloudAgentJSONClient) callUpdateAgentSecrets(ctx context.Context, in *UpdateAgentSecretsRequest) (*UpdateAgentSecretsResponse, error) { out := new(UpdateAgentSecretsResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1267,7 +1459,7 @@ func (c *cloudAgentJSONClient) RollbackAgent(ctx context.Context, in *RollbackAg func (c *cloudAgentJSONClient) callRollbackAgent(ctx context.Context, in *RollbackAgentRequest) (*RollbackAgentResponse, error) { out := new(RollbackAgentResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[8], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1313,7 +1505,7 @@ func (c *cloudAgentJSONClient) DeleteAgent(ctx context.Context, in *DeleteAgentR func (c *cloudAgentJSONClient) callDeleteAgent(ctx context.Context, in *DeleteAgentRequest) (*DeleteAgentResponse, error) { out := new(DeleteAgentResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[9], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1359,7 +1551,7 @@ func (c *cloudAgentJSONClient) GetClientSettings(ctx context.Context, in *Client func (c *cloudAgentJSONClient) callGetClientSettings(ctx context.Context, in *ClientSettingsRequest) (*ClientSettingsResponse, error) { out := new(ClientSettingsResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[10], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1405,7 +1597,7 @@ func (c *cloudAgentJSONClient) CreatePrivateLink(ctx context.Context, in *Create func (c *cloudAgentJSONClient) callCreatePrivateLink(ctx context.Context, in *CreatePrivateLinkRequest) (*CreatePrivateLinkResponse, error) { out := new(CreatePrivateLinkResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1451,7 +1643,7 @@ func (c *cloudAgentJSONClient) DestroyPrivateLink(ctx context.Context, in *Destr func (c *cloudAgentJSONClient) callDestroyPrivateLink(ctx context.Context, in *DestroyPrivateLinkRequest) (*DestroyPrivateLinkResponse, error) { out := new(DestroyPrivateLinkResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[14], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1497,7 +1689,7 @@ func (c *cloudAgentJSONClient) ListPrivateLinks(ctx context.Context, in *ListPri func (c *cloudAgentJSONClient) callListPrivateLinks(ctx context.Context, in *ListPrivateLinksRequest) (*ListPrivateLinksResponse, error) { out := new(ListPrivateLinksResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[15], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1543,7 +1735,7 @@ func (c *cloudAgentJSONClient) GetPrivateLinkStatus(ctx context.Context, in *Get func (c *cloudAgentJSONClient) callGetPrivateLinkStatus(ctx context.Context, in *GetPrivateLinkStatusRequest) (*GetPrivateLinkStatusResponse, error) { out := new(GetPrivateLinkStatusResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[14], in, out) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[16], in, out) if err != nil { twerr, ok := err.(twirp.Error) if !ok { @@ -1658,6 +1850,9 @@ func (s *cloudAgentServer) ServeHTTP(resp http.ResponseWriter, req *http.Request case "CreateAgent": s.serveCreateAgent(ctx, resp, req) return + case "CreateAgentV2": + s.serveCreateAgentV2(ctx, resp, req) + return case "ListAgents": s.serveListAgents(ctx, resp, req) return @@ -1676,6 +1871,9 @@ func (s *cloudAgentServer) ServeHTTP(resp http.ResponseWriter, req *http.Request case "DeployAgent": s.serveDeployAgent(ctx, resp, req) return + case "DeployAgentV2": + s.serveDeployAgentV2(ctx, resp, req) + return case "UpdateAgentSecrets": s.serveUpdateAgentSecrets(ctx, resp, req) return @@ -1887,6 +2085,186 @@ func (s *cloudAgentServer) serveCreateAgentProtobuf(ctx context.Context, resp ht callResponseSent(ctx, s.hooks) } +func (s *cloudAgentServer) serveCreateAgentV2(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveCreateAgentV2JSON(ctx, resp, req) + case "application/protobuf": + s.serveCreateAgentV2Protobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *cloudAgentServer) serveCreateAgentV2JSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "CreateAgentV2") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(CreateAgentV2Request) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.CloudAgent.CreateAgentV2 + if s.interceptor != nil { + handler = func(ctx context.Context, req *CreateAgentV2Request) (*CreateAgentV2Response, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateAgentV2Request) when calling interceptor") + } + return s.CloudAgent.CreateAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*CreateAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*CreateAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *CreateAgentV2Response + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *CreateAgentV2Response and nil error while calling CreateAgentV2. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *cloudAgentServer) serveCreateAgentV2Protobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "CreateAgentV2") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(CreateAgentV2Request) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.CloudAgent.CreateAgentV2 + if s.interceptor != nil { + handler = func(ctx context.Context, req *CreateAgentV2Request) (*CreateAgentV2Response, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateAgentV2Request) when calling interceptor") + } + return s.CloudAgent.CreateAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*CreateAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*CreateAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *CreateAgentV2Response + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *CreateAgentV2Response and nil error while calling CreateAgentV2. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + func (s *cloudAgentServer) serveListAgents(ctx context.Context, resp http.ResponseWriter, req *http.Request) { header := req.Header.Get("Content-Type") i := strings.Index(header, ";") @@ -2967,6 +3345,186 @@ func (s *cloudAgentServer) serveDeployAgentProtobuf(ctx context.Context, resp ht callResponseSent(ctx, s.hooks) } +func (s *cloudAgentServer) serveDeployAgentV2(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveDeployAgentV2JSON(ctx, resp, req) + case "application/protobuf": + s.serveDeployAgentV2Protobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *cloudAgentServer) serveDeployAgentV2JSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "DeployAgentV2") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(DeployAgentV2Request) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.CloudAgent.DeployAgentV2 + if s.interceptor != nil { + handler = func(ctx context.Context, req *DeployAgentV2Request) (*DeployAgentV2Response, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeployAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeployAgentV2Request) when calling interceptor") + } + return s.CloudAgent.DeployAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeployAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeployAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *DeployAgentV2Response + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *DeployAgentV2Response and nil error while calling DeployAgentV2. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *cloudAgentServer) serveDeployAgentV2Protobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "DeployAgentV2") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(DeployAgentV2Request) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.CloudAgent.DeployAgentV2 + if s.interceptor != nil { + handler = func(ctx context.Context, req *DeployAgentV2Request) (*DeployAgentV2Response, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeployAgentV2Request) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeployAgentV2Request) when calling interceptor") + } + return s.CloudAgent.DeployAgentV2(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeployAgentV2Response) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeployAgentV2Response) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *DeployAgentV2Response + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *DeployAgentV2Response and nil error while calling DeployAgentV2. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + func (s *cloudAgentServer) serveUpdateAgentSecrets(ctx context.Context, resp http.ResponseWriter, req *http.Request) { header := req.Header.Get("Content-Type") i := strings.Index(header, ";") @@ -4423,147 +4981,155 @@ func (s *cloudAgentServer) PathPrefix() string { } var twirpFileDescriptor6 = []byte{ - // 2259 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcb, 0x6f, 0xdb, 0xc8, - 0x19, 0x37, 0xf5, 0xb2, 0xf5, 0xc9, 0x4e, 0x94, 0xb1, 0x93, 0xd0, 0xb2, 0x9d, 0xd8, 0x4c, 0x52, - 0xb8, 0x49, 0xa0, 0x6c, 0x52, 0xa0, 0xdd, 0xa4, 0x58, 0xa0, 0x8a, 0xc5, 0xd8, 0x8a, 0x1d, 0x59, - 0x18, 0x29, 0xde, 0x66, 0x5b, 0x80, 0x65, 0xa4, 0x89, 0x4a, 0x58, 0x7c, 0x84, 0x1c, 0x29, 0xeb, - 0x73, 0x4f, 0x2d, 0xd0, 0x63, 0x0f, 0xdd, 0x4b, 0x7b, 0xea, 0xa1, 0x7f, 0x42, 0x6f, 0x05, 0x7a, - 0xe8, 0x3f, 0x51, 0xf4, 0xd4, 0x4b, 0xb1, 0x7f, 0x43, 0x5b, 0x70, 0x86, 0x8f, 0xa1, 0x48, 0xd9, - 0x8e, 0x9d, 0x45, 0x2f, 0x89, 0x66, 0xbe, 0x6f, 0xbe, 0xd7, 0xfc, 0xbe, 0x07, 0xc7, 0xb0, 0x3a, - 0x32, 0x26, 0xe4, 0xd8, 0xa0, 0x5a, 0x7f, 0x64, 0x8f, 0x07, 0x9a, 0x3e, 0x24, 0x16, 0xad, 0x3b, - 0xae, 0x4d, 0x6d, 0x34, 0x1f, 0x90, 0x6a, 0xb7, 0x87, 0xb6, 0x3d, 0x1c, 0x91, 0x47, 0x6c, 0xfb, - 0xed, 0xf8, 0xdd, 0x23, 0x6a, 0x98, 0xc4, 0xa3, 0xba, 0xe9, 0x70, 0xce, 0xda, 0xca, 0xc8, 0x1e, - 0x0e, 0x89, 0xfb, 0xc8, 0x76, 0xa8, 0x61, 0x5b, 0x1e, 0xdf, 0x55, 0x7e, 0x2d, 0x01, 0x34, 0x7c, - 0x79, 0xea, 0x84, 0x58, 0x14, 0x3d, 0x80, 0x02, 0x3d, 0x71, 0x88, 0x2c, 0x6d, 0x4a, 0xdb, 0x57, - 0x9e, 0xdc, 0xac, 0x07, 0xd2, 0xeb, 0x31, 0x4b, 0xef, 0xc4, 0x21, 0x98, 0x31, 0xa1, 0x15, 0x28, - 0xf6, 0xed, 0xb1, 0x45, 0xe5, 0xdc, 0xa6, 0xb4, 0x5d, 0xc4, 0x7c, 0x81, 0x3e, 0x87, 0x72, 0xa4, - 0x5a, 0xce, 0x6f, 0x4a, 0xdb, 0x95, 0x27, 0xb5, 0x3a, 0x37, 0xae, 0x1e, 0x1a, 0x57, 0xef, 0x85, - 0x1c, 0x38, 0x66, 0x56, 0xfe, 0x2b, 0x41, 0x85, 0x29, 0xea, 0x92, 0xbe, 0x4b, 0x28, 0x42, 0x50, - 0xb0, 0x74, 0x93, 0x1b, 0x53, 0xc6, 0xec, 0xb7, 0xaf, 0x73, 0xa2, 0x8f, 0xc6, 0x84, 0xe9, 0x5c, - 0xc4, 0x7c, 0x81, 0x9e, 0x02, 0xf4, 0x5d, 0xa2, 0x53, 0x32, 0xd0, 0x74, 0x7a, 0x1e, 0xa5, 0x01, - 0x77, 0x83, 0xfa, 0x47, 0xc7, 0xce, 0x20, 0x3c, 0x5a, 0x38, 0xfb, 0x68, 0xc0, 0xdd, 0xa0, 0xe8, - 0x21, 0x14, 0x8e, 0x0d, 0x6b, 0x20, 0x17, 0x59, 0xb0, 0xe4, 0x64, 0xb0, 0xb8, 0x0f, 0xfb, 0x86, - 0x35, 0xc0, 0x8c, 0x0b, 0x29, 0xb0, 0x48, 0xac, 0x89, 0xe1, 0xda, 0x96, 0x49, 0x2c, 0xea, 0xc9, - 0xa5, 0xcd, 0xfc, 0x76, 0x19, 0x27, 0xf6, 0x94, 0x7f, 0x49, 0x80, 0x76, 0x98, 0x69, 0x4c, 0x06, - 0x26, 0xef, 0xc7, 0xc4, 0xa3, 0x68, 0x0b, 0x80, 0xdd, 0xb9, 0x16, 0x87, 0xe3, 0x79, 0x4e, 0x96, - 0x70, 0x99, 0xed, 0xb6, 0xfd, 0xb8, 0xd4, 0x61, 0xde, 0x63, 0x1a, 0x3d, 0x39, 0xb7, 0x99, 0xdf, - 0xae, 0x3c, 0x59, 0xc9, 0x32, 0x07, 0x87, 0x4c, 0xe8, 0x16, 0x2c, 0xb8, 0xc4, 0x19, 0x19, 0x7d, - 0xdd, 0x63, 0xf1, 0x2a, 0x32, 0x81, 0xd1, 0x1e, 0xba, 0x07, 0x8b, 0xa6, 0xfe, 0xb5, 0x16, 0xf1, - 0x14, 0x22, 0x9e, 0x8a, 0xa9, 0x7f, 0x8d, 0x43, 0xb6, 0x35, 0x98, 0xef, 0x3b, 0x63, 0xcd, 0x25, - 0xef, 0x59, 0x14, 0xb8, 0x59, 0xa5, 0xbe, 0x33, 0xc6, 0xe4, 0x3d, 0x92, 0x61, 0xde, 0x25, 0x43, - 0x1f, 0x6c, 0x81, 0xb3, 0xe1, 0x52, 0xf9, 0x6b, 0x0e, 0x96, 0x13, 0x7e, 0x7a, 0x8e, 0x6d, 0x79, - 0x04, 0x7d, 0x0f, 0x16, 0xb8, 0xa3, 0xc6, 0x20, 0x70, 0xb3, 0xf2, 0xcd, 0xb7, 0x0f, 0xe7, 0xd9, - 0x5e, 0xab, 0x89, 0x83, 0x1f, 0x03, 0xb4, 0x91, 0x08, 0x48, 0x8e, 0xe1, 0x43, 0x08, 0xc6, 0x0d, - 0x28, 0x79, 0x54, 0xa7, 0x63, 0xee, 0x5a, 0x19, 0x07, 0x2b, 0xdf, 0xa0, 0x09, 0x71, 0x3d, 0xc3, - 0xb6, 0x98, 0x3f, 0x65, 0x1c, 0x2e, 0xd1, 0x1d, 0x58, 0x72, 0x5c, 0xe2, 0x19, 0x43, 0x8b, 0x0c, - 0xb4, 0xb1, 0x3b, 0xe2, 0xde, 0xe0, 0xc5, 0x68, 0xf3, 0xb5, 0x3b, 0x42, 0x55, 0xc8, 0x53, 0x7d, - 0x28, 0x97, 0x18, 0xc9, 0xff, 0x89, 0xee, 0xc1, 0x15, 0x8f, 0xb8, 0x13, 0xe2, 0x6a, 0xa1, 0xa3, - 0xf3, 0xcc, 0xd1, 0x25, 0xbe, 0x8b, 0xf9, 0x26, 0xea, 0xc2, 0x8d, 0x58, 0xba, 0x63, 0x7b, 0xd4, - 0x0f, 0x98, 0x7f, 0xb3, 0xf2, 0x02, 0xc3, 0xdb, 0x46, 0x74, 0x57, 0x9d, 0x90, 0xad, 0x63, 0x7b, - 0xe1, 0xf5, 0xe3, 0x15, 0x27, 0x63, 0x57, 0xf9, 0x93, 0x04, 0x2b, 0x59, 0xec, 0xbe, 0x99, 0xbe, - 0x07, 0x3c, 0x6b, 0xfc, 0x9f, 0xa8, 0x01, 0x25, 0x96, 0x27, 0x21, 0x36, 0xbe, 0x7f, 0xaa, 0xbe, - 0xfa, 0x11, 0xe3, 0x55, 0x2d, 0xea, 0x9e, 0xe0, 0xe0, 0x60, 0xed, 0x29, 0x54, 0x84, 0x6d, 0x5f, - 0xc7, 0x31, 0x39, 0x09, 0x75, 0x1c, 0x93, 0x93, 0x64, 0x62, 0x96, 0x83, 0xc4, 0x7c, 0x96, 0xfb, - 0x5c, 0x52, 0xfe, 0x91, 0x87, 0xab, 0xec, 0x9a, 0x9b, 0xc4, 0x19, 0xd9, 0x27, 0x3e, 0xd2, 0xfd, - 0x1b, 0xe2, 0x11, 0x0b, 0x44, 0x04, 0xab, 0x04, 0x00, 0x72, 0xa7, 0x00, 0x60, 0xd6, 0x0d, 0xd7, - 0x04, 0x58, 0x33, 0xc8, 0x0a, 0x90, 0xde, 0x82, 0x45, 0xd3, 0xb0, 0x62, 0x48, 0x17, 0x19, 0xbd, - 0x62, 0x1a, 0x16, 0x16, 0x59, 0x44, 0xd4, 0x97, 0x02, 0x16, 0x01, 0xf1, 0x37, 0x63, 0xc4, 0xcf, - 0x73, 0xd5, 0x01, 0xda, 0x7d, 0xc2, 0xd8, 0xd5, 0xfa, 0xce, 0x98, 0xdd, 0xaa, 0x4f, 0x18, 0xbb, - 0x3b, 0xce, 0x38, 0x24, 0x98, 0xc4, 0x94, 0xcb, 0x11, 0xe1, 0x15, 0x31, 0x7d, 0x82, 0x49, 0x4c, - 0x26, 0x0a, 0x38, 0xc1, 0x24, 0xa6, 0x2f, 0x6a, 0x0d, 0xca, 0x3e, 0x61, 0x64, 0x98, 0x06, 0x95, - 0x2b, 0x8c, 0xb4, 0x60, 0x12, 0xf3, 0xc0, 0x5f, 0xfb, 0x44, 0xdf, 0x00, 0x4e, 0x5c, 0xe4, 0xc4, - 0xbe, 0x33, 0xe6, 0xc4, 0x3b, 0xb0, 0x94, 0x00, 0xa4, 0xbc, 0xc4, 0x71, 0x2c, 0xe2, 0x11, 0x3d, - 0x80, 0x12, 0x99, 0xb0, 0x1a, 0x74, 0x85, 0xc1, 0x61, 0x39, 0xa3, 0xcc, 0xe3, 0x80, 0x05, 0x6d, - 0x42, 0x45, 0x28, 0x51, 0xf2, 0x55, 0x26, 0x4f, 0xdc, 0x52, 0xfe, 0x98, 0x83, 0x32, 0x3b, 0xd8, - 0xb2, 0xde, 0xd9, 0x9f, 0x2a, 0x85, 0x85, 0x54, 0xcd, 0x27, 0x53, 0x55, 0x85, 0x6b, 0xfc, 0xe0, - 0x20, 0x82, 0x93, 0x7f, 0xd7, 0xbe, 0x23, 0x53, 0x25, 0x38, 0xc6, 0x1b, 0xae, 0xea, 0xc9, 0x0d, - 0x4f, 0x2c, 0x98, 0xc5, 0xf3, 0x14, 0xcc, 0x1f, 0x43, 0x85, 0x2b, 0xe4, 0x8d, 0xa2, 0x74, 0x66, - 0xa3, 0x80, 0x90, 0xbd, 0x41, 0x95, 0xaf, 0xe0, 0xda, 0x81, 0xe1, 0x51, 0x26, 0xd8, 0x0b, 0xf3, - 0x74, 0x23, 0x5d, 0xd5, 0xc5, 0x08, 0x9c, 0x33, 0x15, 0x94, 0x9f, 0x00, 0x12, 0x65, 0x07, 0x95, - 0xf4, 0x3e, 0x94, 0x18, 0x83, 0x27, 0x4b, 0xcc, 0x3b, 0x94, 0xf4, 0xce, 0xbf, 0x2a, 0x1c, 0x70, - 0x28, 0xbf, 0xc9, 0xc3, 0x22, 0xdb, 0x3d, 0x0a, 0x42, 0x2c, 0x04, 0x5f, 0x4a, 0x06, 0x5f, 0x66, - 0x58, 0x76, 0x49, 0xd0, 0xf4, 0x17, 0x70, 0xb8, 0xbc, 0x4c, 0x0b, 0x9e, 0x0a, 0x6d, 0xe1, 0x63, - 0x42, 0x8b, 0x54, 0x00, 0x9d, 0x52, 0xd7, 0x78, 0x3b, 0xa6, 0x24, 0xbc, 0xca, 0x7b, 0x49, 0x67, - 0x03, 0xb7, 0xea, 0x8d, 0x88, 0x8f, 0xd7, 0x36, 0xe1, 0xa0, 0x50, 0x50, 0x4a, 0x89, 0x82, 0xb2, - 0x02, 0x45, 0xfb, 0x83, 0x45, 0xdc, 0x20, 0xd9, 0xf9, 0xc2, 0x2f, 0x33, 0x03, 0x57, 0x37, 0x2c, - 0xc3, 0x1a, 0xb2, 0x64, 0x5f, 0xc0, 0xd1, 0xba, 0xf6, 0x05, 0x5c, 0x9d, 0x52, 0xf4, 0x51, 0xd5, - 0x52, 0x07, 0x39, 0xba, 0xce, 0xc0, 0xf0, 0x08, 0x31, 0x9f, 0x26, 0xb7, 0x94, 0x36, 0xac, 0x66, - 0xa8, 0x08, 0x80, 0xf3, 0x18, 0x16, 0x82, 0xcb, 0x0e, 0xa1, 0x73, 0x3d, 0x33, 0x9a, 0x38, 0x62, - 0x53, 0x7e, 0x9b, 0x03, 0xf4, 0x9a, 0x4d, 0x45, 0x89, 0xa9, 0xe5, 0xbc, 0xd6, 0x6e, 0xa5, 0xad, - 0x9d, 0x9e, 0x6e, 0xfe, 0xaf, 0xd3, 0x8a, 0x58, 0x2a, 0xe6, 0xcf, 0x51, 0x2a, 0x94, 0x16, 0x2c, - 0x27, 0xc2, 0x11, 0x44, 0x56, 0x86, 0x79, 0x6f, 0xdc, 0xef, 0x13, 0xcf, 0x63, 0xe1, 0x58, 0xc0, - 0xe1, 0xd2, 0xa7, 0x98, 0xc4, 0xf3, 0xf4, 0x61, 0x78, 0x59, 0xe1, 0x52, 0xf9, 0x02, 0x96, 0xb1, - 0x0f, 0x7a, 0x97, 0x5e, 0x24, 0xb4, 0xca, 0x4b, 0x58, 0x49, 0x1e, 0xbf, 0x84, 0x29, 0xbf, 0xcb, - 0x01, 0xe2, 0x05, 0xf4, 0xbb, 0xba, 0x65, 0x21, 0xce, 0xf9, 0x8f, 0x9d, 0x61, 0x0b, 0xe7, 0x40, - 0x45, 0xf1, 0x4c, 0x54, 0x94, 0x52, 0xa8, 0x98, 0x6a, 0x7f, 0xf3, 0xe9, 0xf6, 0xf7, 0x87, 0x1c, - 0x2c, 0x27, 0xe2, 0x72, 0xf1, 0x18, 0x27, 0x82, 0x99, 0x3f, 0x25, 0x98, 0xa9, 0x71, 0xb5, 0x30, - 0x7b, 0x5c, 0x2d, 0xc6, 0xe3, 0xea, 0xec, 0x39, 0xb4, 0x74, 0xe1, 0x39, 0xf4, 0x1c, 0x11, 0xfa, - 0xbb, 0x04, 0xab, 0x42, 0x42, 0xf0, 0x6b, 0xfc, 0xc4, 0x45, 0x0d, 0xad, 0x43, 0xd9, 0x9e, 0x10, - 0xf7, 0x83, 0x6b, 0x50, 0xc2, 0x62, 0xb7, 0x80, 0xe3, 0x0d, 0x11, 0x5a, 0x85, 0xf3, 0x40, 0x8b, - 0xcd, 0xa7, 0xa6, 0x3d, 0x21, 0xac, 0xa3, 0xb0, 0xf9, 0xd4, 0x5f, 0x29, 0x1d, 0xa8, 0x65, 0x79, - 0x72, 0x89, 0xb4, 0xfa, 0x00, 0x2b, 0xd8, 0x1e, 0x8d, 0xde, 0xea, 0xfd, 0xe3, 0x0b, 0xe5, 0xd5, - 0x45, 0xe7, 0x28, 0x65, 0x1f, 0xae, 0x4f, 0x29, 0xbe, 0x84, 0x17, 0x3f, 0xf3, 0x6b, 0xc3, 0x88, - 0x5c, 0xb0, 0x03, 0x9c, 0xd1, 0xaf, 0x5a, 0x7e, 0x82, 0x09, 0xc2, 0x2f, 0x61, 0xe7, 0x2f, 0xe0, - 0x66, 0xd4, 0xfa, 0xbe, 0x13, 0x1c, 0x2a, 0x2f, 0x85, 0xfe, 0x3d, 0x8d, 0x0f, 0x01, 0x85, 0xd2, - 0x79, 0x1a, 0xc9, 0x53, 0x58, 0xea, 0x12, 0x4a, 0x0d, 0x6b, 0xe8, 0x75, 0x74, 0x57, 0x37, 0xcf, - 0x7e, 0x11, 0x09, 0x47, 0x09, 0x65, 0x0f, 0x6e, 0xec, 0x8c, 0x0c, 0x26, 0x93, 0x0b, 0x10, 0x8c, - 0x28, 0x39, 0xbe, 0xb0, 0xd0, 0x86, 0x1b, 0x91, 0x0d, 0x09, 0x5d, 0x38, 0xe0, 0x52, 0x6e, 0xc2, - 0xf5, 0x69, 0x49, 0xfc, 0x03, 0xf4, 0x6f, 0x39, 0xa8, 0x74, 0x5c, 0x63, 0xa2, 0x53, 0x72, 0x60, - 0x58, 0xc7, 0xe8, 0x29, 0x5c, 0x75, 0xf8, 0x52, 0x1b, 0x19, 0xd6, 0x71, 0x1c, 0xc7, 0x6b, 0xdf, - 0x7c, 0xfb, 0x70, 0xc9, 0x89, 0x39, 0x5b, 0x4d, 0x9c, 0x58, 0x0e, 0x22, 0xbf, 0x72, 0x82, 0x5f, - 0xf1, 0x27, 0x62, 0x21, 0xf1, 0x89, 0x88, 0xa0, 0xe0, 0xd8, 0x2e, 0x65, 0x75, 0x6d, 0x09, 0xb3, - 0xdf, 0xfe, 0x3c, 0x46, 0xac, 0x81, 0x63, 0x1b, 0x16, 0x0d, 0xe6, 0xb7, 0x68, 0x8d, 0x1e, 0xc1, - 0x72, 0xdf, 0xb6, 0x2c, 0xd2, 0xa7, 0x86, 0x6d, 0x69, 0x11, 0x1b, 0xaf, 0x53, 0x28, 0x26, 0xa9, - 0xe1, 0x81, 0x1f, 0x42, 0x5e, 0xff, 0xe0, 0x05, 0x23, 0xec, 0x2d, 0xa1, 0x24, 0x46, 0x16, 0xd7, - 0x1b, 0x5f, 0x76, 0x77, 0x6c, 0xeb, 0x9d, 0x31, 0xf4, 0x7b, 0xc5, 0xde, 0x1c, 0xf6, 0x0f, 0xd4, - 0x1e, 0x40, 0x39, 0xda, 0xf7, 0x7b, 0x53, 0xa4, 0x2a, 0x7e, 0xb0, 0x89, 0xf6, 0x9e, 0x2f, 0x40, - 0xa9, 0xcf, 0x38, 0x95, 0x5f, 0xe5, 0xe1, 0x9a, 0x20, 0xbb, 0xcb, 0xe7, 0xce, 0xa7, 0xd1, 0x3c, - 0xca, 0x9f, 0xe2, 0xb6, 0xb2, 0xec, 0xe0, 0xbc, 0x75, 0xfe, 0x5f, 0x34, 0xb2, 0x26, 0x5f, 0xb4, - 0x72, 0x1f, 0xf3, 0xa2, 0xc5, 0x62, 0xae, 0x7b, 0x51, 0xb1, 0x08, 0x56, 0xca, 0x3f, 0x25, 0x28, - 0x05, 0x86, 0xdd, 0x86, 0xb5, 0x0e, 0x6e, 0x1d, 0x35, 0x7a, 0xaa, 0x76, 0xd0, 0x6a, 0xef, 0x6b, - 0xdd, 0x5e, 0xa3, 0xf7, 0xba, 0xab, 0xbd, 0x6e, 0xef, 0xb7, 0x0f, 0xbf, 0x6c, 0x57, 0xe7, 0xd0, - 0x5d, 0xd8, 0xcc, 0x62, 0xe8, 0xe0, 0xc3, 0xa3, 0x56, 0xb7, 0x75, 0xd8, 0x6e, 0xb5, 0x77, 0xab, - 0x12, 0xda, 0x86, 0xbb, 0x99, 0x5c, 0x6a, 0xbb, 0xd9, 0x6a, 0xef, 0x6a, 0x8d, 0x8e, 0xcf, 0xdf, - 0x38, 0xa8, 0xe6, 0x66, 0x29, 0xdc, 0x53, 0x1b, 0x07, 0xbd, 0xbd, 0x37, 0xd5, 0x3c, 0xda, 0x82, - 0x8d, 0x6c, 0x8b, 0x42, 0x96, 0x02, 0xda, 0x84, 0xf5, 0x2c, 0x16, 0xae, 0x45, 0x6d, 0x56, 0x8b, - 0xca, 0x7f, 0x24, 0x90, 0xf9, 0x8b, 0x94, 0x10, 0xdf, 0xb0, 0x34, 0x64, 0xa5, 0x5d, 0x0c, 0xcf, - 0x7c, 0x26, 0x3c, 0x0b, 0x33, 0xe0, 0x59, 0x9c, 0x82, 0x67, 0x8b, 0xa3, 0x8d, 0x5f, 0xd3, 0xe3, - 0xe8, 0x96, 0x67, 0xd9, 0xc2, 0xa0, 0xc7, 0x68, 0x69, 0x00, 0x3e, 0x86, 0xab, 0x53, 0xd4, 0x8f, - 0x80, 0x61, 0x0f, 0x56, 0x33, 0x74, 0x06, 0x35, 0xe3, 0x47, 0xb0, 0x28, 0xa6, 0x36, 0x13, 0x25, - 0x56, 0x2f, 0xf1, 0x4c, 0x45, 0x48, 0x6d, 0xe5, 0x08, 0x56, 0x9b, 0xc4, 0xa3, 0xae, 0x7d, 0x92, - 0x11, 0xd6, 0x8b, 0x17, 0x0c, 0x65, 0x1d, 0x6a, 0x59, 0x72, 0xb9, 0xb9, 0xca, 0x2a, 0xaf, 0xf2, - 0x02, 0x29, 0x2a, 0x5a, 0x2f, 0x78, 0x79, 0x4e, 0x92, 0xa2, 0x6f, 0xe6, 0xa2, 0x41, 0x89, 0x99, - 0x2e, 0xce, 0xa2, 0x0e, 0xce, 0xa2, 0xfc, 0x14, 0xd6, 0x76, 0x09, 0x4d, 0xe5, 0xe2, 0x27, 0x70, - 0xad, 0x03, 0xeb, 0xd9, 0x92, 0x03, 0x2b, 0x3f, 0x0b, 0xeb, 0xbd, 0x14, 0x64, 0xf6, 0xcc, 0xc2, - 0x10, 0xf4, 0x82, 0xfb, 0x76, 0xf0, 0xfe, 0x16, 0x3f, 0x49, 0xa3, 0x0d, 0x58, 0x6d, 0xec, 0xaa, - 0xed, 0x9e, 0xd6, 0x55, 0x77, 0xb0, 0xda, 0xd3, 0xf6, 0x5b, 0xed, 0xa6, 0x90, 0xc3, 0x5b, 0xb0, - 0x91, 0x26, 0xab, 0xed, 0xa3, 0x16, 0x3e, 0x6c, 0xbf, 0x52, 0xdb, 0xbd, 0xaa, 0x84, 0x6a, 0x70, - 0x23, 0xcd, 0xf2, 0xa2, 0x75, 0xa0, 0x56, 0x73, 0xf7, 0xff, 0x22, 0xc1, 0x95, 0xe4, 0x5f, 0x0c, - 0xd0, 0x3a, 0xc8, 0x9c, 0x5d, 0x3d, 0xf2, 0xff, 0xed, 0xbd, 0xe9, 0xa8, 0x82, 0xbe, 0x6d, 0xb8, - 0x9b, 0xa2, 0x36, 0x3a, 0x9d, 0x83, 0xd6, 0x4e, 0xa3, 0xd7, 0x3a, 0x6c, 0x6b, 0x3b, 0xb8, 0xd1, - 0xdd, 0x53, 0x9b, 0x55, 0x09, 0xd5, 0xe1, 0x7e, 0x8a, 0x13, 0xab, 0xdd, 0x5e, 0x03, 0xf7, 0xd4, - 0xa6, 0xb6, 0xd7, 0xda, 0xdd, 0xd3, 0x9a, 0xad, 0xee, 0xbe, 0xf6, 0xba, 0xdb, 0xd8, 0x55, 0xab, - 0x39, 0xf4, 0x19, 0x3c, 0x3c, 0x8b, 0xff, 0x95, 0xfa, 0xea, 0x10, 0xbf, 0x09, 0x4e, 0xe4, 0x9f, - 0xfc, 0x1e, 0x00, 0x76, 0x46, 0xf6, 0x78, 0xc0, 0x3c, 0x40, 0x2f, 0xa1, 0x22, 0xbc, 0x54, 0xa3, - 0xb5, 0xa9, 0x0c, 0x15, 0xe7, 0x9d, 0xda, 0x7a, 0x36, 0x31, 0x40, 0xe5, 0x1c, 0xda, 0x05, 0x88, - 0x9f, 0x6a, 0x50, 0x7c, 0x73, 0xa9, 0xb7, 0xa1, 0xda, 0x5a, 0x26, 0x2d, 0x12, 0xf4, 0x73, 0xe1, - 0x3d, 0x29, 0xfc, 0x82, 0x47, 0x5b, 0xe9, 0x33, 0x53, 0x0f, 0x08, 0x35, 0xe5, 0x34, 0x96, 0x48, - 0xfa, 0x1b, 0xa8, 0x4e, 0x8f, 0x30, 0x68, 0x33, 0x7d, 0x32, 0x39, 0x3f, 0xd5, 0xb6, 0x4e, 0xe1, - 0x88, 0x44, 0xbf, 0x84, 0x8a, 0x30, 0x3f, 0x0b, 0xd1, 0x4c, 0xbf, 0x1f, 0x08, 0xd1, 0xcc, 0xf8, - 0x9a, 0x56, 0xe6, 0xd0, 0x2b, 0x58, 0x14, 0x3f, 0x6e, 0x51, 0xcc, 0x9f, 0xf1, 0xc9, 0x5c, 0xdb, - 0x98, 0x41, 0x15, 0x4d, 0x13, 0x3e, 0xe3, 0x04, 0xd3, 0xd2, 0x1f, 0xbd, 0x82, 0x69, 0x19, 0x5f, - 0x7e, 0xca, 0x1c, 0xd2, 0x12, 0x0f, 0x22, 0x61, 0x0c, 0x95, 0x2c, 0x87, 0xa6, 0xa2, 0x78, 0xe7, - 0x54, 0x9e, 0x48, 0x41, 0x07, 0x96, 0x12, 0xc3, 0x3b, 0x12, 0xdc, 0xcb, 0xf8, 0x9a, 0xa8, 0xdd, - 0x9a, 0x45, 0x4e, 0xba, 0x1f, 0x0d, 0xd9, 0x09, 0xf7, 0xa7, 0xe7, 0xfa, 0x84, 0xfb, 0xa9, 0xb9, - 0x5c, 0x99, 0x43, 0x47, 0x70, 0x6d, 0x97, 0xd0, 0xe4, 0xd4, 0x88, 0x62, 0x13, 0x32, 0xc7, 0xc9, - 0xda, 0xed, 0x99, 0x74, 0x11, 0xf6, 0xa9, 0x1e, 0x25, 0xc0, 0x7e, 0x56, 0xcf, 0x14, 0x60, 0x3f, - 0xb3, 0xc5, 0xf1, 0x4b, 0x4b, 0xf7, 0x14, 0xe1, 0xd2, 0x66, 0x36, 0x32, 0xe1, 0xd2, 0x4e, 0x69, - 0x4a, 0x51, 0x5e, 0x89, 0xbd, 0x67, 0x2a, 0xaf, 0x32, 0x3a, 0xd6, 0x54, 0x5e, 0x65, 0x35, 0x2e, - 0x65, 0x0e, 0x11, 0x58, 0xc9, 0x6a, 0x1a, 0xe8, 0x6e, 0x74, 0xf8, 0x94, 0x6e, 0x55, 0xbb, 0x77, - 0x06, 0x57, 0xa8, 0xe6, 0xf9, 0x8b, 0xaf, 0xee, 0x0c, 0x0d, 0xfa, 0xcb, 0xf1, 0xdb, 0x7a, 0xdf, - 0x36, 0x1f, 0x05, 0x87, 0xf8, 0x9f, 0x9c, 0xfb, 0xf6, 0x28, 0xdc, 0xf8, 0x73, 0x6e, 0xe9, 0xc0, - 0x98, 0x90, 0x7d, 0xd6, 0x93, 0x6c, 0x6a, 0xff, 0x3b, 0x77, 0x25, 0x58, 0x3f, 0x7b, 0xc6, 0x36, - 0xde, 0x96, 0xd8, 0x91, 0x1f, 0xfc, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x24, 0x5b, 0xf3, 0xba, 0xd9, - 0x1e, 0x00, 0x00, + // 2390 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xdd, 0x6f, 0x1b, 0x4b, + 0x15, 0xcf, 0xae, 0x3f, 0x12, 0x1f, 0x27, 0xad, 0x3b, 0x71, 0x5b, 0xc7, 0x49, 0x6e, 0x93, 0x6d, + 0x0b, 0xa1, 0xad, 0xdc, 0xdb, 0x22, 0xc1, 0x6d, 0xd1, 0x95, 0x70, 0x93, 0x6d, 0xe2, 0x26, 0x75, + 0xac, 0xb1, 0x9b, 0x4b, 0x2f, 0x48, 0x7b, 0xb7, 0xf6, 0xd4, 0xac, 0xe2, 0xfd, 0xe8, 0xee, 0xda, + 0xbd, 0x79, 0xe1, 0x85, 0x27, 0x90, 0x78, 0xe4, 0xe5, 0x3e, 0x21, 0x21, 0x21, 0xc4, 0x9f, 0x80, + 0xc4, 0x03, 0x12, 0x0f, 0xfc, 0x13, 0x88, 0x27, 0x5e, 0xe0, 0xfe, 0x0d, 0x80, 0x76, 0x66, 0x3f, + 0x66, 0x3f, 0x9c, 0x38, 0x49, 0x2f, 0xbc, 0xb4, 0x3b, 0x73, 0xce, 0x9c, 0x39, 0xf3, 0x3b, 0x9f, + 0x33, 0x0e, 0xac, 0x8c, 0xb4, 0x09, 0x39, 0xd6, 0x5c, 0xa5, 0x3f, 0x32, 0xc7, 0x03, 0x45, 0x1d, + 0x12, 0xc3, 0x6d, 0x58, 0xb6, 0xe9, 0x9a, 0x68, 0xde, 0x27, 0xd5, 0x6f, 0x0d, 0x4d, 0x73, 0x38, + 0x22, 0x0f, 0xe9, 0xf4, 0x9b, 0xf1, 0xdb, 0x87, 0xae, 0xa6, 0x13, 0xc7, 0x55, 0x75, 0x8b, 0x71, + 0xd6, 0xab, 0x23, 0x73, 0x38, 0x24, 0xf6, 0x43, 0xd3, 0x72, 0x35, 0xd3, 0x70, 0xd8, 0xac, 0xf4, + 0x0b, 0x01, 0xa0, 0xe9, 0xc9, 0x93, 0x27, 0xc4, 0x70, 0xd1, 0x7d, 0xc8, 0xbb, 0x27, 0x16, 0xa9, + 0x09, 0x1b, 0xc2, 0xd6, 0x95, 0xc7, 0x37, 0x1b, 0xbe, 0xf4, 0x46, 0xc4, 0xd2, 0x3b, 0xb1, 0x08, + 0xa6, 0x4c, 0xa8, 0x0a, 0x85, 0xbe, 0x39, 0x36, 0xdc, 0x9a, 0xb8, 0x21, 0x6c, 0x15, 0x30, 0x1b, + 0xa0, 0x4f, 0xa0, 0x14, 0x6e, 0x5d, 0xcb, 0x6d, 0x08, 0x5b, 0xe5, 0xc7, 0xf5, 0x06, 0x53, 0xae, + 0x11, 0x28, 0xd7, 0xe8, 0x05, 0x1c, 0x38, 0x62, 0x96, 0xfe, 0x23, 0x40, 0x99, 0x6e, 0xd4, 0x25, + 0x7d, 0x9b, 0xb8, 0x08, 0x41, 0xde, 0x50, 0x75, 0xa6, 0x4c, 0x09, 0xd3, 0x6f, 0x6f, 0xcf, 0x89, + 0x3a, 0x1a, 0x13, 0xba, 0xe7, 0x22, 0x66, 0x03, 0xf4, 0x04, 0xa0, 0x6f, 0x13, 0xd5, 0x25, 0x03, + 0x45, 0x75, 0x67, 0xd9, 0xd4, 0xe7, 0x6e, 0xba, 0xde, 0xd2, 0xb1, 0x35, 0x08, 0x96, 0xe6, 0xcf, + 0x5e, 0xea, 0x73, 0x37, 0x5d, 0xf4, 0x00, 0xf2, 0xc7, 0x9a, 0x31, 0xa8, 0x15, 0x28, 0x58, 0xb5, + 0x38, 0x58, 0xec, 0x0c, 0xfb, 0x9a, 0x31, 0xc0, 0x94, 0x0b, 0x49, 0xb0, 0x48, 0x8c, 0x89, 0x66, + 0x9b, 0x86, 0x4e, 0x0c, 0xd7, 0xa9, 0x15, 0x37, 0x72, 0x5b, 0x25, 0x1c, 0x9b, 0x93, 0xfe, 0x21, + 0x00, 0xda, 0xa6, 0xaa, 0x51, 0x19, 0x98, 0xbc, 0x1b, 0x13, 0xc7, 0x45, 0x9b, 0x00, 0xd4, 0xe6, + 0x4a, 0x04, 0xc7, 0x33, 0xb1, 0x26, 0xe0, 0x12, 0x9d, 0x6d, 0x7b, 0xb8, 0x34, 0x60, 0xde, 0xa1, + 0x3b, 0x3a, 0x35, 0x71, 0x23, 0xb7, 0x55, 0x7e, 0x5c, 0xcd, 0x52, 0x07, 0x07, 0x4c, 0xe8, 0x23, + 0x58, 0xb0, 0x89, 0x35, 0xd2, 0xfa, 0xaa, 0x43, 0xf1, 0x2a, 0x50, 0x81, 0xe1, 0x1c, 0xba, 0x0b, + 0x8b, 0xba, 0xfa, 0xa5, 0x12, 0xf2, 0xe4, 0x43, 0x9e, 0xb2, 0xae, 0x7e, 0x89, 0x03, 0xb6, 0x55, + 0x98, 0xef, 0x5b, 0x63, 0xc5, 0x26, 0xef, 0x28, 0x0a, 0x4c, 0xad, 0x62, 0xdf, 0x1a, 0x63, 0xf2, + 0x0e, 0xd5, 0x60, 0xde, 0x26, 0x43, 0xcf, 0xd9, 0xfc, 0xc3, 0x06, 0x43, 0xe9, 0xcf, 0x22, 0x2c, + 0xc7, 0xce, 0xe9, 0x58, 0xa6, 0xe1, 0x10, 0xf4, 0x2d, 0x58, 0x60, 0x07, 0xd5, 0x06, 0xfe, 0x31, + 0xcb, 0x5f, 0x7d, 0xfd, 0x60, 0x9e, 0xce, 0xb5, 0x76, 0xb0, 0xff, 0x31, 0x40, 0xeb, 0x31, 0x40, + 0x44, 0xea, 0x1f, 0x1c, 0x18, 0x37, 0xa0, 0xe8, 0xb8, 0xaa, 0x3b, 0x66, 0x47, 0x2b, 0x61, 0x7f, + 0xe4, 0x29, 0x34, 0x21, 0xb6, 0xa3, 0x99, 0x06, 0x3d, 0x4f, 0x09, 0x07, 0x43, 0x74, 0x1b, 0x96, + 0x2c, 0x9b, 0x38, 0xda, 0xd0, 0x20, 0x03, 0x65, 0x6c, 0x8f, 0xd8, 0x69, 0xf0, 0x62, 0x38, 0xf9, + 0xca, 0x1e, 0xa1, 0x0a, 0xe4, 0x5c, 0x75, 0x58, 0x2b, 0x52, 0x92, 0xf7, 0x89, 0xee, 0xc2, 0x15, + 0x87, 0xd8, 0x13, 0x62, 0x2b, 0xc1, 0x41, 0xe7, 0xe9, 0x41, 0x97, 0xd8, 0x2c, 0x66, 0x93, 0xa8, + 0x0b, 0x37, 0x22, 0xe9, 0x96, 0xe9, 0xb8, 0x1e, 0x60, 0x9e, 0x65, 0x6b, 0x0b, 0xd4, 0xdf, 0xd6, + 0x43, 0x5b, 0x75, 0x02, 0xb6, 0x8e, 0xe9, 0x04, 0xe6, 0xc7, 0x55, 0x2b, 0x63, 0x56, 0xfa, 0x02, + 0xaa, 0x1c, 0x84, 0x47, 0x8f, 0x03, 0x67, 0xe1, 0x3c, 0x41, 0x98, 0xc5, 0x13, 0x38, 0x2b, 0x89, + 0x71, 0x2b, 0xfd, 0x0c, 0xae, 0x27, 0x76, 0x38, 0xa7, 0x99, 0x22, 0x3b, 0x88, 0x31, 0x3b, 0xa4, + 0x61, 0xcb, 0x65, 0xc0, 0x26, 0xfd, 0x4e, 0x80, 0x6a, 0x16, 0x20, 0x9e, 0x21, 0x3c, 0x1b, 0xb1, + 0xbc, 0xe0, 0x7d, 0xa2, 0x26, 0x14, 0x69, 0x26, 0x08, 0xbc, 0xff, 0x3b, 0xa7, 0x22, 0xda, 0x38, + 0xa2, 0xbc, 0xb2, 0xe1, 0xda, 0x27, 0xd8, 0x5f, 0x58, 0x7f, 0x02, 0x65, 0x6e, 0xda, 0xdb, 0xe3, + 0x98, 0x9c, 0x04, 0x7b, 0x1c, 0x93, 0x93, 0x78, 0xea, 0x29, 0xf9, 0xa9, 0xe7, 0xa9, 0xf8, 0x89, + 0x20, 0xfd, 0x2d, 0x07, 0x57, 0x29, 0x46, 0x3b, 0xc4, 0x1a, 0x99, 0x27, 0x5e, 0x2c, 0x7b, 0x67, + 0x67, 0x87, 0xf3, 0x45, 0xf8, 0xa3, 0x18, 0x76, 0xe2, 0x4c, 0xd8, 0xc5, 0x7d, 0xb8, 0xce, 0x05, + 0x2e, 0x0d, 0x4a, 0x2e, 0x68, 0x37, 0x61, 0x51, 0xd7, 0x8c, 0x28, 0x68, 0x0b, 0x94, 0x5e, 0xd6, + 0x35, 0x03, 0xf3, 0x2c, 0x7c, 0x5c, 0x17, 0x7d, 0x16, 0x2e, 0xa6, 0x6f, 0x46, 0x31, 0x3d, 0xcf, + 0xb6, 0xf6, 0xe3, 0xd9, 0x23, 0x8c, 0x6d, 0xa5, 0x6f, 0x8d, 0xa9, 0xdf, 0x7a, 0x84, 0xb1, 0xbd, + 0x6d, 0x8d, 0x03, 0x82, 0x4e, 0xf4, 0x5a, 0x29, 0x24, 0xbc, 0x24, 0xba, 0x47, 0xd0, 0x89, 0x4e, + 0x45, 0x01, 0x23, 0xe8, 0x44, 0xf7, 0x44, 0xad, 0x42, 0xc9, 0x23, 0x8c, 0x34, 0x5d, 0x73, 0x6b, + 0x65, 0x4a, 0x5a, 0xd0, 0x89, 0x7e, 0xe0, 0x8d, 0x3d, 0xa2, 0xa7, 0x00, 0x23, 0x2e, 0x32, 0x62, + 0xdf, 0x1a, 0x33, 0xe2, 0x6d, 0x58, 0x8a, 0xf9, 0x4e, 0x6d, 0x89, 0x45, 0x2a, 0xef, 0x3a, 0xe8, + 0x3e, 0x14, 0xc9, 0x84, 0x66, 0xd9, 0x2b, 0xd4, 0x1d, 0x96, 0x33, 0x0a, 0x19, 0xf6, 0x59, 0xd0, + 0x06, 0x94, 0xb9, 0x24, 0x5c, 0xbb, 0x4a, 0xe5, 0xf1, 0x53, 0xd2, 0x6f, 0x44, 0x28, 0xd1, 0x85, + 0x2d, 0xe3, 0xad, 0xf9, 0xa1, 0x92, 0x14, 0x97, 0x8c, 0x72, 0xf1, 0x64, 0x24, 0xc3, 0x35, 0xb6, + 0x70, 0x10, 0xba, 0x93, 0x67, 0x6b, 0xef, 0x20, 0x89, 0x22, 0x13, 0xf9, 0x1b, 0xae, 0xa8, 0xf1, + 0x09, 0x87, 0x4f, 0x04, 0x85, 0x59, 0x12, 0xc1, 0x0f, 0xa0, 0xcc, 0x36, 0x64, 0xa5, 0xb0, 0x78, + 0x66, 0x29, 0x84, 0x80, 0xbd, 0xe9, 0x4a, 0x9f, 0xc3, 0xb5, 0x03, 0xcd, 0x71, 0xa9, 0x60, 0x27, + 0x88, 0xd3, 0xf5, 0x74, 0xdd, 0xe2, 0x11, 0x98, 0x31, 0x14, 0xa4, 0x1f, 0x02, 0xe2, 0x65, 0xfb, + 0x49, 0xe8, 0x1e, 0x14, 0x29, 0x43, 0x90, 0xe6, 0x50, 0xfc, 0x74, 0x9e, 0xa9, 0xb0, 0xcf, 0x21, + 0xfd, 0x32, 0x07, 0x8b, 0x2c, 0x89, 0xf9, 0x10, 0x73, 0xe0, 0x0b, 0x71, 0xf0, 0x6b, 0xd4, 0x97, + 0x6d, 0xe2, 0xb7, 0x35, 0x0b, 0x38, 0x18, 0x5e, 0xa6, 0xc9, 0x48, 0x40, 0x9b, 0x3f, 0x0f, 0xb4, + 0x48, 0x06, 0x50, 0x5d, 0xd7, 0xd6, 0xde, 0x8c, 0x5d, 0x12, 0x98, 0xf2, 0x6e, 0xfc, 0xb0, 0xfe, + 0xb1, 0x1a, 0xcd, 0x90, 0x8f, 0xe5, 0x36, 0x6e, 0x21, 0x97, 0x50, 0x8a, 0xb1, 0x84, 0x52, 0x85, + 0x82, 0xf9, 0xde, 0x20, 0xb6, 0x1f, 0xec, 0x6c, 0xe0, 0xa5, 0x99, 0x81, 0xad, 0x6a, 0x86, 0x66, + 0x0c, 0x69, 0xb0, 0x2f, 0xe0, 0x70, 0x5c, 0xff, 0x14, 0xae, 0x26, 0x36, 0x3a, 0x57, 0xb6, 0x54, + 0xa1, 0x16, 0x9a, 0xd3, 0x57, 0x3c, 0xf4, 0x98, 0x0f, 0x13, 0x5b, 0x52, 0x1b, 0x56, 0x32, 0xb6, + 0xf0, 0x1d, 0xe7, 0x11, 0x2c, 0xf8, 0xc6, 0x0e, 0x5c, 0xe7, 0x7a, 0x26, 0x9a, 0x38, 0x64, 0x93, + 0x7e, 0x25, 0x02, 0x7a, 0x45, 0xfb, 0xbe, 0x58, 0x5f, 0x36, 0xab, 0xb6, 0x9b, 0x69, 0x6d, 0x93, + 0xfd, 0xdb, 0xff, 0xb5, 0x1f, 0xe3, 0x53, 0xc5, 0xfc, 0x0c, 0xa9, 0x42, 0x6a, 0xc1, 0x72, 0x0c, + 0x0e, 0x1f, 0xd9, 0x1a, 0xcc, 0x3b, 0xe3, 0x7e, 0x9f, 0x38, 0x0e, 0x85, 0x63, 0x01, 0x07, 0x43, + 0x8f, 0xa2, 0x13, 0xc7, 0x51, 0x87, 0x81, 0xb1, 0x82, 0xa1, 0xf4, 0x29, 0x2c, 0x63, 0xcf, 0xe9, + 0x6d, 0xf7, 0x22, 0xd0, 0x4a, 0x2f, 0xa0, 0x1a, 0x5f, 0x7e, 0x09, 0x55, 0x7e, 0x2d, 0x02, 0x62, + 0x09, 0xf4, 0x9b, 0xb2, 0x32, 0x87, 0x73, 0xee, 0xbc, 0x5d, 0x7a, 0x7e, 0x06, 0xaf, 0x28, 0x9c, + 0xe9, 0x15, 0xc5, 0x94, 0x57, 0x24, 0xca, 0xdf, 0x7c, 0xba, 0xfc, 0xfd, 0x56, 0x84, 0xe5, 0x18, + 0x2e, 0x17, 0xc7, 0x38, 0x06, 0x66, 0xee, 0x14, 0x30, 0xbf, 0x9d, 0x6c, 0xc8, 0xf3, 0xa1, 0xe2, + 0x99, 0x4d, 0x79, 0x21, 0x6a, 0xca, 0xa7, 0x77, 0xdb, 0xc5, 0x0b, 0x77, 0xdb, 0x33, 0xa0, 0xf4, + 0x7b, 0x01, 0xaa, 0x1c, 0x4a, 0x51, 0x43, 0x3e, 0xab, 0xff, 0x9c, 0xf7, 0x0a, 0x97, 0x50, 0x29, + 0x97, 0x52, 0x89, 0xeb, 0x41, 0xf3, 0x7c, 0x0f, 0x2a, 0xfd, 0x4b, 0x80, 0xeb, 0x09, 0x55, 0xff, + 0x07, 0x26, 0xf5, 0x2d, 0x95, 0x8f, 0x2c, 0xf5, 0x8c, 0x37, 0x72, 0x90, 0xb3, 0xce, 0x34, 0x50, + 0x64, 0xff, 0x0c, 0xf7, 0x2d, 0xa6, 0x0d, 0xf3, 0x57, 0x01, 0x56, 0xb8, 0x6c, 0xc5, 0x60, 0xfc, + 0xc0, 0x15, 0x07, 0xad, 0x41, 0xc9, 0x9c, 0x10, 0xfb, 0xbd, 0xad, 0xb9, 0x84, 0xa2, 0xb0, 0x80, + 0xa3, 0x09, 0xde, 0xb4, 0xf9, 0x59, 0x4c, 0x4b, 0x0d, 0xa7, 0x9b, 0x13, 0x42, 0xcb, 0x3d, 0x35, + 0x9c, 0x37, 0x92, 0x3a, 0x50, 0xcf, 0x3a, 0xc9, 0x25, 0x72, 0xde, 0x7b, 0xa8, 0x62, 0x73, 0x34, + 0x7a, 0xa3, 0xf6, 0x8f, 0x2f, 0x94, 0xf4, 0x2e, 0xda, 0xe4, 0x4a, 0xfb, 0x70, 0x3d, 0xb1, 0xf1, + 0x25, 0x4e, 0xf1, 0x63, 0x2f, 0x71, 0x8f, 0xc8, 0x05, 0xcb, 0xf3, 0x19, 0xcd, 0x44, 0xcb, 0xcb, + 0x7e, 0x9c, 0xf0, 0x4b, 0xe8, 0xf9, 0x05, 0xdc, 0x0c, 0xfb, 0x92, 0x6f, 0xc4, 0x0f, 0xa5, 0x17, + 0x5c, 0x73, 0x95, 0xf4, 0x8f, 0x73, 0xbe, 0x0c, 0x48, 0x4f, 0x60, 0xa9, 0x4b, 0x5c, 0x57, 0x33, + 0x86, 0x4e, 0x47, 0xb5, 0x55, 0xfd, 0xec, 0x07, 0xb9, 0xa0, 0xcf, 0x93, 0xf6, 0xe0, 0xc6, 0xf6, + 0x48, 0xa3, 0x32, 0x99, 0x00, 0x4e, 0x89, 0xa2, 0xe5, 0x09, 0x0b, 0x74, 0xb8, 0x11, 0xea, 0x10, + 0xdb, 0x0b, 0xfb, 0x5c, 0xd2, 0x4d, 0xb8, 0x9e, 0x94, 0xc4, 0xde, 0x3f, 0xfe, 0x22, 0x42, 0xb9, + 0x63, 0x6b, 0x13, 0xd5, 0x25, 0x07, 0x9a, 0x71, 0x8c, 0x9e, 0xc0, 0x55, 0x8b, 0x0d, 0x95, 0x91, + 0x66, 0x1c, 0x47, 0x38, 0x5e, 0xfb, 0xea, 0xeb, 0x07, 0x4b, 0x56, 0xc4, 0xd9, 0xda, 0xc1, 0xb1, + 0xe1, 0x20, 0x3c, 0x97, 0xc8, 0x9d, 0x6b, 0x4a, 0xee, 0xf4, 0x78, 0x2d, 0xd3, 0x76, 0x69, 0xaa, + 0x5a, 0xc2, 0xf4, 0xdb, 0x6b, 0x96, 0x89, 0x31, 0xb0, 0x4c, 0x2d, 0x4c, 0x40, 0xe1, 0x18, 0x3d, + 0x84, 0xe5, 0xbe, 0x69, 0x18, 0xa4, 0xef, 0x6a, 0xa6, 0xa1, 0x84, 0x6c, 0xac, 0x80, 0xa0, 0x88, + 0x24, 0x07, 0x0b, 0xbe, 0x07, 0x39, 0xf5, 0xbd, 0xe3, 0xdf, 0x2f, 0x3e, 0xe2, 0x52, 0x61, 0xa8, + 0x71, 0xa3, 0xf9, 0x59, 0x77, 0xdb, 0x34, 0xde, 0x6a, 0x43, 0xaf, 0x1e, 0xee, 0xcd, 0x61, 0x6f, + 0x41, 0xfd, 0x3e, 0x94, 0xc2, 0x79, 0xaf, 0x71, 0x08, 0xb7, 0x8a, 0xde, 0x0b, 0xc3, 0xb9, 0x67, + 0x0b, 0x50, 0xec, 0x53, 0x4e, 0xe9, 0xe7, 0x39, 0xb8, 0xc6, 0xc9, 0xee, 0xb2, 0x4b, 0xc1, 0x93, + 0xf0, 0xb2, 0xc0, 0x5e, 0x82, 0x37, 0xb3, 0xf4, 0x60, 0xbc, 0x0d, 0xf6, 0x5f, 0x78, 0x9f, 0x88, + 0x3f, 0xa8, 0x8a, 0xe7, 0x79, 0x50, 0xa5, 0x98, 0xab, 0x4e, 0x98, 0x2c, 0xfc, 0x91, 0xf4, 0x77, + 0x01, 0x8a, 0xbe, 0x62, 0xb7, 0x60, 0xb5, 0x83, 0x5b, 0x47, 0xcd, 0x9e, 0xac, 0x1c, 0xb4, 0xda, + 0xfb, 0x4a, 0xb7, 0xd7, 0xec, 0xbd, 0xea, 0x2a, 0xaf, 0xda, 0xfb, 0xed, 0xc3, 0xcf, 0xda, 0x95, + 0x39, 0x74, 0x07, 0x36, 0xb2, 0x18, 0x3a, 0xf8, 0xf0, 0xa8, 0xd5, 0x6d, 0x1d, 0xb6, 0x5b, 0xed, + 0xdd, 0x8a, 0x80, 0xb6, 0xe0, 0x4e, 0x26, 0x97, 0xdc, 0xde, 0x69, 0xb5, 0x77, 0x95, 0x66, 0xc7, + 0xe3, 0x6f, 0x1e, 0x54, 0xc4, 0x69, 0x1b, 0xee, 0xc9, 0xcd, 0x83, 0xde, 0xde, 0xeb, 0x4a, 0x0e, + 0x6d, 0xc2, 0x7a, 0xb6, 0x46, 0x01, 0x4b, 0x1e, 0x6d, 0xc0, 0x5a, 0x16, 0x0b, 0xdb, 0x45, 0xde, + 0xa9, 0x14, 0xa4, 0x7f, 0x0b, 0x50, 0x63, 0x6f, 0x6d, 0x1c, 0xbe, 0x41, 0x6a, 0xc8, 0x0a, 0xbb, + 0xc8, 0x3d, 0x73, 0x99, 0xee, 0x99, 0x9f, 0xe2, 0x9e, 0x85, 0x84, 0x7b, 0xb6, 0x98, 0xb7, 0x31, + 0x33, 0x3d, 0x0a, 0xad, 0x3c, 0x4d, 0x17, 0xea, 0x7a, 0x94, 0x96, 0x76, 0xc0, 0x47, 0x70, 0x35, + 0x41, 0x3d, 0x87, 0x1b, 0xf6, 0x60, 0x25, 0x63, 0x4f, 0x3f, 0x67, 0x7c, 0x1f, 0x16, 0xf9, 0xd0, + 0xa6, 0xa2, 0xf8, 0xec, 0xc5, 0xaf, 0x29, 0x73, 0xa1, 0x2d, 0x1d, 0xc1, 0xca, 0x0e, 0x71, 0x5c, + 0xdb, 0x3c, 0xc9, 0x80, 0xf5, 0xe2, 0x09, 0x43, 0x5a, 0x83, 0x7a, 0x96, 0x5c, 0xa6, 0xae, 0xb4, + 0xc2, 0xb2, 0x3c, 0x47, 0x0a, 0x93, 0xd6, 0x73, 0x96, 0x9e, 0xe3, 0xa4, 0xf0, 0x41, 0xa3, 0xa0, + 0xb9, 0x44, 0x4f, 0x27, 0x67, 0x7e, 0x0f, 0xc6, 0x22, 0xfd, 0x08, 0x56, 0x77, 0x89, 0x9b, 0x8a, + 0xc5, 0x0f, 0x70, 0xb4, 0x0e, 0xac, 0x65, 0x4b, 0xf6, 0xb5, 0xfc, 0x38, 0xc8, 0xf7, 0x82, 0x1f, + 0xd9, 0x53, 0x13, 0x83, 0x5f, 0x0b, 0xee, 0x99, 0xfe, 0xe3, 0x68, 0xf4, 0x8b, 0x08, 0x5a, 0x87, + 0x95, 0xe6, 0xae, 0xdc, 0xee, 0x29, 0x5d, 0x79, 0x1b, 0xcb, 0x3d, 0x65, 0xbf, 0xd5, 0xde, 0xe1, + 0x62, 0x78, 0x13, 0xd6, 0xd3, 0x64, 0xb9, 0x7d, 0xd4, 0xc2, 0x87, 0xed, 0x97, 0x72, 0xbb, 0x57, + 0x11, 0x50, 0x1d, 0x6e, 0xa4, 0x59, 0x9e, 0xb7, 0x0e, 0xe4, 0x8a, 0x78, 0xef, 0x8f, 0x02, 0x5c, + 0x89, 0xff, 0x60, 0x85, 0xd6, 0xa0, 0xc6, 0xd8, 0xe5, 0x23, 0xef, 0xdf, 0xde, 0xeb, 0x8e, 0xcc, + 0xed, 0xb7, 0x05, 0x77, 0x52, 0xd4, 0x66, 0xa7, 0x73, 0xd0, 0xda, 0x6e, 0xf6, 0x5a, 0x87, 0x6d, + 0x65, 0x1b, 0x37, 0xbb, 0x7b, 0xf2, 0x4e, 0x45, 0x40, 0x0d, 0xb8, 0x97, 0xe2, 0xc4, 0x72, 0xb7, + 0xd7, 0xc4, 0x3d, 0x79, 0x47, 0xd9, 0x6b, 0xed, 0xee, 0x29, 0x3b, 0xad, 0xee, 0xbe, 0xf2, 0xaa, + 0xdb, 0xdc, 0x95, 0x2b, 0x22, 0xfa, 0x18, 0x1e, 0x9c, 0xc5, 0xff, 0x52, 0x7e, 0x79, 0x88, 0x5f, + 0xfb, 0x2b, 0x72, 0x8f, 0xff, 0x54, 0x06, 0xd8, 0x1e, 0x99, 0xe3, 0x01, 0x3d, 0x01, 0x7a, 0x01, + 0x65, 0xee, 0x0d, 0x1e, 0xad, 0x26, 0x22, 0x94, 0xef, 0x77, 0xea, 0x6b, 0xd9, 0x44, 0xdf, 0x2b, + 0xe7, 0x50, 0x07, 0x96, 0x62, 0xef, 0xf9, 0x68, 0x3d, 0x6b, 0x41, 0x78, 0x71, 0xa9, 0x7f, 0x34, + 0x8d, 0x1c, 0x4a, 0xdc, 0x05, 0x88, 0x5e, 0xe6, 0x50, 0xe4, 0x0b, 0xa9, 0xa7, 0xc0, 0xfa, 0x6a, + 0x26, 0x2d, 0x14, 0xf4, 0x13, 0xee, 0xf9, 0x30, 0x78, 0xb0, 0x41, 0x9b, 0xe9, 0x35, 0x89, 0xf7, + 0xa2, 0xba, 0x74, 0x1a, 0x4b, 0x28, 0xfd, 0x35, 0x54, 0x92, 0x4d, 0x11, 0xda, 0x48, 0xaf, 0x8c, + 0x77, 0x64, 0xf5, 0xcd, 0x53, 0x38, 0x42, 0xd1, 0x2f, 0xa0, 0xcc, 0x75, 0xe4, 0x9c, 0x7d, 0xd2, + 0xcf, 0x45, 0x9c, 0x7d, 0x32, 0x1e, 0x4f, 0xa4, 0x39, 0xf4, 0x12, 0x16, 0xf9, 0xb7, 0x0c, 0x14, + 0xf1, 0x67, 0xbc, 0x90, 0xd4, 0xd7, 0xa7, 0x50, 0x79, 0xd5, 0xb8, 0x4b, 0x1e, 0xa7, 0x5a, 0xfa, + 0x8d, 0x83, 0x53, 0x2d, 0xe3, 0xa2, 0xcf, 0x5c, 0x27, 0x76, 0x61, 0xe4, 0x5c, 0x27, 0xeb, 0xce, + 0xcb, 0xb9, 0x4e, 0xe6, 0x3d, 0x53, 0x9a, 0x43, 0x4a, 0xec, 0x45, 0x2d, 0xb0, 0x8a, 0x94, 0x05, + 0x51, 0xc2, 0x2e, 0xb7, 0x4f, 0xe5, 0xe1, 0x55, 0x8e, 0x5d, 0x30, 0x38, 0x95, 0xb3, 0x6e, 0x3c, + 0x9c, 0xca, 0x99, 0xf7, 0x92, 0x00, 0xd0, 0xf0, 0x22, 0x10, 0x03, 0x34, 0x79, 0xf7, 0x88, 0x01, + 0x9a, 0xba, 0x3b, 0x48, 0x73, 0xe8, 0x08, 0xae, 0xed, 0x12, 0x37, 0xde, 0xd9, 0x22, 0x2e, 0xe0, + 0xb2, 0x5a, 0xde, 0xfa, 0xad, 0xa9, 0x74, 0x3e, 0x90, 0x52, 0x75, 0x94, 0x0b, 0xa4, 0x69, 0x75, + 0x9d, 0x0b, 0xa4, 0xa9, 0x65, 0x98, 0x19, 0x2d, 0x5d, 0xf7, 0x38, 0xa3, 0x4d, 0x2d, 0xb6, 0x9c, + 0xd1, 0x4e, 0x29, 0x9c, 0x61, 0xa4, 0xf2, 0xf5, 0x31, 0x11, 0xa9, 0x19, 0x55, 0x35, 0x11, 0xa9, + 0x59, 0xc5, 0x55, 0x9a, 0x43, 0x04, 0xaa, 0x59, 0x85, 0x0d, 0xdd, 0x09, 0x17, 0x9f, 0x52, 0x51, + 0xeb, 0x77, 0xcf, 0xe0, 0x0a, 0xb6, 0x79, 0xf6, 0xfc, 0xf3, 0xdb, 0x43, 0xcd, 0xfd, 0xe9, 0xf8, + 0x4d, 0xa3, 0x6f, 0xea, 0x0f, 0xfd, 0x45, 0xec, 0xaf, 0x32, 0xfa, 0xe6, 0x28, 0x98, 0xf8, 0x83, + 0xb8, 0x74, 0xa0, 0x4d, 0xc8, 0x3e, 0xad, 0x9b, 0xa6, 0x6b, 0xfe, 0x53, 0xbc, 0xe2, 0x8f, 0x9f, + 0x3e, 0xa5, 0x13, 0x6f, 0x8a, 0x74, 0xc9, 0x77, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x2e, 0xe3, + 0x2f, 0xde, 0xfc, 0x21, 0x00, 0x00, }