// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        (unknown)
// source: tars/lookup/v1/lookup.proto

package lookupv1

import (
	_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
	_ "github.com/tetrateio/agentrouter-go/genapi/api/tars/auth/v1"
	_ "github.com/tetrateio/agentrouter-go/genapi/api/tars/docs/v1"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	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 GetMCPProfileByURLRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// URL of the MCP profile (e.g., "/mcp/profile-123")
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// User token (sk-...) to validate ownership of the MCP profile.
	// Optional: when empty, the lookup returns the profile by URL only
	// (public-by-URL fetch; the caller is expected to have verified the
	// token and to enforce ownership locally — see lookup.go:88-127 and
	// tars-dataplane MCP ext_authz local-verify path). MP performs full
	// token verification + ownership check when present.
	UserToken     string `protobuf:"bytes,2,opt,name=user_token,json=userToken,proto3" json:"user_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetMCPProfileByURLRequest) ProtoMessage() {}

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

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

func (x *GetMCPProfileByURLRequest) GetUserToken() string {
	if x != nil {
		return x.UserToken
	}
	return ""
}

type GetMCPProfileByURLResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// MCP profile information, or null if not found
	Profile       *MCPProfile `protobuf:"bytes,1,opt,name=profile,proto3" json:"profile,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetMCPProfileByURLResponse) ProtoMessage() {}

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

func (x *GetMCPProfileByURLResponse) GetProfile() *MCPProfile {
	if x != nil {
		return x.Profile
	}
	return nil
}

// MCPProfile represents an MCP profile configuration
type MCPProfile struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Id                  string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Owner               string                 `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"`
	Name                string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Description         string                 `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	Url                 string                 `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"`
	Status              string                 `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	ErrorMessage        string                 `protobuf:"bytes,7,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	SecurityPolicyType  string                 `protobuf:"bytes,8,opt,name=security_policy_type,json=securityPolicyType,proto3" json:"security_policy_type,omitempty"`
	SecurityPolicyValue string                 `protobuf:"bytes,9,opt,name=security_policy_value,json=securityPolicyValue,proto3" json:"security_policy_value,omitempty"`
	CreatedAt           *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt           *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*MCPProfile) ProtoMessage() {}

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

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

func (x *MCPProfile) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

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

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

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

func (x *MCPProfile) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *MCPProfile) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *MCPProfile) GetSecurityPolicyType() string {
	if x != nil {
		return x.SecurityPolicyType
	}
	return ""
}

func (x *MCPProfile) GetSecurityPolicyValue() string {
	if x != nil {
		return x.SecurityPolicyValue
	}
	return ""
}

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

func (x *MCPProfile) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type ResolveRouteIdentityByKeyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        string                 `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	KeyId         string                 `protobuf:"bytes,2,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResolveRouteIdentityByKeyRequest) ProtoMessage() {}

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

func (x *ResolveRouteIdentityByKeyRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ResolveRouteIdentityByKeyRequest) GetKeyId() string {
	if x != nil {
		return x.KeyId
	}
	return ""
}

type ResolveRouteIdentityByKeyResponse struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	EffectiveClientId string                 `protobuf:"bytes,1,opt,name=effective_client_id,json=effectiveClientId,proto3" json:"effective_client_id,omitempty"`
	RouteOwnerId      string                 `protobuf:"bytes,2,opt,name=route_owner_id,json=routeOwnerId,proto3" json:"route_owner_id,omitempty"`
	RouteOwnerHash    string                 `protobuf:"bytes,3,opt,name=route_owner_hash,json=routeOwnerHash,proto3" json:"route_owner_hash,omitempty"`
	TarsId            string                 `protobuf:"bytes,4,opt,name=tars_id,json=tarsId,proto3" json:"tars_id,omitempty"`
	IsMappedClient    bool                   `protobuf:"varint,5,opt,name=is_mapped_client,json=isMappedClient,proto3" json:"is_mapped_client,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*ResolveRouteIdentityByKeyResponse) ProtoMessage() {}

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

func (x *ResolveRouteIdentityByKeyResponse) GetEffectiveClientId() string {
	if x != nil {
		return x.EffectiveClientId
	}
	return ""
}

func (x *ResolveRouteIdentityByKeyResponse) GetRouteOwnerId() string {
	if x != nil {
		return x.RouteOwnerId
	}
	return ""
}

func (x *ResolveRouteIdentityByKeyResponse) GetRouteOwnerHash() string {
	if x != nil {
		return x.RouteOwnerHash
	}
	return ""
}

func (x *ResolveRouteIdentityByKeyResponse) GetTarsId() string {
	if x != nil {
		return x.TarsId
	}
	return ""
}

func (x *ResolveRouteIdentityByKeyResponse) GetIsMappedClient() bool {
	if x != nil {
		return x.IsMappedClient
	}
	return false
}

var File_tars_lookup_v1_lookup_proto protoreflect.FileDescriptor

const file_tars_lookup_v1_lookup_proto_rawDesc = "" +
	"\n" +
	"\x1btars/lookup/v1/lookup.proto\x12\x0etars.lookup.v1\x1a\x1bbuf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1ftars/auth/v1/auth_options.proto\x1a\x17tars/docs/v1/docs.proto\"U\n" +
	"\x19GetMCPProfileByURLRequest\x12\x19\n" +
	"\x03url\x18\x01 \x01(\tB\a\xbaH\x04r\x02\x10\x01R\x03url\x12\x1d\n" +
	"\n" +
	"user_token\x18\x02 \x01(\tR\tuserToken\"R\n" +
	"\x1aGetMCPProfileByURLResponse\x124\n" +
	"\aprofile\x18\x01 \x01(\v2\x1a.tars.lookup.v1.MCPProfileR\aprofile\"\x93\x03\n" +
	"\n" +
	"MCPProfile\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05owner\x18\x02 \x01(\tR\x05owner\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x04 \x01(\tR\vdescription\x12\x10\n" +
	"\x03url\x18\x05 \x01(\tR\x03url\x12\x16\n" +
	"\x06status\x18\x06 \x01(\tR\x06status\x12#\n" +
	"\rerror_message\x18\a \x01(\tR\ferrorMessage\x120\n" +
	"\x14security_policy_type\x18\b \x01(\tR\x12securityPolicyType\x122\n" +
	"\x15security_policy_value\x18\t \x01(\tR\x13securityPolicyValue\x129\n" +
	"\n" +
	"created_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"d\n" +
	" ResolveRouteIdentityByKeyRequest\x12 \n" +
	"\auser_id\x18\x01 \x01(\tB\a\xbaH\x04r\x02\x10\x01R\x06userId\x12\x1e\n" +
	"\x06key_id\x18\x02 \x01(\tB\a\xbaH\x04r\x02\x10\x01R\x05keyId\"\xe6\x01\n" +
	"!ResolveRouteIdentityByKeyResponse\x12.\n" +
	"\x13effective_client_id\x18\x01 \x01(\tR\x11effectiveClientId\x12$\n" +
	"\x0eroute_owner_id\x18\x02 \x01(\tR\frouteOwnerId\x12(\n" +
	"\x10route_owner_hash\x18\x03 \x01(\tR\x0erouteOwnerHash\x12\x17\n" +
	"\atars_id\x18\x04 \x01(\tR\x06tarsId\x12(\n" +
	"\x10is_mapped_client\x18\x05 \x01(\bR\x0eisMappedClient2\xfa\x02\n" +
	"\rLookupService\x12\xa4\x01\n" +
	"\x12GetMCPProfileByURL\x12).tars.lookup.v1.GetMCPProfileByURLRequest\x1a*.tars.lookup.v1.GetMCPProfileByURLResponse\"7\x8a\xb5\x18\n" +
	"\n" +
	"\x02\x02\x01\x12\x04read\x82\xd3\xe4\x93\x02 \x12\x1e/lookup/v1/mcp-profiles/by-url\x90\x02\x01\x12\xbb\x01\n" +
	"\x19ResolveRouteIdentityByKey\x120.tars.lookup.v1.ResolveRouteIdentityByKeyRequest\x1a1.tars.lookup.v1.ResolveRouteIdentityByKeyResponse\"9\x8a\xb5\x18\n" +
	"\n" +
	"\x02\x02\x01\x12\x04read\x82\xd3\xe4\x93\x02\"\x12 /lookup/v1/route-identity/by-key\x90\x02\x01\x1a\x04\xa0\xb5\x18\x01B\xb4\x01\n" +
	"\x12com.tars.lookup.v1B\vLookupProtoP\x01Z7github.com/tetrateio/fraser/api/tars/lookup/v1;lookupv1\xa2\x02\x03TLX\xaa\x02\x0eTars.Lookup.V1\xca\x02\x0eTars\\Lookup\\V1\xe2\x02\x1aTars\\Lookup\\V1\\GPBMetadata\xea\x02\x10Tars::Lookup::V1b\x06proto3"

var (
	file_tars_lookup_v1_lookup_proto_rawDescOnce sync.Once
	file_tars_lookup_v1_lookup_proto_rawDescData []byte
)

func file_tars_lookup_v1_lookup_proto_rawDescGZIP() []byte {
	file_tars_lookup_v1_lookup_proto_rawDescOnce.Do(func() {
		file_tars_lookup_v1_lookup_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tars_lookup_v1_lookup_proto_rawDesc), len(file_tars_lookup_v1_lookup_proto_rawDesc)))
	})
	return file_tars_lookup_v1_lookup_proto_rawDescData
}

var file_tars_lookup_v1_lookup_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_tars_lookup_v1_lookup_proto_goTypes = []any{
	(*GetMCPProfileByURLRequest)(nil),         // 0: tars.lookup.v1.GetMCPProfileByURLRequest
	(*GetMCPProfileByURLResponse)(nil),        // 1: tars.lookup.v1.GetMCPProfileByURLResponse
	(*MCPProfile)(nil),                        // 2: tars.lookup.v1.MCPProfile
	(*ResolveRouteIdentityByKeyRequest)(nil),  // 3: tars.lookup.v1.ResolveRouteIdentityByKeyRequest
	(*ResolveRouteIdentityByKeyResponse)(nil), // 4: tars.lookup.v1.ResolveRouteIdentityByKeyResponse
	(*timestamppb.Timestamp)(nil),             // 5: google.protobuf.Timestamp
}
var file_tars_lookup_v1_lookup_proto_depIdxs = []int32{
	2, // 0: tars.lookup.v1.GetMCPProfileByURLResponse.profile:type_name -> tars.lookup.v1.MCPProfile
	5, // 1: tars.lookup.v1.MCPProfile.created_at:type_name -> google.protobuf.Timestamp
	5, // 2: tars.lookup.v1.MCPProfile.updated_at:type_name -> google.protobuf.Timestamp
	0, // 3: tars.lookup.v1.LookupService.GetMCPProfileByURL:input_type -> tars.lookup.v1.GetMCPProfileByURLRequest
	3, // 4: tars.lookup.v1.LookupService.ResolveRouteIdentityByKey:input_type -> tars.lookup.v1.ResolveRouteIdentityByKeyRequest
	1, // 5: tars.lookup.v1.LookupService.GetMCPProfileByURL:output_type -> tars.lookup.v1.GetMCPProfileByURLResponse
	4, // 6: tars.lookup.v1.LookupService.ResolveRouteIdentityByKey:output_type -> tars.lookup.v1.ResolveRouteIdentityByKeyResponse
	5, // [5:7] is the sub-list for method output_type
	3, // [3:5] is the sub-list for method input_type
	3, // [3:3] is the sub-list for extension type_name
	3, // [3:3] is the sub-list for extension extendee
	0, // [0:3] is the sub-list for field type_name
}

func init() { file_tars_lookup_v1_lookup_proto_init() }
func file_tars_lookup_v1_lookup_proto_init() {
	if File_tars_lookup_v1_lookup_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_tars_lookup_v1_lookup_proto_rawDesc), len(file_tars_lookup_v1_lookup_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_tars_lookup_v1_lookup_proto_goTypes,
		DependencyIndexes: file_tars_lookup_v1_lookup_proto_depIdxs,
		MessageInfos:      file_tars_lookup_v1_lookup_proto_msgTypes,
	}.Build()
	File_tars_lookup_v1_lookup_proto = out.File
	file_tars_lookup_v1_lookup_proto_goTypes = nil
	file_tars_lookup_v1_lookup_proto_depIdxs = nil
}
