// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.8
// 	protoc        v6.32.0
// source: provider.proto

package custom

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 CompleteRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Tools         []*Tool                `protobuf:"bytes,1,rep,name=tools,proto3" json:"tools,omitempty"`
	Messages      []*Message             `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"`
	Effort        *string                `protobuf:"bytes,3,opt,name=effort,proto3,oneof" json:"effort,omitempty"`
	MaxTokens     *int32                 `protobuf:"varint,4,opt,name=max_tokens,json=maxTokens,proto3,oneof" json:"max_tokens,omitempty"`
	Temperature   *float32               `protobuf:"fixed32,5,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	TopK          *float32               `protobuf:"fixed32,6,opt,name=top_k,json=topK,proto3,oneof" json:"top_k,omitempty"`
	TopP          *float32               `protobuf:"fixed32,7,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
	Stops         []string               `protobuf:"bytes,8,rep,name=stops,proto3" json:"stops,omitempty"`
	Format        *string                `protobuf:"bytes,9,opt,name=format,proto3,oneof" json:"format,omitempty"`
	Schema        *Schema                `protobuf:"bytes,10,opt,name=schema,proto3,oneof" json:"schema,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CompleteRequest) ProtoMessage() {}

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

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

func (x *CompleteRequest) GetMessages() []*Message {
	if x != nil {
		return x.Messages
	}
	return nil
}

func (x *CompleteRequest) GetEffort() string {
	if x != nil && x.Effort != nil {
		return *x.Effort
	}
	return ""
}

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

func (x *CompleteRequest) GetTemperature() float32 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *CompleteRequest) GetTopK() float32 {
	if x != nil && x.TopK != nil {
		return *x.TopK
	}
	return 0
}

func (x *CompleteRequest) GetTopP() float32 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

func (x *CompleteRequest) GetStops() []string {
	if x != nil {
		return x.Stops
	}
	return nil
}

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

func (x *CompleteRequest) GetSchema() *Schema {
	if x != nil {
		return x.Schema
	}
	return nil
}

type Completion struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Model         string                 `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	Reason        *string                `protobuf:"bytes,4,opt,name=reason,proto3,oneof" json:"reason,omitempty"`
	Delta         *Message               `protobuf:"bytes,5,opt,name=delta,proto3,oneof" json:"delta,omitempty"`
	Message       *Message               `protobuf:"bytes,6,opt,name=message,proto3,oneof" json:"message,omitempty"`
	Usage         *Usage                 `protobuf:"bytes,7,opt,name=usage,proto3,oneof" json:"usage,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Completion) ProtoMessage() {}

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

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

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

func (x *Completion) GetReason() string {
	if x != nil && x.Reason != nil {
		return *x.Reason
	}
	return ""
}

func (x *Completion) GetDelta() *Message {
	if x != nil {
		return x.Delta
	}
	return nil
}

func (x *Completion) GetMessage() *Message {
	if x != nil {
		return x.Message
	}
	return nil
}

func (x *Completion) GetUsage() *Usage {
	if x != nil {
		return x.Usage
	}
	return nil
}

type Message struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Role          string                 `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
	Content       []*Content             `protobuf:"bytes,2,rep,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Message) ProtoMessage() {}

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

func (x *Message) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

func (x *Message) GetContent() []*Content {
	if x != nil {
		return x.Content
	}
	return nil
}

type Content struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Text          *string                `protobuf:"bytes,1,opt,name=text,proto3,oneof" json:"text,omitempty"`
	File          *File                  `protobuf:"bytes,3,opt,name=file,proto3,oneof" json:"file,omitempty"`
	ToolCall      *ToolCall              `protobuf:"bytes,4,opt,name=tool_call,json=toolCall,proto3,oneof" json:"tool_call,omitempty"`
	ToolResult    *ToolResult            `protobuf:"bytes,5,opt,name=tool_result,json=toolResult,proto3,oneof" json:"tool_result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Content) ProtoMessage() {}

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

func (x *Content) GetText() string {
	if x != nil && x.Text != nil {
		return *x.Text
	}
	return ""
}

func (x *Content) GetFile() *File {
	if x != nil {
		return x.File
	}
	return nil
}

func (x *Content) GetToolCall() *ToolCall {
	if x != nil {
		return x.ToolCall
	}
	return nil
}

func (x *Content) GetToolResult() *ToolResult {
	if x != nil {
		return x.ToolResult
	}
	return nil
}

type File struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Content       []byte                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	ContentType   string                 `protobuf:"bytes,3,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*File) ProtoMessage() {}

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

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

func (x *File) GetContent() []byte {
	if x != nil {
		return x.Content
	}
	return nil
}

func (x *File) GetContentType() string {
	if x != nil {
		return x.ContentType
	}
	return ""
}

type Tool struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Description   string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Properties    string                 `protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Tool) ProtoMessage() {}

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

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

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

func (x *Tool) GetProperties() string {
	if x != nil {
		return x.Properties
	}
	return ""
}

type ToolCall 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"`
	Arguments     string                 `protobuf:"bytes,3,opt,name=arguments,proto3" json:"arguments,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ToolCall) ProtoMessage() {}

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

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

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

func (x *ToolCall) GetArguments() string {
	if x != nil {
		return x.Arguments
	}
	return ""
}

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

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

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

func (*ToolResult) ProtoMessage() {}

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

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

func (x *ToolResult) GetData() string {
	if x != nil {
		return x.Data
	}
	return ""
}

type Schema struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Description   string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Properties    string                 `protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Schema) ProtoMessage() {}

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

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

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

func (x *Schema) GetProperties() string {
	if x != nil {
		return x.Properties
	}
	return ""
}

type Usage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	InputTokens   int32                  `protobuf:"varint,1,opt,name=input_tokens,json=inputTokens,proto3" json:"input_tokens,omitempty"`
	OutputTokens  int32                  `protobuf:"varint,2,opt,name=output_tokens,json=outputTokens,proto3" json:"output_tokens,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Usage) ProtoMessage() {}

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

func (x *Usage) GetInputTokens() int32 {
	if x != nil {
		return x.InputTokens
	}
	return 0
}

func (x *Usage) GetOutputTokens() int32 {
	if x != nil {
		return x.OutputTokens
	}
	return 0
}

type EmbedRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Texts         []string               `protobuf:"bytes,1,rep,name=texts,proto3" json:"texts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EmbedRequest) ProtoMessage() {}

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

func (x *EmbedRequest) GetTexts() []string {
	if x != nil {
		return x.Texts
	}
	return nil
}

type Embeddings struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Model         string                 `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	Embeddings    []*Embedding           `protobuf:"bytes,3,rep,name=Embeddings,proto3" json:"Embeddings,omitempty"`
	Usage         *Usage                 `protobuf:"bytes,4,opt,name=usage,proto3,oneof" json:"usage,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Embeddings) ProtoMessage() {}

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

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

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

func (x *Embeddings) GetEmbeddings() []*Embedding {
	if x != nil {
		return x.Embeddings
	}
	return nil
}

func (x *Embeddings) GetUsage() *Usage {
	if x != nil {
		return x.Usage
	}
	return nil
}

type Embedding struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []float32              `protobuf:"fixed32,1,rep,packed,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Embedding) ProtoMessage() {}

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

func (x *Embedding) GetData() []float32 {
	if x != nil {
		return x.Data
	}
	return nil
}

var File_provider_proto protoreflect.FileDescriptor

const file_provider_proto_rawDesc = "" +
	"\n" +
	"\x0eprovider.proto\x12\bprovider\"\xb8\x03\n" +
	"\x0fCompleteRequest\x12$\n" +
	"\x05tools\x18\x01 \x03(\v2\x0e.provider.ToolR\x05tools\x12-\n" +
	"\bmessages\x18\x02 \x03(\v2\x11.provider.MessageR\bmessages\x12\x1b\n" +
	"\x06effort\x18\x03 \x01(\tH\x00R\x06effort\x88\x01\x01\x12\"\n" +
	"\n" +
	"max_tokens\x18\x04 \x01(\x05H\x01R\tmaxTokens\x88\x01\x01\x12%\n" +
	"\vtemperature\x18\x05 \x01(\x02H\x02R\vtemperature\x88\x01\x01\x12\x18\n" +
	"\x05top_k\x18\x06 \x01(\x02H\x03R\x04topK\x88\x01\x01\x12\x18\n" +
	"\x05top_p\x18\a \x01(\x02H\x04R\x04topP\x88\x01\x01\x12\x14\n" +
	"\x05stops\x18\b \x03(\tR\x05stops\x12\x1b\n" +
	"\x06format\x18\t \x01(\tH\x05R\x06format\x88\x01\x01\x12-\n" +
	"\x06schema\x18\n" +
	" \x01(\v2\x10.provider.SchemaH\x06R\x06schema\x88\x01\x01B\t\n" +
	"\a_effortB\r\n" +
	"\v_max_tokensB\x0e\n" +
	"\f_temperatureB\b\n" +
	"\x06_top_kB\b\n" +
	"\x06_top_pB\t\n" +
	"\a_formatB\t\n" +
	"\a_schema\"\x86\x02\n" +
	"\n" +
	"Completion\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05model\x18\x02 \x01(\tR\x05model\x12\x1b\n" +
	"\x06reason\x18\x04 \x01(\tH\x00R\x06reason\x88\x01\x01\x12,\n" +
	"\x05delta\x18\x05 \x01(\v2\x11.provider.MessageH\x01R\x05delta\x88\x01\x01\x120\n" +
	"\amessage\x18\x06 \x01(\v2\x11.provider.MessageH\x02R\amessage\x88\x01\x01\x12*\n" +
	"\x05usage\x18\a \x01(\v2\x0f.provider.UsageH\x03R\x05usage\x88\x01\x01B\t\n" +
	"\a_reasonB\b\n" +
	"\x06_deltaB\n" +
	"\n" +
	"\b_messageB\b\n" +
	"\x06_usage\"J\n" +
	"\aMessage\x12\x12\n" +
	"\x04role\x18\x01 \x01(\tR\x04role\x12+\n" +
	"\acontent\x18\x02 \x03(\v2\x11.provider.ContentR\acontent\"\xed\x01\n" +
	"\aContent\x12\x17\n" +
	"\x04text\x18\x01 \x01(\tH\x00R\x04text\x88\x01\x01\x12'\n" +
	"\x04file\x18\x03 \x01(\v2\x0e.provider.FileH\x01R\x04file\x88\x01\x01\x124\n" +
	"\ttool_call\x18\x04 \x01(\v2\x12.provider.ToolCallH\x02R\btoolCall\x88\x01\x01\x12:\n" +
	"\vtool_result\x18\x05 \x01(\v2\x14.provider.ToolResultH\x03R\n" +
	"toolResult\x88\x01\x01B\a\n" +
	"\x05_textB\a\n" +
	"\x05_fileB\f\n" +
	"\n" +
	"_tool_callB\x0e\n" +
	"\f_tool_result\"W\n" +
	"\x04File\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\acontent\x18\x02 \x01(\fR\acontent\x12!\n" +
	"\fcontent_type\x18\x03 \x01(\tR\vcontentType\"\\\n" +
	"\x04Tool\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1e\n" +
	"\n" +
	"properties\x18\x03 \x01(\tR\n" +
	"properties\"L\n" +
	"\bToolCall\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x1c\n" +
	"\targuments\x18\x03 \x01(\tR\targuments\"0\n" +
	"\n" +
	"ToolResult\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04data\x18\x02 \x01(\tR\x04data\"^\n" +
	"\x06Schema\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1e\n" +
	"\n" +
	"properties\x18\x03 \x01(\tR\n" +
	"properties\"O\n" +
	"\x05Usage\x12!\n" +
	"\finput_tokens\x18\x01 \x01(\x05R\vinputTokens\x12#\n" +
	"\routput_tokens\x18\x02 \x01(\x05R\foutputTokens\"$\n" +
	"\fEmbedRequest\x12\x14\n" +
	"\x05texts\x18\x01 \x03(\tR\x05texts\"\x9d\x01\n" +
	"\n" +
	"Embeddings\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05model\x18\x02 \x01(\tR\x05model\x123\n" +
	"\n" +
	"Embeddings\x18\x03 \x03(\v2\x13.provider.EmbeddingR\n" +
	"Embeddings\x12*\n" +
	"\x05usage\x18\x04 \x01(\v2\x0f.provider.UsageH\x00R\x05usage\x88\x01\x01B\b\n" +
	"\x06_usage\"\x1f\n" +
	"\tEmbedding\x12\x12\n" +
	"\x04data\x18\x01 \x03(\x02R\x04data2L\n" +
	"\tCompleter\x12?\n" +
	"\bComplete\x12\x19.provider.CompleteRequest\x1a\x14.provider.Completion\"\x000\x012C\n" +
	"\bEmbedder\x127\n" +
	"\x05Embed\x12\x16.provider.EmbedRequest\x1a\x14.provider.Embeddings\"\x00B=Z;github.com/adrianliechti/wingman/pkg/provider/custom;customb\x06proto3"

var (
	file_provider_proto_rawDescOnce sync.Once
	file_provider_proto_rawDescData []byte
)

func file_provider_proto_rawDescGZIP() []byte {
	file_provider_proto_rawDescOnce.Do(func() {
		file_provider_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_provider_proto_rawDesc), len(file_provider_proto_rawDesc)))
	})
	return file_provider_proto_rawDescData
}

var file_provider_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_provider_proto_goTypes = []any{
	(*CompleteRequest)(nil), // 0: provider.CompleteRequest
	(*Completion)(nil),      // 1: provider.Completion
	(*Message)(nil),         // 2: provider.Message
	(*Content)(nil),         // 3: provider.Content
	(*File)(nil),            // 4: provider.File
	(*Tool)(nil),            // 5: provider.Tool
	(*ToolCall)(nil),        // 6: provider.ToolCall
	(*ToolResult)(nil),      // 7: provider.ToolResult
	(*Schema)(nil),          // 8: provider.Schema
	(*Usage)(nil),           // 9: provider.Usage
	(*EmbedRequest)(nil),    // 10: provider.EmbedRequest
	(*Embeddings)(nil),      // 11: provider.Embeddings
	(*Embedding)(nil),       // 12: provider.Embedding
}
var file_provider_proto_depIdxs = []int32{
	5,  // 0: provider.CompleteRequest.tools:type_name -> provider.Tool
	2,  // 1: provider.CompleteRequest.messages:type_name -> provider.Message
	8,  // 2: provider.CompleteRequest.schema:type_name -> provider.Schema
	2,  // 3: provider.Completion.delta:type_name -> provider.Message
	2,  // 4: provider.Completion.message:type_name -> provider.Message
	9,  // 5: provider.Completion.usage:type_name -> provider.Usage
	3,  // 6: provider.Message.content:type_name -> provider.Content
	4,  // 7: provider.Content.file:type_name -> provider.File
	6,  // 8: provider.Content.tool_call:type_name -> provider.ToolCall
	7,  // 9: provider.Content.tool_result:type_name -> provider.ToolResult
	12, // 10: provider.Embeddings.Embeddings:type_name -> provider.Embedding
	9,  // 11: provider.Embeddings.usage:type_name -> provider.Usage
	0,  // 12: provider.Completer.Complete:input_type -> provider.CompleteRequest
	10, // 13: provider.Embedder.Embed:input_type -> provider.EmbedRequest
	1,  // 14: provider.Completer.Complete:output_type -> provider.Completion
	11, // 15: provider.Embedder.Embed:output_type -> provider.Embeddings
	14, // [14:16] is the sub-list for method output_type
	12, // [12:14] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_provider_proto_init() }
func file_provider_proto_init() {
	if File_provider_proto != nil {
		return
	}
	file_provider_proto_msgTypes[0].OneofWrappers = []any{}
	file_provider_proto_msgTypes[1].OneofWrappers = []any{}
	file_provider_proto_msgTypes[3].OneofWrappers = []any{}
	file_provider_proto_msgTypes[11].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_provider_proto_rawDesc), len(file_provider_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   13,
			NumExtensions: 0,
			NumServices:   2,
		},
		GoTypes:           file_provider_proto_goTypes,
		DependencyIndexes: file_provider_proto_depIdxs,
		MessageInfos:      file_provider_proto_msgTypes,
	}.Build()
	File_provider_proto = out.File
	file_provider_proto_goTypes = nil
	file_provider_proto_depIdxs = nil
}
