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

from cline_core.proto.cline import common_pb2 as cline_dot_common__pb2
from cline_core.proto.cline import models_pb2 as cline_dot_models__pb2

GRPC_GENERATED_VERSION = '1.76.0'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + ' but the generated code in cline/models_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


class ModelsServiceStub(object):
    """Service for model-related operations
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.getOllamaModels = channel.unary_unary(
                '/cline.ModelsService/getOllamaModels',
                request_serializer=cline_dot_common__pb2.StringRequest.SerializeToString,
                response_deserializer=cline_dot_common__pb2.StringArray.FromString,
                _registered_method=True)
        self.getLmStudioModels = channel.unary_unary(
                '/cline.ModelsService/getLmStudioModels',
                request_serializer=cline_dot_common__pb2.StringRequest.SerializeToString,
                response_deserializer=cline_dot_common__pb2.StringArray.FromString,
                _registered_method=True)
        self.getVsCodeLmModels = channel.unary_unary(
                '/cline.ModelsService/getVsCodeLmModels',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.VsCodeLmModelsArray.FromString,
                _registered_method=True)
        self.refreshOpenRouterModelsRpc = channel.unary_unary(
                '/cline.ModelsService/refreshOpenRouterModelsRpc',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)
        self.refreshHuggingFaceModels = channel.unary_unary(
                '/cline.ModelsService/refreshHuggingFaceModels',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)
        self.refreshOpenAiModels = channel.unary_unary(
                '/cline.ModelsService/refreshOpenAiModels',
                request_serializer=cline_dot_models__pb2.OpenAiModelsRequest.SerializeToString,
                response_deserializer=cline_dot_common__pb2.StringArray.FromString,
                _registered_method=True)
        self.refreshRequestyModels = channel.unary_unary(
                '/cline.ModelsService/refreshRequestyModels',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)
        self.refreshHicapModels = channel.unary_unary(
                '/cline.ModelsService/refreshHicapModels',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)
        self.subscribeToOpenRouterModels = channel.unary_stream(
                '/cline.ModelsService/subscribeToOpenRouterModels',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)
        self.updateApiConfigurationProto = channel.unary_unary(
                '/cline.ModelsService/updateApiConfigurationProto',
                request_serializer=cline_dot_models__pb2.UpdateApiConfigurationRequest.SerializeToString,
                response_deserializer=cline_dot_common__pb2.Empty.FromString,
                _registered_method=True)
        self.updateApiConfiguration = channel.unary_unary(
                '/cline.ModelsService/updateApiConfiguration',
                request_serializer=cline_dot_models__pb2.UpdateApiConfigurationRequestNew.SerializeToString,
                response_deserializer=cline_dot_common__pb2.Empty.FromString,
                _registered_method=True)
        self.updateApiConfigurationPartial = channel.unary_unary(
                '/cline.ModelsService/updateApiConfigurationPartial',
                request_serializer=cline_dot_models__pb2.UpdateApiConfigurationPartialRequest.SerializeToString,
                response_deserializer=cline_dot_common__pb2.Empty.FromString,
                _registered_method=True)
        self.refreshGroqModelsRpc = channel.unary_unary(
                '/cline.ModelsService/refreshGroqModelsRpc',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)
        self.refreshBasetenModelsRpc = channel.unary_unary(
                '/cline.ModelsService/refreshBasetenModelsRpc',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)
        self.getSapAiCoreModels = channel.unary_unary(
                '/cline.ModelsService/getSapAiCoreModels',
                request_serializer=cline_dot_models__pb2.SapAiCoreModelsRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.SapAiCoreModelsResponse.FromString,
                _registered_method=True)
        self.refreshOcaModels = channel.unary_unary(
                '/cline.ModelsService/refreshOcaModels',
                request_serializer=cline_dot_common__pb2.StringRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OcaCompatibleModelInfo.FromString,
                _registered_method=True)
        self.getAihubmixModels = channel.unary_unary(
                '/cline.ModelsService/getAihubmixModels',
                request_serializer=cline_dot_common__pb2.EmptyRequest.SerializeToString,
                response_deserializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
                _registered_method=True)


class ModelsServiceServicer(object):
    """Service for model-related operations
    """

    def getOllamaModels(self, request, context):
        """Fetches available models from Ollama
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getLmStudioModels(self, request, context):
        """Fetches available models from LM Studio
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getVsCodeLmModels(self, request, context):
        """Fetches available models from VS Code LM API
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshOpenRouterModelsRpc(self, request, context):
        """Refreshes and returns OpenRouter models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshHuggingFaceModels(self, request, context):
        """Refreshes and returns Hugging Face models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshOpenAiModels(self, request, context):
        """Refreshes and returns OpenAI models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshRequestyModels(self, request, context):
        """Refreshes and returns Requesty models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshHicapModels(self, request, context):
        """Refreshes and returns Hicap models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def subscribeToOpenRouterModels(self, request, context):
        """Subscribe to OpenRouter models updates
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def updateApiConfigurationProto(self, request, context):
        """Updates API configuration (legacy - uses combined configuration)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def updateApiConfiguration(self, request, context):
        """Updates API configuration (new - uses separate options and secrets)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def updateApiConfigurationPartial(self, request, context):
        """Updates API configuration with partial values (only updates fields that are explicitly set)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshGroqModelsRpc(self, request, context):
        """Refreshes and returns Groq models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshBasetenModelsRpc(self, request, context):
        """Refreshes and returns Baseten models
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getSapAiCoreModels(self, request, context):
        """Fetches available models from SAP AI Core
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def refreshOcaModels(self, request, context):
        """Fetches available models from OCA
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAihubmixModels(self, request, context):
        """Fetches available models from AIhubmix
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_ModelsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'getOllamaModels': grpc.unary_unary_rpc_method_handler(
                    servicer.getOllamaModels,
                    request_deserializer=cline_dot_common__pb2.StringRequest.FromString,
                    response_serializer=cline_dot_common__pb2.StringArray.SerializeToString,
            ),
            'getLmStudioModels': grpc.unary_unary_rpc_method_handler(
                    servicer.getLmStudioModels,
                    request_deserializer=cline_dot_common__pb2.StringRequest.FromString,
                    response_serializer=cline_dot_common__pb2.StringArray.SerializeToString,
            ),
            'getVsCodeLmModels': grpc.unary_unary_rpc_method_handler(
                    servicer.getVsCodeLmModels,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.VsCodeLmModelsArray.SerializeToString,
            ),
            'refreshOpenRouterModelsRpc': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshOpenRouterModelsRpc,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
            'refreshHuggingFaceModels': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshHuggingFaceModels,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
            'refreshOpenAiModels': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshOpenAiModels,
                    request_deserializer=cline_dot_models__pb2.OpenAiModelsRequest.FromString,
                    response_serializer=cline_dot_common__pb2.StringArray.SerializeToString,
            ),
            'refreshRequestyModels': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshRequestyModels,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
            'refreshHicapModels': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshHicapModels,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
            'subscribeToOpenRouterModels': grpc.unary_stream_rpc_method_handler(
                    servicer.subscribeToOpenRouterModels,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
            'updateApiConfigurationProto': grpc.unary_unary_rpc_method_handler(
                    servicer.updateApiConfigurationProto,
                    request_deserializer=cline_dot_models__pb2.UpdateApiConfigurationRequest.FromString,
                    response_serializer=cline_dot_common__pb2.Empty.SerializeToString,
            ),
            'updateApiConfiguration': grpc.unary_unary_rpc_method_handler(
                    servicer.updateApiConfiguration,
                    request_deserializer=cline_dot_models__pb2.UpdateApiConfigurationRequestNew.FromString,
                    response_serializer=cline_dot_common__pb2.Empty.SerializeToString,
            ),
            'updateApiConfigurationPartial': grpc.unary_unary_rpc_method_handler(
                    servicer.updateApiConfigurationPartial,
                    request_deserializer=cline_dot_models__pb2.UpdateApiConfigurationPartialRequest.FromString,
                    response_serializer=cline_dot_common__pb2.Empty.SerializeToString,
            ),
            'refreshGroqModelsRpc': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshGroqModelsRpc,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
            'refreshBasetenModelsRpc': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshBasetenModelsRpc,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
            'getSapAiCoreModels': grpc.unary_unary_rpc_method_handler(
                    servicer.getSapAiCoreModels,
                    request_deserializer=cline_dot_models__pb2.SapAiCoreModelsRequest.FromString,
                    response_serializer=cline_dot_models__pb2.SapAiCoreModelsResponse.SerializeToString,
            ),
            'refreshOcaModels': grpc.unary_unary_rpc_method_handler(
                    servicer.refreshOcaModels,
                    request_deserializer=cline_dot_common__pb2.StringRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OcaCompatibleModelInfo.SerializeToString,
            ),
            'getAihubmixModels': grpc.unary_unary_rpc_method_handler(
                    servicer.getAihubmixModels,
                    request_deserializer=cline_dot_common__pb2.EmptyRequest.FromString,
                    response_serializer=cline_dot_models__pb2.OpenRouterCompatibleModelInfo.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'cline.ModelsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('cline.ModelsService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class ModelsService(object):
    """Service for model-related operations
    """

    @staticmethod
    def getOllamaModels(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,
            '/cline.ModelsService/getOllamaModels',
            cline_dot_common__pb2.StringRequest.SerializeToString,
            cline_dot_common__pb2.StringArray.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getLmStudioModels(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,
            '/cline.ModelsService/getLmStudioModels',
            cline_dot_common__pb2.StringRequest.SerializeToString,
            cline_dot_common__pb2.StringArray.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getVsCodeLmModels(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,
            '/cline.ModelsService/getVsCodeLmModels',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.VsCodeLmModelsArray.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshOpenRouterModelsRpc(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,
            '/cline.ModelsService/refreshOpenRouterModelsRpc',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshHuggingFaceModels(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,
            '/cline.ModelsService/refreshHuggingFaceModels',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshOpenAiModels(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,
            '/cline.ModelsService/refreshOpenAiModels',
            cline_dot_models__pb2.OpenAiModelsRequest.SerializeToString,
            cline_dot_common__pb2.StringArray.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshRequestyModels(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,
            '/cline.ModelsService/refreshRequestyModels',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshHicapModels(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,
            '/cline.ModelsService/refreshHicapModels',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def subscribeToOpenRouterModels(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,
            '/cline.ModelsService/subscribeToOpenRouterModels',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def updateApiConfigurationProto(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,
            '/cline.ModelsService/updateApiConfigurationProto',
            cline_dot_models__pb2.UpdateApiConfigurationRequest.SerializeToString,
            cline_dot_common__pb2.Empty.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def updateApiConfiguration(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,
            '/cline.ModelsService/updateApiConfiguration',
            cline_dot_models__pb2.UpdateApiConfigurationRequestNew.SerializeToString,
            cline_dot_common__pb2.Empty.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def updateApiConfigurationPartial(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,
            '/cline.ModelsService/updateApiConfigurationPartial',
            cline_dot_models__pb2.UpdateApiConfigurationPartialRequest.SerializeToString,
            cline_dot_common__pb2.Empty.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshGroqModelsRpc(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,
            '/cline.ModelsService/refreshGroqModelsRpc',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshBasetenModelsRpc(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,
            '/cline.ModelsService/refreshBasetenModelsRpc',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getSapAiCoreModels(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,
            '/cline.ModelsService/getSapAiCoreModels',
            cline_dot_models__pb2.SapAiCoreModelsRequest.SerializeToString,
            cline_dot_models__pb2.SapAiCoreModelsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def refreshOcaModels(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,
            '/cline.ModelsService/refreshOcaModels',
            cline_dot_common__pb2.StringRequest.SerializeToString,
            cline_dot_models__pb2.OcaCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getAihubmixModels(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,
            '/cline.ModelsService/getAihubmixModels',
            cline_dot_common__pb2.EmptyRequest.SerializeToString,
            cline_dot_models__pb2.OpenRouterCompatibleModelInfo.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
