// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: yandex/cloud/serverless/mcpgateway/v1/mcp_gateway.proto

package mcpgateway

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	v1 "github.com/yandex-cloud/go-genproto/yandex/cloud/logging/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type HttpMethod int32

const (
	HttpMethod_HTTP_METHOD_UNSPECIFIED HttpMethod = 0
	// OPTIONS HTTP method.
	HttpMethod_OPTIONS HttpMethod = 1
	// GET HTTP method.
	HttpMethod_GET HttpMethod = 2
	// HEAD HTTP method.
	HttpMethod_HEAD HttpMethod = 3
	// POST HTTP method.
	HttpMethod_POST HttpMethod = 4
	// PUT HTTP method.
	HttpMethod_PUT HttpMethod = 5
	// PATCH HTTP method.
	HttpMethod_PATCH HttpMethod = 6
	// DELETE HTTP method.
	HttpMethod_DELETE HttpMethod = 7
	// TRACE HTTP method.
	HttpMethod_TRACE HttpMethod = 8
	// CONNECT HTTP method.
	HttpMethod_CONNECT HttpMethod = 9
)

// Enum value maps for HttpMethod.
var (
	HttpMethod_name = map[int32]string{
		0: "HTTP_METHOD_UNSPECIFIED",
		1: "OPTIONS",
		2: "GET",
		3: "HEAD",
		4: "POST",
		5: "PUT",
		6: "PATCH",
		7: "DELETE",
		8: "TRACE",
		9: "CONNECT",
	}
	HttpMethod_value = map[string]int32{
		"HTTP_METHOD_UNSPECIFIED": 0,
		"OPTIONS":                 1,
		"GET":                     2,
		"HEAD":                    3,
		"POST":                    4,
		"PUT":                     5,
		"PATCH":                   6,
		"DELETE":                  7,
		"TRACE":                   8,
		"CONNECT":                 9,
	}
)

func (x HttpMethod) Enum() *HttpMethod {
	p := new(HttpMethod)
	*p = x
	return p
}

func (x HttpMethod) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (HttpMethod) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[0].Descriptor()
}

func (HttpMethod) Type() protoreflect.EnumType {
	return &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[0]
}

func (x HttpMethod) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use HttpMethod.Descriptor instead.
func (HttpMethod) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{0}
}

type McpGateway_Status int32

const (
	McpGateway_STATUS_UNSPECIFIED McpGateway_Status = 0
	// MCP Gateway is being created.
	McpGateway_CREATING McpGateway_Status = 1
	// MCP Gateway is ready to use.
	McpGateway_ACTIVE McpGateway_Status = 2
	// MCP Gateway is being updated.
	McpGateway_UPDATING McpGateway_Status = 3
	// MCP Gateway is being deleted.
	McpGateway_DELETING McpGateway_Status = 4
	// MCP Gateway is in an error state. The only allowed action is delete.
	McpGateway_ERROR McpGateway_Status = 5
)

// Enum value maps for McpGateway_Status.
var (
	McpGateway_Status_name = map[int32]string{
		0: "STATUS_UNSPECIFIED",
		1: "CREATING",
		2: "ACTIVE",
		3: "UPDATING",
		4: "DELETING",
		5: "ERROR",
	}
	McpGateway_Status_value = map[string]int32{
		"STATUS_UNSPECIFIED": 0,
		"CREATING":           1,
		"ACTIVE":             2,
		"UPDATING":           3,
		"DELETING":           4,
		"ERROR":              5,
	}
)

func (x McpGateway_Status) Enum() *McpGateway_Status {
	p := new(McpGateway_Status)
	*p = x
	return p
}

func (x McpGateway_Status) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (McpGateway_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[1].Descriptor()
}

func (McpGateway_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[1]
}

func (x McpGateway_Status) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use McpGateway_Status.Descriptor instead.
func (McpGateway_Status) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{0, 0}
}

// Mode for header forwarding policy.
type ForwardHeadersPolicy_ForwardMode int32

const (
	ForwardHeadersPolicy_FORWARD_MODE_UNSPECIFIED ForwardHeadersPolicy_ForwardMode = 0
	// Whitelist mode: only headers listed in the headers field will be forwarded.
	// All other headers from the incoming request will be excluded.
	ForwardHeadersPolicy_WHITE_LIST ForwardHeadersPolicy_ForwardMode = 1
	// Blacklist mode: all headers from the incoming request will be forwarded
	// except those listed in the headers field.
	ForwardHeadersPolicy_BLACK_LIST ForwardHeadersPolicy_ForwardMode = 2
)

// Enum value maps for ForwardHeadersPolicy_ForwardMode.
var (
	ForwardHeadersPolicy_ForwardMode_name = map[int32]string{
		0: "FORWARD_MODE_UNSPECIFIED",
		1: "WHITE_LIST",
		2: "BLACK_LIST",
	}
	ForwardHeadersPolicy_ForwardMode_value = map[string]int32{
		"FORWARD_MODE_UNSPECIFIED": 0,
		"WHITE_LIST":               1,
		"BLACK_LIST":               2,
	}
)

func (x ForwardHeadersPolicy_ForwardMode) Enum() *ForwardHeadersPolicy_ForwardMode {
	p := new(ForwardHeadersPolicy_ForwardMode)
	*p = x
	return p
}

func (x ForwardHeadersPolicy_ForwardMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ForwardHeadersPolicy_ForwardMode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[2].Descriptor()
}

func (ForwardHeadersPolicy_ForwardMode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[2]
}

func (x ForwardHeadersPolicy_ForwardMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ForwardHeadersPolicy_ForwardMode.Descriptor instead.
func (ForwardHeadersPolicy_ForwardMode) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{8, 0}
}

type McpCall_Transport int32

const (
	// Unspecified transport.
	McpCall_TRANSPORT_UNSPECIFIED McpCall_Transport = 0
	// Server-Sent Events (HTTP SSE).
	McpCall_SSE McpCall_Transport = 1
	// Streamable HTTP transport.
	McpCall_STREAMABLE McpCall_Transport = 2
)

// Enum value maps for McpCall_Transport.
var (
	McpCall_Transport_name = map[int32]string{
		0: "TRANSPORT_UNSPECIFIED",
		1: "SSE",
		2: "STREAMABLE",
	}
	McpCall_Transport_value = map[string]int32{
		"TRANSPORT_UNSPECIFIED": 0,
		"SSE":                   1,
		"STREAMABLE":            2,
	}
)

func (x McpCall_Transport) Enum() *McpCall_Transport {
	p := new(McpCall_Transport)
	*p = x
	return p
}

func (x McpCall_Transport) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (McpCall_Transport) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[3].Descriptor()
}

func (McpCall_Transport) Type() protoreflect.EnumType {
	return &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[3]
}

func (x McpCall_Transport) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use McpCall_Transport.Descriptor instead.
func (McpCall_Transport) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{9, 0}
}

type StartWorkflow_Mode int32

const (
	// Unspecified mode. When not set, defaults to SYNC behavior.
	StartWorkflow_MODE_UNSPECIFIED StartWorkflow_Mode = 0
	// Synchronous mode. The call blocks until the workflow execution completes.
	StartWorkflow_SYNC StartWorkflow_Mode = 1
	// Asynchronous mode. The call returns immediately after starting the workflow.
	// Returns the execution ID for tracking the workflow progress separately.
	StartWorkflow_ASYNC StartWorkflow_Mode = 2
)

// Enum value maps for StartWorkflow_Mode.
var (
	StartWorkflow_Mode_name = map[int32]string{
		0: "MODE_UNSPECIFIED",
		1: "SYNC",
		2: "ASYNC",
	}
	StartWorkflow_Mode_value = map[string]int32{
		"MODE_UNSPECIFIED": 0,
		"SYNC":             1,
		"ASYNC":            2,
	}
)

func (x StartWorkflow_Mode) Enum() *StartWorkflow_Mode {
	p := new(StartWorkflow_Mode)
	*p = x
	return p
}

func (x StartWorkflow_Mode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (StartWorkflow_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[4].Descriptor()
}

func (StartWorkflow_Mode) Type() protoreflect.EnumType {
	return &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes[4]
}

func (x StartWorkflow_Mode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use StartWorkflow_Mode.Descriptor instead.
func (StartWorkflow_Mode) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{11, 0}
}

type McpGateway struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the MCP Gateway. Generated at creation time.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the MCP Gateway belongs to.
	FolderId string `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Tools of the MCP Gateway.
	Tools []*McpTool `protobuf:"bytes,3,rep,name=tools,proto3" json:"tools,omitempty"`
	// Creation timestamp for the MCP Gateway.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Name of the MCP Gateway.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the MCP Gateway.
	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
	// MCP Gateway labels as `key:value` pairs.
	Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Status of the MCP Gateway.
	Status McpGateway_Status `protobuf:"varint,8,opt,name=status,proto3,enum=yandex.cloud.serverless.mcpgateway.v1.McpGateway_Status" json:"status,omitempty"`
	// Base domain of the MCP Gateway.
	BaseDomain string `protobuf:"bytes,9,opt,name=base_domain,json=baseDomain,proto3" json:"base_domain,omitempty"`
	// Log options for the MCP Gateway.
	LogOptions *LogOptions `protobuf:"bytes,10,opt,name=log_options,json=logOptions,proto3" json:"log_options,omitempty"`
	// ID of the Service Account which will be used for resource access in MCP Gateway call.
	ServiceAccountId string `protobuf:"bytes,11,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// ID of the VPC network MCP Gateway will be executed in, in order to access private resources.
	NetworkId string `protobuf:"bytes,12,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	// ID of the cloud that the MCP Gateway belongs to.
	CloudId string `protobuf:"bytes,13,opt,name=cloud_id,json=cloudId,proto3" json:"cloud_id,omitempty"`
	// Publicity of the MCP Gateway. Public MCP Gateway can be accessed by anybody.
	Public        bool `protobuf:"varint,14,opt,name=public,proto3" json:"public,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *McpGateway) Reset() {
	*x = McpGateway{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpGateway) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpGateway) ProtoMessage() {}

func (x *McpGateway) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[0]
	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 McpGateway.ProtoReflect.Descriptor instead.
func (*McpGateway) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{0}
}

func (x *McpGateway) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *McpGateway) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *McpGateway) GetTools() []*McpTool {
	if x != nil {
		return x.Tools
	}
	return nil
}

func (x *McpGateway) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *McpGateway) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *McpGateway) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *McpGateway) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *McpGateway) GetStatus() McpGateway_Status {
	if x != nil {
		return x.Status
	}
	return McpGateway_STATUS_UNSPECIFIED
}

func (x *McpGateway) GetBaseDomain() string {
	if x != nil {
		return x.BaseDomain
	}
	return ""
}

func (x *McpGateway) GetLogOptions() *LogOptions {
	if x != nil {
		return x.LogOptions
	}
	return nil
}

func (x *McpGateway) GetServiceAccountId() string {
	if x != nil {
		return x.ServiceAccountId
	}
	return ""
}

func (x *McpGateway) GetNetworkId() string {
	if x != nil {
		return x.NetworkId
	}
	return ""
}

func (x *McpGateway) GetCloudId() string {
	if x != nil {
		return x.CloudId
	}
	return ""
}

func (x *McpGateway) GetPublic() bool {
	if x != nil {
		return x.Public
	}
	return false
}

type McpGatewayPreview struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the MCP Gateway. Generated at creation time.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the MCP Gateway belongs to.
	FolderId string `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Creation timestamp for the MCP Gateway.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Name of the MCP Gateway.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the MCP Gateway.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// MCP Gateway labels as `key:value` pairs.
	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Status of the MCP Gateway.
	Status McpGateway_Status `protobuf:"varint,7,opt,name=status,proto3,enum=yandex.cloud.serverless.mcpgateway.v1.McpGateway_Status" json:"status,omitempty"`
	// Base domain of the MCP Gateway.
	BaseDomain string `protobuf:"bytes,8,opt,name=base_domain,json=baseDomain,proto3" json:"base_domain,omitempty"`
	// Log options for the MCP Gateway.
	LogOptions *LogOptions `protobuf:"bytes,9,opt,name=log_options,json=logOptions,proto3" json:"log_options,omitempty"`
	// ID of the VPC network MCP Gateway will be executed in, in order to access private resources.
	NetworkId string `protobuf:"bytes,10,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	// ID of the Service Account which will be used for resource access in MCP Gateway call.
	ServiceAccountId string `protobuf:"bytes,11,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// Publicity of the MCP Gateway. Public MCP Gateway can be accessed by anybody.
	Public        bool `protobuf:"varint,12,opt,name=public,proto3" json:"public,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *McpGatewayPreview) Reset() {
	*x = McpGatewayPreview{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpGatewayPreview) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpGatewayPreview) ProtoMessage() {}

func (x *McpGatewayPreview) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[1]
	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 McpGatewayPreview.ProtoReflect.Descriptor instead.
func (*McpGatewayPreview) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{1}
}

func (x *McpGatewayPreview) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *McpGatewayPreview) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *McpGatewayPreview) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *McpGatewayPreview) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *McpGatewayPreview) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *McpGatewayPreview) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *McpGatewayPreview) GetStatus() McpGateway_Status {
	if x != nil {
		return x.Status
	}
	return McpGateway_STATUS_UNSPECIFIED
}

func (x *McpGatewayPreview) GetBaseDomain() string {
	if x != nil {
		return x.BaseDomain
	}
	return ""
}

func (x *McpGatewayPreview) GetLogOptions() *LogOptions {
	if x != nil {
		return x.LogOptions
	}
	return nil
}

func (x *McpGatewayPreview) GetNetworkId() string {
	if x != nil {
		return x.NetworkId
	}
	return ""
}

func (x *McpGatewayPreview) GetServiceAccountId() string {
	if x != nil {
		return x.ServiceAccountId
	}
	return ""
}

func (x *McpGatewayPreview) GetPublic() bool {
	if x != nil {
		return x.Public
	}
	return false
}

type LogOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Is logging from MCP Gateway disabled.
	Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
	// Types that are valid to be assigned to Destination:
	//
	//	*LogOptions_LogGroupId
	//	*LogOptions_FolderId
	Destination isLogOptions_Destination `protobuf_oneof:"destination"`
	// Minimum logs level.
	//
	// See [LogLevel.Level] for details.
	MinLevel      v1.LogLevel_Level `protobuf:"varint,4,opt,name=min_level,json=minLevel,proto3,enum=yandex.cloud.logging.v1.LogLevel_Level" json:"min_level,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LogOptions) Reset() {
	*x = LogOptions{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LogOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LogOptions) ProtoMessage() {}

func (x *LogOptions) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[2]
	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 LogOptions.ProtoReflect.Descriptor instead.
func (*LogOptions) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{2}
}

func (x *LogOptions) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

func (x *LogOptions) GetDestination() isLogOptions_Destination {
	if x != nil {
		return x.Destination
	}
	return nil
}

func (x *LogOptions) GetLogGroupId() string {
	if x != nil {
		if x, ok := x.Destination.(*LogOptions_LogGroupId); ok {
			return x.LogGroupId
		}
	}
	return ""
}

func (x *LogOptions) GetFolderId() string {
	if x != nil {
		if x, ok := x.Destination.(*LogOptions_FolderId); ok {
			return x.FolderId
		}
	}
	return ""
}

func (x *LogOptions) GetMinLevel() v1.LogLevel_Level {
	if x != nil {
		return x.MinLevel
	}
	return v1.LogLevel_Level(0)
}

type isLogOptions_Destination interface {
	isLogOptions_Destination()
}

type LogOptions_LogGroupId struct {
	// ID of the logging group which should be used for MCP Gateway logs.
	LogGroupId string `protobuf:"bytes,2,opt,name=log_group_id,json=logGroupId,proto3,oneof"`
}

type LogOptions_FolderId struct {
	// ID of the folder which default logging group should be used for MCP Gateway logs.
	FolderId string `protobuf:"bytes,3,opt,name=folder_id,json=folderId,proto3,oneof"`
}

func (*LogOptions_LogGroupId) isLogOptions_Destination() {}

func (*LogOptions_FolderId) isLogOptions_Destination() {}

type McpTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the tool.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the tool.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// JSON Schema describing tool input.
	InputJsonSchema string `protobuf:"bytes,3,opt,name=input_json_schema,json=inputJsonSchema,proto3" json:"input_json_schema,omitempty"`
	// Action to perform when this tool is invoked.
	Action        *McpToolAction `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *McpTool) Reset() {
	*x = McpTool{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpTool) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpTool) ProtoMessage() {}

func (x *McpTool) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[3]
	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 McpTool.ProtoReflect.Descriptor instead.
func (*McpTool) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{3}
}

func (x *McpTool) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *McpTool) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *McpTool) GetInputJsonSchema() string {
	if x != nil {
		return x.InputJsonSchema
	}
	return ""
}

func (x *McpTool) GetAction() *McpToolAction {
	if x != nil {
		return x.Action
	}
	return nil
}

type McpToolAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Action:
	//
	//	*McpToolAction_FunctionCall
	//	*McpToolAction_ContainerCall
	//	*McpToolAction_HttpCall
	//	*McpToolAction_McpCall
	//	*McpToolAction_GrpcCall
	//	*McpToolAction_StartWorkflow
	Action        isMcpToolAction_Action `protobuf_oneof:"action"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *McpToolAction) Reset() {
	*x = McpToolAction{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpToolAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpToolAction) ProtoMessage() {}

func (x *McpToolAction) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_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 McpToolAction.ProtoReflect.Descriptor instead.
func (*McpToolAction) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{4}
}

func (x *McpToolAction) GetAction() isMcpToolAction_Action {
	if x != nil {
		return x.Action
	}
	return nil
}

func (x *McpToolAction) GetFunctionCall() *FunctionCall {
	if x != nil {
		if x, ok := x.Action.(*McpToolAction_FunctionCall); ok {
			return x.FunctionCall
		}
	}
	return nil
}

func (x *McpToolAction) GetContainerCall() *ContainerCall {
	if x != nil {
		if x, ok := x.Action.(*McpToolAction_ContainerCall); ok {
			return x.ContainerCall
		}
	}
	return nil
}

func (x *McpToolAction) GetHttpCall() *HttpCall {
	if x != nil {
		if x, ok := x.Action.(*McpToolAction_HttpCall); ok {
			return x.HttpCall
		}
	}
	return nil
}

func (x *McpToolAction) GetMcpCall() *McpCall {
	if x != nil {
		if x, ok := x.Action.(*McpToolAction_McpCall); ok {
			return x.McpCall
		}
	}
	return nil
}

func (x *McpToolAction) GetGrpcCall() *GrpcCall {
	if x != nil {
		if x, ok := x.Action.(*McpToolAction_GrpcCall); ok {
			return x.GrpcCall
		}
	}
	return nil
}

func (x *McpToolAction) GetStartWorkflow() *StartWorkflow {
	if x != nil {
		if x, ok := x.Action.(*McpToolAction_StartWorkflow); ok {
			return x.StartWorkflow
		}
	}
	return nil
}

type isMcpToolAction_Action interface {
	isMcpToolAction_Action()
}

type McpToolAction_FunctionCall struct {
	// Call Serverless Function.
	FunctionCall *FunctionCall `protobuf:"bytes,1,opt,name=function_call,json=functionCall,proto3,oneof"`
}

type McpToolAction_ContainerCall struct {
	// Call Serverless Container.
	ContainerCall *ContainerCall `protobuf:"bytes,2,opt,name=container_call,json=containerCall,proto3,oneof"`
}

type McpToolAction_HttpCall struct {
	// Send HTTP request.
	HttpCall *HttpCall `protobuf:"bytes,3,opt,name=http_call,json=httpCall,proto3,oneof"`
}

type McpToolAction_McpCall struct {
	// Call MCP Gateway.
	McpCall *McpCall `protobuf:"bytes,4,opt,name=mcp_call,json=mcpCall,proto3,oneof"`
}

type McpToolAction_GrpcCall struct {
	// Call gRPC endpoint. Server must support gRPC reflection.
	GrpcCall *GrpcCall `protobuf:"bytes,5,opt,name=grpc_call,json=grpcCall,proto3,oneof"`
}

type McpToolAction_StartWorkflow struct {
	// Start Workflow.
	StartWorkflow *StartWorkflow `protobuf:"bytes,6,opt,name=start_workflow,json=startWorkflow,proto3,oneof"`
}

func (*McpToolAction_FunctionCall) isMcpToolAction_Action() {}

func (*McpToolAction_ContainerCall) isMcpToolAction_Action() {}

func (*McpToolAction_HttpCall) isMcpToolAction_Action() {}

func (*McpToolAction_McpCall) isMcpToolAction_Action() {}

func (*McpToolAction_GrpcCall) isMcpToolAction_Action() {}

func (*McpToolAction_StartWorkflow) isMcpToolAction_Action() {}

type FunctionCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of serverless function to call.
	FunctionId string `protobuf:"bytes,1,opt,name=function_id,json=functionId,proto3" json:"function_id,omitempty"`
	// Tag of serverless function. If empty, $latest tag will be used.
	Tag           string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FunctionCall) Reset() {
	*x = FunctionCall{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FunctionCall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FunctionCall) ProtoMessage() {}

func (x *FunctionCall) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_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 FunctionCall.ProtoReflect.Descriptor instead.
func (*FunctionCall) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{5}
}

func (x *FunctionCall) GetFunctionId() string {
	if x != nil {
		return x.FunctionId
	}
	return ""
}

func (x *FunctionCall) GetTag() string {
	if x != nil {
		return x.Tag
	}
	return ""
}

type ContainerCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of serverless container to call.
	ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	// Relative request path inside the container.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// HTTP method to use for the request.
	Method HttpMethod `protobuf:"varint,3,opt,name=method,proto3,enum=yandex.cloud.serverless.mcpgateway.v1.HttpMethod" json:"method,omitempty"`
	// Request body to send to the container.
	Body string `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"`
	// HTTP headers to include in the request.
	Headers map[string]string `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Query string parameters to include in the request.
	Query map[string]string `protobuf:"bytes,6,rep,name=query,proto3" json:"query,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Policy that defines which headers from the incoming request should be forwarded
	ForwardHeaders *ForwardHeadersPolicy `protobuf:"bytes,7,opt,name=forward_headers,json=forwardHeaders,proto3" json:"forward_headers,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ContainerCall) Reset() {
	*x = ContainerCall{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ContainerCall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContainerCall) ProtoMessage() {}

func (x *ContainerCall) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[6]
	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 ContainerCall.ProtoReflect.Descriptor instead.
func (*ContainerCall) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{6}
}

func (x *ContainerCall) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *ContainerCall) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *ContainerCall) GetMethod() HttpMethod {
	if x != nil {
		return x.Method
	}
	return HttpMethod_HTTP_METHOD_UNSPECIFIED
}

func (x *ContainerCall) GetBody() string {
	if x != nil {
		return x.Body
	}
	return ""
}

func (x *ContainerCall) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *ContainerCall) GetQuery() map[string]string {
	if x != nil {
		return x.Query
	}
	return nil
}

func (x *ContainerCall) GetForwardHeaders() *ForwardHeadersPolicy {
	if x != nil {
		return x.ForwardHeaders
	}
	return nil
}

type HttpCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Absolute URL to send the request to. (required)
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// HTTP method to use.
	Method HttpMethod `protobuf:"varint,2,opt,name=method,proto3,enum=yandex.cloud.serverless.mcpgateway.v1.HttpMethod" json:"method,omitempty"`
	// Request body payload.
	Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	// HTTP headers to include.
	Headers map[string]string `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Query string parameters to include.
	Query map[string]string `protobuf:"bytes,5,rep,name=query,proto3" json:"query,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Use MCP Gateway service account credentials for the request.
	UseServiceAccount bool `protobuf:"varint,6,opt,name=use_service_account,json=useServiceAccount,proto3" json:"use_service_account,omitempty"`
	// Policy that defines which headers from the incoming request should be forwarded
	ForwardHeaders *ForwardHeadersPolicy `protobuf:"bytes,7,opt,name=forward_headers,json=forwardHeaders,proto3" json:"forward_headers,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *HttpCall) Reset() {
	*x = HttpCall{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HttpCall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HttpCall) ProtoMessage() {}

func (x *HttpCall) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[7]
	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 HttpCall.ProtoReflect.Descriptor instead.
func (*HttpCall) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{7}
}

func (x *HttpCall) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *HttpCall) GetMethod() HttpMethod {
	if x != nil {
		return x.Method
	}
	return HttpMethod_HTTP_METHOD_UNSPECIFIED
}

func (x *HttpCall) GetBody() string {
	if x != nil {
		return x.Body
	}
	return ""
}

func (x *HttpCall) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *HttpCall) GetQuery() map[string]string {
	if x != nil {
		return x.Query
	}
	return nil
}

func (x *HttpCall) GetUseServiceAccount() bool {
	if x != nil {
		return x.UseServiceAccount
	}
	return false
}

func (x *HttpCall) GetForwardHeaders() *ForwardHeadersPolicy {
	if x != nil {
		return x.ForwardHeaders
	}
	return nil
}

// Policy defining which HTTP headers from the incoming request should be forwarded.
type ForwardHeadersPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Mode of header forwarding. Determines how the headers list is interpreted.
	Mode ForwardHeadersPolicy_ForwardMode `protobuf:"varint,1,opt,name=mode,proto3,enum=yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy_ForwardMode" json:"mode,omitempty"`
	// List of HTTP header names to forward. Interpretation depends on the mode:
	// - WHITE_LIST: only these headers will be forwarded (all others are excluded)
	// - BLACK_LIST: all headers except these will be forwarded (these are excluded)
	Headers       []string `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ForwardHeadersPolicy) Reset() {
	*x = ForwardHeadersPolicy{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ForwardHeadersPolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ForwardHeadersPolicy) ProtoMessage() {}

func (x *ForwardHeadersPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[8]
	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 ForwardHeadersPolicy.ProtoReflect.Descriptor instead.
func (*ForwardHeadersPolicy) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{8}
}

func (x *ForwardHeadersPolicy) GetMode() ForwardHeadersPolicy_ForwardMode {
	if x != nil {
		return x.Mode
	}
	return ForwardHeadersPolicy_FORWARD_MODE_UNSPECIFIED
}

func (x *ForwardHeadersPolicy) GetHeaders() []string {
	if x != nil {
		return x.Headers
	}
	return nil
}

type McpCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// MCP endpoint base URL. (required)
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Types that are valid to be assigned to Action:
	//
	//	*McpCall_ToolCall_
	Action isMcpCall_Action `protobuf_oneof:"action"`
	// Transport to use for MCP communication.
	Transport McpCall_Transport `protobuf:"varint,3,opt,name=transport,proto3,enum=yandex.cloud.serverless.mcpgateway.v1.McpCall_Transport" json:"transport,omitempty"`
	// Authorization mode for requests to the MCP endpoint.
	//
	// Types that are valid to be assigned to Authorization:
	//
	//	*McpCall_Unauthorized
	//	*McpCall_Header
	//	*McpCall_ServiceAccount
	Authorization isMcpCall_Authorization `protobuf_oneof:"authorization"`
	// Headers from the incoming request to forward downstream by name.
	ForwardHeaders map[string]string `protobuf:"bytes,7,rep,name=forward_headers,json=forwardHeaders,proto3" json:"forward_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Policy that defines which headers from the incoming request should be forwarded to the HTTP endpoint
	TransferHeaders *ForwardHeadersPolicy `protobuf:"bytes,8,opt,name=transfer_headers,json=transferHeaders,proto3" json:"transfer_headers,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *McpCall) Reset() {
	*x = McpCall{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpCall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpCall) ProtoMessage() {}

func (x *McpCall) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[9]
	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 McpCall.ProtoReflect.Descriptor instead.
func (*McpCall) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{9}
}

func (x *McpCall) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *McpCall) GetAction() isMcpCall_Action {
	if x != nil {
		return x.Action
	}
	return nil
}

func (x *McpCall) GetToolCall() *McpCall_ToolCall {
	if x != nil {
		if x, ok := x.Action.(*McpCall_ToolCall_); ok {
			return x.ToolCall
		}
	}
	return nil
}

func (x *McpCall) GetTransport() McpCall_Transport {
	if x != nil {
		return x.Transport
	}
	return McpCall_TRANSPORT_UNSPECIFIED
}

func (x *McpCall) GetAuthorization() isMcpCall_Authorization {
	if x != nil {
		return x.Authorization
	}
	return nil
}

func (x *McpCall) GetUnauthorized() *McpCall_NoAuthorization {
	if x != nil {
		if x, ok := x.Authorization.(*McpCall_Unauthorized); ok {
			return x.Unauthorized
		}
	}
	return nil
}

func (x *McpCall) GetHeader() *McpCall_HeaderAuthorization {
	if x != nil {
		if x, ok := x.Authorization.(*McpCall_Header); ok {
			return x.Header
		}
	}
	return nil
}

func (x *McpCall) GetServiceAccount() *McpCall_SaAuthorization {
	if x != nil {
		if x, ok := x.Authorization.(*McpCall_ServiceAccount); ok {
			return x.ServiceAccount
		}
	}
	return nil
}

func (x *McpCall) GetForwardHeaders() map[string]string {
	if x != nil {
		return x.ForwardHeaders
	}
	return nil
}

func (x *McpCall) GetTransferHeaders() *ForwardHeadersPolicy {
	if x != nil {
		return x.TransferHeaders
	}
	return nil
}

type isMcpCall_Action interface {
	isMcpCall_Action()
}

type McpCall_ToolCall_ struct {
	// Tool call action to invoke a specific tool on the MCP endpoint.
	ToolCall *McpCall_ToolCall `protobuf:"bytes,2,opt,name=tool_call,json=toolCall,proto3,oneof"`
}

func (*McpCall_ToolCall_) isMcpCall_Action() {}

type isMcpCall_Authorization interface {
	isMcpCall_Authorization()
}

type McpCall_Unauthorized struct {
	// No authorization mode.
	Unauthorized *McpCall_NoAuthorization `protobuf:"bytes,4,opt,name=unauthorized,proto3,oneof"`
}

type McpCall_Header struct {
	// Header-based authorization.
	Header *McpCall_HeaderAuthorization `protobuf:"bytes,5,opt,name=header,proto3,oneof"`
}

type McpCall_ServiceAccount struct {
	// Service account authorization.
	ServiceAccount *McpCall_SaAuthorization `protobuf:"bytes,6,opt,name=service_account,json=serviceAccount,proto3,oneof"`
}

func (*McpCall_Unauthorized) isMcpCall_Authorization() {}

func (*McpCall_Header) isMcpCall_Authorization() {}

func (*McpCall_ServiceAccount) isMcpCall_Authorization() {}

type GrpcCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// gRPC server endpoint, e.g., host:port. (required)
	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Fully qualified gRPC method name, e.g., package.Service/Method. (required)
	Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
	// Use MCP Gateway service account for authentication.
	UseServiceAccount bool `protobuf:"varint,3,opt,name=use_service_account,json=useServiceAccount,proto3" json:"use_service_account,omitempty"`
	// Request body payload for the call.
	Body string `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"`
	// gRPC/HTTP headers to include with the call.
	Headers map[string]string `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Policy that defines which headers from the incoming request should be forwarded
	ForwardHeaders *ForwardHeadersPolicy `protobuf:"bytes,6,opt,name=forward_headers,json=forwardHeaders,proto3" json:"forward_headers,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GrpcCall) Reset() {
	*x = GrpcCall{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GrpcCall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GrpcCall) ProtoMessage() {}

func (x *GrpcCall) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[10]
	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 GrpcCall.ProtoReflect.Descriptor instead.
func (*GrpcCall) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{10}
}

func (x *GrpcCall) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *GrpcCall) GetMethod() string {
	if x != nil {
		return x.Method
	}
	return ""
}

func (x *GrpcCall) GetUseServiceAccount() bool {
	if x != nil {
		return x.UseServiceAccount
	}
	return false
}

func (x *GrpcCall) GetBody() string {
	if x != nil {
		return x.Body
	}
	return ""
}

func (x *GrpcCall) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *GrpcCall) GetForwardHeaders() *ForwardHeadersPolicy {
	if x != nil {
		return x.ForwardHeaders
	}
	return nil
}

type StartWorkflow struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the Workflow to start. (required)
	WorkflowId string `protobuf:"bytes,1,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"`
	// JSON-encoded workflow input payload.
	InputJson string `protobuf:"bytes,2,opt,name=input_json,json=inputJson,proto3" json:"input_json,omitempty"`
	// Execution mode for the workflow.
	// Determines whether the call should wait for workflow completion (SYNC)
	// or return immediately after starting the workflow (ASYNC).
	Mode          StartWorkflow_Mode `protobuf:"varint,3,opt,name=mode,proto3,enum=yandex.cloud.serverless.mcpgateway.v1.StartWorkflow_Mode" json:"mode,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StartWorkflow) Reset() {
	*x = StartWorkflow{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StartWorkflow) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartWorkflow) ProtoMessage() {}

func (x *StartWorkflow) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[11]
	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 StartWorkflow.ProtoReflect.Descriptor instead.
func (*StartWorkflow) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{11}
}

func (x *StartWorkflow) GetWorkflowId() string {
	if x != nil {
		return x.WorkflowId
	}
	return ""
}

func (x *StartWorkflow) GetInputJson() string {
	if x != nil {
		return x.InputJson
	}
	return ""
}

func (x *StartWorkflow) GetMode() StartWorkflow_Mode {
	if x != nil {
		return x.Mode
	}
	return StartWorkflow_MODE_UNSPECIFIED
}

// No authorization will be sent.
type McpCall_NoAuthorization struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *McpCall_NoAuthorization) Reset() {
	*x = McpCall_NoAuthorization{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpCall_NoAuthorization) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpCall_NoAuthorization) ProtoMessage() {}

func (x *McpCall_NoAuthorization) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[19]
	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 McpCall_NoAuthorization.ProtoReflect.Descriptor instead.
func (*McpCall_NoAuthorization) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{9, 1}
}

// Use MCP Gateway service account to authorize.
type McpCall_SaAuthorization struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *McpCall_SaAuthorization) Reset() {
	*x = McpCall_SaAuthorization{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpCall_SaAuthorization) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpCall_SaAuthorization) ProtoMessage() {}

func (x *McpCall_SaAuthorization) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_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 McpCall_SaAuthorization.ProtoReflect.Descriptor instead.
func (*McpCall_SaAuthorization) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{9, 2}
}

type McpCall_HeaderAuthorization struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the authorization header to send.
	HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
	// Value of the authorization header to send.
	HeaderValue   string `protobuf:"bytes,2,opt,name=header_value,json=headerValue,proto3" json:"header_value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *McpCall_HeaderAuthorization) Reset() {
	*x = McpCall_HeaderAuthorization{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpCall_HeaderAuthorization) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpCall_HeaderAuthorization) ProtoMessage() {}

func (x *McpCall_HeaderAuthorization) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_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 McpCall_HeaderAuthorization.ProtoReflect.Descriptor instead.
func (*McpCall_HeaderAuthorization) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{9, 3}
}

func (x *McpCall_HeaderAuthorization) GetHeaderName() string {
	if x != nil {
		return x.HeaderName
	}
	return ""
}

func (x *McpCall_HeaderAuthorization) GetHeaderValue() string {
	if x != nil {
		return x.HeaderValue
	}
	return ""
}

type McpCall_ToolCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the tool to invoke on the MCP endpoint. (required)
	ToolName string `protobuf:"bytes,1,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"`
	// JSON-encoded parameters to pass to the tool.
	ParametersJson string `protobuf:"bytes,2,opt,name=parameters_json,json=parametersJson,proto3" json:"parameters_json,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *McpCall_ToolCall) Reset() {
	*x = McpCall_ToolCall{}
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *McpCall_ToolCall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*McpCall_ToolCall) ProtoMessage() {}

func (x *McpCall_ToolCall) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[22]
	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 McpCall_ToolCall.ProtoReflect.Descriptor instead.
func (*McpCall_ToolCall) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP(), []int{9, 4}
}

func (x *McpCall_ToolCall) GetToolName() string {
	if x != nil {
		return x.ToolName
	}
	return ""
}

func (x *McpCall_ToolCall) GetParametersJson() string {
	if x != nil {
		return x.ParametersJson
	}
	return ""
}

var File_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto protoreflect.FileDescriptor

const file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDesc = "" +
	"\n" +
	"7yandex/cloud/serverless/mcpgateway/v1/mcp_gateway.proto\x12%yandex.cloud.serverless.mcpgateway.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a'yandex/cloud/logging/v1/log_entry.proto\x1a\x1dyandex/cloud/validation.proto\"\xca\x06\n" +
	"\n" +
	"McpGateway\x12\x14\n" +
	"\x02id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x02id\x12!\n" +
	"\tfolder_id\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\bfolderId\x12D\n" +
	"\x05tools\x18\x03 \x03(\v2..yandex.cloud.serverless.mcpgateway.v1.McpToolR\x05tools\x12?\n" +
	"\n" +
	"created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\tcreatedAt\x12\x18\n" +
	"\x04name\x18\x05 \x01(\tB\x04\xe8\xc71\x01R\x04name\x12 \n" +
	"\vdescription\x18\x06 \x01(\tR\vdescription\x12U\n" +
	"\x06labels\x18\a \x03(\v2=.yandex.cloud.serverless.mcpgateway.v1.McpGateway.LabelsEntryR\x06labels\x12P\n" +
	"\x06status\x18\b \x01(\x0e28.yandex.cloud.serverless.mcpgateway.v1.McpGateway.StatusR\x06status\x12\x1f\n" +
	"\vbase_domain\x18\t \x01(\tR\n" +
	"baseDomain\x12R\n" +
	"\vlog_options\x18\n" +
	" \x01(\v21.yandex.cloud.serverless.mcpgateway.v1.LogOptionsR\n" +
	"logOptions\x12,\n" +
	"\x12service_account_id\x18\v \x01(\tR\x10serviceAccountId\x12\x1d\n" +
	"\n" +
	"network_id\x18\f \x01(\tR\tnetworkId\x12\x1f\n" +
	"\bcloud_id\x18\r \x01(\tB\x04\xe8\xc71\x01R\acloudId\x12\x16\n" +
	"\x06public\x18\x0e \x01(\bR\x06public\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"a\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bCREATING\x10\x01\x12\n" +
	"\n" +
	"\x06ACTIVE\x10\x02\x12\f\n" +
	"\bUPDATING\x10\x03\x12\f\n" +
	"\bDELETING\x10\x04\x12\t\n" +
	"\x05ERROR\x10\x05\"\x94\x05\n" +
	"\x11McpGatewayPreview\x12\x14\n" +
	"\x02id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x02id\x12!\n" +
	"\tfolder_id\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\bfolderId\x12?\n" +
	"\n" +
	"created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x04\xe8\xc71\x01R\tcreatedAt\x12\x18\n" +
	"\x04name\x18\x04 \x01(\tB\x04\xe8\xc71\x01R\x04name\x12 \n" +
	"\vdescription\x18\x05 \x01(\tR\vdescription\x12\\\n" +
	"\x06labels\x18\x06 \x03(\v2D.yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview.LabelsEntryR\x06labels\x12V\n" +
	"\x06status\x18\a \x01(\x0e28.yandex.cloud.serverless.mcpgateway.v1.McpGateway.StatusB\x04\xe8\xc71\x01R\x06status\x12\x1f\n" +
	"\vbase_domain\x18\b \x01(\tR\n" +
	"baseDomain\x12R\n" +
	"\vlog_options\x18\t \x01(\v21.yandex.cloud.serverless.mcpgateway.v1.LogOptionsR\n" +
	"logOptions\x12\x1d\n" +
	"\n" +
	"network_id\x18\n" +
	" \x01(\tR\tnetworkId\x12,\n" +
	"\x12service_account_id\x18\v \x01(\tR\x10serviceAccountId\x12\x16\n" +
	"\x06public\x18\f \x01(\bR\x06public\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc0\x01\n" +
	"\n" +
	"LogOptions\x12\x1a\n" +
	"\bdisabled\x18\x01 \x01(\bR\bdisabled\x12\"\n" +
	"\flog_group_id\x18\x02 \x01(\tH\x00R\n" +
	"logGroupId\x12\x1d\n" +
	"\tfolder_id\x18\x03 \x01(\tH\x00R\bfolderId\x12D\n" +
	"\tmin_level\x18\x04 \x01(\x0e2'.yandex.cloud.logging.v1.LogLevel.LevelR\bminLevelB\r\n" +
	"\vdestination\"\xfd\x01\n" +
	"\aMcpTool\x12C\n" +
	"\x04name\x18\x01 \x01(\tB/\xe8\xc71\x01\xf2\xc71\x1e([a-zA-Z][-a-zA-Z0-9_]{0,63})?\x8a\xc81\x05<=128R\x04name\x12-\n" +
	"\vdescription\x18\x02 \x01(\tB\v\x8a\xc81\a<=65536R\vdescription\x12*\n" +
	"\x11input_json_schema\x18\x03 \x01(\tR\x0finputJsonSchema\x12R\n" +
	"\x06action\x18\x04 \x01(\v24.yandex.cloud.serverless.mcpgateway.v1.McpToolActionB\x04\xe8\xc71\x01R\x06action\"\xa6\x04\n" +
	"\rMcpToolAction\x12Z\n" +
	"\rfunction_call\x18\x01 \x01(\v23.yandex.cloud.serverless.mcpgateway.v1.FunctionCallH\x00R\ffunctionCall\x12]\n" +
	"\x0econtainer_call\x18\x02 \x01(\v24.yandex.cloud.serverless.mcpgateway.v1.ContainerCallH\x00R\rcontainerCall\x12N\n" +
	"\thttp_call\x18\x03 \x01(\v2/.yandex.cloud.serverless.mcpgateway.v1.HttpCallH\x00R\bhttpCall\x12K\n" +
	"\bmcp_call\x18\x04 \x01(\v2..yandex.cloud.serverless.mcpgateway.v1.McpCallH\x00R\amcpCall\x12N\n" +
	"\tgrpc_call\x18\x05 \x01(\v2/.yandex.cloud.serverless.mcpgateway.v1.GrpcCallH\x00R\bgrpcCall\x12]\n" +
	"\x0estart_workflow\x18\x06 \x01(\v24.yandex.cloud.serverless.mcpgateway.v1.StartWorkflowH\x00R\rstartWorkflowB\x0e\n" +
	"\x06action\x12\x04\xc0\xc11\x01\"G\n" +
	"\fFunctionCall\x12%\n" +
	"\vfunction_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\n" +
	"functionId\x12\x10\n" +
	"\x03tag\x18\x02 \x01(\tR\x03tag\"\xbb\x04\n" +
	"\rContainerCall\x12'\n" +
	"\fcontainer_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\vcontainerId\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12I\n" +
	"\x06method\x18\x03 \x01(\x0e21.yandex.cloud.serverless.mcpgateway.v1.HttpMethodR\x06method\x12\x12\n" +
	"\x04body\x18\x04 \x01(\tR\x04body\x12[\n" +
	"\aheaders\x18\x05 \x03(\v2A.yandex.cloud.serverless.mcpgateway.v1.ContainerCall.HeadersEntryR\aheaders\x12U\n" +
	"\x05query\x18\x06 \x03(\v2?.yandex.cloud.serverless.mcpgateway.v1.ContainerCall.QueryEntryR\x05query\x12d\n" +
	"\x0fforward_headers\x18\a \x01(\v2;.yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicyR\x0eforwardHeaders\x1a:\n" +
	"\fHeadersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a8\n" +
	"\n" +
	"QueryEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xb7\x04\n" +
	"\bHttpCall\x12\x16\n" +
	"\x03url\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x03url\x12I\n" +
	"\x06method\x18\x02 \x01(\x0e21.yandex.cloud.serverless.mcpgateway.v1.HttpMethodR\x06method\x12\x12\n" +
	"\x04body\x18\x03 \x01(\tR\x04body\x12V\n" +
	"\aheaders\x18\x04 \x03(\v2<.yandex.cloud.serverless.mcpgateway.v1.HttpCall.HeadersEntryR\aheaders\x12P\n" +
	"\x05query\x18\x05 \x03(\v2:.yandex.cloud.serverless.mcpgateway.v1.HttpCall.QueryEntryR\x05query\x12.\n" +
	"\x13use_service_account\x18\x06 \x01(\bR\x11useServiceAccount\x12d\n" +
	"\x0fforward_headers\x18\a \x01(\v2;.yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicyR\x0eforwardHeaders\x1a:\n" +
	"\fHeadersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a8\n" +
	"\n" +
	"QueryEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xe0\x01\n" +
	"\x14ForwardHeadersPolicy\x12a\n" +
	"\x04mode\x18\x01 \x01(\x0e2G.yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy.ForwardModeB\x04\xe8\xc71\x01R\x04mode\x12\x18\n" +
	"\aheaders\x18\x02 \x03(\tR\aheaders\"K\n" +
	"\vForwardMode\x12\x1c\n" +
	"\x18FORWARD_MODE_UNSPECIFIED\x10\x00\x12\x0e\n" +
	"\n" +
	"WHITE_LIST\x10\x01\x12\x0e\n" +
	"\n" +
	"BLACK_LIST\x10\x02\"\xcd\b\n" +
	"\aMcpCall\x12\x16\n" +
	"\x03url\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x03url\x12V\n" +
	"\ttool_call\x18\x02 \x01(\v27.yandex.cloud.serverless.mcpgateway.v1.McpCall.ToolCallH\x00R\btoolCall\x12V\n" +
	"\ttransport\x18\x03 \x01(\x0e28.yandex.cloud.serverless.mcpgateway.v1.McpCall.TransportR\ttransport\x12d\n" +
	"\funauthorized\x18\x04 \x01(\v2>.yandex.cloud.serverless.mcpgateway.v1.McpCall.NoAuthorizationH\x01R\funauthorized\x12\\\n" +
	"\x06header\x18\x05 \x01(\v2B.yandex.cloud.serverless.mcpgateway.v1.McpCall.HeaderAuthorizationH\x01R\x06header\x12i\n" +
	"\x0fservice_account\x18\x06 \x01(\v2>.yandex.cloud.serverless.mcpgateway.v1.McpCall.SaAuthorizationH\x01R\x0eserviceAccount\x12k\n" +
	"\x0fforward_headers\x18\a \x03(\v2B.yandex.cloud.serverless.mcpgateway.v1.McpCall.ForwardHeadersEntryR\x0eforwardHeaders\x12f\n" +
	"\x10transfer_headers\x18\b \x01(\v2;.yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicyR\x0ftransferHeaders\x1aA\n" +
	"\x13ForwardHeadersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\x11\n" +
	"\x0fNoAuthorization\x1a\x11\n" +
	"\x0fSaAuthorization\x1aY\n" +
	"\x13HeaderAuthorization\x12\x1f\n" +
	"\vheader_name\x18\x01 \x01(\tR\n" +
	"headerName\x12!\n" +
	"\fheader_value\x18\x02 \x01(\tR\vheaderValue\x1aV\n" +
	"\bToolCall\x12!\n" +
	"\ttool_name\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\btoolName\x12'\n" +
	"\x0fparameters_json\x18\x02 \x01(\tR\x0eparametersJson\"?\n" +
	"\tTransport\x12\x19\n" +
	"\x15TRANSPORT_UNSPECIFIED\x10\x00\x12\a\n" +
	"\x03SSE\x10\x01\x12\x0e\n" +
	"\n" +
	"STREAMABLE\x10\x02B\b\n" +
	"\x06actionB\x0f\n" +
	"\rauthorization\"\x88\x03\n" +
	"\bGrpcCall\x12 \n" +
	"\bendpoint\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\bendpoint\x12\x1c\n" +
	"\x06method\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\x06method\x12.\n" +
	"\x13use_service_account\x18\x03 \x01(\bR\x11useServiceAccount\x12\x12\n" +
	"\x04body\x18\x04 \x01(\tR\x04body\x12V\n" +
	"\aheaders\x18\x05 \x03(\v2<.yandex.cloud.serverless.mcpgateway.v1.GrpcCall.HeadersEntryR\aheaders\x12d\n" +
	"\x0fforward_headers\x18\x06 \x01(\v2;.yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicyR\x0eforwardHeaders\x1a:\n" +
	"\fHeadersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xd7\x01\n" +
	"\rStartWorkflow\x12%\n" +
	"\vworkflow_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\n" +
	"workflowId\x12\x1d\n" +
	"\n" +
	"input_json\x18\x02 \x01(\tR\tinputJson\x12M\n" +
	"\x04mode\x18\x03 \x01(\x0e29.yandex.cloud.serverless.mcpgateway.v1.StartWorkflow.ModeR\x04mode\"1\n" +
	"\x04Mode\x12\x14\n" +
	"\x10MODE_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04SYNC\x10\x01\x12\t\n" +
	"\x05ASYNC\x10\x02*\x8b\x01\n" +
	"\n" +
	"HttpMethod\x12\x1b\n" +
	"\x17HTTP_METHOD_UNSPECIFIED\x10\x00\x12\v\n" +
	"\aOPTIONS\x10\x01\x12\a\n" +
	"\x03GET\x10\x02\x12\b\n" +
	"\x04HEAD\x10\x03\x12\b\n" +
	"\x04POST\x10\x04\x12\a\n" +
	"\x03PUT\x10\x05\x12\t\n" +
	"\x05PATCH\x10\x06\x12\n" +
	"\n" +
	"\x06DELETE\x10\a\x12\t\n" +
	"\x05TRACE\x10\b\x12\v\n" +
	"\aCONNECT\x10\tB\x81\x01\n" +
	")yandex.cloud.api.serverless.mcpgateway.v1ZTgithub.com/yandex-cloud/go-genproto/yandex/cloud/serverless/mcpgateway/v1;mcpgatewayb\x06proto3"

var (
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescOnce sync.Once
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescData []byte
)

func file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescGZIP() []byte {
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDesc), len(file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDesc)))
	})
	return file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDescData
}

var file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_goTypes = []any{
	(HttpMethod)(0),                       // 0: yandex.cloud.serverless.mcpgateway.v1.HttpMethod
	(McpGateway_Status)(0),                // 1: yandex.cloud.serverless.mcpgateway.v1.McpGateway.Status
	(ForwardHeadersPolicy_ForwardMode)(0), // 2: yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy.ForwardMode
	(McpCall_Transport)(0),                // 3: yandex.cloud.serverless.mcpgateway.v1.McpCall.Transport
	(StartWorkflow_Mode)(0),               // 4: yandex.cloud.serverless.mcpgateway.v1.StartWorkflow.Mode
	(*McpGateway)(nil),                    // 5: yandex.cloud.serverless.mcpgateway.v1.McpGateway
	(*McpGatewayPreview)(nil),             // 6: yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview
	(*LogOptions)(nil),                    // 7: yandex.cloud.serverless.mcpgateway.v1.LogOptions
	(*McpTool)(nil),                       // 8: yandex.cloud.serverless.mcpgateway.v1.McpTool
	(*McpToolAction)(nil),                 // 9: yandex.cloud.serverless.mcpgateway.v1.McpToolAction
	(*FunctionCall)(nil),                  // 10: yandex.cloud.serverless.mcpgateway.v1.FunctionCall
	(*ContainerCall)(nil),                 // 11: yandex.cloud.serverless.mcpgateway.v1.ContainerCall
	(*HttpCall)(nil),                      // 12: yandex.cloud.serverless.mcpgateway.v1.HttpCall
	(*ForwardHeadersPolicy)(nil),          // 13: yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy
	(*McpCall)(nil),                       // 14: yandex.cloud.serverless.mcpgateway.v1.McpCall
	(*GrpcCall)(nil),                      // 15: yandex.cloud.serverless.mcpgateway.v1.GrpcCall
	(*StartWorkflow)(nil),                 // 16: yandex.cloud.serverless.mcpgateway.v1.StartWorkflow
	nil,                                   // 17: yandex.cloud.serverless.mcpgateway.v1.McpGateway.LabelsEntry
	nil,                                   // 18: yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview.LabelsEntry
	nil,                                   // 19: yandex.cloud.serverless.mcpgateway.v1.ContainerCall.HeadersEntry
	nil,                                   // 20: yandex.cloud.serverless.mcpgateway.v1.ContainerCall.QueryEntry
	nil,                                   // 21: yandex.cloud.serverless.mcpgateway.v1.HttpCall.HeadersEntry
	nil,                                   // 22: yandex.cloud.serverless.mcpgateway.v1.HttpCall.QueryEntry
	nil,                                   // 23: yandex.cloud.serverless.mcpgateway.v1.McpCall.ForwardHeadersEntry
	(*McpCall_NoAuthorization)(nil),       // 24: yandex.cloud.serverless.mcpgateway.v1.McpCall.NoAuthorization
	(*McpCall_SaAuthorization)(nil),       // 25: yandex.cloud.serverless.mcpgateway.v1.McpCall.SaAuthorization
	(*McpCall_HeaderAuthorization)(nil),   // 26: yandex.cloud.serverless.mcpgateway.v1.McpCall.HeaderAuthorization
	(*McpCall_ToolCall)(nil),              // 27: yandex.cloud.serverless.mcpgateway.v1.McpCall.ToolCall
	nil,                                   // 28: yandex.cloud.serverless.mcpgateway.v1.GrpcCall.HeadersEntry
	(*timestamppb.Timestamp)(nil),         // 29: google.protobuf.Timestamp
	(v1.LogLevel_Level)(0),                // 30: yandex.cloud.logging.v1.LogLevel.Level
}
var file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_depIdxs = []int32{
	8,  // 0: yandex.cloud.serverless.mcpgateway.v1.McpGateway.tools:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpTool
	29, // 1: yandex.cloud.serverless.mcpgateway.v1.McpGateway.created_at:type_name -> google.protobuf.Timestamp
	17, // 2: yandex.cloud.serverless.mcpgateway.v1.McpGateway.labels:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpGateway.LabelsEntry
	1,  // 3: yandex.cloud.serverless.mcpgateway.v1.McpGateway.status:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpGateway.Status
	7,  // 4: yandex.cloud.serverless.mcpgateway.v1.McpGateway.log_options:type_name -> yandex.cloud.serverless.mcpgateway.v1.LogOptions
	29, // 5: yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview.created_at:type_name -> google.protobuf.Timestamp
	18, // 6: yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview.labels:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview.LabelsEntry
	1,  // 7: yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview.status:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpGateway.Status
	7,  // 8: yandex.cloud.serverless.mcpgateway.v1.McpGatewayPreview.log_options:type_name -> yandex.cloud.serverless.mcpgateway.v1.LogOptions
	30, // 9: yandex.cloud.serverless.mcpgateway.v1.LogOptions.min_level:type_name -> yandex.cloud.logging.v1.LogLevel.Level
	9,  // 10: yandex.cloud.serverless.mcpgateway.v1.McpTool.action:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpToolAction
	10, // 11: yandex.cloud.serverless.mcpgateway.v1.McpToolAction.function_call:type_name -> yandex.cloud.serverless.mcpgateway.v1.FunctionCall
	11, // 12: yandex.cloud.serverless.mcpgateway.v1.McpToolAction.container_call:type_name -> yandex.cloud.serverless.mcpgateway.v1.ContainerCall
	12, // 13: yandex.cloud.serverless.mcpgateway.v1.McpToolAction.http_call:type_name -> yandex.cloud.serverless.mcpgateway.v1.HttpCall
	14, // 14: yandex.cloud.serverless.mcpgateway.v1.McpToolAction.mcp_call:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpCall
	15, // 15: yandex.cloud.serverless.mcpgateway.v1.McpToolAction.grpc_call:type_name -> yandex.cloud.serverless.mcpgateway.v1.GrpcCall
	16, // 16: yandex.cloud.serverless.mcpgateway.v1.McpToolAction.start_workflow:type_name -> yandex.cloud.serverless.mcpgateway.v1.StartWorkflow
	0,  // 17: yandex.cloud.serverless.mcpgateway.v1.ContainerCall.method:type_name -> yandex.cloud.serverless.mcpgateway.v1.HttpMethod
	19, // 18: yandex.cloud.serverless.mcpgateway.v1.ContainerCall.headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.ContainerCall.HeadersEntry
	20, // 19: yandex.cloud.serverless.mcpgateway.v1.ContainerCall.query:type_name -> yandex.cloud.serverless.mcpgateway.v1.ContainerCall.QueryEntry
	13, // 20: yandex.cloud.serverless.mcpgateway.v1.ContainerCall.forward_headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy
	0,  // 21: yandex.cloud.serverless.mcpgateway.v1.HttpCall.method:type_name -> yandex.cloud.serverless.mcpgateway.v1.HttpMethod
	21, // 22: yandex.cloud.serverless.mcpgateway.v1.HttpCall.headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.HttpCall.HeadersEntry
	22, // 23: yandex.cloud.serverless.mcpgateway.v1.HttpCall.query:type_name -> yandex.cloud.serverless.mcpgateway.v1.HttpCall.QueryEntry
	13, // 24: yandex.cloud.serverless.mcpgateway.v1.HttpCall.forward_headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy
	2,  // 25: yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy.mode:type_name -> yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy.ForwardMode
	27, // 26: yandex.cloud.serverless.mcpgateway.v1.McpCall.tool_call:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpCall.ToolCall
	3,  // 27: yandex.cloud.serverless.mcpgateway.v1.McpCall.transport:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpCall.Transport
	24, // 28: yandex.cloud.serverless.mcpgateway.v1.McpCall.unauthorized:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpCall.NoAuthorization
	26, // 29: yandex.cloud.serverless.mcpgateway.v1.McpCall.header:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpCall.HeaderAuthorization
	25, // 30: yandex.cloud.serverless.mcpgateway.v1.McpCall.service_account:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpCall.SaAuthorization
	23, // 31: yandex.cloud.serverless.mcpgateway.v1.McpCall.forward_headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.McpCall.ForwardHeadersEntry
	13, // 32: yandex.cloud.serverless.mcpgateway.v1.McpCall.transfer_headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy
	28, // 33: yandex.cloud.serverless.mcpgateway.v1.GrpcCall.headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.GrpcCall.HeadersEntry
	13, // 34: yandex.cloud.serverless.mcpgateway.v1.GrpcCall.forward_headers:type_name -> yandex.cloud.serverless.mcpgateway.v1.ForwardHeadersPolicy
	4,  // 35: yandex.cloud.serverless.mcpgateway.v1.StartWorkflow.mode:type_name -> yandex.cloud.serverless.mcpgateway.v1.StartWorkflow.Mode
	36, // [36:36] is the sub-list for method output_type
	36, // [36:36] is the sub-list for method input_type
	36, // [36:36] is the sub-list for extension type_name
	36, // [36:36] is the sub-list for extension extendee
	0,  // [0:36] is the sub-list for field type_name
}

func init() { file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_init() }
func file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_init() {
	if File_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto != nil {
		return
	}
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[2].OneofWrappers = []any{
		(*LogOptions_LogGroupId)(nil),
		(*LogOptions_FolderId)(nil),
	}
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[4].OneofWrappers = []any{
		(*McpToolAction_FunctionCall)(nil),
		(*McpToolAction_ContainerCall)(nil),
		(*McpToolAction_HttpCall)(nil),
		(*McpToolAction_McpCall)(nil),
		(*McpToolAction_GrpcCall)(nil),
		(*McpToolAction_StartWorkflow)(nil),
	}
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes[9].OneofWrappers = []any{
		(*McpCall_ToolCall_)(nil),
		(*McpCall_Unauthorized)(nil),
		(*McpCall_Header)(nil),
		(*McpCall_ServiceAccount)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDesc), len(file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_rawDesc)),
			NumEnums:      5,
			NumMessages:   24,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_msgTypes,
	}.Build()
	File_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto = out.File
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_goTypes = nil
	file_yandex_cloud_serverless_mcpgateway_v1_mcp_gateway_proto_depIdxs = nil
}
