// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.9
// 	protoc        (unknown)
// source: powerx/setting/ai_setting.proto

package settingv1

import (
	v1 "github.com/ArtisanCloud/PowerX/api/grpc/gen/go/common/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
	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 Modality int32

const (
	Modality_MODALITY_UNSPECIFIED Modality = 0
	Modality_MODALITY_LLM         Modality = 1
	Modality_MODALITY_IMAGE       Modality = 2
	Modality_MODALITY_EMBEDDING   Modality = 3
	Modality_MODALITY_VIDEO       Modality = 4
)

// Enum value maps for Modality.
var (
	Modality_name = map[int32]string{
		0: "MODALITY_UNSPECIFIED",
		1: "MODALITY_LLM",
		2: "MODALITY_IMAGE",
		3: "MODALITY_EMBEDDING",
		4: "MODALITY_VIDEO",
	}
	Modality_value = map[string]int32{
		"MODALITY_UNSPECIFIED": 0,
		"MODALITY_LLM":         1,
		"MODALITY_IMAGE":       2,
		"MODALITY_EMBEDDING":   3,
		"MODALITY_VIDEO":       4,
	}
)

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

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

func (Modality) Descriptor() protoreflect.EnumDescriptor {
	return file_powerx_setting_ai_setting_proto_enumTypes[0].Descriptor()
}

func (Modality) Type() protoreflect.EnumType {
	return &file_powerx_setting_ai_setting_proto_enumTypes[0]
}

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

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

type BaseConn struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Provider        string                 `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	Model           string                 `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	BaseUrl         string                 `protobuf:"bytes,3,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"`
	ApiKey          string                 `protobuf:"bytes,4,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
	Region          string                 `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"`                                          // 可选
	Organization    string                 `protobuf:"bytes,6,opt,name=organization,proto3" json:"organization,omitempty"`                              // 可选
	AzureDeployment string                 `protobuf:"bytes,7,opt,name=azure_deployment,json=azureDeployment,proto3" json:"azure_deployment,omitempty"` // 可选
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*BaseConn) ProtoMessage() {}

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

func (x *BaseConn) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *BaseConn) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *BaseConn) GetBaseUrl() string {
	if x != nil {
		return x.BaseUrl
	}
	return ""
}

func (x *BaseConn) GetApiKey() string {
	if x != nil {
		return x.ApiKey
	}
	return ""
}

func (x *BaseConn) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *BaseConn) GetOrganization() string {
	if x != nil {
		return x.Organization
	}
	return ""
}

func (x *BaseConn) GetAzureDeployment() string {
	if x != nil {
		return x.AzureDeployment
	}
	return ""
}

type LLMSetting struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Base          *BaseConn              `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
	Temperature   float64                `protobuf:"fixed64,2,opt,name=temperature,proto3" json:"temperature,omitempty"`
	MaxTokens     int32                  `protobuf:"varint,3,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	TopP          float64                `protobuf:"fixed64,4,opt,name=top_p,json=topP,proto3" json:"top_p,omitempty"`
	Stream        bool                   `protobuf:"varint,5,opt,name=stream,proto3" json:"stream,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LLMSetting) ProtoMessage() {}

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

func (x *LLMSetting) GetBase() *BaseConn {
	if x != nil {
		return x.Base
	}
	return nil
}

func (x *LLMSetting) GetTemperature() float64 {
	if x != nil {
		return x.Temperature
	}
	return 0
}

func (x *LLMSetting) GetMaxTokens() int32 {
	if x != nil {
		return x.MaxTokens
	}
	return 0
}

func (x *LLMSetting) GetTopP() float64 {
	if x != nil {
		return x.TopP
	}
	return 0
}

func (x *LLMSetting) GetStream() bool {
	if x != nil {
		return x.Stream
	}
	return false
}

type ImageSetting struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Base          *BaseConn              `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
	Size          string                 `protobuf:"bytes,2,opt,name=size,proto3" json:"size,omitempty"`
	Quality       string                 `protobuf:"bytes,3,opt,name=quality,proto3" json:"quality,omitempty"`
	Format        string                 `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"`
	PromptHint    string                 `protobuf:"bytes,5,opt,name=prompt_hint,json=promptHint,proto3" json:"prompt_hint,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ImageSetting) ProtoMessage() {}

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

func (x *ImageSetting) GetBase() *BaseConn {
	if x != nil {
		return x.Base
	}
	return nil
}

func (x *ImageSetting) GetSize() string {
	if x != nil {
		return x.Size
	}
	return ""
}

func (x *ImageSetting) GetQuality() string {
	if x != nil {
		return x.Quality
	}
	return ""
}

func (x *ImageSetting) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

func (x *ImageSetting) GetPromptHint() string {
	if x != nil {
		return x.PromptHint
	}
	return ""
}

type EmbeddingSetting struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Base          *BaseConn              `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
	Dimensions    int32                  `protobuf:"varint,2,opt,name=dimensions,proto3" json:"dimensions,omitempty"`
	Truncate      string                 `protobuf:"bytes,3,opt,name=truncate,proto3" json:"truncate,omitempty"`
	Batch         int32                  `protobuf:"varint,4,opt,name=batch,proto3" json:"batch,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EmbeddingSetting) ProtoMessage() {}

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

func (x *EmbeddingSetting) GetBase() *BaseConn {
	if x != nil {
		return x.Base
	}
	return nil
}

func (x *EmbeddingSetting) GetDimensions() int32 {
	if x != nil {
		return x.Dimensions
	}
	return 0
}

func (x *EmbeddingSetting) GetTruncate() string {
	if x != nil {
		return x.Truncate
	}
	return ""
}

func (x *EmbeddingSetting) GetBatch() int32 {
	if x != nil {
		return x.Batch
	}
	return 0
}

type VideoSetting struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Base           *BaseConn              `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
	Resolution     string                 `protobuf:"bytes,2,opt,name=resolution,proto3" json:"resolution,omitempty"`
	Fps            int32                  `protobuf:"varint,3,opt,name=fps,proto3" json:"fps,omitempty"`
	MaxDurationSec int32                  `protobuf:"varint,4,opt,name=max_duration_sec,json=maxDurationSec,proto3" json:"max_duration_sec,omitempty"`
	PromptHint     string                 `protobuf:"bytes,5,opt,name=prompt_hint,json=promptHint,proto3" json:"prompt_hint,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*VideoSetting) ProtoMessage() {}

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

func (x *VideoSetting) GetBase() *BaseConn {
	if x != nil {
		return x.Base
	}
	return nil
}

func (x *VideoSetting) GetResolution() string {
	if x != nil {
		return x.Resolution
	}
	return ""
}

func (x *VideoSetting) GetFps() int32 {
	if x != nil {
		return x.Fps
	}
	return 0
}

func (x *VideoSetting) GetMaxDurationSec() int32 {
	if x != nil {
		return x.MaxDurationSec
	}
	return 0
}

func (x *VideoSetting) GetPromptHint() string {
	if x != nil {
		return x.PromptHint
	}
	return ""
}

type AIProviderItem struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AIProviderItem) ProtoMessage() {}

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

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

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

type AIProviderCredential struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Provider      string                 `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
	AuthScheme    string                 `protobuf:"bytes,3,opt,name=auth_scheme,json=authScheme,proto3" json:"auth_scheme,omitempty"`
	Data          *structpb.Struct       `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` // base_url/api_key/region/...
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AIProviderCredential) ProtoMessage() {}

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

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

func (x *AIProviderCredential) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *AIProviderCredential) GetAuthScheme() string {
	if x != nil {
		return x.AuthScheme
	}
	return ""
}

func (x *AIProviderCredential) GetData() *structpb.Struct {
	if x != nil {
		return x.Data
	}
	return nil
}

type AIModelProfile struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Modality      string                 `protobuf:"bytes,1,opt,name=modality,proto3" json:"modality,omitempty"` // "llm"/"image"/"embedding"/"video"
	Provider      string                 `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
	Model         string                 `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
	Tags          []string               `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"`
	Defaults      *structpb.Struct       `protobuf:"bytes,5,opt,name=defaults,proto3" json:"defaults,omitempty"` // 温度/maxTokens/size/...
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AIModelProfile) ProtoMessage() {}

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

func (x *AIModelProfile) GetModality() string {
	if x != nil {
		return x.Modality
	}
	return ""
}

func (x *AIModelProfile) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *AIModelProfile) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *AIModelProfile) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *AIModelProfile) GetDefaults() *structpb.Struct {
	if x != nil {
		return x.Defaults
	}
	return nil
}

type ListProvidersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Modality      Modality               `protobuf:"varint,2,opt,name=modality,proto3,enum=powerx.setting.ai.v1.Modality" json:"modality,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListProvidersRequest) ProtoMessage() {}

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

func (x *ListProvidersRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *ListProvidersRequest) GetModality() Modality {
	if x != nil {
		return x.Modality
	}
	return Modality_MODALITY_UNSPECIFIED
}

type ListModelsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Modality      Modality               `protobuf:"varint,2,opt,name=modality,proto3,enum=powerx.setting.ai.v1.Modality" json:"modality,omitempty"`
	Provider      string                 `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListModelsRequest) ProtoMessage() {}

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

func (x *ListModelsRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *ListModelsRequest) GetModality() Modality {
	if x != nil {
		return x.Modality
	}
	return Modality_MODALITY_UNSPECIFIED
}

func (x *ListModelsRequest) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

type SaveSettingsRequest struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Ctx      *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Env      string                 `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	Modality Modality               `protobuf:"varint,3,opt,name=modality,proto3,enum=powerx.setting.ai.v1.Modality" json:"modality,omitempty"`
	// Types that are valid to be assigned to Setting:
	//
	//	*SaveSettingsRequest_Llm
	//	*SaveSettingsRequest_Image
	//	*SaveSettingsRequest_Embedding
	//	*SaveSettingsRequest_Video
	Setting       isSaveSettingsRequest_Setting `protobuf_oneof:"setting"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SaveSettingsRequest) ProtoMessage() {}

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

func (x *SaveSettingsRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *SaveSettingsRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *SaveSettingsRequest) GetModality() Modality {
	if x != nil {
		return x.Modality
	}
	return Modality_MODALITY_UNSPECIFIED
}

func (x *SaveSettingsRequest) GetSetting() isSaveSettingsRequest_Setting {
	if x != nil {
		return x.Setting
	}
	return nil
}

func (x *SaveSettingsRequest) GetLlm() *LLMSetting {
	if x != nil {
		if x, ok := x.Setting.(*SaveSettingsRequest_Llm); ok {
			return x.Llm
		}
	}
	return nil
}

func (x *SaveSettingsRequest) GetImage() *ImageSetting {
	if x != nil {
		if x, ok := x.Setting.(*SaveSettingsRequest_Image); ok {
			return x.Image
		}
	}
	return nil
}

func (x *SaveSettingsRequest) GetEmbedding() *EmbeddingSetting {
	if x != nil {
		if x, ok := x.Setting.(*SaveSettingsRequest_Embedding); ok {
			return x.Embedding
		}
	}
	return nil
}

func (x *SaveSettingsRequest) GetVideo() *VideoSetting {
	if x != nil {
		if x, ok := x.Setting.(*SaveSettingsRequest_Video); ok {
			return x.Video
		}
	}
	return nil
}

type isSaveSettingsRequest_Setting interface {
	isSaveSettingsRequest_Setting()
}

type SaveSettingsRequest_Llm struct {
	Llm *LLMSetting `protobuf:"bytes,10,opt,name=llm,proto3,oneof"`
}

type SaveSettingsRequest_Image struct {
	Image *ImageSetting `protobuf:"bytes,11,opt,name=image,proto3,oneof"`
}

type SaveSettingsRequest_Embedding struct {
	Embedding *EmbeddingSetting `protobuf:"bytes,12,opt,name=embedding,proto3,oneof"`
}

type SaveSettingsRequest_Video struct {
	Video *VideoSetting `protobuf:"bytes,13,opt,name=video,proto3,oneof"`
}

func (*SaveSettingsRequest_Llm) isSaveSettingsRequest_Setting() {}

func (*SaveSettingsRequest_Image) isSaveSettingsRequest_Setting() {}

func (*SaveSettingsRequest_Embedding) isSaveSettingsRequest_Setting() {}

func (*SaveSettingsRequest_Video) isSaveSettingsRequest_Setting() {}

type TestConnectionRequest struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Ctx      *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Env      string                 `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	Modality Modality               `protobuf:"varint,3,opt,name=modality,proto3,enum=powerx.setting.ai.v1.Modality" json:"modality,omitempty"`
	// Types that are valid to be assigned to Setting:
	//
	//	*TestConnectionRequest_Llm
	//	*TestConnectionRequest_Image
	//	*TestConnectionRequest_Embedding
	//	*TestConnectionRequest_Video
	Setting       isTestConnectionRequest_Setting `protobuf_oneof:"setting"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TestConnectionRequest) ProtoMessage() {}

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

func (x *TestConnectionRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *TestConnectionRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *TestConnectionRequest) GetModality() Modality {
	if x != nil {
		return x.Modality
	}
	return Modality_MODALITY_UNSPECIFIED
}

func (x *TestConnectionRequest) GetSetting() isTestConnectionRequest_Setting {
	if x != nil {
		return x.Setting
	}
	return nil
}

func (x *TestConnectionRequest) GetLlm() *LLMSetting {
	if x != nil {
		if x, ok := x.Setting.(*TestConnectionRequest_Llm); ok {
			return x.Llm
		}
	}
	return nil
}

func (x *TestConnectionRequest) GetImage() *ImageSetting {
	if x != nil {
		if x, ok := x.Setting.(*TestConnectionRequest_Image); ok {
			return x.Image
		}
	}
	return nil
}

func (x *TestConnectionRequest) GetEmbedding() *EmbeddingSetting {
	if x != nil {
		if x, ok := x.Setting.(*TestConnectionRequest_Embedding); ok {
			return x.Embedding
		}
	}
	return nil
}

func (x *TestConnectionRequest) GetVideo() *VideoSetting {
	if x != nil {
		if x, ok := x.Setting.(*TestConnectionRequest_Video); ok {
			return x.Video
		}
	}
	return nil
}

type isTestConnectionRequest_Setting interface {
	isTestConnectionRequest_Setting()
}

type TestConnectionRequest_Llm struct {
	Llm *LLMSetting `protobuf:"bytes,10,opt,name=llm,proto3,oneof"`
}

type TestConnectionRequest_Image struct {
	Image *ImageSetting `protobuf:"bytes,11,opt,name=image,proto3,oneof"`
}

type TestConnectionRequest_Embedding struct {
	Embedding *EmbeddingSetting `protobuf:"bytes,12,opt,name=embedding,proto3,oneof"`
}

type TestConnectionRequest_Video struct {
	Video *VideoSetting `protobuf:"bytes,13,opt,name=video,proto3,oneof"`
}

func (*TestConnectionRequest_Llm) isTestConnectionRequest_Setting() {}

func (*TestConnectionRequest_Image) isTestConnectionRequest_Setting() {}

func (*TestConnectionRequest_Embedding) isTestConnectionRequest_Setting() {}

func (*TestConnectionRequest_Video) isTestConnectionRequest_Setting() {}

type TestQuickCallRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Env           string                 `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	Modality      Modality               `protobuf:"varint,3,opt,name=modality,proto3,enum=powerx.setting.ai.v1.Modality" json:"modality,omitempty"`
	Prompt        string                 `protobuf:"bytes,4,opt,name=prompt,proto3" json:"prompt,omitempty"` // LLM 快测用
	Llm           *LLMSetting            `protobuf:"bytes,10,opt,name=llm,proto3" json:"llm,omitempty"`      // 仅 LLM 使用
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestQuickCallRequest) Reset() {
	*x = TestQuickCallRequest{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestQuickCallRequest) ProtoMessage() {}

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

func (x *TestQuickCallRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *TestQuickCallRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *TestQuickCallRequest) GetModality() Modality {
	if x != nil {
		return x.Modality
	}
	return Modality_MODALITY_UNSPECIFIED
}

func (x *TestQuickCallRequest) GetPrompt() string {
	if x != nil {
		return x.Prompt
	}
	return ""
}

func (x *TestQuickCallRequest) GetLlm() *LLMSetting {
	if x != nil {
		return x.Llm
	}
	return nil
}

type GetActiveProfileRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Env           string                 `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	Modality      Modality               `protobuf:"varint,3,opt,name=modality,proto3,enum=powerx.setting.ai.v1.Modality" json:"modality,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetActiveProfileRequest) Reset() {
	*x = GetActiveProfileRequest{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetActiveProfileRequest) ProtoMessage() {}

func (x *GetActiveProfileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetActiveProfileRequest.ProtoReflect.Descriptor instead.
func (*GetActiveProfileRequest) Descriptor() ([]byte, []int) {
	return file_powerx_setting_ai_setting_proto_rawDescGZIP(), []int{13}
}

func (x *GetActiveProfileRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *GetActiveProfileRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *GetActiveProfileRequest) GetModality() Modality {
	if x != nil {
		return x.Modality
	}
	return Modality_MODALITY_UNSPECIFIED
}

type SetActiveProfileRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Ctx   *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Env   string                 `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	// 注意：保持与现有服务一致，可接受 string 模态名
	Modality      string `protobuf:"bytes,3,opt,name=modality,proto3" json:"modality,omitempty"` // "llm"/"image"/"embedding"/"video"
	Provider      string `protobuf:"bytes,4,opt,name=provider,proto3" json:"provider,omitempty"`
	Model         string `protobuf:"bytes,5,opt,name=model,proto3" json:"model,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetActiveProfileRequest) Reset() {
	*x = SetActiveProfileRequest{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SetActiveProfileRequest) ProtoMessage() {}

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

func (x *SetActiveProfileRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *SetActiveProfileRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *SetActiveProfileRequest) GetModality() string {
	if x != nil {
		return x.Modality
	}
	return ""
}

func (x *SetActiveProfileRequest) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *SetActiveProfileRequest) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

type ListProfilesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Env           string                 `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	Modalities    []Modality             `protobuf:"varint,3,rep,packed,name=modalities,proto3,enum=powerx.setting.ai.v1.Modality" json:"modalities,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProfilesRequest) Reset() {
	*x = ListProfilesRequest{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProfilesRequest) ProtoMessage() {}

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

func (x *ListProfilesRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *ListProfilesRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *ListProfilesRequest) GetModalities() []Modality {
	if x != nil {
		return x.Modalities
	}
	return nil
}

type ListCredentialsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`
	Env           string                 `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCredentialsRequest) Reset() {
	*x = ListCredentialsRequest{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCredentialsRequest) ProtoMessage() {}

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

func (x *ListCredentialsRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *ListCredentialsRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

type ListProvidersData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*AIProviderItem      `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProvidersData) Reset() {
	*x = ListProvidersData{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProvidersData) ProtoMessage() {}

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

func (x *ListProvidersData) GetItems() []*AIProviderItem {
	if x != nil {
		return x.Items
	}
	return nil
}

type ListProvidersResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *ListProvidersData     `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProvidersResponse) Reset() {
	*x = ListProvidersResponse{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProvidersResponse) ProtoMessage() {}

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

func (x *ListProvidersResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListProvidersResponse) GetData() *ListProvidersData {
	if x != nil {
		return x.Data
	}
	return nil
}

type ListModelsData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []string               `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` // 如需分页：common.v1.PageResponse pagination = 2;
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListModelsData) ProtoMessage() {}

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

func (x *ListModelsData) GetItems() []string {
	if x != nil {
		return x.Items
	}
	return nil
}

type ListModelsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *ListModelsData        `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListModelsResponse) ProtoMessage() {}

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

func (x *ListModelsResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListModelsResponse) GetData() *ListModelsData {
	if x != nil {
		return x.Data
	}
	return nil
}

type SaveSettingsData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SaveSettingsData) ProtoMessage() {}

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

func (x *SaveSettingsData) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

type SaveSettingsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *SaveSettingsData      `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SaveSettingsResponse) ProtoMessage() {}

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

func (x *SaveSettingsResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *SaveSettingsResponse) GetData() *SaveSettingsData {
	if x != nil {
		return x.Data
	}
	return nil
}

type TestConnectionData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestConnectionData) Reset() {
	*x = TestConnectionData{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestConnectionData) ProtoMessage() {}

func (x *TestConnectionData) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TestConnectionData.ProtoReflect.Descriptor instead.
func (*TestConnectionData) Descriptor() ([]byte, []int) {
	return file_powerx_setting_ai_setting_proto_rawDescGZIP(), []int{23}
}

func (x *TestConnectionData) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

type TestConnectionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *TestConnectionData    `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestConnectionResponse) Reset() {
	*x = TestConnectionResponse{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestConnectionResponse) ProtoMessage() {}

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

func (x *TestConnectionResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *TestConnectionResponse) GetData() *TestConnectionData {
	if x != nil {
		return x.Data
	}
	return nil
}

type TestQuickCallData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Result        string                 `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` // LLM 单轮输出（便于前端展示）
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestQuickCallData) Reset() {
	*x = TestQuickCallData{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestQuickCallData) ProtoMessage() {}

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

func (x *TestQuickCallData) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *TestQuickCallData) GetResult() string {
	if x != nil {
		return x.Result
	}
	return ""
}

type TestQuickCallResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *TestQuickCallData     `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestQuickCallResponse) Reset() {
	*x = TestQuickCallResponse{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TestQuickCallResponse) ProtoMessage() {}

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

func (x *TestQuickCallResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *TestQuickCallResponse) GetData() *TestQuickCallData {
	if x != nil {
		return x.Data
	}
	return nil
}

type GetActiveProfileData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Env           string                 `protobuf:"bytes,1,opt,name=env,proto3" json:"env,omitempty"`
	Modality      string                 `protobuf:"bytes,2,opt,name=modality,proto3" json:"modality,omitempty"`
	Profile       *AIModelProfile        `protobuf:"bytes,3,opt,name=profile,proto3" json:"profile,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetActiveProfileData) Reset() {
	*x = GetActiveProfileData{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetActiveProfileData) ProtoMessage() {}

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

func (x *GetActiveProfileData) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *GetActiveProfileData) GetModality() string {
	if x != nil {
		return x.Modality
	}
	return ""
}

func (x *GetActiveProfileData) GetProfile() *AIModelProfile {
	if x != nil {
		return x.Profile
	}
	return nil
}

type GetActiveProfileResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *GetActiveProfileData  `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetActiveProfileResponse) Reset() {
	*x = GetActiveProfileResponse{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetActiveProfileResponse) ProtoMessage() {}

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

func (x *GetActiveProfileResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetActiveProfileResponse) GetData() *GetActiveProfileData {
	if x != nil {
		return x.Data
	}
	return nil
}

type SetActiveProfileData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetActiveProfileData) Reset() {
	*x = SetActiveProfileData{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SetActiveProfileData) ProtoMessage() {}

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

func (x *SetActiveProfileData) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

type SetActiveProfileResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *SetActiveProfileData  `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetActiveProfileResponse) Reset() {
	*x = SetActiveProfileResponse{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SetActiveProfileResponse) ProtoMessage() {}

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

func (x *SetActiveProfileResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *SetActiveProfileResponse) GetData() *SetActiveProfileData {
	if x != nil {
		return x.Data
	}
	return nil
}

type ListProfilesData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Env           string                 `protobuf:"bytes,1,opt,name=env,proto3" json:"env,omitempty"`
	Profiles      []*AIModelProfile      `protobuf:"bytes,2,rep,name=profiles,proto3" json:"profiles,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProfilesData) Reset() {
	*x = ListProfilesData{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProfilesData) ProtoMessage() {}

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

func (x *ListProfilesData) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *ListProfilesData) GetProfiles() []*AIModelProfile {
	if x != nil {
		return x.Profiles
	}
	return nil
}

type ListProfilesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *ListProfilesData      `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProfilesResponse) Reset() {
	*x = ListProfilesResponse{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProfilesResponse) ProtoMessage() {}

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

func (x *ListProfilesResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListProfilesResponse) GetData() *ListProfilesData {
	if x != nil {
		return x.Data
	}
	return nil
}

type ListCredentialsData struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Env           string                  `protobuf:"bytes,1,opt,name=env,proto3" json:"env,omitempty"`
	Credentials   []*AIProviderCredential `protobuf:"bytes,2,rep,name=credentials,proto3" json:"credentials,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCredentialsData) Reset() {
	*x = ListCredentialsData{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCredentialsData) ProtoMessage() {}

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

func (x *ListCredentialsData) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *ListCredentialsData) GetCredentials() []*AIProviderCredential {
	if x != nil {
		return x.Credentials
	}
	return nil
}

type ListCredentialsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *v1.ResponseMeta       `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Data          *ListCredentialsData   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCredentialsResponse) Reset() {
	*x = ListCredentialsResponse{}
	mi := &file_powerx_setting_ai_setting_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCredentialsResponse) ProtoMessage() {}

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

func (x *ListCredentialsResponse) GetMeta() *v1.ResponseMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListCredentialsResponse) GetData() *ListCredentialsData {
	if x != nil {
		return x.Data
	}
	return nil
}

var File_powerx_setting_ai_setting_proto protoreflect.FileDescriptor

const file_powerx_setting_ai_setting_proto_rawDesc = "" +
	"\n" +
	"\x1fpowerx/setting/ai_setting.proto\x12\x14powerx.setting.ai.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x17common/v1/context.proto\x1a\x18common/v1/response.proto\x1a\x1acommon/v1/pagination.proto\"\xd7\x01\n" +
	"\bBaseConn\x12\x1a\n" +
	"\bprovider\x18\x01 \x01(\tR\bprovider\x12\x14\n" +
	"\x05model\x18\x02 \x01(\tR\x05model\x12\x19\n" +
	"\bbase_url\x18\x03 \x01(\tR\abaseUrl\x12\x17\n" +
	"\aapi_key\x18\x04 \x01(\tR\x06apiKey\x12\x16\n" +
	"\x06region\x18\x05 \x01(\tR\x06region\x12\"\n" +
	"\forganization\x18\x06 \x01(\tR\forganization\x12)\n" +
	"\x10azure_deployment\x18\a \x01(\tR\x0fazureDeployment\"\xae\x01\n" +
	"\n" +
	"LLMSetting\x122\n" +
	"\x04base\x18\x01 \x01(\v2\x1e.powerx.setting.ai.v1.BaseConnR\x04base\x12 \n" +
	"\vtemperature\x18\x02 \x01(\x01R\vtemperature\x12\x1d\n" +
	"\n" +
	"max_tokens\x18\x03 \x01(\x05R\tmaxTokens\x12\x13\n" +
	"\x05top_p\x18\x04 \x01(\x01R\x04topP\x12\x16\n" +
	"\x06stream\x18\x05 \x01(\bR\x06stream\"\xa9\x01\n" +
	"\fImageSetting\x122\n" +
	"\x04base\x18\x01 \x01(\v2\x1e.powerx.setting.ai.v1.BaseConnR\x04base\x12\x12\n" +
	"\x04size\x18\x02 \x01(\tR\x04size\x12\x18\n" +
	"\aquality\x18\x03 \x01(\tR\aquality\x12\x16\n" +
	"\x06format\x18\x04 \x01(\tR\x06format\x12\x1f\n" +
	"\vprompt_hint\x18\x05 \x01(\tR\n" +
	"promptHint\"\x98\x01\n" +
	"\x10EmbeddingSetting\x122\n" +
	"\x04base\x18\x01 \x01(\v2\x1e.powerx.setting.ai.v1.BaseConnR\x04base\x12\x1e\n" +
	"\n" +
	"dimensions\x18\x02 \x01(\x05R\n" +
	"dimensions\x12\x1a\n" +
	"\btruncate\x18\x03 \x01(\tR\btruncate\x12\x14\n" +
	"\x05batch\x18\x04 \x01(\x05R\x05batch\"\xbf\x01\n" +
	"\fVideoSetting\x122\n" +
	"\x04base\x18\x01 \x01(\v2\x1e.powerx.setting.ai.v1.BaseConnR\x04base\x12\x1e\n" +
	"\n" +
	"resolution\x18\x02 \x01(\tR\n" +
	"resolution\x12\x10\n" +
	"\x03fps\x18\x03 \x01(\x05R\x03fps\x12(\n" +
	"\x10max_duration_sec\x18\x04 \x01(\x05R\x0emaxDurationSec\x12\x1f\n" +
	"\vprompt_hint\x18\x05 \x01(\tR\n" +
	"promptHint\"4\n" +
	"\x0eAIProviderItem\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"\x94\x01\n" +
	"\x14AIProviderCredential\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" +
	"\bprovider\x18\x02 \x01(\tR\bprovider\x12\x1f\n" +
	"\vauth_scheme\x18\x03 \x01(\tR\n" +
	"authScheme\x12+\n" +
	"\x04data\x18\x04 \x01(\v2\x17.google.protobuf.StructR\x04data\"\xa7\x01\n" +
	"\x0eAIModelProfile\x12\x1a\n" +
	"\bmodality\x18\x01 \x01(\tR\bmodality\x12\x1a\n" +
	"\bprovider\x18\x02 \x01(\tR\bprovider\x12\x14\n" +
	"\x05model\x18\x03 \x01(\tR\x05model\x12\x12\n" +
	"\x04tags\x18\x04 \x03(\tR\x04tags\x123\n" +
	"\bdefaults\x18\x05 \x01(\v2\x17.google.protobuf.StructR\bdefaults\"\x7f\n" +
	"\x14ListProvidersRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12:\n" +
	"\bmodality\x18\x02 \x01(\x0e2\x1e.powerx.setting.ai.v1.ModalityR\bmodality\"\x98\x01\n" +
	"\x11ListModelsRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12:\n" +
	"\bmodality\x18\x02 \x01(\x0e2\x1e.powerx.setting.ai.v1.ModalityR\bmodality\x12\x1a\n" +
	"\bprovider\x18\x03 \x01(\tR\bprovider\"\x91\x03\n" +
	"\x13SaveSettingsRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x03env\x18\x02 \x01(\tR\x03env\x12:\n" +
	"\bmodality\x18\x03 \x01(\x0e2\x1e.powerx.setting.ai.v1.ModalityR\bmodality\x124\n" +
	"\x03llm\x18\n" +
	" \x01(\v2 .powerx.setting.ai.v1.LLMSettingH\x00R\x03llm\x12:\n" +
	"\x05image\x18\v \x01(\v2\".powerx.setting.ai.v1.ImageSettingH\x00R\x05image\x12F\n" +
	"\tembedding\x18\f \x01(\v2&.powerx.setting.ai.v1.EmbeddingSettingH\x00R\tembedding\x12:\n" +
	"\x05video\x18\r \x01(\v2\".powerx.setting.ai.v1.VideoSettingH\x00R\x05videoB\t\n" +
	"\asetting\"\x93\x03\n" +
	"\x15TestConnectionRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x03env\x18\x02 \x01(\tR\x03env\x12:\n" +
	"\bmodality\x18\x03 \x01(\x0e2\x1e.powerx.setting.ai.v1.ModalityR\bmodality\x124\n" +
	"\x03llm\x18\n" +
	" \x01(\v2 .powerx.setting.ai.v1.LLMSettingH\x00R\x03llm\x12:\n" +
	"\x05image\x18\v \x01(\v2\".powerx.setting.ai.v1.ImageSettingH\x00R\x05image\x12F\n" +
	"\tembedding\x18\f \x01(\v2&.powerx.setting.ai.v1.EmbeddingSettingH\x00R\tembedding\x12:\n" +
	"\x05video\x18\r \x01(\v2\".powerx.setting.ai.v1.VideoSettingH\x00R\x05videoB\t\n" +
	"\asetting\"\xdd\x01\n" +
	"\x14TestQuickCallRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x03env\x18\x02 \x01(\tR\x03env\x12:\n" +
	"\bmodality\x18\x03 \x01(\x0e2\x1e.powerx.setting.ai.v1.ModalityR\bmodality\x12\x16\n" +
	"\x06prompt\x18\x04 \x01(\tR\x06prompt\x122\n" +
	"\x03llm\x18\n" +
	" \x01(\v2 .powerx.setting.ai.v1.LLMSettingR\x03llm\"\x94\x01\n" +
	"\x17GetActiveProfileRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x03env\x18\x02 \x01(\tR\x03env\x12:\n" +
	"\bmodality\x18\x03 \x01(\x0e2\x1e.powerx.setting.ai.v1.ModalityR\bmodality\"\xa6\x01\n" +
	"\x17SetActiveProfileRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x03env\x18\x02 \x01(\tR\x03env\x12\x1a\n" +
	"\bmodality\x18\x03 \x01(\tR\bmodality\x12\x1a\n" +
	"\bprovider\x18\x04 \x01(\tR\bprovider\x12\x14\n" +
	"\x05model\x18\x05 \x01(\tR\x05model\"\x94\x01\n" +
	"\x13ListProfilesRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x03env\x18\x02 \x01(\tR\x03env\x12>\n" +
	"\n" +
	"modalities\x18\x03 \x03(\x0e2\x1e.powerx.setting.ai.v1.ModalityR\n" +
	"modalities\"W\n" +
	"\x16ListCredentialsRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x10\n" +
	"\x03env\x18\x02 \x01(\tR\x03env\"O\n" +
	"\x11ListProvidersData\x12:\n" +
	"\x05items\x18\x01 \x03(\v2$.powerx.setting.ai.v1.AIProviderItemR\x05items\"\x81\x01\n" +
	"\x15ListProvidersResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12;\n" +
	"\x04data\x18\x02 \x01(\v2'.powerx.setting.ai.v1.ListProvidersDataR\x04data\"&\n" +
	"\x0eListModelsData\x12\x14\n" +
	"\x05items\x18\x01 \x03(\tR\x05items\"{\n" +
	"\x12ListModelsResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x128\n" +
	"\x04data\x18\x02 \x01(\v2$.powerx.setting.ai.v1.ListModelsDataR\x04data\"\"\n" +
	"\x10SaveSettingsData\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\"\x7f\n" +
	"\x14SaveSettingsResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12:\n" +
	"\x04data\x18\x02 \x01(\v2&.powerx.setting.ai.v1.SaveSettingsDataR\x04data\"$\n" +
	"\x12TestConnectionData\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\"\x83\x01\n" +
	"\x16TestConnectionResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12<\n" +
	"\x04data\x18\x02 \x01(\v2(.powerx.setting.ai.v1.TestConnectionDataR\x04data\";\n" +
	"\x11TestQuickCallData\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x16\n" +
	"\x06result\x18\x02 \x01(\tR\x06result\"\x81\x01\n" +
	"\x15TestQuickCallResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12;\n" +
	"\x04data\x18\x02 \x01(\v2'.powerx.setting.ai.v1.TestQuickCallDataR\x04data\"\x84\x01\n" +
	"\x14GetActiveProfileData\x12\x10\n" +
	"\x03env\x18\x01 \x01(\tR\x03env\x12\x1a\n" +
	"\bmodality\x18\x02 \x01(\tR\bmodality\x12>\n" +
	"\aprofile\x18\x03 \x01(\v2$.powerx.setting.ai.v1.AIModelProfileR\aprofile\"\x87\x01\n" +
	"\x18GetActiveProfileResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12>\n" +
	"\x04data\x18\x02 \x01(\v2*.powerx.setting.ai.v1.GetActiveProfileDataR\x04data\"&\n" +
	"\x14SetActiveProfileData\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\"\x87\x01\n" +
	"\x18SetActiveProfileResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12>\n" +
	"\x04data\x18\x02 \x01(\v2*.powerx.setting.ai.v1.SetActiveProfileDataR\x04data\"f\n" +
	"\x10ListProfilesData\x12\x10\n" +
	"\x03env\x18\x01 \x01(\tR\x03env\x12@\n" +
	"\bprofiles\x18\x02 \x03(\v2$.powerx.setting.ai.v1.AIModelProfileR\bprofiles\"\x7f\n" +
	"\x14ListProfilesResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12:\n" +
	"\x04data\x18\x02 \x01(\v2&.powerx.setting.ai.v1.ListProfilesDataR\x04data\"u\n" +
	"\x13ListCredentialsData\x12\x10\n" +
	"\x03env\x18\x01 \x01(\tR\x03env\x12L\n" +
	"\vcredentials\x18\x02 \x03(\v2*.powerx.setting.ai.v1.AIProviderCredentialR\vcredentials\"\x85\x01\n" +
	"\x17ListCredentialsResponse\x12+\n" +
	"\x04meta\x18\x01 \x01(\v2\x17.common.v1.ResponseMetaR\x04meta\x12=\n" +
	"\x04data\x18\x02 \x01(\v2).powerx.setting.ai.v1.ListCredentialsDataR\x04data*v\n" +
	"\bModality\x12\x18\n" +
	"\x14MODALITY_UNSPECIFIED\x10\x00\x12\x10\n" +
	"\fMODALITY_LLM\x10\x01\x12\x12\n" +
	"\x0eMODALITY_IMAGE\x10\x02\x12\x16\n" +
	"\x12MODALITY_EMBEDDING\x10\x03\x12\x12\n" +
	"\x0eMODALITY_VIDEO\x10\x042\xd8\a\n" +
	"\x10SettingAIService\x12h\n" +
	"\rListProviders\x12*.powerx.setting.ai.v1.ListProvidersRequest\x1a+.powerx.setting.ai.v1.ListProvidersResponse\x12_\n" +
	"\n" +
	"ListModels\x12'.powerx.setting.ai.v1.ListModelsRequest\x1a(.powerx.setting.ai.v1.ListModelsResponse\x12e\n" +
	"\fSaveSettings\x12).powerx.setting.ai.v1.SaveSettingsRequest\x1a*.powerx.setting.ai.v1.SaveSettingsResponse\x12k\n" +
	"\x0eTestConnection\x12+.powerx.setting.ai.v1.TestConnectionRequest\x1a,.powerx.setting.ai.v1.TestConnectionResponse\x12h\n" +
	"\rTestQuickCall\x12*.powerx.setting.ai.v1.TestQuickCallRequest\x1a+.powerx.setting.ai.v1.TestQuickCallResponse\x12q\n" +
	"\x10GetActiveProfile\x12-.powerx.setting.ai.v1.GetActiveProfileRequest\x1a..powerx.setting.ai.v1.GetActiveProfileResponse\x12q\n" +
	"\x10SetActiveProfile\x12-.powerx.setting.ai.v1.SetActiveProfileRequest\x1a..powerx.setting.ai.v1.SetActiveProfileResponse\x12e\n" +
	"\fListProfiles\x12).powerx.setting.ai.v1.ListProfilesRequest\x1a*.powerx.setting.ai.v1.ListProfilesResponse\x12n\n" +
	"\x0fListCredentials\x12,.powerx.setting.ai.v1.ListCredentialsRequest\x1a-.powerx.setting.ai.v1.ListCredentialsResponseB\xbc\x01\n" +
	"\x18com.powerx.setting.ai.v1P\x01ZMgithub.com/ArtisanCloud/PowerX/api/grpc/gen/go/powerx/setting/ai/v1;settingv1\xaa\x02\x14PowerX.Setting.AI.V1\xca\x02\x14PowerX\\Setting\\AI\\V1\xe2\x02 GPBMetadata\\PowerX\\Setting\\AI\\V1b\x06proto3"

var (
	file_powerx_setting_ai_setting_proto_rawDescOnce sync.Once
	file_powerx_setting_ai_setting_proto_rawDescData []byte
)

func file_powerx_setting_ai_setting_proto_rawDescGZIP() []byte {
	file_powerx_setting_ai_setting_proto_rawDescOnce.Do(func() {
		file_powerx_setting_ai_setting_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_powerx_setting_ai_setting_proto_rawDesc), len(file_powerx_setting_ai_setting_proto_rawDesc)))
	})
	return file_powerx_setting_ai_setting_proto_rawDescData
}

var file_powerx_setting_ai_setting_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_powerx_setting_ai_setting_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
var file_powerx_setting_ai_setting_proto_goTypes = []any{
	(Modality)(0),                    // 0: powerx.setting.ai.v1.Modality
	(*BaseConn)(nil),                 // 1: powerx.setting.ai.v1.BaseConn
	(*LLMSetting)(nil),               // 2: powerx.setting.ai.v1.LLMSetting
	(*ImageSetting)(nil),             // 3: powerx.setting.ai.v1.ImageSetting
	(*EmbeddingSetting)(nil),         // 4: powerx.setting.ai.v1.EmbeddingSetting
	(*VideoSetting)(nil),             // 5: powerx.setting.ai.v1.VideoSetting
	(*AIProviderItem)(nil),           // 6: powerx.setting.ai.v1.AIProviderItem
	(*AIProviderCredential)(nil),     // 7: powerx.setting.ai.v1.AIProviderCredential
	(*AIModelProfile)(nil),           // 8: powerx.setting.ai.v1.AIModelProfile
	(*ListProvidersRequest)(nil),     // 9: powerx.setting.ai.v1.ListProvidersRequest
	(*ListModelsRequest)(nil),        // 10: powerx.setting.ai.v1.ListModelsRequest
	(*SaveSettingsRequest)(nil),      // 11: powerx.setting.ai.v1.SaveSettingsRequest
	(*TestConnectionRequest)(nil),    // 12: powerx.setting.ai.v1.TestConnectionRequest
	(*TestQuickCallRequest)(nil),     // 13: powerx.setting.ai.v1.TestQuickCallRequest
	(*GetActiveProfileRequest)(nil),  // 14: powerx.setting.ai.v1.GetActiveProfileRequest
	(*SetActiveProfileRequest)(nil),  // 15: powerx.setting.ai.v1.SetActiveProfileRequest
	(*ListProfilesRequest)(nil),      // 16: powerx.setting.ai.v1.ListProfilesRequest
	(*ListCredentialsRequest)(nil),   // 17: powerx.setting.ai.v1.ListCredentialsRequest
	(*ListProvidersData)(nil),        // 18: powerx.setting.ai.v1.ListProvidersData
	(*ListProvidersResponse)(nil),    // 19: powerx.setting.ai.v1.ListProvidersResponse
	(*ListModelsData)(nil),           // 20: powerx.setting.ai.v1.ListModelsData
	(*ListModelsResponse)(nil),       // 21: powerx.setting.ai.v1.ListModelsResponse
	(*SaveSettingsData)(nil),         // 22: powerx.setting.ai.v1.SaveSettingsData
	(*SaveSettingsResponse)(nil),     // 23: powerx.setting.ai.v1.SaveSettingsResponse
	(*TestConnectionData)(nil),       // 24: powerx.setting.ai.v1.TestConnectionData
	(*TestConnectionResponse)(nil),   // 25: powerx.setting.ai.v1.TestConnectionResponse
	(*TestQuickCallData)(nil),        // 26: powerx.setting.ai.v1.TestQuickCallData
	(*TestQuickCallResponse)(nil),    // 27: powerx.setting.ai.v1.TestQuickCallResponse
	(*GetActiveProfileData)(nil),     // 28: powerx.setting.ai.v1.GetActiveProfileData
	(*GetActiveProfileResponse)(nil), // 29: powerx.setting.ai.v1.GetActiveProfileResponse
	(*SetActiveProfileData)(nil),     // 30: powerx.setting.ai.v1.SetActiveProfileData
	(*SetActiveProfileResponse)(nil), // 31: powerx.setting.ai.v1.SetActiveProfileResponse
	(*ListProfilesData)(nil),         // 32: powerx.setting.ai.v1.ListProfilesData
	(*ListProfilesResponse)(nil),     // 33: powerx.setting.ai.v1.ListProfilesResponse
	(*ListCredentialsData)(nil),      // 34: powerx.setting.ai.v1.ListCredentialsData
	(*ListCredentialsResponse)(nil),  // 35: powerx.setting.ai.v1.ListCredentialsResponse
	(*structpb.Struct)(nil),          // 36: google.protobuf.Struct
	(*v1.RequestContext)(nil),        // 37: common.v1.RequestContext
	(*v1.ResponseMeta)(nil),          // 38: common.v1.ResponseMeta
}
var file_powerx_setting_ai_setting_proto_depIdxs = []int32{
	1,  // 0: powerx.setting.ai.v1.LLMSetting.base:type_name -> powerx.setting.ai.v1.BaseConn
	1,  // 1: powerx.setting.ai.v1.ImageSetting.base:type_name -> powerx.setting.ai.v1.BaseConn
	1,  // 2: powerx.setting.ai.v1.EmbeddingSetting.base:type_name -> powerx.setting.ai.v1.BaseConn
	1,  // 3: powerx.setting.ai.v1.VideoSetting.base:type_name -> powerx.setting.ai.v1.BaseConn
	36, // 4: powerx.setting.ai.v1.AIProviderCredential.data:type_name -> google.protobuf.Struct
	36, // 5: powerx.setting.ai.v1.AIModelProfile.defaults:type_name -> google.protobuf.Struct
	37, // 6: powerx.setting.ai.v1.ListProvidersRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 7: powerx.setting.ai.v1.ListProvidersRequest.modality:type_name -> powerx.setting.ai.v1.Modality
	37, // 8: powerx.setting.ai.v1.ListModelsRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 9: powerx.setting.ai.v1.ListModelsRequest.modality:type_name -> powerx.setting.ai.v1.Modality
	37, // 10: powerx.setting.ai.v1.SaveSettingsRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 11: powerx.setting.ai.v1.SaveSettingsRequest.modality:type_name -> powerx.setting.ai.v1.Modality
	2,  // 12: powerx.setting.ai.v1.SaveSettingsRequest.llm:type_name -> powerx.setting.ai.v1.LLMSetting
	3,  // 13: powerx.setting.ai.v1.SaveSettingsRequest.image:type_name -> powerx.setting.ai.v1.ImageSetting
	4,  // 14: powerx.setting.ai.v1.SaveSettingsRequest.embedding:type_name -> powerx.setting.ai.v1.EmbeddingSetting
	5,  // 15: powerx.setting.ai.v1.SaveSettingsRequest.video:type_name -> powerx.setting.ai.v1.VideoSetting
	37, // 16: powerx.setting.ai.v1.TestConnectionRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 17: powerx.setting.ai.v1.TestConnectionRequest.modality:type_name -> powerx.setting.ai.v1.Modality
	2,  // 18: powerx.setting.ai.v1.TestConnectionRequest.llm:type_name -> powerx.setting.ai.v1.LLMSetting
	3,  // 19: powerx.setting.ai.v1.TestConnectionRequest.image:type_name -> powerx.setting.ai.v1.ImageSetting
	4,  // 20: powerx.setting.ai.v1.TestConnectionRequest.embedding:type_name -> powerx.setting.ai.v1.EmbeddingSetting
	5,  // 21: powerx.setting.ai.v1.TestConnectionRequest.video:type_name -> powerx.setting.ai.v1.VideoSetting
	37, // 22: powerx.setting.ai.v1.TestQuickCallRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 23: powerx.setting.ai.v1.TestQuickCallRequest.modality:type_name -> powerx.setting.ai.v1.Modality
	2,  // 24: powerx.setting.ai.v1.TestQuickCallRequest.llm:type_name -> powerx.setting.ai.v1.LLMSetting
	37, // 25: powerx.setting.ai.v1.GetActiveProfileRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 26: powerx.setting.ai.v1.GetActiveProfileRequest.modality:type_name -> powerx.setting.ai.v1.Modality
	37, // 27: powerx.setting.ai.v1.SetActiveProfileRequest.ctx:type_name -> common.v1.RequestContext
	37, // 28: powerx.setting.ai.v1.ListProfilesRequest.ctx:type_name -> common.v1.RequestContext
	0,  // 29: powerx.setting.ai.v1.ListProfilesRequest.modalities:type_name -> powerx.setting.ai.v1.Modality
	37, // 30: powerx.setting.ai.v1.ListCredentialsRequest.ctx:type_name -> common.v1.RequestContext
	6,  // 31: powerx.setting.ai.v1.ListProvidersData.items:type_name -> powerx.setting.ai.v1.AIProviderItem
	38, // 32: powerx.setting.ai.v1.ListProvidersResponse.meta:type_name -> common.v1.ResponseMeta
	18, // 33: powerx.setting.ai.v1.ListProvidersResponse.data:type_name -> powerx.setting.ai.v1.ListProvidersData
	38, // 34: powerx.setting.ai.v1.ListModelsResponse.meta:type_name -> common.v1.ResponseMeta
	20, // 35: powerx.setting.ai.v1.ListModelsResponse.data:type_name -> powerx.setting.ai.v1.ListModelsData
	38, // 36: powerx.setting.ai.v1.SaveSettingsResponse.meta:type_name -> common.v1.ResponseMeta
	22, // 37: powerx.setting.ai.v1.SaveSettingsResponse.data:type_name -> powerx.setting.ai.v1.SaveSettingsData
	38, // 38: powerx.setting.ai.v1.TestConnectionResponse.meta:type_name -> common.v1.ResponseMeta
	24, // 39: powerx.setting.ai.v1.TestConnectionResponse.data:type_name -> powerx.setting.ai.v1.TestConnectionData
	38, // 40: powerx.setting.ai.v1.TestQuickCallResponse.meta:type_name -> common.v1.ResponseMeta
	26, // 41: powerx.setting.ai.v1.TestQuickCallResponse.data:type_name -> powerx.setting.ai.v1.TestQuickCallData
	8,  // 42: powerx.setting.ai.v1.GetActiveProfileData.profile:type_name -> powerx.setting.ai.v1.AIModelProfile
	38, // 43: powerx.setting.ai.v1.GetActiveProfileResponse.meta:type_name -> common.v1.ResponseMeta
	28, // 44: powerx.setting.ai.v1.GetActiveProfileResponse.data:type_name -> powerx.setting.ai.v1.GetActiveProfileData
	38, // 45: powerx.setting.ai.v1.SetActiveProfileResponse.meta:type_name -> common.v1.ResponseMeta
	30, // 46: powerx.setting.ai.v1.SetActiveProfileResponse.data:type_name -> powerx.setting.ai.v1.SetActiveProfileData
	8,  // 47: powerx.setting.ai.v1.ListProfilesData.profiles:type_name -> powerx.setting.ai.v1.AIModelProfile
	38, // 48: powerx.setting.ai.v1.ListProfilesResponse.meta:type_name -> common.v1.ResponseMeta
	32, // 49: powerx.setting.ai.v1.ListProfilesResponse.data:type_name -> powerx.setting.ai.v1.ListProfilesData
	7,  // 50: powerx.setting.ai.v1.ListCredentialsData.credentials:type_name -> powerx.setting.ai.v1.AIProviderCredential
	38, // 51: powerx.setting.ai.v1.ListCredentialsResponse.meta:type_name -> common.v1.ResponseMeta
	34, // 52: powerx.setting.ai.v1.ListCredentialsResponse.data:type_name -> powerx.setting.ai.v1.ListCredentialsData
	9,  // 53: powerx.setting.ai.v1.SettingAIService.ListProviders:input_type -> powerx.setting.ai.v1.ListProvidersRequest
	10, // 54: powerx.setting.ai.v1.SettingAIService.ListModels:input_type -> powerx.setting.ai.v1.ListModelsRequest
	11, // 55: powerx.setting.ai.v1.SettingAIService.SaveSettings:input_type -> powerx.setting.ai.v1.SaveSettingsRequest
	12, // 56: powerx.setting.ai.v1.SettingAIService.TestConnection:input_type -> powerx.setting.ai.v1.TestConnectionRequest
	13, // 57: powerx.setting.ai.v1.SettingAIService.TestQuickCall:input_type -> powerx.setting.ai.v1.TestQuickCallRequest
	14, // 58: powerx.setting.ai.v1.SettingAIService.GetActiveProfile:input_type -> powerx.setting.ai.v1.GetActiveProfileRequest
	15, // 59: powerx.setting.ai.v1.SettingAIService.SetActiveProfile:input_type -> powerx.setting.ai.v1.SetActiveProfileRequest
	16, // 60: powerx.setting.ai.v1.SettingAIService.ListProfiles:input_type -> powerx.setting.ai.v1.ListProfilesRequest
	17, // 61: powerx.setting.ai.v1.SettingAIService.ListCredentials:input_type -> powerx.setting.ai.v1.ListCredentialsRequest
	19, // 62: powerx.setting.ai.v1.SettingAIService.ListProviders:output_type -> powerx.setting.ai.v1.ListProvidersResponse
	21, // 63: powerx.setting.ai.v1.SettingAIService.ListModels:output_type -> powerx.setting.ai.v1.ListModelsResponse
	23, // 64: powerx.setting.ai.v1.SettingAIService.SaveSettings:output_type -> powerx.setting.ai.v1.SaveSettingsResponse
	25, // 65: powerx.setting.ai.v1.SettingAIService.TestConnection:output_type -> powerx.setting.ai.v1.TestConnectionResponse
	27, // 66: powerx.setting.ai.v1.SettingAIService.TestQuickCall:output_type -> powerx.setting.ai.v1.TestQuickCallResponse
	29, // 67: powerx.setting.ai.v1.SettingAIService.GetActiveProfile:output_type -> powerx.setting.ai.v1.GetActiveProfileResponse
	31, // 68: powerx.setting.ai.v1.SettingAIService.SetActiveProfile:output_type -> powerx.setting.ai.v1.SetActiveProfileResponse
	33, // 69: powerx.setting.ai.v1.SettingAIService.ListProfiles:output_type -> powerx.setting.ai.v1.ListProfilesResponse
	35, // 70: powerx.setting.ai.v1.SettingAIService.ListCredentials:output_type -> powerx.setting.ai.v1.ListCredentialsResponse
	62, // [62:71] is the sub-list for method output_type
	53, // [53:62] is the sub-list for method input_type
	53, // [53:53] is the sub-list for extension type_name
	53, // [53:53] is the sub-list for extension extendee
	0,  // [0:53] is the sub-list for field type_name
}

func init() { file_powerx_setting_ai_setting_proto_init() }
func file_powerx_setting_ai_setting_proto_init() {
	if File_powerx_setting_ai_setting_proto != nil {
		return
	}
	file_powerx_setting_ai_setting_proto_msgTypes[10].OneofWrappers = []any{
		(*SaveSettingsRequest_Llm)(nil),
		(*SaveSettingsRequest_Image)(nil),
		(*SaveSettingsRequest_Embedding)(nil),
		(*SaveSettingsRequest_Video)(nil),
	}
	file_powerx_setting_ai_setting_proto_msgTypes[11].OneofWrappers = []any{
		(*TestConnectionRequest_Llm)(nil),
		(*TestConnectionRequest_Image)(nil),
		(*TestConnectionRequest_Embedding)(nil),
		(*TestConnectionRequest_Video)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_powerx_setting_ai_setting_proto_rawDesc), len(file_powerx_setting_ai_setting_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   35,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_powerx_setting_ai_setting_proto_goTypes,
		DependencyIndexes: file_powerx_setting_ai_setting_proto_depIdxs,
		EnumInfos:         file_powerx_setting_ai_setting_proto_enumTypes,
		MessageInfos:      file_powerx_setting_ai_setting_proto_msgTypes,
	}.Build()
	File_powerx_setting_ai_setting_proto = out.File
	file_powerx_setting_ai_setting_proto_goTypes = nil
	file_powerx_setting_ai_setting_proto_depIdxs = nil
}
