// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.7
// 	protoc        (unknown)
// source: entity/agent-sidecar/project/v1/project.proto

package projectv1

import (
	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 ProjectScope int32

const (
	ProjectScope_PROJECT_SCOPE_UNSPECIFIED ProjectScope = 0
	ProjectScope_PROJECT_SCOPE_PROJECT     ProjectScope = 1
	ProjectScope_PROJECT_SCOPE_GLOBAL      ProjectScope = 2
)

// Enum value maps for ProjectScope.
var (
	ProjectScope_name = map[int32]string{
		0: "PROJECT_SCOPE_UNSPECIFIED",
		1: "PROJECT_SCOPE_PROJECT",
		2: "PROJECT_SCOPE_GLOBAL",
	}
	ProjectScope_value = map[string]int32{
		"PROJECT_SCOPE_UNSPECIFIED": 0,
		"PROJECT_SCOPE_PROJECT":     1,
		"PROJECT_SCOPE_GLOBAL":      2,
	}
)

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

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

func (ProjectScope) Descriptor() protoreflect.EnumDescriptor {
	return file_entity_agent_sidecar_project_v1_project_proto_enumTypes[0].Descriptor()
}

func (ProjectScope) Type() protoreflect.EnumType {
	return &file_entity_agent_sidecar_project_v1_project_proto_enumTypes[0]
}

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

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

type EntryType int32

const (
	EntryType_ENTRY_TYPE_UNSPECIFIED EntryType = 0
	EntryType_ENTRY_TYPE_FILE        EntryType = 1
	EntryType_ENTRY_TYPE_DIRECTORY   EntryType = 2
)

// Enum value maps for EntryType.
var (
	EntryType_name = map[int32]string{
		0: "ENTRY_TYPE_UNSPECIFIED",
		1: "ENTRY_TYPE_FILE",
		2: "ENTRY_TYPE_DIRECTORY",
	}
	EntryType_value = map[string]int32{
		"ENTRY_TYPE_UNSPECIFIED": 0,
		"ENTRY_TYPE_FILE":        1,
		"ENTRY_TYPE_DIRECTORY":   2,
	}
)

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

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

func (EntryType) Descriptor() protoreflect.EnumDescriptor {
	return file_entity_agent_sidecar_project_v1_project_proto_enumTypes[1].Descriptor()
}

func (EntryType) Type() protoreflect.EnumType {
	return &file_entity_agent_sidecar_project_v1_project_proto_enumTypes[1]
}

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

// Deprecated: Use EntryType.Descriptor instead.
func (EntryType) EnumDescriptor() ([]byte, []int) {
	return file_entity_agent_sidecar_project_v1_project_proto_rawDescGZIP(), []int{1}
}

type ProjectRef struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Scope         ProjectScope           `protobuf:"varint,1,opt,name=scope,proto3,enum=aisupport.agent_sidecar.entity.project.v1.ProjectScope" json:"scope,omitempty"`
	ProjectName   string                 `protobuf:"bytes,2,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProjectRef) ProtoMessage() {}

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

func (x *ProjectRef) GetScope() ProjectScope {
	if x != nil {
		return x.Scope
	}
	return ProjectScope_PROJECT_SCOPE_UNSPECIFIED
}

func (x *ProjectRef) GetProjectName() string {
	if x != nil {
		return x.ProjectName
	}
	return ""
}

type Project struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Name           string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	GitInitialized bool                   `protobuf:"varint,2,opt,name=git_initialized,json=gitInitialized,proto3" json:"git_initialized,omitempty"`
	ModifiedAt     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=modified_at,json=modifiedAt,proto3" json:"modified_at,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*Project) ProtoMessage() {}

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

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

func (x *Project) GetGitInitialized() bool {
	if x != nil {
		return x.GitInitialized
	}
	return false
}

func (x *Project) GetModifiedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ModifiedAt
	}
	return nil
}

type Entry struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Path          string                 `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Type          EntryType              `protobuf:"varint,3,opt,name=type,proto3,enum=aisupport.agent_sidecar.entity.project.v1.EntryType" json:"type,omitempty"`
	Size          int64                  `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	ModifiedAt    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=modified_at,json=modifiedAt,proto3" json:"modified_at,omitempty"`
	Revision      string                 `protobuf:"bytes,6,opt,name=revision,proto3" json:"revision,omitempty"`
	Editable      bool                   `protobuf:"varint,7,opt,name=editable,proto3" json:"editable,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Entry) ProtoMessage() {}

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

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

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

func (x *Entry) GetType() EntryType {
	if x != nil {
		return x.Type
	}
	return EntryType_ENTRY_TYPE_UNSPECIFIED
}

func (x *Entry) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *Entry) GetModifiedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ModifiedAt
	}
	return nil
}

func (x *Entry) GetRevision() string {
	if x != nil {
		return x.Revision
	}
	return ""
}

func (x *Entry) GetEditable() bool {
	if x != nil {
		return x.Editable
	}
	return false
}

type FileContent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Entry         *Entry                 `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
	Content       string                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FileContent) ProtoMessage() {}

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

func (x *FileContent) GetEntry() *Entry {
	if x != nil {
		return x.Entry
	}
	return nil
}

func (x *FileContent) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

var File_entity_agent_sidecar_project_v1_project_proto protoreflect.FileDescriptor

const file_entity_agent_sidecar_project_v1_project_proto_rawDesc = "" +
	"\n" +
	"-entity/agent-sidecar/project/v1/project.proto\x12)aisupport.agent_sidecar.entity.project.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"~\n" +
	"\n" +
	"ProjectRef\x12M\n" +
	"\x05scope\x18\x01 \x01(\x0e27.aisupport.agent_sidecar.entity.project.v1.ProjectScopeR\x05scope\x12!\n" +
	"\fproject_name\x18\x02 \x01(\tR\vprojectName\"\x83\x01\n" +
	"\aProject\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12'\n" +
	"\x0fgit_initialized\x18\x02 \x01(\bR\x0egitInitialized\x12;\n" +
	"\vmodified_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"modifiedAt\"\x82\x02\n" +
	"\x05Entry\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12H\n" +
	"\x04type\x18\x03 \x01(\x0e24.aisupport.agent_sidecar.entity.project.v1.EntryTypeR\x04type\x12\x12\n" +
	"\x04size\x18\x04 \x01(\x03R\x04size\x12;\n" +
	"\vmodified_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"modifiedAt\x12\x1a\n" +
	"\brevision\x18\x06 \x01(\tR\brevision\x12\x1a\n" +
	"\beditable\x18\a \x01(\bR\beditable\"o\n" +
	"\vFileContent\x12F\n" +
	"\x05entry\x18\x01 \x01(\v20.aisupport.agent_sidecar.entity.project.v1.EntryR\x05entry\x12\x18\n" +
	"\acontent\x18\x02 \x01(\tR\acontent*b\n" +
	"\fProjectScope\x12\x1d\n" +
	"\x19PROJECT_SCOPE_UNSPECIFIED\x10\x00\x12\x19\n" +
	"\x15PROJECT_SCOPE_PROJECT\x10\x01\x12\x18\n" +
	"\x14PROJECT_SCOPE_GLOBAL\x10\x02*V\n" +
	"\tEntryType\x12\x1a\n" +
	"\x16ENTRY_TYPE_UNSPECIFIED\x10\x00\x12\x13\n" +
	"\x0fENTRY_TYPE_FILE\x10\x01\x12\x18\n" +
	"\x14ENTRY_TYPE_DIRECTORY\x10\x02BdZbgithub.com/tidbcloud/aisupport/packages/sdk-go/contracts/entity/agent-sidecar/project/v1;projectv1b\x06proto3"

var (
	file_entity_agent_sidecar_project_v1_project_proto_rawDescOnce sync.Once
	file_entity_agent_sidecar_project_v1_project_proto_rawDescData []byte
)

func file_entity_agent_sidecar_project_v1_project_proto_rawDescGZIP() []byte {
	file_entity_agent_sidecar_project_v1_project_proto_rawDescOnce.Do(func() {
		file_entity_agent_sidecar_project_v1_project_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_entity_agent_sidecar_project_v1_project_proto_rawDesc), len(file_entity_agent_sidecar_project_v1_project_proto_rawDesc)))
	})
	return file_entity_agent_sidecar_project_v1_project_proto_rawDescData
}

var file_entity_agent_sidecar_project_v1_project_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_entity_agent_sidecar_project_v1_project_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_entity_agent_sidecar_project_v1_project_proto_goTypes = []any{
	(ProjectScope)(0),             // 0: aisupport.agent_sidecar.entity.project.v1.ProjectScope
	(EntryType)(0),                // 1: aisupport.agent_sidecar.entity.project.v1.EntryType
	(*ProjectRef)(nil),            // 2: aisupport.agent_sidecar.entity.project.v1.ProjectRef
	(*Project)(nil),               // 3: aisupport.agent_sidecar.entity.project.v1.Project
	(*Entry)(nil),                 // 4: aisupport.agent_sidecar.entity.project.v1.Entry
	(*FileContent)(nil),           // 5: aisupport.agent_sidecar.entity.project.v1.FileContent
	(*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp
}
var file_entity_agent_sidecar_project_v1_project_proto_depIdxs = []int32{
	0, // 0: aisupport.agent_sidecar.entity.project.v1.ProjectRef.scope:type_name -> aisupport.agent_sidecar.entity.project.v1.ProjectScope
	6, // 1: aisupport.agent_sidecar.entity.project.v1.Project.modified_at:type_name -> google.protobuf.Timestamp
	1, // 2: aisupport.agent_sidecar.entity.project.v1.Entry.type:type_name -> aisupport.agent_sidecar.entity.project.v1.EntryType
	6, // 3: aisupport.agent_sidecar.entity.project.v1.Entry.modified_at:type_name -> google.protobuf.Timestamp
	4, // 4: aisupport.agent_sidecar.entity.project.v1.FileContent.entry:type_name -> aisupport.agent_sidecar.entity.project.v1.Entry
	5, // [5:5] is the sub-list for method output_type
	5, // [5:5] is the sub-list for method input_type
	5, // [5:5] is the sub-list for extension type_name
	5, // [5:5] is the sub-list for extension extendee
	0, // [0:5] is the sub-list for field type_name
}

func init() { file_entity_agent_sidecar_project_v1_project_proto_init() }
func file_entity_agent_sidecar_project_v1_project_proto_init() {
	if File_entity_agent_sidecar_project_v1_project_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_entity_agent_sidecar_project_v1_project_proto_rawDesc), len(file_entity_agent_sidecar_project_v1_project_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_entity_agent_sidecar_project_v1_project_proto_goTypes,
		DependencyIndexes: file_entity_agent_sidecar_project_v1_project_proto_depIdxs,
		EnumInfos:         file_entity_agent_sidecar_project_v1_project_proto_enumTypes,
		MessageInfos:      file_entity_agent_sidecar_project_v1_project_proto_msgTypes,
	}.Build()
	File_entity_agent_sidecar_project_v1_project_proto = out.File
	file_entity_agent_sidecar_project_v1_project_proto_goTypes = nil
	file_entity_agent_sidecar_project_v1_project_proto_depIdxs = nil
}
