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

from agentic_mesh_protocol.registry.v1 import registry_models_pb2 as agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__models__pb2
from agentic_mesh_protocol.registry.v1 import registry_requests_pb2 as agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2


class RegistryServiceStub(object):
    """RegistryService is the entry point for agents and tools
    to register themselves and discover other resources in the mesh.
    -----------------------
    1. REGISTRATION
    -----------------------
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.RegisterModule = channel.unary_unary(
                '/agentic_mesh_protocol.registry.v1.RegistryService/RegisterModule',
                request_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.RegisterModuleRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.RegisterModuleResponse.FromString,
                _registered_method=True)
        self.Heartbeat = channel.unary_unary(
                '/agentic_mesh_protocol.registry.v1.RegistryService/Heartbeat',
                request_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.HeartbeatRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.HeartbeatResponse.FromString,
                _registered_method=True)
        self.DiscoverSetups = channel.unary_unary(
                '/agentic_mesh_protocol.registry.v1.RegistryService/DiscoverSetups',
                request_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverSetupsRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverSetupsResponse.FromString,
                _registered_method=True)
        self.DiscoverModules = channel.unary_unary(
                '/agentic_mesh_protocol.registry.v1.RegistryService/DiscoverModules',
                request_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverModulesRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverModulesResponse.FromString,
                _registered_method=True)
        self.GetSetup = channel.unary_unary(
                '/agentic_mesh_protocol.registry.v1.RegistryService/GetSetup',
                request_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.GetSetupRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__models__pb2.SetupDescriptor.FromString,
                _registered_method=True)
        self.GetModule = channel.unary_unary(
                '/agentic_mesh_protocol.registry.v1.RegistryService/GetModule',
                request_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.GetModuleRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__models__pb2.ModuleDescriptor.FromString,
                _registered_method=True)


class RegistryServiceServicer(object):
    """RegistryService is the entry point for agents and tools
    to register themselves and discover other resources in the mesh.
    -----------------------
    1. REGISTRATION
    -----------------------
    """

    def RegisterModule(self, request, context):
        """Called by a module gRPC at startup to declare itself in the network.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Heartbeat(self, request, context):
        """Optional but useful if you want a bit of liveness.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DiscoverSetups(self, request, context):
        """-----------------------
        2. DISCOVERY
        -----------------------

        Discover setups that are available (agents / tools).
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DiscoverModules(self, request, context):
        """Discover raw modules (rarely used by agents directly).
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSetup(self, request, context):
        """-----------------------
        3. RESOLUTION / INFO
        -----------------------

        Resolve a setup_id into a complete descriptor (config + endpoint module).
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetModule(self, request, context):
        """Resolve a module_id into a complete descriptor.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_RegistryServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'RegisterModule': grpc.unary_unary_rpc_method_handler(
                    servicer.RegisterModule,
                    request_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.RegisterModuleRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.RegisterModuleResponse.SerializeToString,
            ),
            'Heartbeat': grpc.unary_unary_rpc_method_handler(
                    servicer.Heartbeat,
                    request_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.HeartbeatRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.HeartbeatResponse.SerializeToString,
            ),
            'DiscoverSetups': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscoverSetups,
                    request_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverSetupsRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverSetupsResponse.SerializeToString,
            ),
            'DiscoverModules': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscoverModules,
                    request_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverModulesRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverModulesResponse.SerializeToString,
            ),
            'GetSetup': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSetup,
                    request_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.GetSetupRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__models__pb2.SetupDescriptor.SerializeToString,
            ),
            'GetModule': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModule,
                    request_deserializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.GetModuleRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__models__pb2.ModuleDescriptor.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'agentic_mesh_protocol.registry.v1.RegistryService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('agentic_mesh_protocol.registry.v1.RegistryService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class RegistryService(object):
    """RegistryService is the entry point for agents and tools
    to register themselves and discover other resources in the mesh.
    -----------------------
    1. REGISTRATION
    -----------------------
    """

    @staticmethod
    def RegisterModule(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,
            '/agentic_mesh_protocol.registry.v1.RegistryService/RegisterModule',
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.RegisterModuleRequest.SerializeToString,
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.RegisterModuleResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Heartbeat(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,
            '/agentic_mesh_protocol.registry.v1.RegistryService/Heartbeat',
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.HeartbeatRequest.SerializeToString,
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.HeartbeatResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscoverSetups(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,
            '/agentic_mesh_protocol.registry.v1.RegistryService/DiscoverSetups',
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverSetupsRequest.SerializeToString,
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverSetupsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscoverModules(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,
            '/agentic_mesh_protocol.registry.v1.RegistryService/DiscoverModules',
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverModulesRequest.SerializeToString,
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.DiscoverModulesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetSetup(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,
            '/agentic_mesh_protocol.registry.v1.RegistryService/GetSetup',
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.GetSetupRequest.SerializeToString,
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__models__pb2.SetupDescriptor.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModule(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,
            '/agentic_mesh_protocol.registry.v1.RegistryService/GetModule',
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__requests__pb2.GetModuleRequest.SerializeToString,
            agentic__mesh__protocol_dot_registry_dot_v1_dot_registry__models__pb2.ModuleDescriptor.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
