// Code generated by protoc-gen-go-grpc. DO NOT EDIT.

package ml_metadata

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

// MetadataStoreServiceClient is the client API for MetadataStoreService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type MetadataStoreServiceClient interface {
	// Inserts or updates an ArtifactType.
	//
	// A type has a set of strong typed properties describing the schema of any
	// stored instance associated with that type. A type is identified by a name
	// and an optional version.
	//
	// Type Creation:
	// If no type exists in the database with the given identifier
	// (name, version), it creates a new type and returns the type_id.
	//
	// Type Evolution:
	// If the request type with the same (name, version) already exists
	// (let's call it stored_type), the method enforces the stored_type can be
	// updated only when the request type is backward compatible for the already
	// stored instances.
	//
	// Backwards compatibility is violated iff:
	//
	//   a) there is a property where the request type and stored_type have
	//      different value type (e.g., int vs. string)
	//   b) `can_add_fields = false` and the request type has a new property that
	//      is not stored.
	//   c) `can_omit_fields = false` and stored_type has an existing property
	//      that is not provided in the request type.
	//
	// If non-backward type change is required in the application, e.g.,
	// deprecate properties, re-purpose property name, change value types,
	// a new type can be created with a different (name, version) identifier.
	// Note the type version is optional, and a version value with empty string
	// is treated as unset.
	//
	// Args:
	//   artifact_type: the type to be inserted or updated.
	//   can_add_fields:
	//     when set to true, new properties can be added;
	//     when set to false, returns ALREADY_EXISTS if the request type has
	//     properties that are not in stored_type.
	//   can_omit_fields:
	//     when set to true, stored properties can be omitted in the request type;
	//     when set to false, returns ALREADY_EXISTS if the stored_type has
	//     properties not in the request type.
	//
	// Returns:
	//   The type_id of the stored type.
	//
	// Raises:
	//   ALREADY_EXISTS error in the case listed above.
	//   INVALID_ARGUMENT error, if the given type has no name, or any
	//     property value type is unknown.
	PutArtifactType(ctx context.Context, in *PutArtifactTypeRequest, opts ...grpc.CallOption) (*PutArtifactTypeResponse, error)
	// Inserts or updates an ExecutionType. Please refer to PutArtifactType for
	// type upsert API description.
	PutExecutionType(ctx context.Context, in *PutExecutionTypeRequest, opts ...grpc.CallOption) (*PutExecutionTypeResponse, error)
	// Inserts or updates an ContextType. Please refer to PutArtifactType for
	// type upsert API description.
	PutContextType(ctx context.Context, in *PutContextTypeRequest, opts ...grpc.CallOption) (*PutContextTypeResponse, error)
	// Bulk inserts types atomically.
	PutTypes(ctx context.Context, in *PutTypesRequest, opts ...grpc.CallOption) (*PutTypesResponse, error)
	// Inserts or updates artifacts in the database.
	//
	// If an artifact_id is specified for an artifact, it is an update.
	// If an artifact_id is unspecified, it will insert a new artifact.
	// For new artifacts, type must be specified.
	// For old artifacts, type must be unchanged or unspecified.
	//
	// It is not guaranteed that the created or updated artifacts will share the
	// same `create_time_since_epoch` or `last_update_time_since_epoch`
	// timestamps.
	//
	// Args:
	//   artifacts: A list of artifacts to insert or update.
	//
	// Returns:
	//   A list of artifact ids index-aligned with the input.
	PutArtifacts(ctx context.Context, in *PutArtifactsRequest, opts ...grpc.CallOption) (*PutArtifactsResponse, error)
	// Inserts or updates executions in the database.
	//
	// If an execution_id is specified for an execution, it is an update.
	// If an execution_id is unspecified, it will insert a new execution.
	// For new executions, type must be specified.
	// For old executions, type must be unchanged or unspecified.
	//
	// It is not guaranteed that the created or updated executions will share the
	// same `create_time_since_epoch` or `last_update_time_since_epoch`
	// timestamps.
	//
	// Args:
	//   executions: A list of executions to insert or update.
	//
	// Returns:
	//   A list of execution ids index-aligned with the input.
	//
	PutExecutions(ctx context.Context, in *PutExecutionsRequest, opts ...grpc.CallOption) (*PutExecutionsResponse, error)
	// Inserts events in the database.
	//
	// The execution_id and artifact_id must already exist.
	// Once created, events cannot be modified.
	// AlreadyExists error will be raised if duplicated events are found.
	//
	// It is not guaranteed that the created or updated events will share the
	// same `milliseconds_since_epoch` timestamps.
	//
	// Args:
	//   events: A list of events to insert or update.
	PutEvents(ctx context.Context, in *PutEventsRequest, opts ...grpc.CallOption) (*PutEventsResponse, error)
	// Inserts or updates an Execution and its input and output artifacts and
	// related contexts atomically. The `artifact_event_pairs` include the state
	// changes of the Artifacts used or generated by the Execution, as well as the
	// input/output Event. The `contexts` describe the associations of the
	// execution and the attributions of the artifacts.
	//
	// If an execution_id is specified, it is an update on the corresponding
	// execution, otherwise it does an insertion.
	// For insertion, type must be specified. Same rule applies to artifacts
	// and contexts in the request. Corresponding errors may raised. For example:
	// AlreadyExists error will be raised if duplicated executions, artifacts
	// or events are found.
	//
	// It is not guaranteed that the created or updated executions, artifacts,
	// contexts and events will share the same `create_time_since_epoch`,
	// `last_update_time_since_epoch`, or `milliseconds_since_epoch` timestamps.
	//
	// Args:
	//   execution: An execution to insert or update.
	//   artifact_event_pairs: Artifacts to insert or update and events to insert.
	//   contexts: The contexts that the execution and the artifacts belong to.
	//
	// Returns:
	//   An execution id and a list of artifacts and contexts ids index-aligned
	//   with the input.
	PutExecution(ctx context.Context, in *PutExecutionRequest, opts ...grpc.CallOption) (*PutExecutionResponse, error)
	// Inserts or updates a lineage subgraph (i.e. a collection of event edges
	// and its executions, artifacts, and related contexts) atomically. The
	// `event_edges` include an Event and the indices of the corresponding
	// execution and artifact from the input list of executions and artifacts. The
	// `contexts` describe the associations of the Execution and the attributions
	// of the Artifact.
	//
	// If an execution_id is specified, it is an update on the corresponding
	// Execution, otherwise it does an insertion. For insertion, type must be
	// specified. These rules apply to Artifacts and Contexts as well.
	// Corresponding errors may be raised. For example: AlreadyExists error will
	// be raised if duplicated executions, artifacts, or events are found.
	//
	// It is not guaranteed that the created or updated executions, artifacts,
	// contexts and events will share the same `create_time_since_epoch`,
	// `last_update_time_since_epoch`, or `milliseconds_since_epoch` timestamps.
	//
	// Args:
	//   executions: A list of executions to insert or update.
	//   artifacts: A list of artifacts to insert or update.
	//   contexts: A list of contexts to insert and/or create associations and
	//       attributions with.
	//   event_edges: A list of events to insert with the indices of the
	//       corresponding execution and artifact from the input lists of
	//       executions and artifacts.
	//
	// Returns:
	//   Lists of execution, artifact, and context ids index-aligned with the
	//   inputs.
	PutLineageSubgraph(ctx context.Context, in *PutLineageSubgraphRequest, opts ...grpc.CallOption) (*PutLineageSubgraphResponse, error)
	// Inserts or updates contexts in database and returns a list of context ids.
	//
	// If an context_id is specified for a context, it is an update.
	// If an context_id is unspecified, it will insert a new context.
	// For new contexts, type must be specified.
	// For old contexts, type must be unchanged or unspecified.
	//
	// It is not guaranteed that the created or updated contexts will share the
	// same `create_time_since_epoch` or `last_update_time_since_epoch`
	// timestamps.
	//
	// Args:
	//   contexts: A list of contexts to insert or update.
	//
	// Returns:
	//   A list of context ids index-aligned with the input.
	PutContexts(ctx context.Context, in *PutContextsRequest, opts ...grpc.CallOption) (*PutContextsResponse, error)
	// Inserts attribution and association relationships in the database.
	// The context_id, artifact_id, and execution_id must already exist.
	// If the relationship exists, this call does nothing. Once added, the
	// relationships cannot be modified.
	//
	// Args:
	//   attributions: A list of attributions to insert.
	//   associations: A list of associations to insert.
	PutAttributionsAndAssociations(ctx context.Context, in *PutAttributionsAndAssociationsRequest, opts ...grpc.CallOption) (*PutAttributionsAndAssociationsResponse, error)
	// Inserts parental context relationships in the database.
	// The ParentContext relationship has direction. The call fails if cycles are
	// detected.
	//
	// Args:
	//   parent_contexts: A list of parent contexts to insert.
	PutParentContexts(ctx context.Context, in *PutParentContextsRequest, opts ...grpc.CallOption) (*PutParentContextsResponse, error)
	// Gets an artifact type. Returns a NOT_FOUND error if the type does not
	// exist.
	GetArtifactType(ctx context.Context, in *GetArtifactTypeRequest, opts ...grpc.CallOption) (*GetArtifactTypeResponse, error)
	// Gets a list of artifact types by ID.
	// If no artifact types with an ID exists, the artifact type is skipped.
	GetArtifactTypesByID(ctx context.Context, in *GetArtifactTypesByIDRequest, opts ...grpc.CallOption) (*GetArtifactTypesByIDResponse, error)
	// Gets a list of all artifact types.
	GetArtifactTypes(ctx context.Context, in *GetArtifactTypesRequest, opts ...grpc.CallOption) (*GetArtifactTypesResponse, error)
	// Gets an execution type, or None if it does not exist.
	GetExecutionType(ctx context.Context, in *GetExecutionTypeRequest, opts ...grpc.CallOption) (*GetExecutionTypeResponse, error)
	// Gets a list of execution types by ID.
	// If no execution types with an ID exists, the execution type is skipped.
	GetExecutionTypesByID(ctx context.Context, in *GetExecutionTypesByIDRequest, opts ...grpc.CallOption) (*GetExecutionTypesByIDResponse, error)
	// Gets a list of all execution types.
	GetExecutionTypes(ctx context.Context, in *GetExecutionTypesRequest, opts ...grpc.CallOption) (*GetExecutionTypesResponse, error)
	// Gets a context type. Returns a NOT_FOUND error if the type does not exist.
	GetContextType(ctx context.Context, in *GetContextTypeRequest, opts ...grpc.CallOption) (*GetContextTypeResponse, error)
	// Gets a list of context types by ID.
	// If no context types with an ID exists, the context type is skipped.
	GetContextTypesByID(ctx context.Context, in *GetContextTypesByIDRequest, opts ...grpc.CallOption) (*GetContextTypesByIDResponse, error)
	// Gets a list of all context types.
	GetContextTypes(ctx context.Context, in *GetContextTypesRequest, opts ...grpc.CallOption) (*GetContextTypesResponse, error)
	// Gets all the artifacts.
	GetArtifacts(ctx context.Context, in *GetArtifactsRequest, opts ...grpc.CallOption) (*GetArtifactsResponse, error)
	// Gets all the executions.
	GetExecutions(ctx context.Context, in *GetExecutionsRequest, opts ...grpc.CallOption) (*GetExecutionsResponse, error)
	// Gets all the contexts.
	GetContexts(ctx context.Context, in *GetContextsRequest, opts ...grpc.CallOption) (*GetContextsResponse, error)
	// Gets all artifacts with matching ids.
	//
	// The result is not index-aligned: if an id is not found, it is not returned.
	//
	// Args:
	//   artifact_ids: A list of artifact ids to retrieve.
	//
	// Returns:
	//   Artifacts with matching ids.
	GetArtifactsByID(ctx context.Context, in *GetArtifactsByIDRequest, opts ...grpc.CallOption) (*GetArtifactsByIDResponse, error)
	// Gets all executions with matching ids.
	//
	// The result is not index-aligned: if an id is not found, it is not returned.
	//
	// Args:
	//   execution_ids: A list of execution ids to retrieve.
	GetExecutionsByID(ctx context.Context, in *GetExecutionsByIDRequest, opts ...grpc.CallOption) (*GetExecutionsByIDResponse, error)
	// Gets all contexts with matching ids.
	//
	// The result is not index-aligned: if an id is not found, it is not returned.
	//
	// Args:
	//   context_ids: A list of context ids to retrieve.
	GetContextsByID(ctx context.Context, in *GetContextsByIDRequest, opts ...grpc.CallOption) (*GetContextsByIDResponse, error)
	// Gets all the artifacts of a given type.
	GetArtifactsByType(ctx context.Context, in *GetArtifactsByTypeRequest, opts ...grpc.CallOption) (*GetArtifactsByTypeResponse, error)
	// Gets all the executions of a given type.
	GetExecutionsByType(ctx context.Context, in *GetExecutionsByTypeRequest, opts ...grpc.CallOption) (*GetExecutionsByTypeResponse, error)
	// Gets all the contexts of a given type.
	GetContextsByType(ctx context.Context, in *GetContextsByTypeRequest, opts ...grpc.CallOption) (*GetContextsByTypeResponse, error)
	// Gets the artifact of the given type and artifact name.
	GetArtifactByTypeAndName(ctx context.Context, in *GetArtifactByTypeAndNameRequest, opts ...grpc.CallOption) (*GetArtifactByTypeAndNameResponse, error)
	// Gets the execution of the given type and execution name.
	GetExecutionByTypeAndName(ctx context.Context, in *GetExecutionByTypeAndNameRequest, opts ...grpc.CallOption) (*GetExecutionByTypeAndNameResponse, error)
	// Gets the context of the given type and context name.
	GetContextByTypeAndName(ctx context.Context, in *GetContextByTypeAndNameRequest, opts ...grpc.CallOption) (*GetContextByTypeAndNameResponse, error)
	// Gets all the artifacts with matching uris.
	GetArtifactsByURI(ctx context.Context, in *GetArtifactsByURIRequest, opts ...grpc.CallOption) (*GetArtifactsByURIResponse, error)
	// Gets all events with matching execution ids.
	GetEventsByExecutionIDs(ctx context.Context, in *GetEventsByExecutionIDsRequest, opts ...grpc.CallOption) (*GetEventsByExecutionIDsResponse, error)
	// Gets all events with matching artifact ids.
	GetEventsByArtifactIDs(ctx context.Context, in *GetEventsByArtifactIDsRequest, opts ...grpc.CallOption) (*GetEventsByArtifactIDsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetArtifactsByExternalIds(ctx context.Context, in *GetArtifactsByExternalIdsRequest, opts ...grpc.CallOption) (*GetArtifactsByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetExecutionsByExternalIds(ctx context.Context, in *GetExecutionsByExternalIdsRequest, opts ...grpc.CallOption) (*GetExecutionsByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetContextsByExternalIds(ctx context.Context, in *GetContextsByExternalIdsRequest, opts ...grpc.CallOption) (*GetContextsByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetArtifactTypesByExternalIds(ctx context.Context, in *GetArtifactTypesByExternalIdsRequest, opts ...grpc.CallOption) (*GetArtifactTypesByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetExecutionTypesByExternalIds(ctx context.Context, in *GetExecutionTypesByExternalIdsRequest, opts ...grpc.CallOption) (*GetExecutionTypesByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetContextTypesByExternalIds(ctx context.Context, in *GetContextTypesByExternalIdsRequest, opts ...grpc.CallOption) (*GetContextTypesByExternalIdsResponse, error)
	// Gets all context that an artifact is attributed to.
	GetContextsByArtifact(ctx context.Context, in *GetContextsByArtifactRequest, opts ...grpc.CallOption) (*GetContextsByArtifactResponse, error)
	// Gets all context that an execution is associated with.
	GetContextsByExecution(ctx context.Context, in *GetContextsByExecutionRequest, opts ...grpc.CallOption) (*GetContextsByExecutionResponse, error)
	// Gets all parent contexts that a context is related.
	GetParentContextsByContext(ctx context.Context, in *GetParentContextsByContextRequest, opts ...grpc.CallOption) (*GetParentContextsByContextResponse, error)
	// Gets all children contexts that a context is related.
	GetChildrenContextsByContext(ctx context.Context, in *GetChildrenContextsByContextRequest, opts ...grpc.CallOption) (*GetChildrenContextsByContextResponse, error)
	// Batch getting all the parent contexts that a list of contexts are related.
	GetParentContextsByContexts(ctx context.Context, in *GetParentContextsByContextsRequest, opts ...grpc.CallOption) (*GetParentContextsByContextsResponse, error)
	// Batch getting all the children contexts that a list of contexts are
	// related.
	GetChildrenContextsByContexts(ctx context.Context, in *GetChildrenContextsByContextsRequest, opts ...grpc.CallOption) (*GetChildrenContextsByContextsResponse, error)
	// Gets all direct artifacts that a context attributes to.
	GetArtifactsByContext(ctx context.Context, in *GetArtifactsByContextRequest, opts ...grpc.CallOption) (*GetArtifactsByContextResponse, error)
	// Gets all direct executions that a context associates with.
	GetExecutionsByContext(ctx context.Context, in *GetExecutionsByContextRequest, opts ...grpc.CallOption) (*GetExecutionsByContextResponse, error)
	// TODO(b/283852485): Deprecate GetLineageGraph API after migration to
	// GetLineageSubgraph API.
	// The transaction performs a constrained transitive closure and returns a
	// lineage subgraph satisfying the conditions and constraints specified in
	// the GetLineageGraphRequest.
	GetLineageGraph(ctx context.Context, in *GetLineageGraphRequest, opts ...grpc.CallOption) (*GetLineageGraphResponse, error)
	// Gets a lineage subgraph by performing graph traversal from a list of
	// interested nodes.
	// A lineage subgraph without node details (e.g., external_id, properties)
	// will be returned.
	GetLineageSubgraph(ctx context.Context, in *GetLineageSubgraphRequest, opts ...grpc.CallOption) (*GetLineageSubgraphResponse, error)
}

type metadataStoreServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewMetadataStoreServiceClient(cc grpc.ClientConnInterface) MetadataStoreServiceClient {
	return &metadataStoreServiceClient{cc}
}

func (c *metadataStoreServiceClient) PutArtifactType(ctx context.Context, in *PutArtifactTypeRequest, opts ...grpc.CallOption) (*PutArtifactTypeResponse, error) {
	out := new(PutArtifactTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutArtifactType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutExecutionType(ctx context.Context, in *PutExecutionTypeRequest, opts ...grpc.CallOption) (*PutExecutionTypeResponse, error) {
	out := new(PutExecutionTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutExecutionType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutContextType(ctx context.Context, in *PutContextTypeRequest, opts ...grpc.CallOption) (*PutContextTypeResponse, error) {
	out := new(PutContextTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutContextType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutTypes(ctx context.Context, in *PutTypesRequest, opts ...grpc.CallOption) (*PutTypesResponse, error) {
	out := new(PutTypesResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutTypes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutArtifacts(ctx context.Context, in *PutArtifactsRequest, opts ...grpc.CallOption) (*PutArtifactsResponse, error) {
	out := new(PutArtifactsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutArtifacts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutExecutions(ctx context.Context, in *PutExecutionsRequest, opts ...grpc.CallOption) (*PutExecutionsResponse, error) {
	out := new(PutExecutionsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutExecutions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutEvents(ctx context.Context, in *PutEventsRequest, opts ...grpc.CallOption) (*PutEventsResponse, error) {
	out := new(PutEventsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutEvents", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutExecution(ctx context.Context, in *PutExecutionRequest, opts ...grpc.CallOption) (*PutExecutionResponse, error) {
	out := new(PutExecutionResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutExecution", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutLineageSubgraph(ctx context.Context, in *PutLineageSubgraphRequest, opts ...grpc.CallOption) (*PutLineageSubgraphResponse, error) {
	out := new(PutLineageSubgraphResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutLineageSubgraph", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutContexts(ctx context.Context, in *PutContextsRequest, opts ...grpc.CallOption) (*PutContextsResponse, error) {
	out := new(PutContextsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutContexts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutAttributionsAndAssociations(ctx context.Context, in *PutAttributionsAndAssociationsRequest, opts ...grpc.CallOption) (*PutAttributionsAndAssociationsResponse, error) {
	out := new(PutAttributionsAndAssociationsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutAttributionsAndAssociations", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) PutParentContexts(ctx context.Context, in *PutParentContextsRequest, opts ...grpc.CallOption) (*PutParentContextsResponse, error) {
	out := new(PutParentContextsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/PutParentContexts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactType(ctx context.Context, in *GetArtifactTypeRequest, opts ...grpc.CallOption) (*GetArtifactTypeResponse, error) {
	out := new(GetArtifactTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactTypesByID(ctx context.Context, in *GetArtifactTypesByIDRequest, opts ...grpc.CallOption) (*GetArtifactTypesByIDResponse, error) {
	out := new(GetArtifactTypesByIDResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactTypesByID", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactTypes(ctx context.Context, in *GetArtifactTypesRequest, opts ...grpc.CallOption) (*GetArtifactTypesResponse, error) {
	out := new(GetArtifactTypesResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactTypes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionType(ctx context.Context, in *GetExecutionTypeRequest, opts ...grpc.CallOption) (*GetExecutionTypeResponse, error) {
	out := new(GetExecutionTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionTypesByID(ctx context.Context, in *GetExecutionTypesByIDRequest, opts ...grpc.CallOption) (*GetExecutionTypesByIDResponse, error) {
	out := new(GetExecutionTypesByIDResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionTypesByID", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionTypes(ctx context.Context, in *GetExecutionTypesRequest, opts ...grpc.CallOption) (*GetExecutionTypesResponse, error) {
	out := new(GetExecutionTypesResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionTypes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextType(ctx context.Context, in *GetContextTypeRequest, opts ...grpc.CallOption) (*GetContextTypeResponse, error) {
	out := new(GetContextTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextTypesByID(ctx context.Context, in *GetContextTypesByIDRequest, opts ...grpc.CallOption) (*GetContextTypesByIDResponse, error) {
	out := new(GetContextTypesByIDResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextTypesByID", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextTypes(ctx context.Context, in *GetContextTypesRequest, opts ...grpc.CallOption) (*GetContextTypesResponse, error) {
	out := new(GetContextTypesResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextTypes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifacts(ctx context.Context, in *GetArtifactsRequest, opts ...grpc.CallOption) (*GetArtifactsResponse, error) {
	out := new(GetArtifactsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifacts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutions(ctx context.Context, in *GetExecutionsRequest, opts ...grpc.CallOption) (*GetExecutionsResponse, error) {
	out := new(GetExecutionsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContexts(ctx context.Context, in *GetContextsRequest, opts ...grpc.CallOption) (*GetContextsResponse, error) {
	out := new(GetContextsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContexts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactsByID(ctx context.Context, in *GetArtifactsByIDRequest, opts ...grpc.CallOption) (*GetArtifactsByIDResponse, error) {
	out := new(GetArtifactsByIDResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactsByID", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionsByID(ctx context.Context, in *GetExecutionsByIDRequest, opts ...grpc.CallOption) (*GetExecutionsByIDResponse, error) {
	out := new(GetExecutionsByIDResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionsByID", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextsByID(ctx context.Context, in *GetContextsByIDRequest, opts ...grpc.CallOption) (*GetContextsByIDResponse, error) {
	out := new(GetContextsByIDResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextsByID", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactsByType(ctx context.Context, in *GetArtifactsByTypeRequest, opts ...grpc.CallOption) (*GetArtifactsByTypeResponse, error) {
	out := new(GetArtifactsByTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactsByType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionsByType(ctx context.Context, in *GetExecutionsByTypeRequest, opts ...grpc.CallOption) (*GetExecutionsByTypeResponse, error) {
	out := new(GetExecutionsByTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionsByType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextsByType(ctx context.Context, in *GetContextsByTypeRequest, opts ...grpc.CallOption) (*GetContextsByTypeResponse, error) {
	out := new(GetContextsByTypeResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextsByType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactByTypeAndName(ctx context.Context, in *GetArtifactByTypeAndNameRequest, opts ...grpc.CallOption) (*GetArtifactByTypeAndNameResponse, error) {
	out := new(GetArtifactByTypeAndNameResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactByTypeAndName", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionByTypeAndName(ctx context.Context, in *GetExecutionByTypeAndNameRequest, opts ...grpc.CallOption) (*GetExecutionByTypeAndNameResponse, error) {
	out := new(GetExecutionByTypeAndNameResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionByTypeAndName", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextByTypeAndName(ctx context.Context, in *GetContextByTypeAndNameRequest, opts ...grpc.CallOption) (*GetContextByTypeAndNameResponse, error) {
	out := new(GetContextByTypeAndNameResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextByTypeAndName", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactsByURI(ctx context.Context, in *GetArtifactsByURIRequest, opts ...grpc.CallOption) (*GetArtifactsByURIResponse, error) {
	out := new(GetArtifactsByURIResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactsByURI", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetEventsByExecutionIDs(ctx context.Context, in *GetEventsByExecutionIDsRequest, opts ...grpc.CallOption) (*GetEventsByExecutionIDsResponse, error) {
	out := new(GetEventsByExecutionIDsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetEventsByExecutionIDs", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetEventsByArtifactIDs(ctx context.Context, in *GetEventsByArtifactIDsRequest, opts ...grpc.CallOption) (*GetEventsByArtifactIDsResponse, error) {
	out := new(GetEventsByArtifactIDsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetEventsByArtifactIDs", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactsByExternalIds(ctx context.Context, in *GetArtifactsByExternalIdsRequest, opts ...grpc.CallOption) (*GetArtifactsByExternalIdsResponse, error) {
	out := new(GetArtifactsByExternalIdsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactsByExternalIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionsByExternalIds(ctx context.Context, in *GetExecutionsByExternalIdsRequest, opts ...grpc.CallOption) (*GetExecutionsByExternalIdsResponse, error) {
	out := new(GetExecutionsByExternalIdsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionsByExternalIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextsByExternalIds(ctx context.Context, in *GetContextsByExternalIdsRequest, opts ...grpc.CallOption) (*GetContextsByExternalIdsResponse, error) {
	out := new(GetContextsByExternalIdsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextsByExternalIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactTypesByExternalIds(ctx context.Context, in *GetArtifactTypesByExternalIdsRequest, opts ...grpc.CallOption) (*GetArtifactTypesByExternalIdsResponse, error) {
	out := new(GetArtifactTypesByExternalIdsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactTypesByExternalIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionTypesByExternalIds(ctx context.Context, in *GetExecutionTypesByExternalIdsRequest, opts ...grpc.CallOption) (*GetExecutionTypesByExternalIdsResponse, error) {
	out := new(GetExecutionTypesByExternalIdsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionTypesByExternalIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextTypesByExternalIds(ctx context.Context, in *GetContextTypesByExternalIdsRequest, opts ...grpc.CallOption) (*GetContextTypesByExternalIdsResponse, error) {
	out := new(GetContextTypesByExternalIdsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextTypesByExternalIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextsByArtifact(ctx context.Context, in *GetContextsByArtifactRequest, opts ...grpc.CallOption) (*GetContextsByArtifactResponse, error) {
	out := new(GetContextsByArtifactResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextsByArtifact", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetContextsByExecution(ctx context.Context, in *GetContextsByExecutionRequest, opts ...grpc.CallOption) (*GetContextsByExecutionResponse, error) {
	out := new(GetContextsByExecutionResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetContextsByExecution", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetParentContextsByContext(ctx context.Context, in *GetParentContextsByContextRequest, opts ...grpc.CallOption) (*GetParentContextsByContextResponse, error) {
	out := new(GetParentContextsByContextResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetParentContextsByContext", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetChildrenContextsByContext(ctx context.Context, in *GetChildrenContextsByContextRequest, opts ...grpc.CallOption) (*GetChildrenContextsByContextResponse, error) {
	out := new(GetChildrenContextsByContextResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetChildrenContextsByContext", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetParentContextsByContexts(ctx context.Context, in *GetParentContextsByContextsRequest, opts ...grpc.CallOption) (*GetParentContextsByContextsResponse, error) {
	out := new(GetParentContextsByContextsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetParentContextsByContexts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetChildrenContextsByContexts(ctx context.Context, in *GetChildrenContextsByContextsRequest, opts ...grpc.CallOption) (*GetChildrenContextsByContextsResponse, error) {
	out := new(GetChildrenContextsByContextsResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetChildrenContextsByContexts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetArtifactsByContext(ctx context.Context, in *GetArtifactsByContextRequest, opts ...grpc.CallOption) (*GetArtifactsByContextResponse, error) {
	out := new(GetArtifactsByContextResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetArtifactsByContext", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetExecutionsByContext(ctx context.Context, in *GetExecutionsByContextRequest, opts ...grpc.CallOption) (*GetExecutionsByContextResponse, error) {
	out := new(GetExecutionsByContextResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetExecutionsByContext", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetLineageGraph(ctx context.Context, in *GetLineageGraphRequest, opts ...grpc.CallOption) (*GetLineageGraphResponse, error) {
	out := new(GetLineageGraphResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetLineageGraph", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *metadataStoreServiceClient) GetLineageSubgraph(ctx context.Context, in *GetLineageSubgraphRequest, opts ...grpc.CallOption) (*GetLineageSubgraphResponse, error) {
	out := new(GetLineageSubgraphResponse)
	err := c.cc.Invoke(ctx, "/ml_metadata.MetadataStoreService/GetLineageSubgraph", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// MetadataStoreServiceServer is the server API for MetadataStoreService service.
// All implementations must embed UnimplementedMetadataStoreServiceServer
// for forward compatibility
type MetadataStoreServiceServer interface {
	// Inserts or updates an ArtifactType.
	//
	// A type has a set of strong typed properties describing the schema of any
	// stored instance associated with that type. A type is identified by a name
	// and an optional version.
	//
	// Type Creation:
	// If no type exists in the database with the given identifier
	// (name, version), it creates a new type and returns the type_id.
	//
	// Type Evolution:
	// If the request type with the same (name, version) already exists
	// (let's call it stored_type), the method enforces the stored_type can be
	// updated only when the request type is backward compatible for the already
	// stored instances.
	//
	// Backwards compatibility is violated iff:
	//
	//   a) there is a property where the request type and stored_type have
	//      different value type (e.g., int vs. string)
	//   b) `can_add_fields = false` and the request type has a new property that
	//      is not stored.
	//   c) `can_omit_fields = false` and stored_type has an existing property
	//      that is not provided in the request type.
	//
	// If non-backward type change is required in the application, e.g.,
	// deprecate properties, re-purpose property name, change value types,
	// a new type can be created with a different (name, version) identifier.
	// Note the type version is optional, and a version value with empty string
	// is treated as unset.
	//
	// Args:
	//   artifact_type: the type to be inserted or updated.
	//   can_add_fields:
	//     when set to true, new properties can be added;
	//     when set to false, returns ALREADY_EXISTS if the request type has
	//     properties that are not in stored_type.
	//   can_omit_fields:
	//     when set to true, stored properties can be omitted in the request type;
	//     when set to false, returns ALREADY_EXISTS if the stored_type has
	//     properties not in the request type.
	//
	// Returns:
	//   The type_id of the stored type.
	//
	// Raises:
	//   ALREADY_EXISTS error in the case listed above.
	//   INVALID_ARGUMENT error, if the given type has no name, or any
	//     property value type is unknown.
	PutArtifactType(context.Context, *PutArtifactTypeRequest) (*PutArtifactTypeResponse, error)
	// Inserts or updates an ExecutionType. Please refer to PutArtifactType for
	// type upsert API description.
	PutExecutionType(context.Context, *PutExecutionTypeRequest) (*PutExecutionTypeResponse, error)
	// Inserts or updates an ContextType. Please refer to PutArtifactType for
	// type upsert API description.
	PutContextType(context.Context, *PutContextTypeRequest) (*PutContextTypeResponse, error)
	// Bulk inserts types atomically.
	PutTypes(context.Context, *PutTypesRequest) (*PutTypesResponse, error)
	// Inserts or updates artifacts in the database.
	//
	// If an artifact_id is specified for an artifact, it is an update.
	// If an artifact_id is unspecified, it will insert a new artifact.
	// For new artifacts, type must be specified.
	// For old artifacts, type must be unchanged or unspecified.
	//
	// It is not guaranteed that the created or updated artifacts will share the
	// same `create_time_since_epoch` or `last_update_time_since_epoch`
	// timestamps.
	//
	// Args:
	//   artifacts: A list of artifacts to insert or update.
	//
	// Returns:
	//   A list of artifact ids index-aligned with the input.
	PutArtifacts(context.Context, *PutArtifactsRequest) (*PutArtifactsResponse, error)
	// Inserts or updates executions in the database.
	//
	// If an execution_id is specified for an execution, it is an update.
	// If an execution_id is unspecified, it will insert a new execution.
	// For new executions, type must be specified.
	// For old executions, type must be unchanged or unspecified.
	//
	// It is not guaranteed that the created or updated executions will share the
	// same `create_time_since_epoch` or `last_update_time_since_epoch`
	// timestamps.
	//
	// Args:
	//   executions: A list of executions to insert or update.
	//
	// Returns:
	//   A list of execution ids index-aligned with the input.
	//
	PutExecutions(context.Context, *PutExecutionsRequest) (*PutExecutionsResponse, error)
	// Inserts events in the database.
	//
	// The execution_id and artifact_id must already exist.
	// Once created, events cannot be modified.
	// AlreadyExists error will be raised if duplicated events are found.
	//
	// It is not guaranteed that the created or updated events will share the
	// same `milliseconds_since_epoch` timestamps.
	//
	// Args:
	//   events: A list of events to insert or update.
	PutEvents(context.Context, *PutEventsRequest) (*PutEventsResponse, error)
	// Inserts or updates an Execution and its input and output artifacts and
	// related contexts atomically. The `artifact_event_pairs` include the state
	// changes of the Artifacts used or generated by the Execution, as well as the
	// input/output Event. The `contexts` describe the associations of the
	// execution and the attributions of the artifacts.
	//
	// If an execution_id is specified, it is an update on the corresponding
	// execution, otherwise it does an insertion.
	// For insertion, type must be specified. Same rule applies to artifacts
	// and contexts in the request. Corresponding errors may raised. For example:
	// AlreadyExists error will be raised if duplicated executions, artifacts
	// or events are found.
	//
	// It is not guaranteed that the created or updated executions, artifacts,
	// contexts and events will share the same `create_time_since_epoch`,
	// `last_update_time_since_epoch`, or `milliseconds_since_epoch` timestamps.
	//
	// Args:
	//   execution: An execution to insert or update.
	//   artifact_event_pairs: Artifacts to insert or update and events to insert.
	//   contexts: The contexts that the execution and the artifacts belong to.
	//
	// Returns:
	//   An execution id and a list of artifacts and contexts ids index-aligned
	//   with the input.
	PutExecution(context.Context, *PutExecutionRequest) (*PutExecutionResponse, error)
	// Inserts or updates a lineage subgraph (i.e. a collection of event edges
	// and its executions, artifacts, and related contexts) atomically. The
	// `event_edges` include an Event and the indices of the corresponding
	// execution and artifact from the input list of executions and artifacts. The
	// `contexts` describe the associations of the Execution and the attributions
	// of the Artifact.
	//
	// If an execution_id is specified, it is an update on the corresponding
	// Execution, otherwise it does an insertion. For insertion, type must be
	// specified. These rules apply to Artifacts and Contexts as well.
	// Corresponding errors may be raised. For example: AlreadyExists error will
	// be raised if duplicated executions, artifacts, or events are found.
	//
	// It is not guaranteed that the created or updated executions, artifacts,
	// contexts and events will share the same `create_time_since_epoch`,
	// `last_update_time_since_epoch`, or `milliseconds_since_epoch` timestamps.
	//
	// Args:
	//   executions: A list of executions to insert or update.
	//   artifacts: A list of artifacts to insert or update.
	//   contexts: A list of contexts to insert and/or create associations and
	//       attributions with.
	//   event_edges: A list of events to insert with the indices of the
	//       corresponding execution and artifact from the input lists of
	//       executions and artifacts.
	//
	// Returns:
	//   Lists of execution, artifact, and context ids index-aligned with the
	//   inputs.
	PutLineageSubgraph(context.Context, *PutLineageSubgraphRequest) (*PutLineageSubgraphResponse, error)
	// Inserts or updates contexts in database and returns a list of context ids.
	//
	// If an context_id is specified for a context, it is an update.
	// If an context_id is unspecified, it will insert a new context.
	// For new contexts, type must be specified.
	// For old contexts, type must be unchanged or unspecified.
	//
	// It is not guaranteed that the created or updated contexts will share the
	// same `create_time_since_epoch` or `last_update_time_since_epoch`
	// timestamps.
	//
	// Args:
	//   contexts: A list of contexts to insert or update.
	//
	// Returns:
	//   A list of context ids index-aligned with the input.
	PutContexts(context.Context, *PutContextsRequest) (*PutContextsResponse, error)
	// Inserts attribution and association relationships in the database.
	// The context_id, artifact_id, and execution_id must already exist.
	// If the relationship exists, this call does nothing. Once added, the
	// relationships cannot be modified.
	//
	// Args:
	//   attributions: A list of attributions to insert.
	//   associations: A list of associations to insert.
	PutAttributionsAndAssociations(context.Context, *PutAttributionsAndAssociationsRequest) (*PutAttributionsAndAssociationsResponse, error)
	// Inserts parental context relationships in the database.
	// The ParentContext relationship has direction. The call fails if cycles are
	// detected.
	//
	// Args:
	//   parent_contexts: A list of parent contexts to insert.
	PutParentContexts(context.Context, *PutParentContextsRequest) (*PutParentContextsResponse, error)
	// Gets an artifact type. Returns a NOT_FOUND error if the type does not
	// exist.
	GetArtifactType(context.Context, *GetArtifactTypeRequest) (*GetArtifactTypeResponse, error)
	// Gets a list of artifact types by ID.
	// If no artifact types with an ID exists, the artifact type is skipped.
	GetArtifactTypesByID(context.Context, *GetArtifactTypesByIDRequest) (*GetArtifactTypesByIDResponse, error)
	// Gets a list of all artifact types.
	GetArtifactTypes(context.Context, *GetArtifactTypesRequest) (*GetArtifactTypesResponse, error)
	// Gets an execution type, or None if it does not exist.
	GetExecutionType(context.Context, *GetExecutionTypeRequest) (*GetExecutionTypeResponse, error)
	// Gets a list of execution types by ID.
	// If no execution types with an ID exists, the execution type is skipped.
	GetExecutionTypesByID(context.Context, *GetExecutionTypesByIDRequest) (*GetExecutionTypesByIDResponse, error)
	// Gets a list of all execution types.
	GetExecutionTypes(context.Context, *GetExecutionTypesRequest) (*GetExecutionTypesResponse, error)
	// Gets a context type. Returns a NOT_FOUND error if the type does not exist.
	GetContextType(context.Context, *GetContextTypeRequest) (*GetContextTypeResponse, error)
	// Gets a list of context types by ID.
	// If no context types with an ID exists, the context type is skipped.
	GetContextTypesByID(context.Context, *GetContextTypesByIDRequest) (*GetContextTypesByIDResponse, error)
	// Gets a list of all context types.
	GetContextTypes(context.Context, *GetContextTypesRequest) (*GetContextTypesResponse, error)
	// Gets all the artifacts.
	GetArtifacts(context.Context, *GetArtifactsRequest) (*GetArtifactsResponse, error)
	// Gets all the executions.
	GetExecutions(context.Context, *GetExecutionsRequest) (*GetExecutionsResponse, error)
	// Gets all the contexts.
	GetContexts(context.Context, *GetContextsRequest) (*GetContextsResponse, error)
	// Gets all artifacts with matching ids.
	//
	// The result is not index-aligned: if an id is not found, it is not returned.
	//
	// Args:
	//   artifact_ids: A list of artifact ids to retrieve.
	//
	// Returns:
	//   Artifacts with matching ids.
	GetArtifactsByID(context.Context, *GetArtifactsByIDRequest) (*GetArtifactsByIDResponse, error)
	// Gets all executions with matching ids.
	//
	// The result is not index-aligned: if an id is not found, it is not returned.
	//
	// Args:
	//   execution_ids: A list of execution ids to retrieve.
	GetExecutionsByID(context.Context, *GetExecutionsByIDRequest) (*GetExecutionsByIDResponse, error)
	// Gets all contexts with matching ids.
	//
	// The result is not index-aligned: if an id is not found, it is not returned.
	//
	// Args:
	//   context_ids: A list of context ids to retrieve.
	GetContextsByID(context.Context, *GetContextsByIDRequest) (*GetContextsByIDResponse, error)
	// Gets all the artifacts of a given type.
	GetArtifactsByType(context.Context, *GetArtifactsByTypeRequest) (*GetArtifactsByTypeResponse, error)
	// Gets all the executions of a given type.
	GetExecutionsByType(context.Context, *GetExecutionsByTypeRequest) (*GetExecutionsByTypeResponse, error)
	// Gets all the contexts of a given type.
	GetContextsByType(context.Context, *GetContextsByTypeRequest) (*GetContextsByTypeResponse, error)
	// Gets the artifact of the given type and artifact name.
	GetArtifactByTypeAndName(context.Context, *GetArtifactByTypeAndNameRequest) (*GetArtifactByTypeAndNameResponse, error)
	// Gets the execution of the given type and execution name.
	GetExecutionByTypeAndName(context.Context, *GetExecutionByTypeAndNameRequest) (*GetExecutionByTypeAndNameResponse, error)
	// Gets the context of the given type and context name.
	GetContextByTypeAndName(context.Context, *GetContextByTypeAndNameRequest) (*GetContextByTypeAndNameResponse, error)
	// Gets all the artifacts with matching uris.
	GetArtifactsByURI(context.Context, *GetArtifactsByURIRequest) (*GetArtifactsByURIResponse, error)
	// Gets all events with matching execution ids.
	GetEventsByExecutionIDs(context.Context, *GetEventsByExecutionIDsRequest) (*GetEventsByExecutionIDsResponse, error)
	// Gets all events with matching artifact ids.
	GetEventsByArtifactIDs(context.Context, *GetEventsByArtifactIDsRequest) (*GetEventsByArtifactIDsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetArtifactsByExternalIds(context.Context, *GetArtifactsByExternalIdsRequest) (*GetArtifactsByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetExecutionsByExternalIds(context.Context, *GetExecutionsByExternalIdsRequest) (*GetExecutionsByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetContextsByExternalIds(context.Context, *GetContextsByExternalIdsRequest) (*GetContextsByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetArtifactTypesByExternalIds(context.Context, *GetArtifactTypesByExternalIdsRequest) (*GetArtifactTypesByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetExecutionTypesByExternalIds(context.Context, *GetExecutionTypesByExternalIdsRequest) (*GetExecutionTypesByExternalIdsResponse, error)
	// Gets all the artifacts with matching external ids.
	GetContextTypesByExternalIds(context.Context, *GetContextTypesByExternalIdsRequest) (*GetContextTypesByExternalIdsResponse, error)
	// Gets all context that an artifact is attributed to.
	GetContextsByArtifact(context.Context, *GetContextsByArtifactRequest) (*GetContextsByArtifactResponse, error)
	// Gets all context that an execution is associated with.
	GetContextsByExecution(context.Context, *GetContextsByExecutionRequest) (*GetContextsByExecutionResponse, error)
	// Gets all parent contexts that a context is related.
	GetParentContextsByContext(context.Context, *GetParentContextsByContextRequest) (*GetParentContextsByContextResponse, error)
	// Gets all children contexts that a context is related.
	GetChildrenContextsByContext(context.Context, *GetChildrenContextsByContextRequest) (*GetChildrenContextsByContextResponse, error)
	// Batch getting all the parent contexts that a list of contexts are related.
	GetParentContextsByContexts(context.Context, *GetParentContextsByContextsRequest) (*GetParentContextsByContextsResponse, error)
	// Batch getting all the children contexts that a list of contexts are
	// related.
	GetChildrenContextsByContexts(context.Context, *GetChildrenContextsByContextsRequest) (*GetChildrenContextsByContextsResponse, error)
	// Gets all direct artifacts that a context attributes to.
	GetArtifactsByContext(context.Context, *GetArtifactsByContextRequest) (*GetArtifactsByContextResponse, error)
	// Gets all direct executions that a context associates with.
	GetExecutionsByContext(context.Context, *GetExecutionsByContextRequest) (*GetExecutionsByContextResponse, error)
	// TODO(b/283852485): Deprecate GetLineageGraph API after migration to
	// GetLineageSubgraph API.
	// The transaction performs a constrained transitive closure and returns a
	// lineage subgraph satisfying the conditions and constraints specified in
	// the GetLineageGraphRequest.
	GetLineageGraph(context.Context, *GetLineageGraphRequest) (*GetLineageGraphResponse, error)
	// Gets a lineage subgraph by performing graph traversal from a list of
	// interested nodes.
	// A lineage subgraph without node details (e.g., external_id, properties)
	// will be returned.
	GetLineageSubgraph(context.Context, *GetLineageSubgraphRequest) (*GetLineageSubgraphResponse, error)
	mustEmbedUnimplementedMetadataStoreServiceServer()
}

// UnimplementedMetadataStoreServiceServer must be embedded to have forward compatible implementations.
type UnimplementedMetadataStoreServiceServer struct {
}

func (UnimplementedMetadataStoreServiceServer) PutArtifactType(context.Context, *PutArtifactTypeRequest) (*PutArtifactTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutArtifactType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutExecutionType(context.Context, *PutExecutionTypeRequest) (*PutExecutionTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutExecutionType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutContextType(context.Context, *PutContextTypeRequest) (*PutContextTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutContextType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutTypes(context.Context, *PutTypesRequest) (*PutTypesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutTypes not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutArtifacts(context.Context, *PutArtifactsRequest) (*PutArtifactsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutArtifacts not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutExecutions(context.Context, *PutExecutionsRequest) (*PutExecutionsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutExecutions not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutEvents(context.Context, *PutEventsRequest) (*PutEventsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutEvents not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutExecution(context.Context, *PutExecutionRequest) (*PutExecutionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutExecution not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutLineageSubgraph(context.Context, *PutLineageSubgraphRequest) (*PutLineageSubgraphResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutLineageSubgraph not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutContexts(context.Context, *PutContextsRequest) (*PutContextsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutContexts not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutAttributionsAndAssociations(context.Context, *PutAttributionsAndAssociationsRequest) (*PutAttributionsAndAssociationsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutAttributionsAndAssociations not implemented")
}
func (UnimplementedMetadataStoreServiceServer) PutParentContexts(context.Context, *PutParentContextsRequest) (*PutParentContextsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutParentContexts not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactType(context.Context, *GetArtifactTypeRequest) (*GetArtifactTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactTypesByID(context.Context, *GetArtifactTypesByIDRequest) (*GetArtifactTypesByIDResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactTypesByID not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactTypes(context.Context, *GetArtifactTypesRequest) (*GetArtifactTypesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactTypes not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionType(context.Context, *GetExecutionTypeRequest) (*GetExecutionTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionTypesByID(context.Context, *GetExecutionTypesByIDRequest) (*GetExecutionTypesByIDResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionTypesByID not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionTypes(context.Context, *GetExecutionTypesRequest) (*GetExecutionTypesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionTypes not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextType(context.Context, *GetContextTypeRequest) (*GetContextTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextTypesByID(context.Context, *GetContextTypesByIDRequest) (*GetContextTypesByIDResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextTypesByID not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextTypes(context.Context, *GetContextTypesRequest) (*GetContextTypesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextTypes not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifacts(context.Context, *GetArtifactsRequest) (*GetArtifactsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifacts not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutions(context.Context, *GetExecutionsRequest) (*GetExecutionsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutions not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContexts(context.Context, *GetContextsRequest) (*GetContextsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContexts not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactsByID(context.Context, *GetArtifactsByIDRequest) (*GetArtifactsByIDResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactsByID not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionsByID(context.Context, *GetExecutionsByIDRequest) (*GetExecutionsByIDResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionsByID not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextsByID(context.Context, *GetContextsByIDRequest) (*GetContextsByIDResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextsByID not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactsByType(context.Context, *GetArtifactsByTypeRequest) (*GetArtifactsByTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactsByType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionsByType(context.Context, *GetExecutionsByTypeRequest) (*GetExecutionsByTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionsByType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextsByType(context.Context, *GetContextsByTypeRequest) (*GetContextsByTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextsByType not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactByTypeAndName(context.Context, *GetArtifactByTypeAndNameRequest) (*GetArtifactByTypeAndNameResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactByTypeAndName not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionByTypeAndName(context.Context, *GetExecutionByTypeAndNameRequest) (*GetExecutionByTypeAndNameResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionByTypeAndName not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextByTypeAndName(context.Context, *GetContextByTypeAndNameRequest) (*GetContextByTypeAndNameResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextByTypeAndName not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactsByURI(context.Context, *GetArtifactsByURIRequest) (*GetArtifactsByURIResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactsByURI not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetEventsByExecutionIDs(context.Context, *GetEventsByExecutionIDsRequest) (*GetEventsByExecutionIDsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetEventsByExecutionIDs not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetEventsByArtifactIDs(context.Context, *GetEventsByArtifactIDsRequest) (*GetEventsByArtifactIDsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetEventsByArtifactIDs not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactsByExternalIds(context.Context, *GetArtifactsByExternalIdsRequest) (*GetArtifactsByExternalIdsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactsByExternalIds not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionsByExternalIds(context.Context, *GetExecutionsByExternalIdsRequest) (*GetExecutionsByExternalIdsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionsByExternalIds not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextsByExternalIds(context.Context, *GetContextsByExternalIdsRequest) (*GetContextsByExternalIdsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextsByExternalIds not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactTypesByExternalIds(context.Context, *GetArtifactTypesByExternalIdsRequest) (*GetArtifactTypesByExternalIdsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactTypesByExternalIds not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionTypesByExternalIds(context.Context, *GetExecutionTypesByExternalIdsRequest) (*GetExecutionTypesByExternalIdsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionTypesByExternalIds not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextTypesByExternalIds(context.Context, *GetContextTypesByExternalIdsRequest) (*GetContextTypesByExternalIdsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextTypesByExternalIds not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextsByArtifact(context.Context, *GetContextsByArtifactRequest) (*GetContextsByArtifactResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextsByArtifact not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetContextsByExecution(context.Context, *GetContextsByExecutionRequest) (*GetContextsByExecutionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetContextsByExecution not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetParentContextsByContext(context.Context, *GetParentContextsByContextRequest) (*GetParentContextsByContextResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetParentContextsByContext not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetChildrenContextsByContext(context.Context, *GetChildrenContextsByContextRequest) (*GetChildrenContextsByContextResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetChildrenContextsByContext not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetParentContextsByContexts(context.Context, *GetParentContextsByContextsRequest) (*GetParentContextsByContextsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetParentContextsByContexts not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetChildrenContextsByContexts(context.Context, *GetChildrenContextsByContextsRequest) (*GetChildrenContextsByContextsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetChildrenContextsByContexts not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetArtifactsByContext(context.Context, *GetArtifactsByContextRequest) (*GetArtifactsByContextResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetArtifactsByContext not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetExecutionsByContext(context.Context, *GetExecutionsByContextRequest) (*GetExecutionsByContextResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetExecutionsByContext not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetLineageGraph(context.Context, *GetLineageGraphRequest) (*GetLineageGraphResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetLineageGraph not implemented")
}
func (UnimplementedMetadataStoreServiceServer) GetLineageSubgraph(context.Context, *GetLineageSubgraphRequest) (*GetLineageSubgraphResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetLineageSubgraph not implemented")
}
func (UnimplementedMetadataStoreServiceServer) mustEmbedUnimplementedMetadataStoreServiceServer() {}

// UnsafeMetadataStoreServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to MetadataStoreServiceServer will
// result in compilation errors.
type UnsafeMetadataStoreServiceServer interface {
	mustEmbedUnimplementedMetadataStoreServiceServer()
}

func RegisterMetadataStoreServiceServer(s grpc.ServiceRegistrar, srv MetadataStoreServiceServer) {
	s.RegisterService(&MetadataStoreService_ServiceDesc, srv)
}

func _MetadataStoreService_PutArtifactType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutArtifactTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutArtifactType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutArtifactType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutArtifactType(ctx, req.(*PutArtifactTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutExecutionType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutExecutionTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutExecutionType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutExecutionType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutExecutionType(ctx, req.(*PutExecutionTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutContextType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutContextTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutContextType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutContextType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutContextType(ctx, req.(*PutContextTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutTypesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutTypes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutTypes(ctx, req.(*PutTypesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutArtifactsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutArtifacts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutArtifacts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutArtifacts(ctx, req.(*PutArtifactsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutExecutionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutExecutions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutExecutions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutExecutions(ctx, req.(*PutExecutionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutEventsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutEvents(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutEvents",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutEvents(ctx, req.(*PutEventsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutExecutionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutExecution(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutExecution",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutExecution(ctx, req.(*PutExecutionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutLineageSubgraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutLineageSubgraphRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutLineageSubgraph(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutLineageSubgraph",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutLineageSubgraph(ctx, req.(*PutLineageSubgraphRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutContextsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutContexts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutContexts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutContexts(ctx, req.(*PutContextsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutAttributionsAndAssociations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutAttributionsAndAssociationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutAttributionsAndAssociations(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutAttributionsAndAssociations",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutAttributionsAndAssociations(ctx, req.(*PutAttributionsAndAssociationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_PutParentContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutParentContextsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).PutParentContexts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/PutParentContexts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).PutParentContexts(ctx, req.(*PutParentContextsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactType(ctx, req.(*GetArtifactTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactTypesByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactTypesByIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactTypesByID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactTypesByID",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactTypesByID(ctx, req.(*GetArtifactTypesByIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactTypesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactTypes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactTypes(ctx, req.(*GetArtifactTypesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionType(ctx, req.(*GetExecutionTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionTypesByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionTypesByIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionTypesByID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionTypesByID",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionTypesByID(ctx, req.(*GetExecutionTypesByIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionTypesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionTypes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionTypes(ctx, req.(*GetExecutionTypesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextType(ctx, req.(*GetContextTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextTypesByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextTypesByIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextTypesByID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextTypesByID",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextTypesByID(ctx, req.(*GetContextTypesByIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextTypesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextTypes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextTypes(ctx, req.(*GetContextTypesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifacts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifacts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifacts(ctx, req.(*GetArtifactsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutions(ctx, req.(*GetExecutionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContexts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContexts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContexts(ctx, req.(*GetContextsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactsByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactsByIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactsByID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactsByID",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactsByID(ctx, req.(*GetArtifactsByIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionsByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionsByIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionsByID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionsByID",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionsByID(ctx, req.(*GetExecutionsByIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextsByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextsByIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextsByID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextsByID",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextsByID(ctx, req.(*GetContextsByIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactsByType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactsByTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactsByType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactsByType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactsByType(ctx, req.(*GetArtifactsByTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionsByType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionsByTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionsByType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionsByType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionsByType(ctx, req.(*GetExecutionsByTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextsByType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextsByTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextsByType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextsByType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextsByType(ctx, req.(*GetContextsByTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactByTypeAndName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactByTypeAndNameRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactByTypeAndName(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactByTypeAndName",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactByTypeAndName(ctx, req.(*GetArtifactByTypeAndNameRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionByTypeAndName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionByTypeAndNameRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionByTypeAndName(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionByTypeAndName",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionByTypeAndName(ctx, req.(*GetExecutionByTypeAndNameRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextByTypeAndName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextByTypeAndNameRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextByTypeAndName(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextByTypeAndName",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextByTypeAndName(ctx, req.(*GetContextByTypeAndNameRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactsByURI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactsByURIRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactsByURI(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactsByURI",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactsByURI(ctx, req.(*GetArtifactsByURIRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetEventsByExecutionIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetEventsByExecutionIDsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetEventsByExecutionIDs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetEventsByExecutionIDs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetEventsByExecutionIDs(ctx, req.(*GetEventsByExecutionIDsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetEventsByArtifactIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetEventsByArtifactIDsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetEventsByArtifactIDs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetEventsByArtifactIDs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetEventsByArtifactIDs(ctx, req.(*GetEventsByArtifactIDsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactsByExternalIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactsByExternalIdsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactsByExternalIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactsByExternalIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactsByExternalIds(ctx, req.(*GetArtifactsByExternalIdsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionsByExternalIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionsByExternalIdsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionsByExternalIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionsByExternalIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionsByExternalIds(ctx, req.(*GetExecutionsByExternalIdsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextsByExternalIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextsByExternalIdsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextsByExternalIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextsByExternalIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextsByExternalIds(ctx, req.(*GetContextsByExternalIdsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactTypesByExternalIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactTypesByExternalIdsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactTypesByExternalIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactTypesByExternalIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactTypesByExternalIds(ctx, req.(*GetArtifactTypesByExternalIdsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionTypesByExternalIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionTypesByExternalIdsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionTypesByExternalIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionTypesByExternalIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionTypesByExternalIds(ctx, req.(*GetExecutionTypesByExternalIdsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextTypesByExternalIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextTypesByExternalIdsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextTypesByExternalIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextTypesByExternalIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextTypesByExternalIds(ctx, req.(*GetContextTypesByExternalIdsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextsByArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextsByArtifactRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextsByArtifact(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextsByArtifact",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextsByArtifact(ctx, req.(*GetContextsByArtifactRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetContextsByExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetContextsByExecutionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetContextsByExecution(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetContextsByExecution",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetContextsByExecution(ctx, req.(*GetContextsByExecutionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetParentContextsByContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetParentContextsByContextRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetParentContextsByContext(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetParentContextsByContext",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetParentContextsByContext(ctx, req.(*GetParentContextsByContextRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetChildrenContextsByContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetChildrenContextsByContextRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetChildrenContextsByContext(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetChildrenContextsByContext",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetChildrenContextsByContext(ctx, req.(*GetChildrenContextsByContextRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetParentContextsByContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetParentContextsByContextsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetParentContextsByContexts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetParentContextsByContexts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetParentContextsByContexts(ctx, req.(*GetParentContextsByContextsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetChildrenContextsByContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetChildrenContextsByContextsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetChildrenContextsByContexts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetChildrenContextsByContexts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetChildrenContextsByContexts(ctx, req.(*GetChildrenContextsByContextsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetArtifactsByContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetArtifactsByContextRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetArtifactsByContext(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetArtifactsByContext",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetArtifactsByContext(ctx, req.(*GetArtifactsByContextRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetExecutionsByContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetExecutionsByContextRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetExecutionsByContext(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetExecutionsByContext",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetExecutionsByContext(ctx, req.(*GetExecutionsByContextRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetLineageGraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetLineageGraphRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetLineageGraph(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetLineageGraph",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetLineageGraph(ctx, req.(*GetLineageGraphRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MetadataStoreService_GetLineageSubgraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetLineageSubgraphRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MetadataStoreServiceServer).GetLineageSubgraph(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/ml_metadata.MetadataStoreService/GetLineageSubgraph",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MetadataStoreServiceServer).GetLineageSubgraph(ctx, req.(*GetLineageSubgraphRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// MetadataStoreService_ServiceDesc is the grpc.ServiceDesc for MetadataStoreService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var MetadataStoreService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "ml_metadata.MetadataStoreService",
	HandlerType: (*MetadataStoreServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "PutArtifactType",
			Handler:    _MetadataStoreService_PutArtifactType_Handler,
		},
		{
			MethodName: "PutExecutionType",
			Handler:    _MetadataStoreService_PutExecutionType_Handler,
		},
		{
			MethodName: "PutContextType",
			Handler:    _MetadataStoreService_PutContextType_Handler,
		},
		{
			MethodName: "PutTypes",
			Handler:    _MetadataStoreService_PutTypes_Handler,
		},
		{
			MethodName: "PutArtifacts",
			Handler:    _MetadataStoreService_PutArtifacts_Handler,
		},
		{
			MethodName: "PutExecutions",
			Handler:    _MetadataStoreService_PutExecutions_Handler,
		},
		{
			MethodName: "PutEvents",
			Handler:    _MetadataStoreService_PutEvents_Handler,
		},
		{
			MethodName: "PutExecution",
			Handler:    _MetadataStoreService_PutExecution_Handler,
		},
		{
			MethodName: "PutLineageSubgraph",
			Handler:    _MetadataStoreService_PutLineageSubgraph_Handler,
		},
		{
			MethodName: "PutContexts",
			Handler:    _MetadataStoreService_PutContexts_Handler,
		},
		{
			MethodName: "PutAttributionsAndAssociations",
			Handler:    _MetadataStoreService_PutAttributionsAndAssociations_Handler,
		},
		{
			MethodName: "PutParentContexts",
			Handler:    _MetadataStoreService_PutParentContexts_Handler,
		},
		{
			MethodName: "GetArtifactType",
			Handler:    _MetadataStoreService_GetArtifactType_Handler,
		},
		{
			MethodName: "GetArtifactTypesByID",
			Handler:    _MetadataStoreService_GetArtifactTypesByID_Handler,
		},
		{
			MethodName: "GetArtifactTypes",
			Handler:    _MetadataStoreService_GetArtifactTypes_Handler,
		},
		{
			MethodName: "GetExecutionType",
			Handler:    _MetadataStoreService_GetExecutionType_Handler,
		},
		{
			MethodName: "GetExecutionTypesByID",
			Handler:    _MetadataStoreService_GetExecutionTypesByID_Handler,
		},
		{
			MethodName: "GetExecutionTypes",
			Handler:    _MetadataStoreService_GetExecutionTypes_Handler,
		},
		{
			MethodName: "GetContextType",
			Handler:    _MetadataStoreService_GetContextType_Handler,
		},
		{
			MethodName: "GetContextTypesByID",
			Handler:    _MetadataStoreService_GetContextTypesByID_Handler,
		},
		{
			MethodName: "GetContextTypes",
			Handler:    _MetadataStoreService_GetContextTypes_Handler,
		},
		{
			MethodName: "GetArtifacts",
			Handler:    _MetadataStoreService_GetArtifacts_Handler,
		},
		{
			MethodName: "GetExecutions",
			Handler:    _MetadataStoreService_GetExecutions_Handler,
		},
		{
			MethodName: "GetContexts",
			Handler:    _MetadataStoreService_GetContexts_Handler,
		},
		{
			MethodName: "GetArtifactsByID",
			Handler:    _MetadataStoreService_GetArtifactsByID_Handler,
		},
		{
			MethodName: "GetExecutionsByID",
			Handler:    _MetadataStoreService_GetExecutionsByID_Handler,
		},
		{
			MethodName: "GetContextsByID",
			Handler:    _MetadataStoreService_GetContextsByID_Handler,
		},
		{
			MethodName: "GetArtifactsByType",
			Handler:    _MetadataStoreService_GetArtifactsByType_Handler,
		},
		{
			MethodName: "GetExecutionsByType",
			Handler:    _MetadataStoreService_GetExecutionsByType_Handler,
		},
		{
			MethodName: "GetContextsByType",
			Handler:    _MetadataStoreService_GetContextsByType_Handler,
		},
		{
			MethodName: "GetArtifactByTypeAndName",
			Handler:    _MetadataStoreService_GetArtifactByTypeAndName_Handler,
		},
		{
			MethodName: "GetExecutionByTypeAndName",
			Handler:    _MetadataStoreService_GetExecutionByTypeAndName_Handler,
		},
		{
			MethodName: "GetContextByTypeAndName",
			Handler:    _MetadataStoreService_GetContextByTypeAndName_Handler,
		},
		{
			MethodName: "GetArtifactsByURI",
			Handler:    _MetadataStoreService_GetArtifactsByURI_Handler,
		},
		{
			MethodName: "GetEventsByExecutionIDs",
			Handler:    _MetadataStoreService_GetEventsByExecutionIDs_Handler,
		},
		{
			MethodName: "GetEventsByArtifactIDs",
			Handler:    _MetadataStoreService_GetEventsByArtifactIDs_Handler,
		},
		{
			MethodName: "GetArtifactsByExternalIds",
			Handler:    _MetadataStoreService_GetArtifactsByExternalIds_Handler,
		},
		{
			MethodName: "GetExecutionsByExternalIds",
			Handler:    _MetadataStoreService_GetExecutionsByExternalIds_Handler,
		},
		{
			MethodName: "GetContextsByExternalIds",
			Handler:    _MetadataStoreService_GetContextsByExternalIds_Handler,
		},
		{
			MethodName: "GetArtifactTypesByExternalIds",
			Handler:    _MetadataStoreService_GetArtifactTypesByExternalIds_Handler,
		},
		{
			MethodName: "GetExecutionTypesByExternalIds",
			Handler:    _MetadataStoreService_GetExecutionTypesByExternalIds_Handler,
		},
		{
			MethodName: "GetContextTypesByExternalIds",
			Handler:    _MetadataStoreService_GetContextTypesByExternalIds_Handler,
		},
		{
			MethodName: "GetContextsByArtifact",
			Handler:    _MetadataStoreService_GetContextsByArtifact_Handler,
		},
		{
			MethodName: "GetContextsByExecution",
			Handler:    _MetadataStoreService_GetContextsByExecution_Handler,
		},
		{
			MethodName: "GetParentContextsByContext",
			Handler:    _MetadataStoreService_GetParentContextsByContext_Handler,
		},
		{
			MethodName: "GetChildrenContextsByContext",
			Handler:    _MetadataStoreService_GetChildrenContextsByContext_Handler,
		},
		{
			MethodName: "GetParentContextsByContexts",
			Handler:    _MetadataStoreService_GetParentContextsByContexts_Handler,
		},
		{
			MethodName: "GetChildrenContextsByContexts",
			Handler:    _MetadataStoreService_GetChildrenContextsByContexts_Handler,
		},
		{
			MethodName: "GetArtifactsByContext",
			Handler:    _MetadataStoreService_GetArtifactsByContext_Handler,
		},
		{
			MethodName: "GetExecutionsByContext",
			Handler:    _MetadataStoreService_GetExecutionsByContext_Handler,
		},
		{
			MethodName: "GetLineageGraph",
			Handler:    _MetadataStoreService_GetLineageGraph_Handler,
		},
		{
			MethodName: "GetLineageSubgraph",
			Handler:    _MetadataStoreService_GetLineageSubgraph_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "ml_metadata/proto/metadata_store_service.proto",
}
