# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""

import grpc

from cuvis_ai_schemas.grpc.v1 import (
    cuvis_ai_pb2 as cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2,
)


class CuvisAIServiceStub:
    """============================================================================
    Service Definition
    ============================================================================

    """

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.ListAvailablePipelines = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/ListAvailablePipelines",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailablePipelinesRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailablePipelinesResponse.FromString,
            _registered_method=True,
        )
        self.GetPipelineInfo = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetPipelineInfo",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInfoRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInfoResponse.FromString,
            _registered_method=True,
        )
        self.CreateSession = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/CreateSession",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CreateSessionRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CreateSessionResponse.FromString,
            _registered_method=True,
        )
        self.SetSessionSearchPaths = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/SetSessionSearchPaths",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetSessionSearchPathsRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetSessionSearchPathsResponse.FromString,
            _registered_method=True,
        )
        self.CloseSession = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/CloseSession",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CloseSessionRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CloseSessionResponse.FromString,
            _registered_method=True,
        )
        self.ResolveConfig = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/ResolveConfig",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ResolveConfigRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ResolveConfigResponse.FromString,
            _registered_method=True,
        )
        self.GetParameterSchema = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetParameterSchema",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetParameterSchemaRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetParameterSchemaResponse.FromString,
            _registered_method=True,
        )
        self.ValidateConfig = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/ValidateConfig",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ValidateConfigRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ValidateConfigResponse.FromString,
            _registered_method=True,
        )
        self.LoadPipelineWeights = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/LoadPipelineWeights",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineWeightsRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineWeightsResponse.FromString,
            _registered_method=True,
        )
        self.SetTrainRunConfig = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/SetTrainRunConfig",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetTrainRunConfigRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetTrainRunConfigResponse.FromString,
            _registered_method=True,
        )
        self.Train = channel.unary_stream(
            "/cuvis_ai.v1.CuvisAIService/Train",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.TrainRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.TrainResponse.FromString,
            _registered_method=True,
        )
        self.GetTrainStatus = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetTrainStatus",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainStatusRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainStatusResponse.FromString,
            _registered_method=True,
        )
        self.GetTrainingCapabilities = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetTrainingCapabilities",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainingCapabilitiesRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainingCapabilitiesResponse.FromString,
            _registered_method=True,
        )
        self.SavePipeline = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/SavePipeline",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SavePipelineRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SavePipelineResponse.FromString,
            _registered_method=True,
        )
        self.LoadPipeline = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/LoadPipeline",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineResponse.FromString,
            _registered_method=True,
        )
        self.SaveTrainRun = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/SaveTrainRun",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SaveTrainRunRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SaveTrainRunResponse.FromString,
            _registered_method=True,
        )
        self.RestoreTrainRun = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/RestoreTrainRun",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.RestoreTrainRunRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.RestoreTrainRunResponse.FromString,
            _registered_method=True,
        )
        self.GetPipelineInputs = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetPipelineInputs",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInputsRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInputsResponse.FromString,
            _registered_method=True,
        )
        self.GetPipelineOutputs = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetPipelineOutputs",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineOutputsRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineOutputsResponse.FromString,
            _registered_method=True,
        )
        self.GetPipelineVisualization = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetPipelineVisualization",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineVisualizationRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineVisualizationResponse.FromString,
            _registered_method=True,
        )
        self.Inference = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/Inference",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.InferenceRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.InferenceResponse.FromString,
            _registered_method=True,
        )
        self.LoadPlugins = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/LoadPlugins",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPluginsRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPluginsResponse.FromString,
            _registered_method=True,
        )
        self.ListLoadedPlugins = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/ListLoadedPlugins",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListLoadedPluginsRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListLoadedPluginsResponse.FromString,
            _registered_method=True,
        )
        self.GetPluginInfo = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/GetPluginInfo",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPluginInfoRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPluginInfoResponse.FromString,
            _registered_method=True,
        )
        self.ListAvailableNodes = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/ListAvailableNodes",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailableNodesRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailableNodesResponse.FromString,
            _registered_method=True,
        )
        self.ClearPluginCache = channel.unary_unary(
            "/cuvis_ai.v1.CuvisAIService/ClearPluginCache",
            request_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ClearPluginCacheRequest.SerializeToString,
            response_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ClearPluginCacheResponse.FromString,
            _registered_method=True,
        )


class CuvisAIServiceServicer:
    """============================================================================
    Service Definition
    ============================================================================

    """

    def ListAvailablePipelines(self, request, context):
        """Pipeline Discovery"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetPipelineInfo(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def CreateSession(self, request, context):
        """Session Management"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def SetSessionSearchPaths(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def CloseSession(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def ResolveConfig(self, request, context):
        """Config resolution and validation"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetParameterSchema(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def ValidateConfig(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def LoadPipelineWeights(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def SetTrainRunConfig(self, request, context):
        """Training workflow"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def Train(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetTrainStatus(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetTrainingCapabilities(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def SavePipeline(self, request, context):
        """Pipeline Management (Model Deployment)"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def LoadPipeline(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def SaveTrainRun(self, request, context):
        """Train Run Management (Reproducibility)"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def RestoreTrainRun(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetPipelineInputs(self, request, context):
        """Pipeline Introspection"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetPipelineOutputs(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetPipelineVisualization(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def Inference(self, request, context):
        """Inference"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def LoadPlugins(self, request, context):
        """Plugin Management"""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def ListLoadedPlugins(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetPluginInfo(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def ListAvailableNodes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def ClearPluginCache(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")


def add_CuvisAIServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
        "ListAvailablePipelines": grpc.unary_unary_rpc_method_handler(
            servicer.ListAvailablePipelines,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailablePipelinesRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailablePipelinesResponse.SerializeToString,
        ),
        "GetPipelineInfo": grpc.unary_unary_rpc_method_handler(
            servicer.GetPipelineInfo,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInfoRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInfoResponse.SerializeToString,
        ),
        "CreateSession": grpc.unary_unary_rpc_method_handler(
            servicer.CreateSession,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CreateSessionRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CreateSessionResponse.SerializeToString,
        ),
        "SetSessionSearchPaths": grpc.unary_unary_rpc_method_handler(
            servicer.SetSessionSearchPaths,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetSessionSearchPathsRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetSessionSearchPathsResponse.SerializeToString,
        ),
        "CloseSession": grpc.unary_unary_rpc_method_handler(
            servicer.CloseSession,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CloseSessionRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CloseSessionResponse.SerializeToString,
        ),
        "ResolveConfig": grpc.unary_unary_rpc_method_handler(
            servicer.ResolveConfig,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ResolveConfigRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ResolveConfigResponse.SerializeToString,
        ),
        "GetParameterSchema": grpc.unary_unary_rpc_method_handler(
            servicer.GetParameterSchema,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetParameterSchemaRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetParameterSchemaResponse.SerializeToString,
        ),
        "ValidateConfig": grpc.unary_unary_rpc_method_handler(
            servicer.ValidateConfig,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ValidateConfigRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ValidateConfigResponse.SerializeToString,
        ),
        "LoadPipelineWeights": grpc.unary_unary_rpc_method_handler(
            servicer.LoadPipelineWeights,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineWeightsRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineWeightsResponse.SerializeToString,
        ),
        "SetTrainRunConfig": grpc.unary_unary_rpc_method_handler(
            servicer.SetTrainRunConfig,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetTrainRunConfigRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetTrainRunConfigResponse.SerializeToString,
        ),
        "Train": grpc.unary_stream_rpc_method_handler(
            servicer.Train,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.TrainRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.TrainResponse.SerializeToString,
        ),
        "GetTrainStatus": grpc.unary_unary_rpc_method_handler(
            servicer.GetTrainStatus,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainStatusRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainStatusResponse.SerializeToString,
        ),
        "GetTrainingCapabilities": grpc.unary_unary_rpc_method_handler(
            servicer.GetTrainingCapabilities,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainingCapabilitiesRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainingCapabilitiesResponse.SerializeToString,
        ),
        "SavePipeline": grpc.unary_unary_rpc_method_handler(
            servicer.SavePipeline,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SavePipelineRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SavePipelineResponse.SerializeToString,
        ),
        "LoadPipeline": grpc.unary_unary_rpc_method_handler(
            servicer.LoadPipeline,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineResponse.SerializeToString,
        ),
        "SaveTrainRun": grpc.unary_unary_rpc_method_handler(
            servicer.SaveTrainRun,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SaveTrainRunRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SaveTrainRunResponse.SerializeToString,
        ),
        "RestoreTrainRun": grpc.unary_unary_rpc_method_handler(
            servicer.RestoreTrainRun,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.RestoreTrainRunRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.RestoreTrainRunResponse.SerializeToString,
        ),
        "GetPipelineInputs": grpc.unary_unary_rpc_method_handler(
            servicer.GetPipelineInputs,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInputsRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInputsResponse.SerializeToString,
        ),
        "GetPipelineOutputs": grpc.unary_unary_rpc_method_handler(
            servicer.GetPipelineOutputs,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineOutputsRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineOutputsResponse.SerializeToString,
        ),
        "GetPipelineVisualization": grpc.unary_unary_rpc_method_handler(
            servicer.GetPipelineVisualization,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineVisualizationRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineVisualizationResponse.SerializeToString,
        ),
        "Inference": grpc.unary_unary_rpc_method_handler(
            servicer.Inference,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.InferenceRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.InferenceResponse.SerializeToString,
        ),
        "LoadPlugins": grpc.unary_unary_rpc_method_handler(
            servicer.LoadPlugins,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPluginsRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPluginsResponse.SerializeToString,
        ),
        "ListLoadedPlugins": grpc.unary_unary_rpc_method_handler(
            servicer.ListLoadedPlugins,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListLoadedPluginsRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListLoadedPluginsResponse.SerializeToString,
        ),
        "GetPluginInfo": grpc.unary_unary_rpc_method_handler(
            servicer.GetPluginInfo,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPluginInfoRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPluginInfoResponse.SerializeToString,
        ),
        "ListAvailableNodes": grpc.unary_unary_rpc_method_handler(
            servicer.ListAvailableNodes,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailableNodesRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailableNodesResponse.SerializeToString,
        ),
        "ClearPluginCache": grpc.unary_unary_rpc_method_handler(
            servicer.ClearPluginCache,
            request_deserializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ClearPluginCacheRequest.FromString,
            response_serializer=cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ClearPluginCacheResponse.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        "cuvis_ai.v1.CuvisAIService", rpc_method_handlers
    )
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers("cuvis_ai.v1.CuvisAIService", rpc_method_handlers)


# This class is part of an EXPERIMENTAL API.
class CuvisAIService:
    """============================================================================
    Service Definition
    ============================================================================

    """

    @staticmethod
    def ListAvailablePipelines(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/ListAvailablePipelines",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailablePipelinesRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailablePipelinesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetPipelineInfo(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetPipelineInfo",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInfoRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInfoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def CreateSession(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/CreateSession",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CreateSessionRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CreateSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def SetSessionSearchPaths(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/SetSessionSearchPaths",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetSessionSearchPathsRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetSessionSearchPathsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def CloseSession(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/CloseSession",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CloseSessionRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.CloseSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def ResolveConfig(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/ResolveConfig",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ResolveConfigRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ResolveConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetParameterSchema(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetParameterSchema",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetParameterSchemaRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetParameterSchemaResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def ValidateConfig(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/ValidateConfig",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ValidateConfigRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ValidateConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def LoadPipelineWeights(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/LoadPipelineWeights",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineWeightsRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineWeightsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def SetTrainRunConfig(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/SetTrainRunConfig",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetTrainRunConfigRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SetTrainRunConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def Train(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_stream(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/Train",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.TrainRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.TrainResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetTrainStatus(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetTrainStatus",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainStatusRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetTrainingCapabilities(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetTrainingCapabilities",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainingCapabilitiesRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetTrainingCapabilitiesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def SavePipeline(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/SavePipeline",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SavePipelineRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SavePipelineResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def LoadPipeline(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/LoadPipeline",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPipelineResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def SaveTrainRun(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/SaveTrainRun",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SaveTrainRunRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.SaveTrainRunResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def RestoreTrainRun(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/RestoreTrainRun",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.RestoreTrainRunRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.RestoreTrainRunResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetPipelineInputs(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetPipelineInputs",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInputsRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineInputsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetPipelineOutputs(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetPipelineOutputs",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineOutputsRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineOutputsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetPipelineVisualization(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetPipelineVisualization",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineVisualizationRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPipelineVisualizationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def Inference(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/Inference",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.InferenceRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.InferenceResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def LoadPlugins(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/LoadPlugins",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPluginsRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.LoadPluginsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def ListLoadedPlugins(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/ListLoadedPlugins",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListLoadedPluginsRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListLoadedPluginsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def GetPluginInfo(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/GetPluginInfo",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPluginInfoRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.GetPluginInfoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def ListAvailableNodes(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/ListAvailableNodes",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailableNodesRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ListAvailableNodesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )

    @staticmethod
    def ClearPluginCache(
        request,
        target,
        options=(),
        channel_credentials=None,
        call_credentials=None,
        insecure=False,
        compression=None,
        wait_for_ready=None,
        timeout=None,
        metadata=None,
    ):
        return grpc.experimental.unary_unary(
            request,
            target,
            "/cuvis_ai.v1.CuvisAIService/ClearPluginCache",
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ClearPluginCacheRequest.SerializeToString,
            cuvis__ai__schemas_dot_grpc_dot_v1_dot_cuvis__ai__pb2.ClearPluginCacheResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True,
        )
