# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: types.proto
# plugin: python-betterproto
from dataclasses import dataclass
from datetime import datetime
from typing import Dict, List

import betterproto


@dataclass
class EventInfo(betterproto.Message):
    """Common event info"""

    name: str = betterproto.string_field(1)
    code: str = betterproto.string_field(2)
    msg: str = betterproto.string_field(3)
    level: str = betterproto.string_field(4)
    invocation_id: str = betterproto.string_field(5)
    pid: int = betterproto.int32_field(6)
    thread: str = betterproto.string_field(7)
    ts: datetime = betterproto.message_field(8)
    extra: Dict[str, str] = betterproto.map_field(
        9, betterproto.TYPE_STRING, betterproto.TYPE_STRING
    )
    category: str = betterproto.string_field(10)


@dataclass
class TimingInfoMsg(betterproto.Message):
    """TimingInfo"""

    name: str = betterproto.string_field(1)
    started_at: datetime = betterproto.message_field(2)
    completed_at: datetime = betterproto.message_field(3)


@dataclass
class NodeInfo(betterproto.Message):
    """NodeInfo"""

    node_path: str = betterproto.string_field(1)
    node_name: str = betterproto.string_field(2)
    unique_id: str = betterproto.string_field(3)
    resource_type: str = betterproto.string_field(4)
    materialized: str = betterproto.string_field(5)
    node_status: str = betterproto.string_field(6)
    node_started_at: str = betterproto.string_field(7)
    node_finished_at: str = betterproto.string_field(8)


@dataclass
class RunResultMsg(betterproto.Message):
    """RunResult"""

    status: str = betterproto.string_field(1)
    message: str = betterproto.string_field(2)
    timing_info: List["TimingInfoMsg"] = betterproto.message_field(3)
    thread: str = betterproto.string_field(4)
    execution_time: float = betterproto.float_field(5)
    adapter_response: Dict[str, str] = betterproto.map_field(
        6, betterproto.TYPE_STRING, betterproto.TYPE_STRING
    )
    num_failures: int = betterproto.int32_field(7)


@dataclass
class ReferenceKeyMsg(betterproto.Message):
    """ReferenceKey"""

    database: str = betterproto.string_field(1)
    schema: str = betterproto.string_field(2)
    identifier: str = betterproto.string_field(3)


@dataclass
class ListOfStrings(betterproto.Message):
    """ListOfStrings"""

    value: List[str] = betterproto.string_field(1)


@dataclass
class GenericMessage(betterproto.Message):
    """GenericMessage, used for deserializing only"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class MainReportVersion(betterproto.Message):
    """A001"""

    info: "EventInfo" = betterproto.message_field(1)
    version: str = betterproto.string_field(2)
    log_version: int = betterproto.int32_field(3)


@dataclass
class MainReportArgs(betterproto.Message):
    """A002"""

    info: "EventInfo" = betterproto.message_field(1)
    args: Dict[str, str] = betterproto.map_field(
        2, betterproto.TYPE_STRING, betterproto.TYPE_STRING
    )


@dataclass
class MainTrackingUserState(betterproto.Message):
    """A003"""

    info: "EventInfo" = betterproto.message_field(1)
    user_state: str = betterproto.string_field(2)


@dataclass
class MergedFromState(betterproto.Message):
    """A004"""

    info: "EventInfo" = betterproto.message_field(1)
    num_merged: int = betterproto.int32_field(2)
    sample: List[str] = betterproto.string_field(3)


@dataclass
class MissingProfileTarget(betterproto.Message):
    """A005"""

    info: "EventInfo" = betterproto.message_field(1)
    profile_name: str = betterproto.string_field(2)
    target_name: str = betterproto.string_field(3)


@dataclass
class InvalidVarsYAML(betterproto.Message):
    """A008"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DbtProjectError(betterproto.Message):
    """A009"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DbtProjectErrorException(betterproto.Message):
    """A010"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class DbtProfileError(betterproto.Message):
    """A011"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DbtProfileErrorException(betterproto.Message):
    """A012"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class ProfileListTitle(betterproto.Message):
    """A013"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ListSingleProfile(betterproto.Message):
    """A014"""

    info: "EventInfo" = betterproto.message_field(1)
    profile: str = betterproto.string_field(2)


@dataclass
class NoDefinedProfiles(betterproto.Message):
    """A015"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ProfileHelpMessage(betterproto.Message):
    """A016"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class StarterProjectPath(betterproto.Message):
    """A017"""

    info: "EventInfo" = betterproto.message_field(1)
    dir: str = betterproto.string_field(2)


@dataclass
class ConfigFolderDirectory(betterproto.Message):
    """A018"""

    info: "EventInfo" = betterproto.message_field(1)
    dir: str = betterproto.string_field(2)


@dataclass
class NoSampleProfileFound(betterproto.Message):
    """A019"""

    info: "EventInfo" = betterproto.message_field(1)
    adapter: str = betterproto.string_field(2)


@dataclass
class ProfileWrittenWithSample(betterproto.Message):
    """A020"""

    info: "EventInfo" = betterproto.message_field(1)
    name: str = betterproto.string_field(2)
    path: str = betterproto.string_field(3)


@dataclass
class ProfileWrittenWithTargetTemplateYAML(betterproto.Message):
    """A021"""

    info: "EventInfo" = betterproto.message_field(1)
    name: str = betterproto.string_field(2)
    path: str = betterproto.string_field(3)


@dataclass
class ProfileWrittenWithProjectTemplateYAML(betterproto.Message):
    """A022"""

    info: "EventInfo" = betterproto.message_field(1)
    name: str = betterproto.string_field(2)
    path: str = betterproto.string_field(3)


@dataclass
class SettingUpProfile(betterproto.Message):
    """A023"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class InvalidProfileTemplateYAML(betterproto.Message):
    """A024"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ProjectNameAlreadyExists(betterproto.Message):
    """A025"""

    info: "EventInfo" = betterproto.message_field(1)
    name: str = betterproto.string_field(2)


@dataclass
class ProjectCreated(betterproto.Message):
    """A026"""

    info: "EventInfo" = betterproto.message_field(1)
    project_name: str = betterproto.string_field(2)
    docs_url: str = betterproto.string_field(3)
    slack_url: str = betterproto.string_field(4)


@dataclass
class PackageRedirectDeprecation(betterproto.Message):
    """D001"""

    info: "EventInfo" = betterproto.message_field(1)
    old_name: str = betterproto.string_field(2)
    new_name: str = betterproto.string_field(3)


@dataclass
class PackageInstallPathDeprecation(betterproto.Message):
    """D002"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ConfigSourcePathDeprecation(betterproto.Message):
    """D003"""

    info: "EventInfo" = betterproto.message_field(1)
    deprecated_path: str = betterproto.string_field(2)
    exp_path: str = betterproto.string_field(3)


@dataclass
class ConfigDataPathDeprecation(betterproto.Message):
    """D004"""

    info: "EventInfo" = betterproto.message_field(1)
    deprecated_path: str = betterproto.string_field(2)
    exp_path: str = betterproto.string_field(3)


@dataclass
class AdapterDeprecationWarning(betterproto.Message):
    """D005"""

    info: "EventInfo" = betterproto.message_field(1)
    old_name: str = betterproto.string_field(2)
    new_name: str = betterproto.string_field(3)


@dataclass
class MetricAttributesRenamed(betterproto.Message):
    """D006"""

    info: "EventInfo" = betterproto.message_field(1)
    metric_name: str = betterproto.string_field(2)


@dataclass
class ExposureNameDeprecation(betterproto.Message):
    """D007"""

    info: "EventInfo" = betterproto.message_field(1)
    exposure: str = betterproto.string_field(2)


@dataclass
class AdapterEventDebug(betterproto.Message):
    """E001"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    name: str = betterproto.string_field(3)
    base_msg: str = betterproto.string_field(4)
    args: List[str] = betterproto.string_field(5)


@dataclass
class AdapterEventInfo(betterproto.Message):
    """E002"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    name: str = betterproto.string_field(3)
    base_msg: str = betterproto.string_field(4)
    args: List[str] = betterproto.string_field(5)


@dataclass
class AdapterEventWarning(betterproto.Message):
    """E003"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    name: str = betterproto.string_field(3)
    base_msg: str = betterproto.string_field(4)
    args: List[str] = betterproto.string_field(5)


@dataclass
class AdapterEventError(betterproto.Message):
    """E004"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    name: str = betterproto.string_field(3)
    base_msg: str = betterproto.string_field(4)
    args: List[str] = betterproto.string_field(5)
    exc_info: str = betterproto.string_field(6)


@dataclass
class NewConnection(betterproto.Message):
    """E005"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_type: str = betterproto.string_field(3)
    conn_name: str = betterproto.string_field(4)


@dataclass
class ConnectionReused(betterproto.Message):
    """E006"""

    info: "EventInfo" = betterproto.message_field(1)
    conn_name: str = betterproto.string_field(2)


@dataclass
class ConnectionLeftOpenInCleanup(betterproto.Message):
    """E007"""

    info: "EventInfo" = betterproto.message_field(1)
    conn_name: str = betterproto.string_field(2)


@dataclass
class ConnectionClosedInCleanup(betterproto.Message):
    """E008"""

    info: "EventInfo" = betterproto.message_field(1)
    conn_name: str = betterproto.string_field(2)


@dataclass
class RollbackFailed(betterproto.Message):
    """E009"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_name: str = betterproto.string_field(3)
    exc_info: str = betterproto.string_field(4)


@dataclass
class ConnectionClosed(betterproto.Message):
    """E010"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_name: str = betterproto.string_field(3)


@dataclass
class ConnectionLeftOpen(betterproto.Message):
    """E011"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_name: str = betterproto.string_field(3)


@dataclass
class Rollback(betterproto.Message):
    """E012"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_name: str = betterproto.string_field(3)


@dataclass
class CacheMiss(betterproto.Message):
    """E013"""

    info: "EventInfo" = betterproto.message_field(1)
    conn_name: str = betterproto.string_field(2)
    database: str = betterproto.string_field(3)
    schema: str = betterproto.string_field(4)


@dataclass
class ListRelations(betterproto.Message):
    """E014"""

    info: "EventInfo" = betterproto.message_field(1)
    database: str = betterproto.string_field(2)
    schema: str = betterproto.string_field(3)
    relations: List["ReferenceKeyMsg"] = betterproto.message_field(4)


@dataclass
class ConnectionUsed(betterproto.Message):
    """E015"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_type: str = betterproto.string_field(3)
    conn_name: str = betterproto.string_field(4)


@dataclass
class SQLQuery(betterproto.Message):
    """E016"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_name: str = betterproto.string_field(3)
    sql: str = betterproto.string_field(4)


@dataclass
class SQLQueryStatus(betterproto.Message):
    """E017"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    status: str = betterproto.string_field(3)
    elapsed: float = betterproto.float_field(4)


@dataclass
class SQLCommit(betterproto.Message):
    """E018"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    conn_name: str = betterproto.string_field(3)


@dataclass
class ColTypeChange(betterproto.Message):
    """E019"""

    info: "EventInfo" = betterproto.message_field(1)
    orig_type: str = betterproto.string_field(2)
    new_type: str = betterproto.string_field(3)
    table: "ReferenceKeyMsg" = betterproto.message_field(4)


@dataclass
class SchemaCreation(betterproto.Message):
    """E020"""

    info: "EventInfo" = betterproto.message_field(1)
    relation: "ReferenceKeyMsg" = betterproto.message_field(2)


@dataclass
class SchemaDrop(betterproto.Message):
    """E021"""

    info: "EventInfo" = betterproto.message_field(1)
    relation: "ReferenceKeyMsg" = betterproto.message_field(2)


@dataclass
class UncachedRelation(betterproto.Message):
    """E022"""

    info: "EventInfo" = betterproto.message_field(1)
    dep_key: "ReferenceKeyMsg" = betterproto.message_field(2)
    ref_key: "ReferenceKeyMsg" = betterproto.message_field(3)


@dataclass
class AddLink(betterproto.Message):
    """E023"""

    info: "EventInfo" = betterproto.message_field(1)
    dep_key: "ReferenceKeyMsg" = betterproto.message_field(2)
    ref_key: "ReferenceKeyMsg" = betterproto.message_field(3)


@dataclass
class AddRelation(betterproto.Message):
    """E024"""

    info: "EventInfo" = betterproto.message_field(1)
    relation: "ReferenceKeyMsg" = betterproto.message_field(2)


@dataclass
class DropMissingRelation(betterproto.Message):
    """E025"""

    info: "EventInfo" = betterproto.message_field(1)
    relation: "ReferenceKeyMsg" = betterproto.message_field(2)


@dataclass
class DropCascade(betterproto.Message):
    """E026"""

    info: "EventInfo" = betterproto.message_field(1)
    dropped: "ReferenceKeyMsg" = betterproto.message_field(2)
    consequences: List["ReferenceKeyMsg"] = betterproto.message_field(3)


@dataclass
class DropRelation(betterproto.Message):
    """E027"""

    info: "EventInfo" = betterproto.message_field(1)
    dropped: "ReferenceKeyMsg" = betterproto.message_field(2)


@dataclass
class UpdateReference(betterproto.Message):
    """E028"""

    info: "EventInfo" = betterproto.message_field(1)
    old_key: "ReferenceKeyMsg" = betterproto.message_field(2)
    new_key: "ReferenceKeyMsg" = betterproto.message_field(3)
    cached_key: "ReferenceKeyMsg" = betterproto.message_field(4)


@dataclass
class TemporaryRelation(betterproto.Message):
    """E029"""

    info: "EventInfo" = betterproto.message_field(1)
    key: "ReferenceKeyMsg" = betterproto.message_field(2)


@dataclass
class RenameSchema(betterproto.Message):
    """E030"""

    info: "EventInfo" = betterproto.message_field(1)
    old_key: "ReferenceKeyMsg" = betterproto.message_field(2)
    new_key: "ReferenceKeyMsg" = betterproto.message_field(3)


@dataclass
class DumpBeforeAddGraph(betterproto.Message):
    """E031"""

    info: "EventInfo" = betterproto.message_field(1)
    dump: Dict[str, "ListOfStrings"] = betterproto.map_field(
        2, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
    )


@dataclass
class DumpAfterAddGraph(betterproto.Message):
    """E032"""

    info: "EventInfo" = betterproto.message_field(1)
    dump: Dict[str, "ListOfStrings"] = betterproto.map_field(
        2, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
    )


@dataclass
class DumpBeforeRenameSchema(betterproto.Message):
    """E033"""

    info: "EventInfo" = betterproto.message_field(1)
    dump: Dict[str, "ListOfStrings"] = betterproto.map_field(
        2, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
    )


@dataclass
class DumpAfterRenameSchema(betterproto.Message):
    """E034"""

    info: "EventInfo" = betterproto.message_field(1)
    dump: Dict[str, "ListOfStrings"] = betterproto.map_field(
        2, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
    )


@dataclass
class AdapterImportError(betterproto.Message):
    """E035"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class PluginLoadError(betterproto.Message):
    """E036"""

    info: "EventInfo" = betterproto.message_field(1)
    exc_info: str = betterproto.string_field(2)


@dataclass
class NewConnectionOpening(betterproto.Message):
    """E037"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    connection_state: str = betterproto.string_field(3)


@dataclass
class CodeExecution(betterproto.Message):
    """E038"""

    info: "EventInfo" = betterproto.message_field(1)
    conn_name: str = betterproto.string_field(2)
    code_content: str = betterproto.string_field(3)


@dataclass
class CodeExecutionStatus(betterproto.Message):
    """E039"""

    info: "EventInfo" = betterproto.message_field(1)
    status: str = betterproto.string_field(2)
    elapsed: float = betterproto.float_field(3)


@dataclass
class CatalogGenerationError(betterproto.Message):
    """E040"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class WriteCatalogFailure(betterproto.Message):
    """E041"""

    info: "EventInfo" = betterproto.message_field(1)
    num_exceptions: int = betterproto.int32_field(2)


@dataclass
class CatalogWritten(betterproto.Message):
    """E042"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class CannotGenerateDocs(betterproto.Message):
    """E043"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class BuildingCatalog(betterproto.Message):
    """E044"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DatabaseErrorRunningHook(betterproto.Message):
    """E045"""

    info: "EventInfo" = betterproto.message_field(1)
    hook_type: str = betterproto.string_field(2)


@dataclass
class HooksRunning(betterproto.Message):
    """E046"""

    info: "EventInfo" = betterproto.message_field(1)
    num_hooks: int = betterproto.int32_field(2)
    hook_type: str = betterproto.string_field(3)


@dataclass
class HookFinished(betterproto.Message):
    """E047"""

    info: "EventInfo" = betterproto.message_field(1)
    stat_line: str = betterproto.string_field(2)
    execution: str = betterproto.string_field(3)
    execution_time: float = betterproto.float_field(4)


@dataclass
class ParseCmdStart(betterproto.Message):
    """I001"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ParseCmdCompiling(betterproto.Message):
    """I002"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ParseCmdWritingManifest(betterproto.Message):
    """I003"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ParseCmdDone(betterproto.Message):
    """I004"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ManifestDependenciesLoaded(betterproto.Message):
    """I005"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ManifestLoaderCreated(betterproto.Message):
    """I006"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ManifestLoaded(betterproto.Message):
    """I007"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ManifestChecked(betterproto.Message):
    """I008"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ManifestFlatGraphBuilt(betterproto.Message):
    """I009"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ParseCmdPerfInfoPath(betterproto.Message):
    """I010"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class GenericTestFileParse(betterproto.Message):
    """I011"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class MacroFileParse(betterproto.Message):
    """I012"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class PartialParsingFullReparseBecauseOfError(betterproto.Message):
    """I013"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingExceptionFile(betterproto.Message):
    """I014"""

    info: "EventInfo" = betterproto.message_field(1)
    file: str = betterproto.string_field(2)


@dataclass
class PartialParsingFile(betterproto.Message):
    """I015"""

    info: "EventInfo" = betterproto.message_field(1)
    file_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingException(betterproto.Message):
    """I016"""

    info: "EventInfo" = betterproto.message_field(1)
    exc_info: Dict[str, str] = betterproto.map_field(
        2, betterproto.TYPE_STRING, betterproto.TYPE_STRING
    )


@dataclass
class PartialParsingSkipParsing(betterproto.Message):
    """I017"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingMacroChangeStartFullParse(betterproto.Message):
    """I018"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingProjectEnvVarsChanged(betterproto.Message):
    """I019"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingProfileEnvVarsChanged(betterproto.Message):
    """I020"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingDeletedMetric(betterproto.Message):
    """I021"""

    info: "EventInfo" = betterproto.message_field(1)
    unique_id: str = betterproto.string_field(2)


@dataclass
class ManifestWrongMetadataVersion(betterproto.Message):
    """I022"""

    info: "EventInfo" = betterproto.message_field(1)
    version: str = betterproto.string_field(2)


@dataclass
class PartialParsingVersionMismatch(betterproto.Message):
    """I023"""

    info: "EventInfo" = betterproto.message_field(1)
    saved_version: str = betterproto.string_field(2)
    current_version: str = betterproto.string_field(3)


@dataclass
class PartialParsingFailedBecauseConfigChange(betterproto.Message):
    """I024"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingFailedBecauseProfileChange(betterproto.Message):
    """I025"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingFailedBecauseNewProjectDependency(betterproto.Message):
    """I026"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingFailedBecauseHashChanged(betterproto.Message):
    """I027"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class PartialParsingNotEnabled(betterproto.Message):
    """I028"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ParsedFileLoadFailed(betterproto.Message):
    """I029"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)
    exc: str = betterproto.string_field(3)
    exc_info: str = betterproto.string_field(4)


@dataclass
class PartialParseSaveFileNotFound(betterproto.Message):
    """I030"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class StaticParserCausedJinjaRendering(betterproto.Message):
    """I031"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class UsingExperimentalParser(betterproto.Message):
    """I032"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class SampleFullJinjaRendering(betterproto.Message):
    """I033"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class StaticParserFallbackJinjaRendering(betterproto.Message):
    """I034"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class StaticParsingMacroOverrideDetected(betterproto.Message):
    """I035"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class StaticParserSuccess(betterproto.Message):
    """I036"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class StaticParserFailure(betterproto.Message):
    """I037"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class ExperimentalParserSuccess(betterproto.Message):
    """I038"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class ExperimentalParserFailure(betterproto.Message):
    """I039"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class PartialParsingEnabled(betterproto.Message):
    """I040"""

    info: "EventInfo" = betterproto.message_field(1)
    deleted: int = betterproto.int32_field(2)
    added: int = betterproto.int32_field(3)
    changed: int = betterproto.int32_field(4)


@dataclass
class PartialParsingAddedFile(betterproto.Message):
    """I041"""

    info: "EventInfo" = betterproto.message_field(1)
    file_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingDeletedFile(betterproto.Message):
    """I042"""

    info: "EventInfo" = betterproto.message_field(1)
    file_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingUpdatedFile(betterproto.Message):
    """I043"""

    info: "EventInfo" = betterproto.message_field(1)
    file_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingNodeMissingInSourceFile(betterproto.Message):
    """I044"""

    info: "EventInfo" = betterproto.message_field(1)
    file_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingMissingNodes(betterproto.Message):
    """I045"""

    info: "EventInfo" = betterproto.message_field(1)
    file_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingChildMapMissingUniqueID(betterproto.Message):
    """I046"""

    info: "EventInfo" = betterproto.message_field(1)
    unique_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingUpdateSchemaFile(betterproto.Message):
    """I047"""

    info: "EventInfo" = betterproto.message_field(1)
    file_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingDeletedSource(betterproto.Message):
    """I048"""

    info: "EventInfo" = betterproto.message_field(1)
    unique_id: str = betterproto.string_field(2)


@dataclass
class PartialParsingDeletedExposure(betterproto.Message):
    """I049"""

    info: "EventInfo" = betterproto.message_field(1)
    unique_id: str = betterproto.string_field(2)


@dataclass
class InvalidDisabledTargetInTestNode(betterproto.Message):
    """I050"""

    info: "EventInfo" = betterproto.message_field(1)
    resource_type_title: str = betterproto.string_field(2)
    unique_id: str = betterproto.string_field(3)
    original_file_path: str = betterproto.string_field(4)
    target_kind: str = betterproto.string_field(5)
    target_name: str = betterproto.string_field(6)
    target_package: str = betterproto.string_field(7)


@dataclass
class UnusedResourceConfigPath(betterproto.Message):
    """I051"""

    info: "EventInfo" = betterproto.message_field(1)
    unused_config_paths: List[str] = betterproto.string_field(2)


@dataclass
class SeedIncreased(betterproto.Message):
    """I052"""

    info: "EventInfo" = betterproto.message_field(1)
    package_name: str = betterproto.string_field(2)
    name: str = betterproto.string_field(3)


@dataclass
class SeedExceedsLimitSamePath(betterproto.Message):
    """I053"""

    info: "EventInfo" = betterproto.message_field(1)
    package_name: str = betterproto.string_field(2)
    name: str = betterproto.string_field(3)


@dataclass
class SeedExceedsLimitAndPathChanged(betterproto.Message):
    """I054"""

    info: "EventInfo" = betterproto.message_field(1)
    package_name: str = betterproto.string_field(2)
    name: str = betterproto.string_field(3)


@dataclass
class SeedExceedsLimitChecksumChanged(betterproto.Message):
    """I055"""

    info: "EventInfo" = betterproto.message_field(1)
    package_name: str = betterproto.string_field(2)
    name: str = betterproto.string_field(3)
    checksum_name: str = betterproto.string_field(4)


@dataclass
class UnusedTables(betterproto.Message):
    """I056"""

    info: "EventInfo" = betterproto.message_field(1)
    unused_tables: List[str] = betterproto.string_field(2)


@dataclass
class WrongResourceSchemaFile(betterproto.Message):
    """I057"""

    info: "EventInfo" = betterproto.message_field(1)
    patch_name: str = betterproto.string_field(2)
    resource_type: str = betterproto.string_field(3)
    plural_resource_type: str = betterproto.string_field(4)
    yaml_key: str = betterproto.string_field(5)
    file_path: str = betterproto.string_field(6)


@dataclass
class NoNodeForYamlKey(betterproto.Message):
    """I058"""

    info: "EventInfo" = betterproto.message_field(1)
    patch_name: str = betterproto.string_field(2)
    yaml_key: str = betterproto.string_field(3)
    file_path: str = betterproto.string_field(4)


@dataclass
class MacroPatchNotFound(betterproto.Message):
    """I059"""

    info: "EventInfo" = betterproto.message_field(1)
    patch_name: str = betterproto.string_field(2)


@dataclass
class NodeNotFoundOrDisabled(betterproto.Message):
    """I060"""

    info: "EventInfo" = betterproto.message_field(1)
    original_file_path: str = betterproto.string_field(2)
    unique_id: str = betterproto.string_field(3)
    resource_type_title: str = betterproto.string_field(4)
    target_name: str = betterproto.string_field(5)
    target_kind: str = betterproto.string_field(6)
    target_package: str = betterproto.string_field(7)
    disabled: str = betterproto.string_field(8)


@dataclass
class JinjaLogWarning(betterproto.Message):
    """I061"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    msg: str = betterproto.string_field(3)


@dataclass
class GitSparseCheckoutSubdirectory(betterproto.Message):
    """M001"""

    info: "EventInfo" = betterproto.message_field(1)
    subdir: str = betterproto.string_field(2)


@dataclass
class GitProgressCheckoutRevision(betterproto.Message):
    """M002"""

    info: "EventInfo" = betterproto.message_field(1)
    revision: str = betterproto.string_field(2)


@dataclass
class GitProgressUpdatingExistingDependency(betterproto.Message):
    """M003"""

    info: "EventInfo" = betterproto.message_field(1)
    dir: str = betterproto.string_field(2)


@dataclass
class GitProgressPullingNewDependency(betterproto.Message):
    """M004"""

    info: "EventInfo" = betterproto.message_field(1)
    dir: str = betterproto.string_field(2)


@dataclass
class GitNothingToDo(betterproto.Message):
    """M005"""

    info: "EventInfo" = betterproto.message_field(1)
    sha: str = betterproto.string_field(2)


@dataclass
class GitProgressUpdatedCheckoutRange(betterproto.Message):
    """M006"""

    info: "EventInfo" = betterproto.message_field(1)
    start_sha: str = betterproto.string_field(2)
    end_sha: str = betterproto.string_field(3)


@dataclass
class GitProgressCheckedOutAt(betterproto.Message):
    """M007"""

    info: "EventInfo" = betterproto.message_field(1)
    end_sha: str = betterproto.string_field(2)


@dataclass
class RegistryProgressGETRequest(betterproto.Message):
    """M008"""

    info: "EventInfo" = betterproto.message_field(1)
    url: str = betterproto.string_field(2)


@dataclass
class RegistryProgressGETResponse(betterproto.Message):
    """M009"""

    info: "EventInfo" = betterproto.message_field(1)
    url: str = betterproto.string_field(2)
    resp_code: int = betterproto.int32_field(3)


@dataclass
class SelectorReportInvalidSelector(betterproto.Message):
    """M010"""

    info: "EventInfo" = betterproto.message_field(1)
    valid_selectors: str = betterproto.string_field(2)
    spec_method: str = betterproto.string_field(3)
    raw_spec: str = betterproto.string_field(4)


@dataclass
class JinjaLogInfo(betterproto.Message):
    """M011"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    msg: str = betterproto.string_field(3)


@dataclass
class JinjaLogDebug(betterproto.Message):
    """M012"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    msg: str = betterproto.string_field(3)


@dataclass
class DepsNoPackagesFound(betterproto.Message):
    """M013"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DepsStartPackageInstall(betterproto.Message):
    """M014"""

    info: "EventInfo" = betterproto.message_field(1)
    package_name: str = betterproto.string_field(2)


@dataclass
class DepsInstallInfo(betterproto.Message):
    """M015"""

    info: "EventInfo" = betterproto.message_field(1)
    version_name: str = betterproto.string_field(2)


@dataclass
class DepsUpdateAvailable(betterproto.Message):
    """M016"""

    info: "EventInfo" = betterproto.message_field(1)
    version_latest: str = betterproto.string_field(2)


@dataclass
class DepsUpToDate(betterproto.Message):
    """M017"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DepsListSubdirectory(betterproto.Message):
    """M018"""

    info: "EventInfo" = betterproto.message_field(1)
    subdirectory: str = betterproto.string_field(2)


@dataclass
class DepsNotifyUpdatesAvailable(betterproto.Message):
    """M019"""

    info: "EventInfo" = betterproto.message_field(1)
    packages: "ListOfStrings" = betterproto.message_field(2)


@dataclass
class RetryExternalCall(betterproto.Message):
    """M020"""

    info: "EventInfo" = betterproto.message_field(1)
    attempt: int = betterproto.int32_field(2)
    max: int = betterproto.int32_field(3)


@dataclass
class RecordRetryException(betterproto.Message):
    """M021"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class RegistryIndexProgressGETRequest(betterproto.Message):
    """M022"""

    info: "EventInfo" = betterproto.message_field(1)
    url: str = betterproto.string_field(2)


@dataclass
class RegistryIndexProgressGETResponse(betterproto.Message):
    """M023"""

    info: "EventInfo" = betterproto.message_field(1)
    url: str = betterproto.string_field(2)
    resp_code: int = betterproto.int32_field(3)


@dataclass
class RegistryResponseUnexpectedType(betterproto.Message):
    """M024"""

    info: "EventInfo" = betterproto.message_field(1)
    response: str = betterproto.string_field(2)


@dataclass
class RegistryResponseMissingTopKeys(betterproto.Message):
    """M025"""

    info: "EventInfo" = betterproto.message_field(1)
    response: str = betterproto.string_field(2)


@dataclass
class RegistryResponseMissingNestedKeys(betterproto.Message):
    """M026"""

    info: "EventInfo" = betterproto.message_field(1)
    response: str = betterproto.string_field(2)


@dataclass
class RegistryResponseExtraNestedKeys(betterproto.Message):
    """m027"""

    info: "EventInfo" = betterproto.message_field(1)
    response: str = betterproto.string_field(2)


@dataclass
class DepsSetDownloadDirectory(betterproto.Message):
    """M028"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class DepsUnpinned(betterproto.Message):
    """M029"""

    info: "EventInfo" = betterproto.message_field(1)
    revision: str = betterproto.string_field(2)
    git: str = betterproto.string_field(3)


@dataclass
class NoNodesForSelectionCriteria(betterproto.Message):
    """M030"""

    info: "EventInfo" = betterproto.message_field(1)
    spec_raw: str = betterproto.string_field(2)


@dataclass
class RunningOperationCaughtError(betterproto.Message):
    """Q001"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class CompileComplete(betterproto.Message):
    """Q002"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class FreshnessCheckComplete(betterproto.Message):
    """Q003"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class SeedHeader(betterproto.Message):
    """Q004"""

    info: "EventInfo" = betterproto.message_field(1)
    header: str = betterproto.string_field(2)


@dataclass
class SeedHeaderSeparator(betterproto.Message):
    """Q005"""

    info: "EventInfo" = betterproto.message_field(1)
    len_header: int = betterproto.int32_field(2)


@dataclass
class SQLRunnerException(betterproto.Message):
    """Q006"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)
    exc_info: str = betterproto.string_field(3)


@dataclass
class LogTestResult(betterproto.Message):
    """Q007"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    name: str = betterproto.string_field(3)
    status: str = betterproto.string_field(4)
    index: int = betterproto.int32_field(5)
    num_models: int = betterproto.int32_field(6)
    execution_time: float = betterproto.float_field(7)
    num_failures: int = betterproto.int32_field(8)


@dataclass
class LogStartLine(betterproto.Message):
    """Q011"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    description: str = betterproto.string_field(3)
    index: int = betterproto.int32_field(4)
    total: int = betterproto.int32_field(5)


@dataclass
class LogModelResult(betterproto.Message):
    """Q012"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    description: str = betterproto.string_field(3)
    status: str = betterproto.string_field(4)
    index: int = betterproto.int32_field(5)
    total: int = betterproto.int32_field(6)
    execution_time: int = betterproto.int32_field(7)


@dataclass
class LogSnapshotResult(betterproto.Message):
    """Q015"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    description: str = betterproto.string_field(3)
    status: str = betterproto.string_field(4)
    index: int = betterproto.int32_field(5)
    total: int = betterproto.int32_field(6)
    execution_time: float = betterproto.float_field(7)
    cfg: Dict[str, str] = betterproto.map_field(
        8, betterproto.TYPE_STRING, betterproto.TYPE_STRING
    )


@dataclass
class LogSeedResult(betterproto.Message):
    """Q016"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    status: str = betterproto.string_field(3)
    result_message: str = betterproto.string_field(4)
    index: int = betterproto.int32_field(5)
    total: int = betterproto.int32_field(6)
    execution_time: float = betterproto.float_field(7)
    schema: str = betterproto.string_field(8)
    relation: str = betterproto.string_field(9)


@dataclass
class LogFreshnessResult(betterproto.Message):
    """Q018"""

    info: "EventInfo" = betterproto.message_field(1)
    status: str = betterproto.string_field(2)
    node_info: "NodeInfo" = betterproto.message_field(3)
    index: int = betterproto.int32_field(4)
    total: int = betterproto.int32_field(5)
    execution_time: float = betterproto.float_field(6)
    source_name: str = betterproto.string_field(7)
    table_name: str = betterproto.string_field(8)


@dataclass
class LogCancelLine(betterproto.Message):
    """Q022"""

    info: "EventInfo" = betterproto.message_field(1)
    conn_name: str = betterproto.string_field(2)


@dataclass
class DefaultSelector(betterproto.Message):
    """Q023"""

    info: "EventInfo" = betterproto.message_field(1)
    name: str = betterproto.string_field(2)


@dataclass
class NodeStart(betterproto.Message):
    """Q024"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)


@dataclass
class NodeFinished(betterproto.Message):
    """Q025"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    run_result: "RunResultMsg" = betterproto.message_field(4)


@dataclass
class QueryCancelationUnsupported(betterproto.Message):
    """Q026"""

    info: "EventInfo" = betterproto.message_field(1)
    type: str = betterproto.string_field(2)


@dataclass
class ConcurrencyLine(betterproto.Message):
    """Q027"""

    info: "EventInfo" = betterproto.message_field(1)
    num_threads: int = betterproto.int32_field(2)
    target_name: str = betterproto.string_field(3)
    node_count: int = betterproto.int32_field(4)


@dataclass
class WritingInjectedSQLForNode(betterproto.Message):
    """Q029"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)


@dataclass
class NodeCompiling(betterproto.Message):
    """Q030"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)


@dataclass
class NodeExecuting(betterproto.Message):
    """Q031"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)


@dataclass
class LogHookStartLine(betterproto.Message):
    """Q032"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    statement: str = betterproto.string_field(3)
    index: int = betterproto.int32_field(4)
    total: int = betterproto.int32_field(5)


@dataclass
class LogHookEndLine(betterproto.Message):
    """Q033"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    statement: str = betterproto.string_field(3)
    status: str = betterproto.string_field(4)
    index: int = betterproto.int32_field(5)
    total: int = betterproto.int32_field(6)
    execution_time: float = betterproto.float_field(7)


@dataclass
class SkippingDetails(betterproto.Message):
    """Q034"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    resource_type: str = betterproto.string_field(3)
    schema: str = betterproto.string_field(4)
    node_name: str = betterproto.string_field(5)
    index: int = betterproto.int32_field(6)
    total: int = betterproto.int32_field(7)


@dataclass
class NothingToDo(betterproto.Message):
    """Q035"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class RunningOperationUncaughtError(betterproto.Message):
    """Q036"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class EndRunResult(betterproto.Message):
    """Q037"""

    info: "EventInfo" = betterproto.message_field(1)
    results: List["RunResultMsg"] = betterproto.message_field(2)
    elapsed_time: float = betterproto.float_field(3)
    generated_at: datetime = betterproto.message_field(4)
    success: bool = betterproto.bool_field(5)


@dataclass
class NoNodesSelected(betterproto.Message):
    """Q038"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class CatchableExceptionOnRun(betterproto.Message):
    """W002"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    exc: str = betterproto.string_field(3)
    exc_info: str = betterproto.string_field(4)


@dataclass
class InternalExceptionOnRun(betterproto.Message):
    """W003"""

    info: "EventInfo" = betterproto.message_field(1)
    build_path: str = betterproto.string_field(2)
    exc: str = betterproto.string_field(3)


@dataclass
class GenericExceptionOnRun(betterproto.Message):
    """W004"""

    info: "EventInfo" = betterproto.message_field(1)
    build_path: str = betterproto.string_field(2)
    unique_id: str = betterproto.string_field(3)
    exc: str = betterproto.string_field(4)


@dataclass
class NodeConnectionReleaseError(betterproto.Message):
    """W005"""

    info: "EventInfo" = betterproto.message_field(1)
    node_name: str = betterproto.string_field(2)
    exc: str = betterproto.string_field(3)
    exc_info: str = betterproto.string_field(4)


@dataclass
class FoundStats(betterproto.Message):
    """W006"""

    info: "EventInfo" = betterproto.message_field(1)
    stat_line: str = betterproto.string_field(2)


@dataclass
class MainKeyboardInterrupt(betterproto.Message):
    """Z001"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class MainEncounteredError(betterproto.Message):
    """Z002"""

    info: "EventInfo" = betterproto.message_field(1)
    exc: str = betterproto.string_field(2)


@dataclass
class MainStackTrace(betterproto.Message):
    """Z003"""

    info: "EventInfo" = betterproto.message_field(1)
    stack_trace: str = betterproto.string_field(2)


@dataclass
class SystemErrorRetrievingModTime(betterproto.Message):
    """Z004"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class SystemCouldNotWrite(betterproto.Message):
    """Z005"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)
    reason: str = betterproto.string_field(3)
    exc: str = betterproto.string_field(4)


@dataclass
class SystemExecutingCmd(betterproto.Message):
    """Z006"""

    info: "EventInfo" = betterproto.message_field(1)
    cmd: List[str] = betterproto.string_field(2)


@dataclass
class SystemStdOutMsg(betterproto.Message):
    """Z007"""

    info: "EventInfo" = betterproto.message_field(1)
    bmsg: bytes = betterproto.bytes_field(2)


@dataclass
class SystemStdErrMsg(betterproto.Message):
    """Z008"""

    info: "EventInfo" = betterproto.message_field(1)
    bmsg: bytes = betterproto.bytes_field(2)


@dataclass
class SystemReportReturnCode(betterproto.Message):
    """Z009"""

    info: "EventInfo" = betterproto.message_field(1)
    returncode: int = betterproto.int32_field(2)


@dataclass
class TimingInfoCollected(betterproto.Message):
    """Z010"""

    info: "EventInfo" = betterproto.message_field(1)
    node_info: "NodeInfo" = betterproto.message_field(2)
    timing_info: "TimingInfoMsg" = betterproto.message_field(3)


@dataclass
class LogDebugStackTrace(betterproto.Message):
    """Z011"""

    info: "EventInfo" = betterproto.message_field(1)
    exc_info: str = betterproto.string_field(2)


@dataclass
class CheckCleanPath(betterproto.Message):
    """Z012"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class ConfirmCleanPath(betterproto.Message):
    """Z013"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class ProtectedCleanPath(betterproto.Message):
    """Z014"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class FinishedCleanPaths(betterproto.Message):
    """Z015"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class OpenCommand(betterproto.Message):
    """Z016"""

    info: "EventInfo" = betterproto.message_field(1)
    open_cmd: str = betterproto.string_field(2)
    profiles_dir: str = betterproto.string_field(3)


@dataclass
class EmptyLine(betterproto.Message):
    """Z017"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class ServingDocsPort(betterproto.Message):
    """Z018"""

    info: "EventInfo" = betterproto.message_field(1)
    address: str = betterproto.string_field(2)
    port: int = betterproto.int32_field(3)


@dataclass
class ServingDocsAccessInfo(betterproto.Message):
    """Z019"""

    info: "EventInfo" = betterproto.message_field(1)
    port: str = betterproto.string_field(2)


@dataclass
class ServingDocsExitInfo(betterproto.Message):
    """Z020"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class RunResultWarning(betterproto.Message):
    """Z021"""

    info: "EventInfo" = betterproto.message_field(1)
    resource_type: str = betterproto.string_field(2)
    node_name: str = betterproto.string_field(3)
    path: str = betterproto.string_field(4)


@dataclass
class RunResultFailure(betterproto.Message):
    """Z022"""

    info: "EventInfo" = betterproto.message_field(1)
    resource_type: str = betterproto.string_field(2)
    node_name: str = betterproto.string_field(3)
    path: str = betterproto.string_field(4)


@dataclass
class StatsLine(betterproto.Message):
    """Z023"""

    info: "EventInfo" = betterproto.message_field(1)
    stats: Dict[str, int] = betterproto.map_field(
        2, betterproto.TYPE_STRING, betterproto.TYPE_INT32
    )


@dataclass
class RunResultError(betterproto.Message):
    """Z024"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class RunResultErrorNoMessage(betterproto.Message):
    """Z025"""

    info: "EventInfo" = betterproto.message_field(1)
    status: str = betterproto.string_field(2)


@dataclass
class SQLCompiledPath(betterproto.Message):
    """Z026"""

    info: "EventInfo" = betterproto.message_field(1)
    path: str = betterproto.string_field(2)


@dataclass
class CheckNodeTestFailure(betterproto.Message):
    """Z027"""

    info: "EventInfo" = betterproto.message_field(1)
    relation_name: str = betterproto.string_field(2)


@dataclass
class FirstRunResultError(betterproto.Message):
    """Z028"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class AfterFirstRunResultError(betterproto.Message):
    """Z029"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class EndOfRunSummary(betterproto.Message):
    """Z030"""

    info: "EventInfo" = betterproto.message_field(1)
    num_errors: int = betterproto.int32_field(2)
    num_warnings: int = betterproto.int32_field(3)
    keyboard_interrupt: bool = betterproto.bool_field(4)


@dataclass
class LogSkipBecauseError(betterproto.Message):
    """Z034"""

    info: "EventInfo" = betterproto.message_field(1)
    schema: str = betterproto.string_field(2)
    relation: str = betterproto.string_field(3)
    index: int = betterproto.int32_field(4)
    total: int = betterproto.int32_field(5)


@dataclass
class EnsureGitInstalled(betterproto.Message):
    """Z036"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DepsCreatingLocalSymlink(betterproto.Message):
    """Z037"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DepsSymlinkNotAvailable(betterproto.Message):
    """Z038"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class DisableTracking(betterproto.Message):
    """Z039"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class SendingEvent(betterproto.Message):
    """Z040"""

    info: "EventInfo" = betterproto.message_field(1)
    kwargs: str = betterproto.string_field(2)


@dataclass
class SendEventFailure(betterproto.Message):
    """Z041"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class FlushEvents(betterproto.Message):
    """Z042"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class FlushEventsFailure(betterproto.Message):
    """Z043"""

    info: "EventInfo" = betterproto.message_field(1)


@dataclass
class TrackingInitializeFailure(betterproto.Message):
    """Z044"""

    info: "EventInfo" = betterproto.message_field(1)
    exc_info: str = betterproto.string_field(2)


@dataclass
class RunResultWarningMessage(betterproto.Message):
    """Z046"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class IntegrationTestInfo(betterproto.Message):
    """T001"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class IntegrationTestDebug(betterproto.Message):
    """T002"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class IntegrationTestWarn(betterproto.Message):
    """T003"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class IntegrationTestError(betterproto.Message):
    """T004"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class IntegrationTestException(betterproto.Message):
    """T005"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)


@dataclass
class UnitTestInfo(betterproto.Message):
    """T006"""

    info: "EventInfo" = betterproto.message_field(1)
    msg: str = betterproto.string_field(2)
