// Inference ingress surface -- the public RPC customers call to issue a
// prompt. The control plane picks an eligible dataplane and forwards
// the request; this proto is the customer-visible shape.
//
// Skeleton: a single unary Prompt RPC. Streaming via SSE / server
// streaming lands when the dataplane filter chain matures (milestone C).
//
// Plan reference: B4 in check-ia-and-plan-optimized-cook.md.

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

package inferencev1

import (
	_ "github.com/tetrateio/agentrouter-go/genapi/api/tars/auth/v1"
	_ "github.com/tetrateio/agentrouter-go/genapi/api/tars/cli/v1"
	_ "github.com/tetrateio/agentrouter-go/genapi/api/tars/docs/v1"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 PromptRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Customer the prompt is billed/scoped against. When empty the server
	// resolves the caller's default customer from their session identity
	// (the first customer the caller is a member of, ordered by oldest
	// membership). Supply explicitly to override the session default.
	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	// Project the prompt is logged against. When empty the server resolves
	// the caller's default project from their session identity (the first
	// project the caller is a member of, ordered by oldest membership).
	// Supply explicitly to override the session default.
	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Model selector. A bare model name (e.g. gpt-4o) is accepted when it is
	// unique across the catalog; the server resolves its provider. Use the
	// provider/model form (e.g. openai/gpt-4o) to disambiguate when the same
	// model name exists under more than one provider. Empty selects the
	// project's default model.
	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
	// The user prompt as plain text. Multi-message conversations land
	// when the proto grows a `messages` repeated field; the skeleton path
	// is a single user turn.
	Prompt string `protobuf:"bytes,4,opt,name=prompt,proto3" json:"prompt,omitempty"`
	// Optional client_keys / api_keys row id (UUID) to bind this request
	// to a specific customer-owned key for per-key ratelimit + fallback
	// accounting on the dataplane. Empty means "use the latest active
	// client key for the customer". The id flows through the minted MP
	// JWT's jti claim, which the dataplane reads in its ext-authz filter.
	KeyId string `protobuf:"bytes,5,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
	// Idempotency key for safe retry of mutating prompts.
	IdempotencyKey string `protobuf:"bytes,99,opt,name=idempotency_key,json=idempotencyKey,proto3" json:"idempotency_key,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*PromptRequest) ProtoMessage() {}

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

func (x *PromptRequest) GetCustomerId() string {
	if x != nil {
		return x.CustomerId
	}
	return ""
}

func (x *PromptRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

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

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

func (x *PromptRequest) GetIdempotencyKey() string {
	if x != nil {
		return x.IdempotencyKey
	}
	return ""
}

type PromptResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The model's reply text.
	Completion string `protobuf:"bytes,1,opt,name=completion,proto3" json:"completion,omitempty"`
	// The model that produced the reply.
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// The dataplane that served the request, for observability. Empty in
	// milestone B (no dataplane yet); populated once milestone C lands.
	DataplaneId string `protobuf:"bytes,3,opt,name=dataplane_id,json=dataplaneId,proto3" json:"dataplane_id,omitempty"`
	// Token accounting (best effort; some providers don't report).
	PromptTokens int32 `protobuf:"varint,4,opt,name=prompt_tokens,json=promptTokens,proto3" json:"prompt_tokens,omitempty"`
	// Tokens generated in the completion (output tokens), as reported by the
	// provider's usage block.
	CompletionTokens int32 `protobuf:"varint,5,opt,name=completion_tokens,json=completionTokens,proto3" json:"completion_tokens,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*PromptResponse) ProtoMessage() {}

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

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

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

func (x *PromptResponse) GetDataplaneId() string {
	if x != nil {
		return x.DataplaneId
	}
	return ""
}

func (x *PromptResponse) GetPromptTokens() int32 {
	if x != nil {
		return x.PromptTokens
	}
	return 0
}

func (x *PromptResponse) GetCompletionTokens() int32 {
	if x != nil {
		return x.CompletionTokens
	}
	return 0
}

type GetDataplaneURLRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional project override. Empty resolves to the workspace the credential
	// pins (when it carries one) or the caller's default project (the oldest
	// membership). Supply explicitly to pick a specific project when the identity
	// spans several; the chosen project is membership-checked.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Optional customer override. Empty resolves to the customer deduced from
	// the credential. Honored only for principals not already bound to a
	// customer; a cross-customer value is rejected unless the caller is a member.
	CustomerId    string `protobuf:"bytes,2,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetDataplaneURLRequest) ProtoMessage() {}

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

func (x *GetDataplaneURLRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GetDataplaneURLRequest) GetCustomerId() string {
	if x != nil {
		return x.CustomerId
	}
	return ""
}

// DataplaneURL is a resolved gateway endpoint for one workspace.
type DataplaneURL struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Resolved gateway URL (scheme + host + port).
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Customer that owns the workspace.
	CustomerId string `protobuf:"bytes,2,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	// Project the workspace belongs to (empty if the workspace has no project).
	ProjectId string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Workspace the URL routes to.
	WorkspaceId string `protobuf:"bytes,4,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	// Optional display name.
	Name          string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DataplaneURL) ProtoMessage() {}

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

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

func (x *DataplaneURL) GetCustomerId() string {
	if x != nil {
		return x.CustomerId
	}
	return ""
}

func (x *DataplaneURL) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *DataplaneURL) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

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

type GetDataplaneURLResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Dataplane     *DataplaneURL          `protobuf:"bytes,1,opt,name=dataplane,proto3" json:"dataplane,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetDataplaneURLResponse) ProtoMessage() {}

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

func (x *GetDataplaneURLResponse) GetDataplane() *DataplaneURL {
	if x != nil {
		return x.Dataplane
	}
	return nil
}

// Customer is deduced from the credential; no fields.
type ListDataplaneURLsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListDataplaneURLsRequest) ProtoMessage() {}

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

type ListDataplaneURLsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Dataplanes    []*DataplaneURL        `protobuf:"bytes,1,rep,name=dataplanes,proto3" json:"dataplanes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListDataplaneURLsResponse) ProtoMessage() {}

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

func (x *ListDataplaneURLsResponse) GetDataplanes() []*DataplaneURL {
	if x != nil {
		return x.Dataplanes
	}
	return nil
}

var File_tars_inference_v1_inference_proto protoreflect.FileDescriptor

const file_tars_inference_v1_inference_proto_rawDesc = "" +
	"\n" +
	"!tars/inference/v1/inference.proto\x12\x11tars.inference.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1ftars/auth/v1/auth_options.proto\x1a\x15tars/cli/v1/cli.proto\x1a\x17tars/docs/v1/docs.proto\"\xe9\x01\n" +
	"\rPromptRequest\x12/\n" +
	"\vcustomer_id\x18\x01 \x01(\tB\x0e\x9a\xb5\x18\n" +
	"\n" +
	"\bcustomerR\n" +
	"customerId\x12,\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tB\r\x9a\xb5\x18\t\n" +
	"\aprojectR\tprojectId\x12\x14\n" +
	"\x05model\x18\x03 \x01(\tR\x05model\x12\x1b\n" +
	"\x06prompt\x18\x04 \x01(\tB\x03\xe0A\x02R\x06prompt\x12\x15\n" +
	"\x06key_id\x18\x05 \x01(\tR\x05keyId\x12/\n" +
	"\x0fidempotency_key\x18c \x01(\tB\x06\x9a\xb5\x18\x02\x10\x01R\x0eidempotencyKey\"\xd4\x01\n" +
	"\x0ePromptResponse\x12#\n" +
	"\n" +
	"completion\x18\x01 \x01(\tB\x03\xe0A\x03R\n" +
	"completion\x12\x19\n" +
	"\x05model\x18\x02 \x01(\tB\x03\xe0A\x03R\x05model\x12&\n" +
	"\fdataplane_id\x18\x03 \x01(\tB\x03\xe0A\x03R\vdataplaneId\x12(\n" +
	"\rprompt_tokens\x18\x04 \x01(\x05B\x03\xe0A\x03R\fpromptTokens\x120\n" +
	"\x11completion_tokens\x18\x05 \x01(\x05B\x03\xe0A\x03R\x10completionTokens\"w\n" +
	"\x16GetDataplaneURLRequest\x12,\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tB\r\x9a\xb5\x18\t\n" +
	"\aprojectR\tprojectId\x12/\n" +
	"\vcustomer_id\x18\x02 \x01(\tB\x0e\x9a\xb5\x18\n" +
	"\n" +
	"\bcustomerR\n" +
	"customerId\"\xb0\x01\n" +
	"\fDataplaneURL\x12\x15\n" +
	"\x03url\x18\x01 \x01(\tB\x03\xe0A\x03R\x03url\x12$\n" +
	"\vcustomer_id\x18\x02 \x01(\tB\x03\xe0A\x03R\n" +
	"customerId\x12\"\n" +
	"\n" +
	"project_id\x18\x03 \x01(\tB\x03\xe0A\x03R\tprojectId\x12&\n" +
	"\fworkspace_id\x18\x04 \x01(\tB\x03\xe0A\x03R\vworkspaceId\x12\x17\n" +
	"\x04name\x18\x05 \x01(\tB\x03\xe0A\x03R\x04name\"]\n" +
	"\x17GetDataplaneURLResponse\x12B\n" +
	"\tdataplane\x18\x01 \x01(\v2\x1f.tars.inference.v1.DataplaneURLB\x03\xe0A\x03R\tdataplane\"\x1a\n" +
	"\x18ListDataplaneURLsRequest\"a\n" +
	"\x19ListDataplaneURLsResponse\x12D\n" +
	"\n" +
	"dataplanes\x18\x01 \x03(\v2\x1f.tars.inference.v1.DataplaneURLB\x03\xe0A\x03R\n" +
	"dataplanes2\xd2\x04\n" +
	"\x17InferenceIngressService\x12\xc0\x01\n" +
	"\x06Prompt\x12 .tars.inference.v1.PromptRequest\x1a!.tars.inference.v1.PromptResponse\"q\x8a\xb5\x18\x04\n" +
	"\x02\x03\x01\x92\xb5\x18\x10\x1a\x06prompt:\x06prompt\xa2\xb5\x18\rSend a prompt\x82\xd3\xe4\x93\x02>:\x01*\"9/v1/customers/{customer_id}/projects/{project_id}/prompts\x12\xb3\x01\n" +
	"\x0fGetDataplaneURL\x12).tars.inference.v1.GetDataplaneURLRequest\x1a*.tars.inference.v1.GetDataplaneURLResponse\"I\x8a\xb5\x18\x04\n" +
	"\x02\x03\x01\x92\xb5\x18\x0f:\rdataplane-url\xa2\xb5\x18\x11Get dataplane URL\x82\xd3\xe4\x93\x02\x13\x12\x11/v1/dataplane-url\x12\xbd\x01\n" +
	"\x11ListDataplaneURLs\x12+.tars.inference.v1.ListDataplaneURLsRequest\x1a,.tars.inference.v1.ListDataplaneURLsResponse\"M\x8a\xb5\x18\x04\n" +
	"\x02\x03\x01\x92\xb5\x18\x10:\x0edataplane-urls\xa2\xb5\x18\x13List dataplane URLs\x82\xd3\xe4\x93\x02\x14\x12\x12/v1/dataplane-urlsB\xcc\x01\n" +
	"\x15com.tars.inference.v1B\x0eInferenceProtoP\x01Z=github.com/tetrateio/fraser/api/tars/inference/v1;inferencev1\xa2\x02\x03TIX\xaa\x02\x11Tars.Inference.V1\xca\x02\x11Tars\\Inference\\V1\xe2\x02\x1dTars\\Inference\\V1\\GPBMetadata\xea\x02\x13Tars::Inference::V1b\x06proto3"

var (
	file_tars_inference_v1_inference_proto_rawDescOnce sync.Once
	file_tars_inference_v1_inference_proto_rawDescData []byte
)

func file_tars_inference_v1_inference_proto_rawDescGZIP() []byte {
	file_tars_inference_v1_inference_proto_rawDescOnce.Do(func() {
		file_tars_inference_v1_inference_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tars_inference_v1_inference_proto_rawDesc), len(file_tars_inference_v1_inference_proto_rawDesc)))
	})
	return file_tars_inference_v1_inference_proto_rawDescData
}

var file_tars_inference_v1_inference_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_tars_inference_v1_inference_proto_goTypes = []any{
	(*PromptRequest)(nil),             // 0: tars.inference.v1.PromptRequest
	(*PromptResponse)(nil),            // 1: tars.inference.v1.PromptResponse
	(*GetDataplaneURLRequest)(nil),    // 2: tars.inference.v1.GetDataplaneURLRequest
	(*DataplaneURL)(nil),              // 3: tars.inference.v1.DataplaneURL
	(*GetDataplaneURLResponse)(nil),   // 4: tars.inference.v1.GetDataplaneURLResponse
	(*ListDataplaneURLsRequest)(nil),  // 5: tars.inference.v1.ListDataplaneURLsRequest
	(*ListDataplaneURLsResponse)(nil), // 6: tars.inference.v1.ListDataplaneURLsResponse
}
var file_tars_inference_v1_inference_proto_depIdxs = []int32{
	3, // 0: tars.inference.v1.GetDataplaneURLResponse.dataplane:type_name -> tars.inference.v1.DataplaneURL
	3, // 1: tars.inference.v1.ListDataplaneURLsResponse.dataplanes:type_name -> tars.inference.v1.DataplaneURL
	0, // 2: tars.inference.v1.InferenceIngressService.Prompt:input_type -> tars.inference.v1.PromptRequest
	2, // 3: tars.inference.v1.InferenceIngressService.GetDataplaneURL:input_type -> tars.inference.v1.GetDataplaneURLRequest
	5, // 4: tars.inference.v1.InferenceIngressService.ListDataplaneURLs:input_type -> tars.inference.v1.ListDataplaneURLsRequest
	1, // 5: tars.inference.v1.InferenceIngressService.Prompt:output_type -> tars.inference.v1.PromptResponse
	4, // 6: tars.inference.v1.InferenceIngressService.GetDataplaneURL:output_type -> tars.inference.v1.GetDataplaneURLResponse
	6, // 7: tars.inference.v1.InferenceIngressService.ListDataplaneURLs:output_type -> tars.inference.v1.ListDataplaneURLsResponse
	5, // [5:8] is the sub-list for method output_type
	2, // [2:5] is the sub-list for method input_type
	2, // [2:2] is the sub-list for extension type_name
	2, // [2:2] is the sub-list for extension extendee
	0, // [0:2] is the sub-list for field type_name
}

func init() { file_tars_inference_v1_inference_proto_init() }
func file_tars_inference_v1_inference_proto_init() {
	if File_tars_inference_v1_inference_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_tars_inference_v1_inference_proto_rawDesc), len(file_tars_inference_v1_inference_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   7,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_tars_inference_v1_inference_proto_goTypes,
		DependencyIndexes: file_tars_inference_v1_inference_proto_depIdxs,
		MessageInfos:      file_tars_inference_v1_inference_proto_msgTypes,
	}.Build()
	File_tars_inference_v1_inference_proto = out.File
	file_tars_inference_v1_inference_proto_goTypes = nil
	file_tars_inference_v1_inference_proto_depIdxs = nil
}
