text:
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: core.proto

package pipeline

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type ProgressState int32

const (
	// Default value. Not to be used.
	ProgressState_PROGRESS_UNKNOWN ProgressState = 0
	// The process has been scheduled but is pending execution.
	ProgressState_PENDING ProgressState = 1
	// The process is currently running. There can be multiple messages with this state
	// (while the process is running).
	ProgressState_RUNNING ProgressState = 2
	// The process completed and final results are available.
	ProgressState_COMPLETED ProgressState = 3
	// The process failed.
	ProgressState_ERRORED ProgressState = 4
)

var ProgressState_name = map[int32]string{
	0: "PROGRESS_UNKNOWN",
	1: "PENDING",
	2: "RUNNING",
	3: "COMPLETED",
	4: "ERRORED",
}

var ProgressState_value = map[string]int32{
	"PROGRESS_UNKNOWN": 0,
	"PENDING":          1,
	"RUNNING":          2,
	"COMPLETED":        3,
	"ERRORED":          4,
}

func (x ProgressState) String() string {
	return proto.EnumName(ProgressState_name, int32(x))
}

func (ProgressState) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{0}
}

type ScoringConfiguration struct {
	// The evaluation method to use. Standard values are required to
	// be supported and are:
	// * "HOLDOUT"
	// * "K_FOLD"
	//
	// In addition, "RANKING" evaluation method should be also supported.
	// "RANKING" evaluation method can be used for a rank of a solution
	// among all found solutions of a given "SearchSolutions" call.
	// Invalid to use before the "SearchSolutions" call, of which the
	// solution is part of, has successfully completed or has been stopped.
	// Only possible with "RANK" performance metric.
	//
	// The following additional evaluation methods are defined to allow
	// expressing internal evaluation methods used by TA2 during solution
	// search. If any method being used is missing, feel free to request
	// it to be added.
	// * "LEAVE_ONE_OUT"
	// * "PREDICTION"
	//   Instead of really scoring, a TA2 might predict the score only.
	// * "TRAINING_DATA"
	//   Training data is reused to test as well.
	//
	// No standard value will ever start with "_", so if you worry about
	// potential conflicts with future standard values, consider starting
	// your non-standard values with "_'.
	Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
	// Number of folds made, if applicable.
	Folds int32 `protobuf:"varint,2,opt,name=folds,proto3" json:"folds,omitempty"`
	// If applicable, the ratio between the train and test data and represents the proportion of
	// the input data to include in the train split. The rest is included in the test split.
	// E.g., "train_test_ratio == 0.8" would mean that 80% of the whole data becomes the train split
	// and 20% of the whole data becomes the test split.
	TrainTestRatio float64 `protobuf:"fixed64,3,opt,name=train_test_ratio,json=trainTestRatio,proto3" json:"train_test_ratio,omitempty"`
	// Shuffle data? Set to true if employed.
	Shuffle bool `protobuf:"varint,4,opt,name=shuffle,proto3" json:"shuffle,omitempty"`
	// Value for random seed to use for shuffling. Note, not setting this value
	// means always using seed of 0.
	RandomSeed int32 `protobuf:"varint,5,opt,name=random_seed,json=randomSeed,proto3" json:"random_seed,omitempty"`
	// Do stratified k-fold? Set to true if employed.
	Stratified           bool     `protobuf:"varint,6,opt,name=stratified,proto3" json:"stratified,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ScoringConfiguration) Reset()         { *m = ScoringConfiguration{} }
func (m *ScoringConfiguration) String() string { return proto.CompactTextString(m) }
func (*ScoringConfiguration) ProtoMessage()    {}
func (*ScoringConfiguration) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{0}
}

func (m *ScoringConfiguration) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ScoringConfiguration.Unmarshal(m, b)
}
func (m *ScoringConfiguration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ScoringConfiguration.Marshal(b, m, deterministic)
}
func (m *ScoringConfiguration) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ScoringConfiguration.Merge(m, src)
}
func (m *ScoringConfiguration) XXX_Size() int {
	return xxx_messageInfo_ScoringConfiguration.Size(m)
}
func (m *ScoringConfiguration) XXX_DiscardUnknown() {
	xxx_messageInfo_ScoringConfiguration.DiscardUnknown(m)
}

var xxx_messageInfo_ScoringConfiguration proto.InternalMessageInfo

func (m *ScoringConfiguration) GetMethod() string {
	if m != nil {
		return m.Method
	}
	return ""
}

func (m *ScoringConfiguration) GetFolds() int32 {
	if m != nil {
		return m.Folds
	}
	return 0
}

func (m *ScoringConfiguration) GetTrainTestRatio() float64 {
	if m != nil {
		return m.TrainTestRatio
	}
	return 0
}

func (m *ScoringConfiguration) GetShuffle() bool {
	if m != nil {
		return m.Shuffle
	}
	return false
}

func (m *ScoringConfiguration) GetRandomSeed() int32 {
	if m != nil {
		return m.RandomSeed
	}
	return 0
}

func (m *ScoringConfiguration) GetStratified() bool {
	if m != nil {
		return m.Stratified
	}
	return false
}

type Score struct {
	Metric *ProblemPerformanceMetric `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"`
	// When doing multiple folds, which fold is this score associated with, 0-based.
	// We do not aggregate scores across folds on the TA2 side, but expose everything to the TA3.
	// If scoring was not done as part of the cross-validation, then it can be returned
	// as the first and only fold, in which case the value of this field should be 0.
	Fold  int32  `protobuf:"varint,2,opt,name=fold,proto3" json:"fold,omitempty"`
	Value *Value `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	// Random seed used to run a pipeline for this score to be obtained.
	// Note, not setting this value means always using seed of 0.
	RandomSeed int32 `protobuf:"varint,5,opt,name=random_seed,json=randomSeed,proto3" json:"random_seed,omitempty"`
	// The normalized value of the scoring metric. Value is from the [0, 1] interval, where higher is better. Optional.
	Normalized           *Value   `protobuf:"bytes,6,opt,name=normalized,proto3" json:"normalized,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Score) Reset()         { *m = Score{} }
func (m *Score) String() string { return proto.CompactTextString(m) }
func (*Score) ProtoMessage()    {}
func (*Score) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{1}
}

func (m *Score) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Score.Unmarshal(m, b)
}
func (m *Score) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Score.Marshal(b, m, deterministic)
}
func (m *Score) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Score.Merge(m, src)
}
func (m *Score) XXX_Size() int {
	return xxx_messageInfo_Score.Size(m)
}
func (m *Score) XXX_DiscardUnknown() {
	xxx_messageInfo_Score.DiscardUnknown(m)
}

var xxx_messageInfo_Score proto.InternalMessageInfo

func (m *Score) GetMetric() *ProblemPerformanceMetric {
	if m != nil {
		return m.Metric
	}
	return nil
}

func (m *Score) GetFold() int32 {
	if m != nil {
		return m.Fold
	}
	return 0
}

func (m *Score) GetValue() *Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *Score) GetRandomSeed() int32 {
	if m != nil {
		return m.RandomSeed
	}
	return 0
}

func (m *Score) GetNormalized() *Value {
	if m != nil {
		return m.Normalized
	}
	return nil
}

// After "state" becomes "COMPLETED" or "ERRORED" stream closes.
// The granularity of progress updates is not specified by the API at this time. Some systems
// might be updating frequently and provide many updates of the progress of a whole process
// as well as individual pipeline steps. Some systems might just report these high-level
// progress states once, not doing any progress updates in the meantime.  The "status" field
// should contain information to supplement the progress state, such as specific failure details
// in the case of an "ERRORED" state being returned.
type Progress struct {
	State  ProgressState `protobuf:"varint,1,opt,name=state,proto3,enum=ProgressState" json:"state,omitempty"`
	Status string        `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	// Set only after state becomes "RUNNING". If it never really properly runs, but errors
	// when attempted to run, then it should be the timestamp of the error.
	Start *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"`
	// Set only when state is "COMPLETED" or "ERRORED".
	End                  *timestamp.Timestamp `protobuf:"bytes,4,opt,name=end,proto3" json:"end,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *Progress) Reset()         { *m = Progress{} }
func (m *Progress) String() string { return proto.CompactTextString(m) }
func (*Progress) ProtoMessage()    {}
func (*Progress) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{2}
}

func (m *Progress) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Progress.Unmarshal(m, b)
}
func (m *Progress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Progress.Marshal(b, m, deterministic)
}
func (m *Progress) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Progress.Merge(m, src)
}
func (m *Progress) XXX_Size() int {
	return xxx_messageInfo_Progress.Size(m)
}
func (m *Progress) XXX_DiscardUnknown() {
	xxx_messageInfo_Progress.DiscardUnknown(m)
}

var xxx_messageInfo_Progress proto.InternalMessageInfo

func (m *Progress) GetState() ProgressState {
	if m != nil {
		return m.State
	}
	return ProgressState_PROGRESS_UNKNOWN
}

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

func (m *Progress) GetStart() *timestamp.Timestamp {
	if m != nil {
		return m.Start
	}
	return nil
}

func (m *Progress) GetEnd() *timestamp.Timestamp {
	if m != nil {
		return m.End
	}
	return nil
}

// Starts a new solution search. Found solutions have not necessary been fitted on the provided
// inputs. Problem description and inputs are used only to help guide the search process.
// Consider any found solutions to be just a static description of solutions at this stage.
// Multiple parallel solution searches can happen at the same time.
type SearchSolutionsRequest struct {
	// Some string identifying the name and version of the TA3 system.
	UserAgent string `protobuf:"bytes,1,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// Shall be set to "protocol_version" above.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Desired upper limit of time for solution search, expressed in minutes.
	// Default value of 0 (and any negative number) signifies no time bound.
	// See also time_bound_run.
	TimeBoundSearch float64 `protobuf:"fixed64,3,opt,name=time_bound_search,json=timeBoundSearch,proto3" json:"time_bound_search,omitempty"`
	// Value stating the priority of the search. If multiple searches are queued then highest
	// priority (largest number) should be started next by TA2. Primarily used to sort any
	// queue, but no further guarantee that TA2 can give more resources to high priority
	// searches. If unspecified, by default search will have priority 0. Negative numbers have
	// still lower priority.
	Priority float64 `protobuf:"fixed64,4,opt,name=priority,proto3" json:"priority,omitempty"`
	// Which value types can a TA2 system use to communicate values to a TA3 system?
	// The order is important as a TA2 system will try value types in order until one works out,
	// or an error will be returned instead of the value.
	AllowedValueTypes []string `protobuf:"bytes,5,rep,name=allowed_value_types,json=allowedValueTypes,proto3" json:"allowed_value_types,omitempty"`
	// Problem description to use for the solution search. Problem description is optional
	// with fully specified pipelines which TA3 provides. If still provided, TA2 should use
	// it to set semantic types on target columns and any other use of a problem description
	// for the needs of running a pipeline.
	Problem *ProblemDescription `protobuf:"bytes,6,opt,name=problem,proto3" json:"problem,omitempty"`
	// A pipeline template to use for search or to execute. If template is omitted, then a
	// regular solution search is done. If template consists only of one placeholder step,
	// then a regular solution search is done to replace that step. If there is no placeholder
	// step, but template describes a full pipeline with free hyper-parameters, then this
	// call becomes a hyper-parameter tuning call over free hyper-parameters and found solutions
	// share the same pipeline, but different hyper-parameter configurations (unless
	// "use_default_values_for_free_hyperparams" is set to true). If there is no
	// placeholder step and all hyper-parameters are fixed as part of the pipeline, then this
	// call only checks the given template and returns the solution with same pipeline back, to
	// be executed. This allows fixed computations to be done on data, for example, pipeline can
	// consist of only one primitive with fixed hyper-parameters to execute that one primitive.
	// Moreover, such fully specified pipelines with fixed hyper-parametres can have any
	// inputs and any outputs. Otherwise pipelines have to be from a Dataset container value
	// to predictions Pandas dataframe.
	// While there are all these options possible, only a subset has to be supported by all
	// systems:
	//  - Omitted templates,
	//  - Partial pipelines with one placeholder step, at the last step in the pipeline template,
	//  - Fully specified pipelines without free hyper-parameters, or with free hyper-parameters
	//    and "use_default_values_for_free_hyperparams" set to true.
	// See the Pipeline section of the README for more details.
	Template *PipelineDescription `protobuf:"bytes,7,opt,name=template,proto3" json:"template,omitempty"`
	// Pipeline inputs used during solution search. They have to point to Dataset container
	// values. Order matters as each input is mapped to a template's input in order. Optional
	// for templates without a placeholder and with all hyper-parameters fixed.
	Inputs []*Value `protobuf:"bytes,8,rep,name=inputs,proto3" json:"inputs,omitempty"`
	// Desire upper limit of time for one pass of the pipeline run expressed in minutes.
	// Expressed at time of search, TA2's should limit the search to solutions
	// that would not take longer than this for one pass of the pipeline run.
	// Default value of 0 (and any negative number) signifies no time bound.
	// This can also functionally be used as the time bound for scoring also.
	TimeBoundRun float64 `protobuf:"fixed64,9,opt,name=time_bound_run,json=timeBoundRun,proto3" json:"time_bound_run,omitempty"`
	// Suggested maximum number of solutions to rank. Default is 0. If it is 0, it means
	// no ranking of found solutions is done and no limit on number of found solutions is set.
	// TA2 can still provide "RANK" score as part of "scores" field if ranking approach
	// TA2 uses still allows to stream found solutions as they are found.
	// If value of this field is not 0, the behavior of this call changes:
	//  - "time_bound_search" becomes a time bound for both search and ranking.
	//    TA2 decides how to divide the time between searching and ranking.
	//  - TA2 is required to provide "RANK" score as part of "scores" field in
	//    messages "GetSearchSolutionsResultsResponse".
	//  - TA2 can make all found solutions available only at the end of the call.
	//    If ranking approach used by TA2 allows for that, TA2 can still stream
	//    found solutions (and their ranks) during whole call.
	//  - Calling "StopSearchSolutions" stops both search and ranking processes,
	//    but TA2 can quickly return ranked solutions up to that point, if possible,
	//    before closing the "GetSearchSolutionsResults" stream. Similarly
	//    for "EndSearchSolutions", but that is less useful.
	//  - TA2 can still return more solutions than the limit. The limit only signals
	//    that TA2 does not have to rank and return more solutions than the limit,
	//    which is useful when ranking is an expensive operation.
	RankSolutionsLimit int32 `protobuf:"varint,10,opt,name=rank_solutions_limit,json=rankSolutionsLimit,proto3" json:"rank_solutions_limit,omitempty"`
	// Random seed used to initiate search.  Note, not setting this value means
	// always using seed of 0.
	RandomSeed int32 `protobuf:"varint,11,opt,name=random_seed,json=randomSeed,proto3" json:"random_seed,omitempty"`
	// If set to true, during search TA2 is suggested to not do hyper-parameter tuning
	// of free hyper-parameters but use their default values. It might be that TA2
	// operates searches for both the pipeline and hyper-parameter values at the same
	// time and flag cannot be easily respected, in that case this flag can be ignored by TA2.
	// When template is provided and contains free hyper-parameters but no placeholders,
	// then setting this flag to true means that for all free hyper-parameters in the
	// template default values should be used. This allows TA3 to not have to fix
	// values for all free hyper-parameters in the template itself, to obtain a
	// fully specified pipelines without free hyper-parameters.
	// Generally applies only to tuning hyper-parameters.
	UseDefaultValuesForFreeHyperparams bool `protobuf:"varint,12,opt,name=use_default_values_for_free_hyperparams,json=useDefaultValuesForFreeHyperparams,proto3" json:"use_default_values_for_free_hyperparams,omitempty"`
	// Suggested TA2 search features to use, from ones supported by TA2 as
	// provided in "supported_search_features" of the "HelloResponse".
	// TA2 can ignore any suggestion. When not provided or when ignored, TA2
	// can use any search features, or even search features not
	// listed in "supported_search_feature".
	SearchFeatures       []string `protobuf:"bytes,13,rep,name=search_features,json=searchFeatures,proto3" json:"search_features,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SearchSolutionsRequest) Reset()         { *m = SearchSolutionsRequest{} }
func (m *SearchSolutionsRequest) String() string { return proto.CompactTextString(m) }
func (*SearchSolutionsRequest) ProtoMessage()    {}
func (*SearchSolutionsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{3}
}

func (m *SearchSolutionsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SearchSolutionsRequest.Unmarshal(m, b)
}
func (m *SearchSolutionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SearchSolutionsRequest.Marshal(b, m, deterministic)
}
func (m *SearchSolutionsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SearchSolutionsRequest.Merge(m, src)
}
func (m *SearchSolutionsRequest) XXX_Size() int {
	return xxx_messageInfo_SearchSolutionsRequest.Size(m)
}
func (m *SearchSolutionsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SearchSolutionsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SearchSolutionsRequest proto.InternalMessageInfo

func (m *SearchSolutionsRequest) GetUserAgent() string {
	if m != nil {
		return m.UserAgent
	}
	return ""
}

func (m *SearchSolutionsRequest) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *SearchSolutionsRequest) GetTimeBoundSearch() float64 {
	if m != nil {
		return m.TimeBoundSearch
	}
	return 0
}

func (m *SearchSolutionsRequest) GetPriority() float64 {
	if m != nil {
		return m.Priority
	}
	return 0
}

func (m *SearchSolutionsRequest) GetAllowedValueTypes() []string {
	if m != nil {
		return m.AllowedValueTypes
	}
	return nil
}

func (m *SearchSolutionsRequest) GetProblem() *ProblemDescription {
	if m != nil {
		return m.Problem
	}
	return nil
}

func (m *SearchSolutionsRequest) GetTemplate() *PipelineDescription {
	if m != nil {
		return m.Template
	}
	return nil
}

func (m *SearchSolutionsRequest) GetInputs() []*Value {
	if m != nil {
		return m.Inputs
	}
	return nil
}

func (m *SearchSolutionsRequest) GetTimeBoundRun() float64 {
	if m != nil {
		return m.TimeBoundRun
	}
	return 0
}

func (m *SearchSolutionsRequest) GetRankSolutionsLimit() int32 {
	if m != nil {
		return m.RankSolutionsLimit
	}
	return 0
}

func (m *SearchSolutionsRequest) GetRandomSeed() int32 {
	if m != nil {
		return m.RandomSeed
	}
	return 0
}

func (m *SearchSolutionsRequest) GetUseDefaultValuesForFreeHyperparams() bool {
	if m != nil {
		return m.UseDefaultValuesForFreeHyperparams
	}
	return false
}

func (m *SearchSolutionsRequest) GetSearchFeatures() []string {
	if m != nil {
		return m.SearchFeatures
	}
	return nil
}

// Call returns immediately with the ID. Use "GetFoundSolutions" call to get results.
type SearchSolutionsResponse struct {
	// An ID identifying this solution search. This string should be at least 22 characters
	// long to ensure enough entropy to not be guessable.
	SearchId             string   `protobuf:"bytes,1,opt,name=search_id,json=searchId,proto3" json:"search_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SearchSolutionsResponse) Reset()         { *m = SearchSolutionsResponse{} }
func (m *SearchSolutionsResponse) String() string { return proto.CompactTextString(m) }
func (*SearchSolutionsResponse) ProtoMessage()    {}
func (*SearchSolutionsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{4}
}

func (m *SearchSolutionsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SearchSolutionsResponse.Unmarshal(m, b)
}
func (m *SearchSolutionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SearchSolutionsResponse.Marshal(b, m, deterministic)
}
func (m *SearchSolutionsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SearchSolutionsResponse.Merge(m, src)
}
func (m *SearchSolutionsResponse) XXX_Size() int {
	return xxx_messageInfo_SearchSolutionsResponse.Size(m)
}
func (m *SearchSolutionsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SearchSolutionsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SearchSolutionsResponse proto.InternalMessageInfo

func (m *SearchSolutionsResponse) GetSearchId() string {
	if m != nil {
		return m.SearchId
	}
	return ""
}

// Ends the search and releases all resources associated with the solution search.
// If the call is made in parallel with a running search and results are being streamed,
// the search is stopped and the "GetSearchSolutionsResults" stream is closed by TA2
// (as happens when the search is concluded on its own, or when a search is stopped
// by "StopSearchSolutions"). Found solution IDs during the search are no longer valid
// after this call.
type EndSearchSolutionsRequest struct {
	SearchId             string   `protobuf:"bytes,1,opt,name=search_id,json=searchId,proto3" json:"search_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EndSearchSolutionsRequest) Reset()         { *m = EndSearchSolutionsRequest{} }
func (m *EndSearchSolutionsRequest) String() string { return proto.CompactTextString(m) }
func (*EndSearchSolutionsRequest) ProtoMessage()    {}
func (*EndSearchSolutionsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{5}
}

func (m *EndSearchSolutionsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EndSearchSolutionsRequest.Unmarshal(m, b)
}
func (m *EndSearchSolutionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EndSearchSolutionsRequest.Marshal(b, m, deterministic)
}
func (m *EndSearchSolutionsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EndSearchSolutionsRequest.Merge(m, src)
}
func (m *EndSearchSolutionsRequest) XXX_Size() int {
	return xxx_messageInfo_EndSearchSolutionsRequest.Size(m)
}
func (m *EndSearchSolutionsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_EndSearchSolutionsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_EndSearchSolutionsRequest proto.InternalMessageInfo

func (m *EndSearchSolutionsRequest) GetSearchId() string {
	if m != nil {
		return m.SearchId
	}
	return ""
}

type EndSearchSolutionsResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EndSearchSolutionsResponse) Reset()         { *m = EndSearchSolutionsResponse{} }
func (m *EndSearchSolutionsResponse) String() string { return proto.CompactTextString(m) }
func (*EndSearchSolutionsResponse) ProtoMessage()    {}
func (*EndSearchSolutionsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{6}
}

func (m *EndSearchSolutionsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EndSearchSolutionsResponse.Unmarshal(m, b)
}
func (m *EndSearchSolutionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EndSearchSolutionsResponse.Marshal(b, m, deterministic)
}
func (m *EndSearchSolutionsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EndSearchSolutionsResponse.Merge(m, src)
}
func (m *EndSearchSolutionsResponse) XXX_Size() int {
	return xxx_messageInfo_EndSearchSolutionsResponse.Size(m)
}
func (m *EndSearchSolutionsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_EndSearchSolutionsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_EndSearchSolutionsResponse proto.InternalMessageInfo

// Stops the search but leaves all currently found solutions available.
// If the call is made in parallel with a running search and results are being streamed,
// the "GetSearchSolutionsResults" stream is closed by the TA2 (as happens when the search
// is concluded on its own). Search cannot be re-started after it has been stopped.
type StopSearchSolutionsRequest struct {
	SearchId             string   `protobuf:"bytes,1,opt,name=search_id,json=searchId,proto3" json:"search_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StopSearchSolutionsRequest) Reset()         { *m = StopSearchSolutionsRequest{} }
func (m *StopSearchSolutionsRequest) String() string { return proto.CompactTextString(m) }
func (*StopSearchSolutionsRequest) ProtoMessage()    {}
func (*StopSearchSolutionsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{7}
}

func (m *StopSearchSolutionsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StopSearchSolutionsRequest.Unmarshal(m, b)
}
func (m *StopSearchSolutionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StopSearchSolutionsRequest.Marshal(b, m, deterministic)
}
func (m *StopSearchSolutionsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StopSearchSolutionsRequest.Merge(m, src)
}
func (m *StopSearchSolutionsRequest) XXX_Size() int {
	return xxx_messageInfo_StopSearchSolutionsRequest.Size(m)
}
func (m *StopSearchSolutionsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_StopSearchSolutionsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_StopSearchSolutionsRequest proto.InternalMessageInfo

func (m *StopSearchSolutionsRequest) GetSearchId() string {
	if m != nil {
		return m.SearchId
	}
	return ""
}

type StopSearchSolutionsResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StopSearchSolutionsResponse) Reset()         { *m = StopSearchSolutionsResponse{} }
func (m *StopSearchSolutionsResponse) String() string { return proto.CompactTextString(m) }
func (*StopSearchSolutionsResponse) ProtoMessage()    {}
func (*StopSearchSolutionsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{8}
}

func (m *StopSearchSolutionsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StopSearchSolutionsResponse.Unmarshal(m, b)
}
func (m *StopSearchSolutionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StopSearchSolutionsResponse.Marshal(b, m, deterministic)
}
func (m *StopSearchSolutionsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StopSearchSolutionsResponse.Merge(m, src)
}
func (m *StopSearchSolutionsResponse) XXX_Size() int {
	return xxx_messageInfo_StopSearchSolutionsResponse.Size(m)
}
func (m *StopSearchSolutionsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_StopSearchSolutionsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_StopSearchSolutionsResponse proto.InternalMessageInfo

// Description of a TA2 score done during solution search. Because there is a wide range of
// potential approaches a TA2 can use to score candidate solutions this might not capture what
// your TA2 is doing. Feel free to request additions to be able to describe your approach.
type SolutionSearchScore struct {
	ScoringConfiguration *ScoringConfiguration `protobuf:"bytes,1,opt,name=scoring_configuration,json=scoringConfiguration,proto3" json:"scoring_configuration,omitempty"`
	Scores               []*Score              `protobuf:"bytes,2,rep,name=scores,proto3" json:"scores,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *SolutionSearchScore) Reset()         { *m = SolutionSearchScore{} }
func (m *SolutionSearchScore) String() string { return proto.CompactTextString(m) }
func (*SolutionSearchScore) ProtoMessage()    {}
func (*SolutionSearchScore) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{9}
}

func (m *SolutionSearchScore) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SolutionSearchScore.Unmarshal(m, b)
}
func (m *SolutionSearchScore) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SolutionSearchScore.Marshal(b, m, deterministic)
}
func (m *SolutionSearchScore) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SolutionSearchScore.Merge(m, src)
}
func (m *SolutionSearchScore) XXX_Size() int {
	return xxx_messageInfo_SolutionSearchScore.Size(m)
}
func (m *SolutionSearchScore) XXX_DiscardUnknown() {
	xxx_messageInfo_SolutionSearchScore.DiscardUnknown(m)
}

var xxx_messageInfo_SolutionSearchScore proto.InternalMessageInfo

func (m *SolutionSearchScore) GetScoringConfiguration() *ScoringConfiguration {
	if m != nil {
		return m.ScoringConfiguration
	}
	return nil
}

func (m *SolutionSearchScore) GetScores() []*Score {
	if m != nil {
		return m.Scores
	}
	return nil
}

// Get all solutions presently identified by the search and start receiving any
// further solutions also found as well.
type GetSearchSolutionsResultsRequest struct {
	SearchId             string   `protobuf:"bytes,1,opt,name=search_id,json=searchId,proto3" json:"search_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetSearchSolutionsResultsRequest) Reset()         { *m = GetSearchSolutionsResultsRequest{} }
func (m *GetSearchSolutionsResultsRequest) String() string { return proto.CompactTextString(m) }
func (*GetSearchSolutionsResultsRequest) ProtoMessage()    {}
func (*GetSearchSolutionsResultsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{10}
}

func (m *GetSearchSolutionsResultsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetSearchSolutionsResultsRequest.Unmarshal(m, b)
}
func (m *GetSearchSolutionsResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetSearchSolutionsResultsRequest.Marshal(b, m, deterministic)
}
func (m *GetSearchSolutionsResultsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetSearchSolutionsResultsRequest.Merge(m, src)
}
func (m *GetSearchSolutionsResultsRequest) XXX_Size() int {
	return xxx_messageInfo_GetSearchSolutionsResultsRequest.Size(m)
}
func (m *GetSearchSolutionsResultsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetSearchSolutionsResultsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetSearchSolutionsResultsRequest proto.InternalMessageInfo

func (m *GetSearchSolutionsResultsRequest) GetSearchId() string {
	if m != nil {
		return m.SearchId
	}
	return ""
}

type GetSearchSolutionsResultsResponse struct {
	// Overall process progress, not progress per solution. While solutions are being found and
	// returned, or scores computed and updated, progress state should be kept at "RUNNING".
	Progress *Progress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"`
	// A measure of progress during search. It can be any number of internal steps or
	// actions a TA2 is doing during search. It can be even number of how many candidate
	// solutions were already examined. It does not even have to be an integer.
	// How regularly a change to this number is reported to TA3 is left to TA2's discretion,
	// but a rule of thumb is at least once a minute if the number changes.
	DoneTicks float64 `protobuf:"fixed64,2,opt,name=done_ticks,json=doneTicks,proto3" json:"done_ticks,omitempty"`
	// If TA2 knows how many internal steps or actions are there, it can set this field.
	// This can also be updated through time if more (or even less) internal steps or
	// actions are determined to be necessary. If this value is non-zero, then it should
	// always hold that "done_ticks" <= "all_ticks".
	AllTicks   float64 `protobuf:"fixed64,3,opt,name=all_ticks,json=allTicks,proto3" json:"all_ticks,omitempty"`
	SolutionId string  `protobuf:"bytes,4,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
	// Internal score for this solution between 0.0 and 1.0 where 1.0 is the highest score.
	// There is no other meaning to this score and it does not necessary depend on scores
	// listed in the problem description. Optional.
	// Because this field is optional, if omitted the default value will be 0. But 0 is a
	// valid value for this field. Because of that you should never omit the field.
	// If you do not have internal score to provide, use NaN for the value of this field
	// to signal that. When solution cannot be scored (i.e., the fully specified pipeline
	// used as a template is not a standard pipeline) internal score does not have to be
	// provided.
	InternalScore float64 `protobuf:"fixed64,5,opt,name=internal_score,json=internalScore,proto3" json:"internal_score,omitempty"`
	// TA2 might be able to provide more meaningful scores as well, depending on its
	// approach to solution search. Moreover, even the same TA2 might not use the same scoring
	// approach for all of its solutions. Optional. When solution cannot be scored (i.e., the
	// fully specified pipeline used as a template is not a standard pipeline) score does
	// not have to be provided.
	Scores               []*SolutionSearchScore `protobuf:"bytes,6,rep,name=scores,proto3" json:"scores,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *GetSearchSolutionsResultsResponse) Reset()         { *m = GetSearchSolutionsResultsResponse{} }
func (m *GetSearchSolutionsResultsResponse) String() string { return proto.CompactTextString(m) }
func (*GetSearchSolutionsResultsResponse) ProtoMessage()    {}
func (*GetSearchSolutionsResultsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{11}
}

func (m *GetSearchSolutionsResultsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetSearchSolutionsResultsResponse.Unmarshal(m, b)
}
func (m *GetSearchSolutionsResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetSearchSolutionsResultsResponse.Marshal(b, m, deterministic)
}
func (m *GetSearchSolutionsResultsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetSearchSolutionsResultsResponse.Merge(m, src)
}
func (m *GetSearchSolutionsResultsResponse) XXX_Size() int {
	return xxx_messageInfo_GetSearchSolutionsResultsResponse.Size(m)
}
func (m *GetSearchSolutionsResultsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetSearchSolutionsResultsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetSearchSolutionsResultsResponse proto.InternalMessageInfo

func (m *GetSearchSolutionsResultsResponse) GetProgress() *Progress {
	if m != nil {
		return m.Progress
	}
	return nil
}

func (m *GetSearchSolutionsResultsResponse) GetDoneTicks() float64 {
	if m != nil {
		return m.DoneTicks
	}
	return 0
}

func (m *GetSearchSolutionsResultsResponse) GetAllTicks() float64 {
	if m != nil {
		return m.AllTicks
	}
	return 0
}

func (m *GetSearchSolutionsResultsResponse) GetSolutionId() string {
	if m != nil {
		return m.SolutionId
	}
	return ""
}

func (m *GetSearchSolutionsResultsResponse) GetInternalScore() float64 {
	if m != nil {
		return m.InternalScore
	}
	return 0
}

func (m *GetSearchSolutionsResultsResponse) GetScores() []*SolutionSearchScore {
	if m != nil {
		return m.Scores
	}
	return nil
}

// Request a detailed description of the found solution.
type DescribeSolutionRequest struct {
	SolutionId           string   `protobuf:"bytes,1,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DescribeSolutionRequest) Reset()         { *m = DescribeSolutionRequest{} }
func (m *DescribeSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*DescribeSolutionRequest) ProtoMessage()    {}
func (*DescribeSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{12}
}

func (m *DescribeSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DescribeSolutionRequest.Unmarshal(m, b)
}
func (m *DescribeSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DescribeSolutionRequest.Marshal(b, m, deterministic)
}
func (m *DescribeSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DescribeSolutionRequest.Merge(m, src)
}
func (m *DescribeSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_DescribeSolutionRequest.Size(m)
}
func (m *DescribeSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DescribeSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DescribeSolutionRequest proto.InternalMessageInfo

func (m *DescribeSolutionRequest) GetSolutionId() string {
	if m != nil {
		return m.SolutionId
	}
	return ""
}

type PrimitiveStepDescription struct {
	// Selected value for free pipeline hyper-parameters.
	Hyperparams          map[string]*Value `protobuf:"bytes,1,rep,name=hyperparams,proto3" json:"hyperparams,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *PrimitiveStepDescription) Reset()         { *m = PrimitiveStepDescription{} }
func (m *PrimitiveStepDescription) String() string { return proto.CompactTextString(m) }
func (*PrimitiveStepDescription) ProtoMessage()    {}
func (*PrimitiveStepDescription) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{13}
}

func (m *PrimitiveStepDescription) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PrimitiveStepDescription.Unmarshal(m, b)
}
func (m *PrimitiveStepDescription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PrimitiveStepDescription.Marshal(b, m, deterministic)
}
func (m *PrimitiveStepDescription) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PrimitiveStepDescription.Merge(m, src)
}
func (m *PrimitiveStepDescription) XXX_Size() int {
	return xxx_messageInfo_PrimitiveStepDescription.Size(m)
}
func (m *PrimitiveStepDescription) XXX_DiscardUnknown() {
	xxx_messageInfo_PrimitiveStepDescription.DiscardUnknown(m)
}

var xxx_messageInfo_PrimitiveStepDescription proto.InternalMessageInfo

func (m *PrimitiveStepDescription) GetHyperparams() map[string]*Value {
	if m != nil {
		return m.Hyperparams
	}
	return nil
}

type SubpipelineStepDescription struct {
	// Each step in a sub-pipeline has a description. These are reported in the order of steps
	// in the sub-pipeline.
	Steps                []*StepDescription `protobuf:"bytes,1,rep,name=steps,proto3" json:"steps,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *SubpipelineStepDescription) Reset()         { *m = SubpipelineStepDescription{} }
func (m *SubpipelineStepDescription) String() string { return proto.CompactTextString(m) }
func (*SubpipelineStepDescription) ProtoMessage()    {}
func (*SubpipelineStepDescription) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{14}
}

func (m *SubpipelineStepDescription) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SubpipelineStepDescription.Unmarshal(m, b)
}
func (m *SubpipelineStepDescription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SubpipelineStepDescription.Marshal(b, m, deterministic)
}
func (m *SubpipelineStepDescription) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SubpipelineStepDescription.Merge(m, src)
}
func (m *SubpipelineStepDescription) XXX_Size() int {
	return xxx_messageInfo_SubpipelineStepDescription.Size(m)
}
func (m *SubpipelineStepDescription) XXX_DiscardUnknown() {
	xxx_messageInfo_SubpipelineStepDescription.DiscardUnknown(m)
}

var xxx_messageInfo_SubpipelineStepDescription proto.InternalMessageInfo

func (m *SubpipelineStepDescription) GetSteps() []*StepDescription {
	if m != nil {
		return m.Steps
	}
	return nil
}

type StepDescription struct {
	// Types that are valid to be assigned to Step:
	//	*StepDescription_Primitive
	//	*StepDescription_Pipeline
	Step                 isStepDescription_Step `protobuf_oneof:"step"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *StepDescription) Reset()         { *m = StepDescription{} }
func (m *StepDescription) String() string { return proto.CompactTextString(m) }
func (*StepDescription) ProtoMessage()    {}
func (*StepDescription) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{15}
}

func (m *StepDescription) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StepDescription.Unmarshal(m, b)
}
func (m *StepDescription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StepDescription.Marshal(b, m, deterministic)
}
func (m *StepDescription) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StepDescription.Merge(m, src)
}
func (m *StepDescription) XXX_Size() int {
	return xxx_messageInfo_StepDescription.Size(m)
}
func (m *StepDescription) XXX_DiscardUnknown() {
	xxx_messageInfo_StepDescription.DiscardUnknown(m)
}

var xxx_messageInfo_StepDescription proto.InternalMessageInfo

type isStepDescription_Step interface {
	isStepDescription_Step()
}

type StepDescription_Primitive struct {
	Primitive *PrimitiveStepDescription `protobuf:"bytes,1,opt,name=primitive,proto3,oneof"`
}

type StepDescription_Pipeline struct {
	Pipeline *SubpipelineStepDescription `protobuf:"bytes,2,opt,name=pipeline,proto3,oneof"`
}

func (*StepDescription_Primitive) isStepDescription_Step() {}

func (*StepDescription_Pipeline) isStepDescription_Step() {}

func (m *StepDescription) GetStep() isStepDescription_Step {
	if m != nil {
		return m.Step
	}
	return nil
}

func (m *StepDescription) GetPrimitive() *PrimitiveStepDescription {
	if x, ok := m.GetStep().(*StepDescription_Primitive); ok {
		return x.Primitive
	}
	return nil
}

func (m *StepDescription) GetPipeline() *SubpipelineStepDescription {
	if x, ok := m.GetStep().(*StepDescription_Pipeline); ok {
		return x.Pipeline
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*StepDescription) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*StepDescription_Primitive)(nil),
		(*StepDescription_Pipeline)(nil),
	}
}

type DescribeSolutionResponse struct {
	// A pipeline description. Nested pipelines should be fully described as well.
	Pipeline *PipelineDescription `protobuf:"bytes,1,opt,name=pipeline,proto3" json:"pipeline,omitempty"`
	// Each step in a pipeline has description. These are reported in the order of steps in
	// the pipeline.
	Steps                []*StepDescription `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *DescribeSolutionResponse) Reset()         { *m = DescribeSolutionResponse{} }
func (m *DescribeSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*DescribeSolutionResponse) ProtoMessage()    {}
func (*DescribeSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{16}
}

func (m *DescribeSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DescribeSolutionResponse.Unmarshal(m, b)
}
func (m *DescribeSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DescribeSolutionResponse.Marshal(b, m, deterministic)
}
func (m *DescribeSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DescribeSolutionResponse.Merge(m, src)
}
func (m *DescribeSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_DescribeSolutionResponse.Size(m)
}
func (m *DescribeSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DescribeSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DescribeSolutionResponse proto.InternalMessageInfo

func (m *DescribeSolutionResponse) GetPipeline() *PipelineDescription {
	if m != nil {
		return m.Pipeline
	}
	return nil
}

func (m *DescribeSolutionResponse) GetSteps() []*StepDescription {
	if m != nil {
		return m.Steps
	}
	return nil
}

type StepProgress struct {
	Progress *Progress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"`
	// If step is a sub-pipeline, then this list contains progress for each step in the
	// sub-pipeline, in order.
	// List can be incomplete while the process is in progress. Systems can provide
	// steps only at the end (when "progress" equals COMPLETED) and not during running.
	Steps                []*StepProgress `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *StepProgress) Reset()         { *m = StepProgress{} }
func (m *StepProgress) String() string { return proto.CompactTextString(m) }
func (*StepProgress) ProtoMessage()    {}
func (*StepProgress) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{17}
}

func (m *StepProgress) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StepProgress.Unmarshal(m, b)
}
func (m *StepProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StepProgress.Marshal(b, m, deterministic)
}
func (m *StepProgress) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StepProgress.Merge(m, src)
}
func (m *StepProgress) XXX_Size() int {
	return xxx_messageInfo_StepProgress.Size(m)
}
func (m *StepProgress) XXX_DiscardUnknown() {
	xxx_messageInfo_StepProgress.DiscardUnknown(m)
}

var xxx_messageInfo_StepProgress proto.InternalMessageInfo

func (m *StepProgress) GetProgress() *Progress {
	if m != nil {
		return m.Progress
	}
	return nil
}

func (m *StepProgress) GetSteps() []*StepProgress {
	if m != nil {
		return m.Steps
	}
	return nil
}

// User associated with the run of the solution.
type SolutionRunUser struct {
	// A UUID of the user. It does not have to map to any real ID, just that it is possible
	// to connect multiple solution actions by the same user together, if necessary.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Was this run because solution was chosen by this user.
	Chosen bool `protobuf:"varint,2,opt,name=chosen,proto3" json:"chosen,omitempty"`
	// Textual reason provided by the user why the run was chosen by this user.
	Reason               string   `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SolutionRunUser) Reset()         { *m = SolutionRunUser{} }
func (m *SolutionRunUser) String() string { return proto.CompactTextString(m) }
func (*SolutionRunUser) ProtoMessage()    {}
func (*SolutionRunUser) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{18}
}

func (m *SolutionRunUser) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SolutionRunUser.Unmarshal(m, b)
}
func (m *SolutionRunUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SolutionRunUser.Marshal(b, m, deterministic)
}
func (m *SolutionRunUser) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SolutionRunUser.Merge(m, src)
}
func (m *SolutionRunUser) XXX_Size() int {
	return xxx_messageInfo_SolutionRunUser.Size(m)
}
func (m *SolutionRunUser) XXX_DiscardUnknown() {
	xxx_messageInfo_SolutionRunUser.DiscardUnknown(m)
}

var xxx_messageInfo_SolutionRunUser proto.InternalMessageInfo

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

func (m *SolutionRunUser) GetChosen() bool {
	if m != nil {
		return m.Chosen
	}
	return false
}

func (m *SolutionRunUser) GetReason() string {
	if m != nil {
		return m.Reason
	}
	return ""
}

// Request solution to be scored given inputs. Inputs have to be Dataset container values
// and pipeline outputs have to be predictions. It can internally run multiple fit + produce
// runs of the pipeline on permutations of inputs data (e.g., for cross-validation). This is
// also why we cannot expose outputs here. When solution cannot be scored (i.e., the fully
// specified pipeline used as a template is not a standard pipeline), this call does
// not have to be supported.
type ScoreSolutionRequest struct {
	SolutionId         string                      `protobuf:"bytes,1,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
	Inputs             []*Value                    `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
	PerformanceMetrics []*ProblemPerformanceMetric `protobuf:"bytes,3,rep,name=performance_metrics,json=performanceMetrics,proto3" json:"performance_metrics,omitempty"`
	// Any users associated with this call itself. Optional.
	Users                []*SolutionRunUser    `protobuf:"bytes,4,rep,name=users,proto3" json:"users,omitempty"`
	Configuration        *ScoringConfiguration `protobuf:"bytes,5,opt,name=configuration,proto3" json:"configuration,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *ScoreSolutionRequest) Reset()         { *m = ScoreSolutionRequest{} }
func (m *ScoreSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*ScoreSolutionRequest) ProtoMessage()    {}
func (*ScoreSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{19}
}

func (m *ScoreSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ScoreSolutionRequest.Unmarshal(m, b)
}
func (m *ScoreSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ScoreSolutionRequest.Marshal(b, m, deterministic)
}
func (m *ScoreSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ScoreSolutionRequest.Merge(m, src)
}
func (m *ScoreSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_ScoreSolutionRequest.Size(m)
}
func (m *ScoreSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ScoreSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ScoreSolutionRequest proto.InternalMessageInfo

func (m *ScoreSolutionRequest) GetSolutionId() string {
	if m != nil {
		return m.SolutionId
	}
	return ""
}

func (m *ScoreSolutionRequest) GetInputs() []*Value {
	if m != nil {
		return m.Inputs
	}
	return nil
}

func (m *ScoreSolutionRequest) GetPerformanceMetrics() []*ProblemPerformanceMetric {
	if m != nil {
		return m.PerformanceMetrics
	}
	return nil
}

func (m *ScoreSolutionRequest) GetUsers() []*SolutionRunUser {
	if m != nil {
		return m.Users
	}
	return nil
}

func (m *ScoreSolutionRequest) GetConfiguration() *ScoringConfiguration {
	if m != nil {
		return m.Configuration
	}
	return nil
}

type ScoreSolutionResponse struct {
	RequestId            string   `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ScoreSolutionResponse) Reset()         { *m = ScoreSolutionResponse{} }
func (m *ScoreSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*ScoreSolutionResponse) ProtoMessage()    {}
func (*ScoreSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{20}
}

func (m *ScoreSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ScoreSolutionResponse.Unmarshal(m, b)
}
func (m *ScoreSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ScoreSolutionResponse.Marshal(b, m, deterministic)
}
func (m *ScoreSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ScoreSolutionResponse.Merge(m, src)
}
func (m *ScoreSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_ScoreSolutionResponse.Size(m)
}
func (m *ScoreSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ScoreSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ScoreSolutionResponse proto.InternalMessageInfo

func (m *ScoreSolutionResponse) GetRequestId() string {
	if m != nil {
		return m.RequestId
	}
	return ""
}

// Get all score results computed until now and start receiving any
// new score results computed as well.
type GetScoreSolutionResultsRequest struct {
	RequestId            string   `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetScoreSolutionResultsRequest) Reset()         { *m = GetScoreSolutionResultsRequest{} }
func (m *GetScoreSolutionResultsRequest) String() string { return proto.CompactTextString(m) }
func (*GetScoreSolutionResultsRequest) ProtoMessage()    {}
func (*GetScoreSolutionResultsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{21}
}

func (m *GetScoreSolutionResultsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetScoreSolutionResultsRequest.Unmarshal(m, b)
}
func (m *GetScoreSolutionResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetScoreSolutionResultsRequest.Marshal(b, m, deterministic)
}
func (m *GetScoreSolutionResultsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetScoreSolutionResultsRequest.Merge(m, src)
}
func (m *GetScoreSolutionResultsRequest) XXX_Size() int {
	return xxx_messageInfo_GetScoreSolutionResultsRequest.Size(m)
}
func (m *GetScoreSolutionResultsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetScoreSolutionResultsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetScoreSolutionResultsRequest proto.InternalMessageInfo

func (m *GetScoreSolutionResultsRequest) GetRequestId() string {
	if m != nil {
		return m.RequestId
	}
	return ""
}

type GetScoreSolutionResultsResponse struct {
	// Overall process progress.
	Progress *Progress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"`
	// List of score results. List can be incomplete while the process is in progress.
	Scores               []*Score `protobuf:"bytes,2,rep,name=scores,proto3" json:"scores,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetScoreSolutionResultsResponse) Reset()         { *m = GetScoreSolutionResultsResponse{} }
func (m *GetScoreSolutionResultsResponse) String() string { return proto.CompactTextString(m) }
func (*GetScoreSolutionResultsResponse) ProtoMessage()    {}
func (*GetScoreSolutionResultsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{22}
}

func (m *GetScoreSolutionResultsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetScoreSolutionResultsResponse.Unmarshal(m, b)
}
func (m *GetScoreSolutionResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetScoreSolutionResultsResponse.Marshal(b, m, deterministic)
}
func (m *GetScoreSolutionResultsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetScoreSolutionResultsResponse.Merge(m, src)
}
func (m *GetScoreSolutionResultsResponse) XXX_Size() int {
	return xxx_messageInfo_GetScoreSolutionResultsResponse.Size(m)
}
func (m *GetScoreSolutionResultsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetScoreSolutionResultsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetScoreSolutionResultsResponse proto.InternalMessageInfo

func (m *GetScoreSolutionResultsResponse) GetProgress() *Progress {
	if m != nil {
		return m.Progress
	}
	return nil
}

func (m *GetScoreSolutionResultsResponse) GetScores() []*Score {
	if m != nil {
		return m.Scores
	}
	return nil
}

// Fit the solution on given inputs. If a solution is already fitted on inputs this is a NOOP
// (if no additional outputs should be exposed). This can happen when a TA2 simultaneously
// fits the solution as part of the solution search phase.
type FitSolutionRequest struct {
	SolutionId string   `protobuf:"bytes,1,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
	Inputs     []*Value `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
	// List of data references of step outputs which should be exposed to the TA3 system.
	// If you want to expose outputs of the whole pipeline (e.g., predictions themselves),
	// list them here as well. These can be recursive data references like
	// "steps.1.steps.4.produce" to point to an output inside a sub-pipeline.
	// Data references for step outputs which otherwise would not be computed during
	// pipeline execution can also be provided to force them to be computed and exposed.
	ExposeOutputs []string `protobuf:"bytes,3,rep,name=expose_outputs,json=exposeOutputs,proto3" json:"expose_outputs,omitempty"`
	// Which value types should be used for exposing outputs. If not provided, the allowed
	// value types list from the search solutions call is used instead.
	// The order is important as TA2 system will try value types in order until one works out,
	// or an error will be returned instead of the value. An error exposing a value does not
	// stop the overall process.
	ExposeValueTypes []string `protobuf:"bytes,4,rep,name=expose_value_types,json=exposeValueTypes,proto3" json:"expose_value_types,omitempty"`
	// Any users associated with this call itself. Optional.
	Users []*SolutionRunUser `protobuf:"bytes,5,rep,name=users,proto3" json:"users,omitempty"`
	// Seed for pseudorandom number generator. Note, not setting this value
	// means always using seed of 0.
	RandomSeed           int32    `protobuf:"varint,6,opt,name=random_seed,json=randomSeed,proto3" json:"random_seed,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FitSolutionRequest) Reset()         { *m = FitSolutionRequest{} }
func (m *FitSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*FitSolutionRequest) ProtoMessage()    {}
func (*FitSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{23}
}

func (m *FitSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FitSolutionRequest.Unmarshal(m, b)
}
func (m *FitSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FitSolutionRequest.Marshal(b, m, deterministic)
}
func (m *FitSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FitSolutionRequest.Merge(m, src)
}
func (m *FitSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_FitSolutionRequest.Size(m)
}
func (m *FitSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_FitSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_FitSolutionRequest proto.InternalMessageInfo

func (m *FitSolutionRequest) GetSolutionId() string {
	if m != nil {
		return m.SolutionId
	}
	return ""
}

func (m *FitSolutionRequest) GetInputs() []*Value {
	if m != nil {
		return m.Inputs
	}
	return nil
}

func (m *FitSolutionRequest) GetExposeOutputs() []string {
	if m != nil {
		return m.ExposeOutputs
	}
	return nil
}

func (m *FitSolutionRequest) GetExposeValueTypes() []string {
	if m != nil {
		return m.ExposeValueTypes
	}
	return nil
}

func (m *FitSolutionRequest) GetUsers() []*SolutionRunUser {
	if m != nil {
		return m.Users
	}
	return nil
}

func (m *FitSolutionRequest) GetRandomSeed() int32 {
	if m != nil {
		return m.RandomSeed
	}
	return 0
}

type FitSolutionResponse struct {
	RequestId            string   `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FitSolutionResponse) Reset()         { *m = FitSolutionResponse{} }
func (m *FitSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*FitSolutionResponse) ProtoMessage()    {}
func (*FitSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{24}
}

func (m *FitSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FitSolutionResponse.Unmarshal(m, b)
}
func (m *FitSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FitSolutionResponse.Marshal(b, m, deterministic)
}
func (m *FitSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FitSolutionResponse.Merge(m, src)
}
func (m *FitSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_FitSolutionResponse.Size(m)
}
func (m *FitSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_FitSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_FitSolutionResponse proto.InternalMessageInfo

func (m *FitSolutionResponse) GetRequestId() string {
	if m != nil {
		return m.RequestId
	}
	return ""
}

// Get the latest state of fitting the solution and start receiving any further
// new updates to the state as well.
type GetFitSolutionResultsRequest struct {
	RequestId            string   `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetFitSolutionResultsRequest) Reset()         { *m = GetFitSolutionResultsRequest{} }
func (m *GetFitSolutionResultsRequest) String() string { return proto.CompactTextString(m) }
func (*GetFitSolutionResultsRequest) ProtoMessage()    {}
func (*GetFitSolutionResultsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{25}
}

func (m *GetFitSolutionResultsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetFitSolutionResultsRequest.Unmarshal(m, b)
}
func (m *GetFitSolutionResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetFitSolutionResultsRequest.Marshal(b, m, deterministic)
}
func (m *GetFitSolutionResultsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetFitSolutionResultsRequest.Merge(m, src)
}
func (m *GetFitSolutionResultsRequest) XXX_Size() int {
	return xxx_messageInfo_GetFitSolutionResultsRequest.Size(m)
}
func (m *GetFitSolutionResultsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetFitSolutionResultsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetFitSolutionResultsRequest proto.InternalMessageInfo

func (m *GetFitSolutionResultsRequest) GetRequestId() string {
	if m != nil {
		return m.RequestId
	}
	return ""
}

type GetFitSolutionResultsResponse struct {
	// Overall process progress.
	Progress *Progress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"`
	// The list contains progress for each step in the pipeline, in order.
	// List can be incomplete while the process is in progress. Systems can provide
	// steps only at the end (when "progress" equals COMPLETED) and not during running.
	Steps []*StepProgress `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"`
	// A mapping between data references of step outputs and values.
	ExposedOutputs map[string]*Value `protobuf:"bytes,3,rep,name=exposed_outputs,json=exposedOutputs,proto3" json:"exposed_outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// The fitted solution ID, once progress = COMPLETED.
	FittedSolutionId     string   `protobuf:"bytes,4,opt,name=fitted_solution_id,json=fittedSolutionId,proto3" json:"fitted_solution_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetFitSolutionResultsResponse) Reset()         { *m = GetFitSolutionResultsResponse{} }
func (m *GetFitSolutionResultsResponse) String() string { return proto.CompactTextString(m) }
func (*GetFitSolutionResultsResponse) ProtoMessage()    {}
func (*GetFitSolutionResultsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{26}
}

func (m *GetFitSolutionResultsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetFitSolutionResultsResponse.Unmarshal(m, b)
}
func (m *GetFitSolutionResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetFitSolutionResultsResponse.Marshal(b, m, deterministic)
}
func (m *GetFitSolutionResultsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetFitSolutionResultsResponse.Merge(m, src)
}
func (m *GetFitSolutionResultsResponse) XXX_Size() int {
	return xxx_messageInfo_GetFitSolutionResultsResponse.Size(m)
}
func (m *GetFitSolutionResultsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetFitSolutionResultsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetFitSolutionResultsResponse proto.InternalMessageInfo

func (m *GetFitSolutionResultsResponse) GetProgress() *Progress {
	if m != nil {
		return m.Progress
	}
	return nil
}

func (m *GetFitSolutionResultsResponse) GetSteps() []*StepProgress {
	if m != nil {
		return m.Steps
	}
	return nil
}

func (m *GetFitSolutionResultsResponse) GetExposedOutputs() map[string]*Value {
	if m != nil {
		return m.ExposedOutputs
	}
	return nil
}

func (m *GetFitSolutionResultsResponse) GetFittedSolutionId() string {
	if m != nil {
		return m.FittedSolutionId
	}
	return ""
}

// Produce (execute) the solution on given inputs. A solution has to have been fitted for this
// to be possible (even if in cases where this is just created by transformations).
type ProduceSolutionRequest struct {
	FittedSolutionId string   `protobuf:"bytes,1,opt,name=fitted_solution_id,json=fittedSolutionId,proto3" json:"fitted_solution_id,omitempty"`
	Inputs           []*Value `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
	// List of data references of step outputs which should be exposed to the TA3 system.
	// If you want to expose outputs of the whole pipeline (e.g., predictions themselves),
	// list them here as well. These can be recursive data references like
	// "steps.1.steps.4.produce" to point to an output inside a sub-pipeline.
	// Data references for step outputs which otherwise would not be computed during
	// pipeline execution can also be provided to force them to be computed and exposed.
	ExposeOutputs []string `protobuf:"bytes,3,rep,name=expose_outputs,json=exposeOutputs,proto3" json:"expose_outputs,omitempty"`
	// Which value types should be used for exposing outputs. If not provided, the allowed
	// value types list from the search solutions call is used instead.
	// The order is important as the TA2 system will try value types in order until one works
	// out, or an error will be returned instead of the value. An error exposing a value does
	// not stop the overall process.
	ExposeValueTypes []string `protobuf:"bytes,4,rep,name=expose_value_types,json=exposeValueTypes,proto3" json:"expose_value_types,omitempty"`
	// Any users associated with this call itself. Optional.
	Users                []*SolutionRunUser `protobuf:"bytes,5,rep,name=users,proto3" json:"users,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *ProduceSolutionRequest) Reset()         { *m = ProduceSolutionRequest{} }
func (m *ProduceSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*ProduceSolutionRequest) ProtoMessage()    {}
func (*ProduceSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{27}
}

func (m *ProduceSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProduceSolutionRequest.Unmarshal(m, b)
}
func (m *ProduceSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProduceSolutionRequest.Marshal(b, m, deterministic)
}
func (m *ProduceSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProduceSolutionRequest.Merge(m, src)
}
func (m *ProduceSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_ProduceSolutionRequest.Size(m)
}
func (m *ProduceSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ProduceSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ProduceSolutionRequest proto.InternalMessageInfo

func (m *ProduceSolutionRequest) GetFittedSolutionId() string {
	if m != nil {
		return m.FittedSolutionId
	}
	return ""
}

func (m *ProduceSolutionRequest) GetInputs() []*Value {
	if m != nil {
		return m.Inputs
	}
	return nil
}

func (m *ProduceSolutionRequest) GetExposeOutputs() []string {
	if m != nil {
		return m.ExposeOutputs
	}
	return nil
}

func (m *ProduceSolutionRequest) GetExposeValueTypes() []string {
	if m != nil {
		return m.ExposeValueTypes
	}
	return nil
}

func (m *ProduceSolutionRequest) GetUsers() []*SolutionRunUser {
	if m != nil {
		return m.Users
	}
	return nil
}

type ProduceSolutionResponse struct {
	RequestId            string   `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ProduceSolutionResponse) Reset()         { *m = ProduceSolutionResponse{} }
func (m *ProduceSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*ProduceSolutionResponse) ProtoMessage()    {}
func (*ProduceSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{28}
}

func (m *ProduceSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProduceSolutionResponse.Unmarshal(m, b)
}
func (m *ProduceSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProduceSolutionResponse.Marshal(b, m, deterministic)
}
func (m *ProduceSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProduceSolutionResponse.Merge(m, src)
}
func (m *ProduceSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_ProduceSolutionResponse.Size(m)
}
func (m *ProduceSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ProduceSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ProduceSolutionResponse proto.InternalMessageInfo

func (m *ProduceSolutionResponse) GetRequestId() string {
	if m != nil {
		return m.RequestId
	}
	return ""
}

// Get the latest state of producing the fitted solution and start receiving any further
// new updates to the state as well.
type GetProduceSolutionResultsRequest struct {
	RequestId            string   `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetProduceSolutionResultsRequest) Reset()         { *m = GetProduceSolutionResultsRequest{} }
func (m *GetProduceSolutionResultsRequest) String() string { return proto.CompactTextString(m) }
func (*GetProduceSolutionResultsRequest) ProtoMessage()    {}
func (*GetProduceSolutionResultsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{29}
}

func (m *GetProduceSolutionResultsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetProduceSolutionResultsRequest.Unmarshal(m, b)
}
func (m *GetProduceSolutionResultsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetProduceSolutionResultsRequest.Marshal(b, m, deterministic)
}
func (m *GetProduceSolutionResultsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetProduceSolutionResultsRequest.Merge(m, src)
}
func (m *GetProduceSolutionResultsRequest) XXX_Size() int {
	return xxx_messageInfo_GetProduceSolutionResultsRequest.Size(m)
}
func (m *GetProduceSolutionResultsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetProduceSolutionResultsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetProduceSolutionResultsRequest proto.InternalMessageInfo

func (m *GetProduceSolutionResultsRequest) GetRequestId() string {
	if m != nil {
		return m.RequestId
	}
	return ""
}

type GetProduceSolutionResultsResponse struct {
	// Overall process progress.
	Progress *Progress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"`
	// The list contains progress for each step in the pipeline, in order.
	// List can be incomplete while the process is in progress. Systems can provide
	// steps only at the end (when "progress" equals COMPLETED) and not during running.
	Steps []*StepProgress `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"`
	// A mapping between data references of step outputs and values.
	ExposedOutputs       map[string]*Value `protobuf:"bytes,3,rep,name=exposed_outputs,json=exposedOutputs,proto3" json:"exposed_outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *GetProduceSolutionResultsResponse) Reset()         { *m = GetProduceSolutionResultsResponse{} }
func (m *GetProduceSolutionResultsResponse) String() string { return proto.CompactTextString(m) }
func (*GetProduceSolutionResultsResponse) ProtoMessage()    {}
func (*GetProduceSolutionResultsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{30}
}

func (m *GetProduceSolutionResultsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetProduceSolutionResultsResponse.Unmarshal(m, b)
}
func (m *GetProduceSolutionResultsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetProduceSolutionResultsResponse.Marshal(b, m, deterministic)
}
func (m *GetProduceSolutionResultsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetProduceSolutionResultsResponse.Merge(m, src)
}
func (m *GetProduceSolutionResultsResponse) XXX_Size() int {
	return xxx_messageInfo_GetProduceSolutionResultsResponse.Size(m)
}
func (m *GetProduceSolutionResultsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetProduceSolutionResultsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetProduceSolutionResultsResponse proto.InternalMessageInfo

func (m *GetProduceSolutionResultsResponse) GetProgress() *Progress {
	if m != nil {
		return m.Progress
	}
	return nil
}

func (m *GetProduceSolutionResultsResponse) GetSteps() []*StepProgress {
	if m != nil {
		return m.Steps
	}
	return nil
}

func (m *GetProduceSolutionResultsResponse) GetExposedOutputs() map[string]*Value {
	if m != nil {
		return m.ExposedOutputs
	}
	return nil
}

// Exports a solution for evaluation purposes based on evaluation specifications.
type SolutionExportRequest struct {
	// Found solution to export.
	SolutionId string `protobuf:"bytes,3,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
	// Solution rank to be used for the exported solution. Rank is a non-negative floating-point number.
	// Lower numbers represent better solutions. Each exported solution should have
	// a different rank. TA3 should make sure not to repeat ranks. Filenames of exported files are
	// left to be chosen by the TA2 system, but all exported files should be inside a directory
	// with a name equal to the search ID of the search the exported solution belongs to.
	Rank                 float64  `protobuf:"fixed64,2,opt,name=rank,proto3" json:"rank,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SolutionExportRequest) Reset()         { *m = SolutionExportRequest{} }
func (m *SolutionExportRequest) String() string { return proto.CompactTextString(m) }
func (*SolutionExportRequest) ProtoMessage()    {}
func (*SolutionExportRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{31}
}

func (m *SolutionExportRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SolutionExportRequest.Unmarshal(m, b)
}
func (m *SolutionExportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SolutionExportRequest.Marshal(b, m, deterministic)
}
func (m *SolutionExportRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SolutionExportRequest.Merge(m, src)
}
func (m *SolutionExportRequest) XXX_Size() int {
	return xxx_messageInfo_SolutionExportRequest.Size(m)
}
func (m *SolutionExportRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SolutionExportRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SolutionExportRequest proto.InternalMessageInfo

func (m *SolutionExportRequest) GetSolutionId() string {
	if m != nil {
		return m.SolutionId
	}
	return ""
}

func (m *SolutionExportRequest) GetRank() float64 {
	if m != nil {
		return m.Rank
	}
	return 0
}

type SolutionExportResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SolutionExportResponse) Reset()         { *m = SolutionExportResponse{} }
func (m *SolutionExportResponse) String() string { return proto.CompactTextString(m) }
func (*SolutionExportResponse) ProtoMessage()    {}
func (*SolutionExportResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{32}
}

func (m *SolutionExportResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SolutionExportResponse.Unmarshal(m, b)
}
func (m *SolutionExportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SolutionExportResponse.Marshal(b, m, deterministic)
}
func (m *SolutionExportResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SolutionExportResponse.Merge(m, src)
}
func (m *SolutionExportResponse) XXX_Size() int {
	return xxx_messageInfo_SolutionExportResponse.Size(m)
}
func (m *SolutionExportResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SolutionExportResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SolutionExportResponse proto.InternalMessageInfo

// Inform TA2 about data being available, triggering any potential internal data processing by TA2.
type DataAvailableRequest struct {
	// Some string identifying the name and version of the TA3 system.
	UserAgent string `protobuf:"bytes,1,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// Shall be set to "protocol_version" above.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Desired upper limit of time spend processing this data, expressed in minutes.
	// Default value of 0 (and any negative number) signifies no time bound.
	TimeBound float64 `protobuf:"fixed64,3,opt,name=time_bound,json=timeBound,proto3" json:"time_bound,omitempty"`
	// Value stating the priority for processing of this data. Larger number is higher
	// priority. If unspecified, by default priority is 0. Negative numbers have
	// still lower priority.
	Priority             float64  `protobuf:"fixed64,4,opt,name=priority,proto3" json:"priority,omitempty"`
	Data                 []*Value `protobuf:"bytes,5,rep,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DataAvailableRequest) Reset()         { *m = DataAvailableRequest{} }
func (m *DataAvailableRequest) String() string { return proto.CompactTextString(m) }
func (*DataAvailableRequest) ProtoMessage()    {}
func (*DataAvailableRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{33}
}

func (m *DataAvailableRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DataAvailableRequest.Unmarshal(m, b)
}
func (m *DataAvailableRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DataAvailableRequest.Marshal(b, m, deterministic)
}
func (m *DataAvailableRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DataAvailableRequest.Merge(m, src)
}
func (m *DataAvailableRequest) XXX_Size() int {
	return xxx_messageInfo_DataAvailableRequest.Size(m)
}
func (m *DataAvailableRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DataAvailableRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DataAvailableRequest proto.InternalMessageInfo

func (m *DataAvailableRequest) GetUserAgent() string {
	if m != nil {
		return m.UserAgent
	}
	return ""
}

func (m *DataAvailableRequest) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *DataAvailableRequest) GetTimeBound() float64 {
	if m != nil {
		return m.TimeBound
	}
	return 0
}

func (m *DataAvailableRequest) GetPriority() float64 {
	if m != nil {
		return m.Priority
	}
	return 0
}

func (m *DataAvailableRequest) GetData() []*Value {
	if m != nil {
		return m.Data
	}
	return nil
}

type DataAvailableResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DataAvailableResponse) Reset()         { *m = DataAvailableResponse{} }
func (m *DataAvailableResponse) String() string { return proto.CompactTextString(m) }
func (*DataAvailableResponse) ProtoMessage()    {}
func (*DataAvailableResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{34}
}

func (m *DataAvailableResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DataAvailableResponse.Unmarshal(m, b)
}
func (m *DataAvailableResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DataAvailableResponse.Marshal(b, m, deterministic)
}
func (m *DataAvailableResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DataAvailableResponse.Merge(m, src)
}
func (m *DataAvailableResponse) XXX_Size() int {
	return xxx_messageInfo_DataAvailableResponse.Size(m)
}
func (m *DataAvailableResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DataAvailableResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DataAvailableResponse proto.InternalMessageInfo

type SplitDataRequest struct {
	// The input dataset to be split.
	Input *Value `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// How to perform the split. Note that only "HOLDOUT" and "K_FOLD" make sense for the
	// EvaluationMethod.
	ScoringConfiguration *ScoringConfiguration `protobuf:"bytes,2,opt,name=scoring_configuration,json=scoringConfiguration,proto3" json:"scoring_configuration,omitempty"`
	// Which value types should be used for outputs.
	// The order is important as the TA2 system will try value types in order until one works
	// out, or an error will be returned instead of the value.
	AllowedValueTypes []string `protobuf:"bytes,3,rep,name=allowed_value_types,json=allowedValueTypes,proto3" json:"allowed_value_types,omitempty"`
	// The problem, which is necessary for some splitting methods like stratified splits.
	Problem              *ProblemDescription `protobuf:"bytes,4,opt,name=problem,proto3" json:"problem,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *SplitDataRequest) Reset()         { *m = SplitDataRequest{} }
func (m *SplitDataRequest) String() string { return proto.CompactTextString(m) }
func (*SplitDataRequest) ProtoMessage()    {}
func (*SplitDataRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{35}
}

func (m *SplitDataRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SplitDataRequest.Unmarshal(m, b)
}
func (m *SplitDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SplitDataRequest.Marshal(b, m, deterministic)
}
func (m *SplitDataRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SplitDataRequest.Merge(m, src)
}
func (m *SplitDataRequest) XXX_Size() int {
	return xxx_messageInfo_SplitDataRequest.Size(m)
}
func (m *SplitDataRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SplitDataRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SplitDataRequest proto.InternalMessageInfo

func (m *SplitDataRequest) GetInput() *Value {
	if m != nil {
		return m.Input
	}
	return nil
}

func (m *SplitDataRequest) GetScoringConfiguration() *ScoringConfiguration {
	if m != nil {
		return m.ScoringConfiguration
	}
	return nil
}

func (m *SplitDataRequest) GetAllowedValueTypes() []string {
	if m != nil {
		return m.AllowedValueTypes
	}
	return nil
}

func (m *SplitDataRequest) GetProblem() *ProblemDescription {
	if m != nil {
		return m.Problem
	}
	return nil
}

type SplitDataResponse struct {
	TrainOutput          *Value   `protobuf:"bytes,1,opt,name=train_output,json=trainOutput,proto3" json:"train_output,omitempty"`
	TestOutput           *Value   `protobuf:"bytes,2,opt,name=test_output,json=testOutput,proto3" json:"test_output,omitempty"`
	ScoreOutput          *Value   `protobuf:"bytes,3,opt,name=score_output,json=scoreOutput,proto3" json:"score_output,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SplitDataResponse) Reset()         { *m = SplitDataResponse{} }
func (m *SplitDataResponse) String() string { return proto.CompactTextString(m) }
func (*SplitDataResponse) ProtoMessage()    {}
func (*SplitDataResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{36}
}

func (m *SplitDataResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SplitDataResponse.Unmarshal(m, b)
}
func (m *SplitDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SplitDataResponse.Marshal(b, m, deterministic)
}
func (m *SplitDataResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SplitDataResponse.Merge(m, src)
}
func (m *SplitDataResponse) XXX_Size() int {
	return xxx_messageInfo_SplitDataResponse.Size(m)
}
func (m *SplitDataResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SplitDataResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SplitDataResponse proto.InternalMessageInfo

func (m *SplitDataResponse) GetTrainOutput() *Value {
	if m != nil {
		return m.TrainOutput
	}
	return nil
}

func (m *SplitDataResponse) GetTestOutput() *Value {
	if m != nil {
		return m.TestOutput
	}
	return nil
}

func (m *SplitDataResponse) GetScoreOutput() *Value {
	if m != nil {
		return m.ScoreOutput
	}
	return nil
}

type ScorePredictionsRequest struct {
	// Predictions computed on the data.
	Predictions *Value `protobuf:"bytes,1,opt,name=predictions,proto3" json:"predictions,omitempty"`
	// Score data containing the true labels on the same split for comparison.
	ScoreInput *Value `protobuf:"bytes,4,opt,name=score_input,json=scoreInput,proto3" json:"score_input,omitempty"`
	// Problem definition.
	Problem *ProblemDescription `protobuf:"bytes,2,opt,name=problem,proto3" json:"problem,omitempty"`
	// List of metrics. If not empty, those metrics will be computed by the TA2 instead of the ones
	// listed in the problem.
	Metric               []*ProblemPerformanceMetric `protobuf:"bytes,3,rep,name=metric,proto3" json:"metric,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

func (m *ScorePredictionsRequest) Reset()         { *m = ScorePredictionsRequest{} }
func (m *ScorePredictionsRequest) String() string { return proto.CompactTextString(m) }
func (*ScorePredictionsRequest) ProtoMessage()    {}
func (*ScorePredictionsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{37}
}

func (m *ScorePredictionsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ScorePredictionsRequest.Unmarshal(m, b)
}
func (m *ScorePredictionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ScorePredictionsRequest.Marshal(b, m, deterministic)
}
func (m *ScorePredictionsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ScorePredictionsRequest.Merge(m, src)
}
func (m *ScorePredictionsRequest) XXX_Size() int {
	return xxx_messageInfo_ScorePredictionsRequest.Size(m)
}
func (m *ScorePredictionsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ScorePredictionsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ScorePredictionsRequest proto.InternalMessageInfo

func (m *ScorePredictionsRequest) GetPredictions() *Value {
	if m != nil {
		return m.Predictions
	}
	return nil
}

func (m *ScorePredictionsRequest) GetScoreInput() *Value {
	if m != nil {
		return m.ScoreInput
	}
	return nil
}

func (m *ScorePredictionsRequest) GetProblem() *ProblemDescription {
	if m != nil {
		return m.Problem
	}
	return nil
}

func (m *ScorePredictionsRequest) GetMetric() []*ProblemPerformanceMetric {
	if m != nil {
		return m.Metric
	}
	return nil
}

type ScorePredictionsResponse struct {
	// Scores for the predictions.
	Scores               []*Score `protobuf:"bytes,1,rep,name=scores,proto3" json:"scores,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ScorePredictionsResponse) Reset()         { *m = ScorePredictionsResponse{} }
func (m *ScorePredictionsResponse) String() string { return proto.CompactTextString(m) }
func (*ScorePredictionsResponse) ProtoMessage()    {}
func (*ScorePredictionsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{38}
}

func (m *ScorePredictionsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ScorePredictionsResponse.Unmarshal(m, b)
}
func (m *ScorePredictionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ScorePredictionsResponse.Marshal(b, m, deterministic)
}
func (m *ScorePredictionsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ScorePredictionsResponse.Merge(m, src)
}
func (m *ScorePredictionsResponse) XXX_Size() int {
	return xxx_messageInfo_ScorePredictionsResponse.Size(m)
}
func (m *ScorePredictionsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ScorePredictionsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ScorePredictionsResponse proto.InternalMessageInfo

func (m *ScorePredictionsResponse) GetScores() []*Score {
	if m != nil {
		return m.Scores
	}
	return nil
}

// Save a solution that can be loaded later.
type SaveSolutionRequest struct {
	// ID of a solution to save.
	SolutionId           string   `protobuf:"bytes,1,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SaveSolutionRequest) Reset()         { *m = SaveSolutionRequest{} }
func (m *SaveSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*SaveSolutionRequest) ProtoMessage()    {}
func (*SaveSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{39}
}

func (m *SaveSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SaveSolutionRequest.Unmarshal(m, b)
}
func (m *SaveSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SaveSolutionRequest.Marshal(b, m, deterministic)
}
func (m *SaveSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SaveSolutionRequest.Merge(m, src)
}
func (m *SaveSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_SaveSolutionRequest.Size(m)
}
func (m *SaveSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SaveSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SaveSolutionRequest proto.InternalMessageInfo

func (m *SaveSolutionRequest) GetSolutionId() string {
	if m != nil {
		return m.SolutionId
	}
	return ""
}

type SaveSolutionResponse struct {
	// An URI pointing to a directory containing a saved solution.
	SolutionUri          string   `protobuf:"bytes,1,opt,name=solution_uri,json=solutionUri,proto3" json:"solution_uri,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SaveSolutionResponse) Reset()         { *m = SaveSolutionResponse{} }
func (m *SaveSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*SaveSolutionResponse) ProtoMessage()    {}
func (*SaveSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{40}
}

func (m *SaveSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SaveSolutionResponse.Unmarshal(m, b)
}
func (m *SaveSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SaveSolutionResponse.Marshal(b, m, deterministic)
}
func (m *SaveSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SaveSolutionResponse.Merge(m, src)
}
func (m *SaveSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_SaveSolutionResponse.Size(m)
}
func (m *SaveSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SaveSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SaveSolutionResponse proto.InternalMessageInfo

func (m *SaveSolutionResponse) GetSolutionUri() string {
	if m != nil {
		return m.SolutionUri
	}
	return ""
}

// Load a solution that was saved before.
type LoadSolutionRequest struct {
	// An URI pointing to a directory containing a saved solution.
	SolutionUri          string   `protobuf:"bytes,1,opt,name=solution_uri,json=solutionUri,proto3" json:"solution_uri,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LoadSolutionRequest) Reset()         { *m = LoadSolutionRequest{} }
func (m *LoadSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*LoadSolutionRequest) ProtoMessage()    {}
func (*LoadSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{41}
}

func (m *LoadSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoadSolutionRequest.Unmarshal(m, b)
}
func (m *LoadSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoadSolutionRequest.Marshal(b, m, deterministic)
}
func (m *LoadSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoadSolutionRequest.Merge(m, src)
}
func (m *LoadSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_LoadSolutionRequest.Size(m)
}
func (m *LoadSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_LoadSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_LoadSolutionRequest proto.InternalMessageInfo

func (m *LoadSolutionRequest) GetSolutionUri() string {
	if m != nil {
		return m.SolutionUri
	}
	return ""
}

type LoadSolutionResponse struct {
	// ID of a solution which was loaded.
	SolutionId           string   `protobuf:"bytes,1,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LoadSolutionResponse) Reset()         { *m = LoadSolutionResponse{} }
func (m *LoadSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*LoadSolutionResponse) ProtoMessage()    {}
func (*LoadSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{42}
}

func (m *LoadSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoadSolutionResponse.Unmarshal(m, b)
}
func (m *LoadSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoadSolutionResponse.Marshal(b, m, deterministic)
}
func (m *LoadSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoadSolutionResponse.Merge(m, src)
}
func (m *LoadSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_LoadSolutionResponse.Size(m)
}
func (m *LoadSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_LoadSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_LoadSolutionResponse proto.InternalMessageInfo

func (m *LoadSolutionResponse) GetSolutionId() string {
	if m != nil {
		return m.SolutionId
	}
	return ""
}

// Save a fitted solution that can be loaded later.
type SaveFittedSolutionRequest struct {
	// ID of a fitted solution to save.
	FittedSolutionId     string   `protobuf:"bytes,1,opt,name=fitted_solution_id,json=fittedSolutionId,proto3" json:"fitted_solution_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SaveFittedSolutionRequest) Reset()         { *m = SaveFittedSolutionRequest{} }
func (m *SaveFittedSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*SaveFittedSolutionRequest) ProtoMessage()    {}
func (*SaveFittedSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{43}
}

func (m *SaveFittedSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SaveFittedSolutionRequest.Unmarshal(m, b)
}
func (m *SaveFittedSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SaveFittedSolutionRequest.Marshal(b, m, deterministic)
}
func (m *SaveFittedSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SaveFittedSolutionRequest.Merge(m, src)
}
func (m *SaveFittedSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_SaveFittedSolutionRequest.Size(m)
}
func (m *SaveFittedSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SaveFittedSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SaveFittedSolutionRequest proto.InternalMessageInfo

func (m *SaveFittedSolutionRequest) GetFittedSolutionId() string {
	if m != nil {
		return m.FittedSolutionId
	}
	return ""
}

type SaveFittedSolutionResponse struct {
	// An URI pointing to a directory containing a saved fitted solution.
	FittedSolutionUri    string   `protobuf:"bytes,1,opt,name=fitted_solution_uri,json=fittedSolutionUri,proto3" json:"fitted_solution_uri,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SaveFittedSolutionResponse) Reset()         { *m = SaveFittedSolutionResponse{} }
func (m *SaveFittedSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*SaveFittedSolutionResponse) ProtoMessage()    {}
func (*SaveFittedSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{44}
}

func (m *SaveFittedSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SaveFittedSolutionResponse.Unmarshal(m, b)
}
func (m *SaveFittedSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SaveFittedSolutionResponse.Marshal(b, m, deterministic)
}
func (m *SaveFittedSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SaveFittedSolutionResponse.Merge(m, src)
}
func (m *SaveFittedSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_SaveFittedSolutionResponse.Size(m)
}
func (m *SaveFittedSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SaveFittedSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SaveFittedSolutionResponse proto.InternalMessageInfo

func (m *SaveFittedSolutionResponse) GetFittedSolutionUri() string {
	if m != nil {
		return m.FittedSolutionUri
	}
	return ""
}

// Load a fitted solution that was saved before.
type LoadFittedSolutionRequest struct {
	// An URI pointing to a directory containing a saved fitted solution.
	FittedSolutionUri    string   `protobuf:"bytes,1,opt,name=fitted_solution_uri,json=fittedSolutionUri,proto3" json:"fitted_solution_uri,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LoadFittedSolutionRequest) Reset()         { *m = LoadFittedSolutionRequest{} }
func (m *LoadFittedSolutionRequest) String() string { return proto.CompactTextString(m) }
func (*LoadFittedSolutionRequest) ProtoMessage()    {}
func (*LoadFittedSolutionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{45}
}

func (m *LoadFittedSolutionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoadFittedSolutionRequest.Unmarshal(m, b)
}
func (m *LoadFittedSolutionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoadFittedSolutionRequest.Marshal(b, m, deterministic)
}
func (m *LoadFittedSolutionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoadFittedSolutionRequest.Merge(m, src)
}
func (m *LoadFittedSolutionRequest) XXX_Size() int {
	return xxx_messageInfo_LoadFittedSolutionRequest.Size(m)
}
func (m *LoadFittedSolutionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_LoadFittedSolutionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_LoadFittedSolutionRequest proto.InternalMessageInfo

func (m *LoadFittedSolutionRequest) GetFittedSolutionUri() string {
	if m != nil {
		return m.FittedSolutionUri
	}
	return ""
}

type LoadFittedSolutionResponse struct {
	// ID of a fitted solution which was loaded.
	FittedSolutionId     string   `protobuf:"bytes,1,opt,name=fitted_solution_id,json=fittedSolutionId,proto3" json:"fitted_solution_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LoadFittedSolutionResponse) Reset()         { *m = LoadFittedSolutionResponse{} }
func (m *LoadFittedSolutionResponse) String() string { return proto.CompactTextString(m) }
func (*LoadFittedSolutionResponse) ProtoMessage()    {}
func (*LoadFittedSolutionResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{46}
}

func (m *LoadFittedSolutionResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoadFittedSolutionResponse.Unmarshal(m, b)
}
func (m *LoadFittedSolutionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoadFittedSolutionResponse.Marshal(b, m, deterministic)
}
func (m *LoadFittedSolutionResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoadFittedSolutionResponse.Merge(m, src)
}
func (m *LoadFittedSolutionResponse) XXX_Size() int {
	return xxx_messageInfo_LoadFittedSolutionResponse.Size(m)
}
func (m *LoadFittedSolutionResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_LoadFittedSolutionResponse.DiscardUnknown(m)
}

var xxx_messageInfo_LoadFittedSolutionResponse proto.InternalMessageInfo

func (m *LoadFittedSolutionResponse) GetFittedSolutionId() string {
	if m != nil {
		return m.FittedSolutionId
	}
	return ""
}

// List all primitives known to TA2, their IDs, versions, names, and digests. Using this
// information a TA3 should know which primitives may be put into a pipeline template.
// To narrow down potential primitives to use a TA3 can also ask a TA2 to do a solution
// search and then observe which primitives the TA2 is using. If more metadata about primitives
// is needed, then a TA3 can use the results of this call to map primitives to metadata
// (from Python code or primitive annotations) on its own.
type ListPrimitivesRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListPrimitivesRequest) Reset()         { *m = ListPrimitivesRequest{} }
func (m *ListPrimitivesRequest) String() string { return proto.CompactTextString(m) }
func (*ListPrimitivesRequest) ProtoMessage()    {}
func (*ListPrimitivesRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{47}
}

func (m *ListPrimitivesRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ListPrimitivesRequest.Unmarshal(m, b)
}
func (m *ListPrimitivesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ListPrimitivesRequest.Marshal(b, m, deterministic)
}
func (m *ListPrimitivesRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ListPrimitivesRequest.Merge(m, src)
}
func (m *ListPrimitivesRequest) XXX_Size() int {
	return xxx_messageInfo_ListPrimitivesRequest.Size(m)
}
func (m *ListPrimitivesRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ListPrimitivesRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ListPrimitivesRequest proto.InternalMessageInfo

type ListPrimitivesResponse struct {
	Primitives           []*Primitive `protobuf:"bytes,1,rep,name=primitives,proto3" json:"primitives,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *ListPrimitivesResponse) Reset()         { *m = ListPrimitivesResponse{} }
func (m *ListPrimitivesResponse) String() string { return proto.CompactTextString(m) }
func (*ListPrimitivesResponse) ProtoMessage()    {}
func (*ListPrimitivesResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{48}
}

func (m *ListPrimitivesResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ListPrimitivesResponse.Unmarshal(m, b)
}
func (m *ListPrimitivesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ListPrimitivesResponse.Marshal(b, m, deterministic)
}
func (m *ListPrimitivesResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ListPrimitivesResponse.Merge(m, src)
}
func (m *ListPrimitivesResponse) XXX_Size() int {
	return xxx_messageInfo_ListPrimitivesResponse.Size(m)
}
func (m *ListPrimitivesResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ListPrimitivesResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ListPrimitivesResponse proto.InternalMessageInfo

func (m *ListPrimitivesResponse) GetPrimitives() []*Primitive {
	if m != nil {
		return m.Primitives
	}
	return nil
}

// Identify a TA2 and get supported features.
// This call is also suitable for a ping/pong call to check that the gRPC connection to the
// TA2 is ready.
type HelloRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HelloRequest) Reset()         { *m = HelloRequest{} }
func (m *HelloRequest) String() string { return proto.CompactTextString(m) }
func (*HelloRequest) ProtoMessage()    {}
func (*HelloRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{49}
}

func (m *HelloRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HelloRequest.Unmarshal(m, b)
}
func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HelloRequest.Marshal(b, m, deterministic)
}
func (m *HelloRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HelloRequest.Merge(m, src)
}
func (m *HelloRequest) XXX_Size() int {
	return xxx_messageInfo_HelloRequest.Size(m)
}
func (m *HelloRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_HelloRequest.DiscardUnknown(m)
}

var xxx_messageInfo_HelloRequest proto.InternalMessageInfo

// This response signifies that the TA2 is ready to begin a search.
// For evaluation purposes, it is advisable that TA2's not respond positively until
// they have the primitives library loaded and are ready for to begin a search, otherwise
// the time required to load the library will count against them by the dummy TA3.
// Starting to listen on gRPC port signals that system is running.
type HelloResponse struct {
	// Some string identifying the name and version of the TA2 system.
	UserAgent string `protobuf:"bytes,1,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// Shall be set to "protocol_version" above.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// List of value types that a TA3 system can use to communicate values to a TA2 system.
	// The order is important as a TA3 system should try value types in order until one works
	// out, or an error will be returned instead of the value.
	AllowedValueTypes []string `protobuf:"bytes,3,rep,name=allowed_value_types,json=allowedValueTypes,proto3" json:"allowed_value_types,omitempty"`
	// List of API extensions that a TA2 supports.
	SupportedExtensions         []string `protobuf:"bytes,4,rep,name=supported_extensions,json=supportedExtensions,proto3" json:"supported_extensions,omitempty"`
	SupportedTaskKeywords       []string `protobuf:"bytes,5,rep,name=supported_task_keywords,json=supportedTaskKeywords,proto3" json:"supported_task_keywords,omitempty"`
	SupportedPerformanceMetrics []string `protobuf:"bytes,6,rep,name=supported_performance_metrics,json=supportedPerformanceMetrics,proto3" json:"supported_performance_metrics,omitempty"`
	SupportedEvaluationMethods  []string `protobuf:"bytes,7,rep,name=supported_evaluation_methods,json=supportedEvaluationMethods,proto3" json:"supported_evaluation_methods,omitempty"`
	// Supported search features by TA2. Can be an empty list if TA2 does not respect suggested
	// search features for any search request, or does not support any search features.
	// (TA2 can always ignore a suggested search feature for a particular search request,
	// even if a search feature is listed here.)
	SupportedSearchFeatures []string `protobuf:"bytes,8,rep,name=supported_search_features,json=supportedSearchFeatures,proto3" json:"supported_search_features,omitempty"`
	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
	XXX_unrecognized        []byte   `json:"-"`
	XXX_sizecache           int32    `json:"-"`
}

func (m *HelloResponse) Reset()         { *m = HelloResponse{} }
func (m *HelloResponse) String() string { return proto.CompactTextString(m) }
func (*HelloResponse) ProtoMessage()    {}
func (*HelloResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_f7e43720d1edc0fe, []int{50}
}

func (m *HelloResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HelloResponse.Unmarshal(m, b)
}
func (m *HelloResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HelloResponse.Marshal(b, m, deterministic)
}
func (m *HelloResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HelloResponse.Merge(m, src)
}
func (m *HelloResponse) XXX_Size() int {
	return xxx_messageInfo_HelloResponse.Size(m)
}
func (m *HelloResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_HelloResponse.DiscardUnknown(m)
}

var xxx_messageInfo_HelloResponse proto.InternalMessageInfo

func (m *HelloResponse) GetUserAgent() string {
	if m != nil {
		return m.UserAgent
	}
	return ""
}

func (m *HelloResponse) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *HelloResponse) GetAllowedValueTypes() []string {
	if m != nil {
		return m.AllowedValueTypes
	}
	return nil
}

func (m *HelloResponse) GetSupportedExtensions() []string {
	if m != nil {
		return m.SupportedExtensions
	}
	return nil
}

func (m *HelloResponse) GetSupportedTaskKeywords() []string {
	if m != nil {
		return m.SupportedTaskKeywords
	}
	return nil
}

func (m *HelloResponse) GetSupportedPerformanceMetrics() []string {
	if m != nil {
		return m.SupportedPerformanceMetrics
	}
	return nil
}

func (m *HelloResponse) GetSupportedEvaluationMethods() []string {
	if m != nil {
		return m.SupportedEvaluationMethods
	}
	return nil
}

func (m *HelloResponse) GetSupportedSearchFeatures() []string {
	if m != nil {
		return m.SupportedSearchFeatures
	}
	return nil
}

var E_ProtocolVersion = &proto.ExtensionDesc{
	ExtendedType:  (*descriptor.FileOptions)(nil),
	ExtensionType: (*string)(nil),
	Field:         54100,
	Name:          "protocol_version",
	Tag:           "bytes,54100,opt,name=protocol_version",
	Filename:      "core.proto",
}

func init() {
	proto.RegisterEnum("ProgressState", ProgressState_name, ProgressState_value)
	proto.RegisterType((*ScoringConfiguration)(nil), "ScoringConfiguration")
	proto.RegisterType((*Score)(nil), "Score")
	proto.RegisterType((*Progress)(nil), "Progress")
	proto.RegisterType((*SearchSolutionsRequest)(nil), "SearchSolutionsRequest")
	proto.RegisterType((*SearchSolutionsResponse)(nil), "SearchSolutionsResponse")
	proto.RegisterType((*EndSearchSolutionsRequest)(nil), "EndSearchSolutionsRequest")
	proto.RegisterType((*EndSearchSolutionsResponse)(nil), "EndSearchSolutionsResponse")
	proto.RegisterType((*StopSearchSolutionsRequest)(nil), "StopSearchSolutionsRequest")
	proto.RegisterType((*StopSearchSolutionsResponse)(nil), "StopSearchSolutionsResponse")
	proto.RegisterType((*SolutionSearchScore)(nil), "SolutionSearchScore")
	proto.RegisterType((*GetSearchSolutionsResultsRequest)(nil), "GetSearchSolutionsResultsRequest")
	proto.RegisterType((*GetSearchSolutionsResultsResponse)(nil), "GetSearchSolutionsResultsResponse")
	proto.RegisterType((*DescribeSolutionRequest)(nil), "DescribeSolutionRequest")
	proto.RegisterType((*PrimitiveStepDescription)(nil), "PrimitiveStepDescription")
	proto.RegisterMapType((map[string]*Value)(nil), "PrimitiveStepDescription.HyperparamsEntry")
	proto.RegisterType((*SubpipelineStepDescription)(nil), "SubpipelineStepDescription")
	proto.RegisterType((*StepDescription)(nil), "StepDescription")
	proto.RegisterType((*DescribeSolutionResponse)(nil), "DescribeSolutionResponse")
	proto.RegisterType((*StepProgress)(nil), "StepProgress")
	proto.RegisterType((*SolutionRunUser)(nil), "SolutionRunUser")
	proto.RegisterType((*ScoreSolutionRequest)(nil), "ScoreSolutionRequest")
	proto.RegisterType((*ScoreSolutionResponse)(nil), "ScoreSolutionResponse")
	proto.RegisterType((*GetScoreSolutionResultsRequest)(nil), "GetScoreSolutionResultsRequest")
	proto.RegisterType((*GetScoreSolutionResultsResponse)(nil), "GetScoreSolutionResultsResponse")
	proto.RegisterType((*FitSolutionRequest)(nil), "FitSolutionRequest")
	proto.RegisterType((*FitSolutionResponse)(nil), "FitSolutionResponse")
	proto.RegisterType((*GetFitSolutionResultsRequest)(nil), "GetFitSolutionResultsRequest")
	proto.RegisterType((*GetFitSolutionResultsResponse)(nil), "GetFitSolutionResultsResponse")
	proto.RegisterMapType((map[string]*Value)(nil), "GetFitSolutionResultsResponse.ExposedOutputsEntry")
	proto.RegisterType((*ProduceSolutionRequest)(nil), "ProduceSolutionRequest")
	proto.RegisterType((*ProduceSolutionResponse)(nil), "ProduceSolutionResponse")
	proto.RegisterType((*GetProduceSolutionResultsRequest)(nil), "GetProduceSolutionResultsRequest")
	proto.RegisterType((*GetProduceSolutionResultsResponse)(nil), "GetProduceSolutionResultsResponse")
	proto.RegisterMapType((map[string]*Value)(nil), "GetProduceSolutionResultsResponse.ExposedOutputsEntry")
	proto.RegisterType((*SolutionExportRequest)(nil), "SolutionExportRequest")
	proto.RegisterType((*SolutionExportResponse)(nil), "SolutionExportResponse")
	proto.RegisterType((*DataAvailableRequest)(nil), "DataAvailableRequest")
	proto.RegisterType((*DataAvailableResponse)(nil), "DataAvailableResponse")
	proto.RegisterType((*SplitDataRequest)(nil), "SplitDataRequest")
	proto.RegisterType((*SplitDataResponse)(nil), "SplitDataResponse")
	proto.RegisterType((*ScorePredictionsRequest)(nil), "ScorePredictionsRequest")
	proto.RegisterType((*ScorePredictionsResponse)(nil), "ScorePredictionsResponse")
	proto.RegisterType((*SaveSolutionRequest)(nil), "SaveSolutionRequest")
	proto.RegisterType((*SaveSolutionResponse)(nil), "SaveSolutionResponse")
	proto.RegisterType((*LoadSolutionRequest)(nil), "LoadSolutionRequest")
	proto.RegisterType((*LoadSolutionResponse)(nil), "LoadSolutionResponse")
	proto.RegisterType((*SaveFittedSolutionRequest)(nil), "SaveFittedSolutionRequest")
	proto.RegisterType((*SaveFittedSolutionResponse)(nil), "SaveFittedSolutionResponse")
	proto.RegisterType((*LoadFittedSolutionRequest)(nil), "LoadFittedSolutionRequest")
	proto.RegisterType((*LoadFittedSolutionResponse)(nil), "LoadFittedSolutionResponse")
	proto.RegisterType((*ListPrimitivesRequest)(nil), "ListPrimitivesRequest")
	proto.RegisterType((*ListPrimitivesResponse)(nil), "ListPrimitivesResponse")
	proto.RegisterType((*HelloRequest)(nil), "HelloRequest")
	proto.RegisterType((*HelloResponse)(nil), "HelloResponse")
	proto.RegisterExtension(E_ProtocolVersion)
}

func init() { proto.RegisterFile("core.proto", fileDescriptor_f7e43720d1edc0fe) }

var fileDescriptor_f7e43720d1edc0fe = []byte{
	// 2464 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x19, 0x4d, 0x73, 0xdb, 0xc6,
	0x95, 0x20, 0x29, 0x59, 0x7c, 0x94, 0x28, 0x7a, 0x49, 0x89, 0x10, 0x24, 0xd9, 0x32, 0x1a, 0xc7,
	0x8a, 0xc7, 0xde, 0x28, 0x6a, 0x47, 0xb5, 0xd5, 0xc9, 0x24, 0xb6, 0x

repository: uncharted-distil/distil-compute

repo_name: uncharted-distil/distil-compute

branch_name: refs/heads/main