"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class Acknowledge(google.protobuf.message.Message):
    """generic response to any message"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SUCCESS_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    success: builtins.bool
    message: typing.Text
    """message can contain message or traceback if not success"""

    def __init__(self,
        *,
        success: builtins.bool = ...,
        message: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["message",b"message","success",b"success"]) -> None: ...
global___Acknowledge = Acknowledge

class Record(google.protobuf.message.Message):
    """This is the data that the user will be logging if this"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class _DataType:
        ValueType = typing.NewType('ValueType', builtins.int)
        V: typing_extensions.TypeAlias = ValueType
    class _DataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Record._DataType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        FLOAT: Record._DataType.ValueType  # 0
        INTEGER: Record._DataType.ValueType  # 1
        STRING: Record._DataType.ValueType  # 2
    class DataType(_DataType, metaclass=_DataTypeEnumTypeWrapper):
        """since it is not possible to have the map in the message, we need to have an enum for the target datatype"""
        pass

    FLOAT: Record.DataType.ValueType  # 0
    INTEGER: Record.DataType.ValueType  # 1
    STRING: Record.DataType.ValueType  # 2

    KEY_FIELD_NUMBER: builtins.int
    VALUE_TYPE_FIELD_NUMBER: builtins.int
    STEP_FIELD_NUMBER: builtins.int
    FLOAT_DATA_FIELD_NUMBER: builtins.int
    INTEGER_DATA_FIELD_NUMBER: builtins.int
    STRING_DATA_FIELD_NUMBER: builtins.int
    key: typing.Text
    """name of this data"""

    value_type: global___Record.DataType.ValueType
    step: builtins.int
    """also can be called "X-axis" or just x"""

    @property
    def float_data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]:
        """all the data is done in the"""
        pass
    @property
    def integer_data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def string_data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    def __init__(self,
        *,
        key: typing.Text = ...,
        value_type: global___Record.DataType.ValueType = ...,
        step: builtins.int = ...,
        float_data: typing.Optional[typing.Iterable[builtins.float]] = ...,
        integer_data: typing.Optional[typing.Iterable[builtins.int]] = ...,
        string_data: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["float_data",b"float_data","integer_data",b"integer_data","key",b"key","step",b"step","string_data",b"string_data","value_type",b"value_type"]) -> None: ...
global___Record = Record

class RunLog(google.protobuf.message.Message):
    """This is the aggregation of all the logs for this run"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    RUN_ID_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    run_id: typing.Text
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Record]: ...
    def __init__(self,
        *,
        run_id: typing.Text = ...,
        data: typing.Optional[typing.Iterable[global___Record]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["data",b"data","run_id",b"run_id"]) -> None: ...
global___RunLog = RunLog

class AgentDetails(google.protobuf.message.Message):
    """all the NBX-Infra details for this specific run"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class _NBX:
        ValueType = typing.NewType('ValueType', builtins.int)
        V: typing_extensions.TypeAlias = ValueType
    class _NBXEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AgentDetails._NBX.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        JOB: AgentDetails._NBX.ValueType  # 0
        SERVING: AgentDetails._NBX.ValueType  # 1
    class NBX(_NBX, metaclass=_NBXEnumTypeWrapper):
        pass

    JOB: AgentDetails.NBX.ValueType  # 0
    SERVING: AgentDetails.NBX.ValueType  # 1

    TYPE_FIELD_NUMBER: builtins.int
    NBX_JOB_ID_FIELD_NUMBER: builtins.int
    NBX_SERVING_ID_FIELD_NUMBER: builtins.int
    NBX_RUN_ID_FIELD_NUMBER: builtins.int
    NBX_MODEL_ID_FIELD_NUMBER: builtins.int
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    type: global___AgentDetails.NBX.ValueType
    """this is the type of the agent, JOB or SERVING"""

    nbx_job_id: typing.Text
    """NBX-Jobs ID"""

    nbx_serving_id: typing.Text
    """deployment id"""

    nbx_run_id: typing.Text
    """JobRun"""

    nbx_model_id: typing.Text
    """model id"""

    workspace_id: typing.Text
    def __init__(self,
        *,
        type: global___AgentDetails.NBX.ValueType = ...,
        nbx_job_id: typing.Text = ...,
        nbx_serving_id: typing.Text = ...,
        nbx_run_id: typing.Text = ...,
        nbx_model_id: typing.Text = ...,
        workspace_id: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["id",b"id","instance",b"instance","nbx_job_id",b"nbx_job_id","nbx_model_id",b"nbx_model_id","nbx_run_id",b"nbx_run_id","nbx_serving_id",b"nbx_serving_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["id",b"id","instance",b"instance","nbx_job_id",b"nbx_job_id","nbx_model_id",b"nbx_model_id","nbx_run_id",b"nbx_run_id","nbx_serving_id",b"nbx_serving_id","type",b"type","workspace_id",b"workspace_id"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["id",b"id"]) -> typing.Optional[typing_extensions.Literal["nbx_job_id","nbx_serving_id"]]: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["instance",b"instance"]) -> typing.Optional[typing_extensions.Literal["nbx_run_id","nbx_model_id"]]: ...
global___AgentDetails = AgentDetails

class InitRunRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    AGENT_DETAILS_FIELD_NUMBER: builtins.int
    PROJECT_ID_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    @property
    def agent_details(self) -> global___AgentDetails: ...
    project_id: typing.Text
    created_at: builtins.int
    """the unix timestamp when this run was created"""

    config: typing.Text
    """the jsonified singular config string"""

    def __init__(self,
        *,
        agent_details: typing.Optional[global___AgentDetails] = ...,
        project_id: typing.Text = ...,
        created_at: builtins.int = ...,
        config: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["agent_details",b"agent_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["agent_details",b"agent_details","config",b"config","created_at",b"created_at","project_id",b"project_id"]) -> None: ...
global___InitRunRequest = InitRunRequest

class File(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NAME_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    IS_INPUT_FIELD_NUMBER: builtins.int
    name: typing.Text
    """the relative (to **job root**) filename of the File, final location is save_location/name"""

    created_at: builtins.int
    """when was this made"""

    is_input: builtins.bool
    """this was there when the run was created or this was created by the run as an output"""

    def __init__(self,
        *,
        name: typing.Text = ...,
        created_at: builtins.int = ...,
        is_input: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at",b"created_at","is_input",b"is_input","name",b"name"]) -> None: ...
global___File = File

class FileList(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    RUN_ID_FIELD_NUMBER: builtins.int
    FILES_FIELD_NUMBER: builtins.int
    run_id: typing.Text
    """associated run"""

    @property
    def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___File]:
        """all the Files"""
        pass
    def __init__(self,
        *,
        run_id: typing.Text = ...,
        files: typing.Optional[typing.Iterable[global___File]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["files",b"files","run_id",b"run_id"]) -> None: ...
global___FileList = FileList

class Run(google.protobuf.message.Message):
    """the Big Object"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class _Status:
        ValueType = typing.NewType('ValueType', builtins.int)
        V: typing_extensions.TypeAlias = ValueType
    class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Run._Status.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NOT_SET: Run._Status.ValueType  # 0
        """When created and added to DB but no further action taken"""

        RUNNING: Run._Status.ValueType  # 1
        """When the first on_log has been called"""

        COMPLETED: Run._Status.ValueType  # 2
        """When the on_train_end has been called"""

        FAILED: Run._Status.ValueType  # 3
        """When the NBX-Job failed"""

    class Status(_Status, metaclass=_StatusEnumTypeWrapper):
        pass

    NOT_SET: Run.Status.ValueType  # 0
    """When created and added to DB but no further action taken"""

    RUNNING: Run.Status.ValueType  # 1
    """When the first on_log has been called"""

    COMPLETED: Run.Status.ValueType  # 2
    """When the on_train_end has been called"""

    FAILED: Run.Status.ValueType  # 3
    """When the NBX-Job failed"""


    AGENT_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    ENDED_AT_FIELD_NUMBER: builtins.int
    COMPLETED_FIELD_NUMBER: builtins.int
    SAVE_LOCATION_FIELD_NUMBER: builtins.int
    FILE_LIST_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    UPDATED_AT_FIELD_NUMBER: builtins.int
    @property
    def agent(self) -> global___AgentDetails:
        """the agent details"""
        pass
    run_id: typing.Text
    """the unique ID of this run from the MongoDB backend"""

    created_at: builtins.int
    """same as InitRunRequest.created_at"""

    ended_at: builtins.int
    """when was run declared dead, the actual kill can be well before that"""

    completed: builtins.bool
    """is this run complete"""

    save_location: typing.Text
    """this is the location where the Files from this run are stored"""

    @property
    def file_list(self) -> global___FileList:
        """all the Files from this run"""
        pass
    config: typing.Text
    """the jsonified config string"""

    status: global___Run.Status.ValueType
    """the last known status of this run"""

    updated_at: builtins.int
    """the last time this run was updated"""

    def __init__(self,
        *,
        agent: typing.Optional[global___AgentDetails] = ...,
        run_id: typing.Text = ...,
        created_at: builtins.int = ...,
        ended_at: builtins.int = ...,
        completed: builtins.bool = ...,
        save_location: typing.Text = ...,
        file_list: typing.Optional[global___FileList] = ...,
        config: typing.Text = ...,
        status: global___Run.Status.ValueType = ...,
        updated_at: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["agent",b"agent","file_list",b"file_list"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["agent",b"agent","completed",b"completed","config",b"config","created_at",b"created_at","ended_at",b"ended_at","file_list",b"file_list","run_id",b"run_id","save_location",b"save_location","status",b"status","updated_at",b"updated_at"]) -> None: ...
global___Run = Run

class ListProjectsRequest(google.protobuf.message.Message):
    """Request Reponse kind of thing"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    PROJECT_ID_FIELD_NUMBER: builtins.int
    PROJECT_NAME_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace this is part of"""

    project_id: typing.Text
    """the unique ID for this project"""

    project_name: typing.Text
    """the usermodifiable name of the project"""

    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        project_id: typing.Text = ...,
        project_name: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["project_id",b"project_id","project_name",b"project_name","workspace_id",b"workspace_id"]) -> None: ...
global___ListProjectsRequest = ListProjectsRequest

class ListProjectsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROJECTS_FIELD_NUMBER: builtins.int
    @property
    def projects(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """the list of projects in this workspace"""
        pass
    def __init__(self,
        *,
        projects: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["projects",b"projects"]) -> None: ...
global___ListProjectsResponse = ListProjectsResponse

class ListRunsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    PROJECT_ID_FIELD_NUMBER: builtins.int
    PROJECT_NAME_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace this is part of"""

    project_id: typing.Text
    """the unique ID for this project"""

    project_name: typing.Text
    """the project_name for convinience"""

    run_id: typing.Text
    """the unique ID for this run"""

    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        project_id: typing.Text = ...,
        project_name: typing.Text = ...,
        run_id: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["project_id",b"project_id","project_name",b"project_name","run_id",b"run_id","workspace_id",b"workspace_id"]) -> None: ...
global___ListRunsRequest = ListRunsRequest

class ListRunsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    RUNS_FIELD_NUMBER: builtins.int
    @property
    def runs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Run]:
        """the list of runs in this project"""
        pass
    def __init__(self,
        *,
        runs: typing.Optional[typing.Iterable[global___Run]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["runs",b"runs"]) -> None: ...
global___ListRunsResponse = ListRunsResponse
