# 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.module.v1 import information_pb2 as agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2
from agentic_mesh_protocol.module.v1 import lifecycle_pb2 as agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2
from agentic_mesh_protocol.module.v1 import monitoring_pb2 as agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2


class ModuleServiceStub(object):
    """ModuleService
    It represents a functional unit within an agent in the multi-agent system (SMA).
    Modules can be of three types: Kin, Tool, and Trigger.
    - Kin: Represents the agent's core data architecture or "brain", such as a workflow-based model or an LLM (Large Language Model).
    - Tool: Refers to external utilities or tools that the agent uses to perform tasks or enhance its capabilities.
    - Trigger: Serves as the entry point for the agent, initiating processes or actions based on external inputs.
    This service manages the lifecycle and interactions of these modules, including starting, stopping,
    and monitoring the module's status, as well as handling input and output operations.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.StartModule = channel.unary_stream(
                '/agentic_mesh_protocol.module.v1.ModuleService/StartModule',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StartModuleRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StartModuleResponse.FromString,
                _registered_method=True)
        self.StopModule = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/StopModule',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StopModuleRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StopModuleResponse.FromString,
                _registered_method=True)
        self.GetModuleStatus = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/GetModuleStatus',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleStatusRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleStatusResponse.FromString,
                _registered_method=True)
        self.GetModuleJobs = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/GetModuleJobs',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleJobsRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleJobsResponse.FromString,
                _registered_method=True)
        self.GetModuleInput = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/GetModuleInput',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleInputRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleInputResponse.FromString,
                _registered_method=True)
        self.GetModuleOutput = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/GetModuleOutput',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleOutputRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleOutputResponse.FromString,
                _registered_method=True)
        self.GetModuleSetup = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/GetModuleSetup',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSetupRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSetupResponse.FromString,
                _registered_method=True)
        self.GetModuleSecret = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/GetModuleSecret',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSecretRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSecretResponse.FromString,
                _registered_method=True)
        self.GetConfigSetupModule = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/GetConfigSetupModule',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetConfigSetupModuleRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetConfigSetupModuleResponse.FromString,
                _registered_method=True)
        self.ConfigSetupModule = channel.unary_unary(
                '/agentic_mesh_protocol.module.v1.ModuleService/ConfigSetupModule',
                request_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.ConfigSetupModuleRequest.SerializeToString,
                response_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.ConfigSetupModuleResponse.FromString,
                _registered_method=True)


class ModuleServiceServicer(object):
    """ModuleService
    It represents a functional unit within an agent in the multi-agent system (SMA).
    Modules can be of three types: Kin, Tool, and Trigger.
    - Kin: Represents the agent's core data architecture or "brain", such as a workflow-based model or an LLM (Large Language Model).
    - Tool: Refers to external utilities or tools that the agent uses to perform tasks or enhance its capabilities.
    - Trigger: Serves as the entry point for the agent, initiating processes or actions based on external inputs.
    This service manages the lifecycle and interactions of these modules, including starting, stopping,
    and monitoring the module's status, as well as handling input and output operations.
    """

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

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

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

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

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

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

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

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

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

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


def add_ModuleServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'StartModule': grpc.unary_stream_rpc_method_handler(
                    servicer.StartModule,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StartModuleRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StartModuleResponse.SerializeToString,
            ),
            'StopModule': grpc.unary_unary_rpc_method_handler(
                    servicer.StopModule,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StopModuleRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StopModuleResponse.SerializeToString,
            ),
            'GetModuleStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModuleStatus,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleStatusRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleStatusResponse.SerializeToString,
            ),
            'GetModuleJobs': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModuleJobs,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleJobsRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleJobsResponse.SerializeToString,
            ),
            'GetModuleInput': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModuleInput,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleInputRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleInputResponse.SerializeToString,
            ),
            'GetModuleOutput': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModuleOutput,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleOutputRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleOutputResponse.SerializeToString,
            ),
            'GetModuleSetup': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModuleSetup,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSetupRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSetupResponse.SerializeToString,
            ),
            'GetModuleSecret': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModuleSecret,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSecretRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSecretResponse.SerializeToString,
            ),
            'GetConfigSetupModule': grpc.unary_unary_rpc_method_handler(
                    servicer.GetConfigSetupModule,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetConfigSetupModuleRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetConfigSetupModuleResponse.SerializeToString,
            ),
            'ConfigSetupModule': grpc.unary_unary_rpc_method_handler(
                    servicer.ConfigSetupModule,
                    request_deserializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.ConfigSetupModuleRequest.FromString,
                    response_serializer=agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.ConfigSetupModuleResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'agentic_mesh_protocol.module.v1.ModuleService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('agentic_mesh_protocol.module.v1.ModuleService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class ModuleService(object):
    """ModuleService
    It represents a functional unit within an agent in the multi-agent system (SMA).
    Modules can be of three types: Kin, Tool, and Trigger.
    - Kin: Represents the agent's core data architecture or "brain", such as a workflow-based model or an LLM (Large Language Model).
    - Tool: Refers to external utilities or tools that the agent uses to perform tasks or enhance its capabilities.
    - Trigger: Serves as the entry point for the agent, initiating processes or actions based on external inputs.
    This service manages the lifecycle and interactions of these modules, including starting, stopping,
    and monitoring the module's status, as well as handling input and output operations.
    """

    @staticmethod
    def StartModule(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,
            '/agentic_mesh_protocol.module.v1.ModuleService/StartModule',
            agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StartModuleRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StartModuleResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StopModule(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.module.v1.ModuleService/StopModule',
            agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StopModuleRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.StopModuleResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModuleStatus(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.module.v1.ModuleService/GetModuleStatus',
            agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleStatusRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModuleJobs(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.module.v1.ModuleService/GetModuleJobs',
            agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleJobsRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_monitoring__pb2.GetModuleJobsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModuleInput(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.module.v1.ModuleService/GetModuleInput',
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleInputRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleInputResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModuleOutput(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.module.v1.ModuleService/GetModuleOutput',
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleOutputRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleOutputResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModuleSetup(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.module.v1.ModuleService/GetModuleSetup',
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSetupRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSetupResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModuleSecret(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.module.v1.ModuleService/GetModuleSecret',
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSecretRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetModuleSecretResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetConfigSetupModule(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.module.v1.ModuleService/GetConfigSetupModule',
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetConfigSetupModuleRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_information__pb2.GetConfigSetupModuleResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ConfigSetupModule(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.module.v1.ModuleService/ConfigSetupModule',
            agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.ConfigSetupModuleRequest.SerializeToString,
            agentic__mesh__protocol_dot_module_dot_v1_dot_lifecycle__pb2.ConfigSetupModuleResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
