From 3c82a0296d227cb1be295356df314c11716f4ff6 Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Wed, 1 May 2024 11:24:57 -0400 Subject: [PATCH] deprecate materialization overrides from imported packages (#9971) (#10008) --- .../unreleased/Features-20231218-195854.yaml | 6 + .../unreleased/Features-20240422-173703.yaml | 6 + .../Under the Hood-20240418-172528.yaml | 6 + core/dbt/cli/flags.py | 43 +- core/dbt/config/__init__.py | 2 +- core/dbt/config/profile.py | 39 +- core/dbt/config/project.py | 89 +- core/dbt/config/runtime.py | 4 +- core/dbt/constants.py | 1 + core/dbt/contracts/connection.py | 8 - core/dbt/contracts/graph/manifest.py | 53 +- core/dbt/contracts/project.py | 12 +- core/dbt/deprecations.py | 21 + core/dbt/events/types.proto | 20 + core/dbt/events/types.py | 23 + core/dbt/events/types_pb2.py | 1763 +++++++++-------- core/dbt/flags.py | 17 +- .../include/starter_project/dbt_project.yml | 1 - core/dbt/tests/fixtures/project.py | 2 +- core/dbt/tracking.py | 1 - core/dbt/utils.py | 2 +- tests/functional/basic/test_mixed_case_db.py | 1 - tests/functional/basic/test_project.py | 7 +- .../configs/test_disabled_configs.py | 1 - .../dependencies/test_local_dependency.py | 13 +- .../deprecations/test_deprecations.py | 31 +- .../fail_fast/test_fail_fast_run.py | 6 +- tests/functional/init/test_init.py | 15 +- tests/functional/materializations/conftest.py | 24 + .../test_custom_materialization.py | 168 +- .../metrics/test_metric_deferral.py | 1 - .../run_operations/test_run_operations.py | 1 - tests/unit/test_cli_flags.py | 107 +- tests/unit/test_config.py | 229 +-- tests/unit/test_events.py | 4 + tests/unit/test_flags.py | 340 ---- tests/unit/test_graph.py | 3 +- tests/unit/test_graph_selection.py | 4 +- tests/unit/test_manifest.py | 177 +- 39 files changed, 1737 insertions(+), 1514 deletions(-) create mode 100644 .changes/unreleased/Features-20231218-195854.yaml create mode 100644 .changes/unreleased/Features-20240422-173703.yaml create mode 100644 .changes/unreleased/Under the Hood-20240418-172528.yaml delete mode 100644 tests/unit/test_flags.py diff --git a/.changes/unreleased/Features-20231218-195854.yaml b/.changes/unreleased/Features-20231218-195854.yaml new file mode 100644 index 00000000000..2a78826aff0 --- /dev/null +++ b/.changes/unreleased/Features-20231218-195854.yaml @@ -0,0 +1,6 @@ +kind: Features +body: Move flags from UserConfig in profiles.yml to flags in dbt_project.yml +time: 2023-12-18T19:58:54.075811-05:00 +custom: + Author: gshank + Issue: "9183" diff --git a/.changes/unreleased/Features-20240422-173703.yaml b/.changes/unreleased/Features-20240422-173703.yaml new file mode 100644 index 00000000000..3c957af40c1 --- /dev/null +++ b/.changes/unreleased/Features-20240422-173703.yaml @@ -0,0 +1,6 @@ +kind: Features +body: Add require_explicit_package_overrides_for_builtin_materializations to dbt_project.yml flags, which can be used to opt-out of overriding built-in materializations from packages +time: 2024-04-22T17:37:03.892268-04:00 +custom: + Author: michelleark + Issue: "10007" diff --git a/.changes/unreleased/Under the Hood-20240418-172528.yaml b/.changes/unreleased/Under the Hood-20240418-172528.yaml new file mode 100644 index 00000000000..50743d8a755 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20240418-172528.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Raise deprecation warning if installed package overrides built-in materialization +time: 2024-04-18T17:25:28.37886-04:00 +custom: + Author: michelleark + Issue: "9971" diff --git a/core/dbt/cli/flags.py b/core/dbt/cli/flags.py index 2678d53b6dd..ba21f879859 100644 --- a/core/dbt/cli/flags.py +++ b/core/dbt/cli/flags.py @@ -3,6 +3,7 @@ from dataclasses import dataclass from importlib import import_module from multiprocessing import get_context +from pathlib import Path from pprint import pformat as pf from typing import Any, Callable, Dict, List, Optional, Set, Union @@ -11,8 +12,8 @@ from dbt.cli.exceptions import DbtUsageException from dbt.cli.resolvers import default_log_path, default_project_dir from dbt.cli.types import Command as CliCommand -from dbt.config.profile import read_user_config -from dbt.contracts.project import UserConfig +from dbt.config.project import read_project_flags +from dbt.contracts.project import ProjectFlags from dbt.exceptions import DbtInternalError from dbt.deprecations import renamed_env_var from dbt.helper_types import WarnErrorOptions @@ -24,7 +25,8 @@ FLAGS_DEFAULTS = { "INDIRECT_SELECTION": "eager", "TARGET_PATH": None, - # Cli args without user_config or env var option. + "WARN_ERROR": None, + # Cli args without project_flags or env var option. "FULL_REFRESH": False, "STRICT_MODE": False, "STORE_FAILURES": False, @@ -76,7 +78,7 @@ class Flags: """Primary configuration artifact for running dbt""" def __init__( - self, ctx: Optional[Context] = None, user_config: Optional[UserConfig] = None + self, ctx: Optional[Context] = None, project_flags: Optional[ProjectFlags] = None ) -> None: # Set the default flags. @@ -201,27 +203,40 @@ def _assign_params( invoked_subcommand_ctx, params_assigned_from_default, deprecated_env_vars ) - if not user_config: + if not project_flags: + project_dir = getattr(self, "PROJECT_DIR", str(default_project_dir())) profiles_dir = getattr(self, "PROFILES_DIR", None) - user_config = read_user_config(profiles_dir) if profiles_dir else None + if profiles_dir and project_dir: + project_flags = read_project_flags(project_dir, profiles_dir) + else: + project_flags = None # Add entire invocation command to flags object.__setattr__(self, "INVOCATION_COMMAND", "dbt " + " ".join(sys.argv[1:])) - # Overwrite default assignments with user config if available. - if user_config: + if project_flags: + # Overwrite default assignments with project flags if available. param_assigned_from_default_copy = params_assigned_from_default.copy() for param_assigned_from_default in params_assigned_from_default: - user_config_param_value = getattr(user_config, param_assigned_from_default, None) - if user_config_param_value is not None: + project_flags_param_value = getattr( + project_flags, param_assigned_from_default, None + ) + if project_flags_param_value is not None: object.__setattr__( self, param_assigned_from_default.upper(), - convert_config(param_assigned_from_default, user_config_param_value), + convert_config(param_assigned_from_default, project_flags_param_value), ) param_assigned_from_default_copy.remove(param_assigned_from_default) params_assigned_from_default = param_assigned_from_default_copy + # Add project-level flags that are not available as CLI options / env vars + for ( + project_level_flag_name, + project_level_flag_value, + ) in project_flags.project_only_flags.items(): + object.__setattr__(self, project_level_flag_name.upper(), project_level_flag_value) + # Set hard coded flags. object.__setattr__(self, "WHICH", invoked_subcommand_name or ctx.info_name) object.__setattr__(self, "MP_CONTEXT", get_context("spawn")) @@ -235,9 +250,11 @@ def _assign_params( # Starting in v1.5, if `log-path` is set in `dbt_project.yml`, it will raise a deprecation warning, # with the possibility of removing it in a future release. if getattr(self, "LOG_PATH", None) is None: - project_dir = getattr(self, "PROJECT_DIR", default_project_dir()) + project_dir = getattr(self, "PROJECT_DIR", str(default_project_dir())) version_check = getattr(self, "VERSION_CHECK", True) - object.__setattr__(self, "LOG_PATH", default_log_path(project_dir, version_check)) + object.__setattr__( + self, "LOG_PATH", default_log_path(Path(project_dir), version_check) + ) # Support console DO NOT TRACK initiative. if os.getenv("DO_NOT_TRACK", "").lower() in ("1", "t", "true", "y", "yes"): diff --git a/core/dbt/config/__init__.py b/core/dbt/config/__init__.py index 1fa43bed3a5..767901c84eb 100644 --- a/core/dbt/config/__init__.py +++ b/core/dbt/config/__init__.py @@ -1,4 +1,4 @@ # all these are just exports, they need "noqa" so flake8 will not complain. -from .profile import Profile, read_user_config # noqa +from .profile import Profile # noqa from .project import Project, IsFQNResource, PartialProject # noqa from .runtime import RuntimeConfig # noqa diff --git a/core/dbt/config/profile.py b/core/dbt/config/profile.py index d31342223c2..998b136f359 100644 --- a/core/dbt/config/profile.py +++ b/core/dbt/config/profile.py @@ -8,7 +8,7 @@ from dbt.clients.system import load_file_contents from dbt.clients.yaml_helper import load_yaml_text from dbt.contracts.connection import Credentials, HasCredentials -from dbt.contracts.project import ProfileConfig, UserConfig +from dbt.contracts.project import ProfileConfig from dbt.exceptions import ( CompilationError, DbtProfileError, @@ -19,7 +19,6 @@ ) from dbt.events.types import MissingProfileTarget from dbt.events.functions import fire_event -from dbt.utils import coerce_dict_str from .renderer import ProfileRenderer @@ -51,19 +50,6 @@ def read_profile(profiles_dir: str) -> Dict[str, Any]: return {} -def read_user_config(directory: str) -> UserConfig: - try: - profile = read_profile(directory) - if profile: - user_config = coerce_dict_str(profile.get("config", {})) - if user_config is not None: - UserConfig.validate(user_config) - return UserConfig.from_dict(user_config) - except (DbtRuntimeError, ValidationError): - pass - return UserConfig() - - # The Profile class is included in RuntimeConfig, so any attribute # additions must also be set where the RuntimeConfig class is created # `init=False` is a workaround for https://bugs.python.org/issue45081 @@ -71,7 +57,6 @@ def read_user_config(directory: str) -> UserConfig: class Profile(HasCredentials): profile_name: str target_name: str - user_config: UserConfig threads: int credentials: Credentials profile_env_vars: Dict[str, Any] @@ -80,7 +65,6 @@ def __init__( self, profile_name: str, target_name: str, - user_config: UserConfig, threads: int, credentials: Credentials, ): @@ -89,7 +73,6 @@ def __init__( """ self.profile_name = profile_name self.target_name = target_name - self.user_config = user_config self.threads = threads self.credentials = credentials self.profile_env_vars = {} # never available on init @@ -106,12 +89,10 @@ def to_profile_info(self, serialize_credentials: bool = False) -> Dict[str, Any] result = { "profile_name": self.profile_name, "target_name": self.target_name, - "user_config": self.user_config, "threads": self.threads, "credentials": self.credentials, } if serialize_credentials: - result["user_config"] = self.user_config.to_dict(omit_none=True) result["credentials"] = self.credentials.to_dict(omit_none=True) return result @@ -124,7 +105,6 @@ def to_target_dict(self) -> Dict[str, Any]: "name": self.target_name, "target_name": self.target_name, "profile_name": self.profile_name, - "config": self.user_config.to_dict(omit_none=True), } ) return target @@ -246,7 +226,6 @@ def from_credentials( threads: int, profile_name: str, target_name: str, - user_config: Optional[Dict[str, Any]] = None, ) -> "Profile": """Create a profile from an existing set of Credentials and the remaining information. @@ -255,20 +234,13 @@ def from_credentials( :param threads: The number of threads to use for connections. :param profile_name: The profile name used for this profile. :param target_name: The target name used for this profile. - :param user_config: The user-level config block from the - raw profiles, if specified. :raises DbtProfileError: If the profile is invalid. :returns: The new Profile object. """ - if user_config is None: - user_config = {} - UserConfig.validate(user_config) - user_config_obj: UserConfig = UserConfig.from_dict(user_config) profile = cls( profile_name=profile_name, target_name=target_name, - user_config=user_config_obj, threads=threads, credentials=credentials, ) @@ -316,7 +288,6 @@ def from_raw_profile_info( raw_profile: Dict[str, Any], profile_name: str, renderer: ProfileRenderer, - user_config: Optional[Dict[str, Any]] = None, target_override: Optional[str] = None, threads_override: Optional[int] = None, ) -> "Profile": @@ -328,8 +299,6 @@ def from_raw_profile_info( disk as yaml and its values rendered with jinja. :param profile_name: The profile name used. :param renderer: The config renderer. - :param user_config: The global config for the user, if it - was present. :param target_override: The target to use, if provided on the command line. :param threads_override: The thread count to use, if @@ -338,9 +307,6 @@ def from_raw_profile_info( target could not be found :returns: The new Profile object. """ - # user_config is not rendered. - if user_config is None: - user_config = raw_profile.get("config") # TODO: should it be, and the values coerced to bool? target_name, profile_data = cls.render_profile( raw_profile, profile_name, target_override, renderer @@ -361,7 +327,6 @@ def from_raw_profile_info( profile_name=profile_name, target_name=target_name, threads=threads, - user_config=user_config, ) @classmethod @@ -396,13 +361,11 @@ def from_raw_profiles( if not raw_profile: msg = f"Profile {profile_name} in profiles.yml is empty" raise DbtProfileError(INVALID_PROFILE_MESSAGE.format(error_string=msg)) - user_config = raw_profiles.get("config") return cls.from_raw_profile_info( raw_profile=raw_profile, profile_name=profile_name, renderer=renderer, - user_config=user_config, target_override=target_override, threads_override=threads_override, ) diff --git a/core/dbt/config/project.py b/core/dbt/config/project.py index 50d33cd927e..4ffbafe3574 100644 --- a/core/dbt/config/project.py +++ b/core/dbt/config/project.py @@ -16,7 +16,7 @@ from dbt.flags import get_flags from dbt import deprecations -from dbt.constants import DEPENDENCIES_FILE_NAME, PACKAGES_FILE_NAME +from dbt.constants import DEPENDENCIES_FILE_NAME, PACKAGES_FILE_NAME, DBT_PROJECT_FILE_NAME from dbt.clients.system import path_exists, resolve_path_from_base, load_file_contents from dbt.clients.yaml_helper import load_yaml_text from dbt.contracts.connection import QueryComment @@ -31,12 +31,13 @@ from dbt.helper_types import NoValue from dbt.semver import VersionSpecifier, versions_compatible from dbt.version import get_installed_version -from dbt.utils import MultiDict, md5 +from dbt.utils import MultiDict, md5, coerce_dict_str from dbt.node_types import NodeType from dbt.config.selectors import SelectorDict from dbt.contracts.project import ( Project as ProjectContract, SemverString, + ProjectFlags, ) from dbt.contracts.project import PackageConfig, ProjectPackageMetadata from dbt.dataclass_schema import ValidationError @@ -77,8 +78,8 @@ """ MISSING_DBT_PROJECT_ERROR = """\ -No dbt_project.yml found at expected path {path} -Verify that each entry within packages.yml (and their transitive dependencies) contains a file named dbt_project.yml +No {DBT_PROJECT_FILE_NAME} found at expected path {path} +Verify that each entry within packages.yml (and their transitive dependencies) contains a file named {DBT_PROJECT_FILE_NAME} """ @@ -183,16 +184,20 @@ def value_or(value: Optional[T], default: T) -> T: def load_raw_project(project_root: str) -> Dict[str, Any]: project_root = os.path.normpath(project_root) - project_yaml_filepath = os.path.join(project_root, "dbt_project.yml") + project_yaml_filepath = os.path.join(project_root, DBT_PROJECT_FILE_NAME) # get the project.yml contents if not path_exists(project_yaml_filepath): - raise DbtProjectError(MISSING_DBT_PROJECT_ERROR.format(path=project_yaml_filepath)) + raise DbtProjectError( + MISSING_DBT_PROJECT_ERROR.format( + path=project_yaml_filepath, DBT_PROJECT_FILE_NAME=DBT_PROJECT_FILE_NAME + ) + ) project_dict = _load_yaml(project_yaml_filepath) if not isinstance(project_dict, dict): - raise DbtProjectError("dbt_project.yml does not parse to a dictionary") + raise DbtProjectError(f"{DBT_PROJECT_FILE_NAME} does not parse to a dictionary") return project_dict @@ -307,21 +312,21 @@ def get_rendered( selectors_dict=rendered_selectors, ) - # Called by Project.from_project_root (not PartialProject.from_project_root!) + # Called by Project.from_project_root which first calls PartialProject.from_project_root def render(self, renderer: DbtProjectYamlRenderer) -> "Project": try: rendered = self.get_rendered(renderer) return self.create_project(rendered) except DbtProjectError as exc: if exc.path is None: - exc.path = os.path.join(self.project_root, "dbt_project.yml") + exc.path = os.path.join(self.project_root, DBT_PROJECT_FILE_NAME) raise def render_package_metadata(self, renderer: PackageRenderer) -> ProjectPackageMetadata: packages_data = renderer.render_data(self.packages_dict) packages_config = package_config_from_data(packages_data) if not self.project_name: - raise DbtProjectError("Package dbt_project.yml must have a name!") + raise DbtProjectError(f"Package defined in {DBT_PROJECT_FILE_NAME} must have a name!") return ProjectPackageMetadata(self.project_name, packages_config.packages) def check_config_path( @@ -332,7 +337,7 @@ def check_config_path( msg = ( "{deprecated_path} and {expected_path} cannot both be defined. The " "`{deprecated_path}` config has been deprecated in favor of `{expected_path}`. " - "Please update your `dbt_project.yml` configuration to reflect this " + f"Please update your `{DBT_PROJECT_FILE_NAME}` configuration to reflect this " "change." ) raise DbtProjectError( @@ -404,11 +409,11 @@ def create_project(self, rendered: RenderComponents) -> "Project": docs_paths: List[str] = value_or(cfg.docs_paths, all_source_paths) asset_paths: List[str] = value_or(cfg.asset_paths, []) - flags = get_flags() + global_flags = get_flags() - flag_target_path = str(flags.TARGET_PATH) if flags.TARGET_PATH else None + flag_target_path = str(global_flags.TARGET_PATH) if global_flags.TARGET_PATH else None target_path: str = flag_or(flag_target_path, cfg.target_path, "target") - log_path: str = str(flags.LOG_PATH) + log_path: str = str(global_flags.LOG_PATH) clean_targets: List[str] = value_or(cfg.clean_targets, [target_path]) packages_install_path: str = value_or(cfg.packages_install_path, "dbt_packages") @@ -545,6 +550,12 @@ def from_project_root( packages_specified_path, ) = package_and_project_data_from_root(project_root) selectors_dict = selector_data_from_root(project_root) + + if "flags" in project_dict: + # We don't want to include "flags" in the Project, + # it goes in ProjectFlags + project_dict.pop("flags") + return cls.from_dicts( project_root=project_root, project_dict=project_dict, @@ -681,7 +692,6 @@ def to_project_config(self, with_packages=False): "exposures": self.exposures, "vars": self.vars.to_dict(), "require-dbt-version": [v.to_version_string() for v in self.dbt_version], - "config-version": self.config_version, "restrict-access": self.restrict_access, "dbt-cloud": self.dbt_cloud, } @@ -745,3 +755,52 @@ def get_macro_search_order(self, macro_namespace: str): def project_target_path(self): # If target_path is absolute, project_root will not be included return os.path.join(self.project_root, self.target_path) + + +def read_project_flags(project_dir: str, profiles_dir: str) -> ProjectFlags: + try: + project_flags: Dict[str, Any] = {} + # Read project_flags from dbt_project.yml first + # Flags are instantiated before the project, so we don't + # want to throw an error for non-existence of dbt_project.yml here + # because it breaks things. + project_root = os.path.normpath(project_dir) + project_yaml_filepath = os.path.join(project_root, DBT_PROJECT_FILE_NAME) + if path_exists(project_yaml_filepath): + try: + project_dict = load_raw_project(project_root) + if "flags" in project_dict: + project_flags = project_dict.pop("flags") + except Exception: + # This is probably a yaml load error.The error will be reported + # later, when the project loads. + pass + + from dbt.config.profile import read_profile + + profile = read_profile(profiles_dir) + profile_project_flags: Optional[Dict[str, Any]] = {} + if profile: + profile_project_flags = coerce_dict_str(profile.get("config", {})) + + if project_flags and profile_project_flags: + raise DbtProjectError( + f"Do not specify both 'config' in profiles.yml and 'flags' in {DBT_PROJECT_FILE_NAME}. " + "Using 'config' in profiles.yml is deprecated." + ) + + if profile_project_flags: + # This can't use WARN_ERROR or WARN_ERROR_OPTIONS because they're in + # the config that we're loading. Uses special "warn" method. + deprecations.warn("project-flags-moved") + project_flags = profile_project_flags + + if project_flags is not None: + ProjectFlags.validate(project_flags) + return ProjectFlags.from_dict(project_flags) + except (DbtProjectError) as exc: + # We don't want to eat the DbtProjectError for UserConfig to ProjectFlags + raise exc + except (DbtRuntimeError, ValidationError): + pass + return ProjectFlags() diff --git a/core/dbt/config/runtime.py b/core/dbt/config/runtime.py index bd8fe9ee7e4..215f1b3539f 100644 --- a/core/dbt/config/runtime.py +++ b/core/dbt/config/runtime.py @@ -20,7 +20,7 @@ from dbt.config.project import load_raw_project from dbt.contracts.connection import AdapterRequiredConfig, Credentials, HasCredentials from dbt.contracts.graph.manifest import ManifestMetadata -from dbt.contracts.project import Configuration, UserConfig +from dbt.contracts.project import Configuration from dbt.contracts.relation import ComponentName from dbt.dataclass_schema import ValidationError from dbt.events.functions import warn_or_error @@ -176,7 +176,6 @@ def from_parts( profile_env_vars=profile.profile_env_vars, profile_name=profile.profile_name, target_name=profile.target_name, - user_config=profile.user_config, threads=profile.threads, credentials=profile.credentials, args=args, @@ -428,7 +427,6 @@ def _connection_keys(self): class UnsetProfile(Profile): def __init__(self): self.credentials = UnsetCredentials() - self.user_config = UserConfig() # This will be read in _get_rendered_profile self.profile_name = "" self.target_name = "" self.threads = -1 diff --git a/core/dbt/constants.py b/core/dbt/constants.py index 394d34fd818..ab20bbcb9f5 100644 --- a/core/dbt/constants.py +++ b/core/dbt/constants.py @@ -9,6 +9,7 @@ "https://docs.getdbt.com/docs/package-management#section-specifying-package-versions" ) +DBT_PROJECT_FILE_NAME = "dbt_project.yml" PACKAGES_FILE_NAME = "packages.yml" DEPENDENCIES_FILE_NAME = "dependencies.yml" MANIFEST_FILE_NAME = "manifest.json" diff --git a/core/dbt/contracts/connection.py b/core/dbt/contracts/connection.py index 41eb0bccb8d..1b36244394d 100644 --- a/core/dbt/contracts/connection.py +++ b/core/dbt/contracts/connection.py @@ -181,17 +181,9 @@ def __post_serialize__(self, dct): return dct -class UserConfigContract(Protocol): - send_anonymous_usage_stats: bool - use_colors: Optional[bool] = None - partial_parse: Optional[bool] = None - printer_width: Optional[int] = None - - class HasCredentials(Protocol): credentials: Credentials profile_name: str - user_config: UserConfigContract target_name: str threads: int diff --git a/core/dbt/contracts/graph/manifest.py b/core/dbt/contracts/graph/manifest.py index 7904adc4264..1d055f7ce7a 100644 --- a/core/dbt/contracts/graph/manifest.py +++ b/core/dbt/contracts/graph/manifest.py @@ -23,7 +23,6 @@ ) from typing_extensions import Protocol from uuid import UUID - from dbt.contracts.graph.nodes import ( BaseNode, Documentation, @@ -59,7 +58,7 @@ from dbt.events.contextvars import get_node_info from dbt.node_types import NodeType, AccessType from dbt.flags import get_flags, MP_CONTEXT -from dbt import tracking +from dbt import tracking, deprecations import dbt.utils @@ -562,11 +561,29 @@ def __lt__(self, other: object) -> bool: class CandidateList(List[M]): - def last(self) -> Optional[Macro]: + def last_candidate( + self, valid_localities: Optional[List[Locality]] = None + ) -> Optional[MacroCandidate]: + """ + Obtain the last (highest precedence) MacroCandidate from the CandidateList of any locality in valid_localities. + If valid_localities is not specified, return the last MacroCandidate of any locality. + """ if not self: return None self.sort() - return self[-1].macro + + if valid_localities is None: + return self[-1] + + for candidate in reversed(self): + if candidate.locality in valid_localities: + return candidate + + return None + + def last(self) -> Optional[Macro]: + last_candidate = self.last_candidate() + return last_candidate.macro if last_candidate is not None else None def _get_locality(macro: Macro, root_project_name: str, internal_packages: Set[str]) -> Locality: @@ -850,7 +867,33 @@ def find_materialization_macro_by_name( for specificity, atype in enumerate(self._get_parent_adapter_types(adapter_type)) ) ) - return candidates.last() + core_candidates = [ + candidate for candidate in candidates if candidate.locality == Locality.Core + ] + + materialization_candidate = candidates.last_candidate() + # If an imported materialization macro was found that also had a core candidate, fire a deprecation + if ( + materialization_candidate is not None + and materialization_candidate.locality == Locality.Imported + and core_candidates + ): + # preserve legacy behaviour - allow materialization override + if ( + get_flags().require_explicit_package_overrides_for_builtin_materializations + is False + ): + deprecations.warn( + "package-materialization-override", + package_name=materialization_candidate.macro.package_name, + materialization_name=materialization_name, + ) + else: + materialization_candidate = candidates.last_candidate( + valid_localities=[Locality.Core, Locality.Root] + ) + + return materialization_candidate.macro if materialization_candidate else None def get_resource_fqns(self) -> Mapping[str, PathSet]: resource_fqns: Dict[str, Set[Tuple[str, ...]]] = {} diff --git a/core/dbt/contracts/project.py b/core/dbt/contracts/project.py index 74eebd55dbf..d9f7ae08de0 100644 --- a/core/dbt/contracts/project.py +++ b/core/dbt/contracts/project.py @@ -1,5 +1,5 @@ from dbt.contracts.util import Replaceable, Mergeable, list_str, Identifier -from dbt.contracts.connection import QueryComment, UserConfigContract +from dbt.contracts.connection import QueryComment from dbt.helper_types import NoValue from dbt.dataclass_schema import ( dbtClassMixin, @@ -248,7 +248,7 @@ def validate(cls, data): @dataclass -class UserConfig(ExtensibleDbtClassMixin, Replaceable, UserConfigContract): +class ProjectFlags(ExtensibleDbtClassMixin, Replaceable): cache_selected_only: Optional[bool] = None debug: Optional[bool] = None fail_fast: Optional[bool] = None @@ -260,6 +260,7 @@ class UserConfig(ExtensibleDbtClassMixin, Replaceable, UserConfigContract): partial_parse: Optional[bool] = None populate_cache: Optional[bool] = None printer_width: Optional[int] = None + require_explicit_package_overrides_for_builtin_materializations: bool = False send_anonymous_usage_stats: bool = DEFAULT_SEND_ANONYMOUS_USAGE_STATS static_parser: Optional[bool] = None use_colors: Optional[bool] = None @@ -270,12 +271,17 @@ class UserConfig(ExtensibleDbtClassMixin, Replaceable, UserConfigContract): warn_error_options: Optional[Dict[str, Union[str, List[str]]]] = None write_json: Optional[bool] = None + @property + def project_only_flags(self) -> Dict[str, Any]: + return { + "require_explicit_package_overrides_for_builtin_materializations": self.require_explicit_package_overrides_for_builtin_materializations, + } + @dataclass class ProfileConfig(HyphenatedDbtClassMixin, Replaceable): profile_name: str = field(metadata={"preserve_underscore": True}) target_name: str = field(metadata={"preserve_underscore": True}) - user_config: UserConfig = field(metadata={"preserve_underscore": True}) threads: int # TODO: make this a dynamic union of some kind? credentials: Optional[Dict[str, Any]] diff --git a/core/dbt/deprecations.py b/core/dbt/deprecations.py index d69b166043d..83e0dacadae 100644 --- a/core/dbt/deprecations.py +++ b/core/dbt/deprecations.py @@ -96,6 +96,25 @@ class CollectFreshnessReturnSignature(DBTDeprecation): _event = "CollectFreshnessReturnSignature" +class ProjectFlagsMovedDeprecation(DBTDeprecation): + _name = "project-flags-moved" + _event = "ProjectFlagsMovedDeprecation" + + def show(self, *args, **kwargs) -> None: + if self.name not in active_deprecations: + event = self.event(**kwargs) + # We can't do warn_or_error because the ProjectFlags + # is where that is set up and we're just reading it. + dbt.events.functions.fire_event(event) + self.track_deprecation_warn() + active_deprecations.add(self.name) + + +class PackageMaterializationOverrideDeprecation(DBTDeprecation): + _name = "package-materialization-override" + _event = "PackageMaterializationOverrideDeprecation" + + def renamed_env_var(old_name: str, new_name: str): class EnvironmentVariableRenamed(DBTDeprecation): _name = f"environment-variable-renamed:{old_name}" @@ -134,6 +153,8 @@ def warn(name, *args, **kwargs): ConfigLogPathDeprecation(), ConfigTargetPathDeprecation(), CollectFreshnessReturnSignature(), + ProjectFlagsMovedDeprecation(), + PackageMaterializationOverrideDeprecation(), ] deprecations: Dict[str, DBTDeprecation] = {d.name: d for d in deprecations_list} diff --git a/core/dbt/events/types.proto b/core/dbt/events/types.proto index 9d9ee4bcbbf..2675b3a25cf 100644 --- a/core/dbt/events/types.proto +++ b/core/dbt/events/types.proto @@ -394,6 +394,26 @@ message CollectFreshnessReturnSignatureMsg { CollectFreshnessReturnSignature data = 2; } +// D013 +message ProjectFlagsMovedDeprecation { +} + +message ProjectFlagsMovedDeprecationMsg { + EventInfo info = 1; + ProjectFlagsMovedDeprecation data = 2; +} + +// D016 +message PackageMaterializationOverrideDeprecation { + string package_name = 1; + string materialization_name = 2; +} + +message PackageMaterializationOverrideDeprecationMsg { + EventInfo info = 1; + PackageMaterializationOverrideDeprecation data = 2; +} + // E - DB Adapter // E001 diff --git a/core/dbt/events/types.py b/core/dbt/events/types.py index 8e3f2952cb4..702697e1c63 100644 --- a/core/dbt/events/types.py +++ b/core/dbt/events/types.py @@ -797,6 +797,29 @@ def message(self) -> str: return line_wrap_message(warning_tag(msg)) +class ProjectFlagsMovedDeprecation(WarnLevel): + def code(self) -> str: + return "D013" + + def message(self) -> str: + description = ( + "User config should be moved from the 'config' key in profiles.yml to the 'flags' " + "key in dbt_project.yml." + ) + # Can't use line_wrap_message here because flags.printer_width isn't available yet + return warning_tag(f"Deprecated functionality\n\n{description}") + + +class PackageMaterializationOverrideDeprecation(WarnLevel): + def code(self) -> str: + return "D016" + + def message(self) -> str: + description = f"Installed package '{self.package_name}' is overriding the built-in materialization '{self.materialization_name}'. Overrides of built-in materializations from installed packages will be deprecated in future versions of dbt. Please refer to https://docs.getdbt.com/reference/global-configs/legacy-behaviors#require_explicit_package_overrides_for_builtin_materializations for detailed documentation and suggested workarounds." + + return line_wrap_message(warning_tag(description)) + + # ======================================================= # I - Project parsing # ======================================================= diff --git a/core/dbt/events/types_pb2.py b/core/dbt/events/types_pb2.py index 61c978e1b6a..76df64c74b5 100644 --- a/core/dbt/events/types_pb2.py +++ b/core/dbt/events/types_pb2.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: types.proto +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -15,881 +16,889 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation\"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05\"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion\"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs\"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t\"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainTrackingUserState\"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t\"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState\"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget\"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t\"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML\"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError\"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError\"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath\"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConfigFolderDirectory\"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t\"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound\"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample\"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML\"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML\"\x12\n\x10SettingUpProfile\"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile\"\x1c\n\x1aInvalidProfileTemplateYAML\"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML\"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t\"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists\"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t\"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated\"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1dPackageRedirectDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation\"\x1f\n\x1dPackageInstallPathDeprecation\"\x82\x01\n PackageInstallPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation\"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"~\n\x1e\x43onfigSourcePathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation\"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"z\n\x1c\x43onfigDataPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"z\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\"v\n\x1aMetricAttributesRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed\"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t\"v\n\x1a\x45xposureNameDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation\"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"n\n\x16InternalDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation\"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1d\x45nvironmentVariableRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed\"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"x\n\x1b\x43onfigLogPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation\"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"~\n\x1e\x43onfigTargetPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x86\x01\n\"CollectFreshnessReturnSignatureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x87\x01\n\x11\x41\x64\x61pterEventDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"j\n\x14\x41\x64\x61pterEventDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x86\x01\n\x10\x41\x64\x61pterEventInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"h\n\x13\x41\x64\x61pterEventInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x89\x01\n\x13\x41\x64\x61pterEventWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"n\n\x16\x41\x64\x61pterEventWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\x99\x01\n\x11\x41\x64\x61pterEventError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"j\n\x14\x41\x64\x61pterEventErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"_\n\rNewConnection\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"b\n\x10NewConnectionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionReusedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"~\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"z\n\x1c\x43onnectionClosedInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"_\n\x0eRollbackFailed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"d\n\x11RollbackFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"O\n\x10\x43onnectionClosed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionClosedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"Q\n\x12\x43onnectionLeftOpen\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"l\n\x15\x43onnectionLeftOpenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"G\n\x08Rollback\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"X\n\x0bRollbackMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"Z\n\x0c\x43\x61\x63heMissMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10ListRelationsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"`\n\x0e\x43onnectionUsed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"d\n\x11\x43onnectionUsedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"T\n\x08SQLQuery\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"X\n\x0bSQLQueryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"[\n\x0eSQLQueryStatus\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"d\n\x11SQLQueryStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"H\n\tSQLCommit\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"Z\n\x0cSQLCommitMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10\x43olTypeChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"d\n\x11SchemaCreationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"\\\n\rSchemaDropMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"^\n\x0e\x43\x61\x63heActionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11\x43\x61\x63heDumpGraphMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"j\n\x14\x41\x64\x61pterRegisteredMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15\x41\x64\x61pterImportErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"f\n\x12PluginLoadErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"Z\n\x14NewConnectionOpening\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"p\n\x17NewConnectionOpeningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"b\n\x10\x43odeExecutionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"n\n\x16\x43odeExecutionStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"t\n\x19\x43\x61talogGenerationErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"n\n\x16WriteCatalogFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43\x61talogWrittenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"l\n\x15\x43\x61nnotGenerateDocsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"f\n\x12\x42uildingCatalogMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"x\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"`\n\x0fHooksRunningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"p\n\x17\x46inishedRunningStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"r\n\x18\x43onstraintNotEnforcedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"t\n\x19\x43onstraintNotSupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported\"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError\"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t\"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField\"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t\"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning\"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath\"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile\"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError\"\x1b\n\x19PartialParsingSkipParsing\"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing\"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t\"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse\"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash\"\x1a\n\x18PartialParsingNotEnabled\"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled\"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed\"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05\"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.PartialParsingEnabled\"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile\"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\"\x86\x01\n\"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode\"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t\"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath\"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased\">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath\"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged\"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t\"\x86\x01\n\"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged\"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t\"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables\"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t\"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile\"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t\"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey\"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t\"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MacroNotFoundForPatch\"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t\"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled\"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning\"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo\"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug\"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t\"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable\"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t\"f\n\x12\x44\x65precatedModelMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModel\"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation\"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference\"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t\"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization\"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError\"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t\"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure\"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t\"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory\"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t\"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision\"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency\".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x86\x01\n\"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency\"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t\"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo\"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t\"\x86\x01\n\"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange\"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t\"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt\")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest\"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse\"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t\"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector\"\x15\n\x13\x44\x65psNoPackagesFound\"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound\"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall\"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t\"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo\"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t\"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable\"\x0e\n\x0c\x44\x65psUpToDate\"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate\",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t\"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory\".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t\"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable\"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall\"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException\".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x86\x01\n\"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest\"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse\"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType\"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys\"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys\"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x86\x01\n\"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys\"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory\"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t\"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned\"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t\"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria\"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError\"\x11\n\x0f\x43ompileComplete\"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete\"\x18\n\x16\x46reshnessCheckComplete\"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete\"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t\"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader\"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t\"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException\"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult\"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine\"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult\"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult\"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t\"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult\"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t\"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult\"\"\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t\"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine\"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector\"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart\"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg\"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished\"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t\"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported\"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05\"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine\"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode\"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling\"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting\"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine\"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine\"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05\"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails\"\r\n\x0bNothingToDo\"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo\",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError\"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08\"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult\"\x11\n\x0fNoNodesSelected\"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected\"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02\"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted\"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode\"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode\"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun\"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun\"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.GenericExceptionOnRun\"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError\"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats\"\x17\n\x15MainKeyboardInterrupt\"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainKeyboardInterrupt\"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError\"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t\"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace\"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite\"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t\"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd\"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut\"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr\",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05\"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode\"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg\"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected\"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace\"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath\" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath\"\"\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath\"\x14\n\x12\x46inishedCleanPaths\"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths\"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t\"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand\"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting\"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort\"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t\"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ServingDocsAccessInfo\"\x15\n\x13ServingDocsExitInfo\"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo\"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning\"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure\"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine\"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError\")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t\"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage\"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath\"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t\"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure\"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08\"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary\"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError\"\x14\n\x12\x45nsureGitInstalled\"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled\"\x1a\n\x18\x44\x65psCreatingLocalSymlink\"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink\"\x19\n\x17\x44\x65psSymlinkNotAvailable\"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable\"\x11\n\x0f\x44isableTracking\"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking\"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t\"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent\"\x12\n\x10SendEventFailure\"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure\"\r\n\x0b\x46lushEvents\"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents\"\x14\n\x12\x46lushEventsFailure\"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure\"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure\"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t\"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage\"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut\"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult\"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut\"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t\"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Noteb\x06proto3') - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', globals()) -if _descriptor._USE_C_DESCRIPTORS == False: +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btypes.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x02\n\tEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x05\x65xtra\x18\t \x03(\x0b\x32!.proto_types.EventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\rTimingInfoMsg\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\nstarted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"V\n\x0cNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x91\x02\n\x08NodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x30\n\rnode_relation\x18\n \x01(\x0b\x32\x19.proto_types.NodeRelation\"\xd1\x01\n\x0cRunResultMsg\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12/\n\x0btiming_info\x18\x03 \x03(\x0b\x32\x1a.proto_types.TimingInfoMsg\x12\x0e\n\x06thread\x18\x04 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x31\n\x10\x61\x64\x61pter_response\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"6\n\x0eGenericMessage\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\"9\n\x11MainReportVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0blog_version\x18\x02 \x01(\x05\"j\n\x14MainReportVersionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.MainReportVersion\"r\n\x0eMainReportArgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.proto_types.MainReportArgs.ArgsEntry\x1a+\n\tArgsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11MainReportArgsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainReportArgs\"+\n\x15MainTrackingUserState\x12\x12\n\nuser_state\x18\x01 \x01(\t\"r\n\x18MainTrackingUserStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainTrackingUserState\"5\n\x0fMergedFromState\x12\x12\n\nnum_merged\x18\x01 \x01(\x05\x12\x0e\n\x06sample\x18\x02 \x03(\t\"f\n\x12MergedFromStateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.MergedFromState\"A\n\x14MissingProfileTarget\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\"p\n\x17MissingProfileTargetMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MissingProfileTarget\"(\n\x11InvalidOptionYAML\x12\x13\n\x0boption_name\x18\x01 \x01(\t\"j\n\x14InvalidOptionYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.InvalidOptionYAML\"!\n\x12LogDbtProjectError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15LogDbtProjectErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProjectError\"3\n\x12LogDbtProfileError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\"l\n\x15LogDbtProfileErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDbtProfileError\"!\n\x12StarterProjectPath\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"l\n\x15StarterProjectPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StarterProjectPath\"$\n\x15\x43onfigFolderDirectory\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"r\n\x18\x43onfigFolderDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConfigFolderDirectory\"\'\n\x14NoSampleProfileFound\x12\x0f\n\x07\x61\x64\x61pter\x18\x01 \x01(\t\"p\n\x17NoSampleProfileFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NoSampleProfileFound\"6\n\x18ProfileWrittenWithSample\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x1bProfileWrittenWithSampleMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProfileWrittenWithSample\"B\n$ProfileWrittenWithTargetTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x90\x01\n\'ProfileWrittenWithTargetTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.ProfileWrittenWithTargetTemplateYAML\"C\n%ProfileWrittenWithProjectTemplateYAML\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x92\x01\n(ProfileWrittenWithProjectTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.ProfileWrittenWithProjectTemplateYAML\"\x12\n\x10SettingUpProfile\"h\n\x13SettingUpProfileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SettingUpProfile\"\x1c\n\x1aInvalidProfileTemplateYAML\"|\n\x1dInvalidProfileTemplateYAMLMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.InvalidProfileTemplateYAML\"(\n\x18ProjectNameAlreadyExists\x12\x0c\n\x04name\x18\x01 \x01(\t\"x\n\x1bProjectNameAlreadyExistsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ProjectNameAlreadyExists\"K\n\x0eProjectCreated\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x10\n\x08\x64ocs_url\x18\x02 \x01(\t\x12\x11\n\tslack_url\x18\x03 \x01(\t\"d\n\x11ProjectCreatedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ProjectCreated\"@\n\x1aPackageRedirectDeprecation\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1dPackageRedirectDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.PackageRedirectDeprecation\"\x1f\n\x1dPackageInstallPathDeprecation\"\x82\x01\n PackageInstallPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.PackageInstallPathDeprecation\"H\n\x1b\x43onfigSourcePathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"~\n\x1e\x43onfigSourcePathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigSourcePathDeprecation\"F\n\x19\x43onfigDataPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\x12\x10\n\x08\x65xp_path\x18\x02 \x01(\t\"z\n\x1c\x43onfigDataPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConfigDataPathDeprecation\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"z\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\".\n\x17MetricAttributesRenamed\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\"v\n\x1aMetricAttributesRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.MetricAttributesRenamed\"+\n\x17\x45xposureNameDeprecation\x12\x10\n\x08\x65xposure\x18\x01 \x01(\t\"v\n\x1a\x45xposureNameDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.ExposureNameDeprecation\"^\n\x13InternalDeprecation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10suggested_action\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\"n\n\x16InternalDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.InternalDeprecation\"@\n\x1a\x45nvironmentVariableRenamed\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"|\n\x1d\x45nvironmentVariableRenamedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.EnvironmentVariableRenamed\"3\n\x18\x43onfigLogPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"x\n\x1b\x43onfigLogPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.ConfigLogPathDeprecation\"6\n\x1b\x43onfigTargetPathDeprecation\x12\x17\n\x0f\x64\x65precated_path\x18\x01 \x01(\t\"~\n\x1e\x43onfigTargetPathDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConfigTargetPathDeprecation\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x86\x01\n\"CollectFreshnessReturnSignatureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x1e\n\x1cProjectFlagsMovedDeprecation\"\x80\x01\n\x1fProjectFlagsMovedDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.ProjectFlagsMovedDeprecation\"_\n)PackageMaterializationOverrideDeprecation\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x1c\n\x14materialization_name\x18\x02 \x01(\t\"\x9a\x01\n,PackageMaterializationOverrideDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x44\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x36.proto_types.PackageMaterializationOverrideDeprecation\"\x87\x01\n\x11\x41\x64\x61pterEventDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"j\n\x14\x41\x64\x61pterEventDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x86\x01\n\x10\x41\x64\x61pterEventInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"h\n\x13\x41\x64\x61pterEventInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x89\x01\n\x13\x41\x64\x61pterEventWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"n\n\x16\x41\x64\x61pterEventWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\x99\x01\n\x11\x41\x64\x61pterEventError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"j\n\x14\x41\x64\x61pterEventErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"_\n\rNewConnection\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"b\n\x10NewConnectionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionReusedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"~\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"z\n\x1c\x43onnectionClosedInCleanupMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"_\n\x0eRollbackFailed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"d\n\x11RollbackFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"O\n\x10\x43onnectionClosed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"h\n\x13\x43onnectionClosedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"Q\n\x12\x43onnectionLeftOpen\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"l\n\x15\x43onnectionLeftOpenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"G\n\x08Rollback\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"X\n\x0bRollbackMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"Z\n\x0c\x43\x61\x63heMissMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10ListRelationsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"`\n\x0e\x43onnectionUsed\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"d\n\x11\x43onnectionUsedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"T\n\x08SQLQuery\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"X\n\x0bSQLQueryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"[\n\x0eSQLQueryStatus\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"d\n\x11SQLQueryStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"H\n\tSQLCommit\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"Z\n\x0cSQLCommitMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"b\n\x10\x43olTypeChangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"d\n\x11SchemaCreationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"\\\n\rSchemaDropMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"^\n\x0e\x43\x61\x63heActionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"d\n\x11\x43\x61\x63heDumpGraphMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"j\n\x14\x41\x64\x61pterRegisteredMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"l\n\x15\x41\x64\x61pterImportErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"f\n\x12PluginLoadErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"Z\n\x14NewConnectionOpening\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"p\n\x17NewConnectionOpeningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"b\n\x10\x43odeExecutionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"n\n\x16\x43odeExecutionStatusMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"t\n\x19\x43\x61talogGenerationErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"n\n\x16WriteCatalogFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43\x61talogWrittenMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"l\n\x15\x43\x61nnotGenerateDocsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"f\n\x12\x42uildingCatalogMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"x\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"`\n\x0fHooksRunningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"p\n\x17\x46inishedRunningStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"r\n\x18\x43onstraintNotEnforcedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"t\n\x19\x43onstraintNotSupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported\"7\n\x12InputFileDiffError\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x02 \x01(\t\"l\n\x15InputFileDiffErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InputFileDiffError\"?\n\x14InvalidValueForField\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_value\x18\x02 \x01(\t\"p\n\x17InvalidValueForFieldMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.InvalidValueForField\"Q\n\x11ValidationWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12\x11\n\tnode_name\x18\x03 \x01(\t\"j\n\x14ValidationWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ValidationWarning\"!\n\x11ParsePerfInfoPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"j\n\x14ParsePerfInfoPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.ParsePerfInfoPath\"1\n!PartialParsingErrorProcessingFile\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\"\x8a\x01\n$PartialParsingErrorProcessingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.PartialParsingErrorProcessingFile\"\x86\x01\n\x13PartialParsingError\x12?\n\x08\x65xc_info\x18\x01 \x03(\x0b\x32-.proto_types.PartialParsingError.ExcInfoEntry\x1a.\n\x0c\x45xcInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"n\n\x16PartialParsingErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.PartialParsingError\"\x1b\n\x19PartialParsingSkipParsing\"z\n\x1cPartialParsingSkipParsingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.PartialParsingSkipParsing\"&\n\x14UnableToPartialParse\x12\x0e\n\x06reason\x18\x01 \x01(\t\"p\n\x17UnableToPartialParseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.UnableToPartialParse\"f\n\x12StateCheckVarsHash\x12\x10\n\x08\x63hecksum\x18\x01 \x01(\t\x12\x0c\n\x04vars\x18\x02 \x01(\t\x12\x0f\n\x07profile\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"l\n\x15StateCheckVarsHashMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.StateCheckVarsHash\"\x1a\n\x18PartialParsingNotEnabled\"x\n\x1bPartialParsingNotEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.PartialParsingNotEnabled\"C\n\x14ParsedFileLoadFailed\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"p\n\x17ParsedFileLoadFailedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParsedFileLoadFailed\"H\n\x15PartialParsingEnabled\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x05\x12\r\n\x05\x61\x64\x64\x65\x64\x18\x02 \x01(\x05\x12\x0f\n\x07\x63hanged\x18\x03 \x01(\x05\"r\n\x18PartialParsingEnabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.PartialParsingEnabled\"8\n\x12PartialParsingFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\"l\n\x15PartialParsingFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.PartialParsingFile\"\xaf\x01\n\x1fInvalidDisabledTargetInTestNode\x12\x1b\n\x13resource_type_title\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1a\n\x12original_file_path\x18\x03 \x01(\t\x12\x13\n\x0btarget_kind\x18\x04 \x01(\t\x12\x13\n\x0btarget_name\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\"\x86\x01\n\"InvalidDisabledTargetInTestNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.InvalidDisabledTargetInTestNode\"7\n\x18UnusedResourceConfigPath\x12\x1b\n\x13unused_config_paths\x18\x01 \x03(\t\"x\n\x1bUnusedResourceConfigPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.UnusedResourceConfigPath\"3\n\rSeedIncreased\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"b\n\x10SeedIncreasedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.SeedIncreased\">\n\x18SeedExceedsLimitSamePath\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"x\n\x1bSeedExceedsLimitSamePathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.SeedExceedsLimitSamePath\"D\n\x1eSeedExceedsLimitAndPathChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x84\x01\n!SeedExceedsLimitAndPathChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.SeedExceedsLimitAndPathChanged\"\\\n\x1fSeedExceedsLimitChecksumChanged\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rchecksum_name\x18\x03 \x01(\t\"\x86\x01\n\"SeedExceedsLimitChecksumChangedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.SeedExceedsLimitChecksumChanged\"%\n\x0cUnusedTables\x12\x15\n\runused_tables\x18\x01 \x03(\t\"`\n\x0fUnusedTablesMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.UnusedTables\"\x87\x01\n\x17WrongResourceSchemaFile\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x1c\n\x14plural_resource_type\x18\x03 \x01(\t\x12\x10\n\x08yaml_key\x18\x04 \x01(\t\x12\x11\n\tfile_path\x18\x05 \x01(\t\"v\n\x1aWrongResourceSchemaFileMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.WrongResourceSchemaFile\"K\n\x10NoNodeForYamlKey\x12\x12\n\npatch_name\x18\x01 \x01(\t\x12\x10\n\x08yaml_key\x18\x02 \x01(\t\x12\x11\n\tfile_path\x18\x03 \x01(\t\"h\n\x13NoNodeForYamlKeyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.NoNodeForYamlKey\"+\n\x15MacroNotFoundForPatch\x12\x12\n\npatch_name\x18\x01 \x01(\t\"r\n\x18MacroNotFoundForPatchMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MacroNotFoundForPatch\"\xb8\x01\n\x16NodeNotFoundOrDisabled\x12\x1a\n\x12original_file_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x1b\n\x13resource_type_title\x18\x03 \x01(\t\x12\x13\n\x0btarget_name\x18\x04 \x01(\t\x12\x13\n\x0btarget_kind\x18\x05 \x01(\t\x12\x16\n\x0etarget_package\x18\x06 \x01(\t\x12\x10\n\x08\x64isabled\x18\x07 \x01(\t\"t\n\x19NodeNotFoundOrDisabledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.NodeNotFoundOrDisabled\"H\n\x0fJinjaLogWarning\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"f\n\x12JinjaLogWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.JinjaLogWarning\"E\n\x0cJinjaLogInfo\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"`\n\x0fJinjaLogInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.JinjaLogInfo\"F\n\rJinjaLogDebug\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03msg\x18\x02 \x01(\t\"b\n\x10JinjaLogDebugMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.JinjaLogDebug\"\xae\x01\n\x1eUnpinnedRefNewVersionAvailable\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rref_node_name\x18\x02 \x01(\t\x12\x18\n\x10ref_node_package\x18\x03 \x01(\t\x12\x18\n\x10ref_node_version\x18\x04 \x01(\t\x12\x17\n\x0fref_max_version\x18\x05 \x01(\t\"\x84\x01\n!UnpinnedRefNewVersionAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.UnpinnedRefNewVersionAvailable\"V\n\x0f\x44\x65precatedModel\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x15\n\rmodel_version\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65precation_date\x18\x03 \x01(\t\"f\n\x12\x44\x65precatedModelMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DeprecatedModel\"\xc6\x01\n\x1cUpcomingReferenceDeprecation\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"\x80\x01\n\x1fUpcomingReferenceDeprecationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32).proto_types.UpcomingReferenceDeprecation\"\xbd\x01\n\x13\x44\x65precatedReference\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x19\n\x11ref_model_package\x18\x02 \x01(\t\x12\x16\n\x0eref_model_name\x18\x03 \x01(\t\x12\x19\n\x11ref_model_version\x18\x04 \x01(\t\x12 \n\x18ref_model_latest_version\x18\x05 \x01(\t\x12\"\n\x1aref_model_deprecation_date\x18\x06 \x01(\t\"n\n\x16\x44\x65precatedReferenceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DeprecatedReference\"<\n$UnsupportedConstraintMaterialization\x12\x14\n\x0cmaterialized\x18\x01 \x01(\t\"\x90\x01\n\'UnsupportedConstraintMaterializationMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12?\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x31.proto_types.UnsupportedConstraintMaterialization\"M\n\x14ParseInlineNodeError\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"p\n\x17ParseInlineNodeErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.ParseInlineNodeError\"(\n\x19SemanticValidationFailure\x12\x0b\n\x03msg\x18\x02 \x01(\t\"z\n\x1cSemanticValidationFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.SemanticValidationFailure\"/\n\x1dGitSparseCheckoutSubdirectory\x12\x0e\n\x06subdir\x18\x01 \x01(\t\"\x82\x01\n GitSparseCheckoutSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.GitSparseCheckoutSubdirectory\"/\n\x1bGitProgressCheckoutRevision\x12\x10\n\x08revision\x18\x01 \x01(\t\"~\n\x1eGitProgressCheckoutRevisionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.GitProgressCheckoutRevision\"4\n%GitProgressUpdatingExistingDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x92\x01\n(GitProgressUpdatingExistingDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12@\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x32.proto_types.GitProgressUpdatingExistingDependency\".\n\x1fGitProgressPullingNewDependency\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"\x86\x01\n\"GitProgressPullingNewDependencyMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressPullingNewDependency\"\x1d\n\x0eGitNothingToDo\x12\x0b\n\x03sha\x18\x01 \x01(\t\"d\n\x11GitNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.GitNothingToDo\"E\n\x1fGitProgressUpdatedCheckoutRange\x12\x11\n\tstart_sha\x18\x01 \x01(\t\x12\x0f\n\x07\x65nd_sha\x18\x02 \x01(\t\"\x86\x01\n\"GitProgressUpdatedCheckoutRangeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.GitProgressUpdatedCheckoutRange\"*\n\x17GitProgressCheckedOutAt\x12\x0f\n\x07\x65nd_sha\x18\x01 \x01(\t\"v\n\x1aGitProgressCheckedOutAtMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.GitProgressCheckedOutAt\")\n\x1aRegistryProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"|\n\x1dRegistryProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.RegistryProgressGETRequest\"=\n\x1bRegistryProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"~\n\x1eRegistryProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RegistryProgressGETResponse\"_\n\x1dSelectorReportInvalidSelector\x12\x17\n\x0fvalid_selectors\x18\x01 \x01(\t\x12\x13\n\x0bspec_method\x18\x02 \x01(\t\x12\x10\n\x08raw_spec\x18\x03 \x01(\t\"\x82\x01\n SelectorReportInvalidSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.SelectorReportInvalidSelector\"\x15\n\x13\x44\x65psNoPackagesFound\"n\n\x16\x44\x65psNoPackagesFoundMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsNoPackagesFound\"/\n\x17\x44\x65psStartPackageInstall\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\"v\n\x1a\x44\x65psStartPackageInstallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsStartPackageInstall\"\'\n\x0f\x44\x65psInstallInfo\x12\x14\n\x0cversion_name\x18\x01 \x01(\t\"f\n\x12\x44\x65psInstallInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DepsInstallInfo\"-\n\x13\x44\x65psUpdateAvailable\x12\x16\n\x0eversion_latest\x18\x01 \x01(\t\"n\n\x16\x44\x65psUpdateAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.DepsUpdateAvailable\"\x0e\n\x0c\x44\x65psUpToDate\"`\n\x0f\x44\x65psUpToDateMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUpToDate\",\n\x14\x44\x65psListSubdirectory\x12\x14\n\x0csubdirectory\x18\x01 \x01(\t\"p\n\x17\x44\x65psListSubdirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.DepsListSubdirectory\".\n\x1a\x44\x65psNotifyUpdatesAvailable\x12\x10\n\x08packages\x18\x01 \x03(\t\"|\n\x1d\x44\x65psNotifyUpdatesAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.DepsNotifyUpdatesAvailable\"1\n\x11RetryExternalCall\x12\x0f\n\x07\x61ttempt\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\"j\n\x14RetryExternalCallMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.RetryExternalCall\"#\n\x14RecordRetryException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17RecordRetryExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.RecordRetryException\".\n\x1fRegistryIndexProgressGETRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x86\x01\n\"RegistryIndexProgressGETRequestMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryIndexProgressGETRequest\"B\n RegistryIndexProgressGETResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x11\n\tresp_code\x18\x02 \x01(\x05\"\x88\x01\n#RegistryIndexProgressGETResponseMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32-.proto_types.RegistryIndexProgressGETResponse\"2\n\x1eRegistryResponseUnexpectedType\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseUnexpectedTypeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseUnexpectedType\"2\n\x1eRegistryResponseMissingTopKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x84\x01\n!RegistryResponseMissingTopKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x39\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32+.proto_types.RegistryResponseMissingTopKeys\"5\n!RegistryResponseMissingNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x8a\x01\n$RegistryResponseMissingNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12<\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32..proto_types.RegistryResponseMissingNestedKeys\"3\n\x1fRegistryResponseExtraNestedKeys\x12\x10\n\x08response\x18\x01 \x01(\t\"\x86\x01\n\"RegistryResponseExtraNestedKeysMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.RegistryResponseExtraNestedKeys\"(\n\x18\x44\x65psSetDownloadDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\"x\n\x1b\x44\x65psSetDownloadDirectoryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsSetDownloadDirectory\"-\n\x0c\x44\x65psUnpinned\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0b\n\x03git\x18\x02 \x01(\t\"`\n\x0f\x44\x65psUnpinnedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.DepsUnpinned\"/\n\x1bNoNodesForSelectionCriteria\x12\x10\n\x08spec_raw\x18\x01 \x01(\t\"~\n\x1eNoNodesForSelectionCriteriaMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.NoNodesForSelectionCriteria\"*\n\x1bRunningOperationCaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"~\n\x1eRunningOperationCaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.RunningOperationCaughtError\"\x11\n\x0f\x43ompileComplete\"f\n\x12\x43ompileCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.CompileComplete\"\x18\n\x16\x46reshnessCheckComplete\"t\n\x19\x46reshnessCheckCompleteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.FreshnessCheckComplete\"\x1c\n\nSeedHeader\x12\x0e\n\x06header\x18\x01 \x01(\t\"\\\n\rSeedHeaderMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SeedHeader\"3\n\x12SQLRunnerException\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x02 \x01(\t\"l\n\x15SQLRunnerExceptionMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SQLRunnerException\"\xa8\x01\n\rLogTestResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\x12\n\nnum_models\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x14\n\x0cnum_failures\x18\x07 \x01(\x05\"b\n\x10LogTestResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogTestResult\"k\n\x0cLogStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"`\n\x0fLogStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.LogStartLine\"\x95\x01\n\x0eLogModelResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogModelResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogModelResult\"\x92\x02\n\x11LogSnapshotResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x34\n\x03\x63\x66g\x18\x07 \x03(\x0b\x32\'.proto_types.LogSnapshotResult.CfgEntry\x12\x16\n\x0eresult_message\x18\x08 \x01(\t\x1a*\n\x08\x43\x66gEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\x14LogSnapshotResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.LogSnapshotResult\"\xb9\x01\n\rLogSeedResult\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x16\n\x0eresult_message\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\x12\x0e\n\x06schema\x18\x07 \x01(\t\x12\x10\n\x08relation\x18\x08 \x01(\t\"b\n\x10LogSeedResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogSeedResult\"\xad\x01\n\x12LogFreshnessResult\x12\x0e\n\x06status\x18\x01 \x01(\t\x12(\n\tnode_info\x18\x02 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x05 \x01(\x02\x12\x13\n\x0bsource_name\x18\x06 \x01(\t\x12\x12\n\ntable_name\x18\x07 \x01(\t\"l\n\x15LogFreshnessResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogFreshnessResult\"\"\n\rLogCancelLine\x12\x11\n\tconn_name\x18\x01 \x01(\t\"b\n\x10LogCancelLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.LogCancelLine\"\x1f\n\x0f\x44\x65\x66\x61ultSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"f\n\x12\x44\x65\x66\x61ultSelectorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DefaultSelector\"5\n\tNodeStart\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"Z\n\x0cNodeStartMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.NodeStart\"g\n\x0cNodeFinished\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12-\n\nrun_result\x18\x02 \x01(\x0b\x32\x19.proto_types.RunResultMsg\"`\n\x0fNodeFinishedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.NodeFinished\"+\n\x1bQueryCancelationUnsupported\x12\x0c\n\x04type\x18\x01 \x01(\t\"~\n\x1eQueryCancelationUnsupportedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.QueryCancelationUnsupported\"O\n\x0f\x43oncurrencyLine\x12\x13\n\x0bnum_threads\x18\x01 \x01(\x05\x12\x13\n\x0btarget_name\x18\x02 \x01(\t\x12\x12\n\nnode_count\x18\x03 \x01(\x05\"f\n\x12\x43oncurrencyLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ConcurrencyLine\"E\n\x19WritingInjectedSQLForNode\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"z\n\x1cWritingInjectedSQLForNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.WritingInjectedSQLForNode\"9\n\rNodeCompiling\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeCompilingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeCompiling\"9\n\rNodeExecuting\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\"b\n\x10NodeExecutingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NodeExecuting\"m\n\x10LogHookStartLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"h\n\x13LogHookStartLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.LogHookStartLine\"\x93\x01\n\x0eLogHookEndLine\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x11\n\tstatement\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\r\n\x05index\x18\x04 \x01(\x05\x12\r\n\x05total\x18\x05 \x01(\x05\x12\x16\n\x0e\x65xecution_time\x18\x06 \x01(\x02\"d\n\x11LogHookEndLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.LogHookEndLine\"\x93\x01\n\x0fSkippingDetails\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x11\n\tnode_name\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x05\x12\r\n\x05total\x18\x06 \x01(\x05\"f\n\x12SkippingDetailsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SkippingDetails\"\r\n\x0bNothingToDo\"^\n\x0eNothingToDoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.NothingToDo\",\n\x1dRunningOperationUncaughtError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x82\x01\n RunningOperationUncaughtErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x38\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32*.proto_types.RunningOperationUncaughtError\"\x93\x01\n\x0c\x45ndRunResult\x12*\n\x07results\x18\x01 \x03(\x0b\x32\x19.proto_types.RunResultMsg\x12\x14\n\x0c\x65lapsed_time\x18\x02 \x01(\x02\x12\x30\n\x0cgenerated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07success\x18\x04 \x01(\x08\"`\n\x0f\x45ndRunResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.EndRunResult\"\x11\n\x0fNoNodesSelected\"f\n\x12NoNodesSelectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.NoNodesSelected\"w\n\x10\x43ommandCompleted\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63ompleted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x65lapsed\x18\x04 \x01(\x02\"h\n\x13\x43ommandCompletedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.CommandCompleted\"k\n\x08ShowNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0f\n\x07preview\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"X\n\x0bShowNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.ShowNode\"p\n\x0c\x43ompiledNode\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x10\n\x08\x63ompiled\x18\x02 \x01(\t\x12\x11\n\tis_inline\x18\x03 \x01(\x08\x12\x15\n\routput_format\x18\x04 \x01(\t\x12\x11\n\tunique_id\x18\x05 \x01(\t\"`\n\x0f\x43ompiledNodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.CompiledNode\"b\n\x17\x43\x61tchableExceptionOnRun\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"v\n\x1a\x43\x61tchableExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.CatchableExceptionOnRun\"5\n\x12InternalErrorOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\"l\n\x15InternalErrorOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.InternalErrorOnRun\"K\n\x15GenericExceptionOnRun\x12\x12\n\nbuild_path\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"r\n\x18GenericExceptionOnRunMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.GenericExceptionOnRun\"N\n\x1aNodeConnectionReleaseError\x12\x11\n\tnode_name\x18\x01 \x01(\t\x12\x0b\n\x03\x65xc\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"|\n\x1dNodeConnectionReleaseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.proto_types.NodeConnectionReleaseError\"\x1f\n\nFoundStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\"\\\n\rFoundStatsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.FoundStats\"\x17\n\x15MainKeyboardInterrupt\"r\n\x18MainKeyboardInterruptMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.MainKeyboardInterrupt\"#\n\x14MainEncounteredError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"p\n\x17MainEncounteredErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.MainEncounteredError\"%\n\x0eMainStackTrace\x12\x13\n\x0bstack_trace\x18\x01 \x01(\t\"d\n\x11MainStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.MainStackTrace\"@\n\x13SystemCouldNotWrite\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x0b\n\x03\x65xc\x18\x03 \x01(\t\"n\n\x16SystemCouldNotWriteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.SystemCouldNotWrite\"!\n\x12SystemExecutingCmd\x12\x0b\n\x03\x63md\x18\x01 \x03(\t\"l\n\x15SystemExecutingCmdMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.SystemExecutingCmd\"\x1c\n\x0cSystemStdOut\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdOut\"\x1c\n\x0cSystemStdErr\x12\x0c\n\x04\x62msg\x18\x01 \x01(\t\"`\n\x0fSystemStdErrMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SystemStdErr\",\n\x16SystemReportReturnCode\x12\x12\n\nreturncode\x18\x01 \x01(\x05\"t\n\x19SystemReportReturnCodeMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.SystemReportReturnCode\"p\n\x13TimingInfoCollected\x12(\n\tnode_info\x18\x01 \x01(\x0b\x32\x15.proto_types.NodeInfo\x12/\n\x0btiming_info\x18\x02 \x01(\x0b\x32\x1a.proto_types.TimingInfoMsg\"n\n\x16TimingInfoCollectedMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.TimingInfoCollected\"&\n\x12LogDebugStackTrace\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"l\n\x15LogDebugStackTraceMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.LogDebugStackTrace\"\x1e\n\x0e\x43heckCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"d\n\x11\x43heckCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CheckCleanPath\" \n\x10\x43onfirmCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"h\n\x13\x43onfirmCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConfirmCleanPath\"\"\n\x12ProtectedCleanPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"l\n\x15ProtectedCleanPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ProtectedCleanPath\"\x14\n\x12\x46inishedCleanPaths\"l\n\x15\x46inishedCleanPathsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FinishedCleanPaths\"5\n\x0bOpenCommand\x12\x10\n\x08open_cmd\x18\x01 \x01(\t\x12\x14\n\x0cprofiles_dir\x18\x02 \x01(\t\"^\n\x0eOpenCommandMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.OpenCommand\"\x19\n\nFormatting\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rFormattingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.Formatting\"0\n\x0fServingDocsPort\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"f\n\x12ServingDocsPortMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.ServingDocsPort\"%\n\x15ServingDocsAccessInfo\x12\x0c\n\x04port\x18\x01 \x01(\t\"r\n\x18ServingDocsAccessInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ServingDocsAccessInfo\"\x15\n\x13ServingDocsExitInfo\"n\n\x16ServingDocsExitInfoMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.ServingDocsExitInfo\"J\n\x10RunResultWarning\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultWarningMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultWarning\"J\n\x10RunResultFailure\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\"h\n\x13RunResultFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.RunResultFailure\"k\n\tStatsLine\x12\x30\n\x05stats\x18\x01 \x03(\x0b\x32!.proto_types.StatsLine.StatsEntry\x1a,\n\nStatsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"Z\n\x0cStatsLineMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.StatsLine\"\x1d\n\x0eRunResultError\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11RunResultErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RunResultError\")\n\x17RunResultErrorNoMessage\x12\x0e\n\x06status\x18\x01 \x01(\t\"v\n\x1aRunResultErrorNoMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultErrorNoMessage\"\x1f\n\x0fSQLCompiledPath\x12\x0c\n\x04path\x18\x01 \x01(\t\"f\n\x12SQLCompiledPathMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.SQLCompiledPath\"-\n\x14\x43heckNodeTestFailure\x12\x15\n\rrelation_name\x18\x01 \x01(\t\"p\n\x17\x43heckNodeTestFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.CheckNodeTestFailure\"W\n\x0f\x45ndOfRunSummary\x12\x12\n\nnum_errors\x18\x01 \x01(\x05\x12\x14\n\x0cnum_warnings\x18\x02 \x01(\x05\x12\x1a\n\x12keyboard_interrupt\x18\x03 \x01(\x08\"f\n\x12\x45ndOfRunSummaryMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.EndOfRunSummary\"U\n\x13LogSkipBecauseError\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x10\n\x08relation\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x05\"n\n\x16LogSkipBecauseErrorMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.LogSkipBecauseError\"\x14\n\x12\x45nsureGitInstalled\"l\n\x15\x45nsureGitInstalledMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.EnsureGitInstalled\"\x1a\n\x18\x44\x65psCreatingLocalSymlink\"x\n\x1b\x44\x65psCreatingLocalSymlinkMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DepsCreatingLocalSymlink\"\x19\n\x17\x44\x65psSymlinkNotAvailable\"v\n\x1a\x44\x65psSymlinkNotAvailableMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.DepsSymlinkNotAvailable\"\x11\n\x0f\x44isableTracking\"f\n\x12\x44isableTrackingMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.DisableTracking\"\x1e\n\x0cSendingEvent\x12\x0e\n\x06kwargs\x18\x01 \x01(\t\"`\n\x0fSendingEventMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.SendingEvent\"\x12\n\x10SendEventFailure\"h\n\x13SendEventFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.SendEventFailure\"\r\n\x0b\x46lushEvents\"^\n\x0e\x46lushEventsMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.FlushEvents\"\x14\n\x12\x46lushEventsFailure\"l\n\x15\x46lushEventsFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.FlushEventsFailure\"-\n\x19TrackingInitializeFailure\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"z\n\x1cTrackingInitializeFailureMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.TrackingInitializeFailure\"&\n\x17RunResultWarningMessage\x12\x0b\n\x03msg\x18\x01 \x01(\t\"v\n\x1aRunResultWarningMessageMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x32\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32$.proto_types.RunResultWarningMessage\"\x1a\n\x0b\x44\x65\x62ugCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"^\n\x0e\x44\x65\x62ugCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.DebugCmdOut\"\x1d\n\x0e\x44\x65\x62ugCmdResult\x12\x0b\n\x03msg\x18\x01 \x01(\t\"d\n\x11\x44\x65\x62ugCmdResultMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.DebugCmdResult\"\x19\n\nListCmdOut\x12\x0b\n\x03msg\x18\x01 \x01(\t\"\\\n\rListCmdOutMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.ListCmdOut\"\x13\n\x04Note\x12\x0b\n\x03msg\x18\x01 \x01(\t\"P\n\x07NoteMsg\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.proto_types.EventInfo\x12\x1f\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x11.proto_types.Noteb\x06proto3') - DESCRIPTOR._options = None - _EVENTINFO_EXTRAENTRY._options = None - _EVENTINFO_EXTRAENTRY._serialized_options = b'8\001' - _MAINREPORTARGS_ARGSENTRY._options = None - _MAINREPORTARGS_ARGSENTRY._serialized_options = b'8\001' - _CACHEDUMPGRAPH_DUMPENTRY._options = None - _CACHEDUMPGRAPH_DUMPENTRY._serialized_options = b'8\001' - _PARTIALPARSINGERROR_EXCINFOENTRY._options = None - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_options = b'8\001' - _LOGSNAPSHOTRESULT_CFGENTRY._options = None - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_options = b'8\001' - _STATSLINE_STATSENTRY._options = None - _STATSLINE_STATSENTRY._serialized_options = b'8\001' - _EVENTINFO._serialized_start=92 - _EVENTINFO._serialized_end=365 - _EVENTINFO_EXTRAENTRY._serialized_start=321 - _EVENTINFO_EXTRAENTRY._serialized_end=365 - _TIMINGINFOMSG._serialized_start=367 - _TIMINGINFOMSG._serialized_end=494 - _NODERELATION._serialized_start=496 - _NODERELATION._serialized_end=582 - _NODEINFO._serialized_start=585 - _NODEINFO._serialized_end=858 - _RUNRESULTMSG._serialized_start=861 - _RUNRESULTMSG._serialized_end=1070 - _REFERENCEKEYMSG._serialized_start=1072 - _REFERENCEKEYMSG._serialized_end=1143 - _GENERICMESSAGE._serialized_start=1145 - _GENERICMESSAGE._serialized_end=1199 - _MAINREPORTVERSION._serialized_start=1201 - _MAINREPORTVERSION._serialized_end=1258 - _MAINREPORTVERSIONMSG._serialized_start=1260 - _MAINREPORTVERSIONMSG._serialized_end=1366 - _MAINREPORTARGS._serialized_start=1368 - _MAINREPORTARGS._serialized_end=1482 - _MAINREPORTARGS_ARGSENTRY._serialized_start=1439 - _MAINREPORTARGS_ARGSENTRY._serialized_end=1482 - _MAINREPORTARGSMSG._serialized_start=1484 - _MAINREPORTARGSMSG._serialized_end=1584 - _MAINTRACKINGUSERSTATE._serialized_start=1586 - _MAINTRACKINGUSERSTATE._serialized_end=1629 - _MAINTRACKINGUSERSTATEMSG._serialized_start=1631 - _MAINTRACKINGUSERSTATEMSG._serialized_end=1745 - _MERGEDFROMSTATE._serialized_start=1747 - _MERGEDFROMSTATE._serialized_end=1800 - _MERGEDFROMSTATEMSG._serialized_start=1802 - _MERGEDFROMSTATEMSG._serialized_end=1904 - _MISSINGPROFILETARGET._serialized_start=1906 - _MISSINGPROFILETARGET._serialized_end=1971 - _MISSINGPROFILETARGETMSG._serialized_start=1973 - _MISSINGPROFILETARGETMSG._serialized_end=2085 - _INVALIDOPTIONYAML._serialized_start=2087 - _INVALIDOPTIONYAML._serialized_end=2127 - _INVALIDOPTIONYAMLMSG._serialized_start=2129 - _INVALIDOPTIONYAMLMSG._serialized_end=2235 - _LOGDBTPROJECTERROR._serialized_start=2237 - _LOGDBTPROJECTERROR._serialized_end=2270 - _LOGDBTPROJECTERRORMSG._serialized_start=2272 - _LOGDBTPROJECTERRORMSG._serialized_end=2380 - _LOGDBTPROFILEERROR._serialized_start=2382 - _LOGDBTPROFILEERROR._serialized_end=2433 - _LOGDBTPROFILEERRORMSG._serialized_start=2435 - _LOGDBTPROFILEERRORMSG._serialized_end=2543 - _STARTERPROJECTPATH._serialized_start=2545 - _STARTERPROJECTPATH._serialized_end=2578 - _STARTERPROJECTPATHMSG._serialized_start=2580 - _STARTERPROJECTPATHMSG._serialized_end=2688 - _CONFIGFOLDERDIRECTORY._serialized_start=2690 - _CONFIGFOLDERDIRECTORY._serialized_end=2726 - _CONFIGFOLDERDIRECTORYMSG._serialized_start=2728 - _CONFIGFOLDERDIRECTORYMSG._serialized_end=2842 - _NOSAMPLEPROFILEFOUND._serialized_start=2844 - _NOSAMPLEPROFILEFOUND._serialized_end=2883 - _NOSAMPLEPROFILEFOUNDMSG._serialized_start=2885 - _NOSAMPLEPROFILEFOUNDMSG._serialized_end=2997 - _PROFILEWRITTENWITHSAMPLE._serialized_start=2999 - _PROFILEWRITTENWITHSAMPLE._serialized_end=3053 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_start=3055 - _PROFILEWRITTENWITHSAMPLEMSG._serialized_end=3175 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_start=3177 - _PROFILEWRITTENWITHTARGETTEMPLATEYAML._serialized_end=3243 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_start=3246 - _PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG._serialized_end=3390 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_start=3392 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAML._serialized_end=3459 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_start=3462 - _PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG._serialized_end=3608 - _SETTINGUPPROFILE._serialized_start=3610 - _SETTINGUPPROFILE._serialized_end=3628 - _SETTINGUPPROFILEMSG._serialized_start=3630 - _SETTINGUPPROFILEMSG._serialized_end=3734 - _INVALIDPROFILETEMPLATEYAML._serialized_start=3736 - _INVALIDPROFILETEMPLATEYAML._serialized_end=3764 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_start=3766 - _INVALIDPROFILETEMPLATEYAMLMSG._serialized_end=3890 - _PROJECTNAMEALREADYEXISTS._serialized_start=3892 - _PROJECTNAMEALREADYEXISTS._serialized_end=3932 - _PROJECTNAMEALREADYEXISTSMSG._serialized_start=3934 - _PROJECTNAMEALREADYEXISTSMSG._serialized_end=4054 - _PROJECTCREATED._serialized_start=4056 - _PROJECTCREATED._serialized_end=4131 - _PROJECTCREATEDMSG._serialized_start=4133 - _PROJECTCREATEDMSG._serialized_end=4233 - _PACKAGEREDIRECTDEPRECATION._serialized_start=4235 - _PACKAGEREDIRECTDEPRECATION._serialized_end=4299 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_start=4301 - _PACKAGEREDIRECTDEPRECATIONMSG._serialized_end=4425 - _PACKAGEINSTALLPATHDEPRECATION._serialized_start=4427 - _PACKAGEINSTALLPATHDEPRECATION._serialized_end=4458 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_start=4461 - _PACKAGEINSTALLPATHDEPRECATIONMSG._serialized_end=4591 - _CONFIGSOURCEPATHDEPRECATION._serialized_start=4593 - _CONFIGSOURCEPATHDEPRECATION._serialized_end=4665 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_start=4667 - _CONFIGSOURCEPATHDEPRECATIONMSG._serialized_end=4793 - _CONFIGDATAPATHDEPRECATION._serialized_start=4795 - _CONFIGDATAPATHDEPRECATION._serialized_end=4865 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_start=4867 - _CONFIGDATAPATHDEPRECATIONMSG._serialized_end=4989 - _ADAPTERDEPRECATIONWARNING._serialized_start=4991 - _ADAPTERDEPRECATIONWARNING._serialized_end=5054 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_start=5056 - _ADAPTERDEPRECATIONWARNINGMSG._serialized_end=5178 - _METRICATTRIBUTESRENAMED._serialized_start=5180 - _METRICATTRIBUTESRENAMED._serialized_end=5226 - _METRICATTRIBUTESRENAMEDMSG._serialized_start=5228 - _METRICATTRIBUTESRENAMEDMSG._serialized_end=5346 - _EXPOSURENAMEDEPRECATION._serialized_start=5348 - _EXPOSURENAMEDEPRECATION._serialized_end=5391 - _EXPOSURENAMEDEPRECATIONMSG._serialized_start=5393 - _EXPOSURENAMEDEPRECATIONMSG._serialized_end=5511 - _INTERNALDEPRECATION._serialized_start=5513 - _INTERNALDEPRECATION._serialized_end=5607 - _INTERNALDEPRECATIONMSG._serialized_start=5609 - _INTERNALDEPRECATIONMSG._serialized_end=5719 - _ENVIRONMENTVARIABLERENAMED._serialized_start=5721 - _ENVIRONMENTVARIABLERENAMED._serialized_end=5785 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_start=5787 - _ENVIRONMENTVARIABLERENAMEDMSG._serialized_end=5911 - _CONFIGLOGPATHDEPRECATION._serialized_start=5913 - _CONFIGLOGPATHDEPRECATION._serialized_end=5964 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_start=5966 - _CONFIGLOGPATHDEPRECATIONMSG._serialized_end=6086 - _CONFIGTARGETPATHDEPRECATION._serialized_start=6088 - _CONFIGTARGETPATHDEPRECATION._serialized_end=6142 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_start=6144 - _CONFIGTARGETPATHDEPRECATIONMSG._serialized_end=6270 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_start=6272 - _COLLECTFRESHNESSRETURNSIGNATURE._serialized_end=6305 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_start=6308 - _COLLECTFRESHNESSRETURNSIGNATUREMSG._serialized_end=6442 - _ADAPTEREVENTDEBUG._serialized_start=6445 - _ADAPTEREVENTDEBUG._serialized_end=6580 - _ADAPTEREVENTDEBUGMSG._serialized_start=6582 - _ADAPTEREVENTDEBUGMSG._serialized_end=6688 - _ADAPTEREVENTINFO._serialized_start=6691 - _ADAPTEREVENTINFO._serialized_end=6825 - _ADAPTEREVENTINFOMSG._serialized_start=6827 - _ADAPTEREVENTINFOMSG._serialized_end=6931 - _ADAPTEREVENTWARNING._serialized_start=6934 - _ADAPTEREVENTWARNING._serialized_end=7071 - _ADAPTEREVENTWARNINGMSG._serialized_start=7073 - _ADAPTEREVENTWARNINGMSG._serialized_end=7183 - _ADAPTEREVENTERROR._serialized_start=7186 - _ADAPTEREVENTERROR._serialized_end=7339 - _ADAPTEREVENTERRORMSG._serialized_start=7341 - _ADAPTEREVENTERRORMSG._serialized_end=7447 - _NEWCONNECTION._serialized_start=7449 - _NEWCONNECTION._serialized_end=7544 - _NEWCONNECTIONMSG._serialized_start=7546 - _NEWCONNECTIONMSG._serialized_end=7644 - _CONNECTIONREUSED._serialized_start=7646 - _CONNECTIONREUSED._serialized_end=7707 - _CONNECTIONREUSEDMSG._serialized_start=7709 - _CONNECTIONREUSEDMSG._serialized_end=7813 - _CONNECTIONLEFTOPENINCLEANUP._serialized_start=7815 - _CONNECTIONLEFTOPENINCLEANUP._serialized_end=7863 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_start=7865 - _CONNECTIONLEFTOPENINCLEANUPMSG._serialized_end=7991 - _CONNECTIONCLOSEDINCLEANUP._serialized_start=7993 - _CONNECTIONCLOSEDINCLEANUP._serialized_end=8039 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_start=8041 - _CONNECTIONCLOSEDINCLEANUPMSG._serialized_end=8163 - _ROLLBACKFAILED._serialized_start=8165 - _ROLLBACKFAILED._serialized_end=8260 - _ROLLBACKFAILEDMSG._serialized_start=8262 - _ROLLBACKFAILEDMSG._serialized_end=8362 - _CONNECTIONCLOSED._serialized_start=8364 - _CONNECTIONCLOSED._serialized_end=8443 - _CONNECTIONCLOSEDMSG._serialized_start=8445 - _CONNECTIONCLOSEDMSG._serialized_end=8549 - _CONNECTIONLEFTOPEN._serialized_start=8551 - _CONNECTIONLEFTOPEN._serialized_end=8632 - _CONNECTIONLEFTOPENMSG._serialized_start=8634 - _CONNECTIONLEFTOPENMSG._serialized_end=8742 - _ROLLBACK._serialized_start=8744 - _ROLLBACK._serialized_end=8815 - _ROLLBACKMSG._serialized_start=8817 - _ROLLBACKMSG._serialized_end=8905 - _CACHEMISS._serialized_start=8907 - _CACHEMISS._serialized_end=8971 - _CACHEMISSMSG._serialized_start=8973 - _CACHEMISSMSG._serialized_end=9063 - _LISTRELATIONS._serialized_start=9065 - _LISTRELATIONS._serialized_end=9163 - _LISTRELATIONSMSG._serialized_start=9165 - _LISTRELATIONSMSG._serialized_end=9263 - _CONNECTIONUSED._serialized_start=9265 - _CONNECTIONUSED._serialized_end=9361 - _CONNECTIONUSEDMSG._serialized_start=9363 - _CONNECTIONUSEDMSG._serialized_end=9463 - _SQLQUERY._serialized_start=9465 - _SQLQUERY._serialized_end=9549 - _SQLQUERYMSG._serialized_start=9551 - _SQLQUERYMSG._serialized_end=9639 - _SQLQUERYSTATUS._serialized_start=9641 - _SQLQUERYSTATUS._serialized_end=9732 - _SQLQUERYSTATUSMSG._serialized_start=9734 - _SQLQUERYSTATUSMSG._serialized_end=9834 - _SQLCOMMIT._serialized_start=9836 - _SQLCOMMIT._serialized_end=9908 - _SQLCOMMITMSG._serialized_start=9910 - _SQLCOMMITMSG._serialized_end=10000 - _COLTYPECHANGE._serialized_start=10002 - _COLTYPECHANGE._serialized_end=10099 - _COLTYPECHANGEMSG._serialized_start=10101 - _COLTYPECHANGEMSG._serialized_end=10199 - _SCHEMACREATION._serialized_start=10201 - _SCHEMACREATION._serialized_end=10265 - _SCHEMACREATIONMSG._serialized_start=10267 - _SCHEMACREATIONMSG._serialized_end=10367 - _SCHEMADROP._serialized_start=10369 - _SCHEMADROP._serialized_end=10429 - _SCHEMADROPMSG._serialized_start=10431 - _SCHEMADROPMSG._serialized_end=10523 - _CACHEACTION._serialized_start=10526 - _CACHEACTION._serialized_end=10748 - _CACHEACTIONMSG._serialized_start=10750 - _CACHEACTIONMSG._serialized_end=10844 - _CACHEDUMPGRAPH._serialized_start=10847 - _CACHEDUMPGRAPH._serialized_end=10999 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_start=10956 - _CACHEDUMPGRAPH_DUMPENTRY._serialized_end=10999 - _CACHEDUMPGRAPHMSG._serialized_start=11001 - _CACHEDUMPGRAPHMSG._serialized_end=11101 - _ADAPTERREGISTERED._serialized_start=11103 - _ADAPTERREGISTERED._serialized_end=11169 - _ADAPTERREGISTEREDMSG._serialized_start=11171 - _ADAPTERREGISTEREDMSG._serialized_end=11277 - _ADAPTERIMPORTERROR._serialized_start=11279 - _ADAPTERIMPORTERROR._serialized_end=11312 - _ADAPTERIMPORTERRORMSG._serialized_start=11314 - _ADAPTERIMPORTERRORMSG._serialized_end=11422 - _PLUGINLOADERROR._serialized_start=11424 - _PLUGINLOADERROR._serialized_end=11459 - _PLUGINLOADERRORMSG._serialized_start=11461 - _PLUGINLOADERRORMSG._serialized_end=11563 - _NEWCONNECTIONOPENING._serialized_start=11565 - _NEWCONNECTIONOPENING._serialized_end=11655 - _NEWCONNECTIONOPENINGMSG._serialized_start=11657 - _NEWCONNECTIONOPENINGMSG._serialized_end=11769 - _CODEEXECUTION._serialized_start=11771 - _CODEEXECUTION._serialized_end=11827 - _CODEEXECUTIONMSG._serialized_start=11829 - _CODEEXECUTIONMSG._serialized_end=11927 - _CODEEXECUTIONSTATUS._serialized_start=11929 - _CODEEXECUTIONSTATUS._serialized_end=11983 - _CODEEXECUTIONSTATUSMSG._serialized_start=11985 - _CODEEXECUTIONSTATUSMSG._serialized_end=12095 - _CATALOGGENERATIONERROR._serialized_start=12097 - _CATALOGGENERATIONERROR._serialized_end=12134 - _CATALOGGENERATIONERRORMSG._serialized_start=12136 - _CATALOGGENERATIONERRORMSG._serialized_end=12252 - _WRITECATALOGFAILURE._serialized_start=12254 - _WRITECATALOGFAILURE._serialized_end=12299 - _WRITECATALOGFAILUREMSG._serialized_start=12301 - _WRITECATALOGFAILUREMSG._serialized_end=12411 - _CATALOGWRITTEN._serialized_start=12413 - _CATALOGWRITTEN._serialized_end=12443 - _CATALOGWRITTENMSG._serialized_start=12445 - _CATALOGWRITTENMSG._serialized_end=12545 - _CANNOTGENERATEDOCS._serialized_start=12547 - _CANNOTGENERATEDOCS._serialized_end=12567 - _CANNOTGENERATEDOCSMSG._serialized_start=12569 - _CANNOTGENERATEDOCSMSG._serialized_end=12677 - _BUILDINGCATALOG._serialized_start=12679 - _BUILDINGCATALOG._serialized_end=12696 - _BUILDINGCATALOGMSG._serialized_start=12698 - _BUILDINGCATALOGMSG._serialized_end=12800 - _DATABASEERRORRUNNINGHOOK._serialized_start=12802 - _DATABASEERRORRUNNINGHOOK._serialized_end=12847 - _DATABASEERRORRUNNINGHOOKMSG._serialized_start=12849 - _DATABASEERRORRUNNINGHOOKMSG._serialized_end=12969 - _HOOKSRUNNING._serialized_start=12971 - _HOOKSRUNNING._serialized_end=13023 - _HOOKSRUNNINGMSG._serialized_start=13025 - _HOOKSRUNNINGMSG._serialized_end=13121 - _FINISHEDRUNNINGSTATS._serialized_start=13123 - _FINISHEDRUNNINGSTATS._serialized_end=13207 - _FINISHEDRUNNINGSTATSMSG._serialized_start=13209 - _FINISHEDRUNNINGSTATSMSG._serialized_end=13321 - _CONSTRAINTNOTENFORCED._serialized_start=13323 - _CONSTRAINTNOTENFORCED._serialized_end=13383 - _CONSTRAINTNOTENFORCEDMSG._serialized_start=13385 - _CONSTRAINTNOTENFORCEDMSG._serialized_end=13499 - _CONSTRAINTNOTSUPPORTED._serialized_start=13501 - _CONSTRAINTNOTSUPPORTED._serialized_end=13562 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_start=13564 - _CONSTRAINTNOTSUPPORTEDMSG._serialized_end=13680 - _INPUTFILEDIFFERROR._serialized_start=13682 - _INPUTFILEDIFFERROR._serialized_end=13737 - _INPUTFILEDIFFERRORMSG._serialized_start=13739 - _INPUTFILEDIFFERRORMSG._serialized_end=13847 - _INVALIDVALUEFORFIELD._serialized_start=13849 - _INVALIDVALUEFORFIELD._serialized_end=13912 - _INVALIDVALUEFORFIELDMSG._serialized_start=13914 - _INVALIDVALUEFORFIELDMSG._serialized_end=14026 - _VALIDATIONWARNING._serialized_start=14028 - _VALIDATIONWARNING._serialized_end=14109 - _VALIDATIONWARNINGMSG._serialized_start=14111 - _VALIDATIONWARNINGMSG._serialized_end=14217 - _PARSEPERFINFOPATH._serialized_start=14219 - _PARSEPERFINFOPATH._serialized_end=14252 - _PARSEPERFINFOPATHMSG._serialized_start=14254 - _PARSEPERFINFOPATHMSG._serialized_end=14360 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_start=14362 - _PARTIALPARSINGERRORPROCESSINGFILE._serialized_end=14411 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_start=14414 - _PARTIALPARSINGERRORPROCESSINGFILEMSG._serialized_end=14552 - _PARTIALPARSINGERROR._serialized_start=14555 - _PARTIALPARSINGERROR._serialized_end=14689 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_start=14643 - _PARTIALPARSINGERROR_EXCINFOENTRY._serialized_end=14689 - _PARTIALPARSINGERRORMSG._serialized_start=14691 - _PARTIALPARSINGERRORMSG._serialized_end=14801 - _PARTIALPARSINGSKIPPARSING._serialized_start=14803 - _PARTIALPARSINGSKIPPARSING._serialized_end=14830 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_start=14832 - _PARTIALPARSINGSKIPPARSINGMSG._serialized_end=14954 - _UNABLETOPARTIALPARSE._serialized_start=14956 - _UNABLETOPARTIALPARSE._serialized_end=14994 - _UNABLETOPARTIALPARSEMSG._serialized_start=14996 - _UNABLETOPARTIALPARSEMSG._serialized_end=15108 - _STATECHECKVARSHASH._serialized_start=15110 - _STATECHECKVARSHASH._serialized_end=15212 - _STATECHECKVARSHASHMSG._serialized_start=15214 - _STATECHECKVARSHASHMSG._serialized_end=15322 - _PARTIALPARSINGNOTENABLED._serialized_start=15324 - _PARTIALPARSINGNOTENABLED._serialized_end=15350 - _PARTIALPARSINGNOTENABLEDMSG._serialized_start=15352 - _PARTIALPARSINGNOTENABLEDMSG._serialized_end=15472 - _PARSEDFILELOADFAILED._serialized_start=15474 - _PARSEDFILELOADFAILED._serialized_end=15541 - _PARSEDFILELOADFAILEDMSG._serialized_start=15543 - _PARSEDFILELOADFAILEDMSG._serialized_end=15655 - _PARTIALPARSINGENABLED._serialized_start=15657 - _PARTIALPARSINGENABLED._serialized_end=15729 - _PARTIALPARSINGENABLEDMSG._serialized_start=15731 - _PARTIALPARSINGENABLEDMSG._serialized_end=15845 - _PARTIALPARSINGFILE._serialized_start=15847 - _PARTIALPARSINGFILE._serialized_end=15903 - _PARTIALPARSINGFILEMSG._serialized_start=15905 - _PARTIALPARSINGFILEMSG._serialized_end=16013 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_start=16016 - _INVALIDDISABLEDTARGETINTESTNODE._serialized_end=16191 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_start=16194 - _INVALIDDISABLEDTARGETINTESTNODEMSG._serialized_end=16328 - _UNUSEDRESOURCECONFIGPATH._serialized_start=16330 - _UNUSEDRESOURCECONFIGPATH._serialized_end=16385 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_start=16387 - _UNUSEDRESOURCECONFIGPATHMSG._serialized_end=16507 - _SEEDINCREASED._serialized_start=16509 - _SEEDINCREASED._serialized_end=16560 - _SEEDINCREASEDMSG._serialized_start=16562 - _SEEDINCREASEDMSG._serialized_end=16660 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_start=16662 - _SEEDEXCEEDSLIMITSAMEPATH._serialized_end=16724 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_start=16726 - _SEEDEXCEEDSLIMITSAMEPATHMSG._serialized_end=16846 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_start=16848 - _SEEDEXCEEDSLIMITANDPATHCHANGED._serialized_end=16916 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_start=16919 - _SEEDEXCEEDSLIMITANDPATHCHANGEDMSG._serialized_end=17051 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_start=17053 - _SEEDEXCEEDSLIMITCHECKSUMCHANGED._serialized_end=17145 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_start=17148 - _SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG._serialized_end=17282 - _UNUSEDTABLES._serialized_start=17284 - _UNUSEDTABLES._serialized_end=17321 - _UNUSEDTABLESMSG._serialized_start=17323 - _UNUSEDTABLESMSG._serialized_end=17419 - _WRONGRESOURCESCHEMAFILE._serialized_start=17422 - _WRONGRESOURCESCHEMAFILE._serialized_end=17557 - _WRONGRESOURCESCHEMAFILEMSG._serialized_start=17559 - _WRONGRESOURCESCHEMAFILEMSG._serialized_end=17677 - _NONODEFORYAMLKEY._serialized_start=17679 - _NONODEFORYAMLKEY._serialized_end=17754 - _NONODEFORYAMLKEYMSG._serialized_start=17756 - _NONODEFORYAMLKEYMSG._serialized_end=17860 - _MACRONOTFOUNDFORPATCH._serialized_start=17862 - _MACRONOTFOUNDFORPATCH._serialized_end=17905 - _MACRONOTFOUNDFORPATCHMSG._serialized_start=17907 - _MACRONOTFOUNDFORPATCHMSG._serialized_end=18021 - _NODENOTFOUNDORDISABLED._serialized_start=18024 - _NODENOTFOUNDORDISABLED._serialized_end=18208 - _NODENOTFOUNDORDISABLEDMSG._serialized_start=18210 - _NODENOTFOUNDORDISABLEDMSG._serialized_end=18326 - _JINJALOGWARNING._serialized_start=18328 - _JINJALOGWARNING._serialized_end=18400 - _JINJALOGWARNINGMSG._serialized_start=18402 - _JINJALOGWARNINGMSG._serialized_end=18504 - _JINJALOGINFO._serialized_start=18506 - _JINJALOGINFO._serialized_end=18575 - _JINJALOGINFOMSG._serialized_start=18577 - _JINJALOGINFOMSG._serialized_end=18673 - _JINJALOGDEBUG._serialized_start=18675 - _JINJALOGDEBUG._serialized_end=18745 - _JINJALOGDEBUGMSG._serialized_start=18747 - _JINJALOGDEBUGMSG._serialized_end=18845 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_start=18848 - _UNPINNEDREFNEWVERSIONAVAILABLE._serialized_end=19022 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_start=19025 - _UNPINNEDREFNEWVERSIONAVAILABLEMSG._serialized_end=19157 - _DEPRECATEDMODEL._serialized_start=19159 - _DEPRECATEDMODEL._serialized_end=19245 - _DEPRECATEDMODELMSG._serialized_start=19247 - _DEPRECATEDMODELMSG._serialized_end=19349 - _UPCOMINGREFERENCEDEPRECATION._serialized_start=19352 - _UPCOMINGREFERENCEDEPRECATION._serialized_end=19550 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_start=19553 - _UPCOMINGREFERENCEDEPRECATIONMSG._serialized_end=19681 - _DEPRECATEDREFERENCE._serialized_start=19684 - _DEPRECATEDREFERENCE._serialized_end=19873 - _DEPRECATEDREFERENCEMSG._serialized_start=19875 - _DEPRECATEDREFERENCEMSG._serialized_end=19985 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_start=19987 - _UNSUPPORTEDCONSTRAINTMATERIALIZATION._serialized_end=20047 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_start=20050 - _UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG._serialized_end=20194 - _PARSEINLINENODEERROR._serialized_start=20196 - _PARSEINLINENODEERROR._serialized_end=20273 - _PARSEINLINENODEERRORMSG._serialized_start=20275 - _PARSEINLINENODEERRORMSG._serialized_end=20387 - _SEMANTICVALIDATIONFAILURE._serialized_start=20389 - _SEMANTICVALIDATIONFAILURE._serialized_end=20429 - _SEMANTICVALIDATIONFAILUREMSG._serialized_start=20431 - _SEMANTICVALIDATIONFAILUREMSG._serialized_end=20553 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_start=20555 - _GITSPARSECHECKOUTSUBDIRECTORY._serialized_end=20602 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_start=20605 - _GITSPARSECHECKOUTSUBDIRECTORYMSG._serialized_end=20735 - _GITPROGRESSCHECKOUTREVISION._serialized_start=20737 - _GITPROGRESSCHECKOUTREVISION._serialized_end=20784 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_start=20786 - _GITPROGRESSCHECKOUTREVISIONMSG._serialized_end=20912 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_start=20914 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCY._serialized_end=20966 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_start=20969 - _GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG._serialized_end=21115 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_start=21117 - _GITPROGRESSPULLINGNEWDEPENDENCY._serialized_end=21163 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_start=21166 - _GITPROGRESSPULLINGNEWDEPENDENCYMSG._serialized_end=21300 - _GITNOTHINGTODO._serialized_start=21302 - _GITNOTHINGTODO._serialized_end=21331 - _GITNOTHINGTODOMSG._serialized_start=21333 - _GITNOTHINGTODOMSG._serialized_end=21433 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_start=21435 - _GITPROGRESSUPDATEDCHECKOUTRANGE._serialized_end=21504 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_start=21507 - _GITPROGRESSUPDATEDCHECKOUTRANGEMSG._serialized_end=21641 - _GITPROGRESSCHECKEDOUTAT._serialized_start=21643 - _GITPROGRESSCHECKEDOUTAT._serialized_end=21685 - _GITPROGRESSCHECKEDOUTATMSG._serialized_start=21687 - _GITPROGRESSCHECKEDOUTATMSG._serialized_end=21805 - _REGISTRYPROGRESSGETREQUEST._serialized_start=21807 - _REGISTRYPROGRESSGETREQUEST._serialized_end=21848 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_start=21850 - _REGISTRYPROGRESSGETREQUESTMSG._serialized_end=21974 - _REGISTRYPROGRESSGETRESPONSE._serialized_start=21976 - _REGISTRYPROGRESSGETRESPONSE._serialized_end=22037 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_start=22039 - _REGISTRYPROGRESSGETRESPONSEMSG._serialized_end=22165 - _SELECTORREPORTINVALIDSELECTOR._serialized_start=22167 - _SELECTORREPORTINVALIDSELECTOR._serialized_end=22262 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_start=22265 - _SELECTORREPORTINVALIDSELECTORMSG._serialized_end=22395 - _DEPSNOPACKAGESFOUND._serialized_start=22397 - _DEPSNOPACKAGESFOUND._serialized_end=22418 - _DEPSNOPACKAGESFOUNDMSG._serialized_start=22420 - _DEPSNOPACKAGESFOUNDMSG._serialized_end=22530 - _DEPSSTARTPACKAGEINSTALL._serialized_start=22532 - _DEPSSTARTPACKAGEINSTALL._serialized_end=22579 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_start=22581 - _DEPSSTARTPACKAGEINSTALLMSG._serialized_end=22699 - _DEPSINSTALLINFO._serialized_start=22701 - _DEPSINSTALLINFO._serialized_end=22740 - _DEPSINSTALLINFOMSG._serialized_start=22742 - _DEPSINSTALLINFOMSG._serialized_end=22844 - _DEPSUPDATEAVAILABLE._serialized_start=22846 - _DEPSUPDATEAVAILABLE._serialized_end=22891 - _DEPSUPDATEAVAILABLEMSG._serialized_start=22893 - _DEPSUPDATEAVAILABLEMSG._serialized_end=23003 - _DEPSUPTODATE._serialized_start=23005 - _DEPSUPTODATE._serialized_end=23019 - _DEPSUPTODATEMSG._serialized_start=23021 - _DEPSUPTODATEMSG._serialized_end=23117 - _DEPSLISTSUBDIRECTORY._serialized_start=23119 - _DEPSLISTSUBDIRECTORY._serialized_end=23163 - _DEPSLISTSUBDIRECTORYMSG._serialized_start=23165 - _DEPSLISTSUBDIRECTORYMSG._serialized_end=23277 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_start=23279 - _DEPSNOTIFYUPDATESAVAILABLE._serialized_end=23325 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_start=23327 - _DEPSNOTIFYUPDATESAVAILABLEMSG._serialized_end=23451 - _RETRYEXTERNALCALL._serialized_start=23453 - _RETRYEXTERNALCALL._serialized_end=23502 - _RETRYEXTERNALCALLMSG._serialized_start=23504 - _RETRYEXTERNALCALLMSG._serialized_end=23610 - _RECORDRETRYEXCEPTION._serialized_start=23612 - _RECORDRETRYEXCEPTION._serialized_end=23647 - _RECORDRETRYEXCEPTIONMSG._serialized_start=23649 - _RECORDRETRYEXCEPTIONMSG._serialized_end=23761 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_start=23763 - _REGISTRYINDEXPROGRESSGETREQUEST._serialized_end=23809 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_start=23812 - _REGISTRYINDEXPROGRESSGETREQUESTMSG._serialized_end=23946 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_start=23948 - _REGISTRYINDEXPROGRESSGETRESPONSE._serialized_end=24014 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_start=24017 - _REGISTRYINDEXPROGRESSGETRESPONSEMSG._serialized_end=24153 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_start=24155 - _REGISTRYRESPONSEUNEXPECTEDTYPE._serialized_end=24205 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_start=24208 - _REGISTRYRESPONSEUNEXPECTEDTYPEMSG._serialized_end=24340 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_start=24342 - _REGISTRYRESPONSEMISSINGTOPKEYS._serialized_end=24392 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_start=24395 - _REGISTRYRESPONSEMISSINGTOPKEYSMSG._serialized_end=24527 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_start=24529 - _REGISTRYRESPONSEMISSINGNESTEDKEYS._serialized_end=24582 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_start=24585 - _REGISTRYRESPONSEMISSINGNESTEDKEYSMSG._serialized_end=24723 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_start=24725 - _REGISTRYRESPONSEEXTRANESTEDKEYS._serialized_end=24776 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_start=24779 - _REGISTRYRESPONSEEXTRANESTEDKEYSMSG._serialized_end=24913 - _DEPSSETDOWNLOADDIRECTORY._serialized_start=24915 - _DEPSSETDOWNLOADDIRECTORY._serialized_end=24955 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_start=24957 - _DEPSSETDOWNLOADDIRECTORYMSG._serialized_end=25077 - _DEPSUNPINNED._serialized_start=25079 - _DEPSUNPINNED._serialized_end=25124 - _DEPSUNPINNEDMSG._serialized_start=25126 - _DEPSUNPINNEDMSG._serialized_end=25222 - _NONODESFORSELECTIONCRITERIA._serialized_start=25224 - _NONODESFORSELECTIONCRITERIA._serialized_end=25271 - _NONODESFORSELECTIONCRITERIAMSG._serialized_start=25273 - _NONODESFORSELECTIONCRITERIAMSG._serialized_end=25399 - _RUNNINGOPERATIONCAUGHTERROR._serialized_start=25401 - _RUNNINGOPERATIONCAUGHTERROR._serialized_end=25443 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_start=25445 - _RUNNINGOPERATIONCAUGHTERRORMSG._serialized_end=25571 - _COMPILECOMPLETE._serialized_start=25573 - _COMPILECOMPLETE._serialized_end=25590 - _COMPILECOMPLETEMSG._serialized_start=25592 - _COMPILECOMPLETEMSG._serialized_end=25694 - _FRESHNESSCHECKCOMPLETE._serialized_start=25696 - _FRESHNESSCHECKCOMPLETE._serialized_end=25720 - _FRESHNESSCHECKCOMPLETEMSG._serialized_start=25722 - _FRESHNESSCHECKCOMPLETEMSG._serialized_end=25838 - _SEEDHEADER._serialized_start=25840 - _SEEDHEADER._serialized_end=25868 - _SEEDHEADERMSG._serialized_start=25870 - _SEEDHEADERMSG._serialized_end=25962 - _SQLRUNNEREXCEPTION._serialized_start=25964 - _SQLRUNNEREXCEPTION._serialized_end=26015 - _SQLRUNNEREXCEPTIONMSG._serialized_start=26017 - _SQLRUNNEREXCEPTIONMSG._serialized_end=26125 - _LOGTESTRESULT._serialized_start=26128 - _LOGTESTRESULT._serialized_end=26296 - _LOGTESTRESULTMSG._serialized_start=26298 - _LOGTESTRESULTMSG._serialized_end=26396 - _LOGSTARTLINE._serialized_start=26398 - _LOGSTARTLINE._serialized_end=26505 - _LOGSTARTLINEMSG._serialized_start=26507 - _LOGSTARTLINEMSG._serialized_end=26603 - _LOGMODELRESULT._serialized_start=26606 - _LOGMODELRESULT._serialized_end=26755 - _LOGMODELRESULTMSG._serialized_start=26757 - _LOGMODELRESULTMSG._serialized_end=26857 - _LOGSNAPSHOTRESULT._serialized_start=26860 - _LOGSNAPSHOTRESULT._serialized_end=27134 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_start=27092 - _LOGSNAPSHOTRESULT_CFGENTRY._serialized_end=27134 - _LOGSNAPSHOTRESULTMSG._serialized_start=27136 - _LOGSNAPSHOTRESULTMSG._serialized_end=27242 - _LOGSEEDRESULT._serialized_start=27245 - _LOGSEEDRESULT._serialized_end=27430 - _LOGSEEDRESULTMSG._serialized_start=27432 - _LOGSEEDRESULTMSG._serialized_end=27530 - _LOGFRESHNESSRESULT._serialized_start=27533 - _LOGFRESHNESSRESULT._serialized_end=27706 - _LOGFRESHNESSRESULTMSG._serialized_start=27708 - _LOGFRESHNESSRESULTMSG._serialized_end=27816 - _LOGCANCELLINE._serialized_start=27818 - _LOGCANCELLINE._serialized_end=27852 - _LOGCANCELLINEMSG._serialized_start=27854 - _LOGCANCELLINEMSG._serialized_end=27952 - _DEFAULTSELECTOR._serialized_start=27954 - _DEFAULTSELECTOR._serialized_end=27985 - _DEFAULTSELECTORMSG._serialized_start=27987 - _DEFAULTSELECTORMSG._serialized_end=28089 - _NODESTART._serialized_start=28091 - _NODESTART._serialized_end=28144 - _NODESTARTMSG._serialized_start=28146 - _NODESTARTMSG._serialized_end=28236 - _NODEFINISHED._serialized_start=28238 - _NODEFINISHED._serialized_end=28341 - _NODEFINISHEDMSG._serialized_start=28343 - _NODEFINISHEDMSG._serialized_end=28439 - _QUERYCANCELATIONUNSUPPORTED._serialized_start=28441 - _QUERYCANCELATIONUNSUPPORTED._serialized_end=28484 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_start=28486 - _QUERYCANCELATIONUNSUPPORTEDMSG._serialized_end=28612 - _CONCURRENCYLINE._serialized_start=28614 - _CONCURRENCYLINE._serialized_end=28693 - _CONCURRENCYLINEMSG._serialized_start=28695 - _CONCURRENCYLINEMSG._serialized_end=28797 - _WRITINGINJECTEDSQLFORNODE._serialized_start=28799 - _WRITINGINJECTEDSQLFORNODE._serialized_end=28868 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_start=28870 - _WRITINGINJECTEDSQLFORNODEMSG._serialized_end=28992 - _NODECOMPILING._serialized_start=28994 - _NODECOMPILING._serialized_end=29051 - _NODECOMPILINGMSG._serialized_start=29053 - _NODECOMPILINGMSG._serialized_end=29151 - _NODEEXECUTING._serialized_start=29153 - _NODEEXECUTING._serialized_end=29210 - _NODEEXECUTINGMSG._serialized_start=29212 - _NODEEXECUTINGMSG._serialized_end=29310 - _LOGHOOKSTARTLINE._serialized_start=29312 - _LOGHOOKSTARTLINE._serialized_end=29421 - _LOGHOOKSTARTLINEMSG._serialized_start=29423 - _LOGHOOKSTARTLINEMSG._serialized_end=29527 - _LOGHOOKENDLINE._serialized_start=29530 - _LOGHOOKENDLINE._serialized_end=29677 - _LOGHOOKENDLINEMSG._serialized_start=29679 - _LOGHOOKENDLINEMSG._serialized_end=29779 - _SKIPPINGDETAILS._serialized_start=29782 - _SKIPPINGDETAILS._serialized_end=29929 - _SKIPPINGDETAILSMSG._serialized_start=29931 - _SKIPPINGDETAILSMSG._serialized_end=30033 - _NOTHINGTODO._serialized_start=30035 - _NOTHINGTODO._serialized_end=30048 - _NOTHINGTODOMSG._serialized_start=30050 - _NOTHINGTODOMSG._serialized_end=30144 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_start=30146 - _RUNNINGOPERATIONUNCAUGHTERROR._serialized_end=30190 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_start=30193 - _RUNNINGOPERATIONUNCAUGHTERRORMSG._serialized_end=30323 - _ENDRUNRESULT._serialized_start=30326 - _ENDRUNRESULT._serialized_end=30473 - _ENDRUNRESULTMSG._serialized_start=30475 - _ENDRUNRESULTMSG._serialized_end=30571 - _NONODESSELECTED._serialized_start=30573 - _NONODESSELECTED._serialized_end=30590 - _NONODESSELECTEDMSG._serialized_start=30592 - _NONODESSELECTEDMSG._serialized_end=30694 - _COMMANDCOMPLETED._serialized_start=30696 - _COMMANDCOMPLETED._serialized_end=30815 - _COMMANDCOMPLETEDMSG._serialized_start=30817 - _COMMANDCOMPLETEDMSG._serialized_end=30921 - _SHOWNODE._serialized_start=30923 - _SHOWNODE._serialized_end=31030 - _SHOWNODEMSG._serialized_start=31032 - _SHOWNODEMSG._serialized_end=31120 - _COMPILEDNODE._serialized_start=31122 - _COMPILEDNODE._serialized_end=31234 - _COMPILEDNODEMSG._serialized_start=31236 - _COMPILEDNODEMSG._serialized_end=31332 - _CATCHABLEEXCEPTIONONRUN._serialized_start=31334 - _CATCHABLEEXCEPTIONONRUN._serialized_end=31432 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_start=31434 - _CATCHABLEEXCEPTIONONRUNMSG._serialized_end=31552 - _INTERNALERRORONRUN._serialized_start=31554 - _INTERNALERRORONRUN._serialized_end=31607 - _INTERNALERRORONRUNMSG._serialized_start=31609 - _INTERNALERRORONRUNMSG._serialized_end=31717 - _GENERICEXCEPTIONONRUN._serialized_start=31719 - _GENERICEXCEPTIONONRUN._serialized_end=31794 - _GENERICEXCEPTIONONRUNMSG._serialized_start=31796 - _GENERICEXCEPTIONONRUNMSG._serialized_end=31910 - _NODECONNECTIONRELEASEERROR._serialized_start=31912 - _NODECONNECTIONRELEASEERROR._serialized_end=31990 - _NODECONNECTIONRELEASEERRORMSG._serialized_start=31992 - _NODECONNECTIONRELEASEERRORMSG._serialized_end=32116 - _FOUNDSTATS._serialized_start=32118 - _FOUNDSTATS._serialized_end=32149 - _FOUNDSTATSMSG._serialized_start=32151 - _FOUNDSTATSMSG._serialized_end=32243 - _MAINKEYBOARDINTERRUPT._serialized_start=32245 - _MAINKEYBOARDINTERRUPT._serialized_end=32268 - _MAINKEYBOARDINTERRUPTMSG._serialized_start=32270 - _MAINKEYBOARDINTERRUPTMSG._serialized_end=32384 - _MAINENCOUNTEREDERROR._serialized_start=32386 - _MAINENCOUNTEREDERROR._serialized_end=32421 - _MAINENCOUNTEREDERRORMSG._serialized_start=32423 - _MAINENCOUNTEREDERRORMSG._serialized_end=32535 - _MAINSTACKTRACE._serialized_start=32537 - _MAINSTACKTRACE._serialized_end=32574 - _MAINSTACKTRACEMSG._serialized_start=32576 - _MAINSTACKTRACEMSG._serialized_end=32676 - _SYSTEMCOULDNOTWRITE._serialized_start=32678 - _SYSTEMCOULDNOTWRITE._serialized_end=32742 - _SYSTEMCOULDNOTWRITEMSG._serialized_start=32744 - _SYSTEMCOULDNOTWRITEMSG._serialized_end=32854 - _SYSTEMEXECUTINGCMD._serialized_start=32856 - _SYSTEMEXECUTINGCMD._serialized_end=32889 - _SYSTEMEXECUTINGCMDMSG._serialized_start=32891 - _SYSTEMEXECUTINGCMDMSG._serialized_end=32999 - _SYSTEMSTDOUT._serialized_start=33001 - _SYSTEMSTDOUT._serialized_end=33029 - _SYSTEMSTDOUTMSG._serialized_start=33031 - _SYSTEMSTDOUTMSG._serialized_end=33127 - _SYSTEMSTDERR._serialized_start=33129 - _SYSTEMSTDERR._serialized_end=33157 - _SYSTEMSTDERRMSG._serialized_start=33159 - _SYSTEMSTDERRMSG._serialized_end=33255 - _SYSTEMREPORTRETURNCODE._serialized_start=33257 - _SYSTEMREPORTRETURNCODE._serialized_end=33301 - _SYSTEMREPORTRETURNCODEMSG._serialized_start=33303 - _SYSTEMREPORTRETURNCODEMSG._serialized_end=33419 - _TIMINGINFOCOLLECTED._serialized_start=33421 - _TIMINGINFOCOLLECTED._serialized_end=33533 - _TIMINGINFOCOLLECTEDMSG._serialized_start=33535 - _TIMINGINFOCOLLECTEDMSG._serialized_end=33645 - _LOGDEBUGSTACKTRACE._serialized_start=33647 - _LOGDEBUGSTACKTRACE._serialized_end=33685 - _LOGDEBUGSTACKTRACEMSG._serialized_start=33687 - _LOGDEBUGSTACKTRACEMSG._serialized_end=33795 - _CHECKCLEANPATH._serialized_start=33797 - _CHECKCLEANPATH._serialized_end=33827 - _CHECKCLEANPATHMSG._serialized_start=33829 - _CHECKCLEANPATHMSG._serialized_end=33929 - _CONFIRMCLEANPATH._serialized_start=33931 - _CONFIRMCLEANPATH._serialized_end=33963 - _CONFIRMCLEANPATHMSG._serialized_start=33965 - _CONFIRMCLEANPATHMSG._serialized_end=34069 - _PROTECTEDCLEANPATH._serialized_start=34071 - _PROTECTEDCLEANPATH._serialized_end=34105 - _PROTECTEDCLEANPATHMSG._serialized_start=34107 - _PROTECTEDCLEANPATHMSG._serialized_end=34215 - _FINISHEDCLEANPATHS._serialized_start=34217 - _FINISHEDCLEANPATHS._serialized_end=34237 - _FINISHEDCLEANPATHSMSG._serialized_start=34239 - _FINISHEDCLEANPATHSMSG._serialized_end=34347 - _OPENCOMMAND._serialized_start=34349 - _OPENCOMMAND._serialized_end=34402 - _OPENCOMMANDMSG._serialized_start=34404 - _OPENCOMMANDMSG._serialized_end=34498 - _FORMATTING._serialized_start=34500 - _FORMATTING._serialized_end=34525 - _FORMATTINGMSG._serialized_start=34527 - _FORMATTINGMSG._serialized_end=34619 - _SERVINGDOCSPORT._serialized_start=34621 - _SERVINGDOCSPORT._serialized_end=34669 - _SERVINGDOCSPORTMSG._serialized_start=34671 - _SERVINGDOCSPORTMSG._serialized_end=34773 - _SERVINGDOCSACCESSINFO._serialized_start=34775 - _SERVINGDOCSACCESSINFO._serialized_end=34812 - _SERVINGDOCSACCESSINFOMSG._serialized_start=34814 - _SERVINGDOCSACCESSINFOMSG._serialized_end=34928 - _SERVINGDOCSEXITINFO._serialized_start=34930 - _SERVINGDOCSEXITINFO._serialized_end=34951 - _SERVINGDOCSEXITINFOMSG._serialized_start=34953 - _SERVINGDOCSEXITINFOMSG._serialized_end=35063 - _RUNRESULTWARNING._serialized_start=35065 - _RUNRESULTWARNING._serialized_end=35139 - _RUNRESULTWARNINGMSG._serialized_start=35141 - _RUNRESULTWARNINGMSG._serialized_end=35245 - _RUNRESULTFAILURE._serialized_start=35247 - _RUNRESULTFAILURE._serialized_end=35321 - _RUNRESULTFAILUREMSG._serialized_start=35323 - _RUNRESULTFAILUREMSG._serialized_end=35427 - _STATSLINE._serialized_start=35429 - _STATSLINE._serialized_end=35536 - _STATSLINE_STATSENTRY._serialized_start=35492 - _STATSLINE_STATSENTRY._serialized_end=35536 - _STATSLINEMSG._serialized_start=35538 - _STATSLINEMSG._serialized_end=35628 - _RUNRESULTERROR._serialized_start=35630 - _RUNRESULTERROR._serialized_end=35659 - _RUNRESULTERRORMSG._serialized_start=35661 - _RUNRESULTERRORMSG._serialized_end=35761 - _RUNRESULTERRORNOMESSAGE._serialized_start=35763 - _RUNRESULTERRORNOMESSAGE._serialized_end=35804 - _RUNRESULTERRORNOMESSAGEMSG._serialized_start=35806 - _RUNRESULTERRORNOMESSAGEMSG._serialized_end=35924 - _SQLCOMPILEDPATH._serialized_start=35926 - _SQLCOMPILEDPATH._serialized_end=35957 - _SQLCOMPILEDPATHMSG._serialized_start=35959 - _SQLCOMPILEDPATHMSG._serialized_end=36061 - _CHECKNODETESTFAILURE._serialized_start=36063 - _CHECKNODETESTFAILURE._serialized_end=36108 - _CHECKNODETESTFAILUREMSG._serialized_start=36110 - _CHECKNODETESTFAILUREMSG._serialized_end=36222 - _ENDOFRUNSUMMARY._serialized_start=36224 - _ENDOFRUNSUMMARY._serialized_end=36311 - _ENDOFRUNSUMMARYMSG._serialized_start=36313 - _ENDOFRUNSUMMARYMSG._serialized_end=36415 - _LOGSKIPBECAUSEERROR._serialized_start=36417 - _LOGSKIPBECAUSEERROR._serialized_end=36502 - _LOGSKIPBECAUSEERRORMSG._serialized_start=36504 - _LOGSKIPBECAUSEERRORMSG._serialized_end=36614 - _ENSUREGITINSTALLED._serialized_start=36616 - _ENSUREGITINSTALLED._serialized_end=36636 - _ENSUREGITINSTALLEDMSG._serialized_start=36638 - _ENSUREGITINSTALLEDMSG._serialized_end=36746 - _DEPSCREATINGLOCALSYMLINK._serialized_start=36748 - _DEPSCREATINGLOCALSYMLINK._serialized_end=36774 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_start=36776 - _DEPSCREATINGLOCALSYMLINKMSG._serialized_end=36896 - _DEPSSYMLINKNOTAVAILABLE._serialized_start=36898 - _DEPSSYMLINKNOTAVAILABLE._serialized_end=36923 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_start=36925 - _DEPSSYMLINKNOTAVAILABLEMSG._serialized_end=37043 - _DISABLETRACKING._serialized_start=37045 - _DISABLETRACKING._serialized_end=37062 - _DISABLETRACKINGMSG._serialized_start=37064 - _DISABLETRACKINGMSG._serialized_end=37166 - _SENDINGEVENT._serialized_start=37168 - _SENDINGEVENT._serialized_end=37198 - _SENDINGEVENTMSG._serialized_start=37200 - _SENDINGEVENTMSG._serialized_end=37296 - _SENDEVENTFAILURE._serialized_start=37298 - _SENDEVENTFAILURE._serialized_end=37316 - _SENDEVENTFAILUREMSG._serialized_start=37318 - _SENDEVENTFAILUREMSG._serialized_end=37422 - _FLUSHEVENTS._serialized_start=37424 - _FLUSHEVENTS._serialized_end=37437 - _FLUSHEVENTSMSG._serialized_start=37439 - _FLUSHEVENTSMSG._serialized_end=37533 - _FLUSHEVENTSFAILURE._serialized_start=37535 - _FLUSHEVENTSFAILURE._serialized_end=37555 - _FLUSHEVENTSFAILUREMSG._serialized_start=37557 - _FLUSHEVENTSFAILUREMSG._serialized_end=37665 - _TRACKINGINITIALIZEFAILURE._serialized_start=37667 - _TRACKINGINITIALIZEFAILURE._serialized_end=37712 - _TRACKINGINITIALIZEFAILUREMSG._serialized_start=37714 - _TRACKINGINITIALIZEFAILUREMSG._serialized_end=37836 - _RUNRESULTWARNINGMESSAGE._serialized_start=37838 - _RUNRESULTWARNINGMESSAGE._serialized_end=37876 - _RUNRESULTWARNINGMESSAGEMSG._serialized_start=37878 - _RUNRESULTWARNINGMESSAGEMSG._serialized_end=37996 - _DEBUGCMDOUT._serialized_start=37998 - _DEBUGCMDOUT._serialized_end=38024 - _DEBUGCMDOUTMSG._serialized_start=38026 - _DEBUGCMDOUTMSG._serialized_end=38120 - _DEBUGCMDRESULT._serialized_start=38122 - _DEBUGCMDRESULT._serialized_end=38151 - _DEBUGCMDRESULTMSG._serialized_start=38153 - _DEBUGCMDRESULTMSG._serialized_end=38253 - _LISTCMDOUT._serialized_start=38255 - _LISTCMDOUT._serialized_end=38280 - _LISTCMDOUTMSG._serialized_start=38282 - _LISTCMDOUTMSG._serialized_end=38374 - _NOTE._serialized_start=38376 - _NOTE._serialized_end=38395 - _NOTEMSG._serialized_start=38397 - _NOTEMSG._serialized_end=38477 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_EVENTINFO_EXTRAENTRY']._loaded_options = None + _globals['_EVENTINFO_EXTRAENTRY']._serialized_options = b'8\001' + _globals['_MAINREPORTARGS_ARGSENTRY']._loaded_options = None + _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_options = b'8\001' + _globals['_CACHEDUMPGRAPH_DUMPENTRY']._loaded_options = None + _globals['_CACHEDUMPGRAPH_DUMPENTRY']._serialized_options = b'8\001' + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._loaded_options = None + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_options = b'8\001' + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._loaded_options = None + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_options = b'8\001' + _globals['_STATSLINE_STATSENTRY']._loaded_options = None + _globals['_STATSLINE_STATSENTRY']._serialized_options = b'8\001' + _globals['_EVENTINFO']._serialized_start=92 + _globals['_EVENTINFO']._serialized_end=365 + _globals['_EVENTINFO_EXTRAENTRY']._serialized_start=321 + _globals['_EVENTINFO_EXTRAENTRY']._serialized_end=365 + _globals['_TIMINGINFOMSG']._serialized_start=367 + _globals['_TIMINGINFOMSG']._serialized_end=494 + _globals['_NODERELATION']._serialized_start=496 + _globals['_NODERELATION']._serialized_end=582 + _globals['_NODEINFO']._serialized_start=585 + _globals['_NODEINFO']._serialized_end=858 + _globals['_RUNRESULTMSG']._serialized_start=861 + _globals['_RUNRESULTMSG']._serialized_end=1070 + _globals['_REFERENCEKEYMSG']._serialized_start=1072 + _globals['_REFERENCEKEYMSG']._serialized_end=1143 + _globals['_GENERICMESSAGE']._serialized_start=1145 + _globals['_GENERICMESSAGE']._serialized_end=1199 + _globals['_MAINREPORTVERSION']._serialized_start=1201 + _globals['_MAINREPORTVERSION']._serialized_end=1258 + _globals['_MAINREPORTVERSIONMSG']._serialized_start=1260 + _globals['_MAINREPORTVERSIONMSG']._serialized_end=1366 + _globals['_MAINREPORTARGS']._serialized_start=1368 + _globals['_MAINREPORTARGS']._serialized_end=1482 + _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_start=1439 + _globals['_MAINREPORTARGS_ARGSENTRY']._serialized_end=1482 + _globals['_MAINREPORTARGSMSG']._serialized_start=1484 + _globals['_MAINREPORTARGSMSG']._serialized_end=1584 + _globals['_MAINTRACKINGUSERSTATE']._serialized_start=1586 + _globals['_MAINTRACKINGUSERSTATE']._serialized_end=1629 + _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_start=1631 + _globals['_MAINTRACKINGUSERSTATEMSG']._serialized_end=1745 + _globals['_MERGEDFROMSTATE']._serialized_start=1747 + _globals['_MERGEDFROMSTATE']._serialized_end=1800 + _globals['_MERGEDFROMSTATEMSG']._serialized_start=1802 + _globals['_MERGEDFROMSTATEMSG']._serialized_end=1904 + _globals['_MISSINGPROFILETARGET']._serialized_start=1906 + _globals['_MISSINGPROFILETARGET']._serialized_end=1971 + _globals['_MISSINGPROFILETARGETMSG']._serialized_start=1973 + _globals['_MISSINGPROFILETARGETMSG']._serialized_end=2085 + _globals['_INVALIDOPTIONYAML']._serialized_start=2087 + _globals['_INVALIDOPTIONYAML']._serialized_end=2127 + _globals['_INVALIDOPTIONYAMLMSG']._serialized_start=2129 + _globals['_INVALIDOPTIONYAMLMSG']._serialized_end=2235 + _globals['_LOGDBTPROJECTERROR']._serialized_start=2237 + _globals['_LOGDBTPROJECTERROR']._serialized_end=2270 + _globals['_LOGDBTPROJECTERRORMSG']._serialized_start=2272 + _globals['_LOGDBTPROJECTERRORMSG']._serialized_end=2380 + _globals['_LOGDBTPROFILEERROR']._serialized_start=2382 + _globals['_LOGDBTPROFILEERROR']._serialized_end=2433 + _globals['_LOGDBTPROFILEERRORMSG']._serialized_start=2435 + _globals['_LOGDBTPROFILEERRORMSG']._serialized_end=2543 + _globals['_STARTERPROJECTPATH']._serialized_start=2545 + _globals['_STARTERPROJECTPATH']._serialized_end=2578 + _globals['_STARTERPROJECTPATHMSG']._serialized_start=2580 + _globals['_STARTERPROJECTPATHMSG']._serialized_end=2688 + _globals['_CONFIGFOLDERDIRECTORY']._serialized_start=2690 + _globals['_CONFIGFOLDERDIRECTORY']._serialized_end=2726 + _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_start=2728 + _globals['_CONFIGFOLDERDIRECTORYMSG']._serialized_end=2842 + _globals['_NOSAMPLEPROFILEFOUND']._serialized_start=2844 + _globals['_NOSAMPLEPROFILEFOUND']._serialized_end=2883 + _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_start=2885 + _globals['_NOSAMPLEPROFILEFOUNDMSG']._serialized_end=2997 + _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_start=2999 + _globals['_PROFILEWRITTENWITHSAMPLE']._serialized_end=3053 + _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_start=3055 + _globals['_PROFILEWRITTENWITHSAMPLEMSG']._serialized_end=3175 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_start=3177 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAML']._serialized_end=3243 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_start=3246 + _globals['_PROFILEWRITTENWITHTARGETTEMPLATEYAMLMSG']._serialized_end=3390 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_start=3392 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAML']._serialized_end=3459 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_start=3462 + _globals['_PROFILEWRITTENWITHPROJECTTEMPLATEYAMLMSG']._serialized_end=3608 + _globals['_SETTINGUPPROFILE']._serialized_start=3610 + _globals['_SETTINGUPPROFILE']._serialized_end=3628 + _globals['_SETTINGUPPROFILEMSG']._serialized_start=3630 + _globals['_SETTINGUPPROFILEMSG']._serialized_end=3734 + _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_start=3736 + _globals['_INVALIDPROFILETEMPLATEYAML']._serialized_end=3764 + _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_start=3766 + _globals['_INVALIDPROFILETEMPLATEYAMLMSG']._serialized_end=3890 + _globals['_PROJECTNAMEALREADYEXISTS']._serialized_start=3892 + _globals['_PROJECTNAMEALREADYEXISTS']._serialized_end=3932 + _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_start=3934 + _globals['_PROJECTNAMEALREADYEXISTSMSG']._serialized_end=4054 + _globals['_PROJECTCREATED']._serialized_start=4056 + _globals['_PROJECTCREATED']._serialized_end=4131 + _globals['_PROJECTCREATEDMSG']._serialized_start=4133 + _globals['_PROJECTCREATEDMSG']._serialized_end=4233 + _globals['_PACKAGEREDIRECTDEPRECATION']._serialized_start=4235 + _globals['_PACKAGEREDIRECTDEPRECATION']._serialized_end=4299 + _globals['_PACKAGEREDIRECTDEPRECATIONMSG']._serialized_start=4301 + _globals['_PACKAGEREDIRECTDEPRECATIONMSG']._serialized_end=4425 + _globals['_PACKAGEINSTALLPATHDEPRECATION']._serialized_start=4427 + _globals['_PACKAGEINSTALLPATHDEPRECATION']._serialized_end=4458 + _globals['_PACKAGEINSTALLPATHDEPRECATIONMSG']._serialized_start=4461 + _globals['_PACKAGEINSTALLPATHDEPRECATIONMSG']._serialized_end=4591 + _globals['_CONFIGSOURCEPATHDEPRECATION']._serialized_start=4593 + _globals['_CONFIGSOURCEPATHDEPRECATION']._serialized_end=4665 + _globals['_CONFIGSOURCEPATHDEPRECATIONMSG']._serialized_start=4667 + _globals['_CONFIGSOURCEPATHDEPRECATIONMSG']._serialized_end=4793 + _globals['_CONFIGDATAPATHDEPRECATION']._serialized_start=4795 + _globals['_CONFIGDATAPATHDEPRECATION']._serialized_end=4865 + _globals['_CONFIGDATAPATHDEPRECATIONMSG']._serialized_start=4867 + _globals['_CONFIGDATAPATHDEPRECATIONMSG']._serialized_end=4989 + _globals['_ADAPTERDEPRECATIONWARNING']._serialized_start=4991 + _globals['_ADAPTERDEPRECATIONWARNING']._serialized_end=5054 + _globals['_ADAPTERDEPRECATIONWARNINGMSG']._serialized_start=5056 + _globals['_ADAPTERDEPRECATIONWARNINGMSG']._serialized_end=5178 + _globals['_METRICATTRIBUTESRENAMED']._serialized_start=5180 + _globals['_METRICATTRIBUTESRENAMED']._serialized_end=5226 + _globals['_METRICATTRIBUTESRENAMEDMSG']._serialized_start=5228 + _globals['_METRICATTRIBUTESRENAMEDMSG']._serialized_end=5346 + _globals['_EXPOSURENAMEDEPRECATION']._serialized_start=5348 + _globals['_EXPOSURENAMEDEPRECATION']._serialized_end=5391 + _globals['_EXPOSURENAMEDEPRECATIONMSG']._serialized_start=5393 + _globals['_EXPOSURENAMEDEPRECATIONMSG']._serialized_end=5511 + _globals['_INTERNALDEPRECATION']._serialized_start=5513 + _globals['_INTERNALDEPRECATION']._serialized_end=5607 + _globals['_INTERNALDEPRECATIONMSG']._serialized_start=5609 + _globals['_INTERNALDEPRECATIONMSG']._serialized_end=5719 + _globals['_ENVIRONMENTVARIABLERENAMED']._serialized_start=5721 + _globals['_ENVIRONMENTVARIABLERENAMED']._serialized_end=5785 + _globals['_ENVIRONMENTVARIABLERENAMEDMSG']._serialized_start=5787 + _globals['_ENVIRONMENTVARIABLERENAMEDMSG']._serialized_end=5911 + _globals['_CONFIGLOGPATHDEPRECATION']._serialized_start=5913 + _globals['_CONFIGLOGPATHDEPRECATION']._serialized_end=5964 + _globals['_CONFIGLOGPATHDEPRECATIONMSG']._serialized_start=5966 + _globals['_CONFIGLOGPATHDEPRECATIONMSG']._serialized_end=6086 + _globals['_CONFIGTARGETPATHDEPRECATION']._serialized_start=6088 + _globals['_CONFIGTARGETPATHDEPRECATION']._serialized_end=6142 + _globals['_CONFIGTARGETPATHDEPRECATIONMSG']._serialized_start=6144 + _globals['_CONFIGTARGETPATHDEPRECATIONMSG']._serialized_end=6270 + _globals['_COLLECTFRESHNESSRETURNSIGNATURE']._serialized_start=6272 + _globals['_COLLECTFRESHNESSRETURNSIGNATURE']._serialized_end=6305 + _globals['_COLLECTFRESHNESSRETURNSIGNATUREMSG']._serialized_start=6308 + _globals['_COLLECTFRESHNESSRETURNSIGNATUREMSG']._serialized_end=6442 + _globals['_PROJECTFLAGSMOVEDDEPRECATION']._serialized_start=6444 + _globals['_PROJECTFLAGSMOVEDDEPRECATION']._serialized_end=6474 + _globals['_PROJECTFLAGSMOVEDDEPRECATIONMSG']._serialized_start=6477 + _globals['_PROJECTFLAGSMOVEDDEPRECATIONMSG']._serialized_end=6605 + _globals['_PACKAGEMATERIALIZATIONOVERRIDEDEPRECATION']._serialized_start=6607 + _globals['_PACKAGEMATERIALIZATIONOVERRIDEDEPRECATION']._serialized_end=6702 + _globals['_PACKAGEMATERIALIZATIONOVERRIDEDEPRECATIONMSG']._serialized_start=6705 + _globals['_PACKAGEMATERIALIZATIONOVERRIDEDEPRECATIONMSG']._serialized_end=6859 + _globals['_ADAPTEREVENTDEBUG']._serialized_start=6862 + _globals['_ADAPTEREVENTDEBUG']._serialized_end=6997 + _globals['_ADAPTEREVENTDEBUGMSG']._serialized_start=6999 + _globals['_ADAPTEREVENTDEBUGMSG']._serialized_end=7105 + _globals['_ADAPTEREVENTINFO']._serialized_start=7108 + _globals['_ADAPTEREVENTINFO']._serialized_end=7242 + _globals['_ADAPTEREVENTINFOMSG']._serialized_start=7244 + _globals['_ADAPTEREVENTINFOMSG']._serialized_end=7348 + _globals['_ADAPTEREVENTWARNING']._serialized_start=7351 + _globals['_ADAPTEREVENTWARNING']._serialized_end=7488 + _globals['_ADAPTEREVENTWARNINGMSG']._serialized_start=7490 + _globals['_ADAPTEREVENTWARNINGMSG']._serialized_end=7600 + _globals['_ADAPTEREVENTERROR']._serialized_start=7603 + _globals['_ADAPTEREVENTERROR']._serialized_end=7756 + _globals['_ADAPTEREVENTERRORMSG']._serialized_start=7758 + _globals['_ADAPTEREVENTERRORMSG']._serialized_end=7864 + _globals['_NEWCONNECTION']._serialized_start=7866 + _globals['_NEWCONNECTION']._serialized_end=7961 + _globals['_NEWCONNECTIONMSG']._serialized_start=7963 + _globals['_NEWCONNECTIONMSG']._serialized_end=8061 + _globals['_CONNECTIONREUSED']._serialized_start=8063 + _globals['_CONNECTIONREUSED']._serialized_end=8124 + _globals['_CONNECTIONREUSEDMSG']._serialized_start=8126 + _globals['_CONNECTIONREUSEDMSG']._serialized_end=8230 + _globals['_CONNECTIONLEFTOPENINCLEANUP']._serialized_start=8232 + _globals['_CONNECTIONLEFTOPENINCLEANUP']._serialized_end=8280 + _globals['_CONNECTIONLEFTOPENINCLEANUPMSG']._serialized_start=8282 + _globals['_CONNECTIONLEFTOPENINCLEANUPMSG']._serialized_end=8408 + _globals['_CONNECTIONCLOSEDINCLEANUP']._serialized_start=8410 + _globals['_CONNECTIONCLOSEDINCLEANUP']._serialized_end=8456 + _globals['_CONNECTIONCLOSEDINCLEANUPMSG']._serialized_start=8458 + _globals['_CONNECTIONCLOSEDINCLEANUPMSG']._serialized_end=8580 + _globals['_ROLLBACKFAILED']._serialized_start=8582 + _globals['_ROLLBACKFAILED']._serialized_end=8677 + _globals['_ROLLBACKFAILEDMSG']._serialized_start=8679 + _globals['_ROLLBACKFAILEDMSG']._serialized_end=8779 + _globals['_CONNECTIONCLOSED']._serialized_start=8781 + _globals['_CONNECTIONCLOSED']._serialized_end=8860 + _globals['_CONNECTIONCLOSEDMSG']._serialized_start=8862 + _globals['_CONNECTIONCLOSEDMSG']._serialized_end=8966 + _globals['_CONNECTIONLEFTOPEN']._serialized_start=8968 + _globals['_CONNECTIONLEFTOPEN']._serialized_end=9049 + _globals['_CONNECTIONLEFTOPENMSG']._serialized_start=9051 + _globals['_CONNECTIONLEFTOPENMSG']._serialized_end=9159 + _globals['_ROLLBACK']._serialized_start=9161 + _globals['_ROLLBACK']._serialized_end=9232 + _globals['_ROLLBACKMSG']._serialized_start=9234 + _globals['_ROLLBACKMSG']._serialized_end=9322 + _globals['_CACHEMISS']._serialized_start=9324 + _globals['_CACHEMISS']._serialized_end=9388 + _globals['_CACHEMISSMSG']._serialized_start=9390 + _globals['_CACHEMISSMSG']._serialized_end=9480 + _globals['_LISTRELATIONS']._serialized_start=9482 + _globals['_LISTRELATIONS']._serialized_end=9580 + _globals['_LISTRELATIONSMSG']._serialized_start=9582 + _globals['_LISTRELATIONSMSG']._serialized_end=9680 + _globals['_CONNECTIONUSED']._serialized_start=9682 + _globals['_CONNECTIONUSED']._serialized_end=9778 + _globals['_CONNECTIONUSEDMSG']._serialized_start=9780 + _globals['_CONNECTIONUSEDMSG']._serialized_end=9880 + _globals['_SQLQUERY']._serialized_start=9882 + _globals['_SQLQUERY']._serialized_end=9966 + _globals['_SQLQUERYMSG']._serialized_start=9968 + _globals['_SQLQUERYMSG']._serialized_end=10056 + _globals['_SQLQUERYSTATUS']._serialized_start=10058 + _globals['_SQLQUERYSTATUS']._serialized_end=10149 + _globals['_SQLQUERYSTATUSMSG']._serialized_start=10151 + _globals['_SQLQUERYSTATUSMSG']._serialized_end=10251 + _globals['_SQLCOMMIT']._serialized_start=10253 + _globals['_SQLCOMMIT']._serialized_end=10325 + _globals['_SQLCOMMITMSG']._serialized_start=10327 + _globals['_SQLCOMMITMSG']._serialized_end=10417 + _globals['_COLTYPECHANGE']._serialized_start=10419 + _globals['_COLTYPECHANGE']._serialized_end=10516 + _globals['_COLTYPECHANGEMSG']._serialized_start=10518 + _globals['_COLTYPECHANGEMSG']._serialized_end=10616 + _globals['_SCHEMACREATION']._serialized_start=10618 + _globals['_SCHEMACREATION']._serialized_end=10682 + _globals['_SCHEMACREATIONMSG']._serialized_start=10684 + _globals['_SCHEMACREATIONMSG']._serialized_end=10784 + _globals['_SCHEMADROP']._serialized_start=10786 + _globals['_SCHEMADROP']._serialized_end=10846 + _globals['_SCHEMADROPMSG']._serialized_start=10848 + _globals['_SCHEMADROPMSG']._serialized_end=10940 + _globals['_CACHEACTION']._serialized_start=10943 + _globals['_CACHEACTION']._serialized_end=11165 + _globals['_CACHEACTIONMSG']._serialized_start=11167 + _globals['_CACHEACTIONMSG']._serialized_end=11261 + _globals['_CACHEDUMPGRAPH']._serialized_start=11264 + _globals['_CACHEDUMPGRAPH']._serialized_end=11416 + _globals['_CACHEDUMPGRAPH_DUMPENTRY']._serialized_start=11373 + _globals['_CACHEDUMPGRAPH_DUMPENTRY']._serialized_end=11416 + _globals['_CACHEDUMPGRAPHMSG']._serialized_start=11418 + _globals['_CACHEDUMPGRAPHMSG']._serialized_end=11518 + _globals['_ADAPTERREGISTERED']._serialized_start=11520 + _globals['_ADAPTERREGISTERED']._serialized_end=11586 + _globals['_ADAPTERREGISTEREDMSG']._serialized_start=11588 + _globals['_ADAPTERREGISTEREDMSG']._serialized_end=11694 + _globals['_ADAPTERIMPORTERROR']._serialized_start=11696 + _globals['_ADAPTERIMPORTERROR']._serialized_end=11729 + _globals['_ADAPTERIMPORTERRORMSG']._serialized_start=11731 + _globals['_ADAPTERIMPORTERRORMSG']._serialized_end=11839 + _globals['_PLUGINLOADERROR']._serialized_start=11841 + _globals['_PLUGINLOADERROR']._serialized_end=11876 + _globals['_PLUGINLOADERRORMSG']._serialized_start=11878 + _globals['_PLUGINLOADERRORMSG']._serialized_end=11980 + _globals['_NEWCONNECTIONOPENING']._serialized_start=11982 + _globals['_NEWCONNECTIONOPENING']._serialized_end=12072 + _globals['_NEWCONNECTIONOPENINGMSG']._serialized_start=12074 + _globals['_NEWCONNECTIONOPENINGMSG']._serialized_end=12186 + _globals['_CODEEXECUTION']._serialized_start=12188 + _globals['_CODEEXECUTION']._serialized_end=12244 + _globals['_CODEEXECUTIONMSG']._serialized_start=12246 + _globals['_CODEEXECUTIONMSG']._serialized_end=12344 + _globals['_CODEEXECUTIONSTATUS']._serialized_start=12346 + _globals['_CODEEXECUTIONSTATUS']._serialized_end=12400 + _globals['_CODEEXECUTIONSTATUSMSG']._serialized_start=12402 + _globals['_CODEEXECUTIONSTATUSMSG']._serialized_end=12512 + _globals['_CATALOGGENERATIONERROR']._serialized_start=12514 + _globals['_CATALOGGENERATIONERROR']._serialized_end=12551 + _globals['_CATALOGGENERATIONERRORMSG']._serialized_start=12553 + _globals['_CATALOGGENERATIONERRORMSG']._serialized_end=12669 + _globals['_WRITECATALOGFAILURE']._serialized_start=12671 + _globals['_WRITECATALOGFAILURE']._serialized_end=12716 + _globals['_WRITECATALOGFAILUREMSG']._serialized_start=12718 + _globals['_WRITECATALOGFAILUREMSG']._serialized_end=12828 + _globals['_CATALOGWRITTEN']._serialized_start=12830 + _globals['_CATALOGWRITTEN']._serialized_end=12860 + _globals['_CATALOGWRITTENMSG']._serialized_start=12862 + _globals['_CATALOGWRITTENMSG']._serialized_end=12962 + _globals['_CANNOTGENERATEDOCS']._serialized_start=12964 + _globals['_CANNOTGENERATEDOCS']._serialized_end=12984 + _globals['_CANNOTGENERATEDOCSMSG']._serialized_start=12986 + _globals['_CANNOTGENERATEDOCSMSG']._serialized_end=13094 + _globals['_BUILDINGCATALOG']._serialized_start=13096 + _globals['_BUILDINGCATALOG']._serialized_end=13113 + _globals['_BUILDINGCATALOGMSG']._serialized_start=13115 + _globals['_BUILDINGCATALOGMSG']._serialized_end=13217 + _globals['_DATABASEERRORRUNNINGHOOK']._serialized_start=13219 + _globals['_DATABASEERRORRUNNINGHOOK']._serialized_end=13264 + _globals['_DATABASEERRORRUNNINGHOOKMSG']._serialized_start=13266 + _globals['_DATABASEERRORRUNNINGHOOKMSG']._serialized_end=13386 + _globals['_HOOKSRUNNING']._serialized_start=13388 + _globals['_HOOKSRUNNING']._serialized_end=13440 + _globals['_HOOKSRUNNINGMSG']._serialized_start=13442 + _globals['_HOOKSRUNNINGMSG']._serialized_end=13538 + _globals['_FINISHEDRUNNINGSTATS']._serialized_start=13540 + _globals['_FINISHEDRUNNINGSTATS']._serialized_end=13624 + _globals['_FINISHEDRUNNINGSTATSMSG']._serialized_start=13626 + _globals['_FINISHEDRUNNINGSTATSMSG']._serialized_end=13738 + _globals['_CONSTRAINTNOTENFORCED']._serialized_start=13740 + _globals['_CONSTRAINTNOTENFORCED']._serialized_end=13800 + _globals['_CONSTRAINTNOTENFORCEDMSG']._serialized_start=13802 + _globals['_CONSTRAINTNOTENFORCEDMSG']._serialized_end=13916 + _globals['_CONSTRAINTNOTSUPPORTED']._serialized_start=13918 + _globals['_CONSTRAINTNOTSUPPORTED']._serialized_end=13979 + _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_start=13981 + _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_end=14097 + _globals['_INPUTFILEDIFFERROR']._serialized_start=14099 + _globals['_INPUTFILEDIFFERROR']._serialized_end=14154 + _globals['_INPUTFILEDIFFERRORMSG']._serialized_start=14156 + _globals['_INPUTFILEDIFFERRORMSG']._serialized_end=14264 + _globals['_INVALIDVALUEFORFIELD']._serialized_start=14266 + _globals['_INVALIDVALUEFORFIELD']._serialized_end=14329 + _globals['_INVALIDVALUEFORFIELDMSG']._serialized_start=14331 + _globals['_INVALIDVALUEFORFIELDMSG']._serialized_end=14443 + _globals['_VALIDATIONWARNING']._serialized_start=14445 + _globals['_VALIDATIONWARNING']._serialized_end=14526 + _globals['_VALIDATIONWARNINGMSG']._serialized_start=14528 + _globals['_VALIDATIONWARNINGMSG']._serialized_end=14634 + _globals['_PARSEPERFINFOPATH']._serialized_start=14636 + _globals['_PARSEPERFINFOPATH']._serialized_end=14669 + _globals['_PARSEPERFINFOPATHMSG']._serialized_start=14671 + _globals['_PARSEPERFINFOPATHMSG']._serialized_end=14777 + _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_start=14779 + _globals['_PARTIALPARSINGERRORPROCESSINGFILE']._serialized_end=14828 + _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_start=14831 + _globals['_PARTIALPARSINGERRORPROCESSINGFILEMSG']._serialized_end=14969 + _globals['_PARTIALPARSINGERROR']._serialized_start=14972 + _globals['_PARTIALPARSINGERROR']._serialized_end=15106 + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_start=15060 + _globals['_PARTIALPARSINGERROR_EXCINFOENTRY']._serialized_end=15106 + _globals['_PARTIALPARSINGERRORMSG']._serialized_start=15108 + _globals['_PARTIALPARSINGERRORMSG']._serialized_end=15218 + _globals['_PARTIALPARSINGSKIPPARSING']._serialized_start=15220 + _globals['_PARTIALPARSINGSKIPPARSING']._serialized_end=15247 + _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_start=15249 + _globals['_PARTIALPARSINGSKIPPARSINGMSG']._serialized_end=15371 + _globals['_UNABLETOPARTIALPARSE']._serialized_start=15373 + _globals['_UNABLETOPARTIALPARSE']._serialized_end=15411 + _globals['_UNABLETOPARTIALPARSEMSG']._serialized_start=15413 + _globals['_UNABLETOPARTIALPARSEMSG']._serialized_end=15525 + _globals['_STATECHECKVARSHASH']._serialized_start=15527 + _globals['_STATECHECKVARSHASH']._serialized_end=15629 + _globals['_STATECHECKVARSHASHMSG']._serialized_start=15631 + _globals['_STATECHECKVARSHASHMSG']._serialized_end=15739 + _globals['_PARTIALPARSINGNOTENABLED']._serialized_start=15741 + _globals['_PARTIALPARSINGNOTENABLED']._serialized_end=15767 + _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_start=15769 + _globals['_PARTIALPARSINGNOTENABLEDMSG']._serialized_end=15889 + _globals['_PARSEDFILELOADFAILED']._serialized_start=15891 + _globals['_PARSEDFILELOADFAILED']._serialized_end=15958 + _globals['_PARSEDFILELOADFAILEDMSG']._serialized_start=15960 + _globals['_PARSEDFILELOADFAILEDMSG']._serialized_end=16072 + _globals['_PARTIALPARSINGENABLED']._serialized_start=16074 + _globals['_PARTIALPARSINGENABLED']._serialized_end=16146 + _globals['_PARTIALPARSINGENABLEDMSG']._serialized_start=16148 + _globals['_PARTIALPARSINGENABLEDMSG']._serialized_end=16262 + _globals['_PARTIALPARSINGFILE']._serialized_start=16264 + _globals['_PARTIALPARSINGFILE']._serialized_end=16320 + _globals['_PARTIALPARSINGFILEMSG']._serialized_start=16322 + _globals['_PARTIALPARSINGFILEMSG']._serialized_end=16430 + _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_start=16433 + _globals['_INVALIDDISABLEDTARGETINTESTNODE']._serialized_end=16608 + _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_start=16611 + _globals['_INVALIDDISABLEDTARGETINTESTNODEMSG']._serialized_end=16745 + _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_start=16747 + _globals['_UNUSEDRESOURCECONFIGPATH']._serialized_end=16802 + _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_start=16804 + _globals['_UNUSEDRESOURCECONFIGPATHMSG']._serialized_end=16924 + _globals['_SEEDINCREASED']._serialized_start=16926 + _globals['_SEEDINCREASED']._serialized_end=16977 + _globals['_SEEDINCREASEDMSG']._serialized_start=16979 + _globals['_SEEDINCREASEDMSG']._serialized_end=17077 + _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_start=17079 + _globals['_SEEDEXCEEDSLIMITSAMEPATH']._serialized_end=17141 + _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_start=17143 + _globals['_SEEDEXCEEDSLIMITSAMEPATHMSG']._serialized_end=17263 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_start=17265 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGED']._serialized_end=17333 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_start=17336 + _globals['_SEEDEXCEEDSLIMITANDPATHCHANGEDMSG']._serialized_end=17468 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_start=17470 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGED']._serialized_end=17562 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_start=17565 + _globals['_SEEDEXCEEDSLIMITCHECKSUMCHANGEDMSG']._serialized_end=17699 + _globals['_UNUSEDTABLES']._serialized_start=17701 + _globals['_UNUSEDTABLES']._serialized_end=17738 + _globals['_UNUSEDTABLESMSG']._serialized_start=17740 + _globals['_UNUSEDTABLESMSG']._serialized_end=17836 + _globals['_WRONGRESOURCESCHEMAFILE']._serialized_start=17839 + _globals['_WRONGRESOURCESCHEMAFILE']._serialized_end=17974 + _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_start=17976 + _globals['_WRONGRESOURCESCHEMAFILEMSG']._serialized_end=18094 + _globals['_NONODEFORYAMLKEY']._serialized_start=18096 + _globals['_NONODEFORYAMLKEY']._serialized_end=18171 + _globals['_NONODEFORYAMLKEYMSG']._serialized_start=18173 + _globals['_NONODEFORYAMLKEYMSG']._serialized_end=18277 + _globals['_MACRONOTFOUNDFORPATCH']._serialized_start=18279 + _globals['_MACRONOTFOUNDFORPATCH']._serialized_end=18322 + _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_start=18324 + _globals['_MACRONOTFOUNDFORPATCHMSG']._serialized_end=18438 + _globals['_NODENOTFOUNDORDISABLED']._serialized_start=18441 + _globals['_NODENOTFOUNDORDISABLED']._serialized_end=18625 + _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_start=18627 + _globals['_NODENOTFOUNDORDISABLEDMSG']._serialized_end=18743 + _globals['_JINJALOGWARNING']._serialized_start=18745 + _globals['_JINJALOGWARNING']._serialized_end=18817 + _globals['_JINJALOGWARNINGMSG']._serialized_start=18819 + _globals['_JINJALOGWARNINGMSG']._serialized_end=18921 + _globals['_JINJALOGINFO']._serialized_start=18923 + _globals['_JINJALOGINFO']._serialized_end=18992 + _globals['_JINJALOGINFOMSG']._serialized_start=18994 + _globals['_JINJALOGINFOMSG']._serialized_end=19090 + _globals['_JINJALOGDEBUG']._serialized_start=19092 + _globals['_JINJALOGDEBUG']._serialized_end=19162 + _globals['_JINJALOGDEBUGMSG']._serialized_start=19164 + _globals['_JINJALOGDEBUGMSG']._serialized_end=19262 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_start=19265 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLE']._serialized_end=19439 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_start=19442 + _globals['_UNPINNEDREFNEWVERSIONAVAILABLEMSG']._serialized_end=19574 + _globals['_DEPRECATEDMODEL']._serialized_start=19576 + _globals['_DEPRECATEDMODEL']._serialized_end=19662 + _globals['_DEPRECATEDMODELMSG']._serialized_start=19664 + _globals['_DEPRECATEDMODELMSG']._serialized_end=19766 + _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_start=19769 + _globals['_UPCOMINGREFERENCEDEPRECATION']._serialized_end=19967 + _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_start=19970 + _globals['_UPCOMINGREFERENCEDEPRECATIONMSG']._serialized_end=20098 + _globals['_DEPRECATEDREFERENCE']._serialized_start=20101 + _globals['_DEPRECATEDREFERENCE']._serialized_end=20290 + _globals['_DEPRECATEDREFERENCEMSG']._serialized_start=20292 + _globals['_DEPRECATEDREFERENCEMSG']._serialized_end=20402 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_start=20404 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATION']._serialized_end=20464 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_start=20467 + _globals['_UNSUPPORTEDCONSTRAINTMATERIALIZATIONMSG']._serialized_end=20611 + _globals['_PARSEINLINENODEERROR']._serialized_start=20613 + _globals['_PARSEINLINENODEERROR']._serialized_end=20690 + _globals['_PARSEINLINENODEERRORMSG']._serialized_start=20692 + _globals['_PARSEINLINENODEERRORMSG']._serialized_end=20804 + _globals['_SEMANTICVALIDATIONFAILURE']._serialized_start=20806 + _globals['_SEMANTICVALIDATIONFAILURE']._serialized_end=20846 + _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_start=20848 + _globals['_SEMANTICVALIDATIONFAILUREMSG']._serialized_end=20970 + _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_start=20972 + _globals['_GITSPARSECHECKOUTSUBDIRECTORY']._serialized_end=21019 + _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_start=21022 + _globals['_GITSPARSECHECKOUTSUBDIRECTORYMSG']._serialized_end=21152 + _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_start=21154 + _globals['_GITPROGRESSCHECKOUTREVISION']._serialized_end=21201 + _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_start=21203 + _globals['_GITPROGRESSCHECKOUTREVISIONMSG']._serialized_end=21329 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_start=21331 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCY']._serialized_end=21383 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_start=21386 + _globals['_GITPROGRESSUPDATINGEXISTINGDEPENDENCYMSG']._serialized_end=21532 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_start=21534 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCY']._serialized_end=21580 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_start=21583 + _globals['_GITPROGRESSPULLINGNEWDEPENDENCYMSG']._serialized_end=21717 + _globals['_GITNOTHINGTODO']._serialized_start=21719 + _globals['_GITNOTHINGTODO']._serialized_end=21748 + _globals['_GITNOTHINGTODOMSG']._serialized_start=21750 + _globals['_GITNOTHINGTODOMSG']._serialized_end=21850 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_start=21852 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGE']._serialized_end=21921 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_start=21924 + _globals['_GITPROGRESSUPDATEDCHECKOUTRANGEMSG']._serialized_end=22058 + _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_start=22060 + _globals['_GITPROGRESSCHECKEDOUTAT']._serialized_end=22102 + _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_start=22104 + _globals['_GITPROGRESSCHECKEDOUTATMSG']._serialized_end=22222 + _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_start=22224 + _globals['_REGISTRYPROGRESSGETREQUEST']._serialized_end=22265 + _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_start=22267 + _globals['_REGISTRYPROGRESSGETREQUESTMSG']._serialized_end=22391 + _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_start=22393 + _globals['_REGISTRYPROGRESSGETRESPONSE']._serialized_end=22454 + _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_start=22456 + _globals['_REGISTRYPROGRESSGETRESPONSEMSG']._serialized_end=22582 + _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_start=22584 + _globals['_SELECTORREPORTINVALIDSELECTOR']._serialized_end=22679 + _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_start=22682 + _globals['_SELECTORREPORTINVALIDSELECTORMSG']._serialized_end=22812 + _globals['_DEPSNOPACKAGESFOUND']._serialized_start=22814 + _globals['_DEPSNOPACKAGESFOUND']._serialized_end=22835 + _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_start=22837 + _globals['_DEPSNOPACKAGESFOUNDMSG']._serialized_end=22947 + _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_start=22949 + _globals['_DEPSSTARTPACKAGEINSTALL']._serialized_end=22996 + _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_start=22998 + _globals['_DEPSSTARTPACKAGEINSTALLMSG']._serialized_end=23116 + _globals['_DEPSINSTALLINFO']._serialized_start=23118 + _globals['_DEPSINSTALLINFO']._serialized_end=23157 + _globals['_DEPSINSTALLINFOMSG']._serialized_start=23159 + _globals['_DEPSINSTALLINFOMSG']._serialized_end=23261 + _globals['_DEPSUPDATEAVAILABLE']._serialized_start=23263 + _globals['_DEPSUPDATEAVAILABLE']._serialized_end=23308 + _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_start=23310 + _globals['_DEPSUPDATEAVAILABLEMSG']._serialized_end=23420 + _globals['_DEPSUPTODATE']._serialized_start=23422 + _globals['_DEPSUPTODATE']._serialized_end=23436 + _globals['_DEPSUPTODATEMSG']._serialized_start=23438 + _globals['_DEPSUPTODATEMSG']._serialized_end=23534 + _globals['_DEPSLISTSUBDIRECTORY']._serialized_start=23536 + _globals['_DEPSLISTSUBDIRECTORY']._serialized_end=23580 + _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_start=23582 + _globals['_DEPSLISTSUBDIRECTORYMSG']._serialized_end=23694 + _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_start=23696 + _globals['_DEPSNOTIFYUPDATESAVAILABLE']._serialized_end=23742 + _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_start=23744 + _globals['_DEPSNOTIFYUPDATESAVAILABLEMSG']._serialized_end=23868 + _globals['_RETRYEXTERNALCALL']._serialized_start=23870 + _globals['_RETRYEXTERNALCALL']._serialized_end=23919 + _globals['_RETRYEXTERNALCALLMSG']._serialized_start=23921 + _globals['_RETRYEXTERNALCALLMSG']._serialized_end=24027 + _globals['_RECORDRETRYEXCEPTION']._serialized_start=24029 + _globals['_RECORDRETRYEXCEPTION']._serialized_end=24064 + _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_start=24066 + _globals['_RECORDRETRYEXCEPTIONMSG']._serialized_end=24178 + _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_start=24180 + _globals['_REGISTRYINDEXPROGRESSGETREQUEST']._serialized_end=24226 + _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_start=24229 + _globals['_REGISTRYINDEXPROGRESSGETREQUESTMSG']._serialized_end=24363 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_start=24365 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSE']._serialized_end=24431 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_start=24434 + _globals['_REGISTRYINDEXPROGRESSGETRESPONSEMSG']._serialized_end=24570 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_start=24572 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPE']._serialized_end=24622 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_start=24625 + _globals['_REGISTRYRESPONSEUNEXPECTEDTYPEMSG']._serialized_end=24757 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_start=24759 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYS']._serialized_end=24809 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_start=24812 + _globals['_REGISTRYRESPONSEMISSINGTOPKEYSMSG']._serialized_end=24944 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_start=24946 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYS']._serialized_end=24999 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_start=25002 + _globals['_REGISTRYRESPONSEMISSINGNESTEDKEYSMSG']._serialized_end=25140 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_start=25142 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYS']._serialized_end=25193 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_start=25196 + _globals['_REGISTRYRESPONSEEXTRANESTEDKEYSMSG']._serialized_end=25330 + _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_start=25332 + _globals['_DEPSSETDOWNLOADDIRECTORY']._serialized_end=25372 + _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_start=25374 + _globals['_DEPSSETDOWNLOADDIRECTORYMSG']._serialized_end=25494 + _globals['_DEPSUNPINNED']._serialized_start=25496 + _globals['_DEPSUNPINNED']._serialized_end=25541 + _globals['_DEPSUNPINNEDMSG']._serialized_start=25543 + _globals['_DEPSUNPINNEDMSG']._serialized_end=25639 + _globals['_NONODESFORSELECTIONCRITERIA']._serialized_start=25641 + _globals['_NONODESFORSELECTIONCRITERIA']._serialized_end=25688 + _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_start=25690 + _globals['_NONODESFORSELECTIONCRITERIAMSG']._serialized_end=25816 + _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_start=25818 + _globals['_RUNNINGOPERATIONCAUGHTERROR']._serialized_end=25860 + _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_start=25862 + _globals['_RUNNINGOPERATIONCAUGHTERRORMSG']._serialized_end=25988 + _globals['_COMPILECOMPLETE']._serialized_start=25990 + _globals['_COMPILECOMPLETE']._serialized_end=26007 + _globals['_COMPILECOMPLETEMSG']._serialized_start=26009 + _globals['_COMPILECOMPLETEMSG']._serialized_end=26111 + _globals['_FRESHNESSCHECKCOMPLETE']._serialized_start=26113 + _globals['_FRESHNESSCHECKCOMPLETE']._serialized_end=26137 + _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_start=26139 + _globals['_FRESHNESSCHECKCOMPLETEMSG']._serialized_end=26255 + _globals['_SEEDHEADER']._serialized_start=26257 + _globals['_SEEDHEADER']._serialized_end=26285 + _globals['_SEEDHEADERMSG']._serialized_start=26287 + _globals['_SEEDHEADERMSG']._serialized_end=26379 + _globals['_SQLRUNNEREXCEPTION']._serialized_start=26381 + _globals['_SQLRUNNEREXCEPTION']._serialized_end=26432 + _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_start=26434 + _globals['_SQLRUNNEREXCEPTIONMSG']._serialized_end=26542 + _globals['_LOGTESTRESULT']._serialized_start=26545 + _globals['_LOGTESTRESULT']._serialized_end=26713 + _globals['_LOGTESTRESULTMSG']._serialized_start=26715 + _globals['_LOGTESTRESULTMSG']._serialized_end=26813 + _globals['_LOGSTARTLINE']._serialized_start=26815 + _globals['_LOGSTARTLINE']._serialized_end=26922 + _globals['_LOGSTARTLINEMSG']._serialized_start=26924 + _globals['_LOGSTARTLINEMSG']._serialized_end=27020 + _globals['_LOGMODELRESULT']._serialized_start=27023 + _globals['_LOGMODELRESULT']._serialized_end=27172 + _globals['_LOGMODELRESULTMSG']._serialized_start=27174 + _globals['_LOGMODELRESULTMSG']._serialized_end=27274 + _globals['_LOGSNAPSHOTRESULT']._serialized_start=27277 + _globals['_LOGSNAPSHOTRESULT']._serialized_end=27551 + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_start=27509 + _globals['_LOGSNAPSHOTRESULT_CFGENTRY']._serialized_end=27551 + _globals['_LOGSNAPSHOTRESULTMSG']._serialized_start=27553 + _globals['_LOGSNAPSHOTRESULTMSG']._serialized_end=27659 + _globals['_LOGSEEDRESULT']._serialized_start=27662 + _globals['_LOGSEEDRESULT']._serialized_end=27847 + _globals['_LOGSEEDRESULTMSG']._serialized_start=27849 + _globals['_LOGSEEDRESULTMSG']._serialized_end=27947 + _globals['_LOGFRESHNESSRESULT']._serialized_start=27950 + _globals['_LOGFRESHNESSRESULT']._serialized_end=28123 + _globals['_LOGFRESHNESSRESULTMSG']._serialized_start=28125 + _globals['_LOGFRESHNESSRESULTMSG']._serialized_end=28233 + _globals['_LOGCANCELLINE']._serialized_start=28235 + _globals['_LOGCANCELLINE']._serialized_end=28269 + _globals['_LOGCANCELLINEMSG']._serialized_start=28271 + _globals['_LOGCANCELLINEMSG']._serialized_end=28369 + _globals['_DEFAULTSELECTOR']._serialized_start=28371 + _globals['_DEFAULTSELECTOR']._serialized_end=28402 + _globals['_DEFAULTSELECTORMSG']._serialized_start=28404 + _globals['_DEFAULTSELECTORMSG']._serialized_end=28506 + _globals['_NODESTART']._serialized_start=28508 + _globals['_NODESTART']._serialized_end=28561 + _globals['_NODESTARTMSG']._serialized_start=28563 + _globals['_NODESTARTMSG']._serialized_end=28653 + _globals['_NODEFINISHED']._serialized_start=28655 + _globals['_NODEFINISHED']._serialized_end=28758 + _globals['_NODEFINISHEDMSG']._serialized_start=28760 + _globals['_NODEFINISHEDMSG']._serialized_end=28856 + _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_start=28858 + _globals['_QUERYCANCELATIONUNSUPPORTED']._serialized_end=28901 + _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_start=28903 + _globals['_QUERYCANCELATIONUNSUPPORTEDMSG']._serialized_end=29029 + _globals['_CONCURRENCYLINE']._serialized_start=29031 + _globals['_CONCURRENCYLINE']._serialized_end=29110 + _globals['_CONCURRENCYLINEMSG']._serialized_start=29112 + _globals['_CONCURRENCYLINEMSG']._serialized_end=29214 + _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_start=29216 + _globals['_WRITINGINJECTEDSQLFORNODE']._serialized_end=29285 + _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_start=29287 + _globals['_WRITINGINJECTEDSQLFORNODEMSG']._serialized_end=29409 + _globals['_NODECOMPILING']._serialized_start=29411 + _globals['_NODECOMPILING']._serialized_end=29468 + _globals['_NODECOMPILINGMSG']._serialized_start=29470 + _globals['_NODECOMPILINGMSG']._serialized_end=29568 + _globals['_NODEEXECUTING']._serialized_start=29570 + _globals['_NODEEXECUTING']._serialized_end=29627 + _globals['_NODEEXECUTINGMSG']._serialized_start=29629 + _globals['_NODEEXECUTINGMSG']._serialized_end=29727 + _globals['_LOGHOOKSTARTLINE']._serialized_start=29729 + _globals['_LOGHOOKSTARTLINE']._serialized_end=29838 + _globals['_LOGHOOKSTARTLINEMSG']._serialized_start=29840 + _globals['_LOGHOOKSTARTLINEMSG']._serialized_end=29944 + _globals['_LOGHOOKENDLINE']._serialized_start=29947 + _globals['_LOGHOOKENDLINE']._serialized_end=30094 + _globals['_LOGHOOKENDLINEMSG']._serialized_start=30096 + _globals['_LOGHOOKENDLINEMSG']._serialized_end=30196 + _globals['_SKIPPINGDETAILS']._serialized_start=30199 + _globals['_SKIPPINGDETAILS']._serialized_end=30346 + _globals['_SKIPPINGDETAILSMSG']._serialized_start=30348 + _globals['_SKIPPINGDETAILSMSG']._serialized_end=30450 + _globals['_NOTHINGTODO']._serialized_start=30452 + _globals['_NOTHINGTODO']._serialized_end=30465 + _globals['_NOTHINGTODOMSG']._serialized_start=30467 + _globals['_NOTHINGTODOMSG']._serialized_end=30561 + _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_start=30563 + _globals['_RUNNINGOPERATIONUNCAUGHTERROR']._serialized_end=30607 + _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_start=30610 + _globals['_RUNNINGOPERATIONUNCAUGHTERRORMSG']._serialized_end=30740 + _globals['_ENDRUNRESULT']._serialized_start=30743 + _globals['_ENDRUNRESULT']._serialized_end=30890 + _globals['_ENDRUNRESULTMSG']._serialized_start=30892 + _globals['_ENDRUNRESULTMSG']._serialized_end=30988 + _globals['_NONODESSELECTED']._serialized_start=30990 + _globals['_NONODESSELECTED']._serialized_end=31007 + _globals['_NONODESSELECTEDMSG']._serialized_start=31009 + _globals['_NONODESSELECTEDMSG']._serialized_end=31111 + _globals['_COMMANDCOMPLETED']._serialized_start=31113 + _globals['_COMMANDCOMPLETED']._serialized_end=31232 + _globals['_COMMANDCOMPLETEDMSG']._serialized_start=31234 + _globals['_COMMANDCOMPLETEDMSG']._serialized_end=31338 + _globals['_SHOWNODE']._serialized_start=31340 + _globals['_SHOWNODE']._serialized_end=31447 + _globals['_SHOWNODEMSG']._serialized_start=31449 + _globals['_SHOWNODEMSG']._serialized_end=31537 + _globals['_COMPILEDNODE']._serialized_start=31539 + _globals['_COMPILEDNODE']._serialized_end=31651 + _globals['_COMPILEDNODEMSG']._serialized_start=31653 + _globals['_COMPILEDNODEMSG']._serialized_end=31749 + _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_start=31751 + _globals['_CATCHABLEEXCEPTIONONRUN']._serialized_end=31849 + _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_start=31851 + _globals['_CATCHABLEEXCEPTIONONRUNMSG']._serialized_end=31969 + _globals['_INTERNALERRORONRUN']._serialized_start=31971 + _globals['_INTERNALERRORONRUN']._serialized_end=32024 + _globals['_INTERNALERRORONRUNMSG']._serialized_start=32026 + _globals['_INTERNALERRORONRUNMSG']._serialized_end=32134 + _globals['_GENERICEXCEPTIONONRUN']._serialized_start=32136 + _globals['_GENERICEXCEPTIONONRUN']._serialized_end=32211 + _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_start=32213 + _globals['_GENERICEXCEPTIONONRUNMSG']._serialized_end=32327 + _globals['_NODECONNECTIONRELEASEERROR']._serialized_start=32329 + _globals['_NODECONNECTIONRELEASEERROR']._serialized_end=32407 + _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_start=32409 + _globals['_NODECONNECTIONRELEASEERRORMSG']._serialized_end=32533 + _globals['_FOUNDSTATS']._serialized_start=32535 + _globals['_FOUNDSTATS']._serialized_end=32566 + _globals['_FOUNDSTATSMSG']._serialized_start=32568 + _globals['_FOUNDSTATSMSG']._serialized_end=32660 + _globals['_MAINKEYBOARDINTERRUPT']._serialized_start=32662 + _globals['_MAINKEYBOARDINTERRUPT']._serialized_end=32685 + _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_start=32687 + _globals['_MAINKEYBOARDINTERRUPTMSG']._serialized_end=32801 + _globals['_MAINENCOUNTEREDERROR']._serialized_start=32803 + _globals['_MAINENCOUNTEREDERROR']._serialized_end=32838 + _globals['_MAINENCOUNTEREDERRORMSG']._serialized_start=32840 + _globals['_MAINENCOUNTEREDERRORMSG']._serialized_end=32952 + _globals['_MAINSTACKTRACE']._serialized_start=32954 + _globals['_MAINSTACKTRACE']._serialized_end=32991 + _globals['_MAINSTACKTRACEMSG']._serialized_start=32993 + _globals['_MAINSTACKTRACEMSG']._serialized_end=33093 + _globals['_SYSTEMCOULDNOTWRITE']._serialized_start=33095 + _globals['_SYSTEMCOULDNOTWRITE']._serialized_end=33159 + _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_start=33161 + _globals['_SYSTEMCOULDNOTWRITEMSG']._serialized_end=33271 + _globals['_SYSTEMEXECUTINGCMD']._serialized_start=33273 + _globals['_SYSTEMEXECUTINGCMD']._serialized_end=33306 + _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_start=33308 + _globals['_SYSTEMEXECUTINGCMDMSG']._serialized_end=33416 + _globals['_SYSTEMSTDOUT']._serialized_start=33418 + _globals['_SYSTEMSTDOUT']._serialized_end=33446 + _globals['_SYSTEMSTDOUTMSG']._serialized_start=33448 + _globals['_SYSTEMSTDOUTMSG']._serialized_end=33544 + _globals['_SYSTEMSTDERR']._serialized_start=33546 + _globals['_SYSTEMSTDERR']._serialized_end=33574 + _globals['_SYSTEMSTDERRMSG']._serialized_start=33576 + _globals['_SYSTEMSTDERRMSG']._serialized_end=33672 + _globals['_SYSTEMREPORTRETURNCODE']._serialized_start=33674 + _globals['_SYSTEMREPORTRETURNCODE']._serialized_end=33718 + _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_start=33720 + _globals['_SYSTEMREPORTRETURNCODEMSG']._serialized_end=33836 + _globals['_TIMINGINFOCOLLECTED']._serialized_start=33838 + _globals['_TIMINGINFOCOLLECTED']._serialized_end=33950 + _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_start=33952 + _globals['_TIMINGINFOCOLLECTEDMSG']._serialized_end=34062 + _globals['_LOGDEBUGSTACKTRACE']._serialized_start=34064 + _globals['_LOGDEBUGSTACKTRACE']._serialized_end=34102 + _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_start=34104 + _globals['_LOGDEBUGSTACKTRACEMSG']._serialized_end=34212 + _globals['_CHECKCLEANPATH']._serialized_start=34214 + _globals['_CHECKCLEANPATH']._serialized_end=34244 + _globals['_CHECKCLEANPATHMSG']._serialized_start=34246 + _globals['_CHECKCLEANPATHMSG']._serialized_end=34346 + _globals['_CONFIRMCLEANPATH']._serialized_start=34348 + _globals['_CONFIRMCLEANPATH']._serialized_end=34380 + _globals['_CONFIRMCLEANPATHMSG']._serialized_start=34382 + _globals['_CONFIRMCLEANPATHMSG']._serialized_end=34486 + _globals['_PROTECTEDCLEANPATH']._serialized_start=34488 + _globals['_PROTECTEDCLEANPATH']._serialized_end=34522 + _globals['_PROTECTEDCLEANPATHMSG']._serialized_start=34524 + _globals['_PROTECTEDCLEANPATHMSG']._serialized_end=34632 + _globals['_FINISHEDCLEANPATHS']._serialized_start=34634 + _globals['_FINISHEDCLEANPATHS']._serialized_end=34654 + _globals['_FINISHEDCLEANPATHSMSG']._serialized_start=34656 + _globals['_FINISHEDCLEANPATHSMSG']._serialized_end=34764 + _globals['_OPENCOMMAND']._serialized_start=34766 + _globals['_OPENCOMMAND']._serialized_end=34819 + _globals['_OPENCOMMANDMSG']._serialized_start=34821 + _globals['_OPENCOMMANDMSG']._serialized_end=34915 + _globals['_FORMATTING']._serialized_start=34917 + _globals['_FORMATTING']._serialized_end=34942 + _globals['_FORMATTINGMSG']._serialized_start=34944 + _globals['_FORMATTINGMSG']._serialized_end=35036 + _globals['_SERVINGDOCSPORT']._serialized_start=35038 + _globals['_SERVINGDOCSPORT']._serialized_end=35086 + _globals['_SERVINGDOCSPORTMSG']._serialized_start=35088 + _globals['_SERVINGDOCSPORTMSG']._serialized_end=35190 + _globals['_SERVINGDOCSACCESSINFO']._serialized_start=35192 + _globals['_SERVINGDOCSACCESSINFO']._serialized_end=35229 + _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_start=35231 + _globals['_SERVINGDOCSACCESSINFOMSG']._serialized_end=35345 + _globals['_SERVINGDOCSEXITINFO']._serialized_start=35347 + _globals['_SERVINGDOCSEXITINFO']._serialized_end=35368 + _globals['_SERVINGDOCSEXITINFOMSG']._serialized_start=35370 + _globals['_SERVINGDOCSEXITINFOMSG']._serialized_end=35480 + _globals['_RUNRESULTWARNING']._serialized_start=35482 + _globals['_RUNRESULTWARNING']._serialized_end=35556 + _globals['_RUNRESULTWARNINGMSG']._serialized_start=35558 + _globals['_RUNRESULTWARNINGMSG']._serialized_end=35662 + _globals['_RUNRESULTFAILURE']._serialized_start=35664 + _globals['_RUNRESULTFAILURE']._serialized_end=35738 + _globals['_RUNRESULTFAILUREMSG']._serialized_start=35740 + _globals['_RUNRESULTFAILUREMSG']._serialized_end=35844 + _globals['_STATSLINE']._serialized_start=35846 + _globals['_STATSLINE']._serialized_end=35953 + _globals['_STATSLINE_STATSENTRY']._serialized_start=35909 + _globals['_STATSLINE_STATSENTRY']._serialized_end=35953 + _globals['_STATSLINEMSG']._serialized_start=35955 + _globals['_STATSLINEMSG']._serialized_end=36045 + _globals['_RUNRESULTERROR']._serialized_start=36047 + _globals['_RUNRESULTERROR']._serialized_end=36076 + _globals['_RUNRESULTERRORMSG']._serialized_start=36078 + _globals['_RUNRESULTERRORMSG']._serialized_end=36178 + _globals['_RUNRESULTERRORNOMESSAGE']._serialized_start=36180 + _globals['_RUNRESULTERRORNOMESSAGE']._serialized_end=36221 + _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_start=36223 + _globals['_RUNRESULTERRORNOMESSAGEMSG']._serialized_end=36341 + _globals['_SQLCOMPILEDPATH']._serialized_start=36343 + _globals['_SQLCOMPILEDPATH']._serialized_end=36374 + _globals['_SQLCOMPILEDPATHMSG']._serialized_start=36376 + _globals['_SQLCOMPILEDPATHMSG']._serialized_end=36478 + _globals['_CHECKNODETESTFAILURE']._serialized_start=36480 + _globals['_CHECKNODETESTFAILURE']._serialized_end=36525 + _globals['_CHECKNODETESTFAILUREMSG']._serialized_start=36527 + _globals['_CHECKNODETESTFAILUREMSG']._serialized_end=36639 + _globals['_ENDOFRUNSUMMARY']._serialized_start=36641 + _globals['_ENDOFRUNSUMMARY']._serialized_end=36728 + _globals['_ENDOFRUNSUMMARYMSG']._serialized_start=36730 + _globals['_ENDOFRUNSUMMARYMSG']._serialized_end=36832 + _globals['_LOGSKIPBECAUSEERROR']._serialized_start=36834 + _globals['_LOGSKIPBECAUSEERROR']._serialized_end=36919 + _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_start=36921 + _globals['_LOGSKIPBECAUSEERRORMSG']._serialized_end=37031 + _globals['_ENSUREGITINSTALLED']._serialized_start=37033 + _globals['_ENSUREGITINSTALLED']._serialized_end=37053 + _globals['_ENSUREGITINSTALLEDMSG']._serialized_start=37055 + _globals['_ENSUREGITINSTALLEDMSG']._serialized_end=37163 + _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_start=37165 + _globals['_DEPSCREATINGLOCALSYMLINK']._serialized_end=37191 + _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_start=37193 + _globals['_DEPSCREATINGLOCALSYMLINKMSG']._serialized_end=37313 + _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_start=37315 + _globals['_DEPSSYMLINKNOTAVAILABLE']._serialized_end=37340 + _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_start=37342 + _globals['_DEPSSYMLINKNOTAVAILABLEMSG']._serialized_end=37460 + _globals['_DISABLETRACKING']._serialized_start=37462 + _globals['_DISABLETRACKING']._serialized_end=37479 + _globals['_DISABLETRACKINGMSG']._serialized_start=37481 + _globals['_DISABLETRACKINGMSG']._serialized_end=37583 + _globals['_SENDINGEVENT']._serialized_start=37585 + _globals['_SENDINGEVENT']._serialized_end=37615 + _globals['_SENDINGEVENTMSG']._serialized_start=37617 + _globals['_SENDINGEVENTMSG']._serialized_end=37713 + _globals['_SENDEVENTFAILURE']._serialized_start=37715 + _globals['_SENDEVENTFAILURE']._serialized_end=37733 + _globals['_SENDEVENTFAILUREMSG']._serialized_start=37735 + _globals['_SENDEVENTFAILUREMSG']._serialized_end=37839 + _globals['_FLUSHEVENTS']._serialized_start=37841 + _globals['_FLUSHEVENTS']._serialized_end=37854 + _globals['_FLUSHEVENTSMSG']._serialized_start=37856 + _globals['_FLUSHEVENTSMSG']._serialized_end=37950 + _globals['_FLUSHEVENTSFAILURE']._serialized_start=37952 + _globals['_FLUSHEVENTSFAILURE']._serialized_end=37972 + _globals['_FLUSHEVENTSFAILUREMSG']._serialized_start=37974 + _globals['_FLUSHEVENTSFAILUREMSG']._serialized_end=38082 + _globals['_TRACKINGINITIALIZEFAILURE']._serialized_start=38084 + _globals['_TRACKINGINITIALIZEFAILURE']._serialized_end=38129 + _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_start=38131 + _globals['_TRACKINGINITIALIZEFAILUREMSG']._serialized_end=38253 + _globals['_RUNRESULTWARNINGMESSAGE']._serialized_start=38255 + _globals['_RUNRESULTWARNINGMESSAGE']._serialized_end=38293 + _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_start=38295 + _globals['_RUNRESULTWARNINGMESSAGEMSG']._serialized_end=38413 + _globals['_DEBUGCMDOUT']._serialized_start=38415 + _globals['_DEBUGCMDOUT']._serialized_end=38441 + _globals['_DEBUGCMDOUTMSG']._serialized_start=38443 + _globals['_DEBUGCMDOUTMSG']._serialized_end=38537 + _globals['_DEBUGCMDRESULT']._serialized_start=38539 + _globals['_DEBUGCMDRESULT']._serialized_end=38568 + _globals['_DEBUGCMDRESULTMSG']._serialized_start=38570 + _globals['_DEBUGCMDRESULTMSG']._serialized_end=38670 + _globals['_LISTCMDOUT']._serialized_start=38672 + _globals['_LISTCMDOUT']._serialized_end=38697 + _globals['_LISTCMDOUTMSG']._serialized_start=38699 + _globals['_LISTCMDOUTMSG']._serialized_end=38791 + _globals['_NOTE']._serialized_start=38793 + _globals['_NOTE']._serialized_end=38812 + _globals['_NOTEMSG']._serialized_start=38814 + _globals['_NOTEMSG']._serialized_end=38894 # @@protoc_insertion_point(module_scope) diff --git a/core/dbt/flags.py b/core/dbt/flags.py index 891d510f2e1..241189f556a 100644 --- a/core/dbt/flags.py +++ b/core/dbt/flags.py @@ -39,23 +39,24 @@ def get_flags(): return GLOBAL_FLAGS -def set_from_args(args: Namespace, user_config): +def set_from_args(args: Namespace, project_flags): global GLOBAL_FLAGS from dbt.cli.main import cli from dbt.cli.flags import Flags, convert_config - # we set attributes of args after initialize the flags, but user_config + # we set attributes of args after initialize the flags, but project_flags # is being read in the Flags constructor, so we need to read it here and pass in - # to make sure we use the correct user_config - if (hasattr(args, "PROFILES_DIR") or hasattr(args, "profiles_dir")) and not user_config: - from dbt.config.profile import read_user_config + # to make sure we use the correct project_flags + profiles_dir = getattr(args, "PROFILES_DIR", None) or getattr(args, "profiles_dir", None) + project_dir = getattr(args, "PROJECT_DIR", None) or getattr(args, "project_dir", None) + if profiles_dir and project_dir: + from dbt.config.project import read_project_flags - profiles_dir = getattr(args, "PROFILES_DIR", None) or getattr(args, "profiles_dir") - user_config = read_user_config(profiles_dir) + project_flags = read_project_flags(project_dir, profiles_dir) # make a dummy context to get the flags, totally arbitrary ctx = cli.make_context("run", ["run"]) - flags = Flags(ctx, user_config) + flags = Flags(ctx, project_flags) for arg_name, args_param_value in vars(args).items(): args_param_value = convert_config(arg_name, args_param_value) object.__setattr__(flags, arg_name.upper(), args_param_value) diff --git a/core/dbt/include/starter_project/dbt_project.yml b/core/dbt/include/starter_project/dbt_project.yml index 630001eed2f..c7e1fcdb0ef 100644 --- a/core/dbt/include/starter_project/dbt_project.yml +++ b/core/dbt/include/starter_project/dbt_project.yml @@ -4,7 +4,6 @@ # name or the intended use of these models name: '{project_name}' version: '1.0.0' -config-version: 2 # This setting configures which "profile" dbt uses for this project. profile: '{profile_name}' diff --git a/core/dbt/tests/fixtures/project.py b/core/dbt/tests/fixtures/project.py index 1b7ef899bd0..8ea01050367 100644 --- a/core/dbt/tests/fixtures/project.py +++ b/core/dbt/tests/fixtures/project.py @@ -142,7 +142,6 @@ def profiles_config_update(): @pytest.fixture(scope="class") def dbt_profile_data(unique_schema, dbt_profile_target, profiles_config_update): profile = { - "config": {"send_anonymous_usage_stats": False}, "test": { "outputs": { "default": {}, @@ -181,6 +180,7 @@ def dbt_project_yml(project_root, project_config_update): project_config = { "name": "test", "profile": "test", + "flags": {"send_anonymous_usage_stats": False}, } if project_config_update: if isinstance(project_config_update, dict): diff --git a/core/dbt/tracking.py b/core/dbt/tracking.py index f7c0a2a7d19..c4d6967a22e 100644 --- a/core/dbt/tracking.py +++ b/core/dbt/tracking.py @@ -471,7 +471,6 @@ def process(self, record): def initialize_from_flags(send_anonymous_usage_stats, profiles_dir): - # Setting these used to be in UserConfig, but had to be moved here global active_user if send_anonymous_usage_stats: active_user = User(profiles_dir) diff --git a/core/dbt/utils.py b/core/dbt/utils.py index 61b16ccc36c..364e9bb275a 100644 --- a/core/dbt/utils.py +++ b/core/dbt/utils.py @@ -623,7 +623,7 @@ def _connection_exception_retry(fn, max_attempts: int, attempt: int = 0): def args_to_dict(args): var_args = vars(args).copy() # update the args with the flags, which could also come from environment - # variables or user_config + # variables or project_flags flag_dict = flags.get_flag_dict() var_args.update(flag_dict) dict_args = {} diff --git a/tests/functional/basic/test_mixed_case_db.py b/tests/functional/basic/test_mixed_case_db.py index 19b2077cede..13519cc4bb4 100644 --- a/tests/functional/basic/test_mixed_case_db.py +++ b/tests/functional/basic/test_mixed_case_db.py @@ -16,7 +16,6 @@ def models(): def dbt_profile_data(unique_schema): return { - "config": {"send_anonymous_usage_stats": False}, "test": { "outputs": { "default": { diff --git a/tests/functional/basic/test_project.py b/tests/functional/basic/test_project.py index 080c5d591d0..6602c5e300f 100644 --- a/tests/functional/basic/test_project.py +++ b/tests/functional/basic/test_project.py @@ -77,11 +77,16 @@ def test_dbt_cloud(self, project): conf = yaml.safe_load( Path(os.path.join(project.project_root, "dbt_project.yml")).read_text() ) - assert conf == {"name": "test", "profile": "test"} + assert conf == { + "name": "test", + "profile": "test", + "flags": {"send_anonymous_usage_stats": False}, + } config = { "name": "test", "profile": "test", + "flags": {"send_anonymous_usage_stats": False}, "dbt-cloud": { "account_id": "123", "application": "test", diff --git a/tests/functional/configs/test_disabled_configs.py b/tests/functional/configs/test_disabled_configs.py index ee56a39a867..0d7cff755d8 100644 --- a/tests/functional/configs/test_disabled_configs.py +++ b/tests/functional/configs/test_disabled_configs.py @@ -9,7 +9,6 @@ class TestDisabledConfigs(BaseConfigProject): @pytest.fixture(scope="class") def dbt_profile_data(self, unique_schema): return { - "config": {"send_anonymous_usage_stats": False}, "test": { "outputs": { "default": { diff --git a/tests/functional/dependencies/test_local_dependency.py b/tests/functional/dependencies/test_local_dependency.py index c7a9f01cc0a..8ec26fe645c 100644 --- a/tests/functional/dependencies/test_local_dependency.py +++ b/tests/functional/dependencies/test_local_dependency.py @@ -253,6 +253,10 @@ class TestSimpleDependencyNoVersionCheckConfig(BaseDependencyTest): @pytest.fixture(scope="class") def project_config_update(self): return { + "flags": { + "send_anonymous_usage_stats": False, + "version_check": False, + }, "models": { "schema": "dbt_test", }, @@ -261,15 +265,6 @@ def project_config_update(self): }, } - @pytest.fixture(scope="class") - def profiles_config_update(self): - return { - "config": { - "send_anonymous_usage_stats": False, - "version_check": False, - } - } - @pytest.fixture(scope="class") def macros(self): return {"macro.sql": macros__macro_override_schema_sql} diff --git a/tests/functional/deprecations/test_deprecations.py b/tests/functional/deprecations/test_deprecations.py index 6c2678433b0..68430ff4b8b 100644 --- a/tests/functional/deprecations/test_deprecations.py +++ b/tests/functional/deprecations/test_deprecations.py @@ -2,7 +2,8 @@ from dbt import deprecations import dbt.exceptions -from dbt.tests.util import run_dbt +from dbt.tests.util import run_dbt, write_file +import yaml models__already_exists_sql = """ @@ -157,3 +158,31 @@ def test_exposure_name_fail(self, project): exc_str = " ".join(str(exc.value).split()) # flatten all whitespace expected_msg = "Starting in v1.3, the 'name' of an exposure should contain only letters, numbers, and underscores." assert expected_msg in exc_str + + +class TestPrjectFlagsMovedDeprecation: + @pytest.fixture(scope="class") + def profiles_config_update(self): + return { + "config": {"send_anonymous_usage_stats": False}, + } + + @pytest.fixture(scope="class") + def dbt_project_yml(self, project_root, project_config_update): + project_config = { + "name": "test", + "profile": "test", + } + write_file(yaml.safe_dump(project_config), project_root, "dbt_project.yml") + return project_config + + @pytest.fixture(scope="class") + def models(self): + return {"my_model.sql": "select 1 as fun"} + + def test_profile_config_deprecation(self, project): + deprecations.reset_deprecations() + assert deprecations.active_deprecations == set() + run_dbt(["parse"]) + expected = {"project-flags-moved"} + assert expected == deprecations.active_deprecations diff --git a/tests/functional/fail_fast/test_fail_fast_run.py b/tests/functional/fail_fast/test_fail_fast_run.py index ea956a2d540..457d620cd8d 100644 --- a/tests/functional/fail_fast/test_fail_fast_run.py +++ b/tests/functional/fail_fast/test_fail_fast_run.py @@ -44,15 +44,15 @@ def test_fail_fast_run( class TestFailFastFromConfig(FailFastBase): @pytest.fixture(scope="class") - def profiles_config_update(self): + def project_config_update(self): return { - "config": { + "flags": { "send_anonymous_usage_stats": False, "fail_fast": True, } } - def test_fail_fast_run_user_config( + def test_fail_fast_run_project_flags( self, project, models, # noqa: F811 diff --git a/tests/functional/init/test_init.py b/tests/functional/init/test_init.py index 8c0444bd0b2..6fdfb11254f 100644 --- a/tests/functional/init/test_init.py +++ b/tests/functional/init/test_init.py @@ -67,9 +67,7 @@ def test_init_task_in_project_with_existing_profiles_yml( with open(os.path.join(project.profiles_dir, "profiles.yml"), "r") as f: assert ( f.read() - == """config: - send_anonymous_usage_stats: false -test: + == """test: outputs: dev: dbname: test_db @@ -369,9 +367,7 @@ def test_init_task_in_project_with_invalid_profile_template( with open(os.path.join(project.profiles_dir, "profiles.yml"), "r") as f: assert ( f.read() - == """config: - send_anonymous_usage_stats: false -test: + == """test: outputs: dev: dbname: test_db @@ -408,7 +404,6 @@ class TestInitOutsideOfProject(TestInitOutsideOfProjectBase): @pytest.fixture(scope="class") def dbt_profile_data(self, unique_schema): return { - "config": {"send_anonymous_usage_stats": False}, "test": { "outputs": { "default2": { @@ -491,9 +486,7 @@ def test_init_task_outside_of_project( with open(os.path.join(project.profiles_dir, "profiles.yml"), "r") as f: assert ( f.read() - == f"""config: - send_anonymous_usage_stats: false -{project_name}: + == f"""{project_name}: outputs: dev: dbname: test_db @@ -538,7 +531,6 @@ def test_init_task_outside_of_project( # name or the intended use of these models name: '{project_name}' version: '1.0.0' -config-version: 2 # This setting configures which "profile" dbt uses for this project. profile: '{project_name}' @@ -657,7 +649,6 @@ def test_init_provided_project_name_and_skip_profile_setup( # name or the intended use of these models name: '{project_name}' version: '1.0.0' -config-version: 2 # This setting configures which "profile" dbt uses for this project. profile: '{project_name}' diff --git a/tests/functional/materializations/conftest.py b/tests/functional/materializations/conftest.py index b808c1a6a7b..8441e72c0b2 100644 --- a/tests/functional/materializations/conftest.py +++ b/tests/functional/materializations/conftest.py @@ -325,6 +325,21 @@ {%- endmaterialization -%} """ +custom_materialization_dep__dbt_project_yml = """ +name: custom_materialization_default +macro-paths: ['macros'] +""" + +custom_materialization_sql = """ +{% materialization custom_materialization, default %} + {%- set target_relation = this.incorporate(type='table') %} + {% call statement('main') -%} + select 1 as column1 + {%- endcall %} + {{ return({'relations': [target_relation]}) }} +{% endmaterialization %} +""" + @pytest.fixture(scope="class") def override_view_adapter_pass_dep(project_root): @@ -368,3 +383,12 @@ def override_view_return_no_relation(project_root): }, } write_project_files(project_root, "override-view-return-no-relation", files) + + +@pytest.fixture(scope="class") +def custom_materialization_dep(project_root): + files = { + "dbt_project.yml": custom_materialization_dep__dbt_project_yml, + "macros": {"custom_materialization.sql": custom_materialization_sql}, + } + write_project_files(project_root, "custom-materialization-dep", files) diff --git a/tests/functional/materializations/test_custom_materialization.py b/tests/functional/materializations/test_custom_materialization.py index 838eb68bb01..2c3ec4e74c2 100644 --- a/tests/functional/materializations/test_custom_materialization.py +++ b/tests/functional/materializations/test_custom_materialization.py @@ -1,7 +1,7 @@ import pytest from dbt.tests.util import run_dbt - +from dbt import deprecations models__model_sql = """ {{ config(materialized='view') }} @@ -10,11 +10,24 @@ """ +models_custom_materialization__model_sql = """ +{{ config(materialized='custom_materialization') }} +select 1 as id + +""" + + @pytest.fixture(scope="class") def models(): return {"model.sql": models__model_sql} +@pytest.fixture(scope="class") +def set_up_deprecations(): + deprecations.reset_deprecations() + assert deprecations.active_deprecations == set() + + class TestOverrideAdapterDependency: # make sure that if there's a dependency with an adapter-specific # materialization, we honor that materialization @@ -22,22 +35,171 @@ class TestOverrideAdapterDependency: def packages(self): return {"packages": [{"local": "override-view-adapter-dep"}]} - def test_adapter_dependency(self, project, override_view_adapter_dep): + def test_adapter_dependency(self, project, override_view_adapter_dep, set_up_deprecations): + run_dbt(["deps"]) + # this should error because the override is buggy + run_dbt(["run"], expect_pass=False) + + # overriding a built-in materialization scoped to adapter from package is deprecated + assert deprecations.active_deprecations == {"package-materialization-override"} + + +class TestOverrideAdapterDependencyDeprecated: + # make sure that if there's a dependency with an adapter-specific + # materialization, we honor that materialization + @pytest.fixture(scope="class") + def packages(self): + return {"packages": [{"local": "override-view-adapter-dep"}]} + + @pytest.fixture(scope="class") + def project_config_update(self): + return { + "flags": { + "require_explicit_package_overrides_for_builtin_materializations": True, + }, + } + + def test_adapter_dependency_deprecate_overrides( + self, project, override_view_adapter_dep, set_up_deprecations + ): + run_dbt(["deps"]) + # this should pass because the override is buggy and unused + run_dbt(["run"]) + + # no deprecation warning -- flag used correctly + assert deprecations.active_deprecations == set() + + +class TestOverrideAdapterDependencyLegacy: + # make sure that if there's a dependency with an adapter-specific + # materialization, we honor that materialization + @pytest.fixture(scope="class") + def packages(self): + return {"packages": [{"local": "override-view-adapter-dep"}]} + + @pytest.fixture(scope="class") + def project_config_update(self): + return { + "flags": { + "require_explicit_package_overrides_for_builtin_materializations": False, + }, + } + + def test_adapter_dependency(self, project, override_view_adapter_dep, set_up_deprecations): run_dbt(["deps"]) # this should error because the override is buggy run_dbt(["run"], expect_pass=False) + # overriding a built-in materialization scoped to adapter from package is deprecated + assert deprecations.active_deprecations == {"package-materialization-override"} + class TestOverrideDefaultDependency: @pytest.fixture(scope="class") def packages(self): return {"packages": [{"local": "override-view-default-dep"}]} - def test_default_dependency(self, project, override_view_default_dep): + def test_default_dependency(self, project, override_view_default_dep, set_up_deprecations): + run_dbt(["deps"]) + # this should error because the override is buggy + run_dbt(["run"], expect_pass=False) + + # overriding a built-in materialization from package is deprecated + assert deprecations.active_deprecations == {"package-materialization-override"} + + +class TestOverrideDefaultDependencyDeprecated: + @pytest.fixture(scope="class") + def packages(self): + return {"packages": [{"local": "override-view-default-dep"}]} + + @pytest.fixture(scope="class") + def project_config_update(self): + return { + "flags": { + "require_explicit_package_overrides_for_builtin_materializations": True, + }, + } + + def test_default_dependency_deprecated( + self, project, override_view_default_dep, set_up_deprecations + ): + run_dbt(["deps"]) + # this should pass because the override is buggy and unused + run_dbt(["run"]) + + # overriding a built-in materialization from package is deprecated + assert deprecations.active_deprecations == set() + + +class TestOverrideDefaultDependencyLegacy: + @pytest.fixture(scope="class") + def packages(self): + return {"packages": [{"local": "override-view-default-dep"}]} + + @pytest.fixture(scope="class") + def project_config_update(self): + return { + "flags": { + "require_explicit_package_overrides_for_builtin_materializations": False, + }, + } + + def test_default_dependency(self, project, override_view_default_dep, set_up_deprecations): + run_dbt(["deps"]) + # this should error because the override is buggy + run_dbt(["run"], expect_pass=False) + + # overriding a built-in materialization from package is deprecated + assert deprecations.active_deprecations == {"package-materialization-override"} + + +root_view_override_macro = """ +{% materialization view, default %} + {{ return(view_default_override.materialization_view_default()) }} +{% endmaterialization %} +""" + + +class TestOverrideDefaultDependencyRootOverride: + @pytest.fixture(scope="class") + def packages(self): + return {"packages": [{"local": "override-view-default-dep"}]} + + @pytest.fixture(scope="class") + def macros(self): + return {"my_view.sql": root_view_override_macro} + + def test_default_dependency_with_root_override( + self, project, override_view_default_dep, set_up_deprecations + ): run_dbt(["deps"]) # this should error because the override is buggy run_dbt(["run"], expect_pass=False) + # using an package-overriden built-in materialization in a root matereialization is _not_ deprecated + assert deprecations.active_deprecations == set() + + +class TestCustomMaterializationDependency: + @pytest.fixture(scope="class") + def models(self): + return {"model.sql": models_custom_materialization__model_sql} + + @pytest.fixture(scope="class") + def packages(self): + return {"packages": [{"local": "custom-materialization-dep"}]} + + def test_custom_materialization_deopendency( + self, project, custom_materialization_dep, set_up_deprecations + ): + run_dbt(["deps"]) + # custom materilization is valid + run_dbt(["run"]) + + # using a custom materialization is from an installed package is _not_ deprecated + assert deprecations.active_deprecations == set() + class TestOverrideAdapterDependencyPassing: @pytest.fixture(scope="class") diff --git a/tests/functional/metrics/test_metric_deferral.py b/tests/functional/metrics/test_metric_deferral.py index 620c8dba25f..8803bf249da 100644 --- a/tests/functional/metrics/test_metric_deferral.py +++ b/tests/functional/metrics/test_metric_deferral.py @@ -23,7 +23,6 @@ def setup(self, project): @pytest.fixture(scope="class") def dbt_profile_data(self, unique_schema): return { - "config": {"send_anonymous_usage_stats": False}, "test": { "outputs": { "default": { diff --git a/tests/functional/run_operations/test_run_operations.py b/tests/functional/run_operations/test_run_operations.py index aa6d908b8ce..c713c8d1939 100644 --- a/tests/functional/run_operations/test_run_operations.py +++ b/tests/functional/run_operations/test_run_operations.py @@ -28,7 +28,6 @@ def macros(self): @pytest.fixture(scope="class") def dbt_profile_data(self, unique_schema): return { - "config": {"send_anonymous_usage_stats": False}, "test": { "outputs": { "default": { diff --git a/tests/unit/test_cli_flags.py b/tests/unit/test_cli_flags.py index 83c0e251deb..c7fcd92e128 100644 --- a/tests/unit/test_cli_flags.py +++ b/tests/unit/test_cli_flags.py @@ -9,7 +9,7 @@ from dbt.cli.flags import Flags from dbt.cli.main import cli from dbt.cli.types import Command -from dbt.contracts.project import UserConfig +from dbt.contracts.project import ProjectFlags from dbt.exceptions import DbtInternalError from dbt.helper_types import WarnErrorOptions from dbt.tests.util import rm_file, write_file @@ -27,8 +27,8 @@ def run_context(self) -> click.Context: return self.make_dbt_context("run", ["run"]) @pytest.fixture - def user_config(self) -> UserConfig: - return UserConfig() + def project_flags(self) -> ProjectFlags: + return ProjectFlags() def test_which(self, run_context): flags = Flags(run_context) @@ -110,35 +110,35 @@ def test_anonymous_usage_state( flags = Flags(run_context) assert flags.SEND_ANONYMOUS_USAGE_STATS == expected_anonymous_usage_stats - def test_empty_user_config_uses_default(self, run_context, user_config): - flags = Flags(run_context, user_config) + def test_empty_project_flags_uses_default(self, run_context, project_flags): + flags = Flags(run_context, project_flags) assert flags.USE_COLORS == run_context.params["use_colors"] - def test_none_user_config_uses_default(self, run_context): + def test_none_project_flags_uses_default(self, run_context): flags = Flags(run_context, None) assert flags.USE_COLORS == run_context.params["use_colors"] - def test_prefer_user_config_to_default(self, run_context, user_config): - user_config.use_colors = False + def test_prefer_project_flags_to_default(self, run_context, project_flags): + project_flags.use_colors = False # ensure default value is not the same as user config - assert run_context.params["use_colors"] is not user_config.use_colors + assert run_context.params["use_colors"] is not project_flags.use_colors - flags = Flags(run_context, user_config) - assert flags.USE_COLORS == user_config.use_colors + flags = Flags(run_context, project_flags) + assert flags.USE_COLORS == project_flags.use_colors - def test_prefer_param_value_to_user_config(self): - user_config = UserConfig(use_colors=False) + def test_prefer_param_value_to_project_flags(self): + project_flags = ProjectFlags(use_colors=False) context = self.make_dbt_context("run", ["--use-colors", "True", "run"]) - flags = Flags(context, user_config) + flags = Flags(context, project_flags) assert flags.USE_COLORS - def test_prefer_env_to_user_config(self, monkeypatch, user_config): - user_config.use_colors = False + def test_prefer_env_to_project_flags(self, monkeypatch, project_flags): + project_flags.use_colors = False monkeypatch.setenv("DBT_USE_COLORS", "True") context = self.make_dbt_context("run", ["run"]) - flags = Flags(context, user_config) + flags = Flags(context, project_flags) assert flags.USE_COLORS def test_mutually_exclusive_options_passed_separately(self): @@ -163,14 +163,14 @@ def test_mutually_exclusive_options_from_cli(self): Flags(context) @pytest.mark.parametrize("warn_error", [True, False]) - def test_mutually_exclusive_options_from_user_config(self, warn_error, user_config): - user_config.warn_error = warn_error + def test_mutually_exclusive_options_from_project_flags(self, warn_error, project_flags): + project_flags.warn_error = warn_error context = self.make_dbt_context( "run", ["--warn-error-options", '{"include": "all"}', "run"] ) with pytest.raises(DbtUsageException): - Flags(context, user_config) + Flags(context, project_flags) @pytest.mark.parametrize("warn_error", ["True", "False"]) def test_mutually_exclusive_options_from_envvar(self, warn_error, monkeypatch): @@ -182,14 +182,16 @@ def test_mutually_exclusive_options_from_envvar(self, warn_error, monkeypatch): Flags(context) @pytest.mark.parametrize("warn_error", [True, False]) - def test_mutually_exclusive_options_from_cli_and_user_config(self, warn_error, user_config): - user_config.warn_error = warn_error + def test_mutually_exclusive_options_from_cli_and_project_flags( + self, warn_error, project_flags + ): + project_flags.warn_error = warn_error context = self.make_dbt_context( "run", ["--warn-error-options", '{"include": "all"}', "run"] ) with pytest.raises(DbtUsageException): - Flags(context, user_config) + Flags(context, project_flags) @pytest.mark.parametrize("warn_error", ["True", "False"]) def test_mutually_exclusive_options_from_cli_and_envvar(self, warn_error, monkeypatch): @@ -202,15 +204,15 @@ def test_mutually_exclusive_options_from_cli_and_envvar(self, warn_error, monkey Flags(context) @pytest.mark.parametrize("warn_error", ["True", "False"]) - def test_mutually_exclusive_options_from_user_config_and_envvar( - self, user_config, warn_error, monkeypatch + def test_mutually_exclusive_options_from_project_flags_and_envvar( + self, project_flags, warn_error, monkeypatch ): - user_config.warn_error = warn_error + project_flags.warn_error = warn_error monkeypatch.setenv("DBT_WARN_ERROR_OPTIONS", '{"include": "all"}') context = self.make_dbt_context("run", ["run"]) with pytest.raises(DbtUsageException): - Flags(context, user_config) + Flags(context, project_flags) @pytest.mark.parametrize( "cli_colors,cli_colors_file,flag_colors,flag_colors_file", @@ -319,10 +321,10 @@ def test_log_format_interaction( assert flags.LOG_FORMAT_FILE == flag_log_format_file def test_log_settings_from_config(self): - """Test that values set in UserConfig for log settings will set flags as expected""" + """Test that values set in ProjectFlags for log settings will set flags as expected""" context = self.make_dbt_context("run", ["run"]) - config = UserConfig(log_format="json", log_level="warn", use_colors=False) + config = ProjectFlags(log_format="json", log_level="warn", use_colors=False) flags = Flags(context, config) @@ -334,11 +336,11 @@ def test_log_settings_from_config(self): assert flags.USE_COLORS_FILE is False def test_log_file_settings_from_config(self): - """Test that values set in UserConfig for log *file* settings will set flags as expected, leaving the console + """Test that values set in ProjectFlags for log *file* settings will set flags as expected, leaving the console logging flags with their default values""" context = self.make_dbt_context("run", ["run"]) - config = UserConfig(log_format_file="json", log_level_file="warn", use_colors_file=False) + config = ProjectFlags(log_format_file="json", log_level_file="warn", use_colors_file=False) flags = Flags(context, config) @@ -369,6 +371,14 @@ def test_global_flag_at_child_context(self): assert flags_a.USE_COLORS == flags_b.USE_COLORS + def test_set_project_only_flags(self, project_flags, run_context): + flags = Flags(run_context, project_flags) + + for project_only_flag, project_only_flag_value in project_flags.project_only_flags.items(): + assert getattr(flags, project_only_flag) == project_only_flag_value + # sanity check: ensure project_only_flag is not part of the click context + assert project_only_flag not in run_context.params + def _create_flags_from_dict(self, cmd, d): write_file("", "profiles.yml") result = Flags.from_dict(cmd, d) @@ -409,3 +419,38 @@ def test_from_dict_0_value(self): args_dict = {"log_file_max_bytes": 0} flags = Flags.from_dict(Command.RUN, args_dict) assert flags.LOG_FILE_MAX_BYTES == 0 + + +def test_project_flag_defaults(): + flags = ProjectFlags() + # From # 9183: Let's add a unit test that ensures that: + # every attribute of ProjectFlags that has a corresponding click option + # in params.py should be set to None by default (except for anon user + # tracking). Going forward, flags can have non-None defaults if they + # do not have a corresponding CLI option/env var. These will be used + # to control backwards incompatible interface or behaviour changes. + + # List of all flags except send_anonymous_usage_stats + project_flags = [ + "cache_selected_only", + "debug", + "fail_fast", + "indirect_selection", + "log_format", + "log_format_file", + "log_level", + "log_level_file", + "partial_parse", + "populate_cache", + "printer_width", + "static_parser", + "use_colors", + "use_colors_file", + "use_experimental_parser", + "version_check", + "warn_error", + "warn_error_options", + "write_json", + ] + for flag in project_flags: + assert getattr(flags, flag) is None diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index 2ebe5766986..69e061fa881 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -119,12 +119,17 @@ class BaseConfigTest(unittest.TestCase): """ def setUp(self): + # Write project + self.project_dir = normalize(tempfile.mkdtemp()) self.default_project_data = { "version": "0.0.1", "name": "my_test_project", "profile": "default", - "config-version": 2, } + self.write_project(self.default_project_data) + + # Write profile + self.profiles_dir = normalize(tempfile.mkdtemp()) self.default_profile_data = { "default": { "outputs": { @@ -176,6 +181,8 @@ def setUp(self): }, "empty_profile_data": {}, } + self.write_profile(self.default_profile_data) + self.args = Namespace( profiles_dir=self.profiles_dir, cli_vars={}, @@ -203,13 +210,6 @@ def assertRaisesOrReturns(self, exc): else: return self.assertRaises(exc) - -class BaseFileTest(BaseConfigTest): - def setUp(self): - self.project_dir = normalize(tempfile.mkdtemp()) - self.profiles_dir = normalize(tempfile.mkdtemp()) - super().setUp() - def tearDown(self): try: shutil.rmtree(self.project_dir) @@ -248,11 +248,6 @@ def write_empty_profile(self): class TestProfile(BaseConfigTest): - def setUp(self): - self.profiles_dir = "/invalid-path" - self.project_dir = "/invalid-project-path" - super().setUp() - def from_raw_profiles(self): renderer = empty_profile_renderer() return dbt.config.Profile.from_raw_profiles(self.default_profile_data, "default", renderer) @@ -262,8 +257,6 @@ def test_from_raw_profiles(self): self.assertEqual(profile.profile_name, "default") self.assertEqual(profile.target_name, "postgres") self.assertEqual(profile.threads, 7) - self.assertTrue(profile.user_config.send_anonymous_usage_stats) - self.assertIsNone(profile.user_config.use_colors) self.assertTrue(isinstance(profile.credentials, PostgresCredentials)) self.assertEqual(profile.credentials.type, "postgres") self.assertEqual(profile.credentials.host, "postgres-db-hostname") @@ -273,29 +266,6 @@ def test_from_raw_profiles(self): self.assertEqual(profile.credentials.schema, "postgres-schema") self.assertEqual(profile.credentials.database, "postgres-db-name") - def test_config_override(self): - self.default_profile_data["config"] = { - "send_anonymous_usage_stats": False, - "use_colors": False, - } - profile = self.from_raw_profiles() - self.assertEqual(profile.profile_name, "default") - self.assertEqual(profile.target_name, "postgres") - self.assertFalse(profile.user_config.send_anonymous_usage_stats) - self.assertFalse(profile.user_config.use_colors) - - def test_partial_config_override(self): - self.default_profile_data["config"] = { - "send_anonymous_usage_stats": False, - "printer_width": 60, - } - profile = self.from_raw_profiles() - self.assertEqual(profile.profile_name, "default") - self.assertEqual(profile.target_name, "postgres") - self.assertFalse(profile.user_config.send_anonymous_usage_stats) - self.assertIsNone(profile.user_config.use_colors) - self.assertEqual(profile.user_config.printer_width, 60) - def test_missing_type(self): del self.default_profile_data["default"]["outputs"]["postgres"]["type"] with self.assertRaises(dbt.exceptions.DbtProfileError) as exc: @@ -337,7 +307,7 @@ def test_extra_path(self): } ) with self.assertRaises(dbt.exceptions.DbtProjectError) as exc: - project_from_config_norender(self.default_project_data) + project_from_config_norender(self.default_project_data, project_root=self.project_dir) self.assertIn("source-paths and model-paths", str(exc.exception)) self.assertIn("cannot both be defined.", str(exc.exception)) @@ -403,11 +373,7 @@ def test_invalid_env_vars(self): self.assertIn("Could not convert value 'hello' into type 'number'", str(exc.exception)) -class TestProfileFile(BaseFileTest): - def setUp(self): - super().setUp() - self.write_profile(self.default_profile_data) - +class TestProfileFile(BaseConfigTest): def from_raw_profile_info(self, raw_profile=None, profile_name="default", **kwargs): if raw_profile is None: raw_profile = self.default_profile_data["default"] @@ -438,8 +404,6 @@ def test_profile_simple(self): self.assertEqual(profile.profile_name, "default") self.assertEqual(profile.target_name, "postgres") self.assertEqual(profile.threads, 7) - self.assertTrue(profile.user_config.send_anonymous_usage_stats) - self.assertIsNone(profile.user_config.use_colors) self.assertTrue(isinstance(profile.credentials, PostgresCredentials)) self.assertEqual(profile.credentials.type, "postgres") self.assertEqual(profile.credentials.host, "postgres-db-hostname") @@ -464,8 +428,6 @@ def test_profile_override(self): self.assertEqual(profile.profile_name, "other") self.assertEqual(profile.target_name, "other-postgres") self.assertEqual(profile.threads, 3) - self.assertTrue(profile.user_config.send_anonymous_usage_stats) - self.assertIsNone(profile.user_config.use_colors) self.assertTrue(isinstance(profile.credentials, PostgresCredentials)) self.assertEqual(profile.credentials.type, "postgres") self.assertEqual(profile.credentials.host, "other-postgres-db-hostname") @@ -485,8 +447,6 @@ def test_env_vars(self): self.assertEqual(profile.profile_name, "default") self.assertEqual(profile.target_name, "with-vars") self.assertEqual(profile.threads, 1) - self.assertTrue(profile.user_config.send_anonymous_usage_stats) - self.assertIsNone(profile.user_config.use_colors) self.assertEqual(profile.credentials.type, "postgres") self.assertEqual(profile.credentials.host, "env-postgres-host") self.assertEqual(profile.credentials.port, 6543) @@ -505,8 +465,6 @@ def test_env_vars_env_target(self): self.assertEqual(profile.profile_name, "default") self.assertEqual(profile.target_name, "with-vars") self.assertEqual(profile.threads, 1) - self.assertTrue(profile.user_config.send_anonymous_usage_stats) - self.assertIsNone(profile.user_config.use_colors) self.assertEqual(profile.credentials.type, "postgres") self.assertEqual(profile.credentials.host, "env-postgres-host") self.assertEqual(profile.credentials.port, 6543) @@ -537,8 +495,6 @@ def test_cli_and_env_vars(self): self.assertEqual(profile.profile_name, "default") self.assertEqual(profile.target_name, "cli-and-env-vars") self.assertEqual(profile.threads, 1) - self.assertTrue(profile.user_config.send_anonymous_usage_stats) - self.assertIsNone(profile.user_config.use_colors) self.assertEqual(profile.credentials.type, "postgres") self.assertEqual(profile.credentials.host, "cli-postgres-host") self.assertEqual(profile.credentials.port, 6543) @@ -567,18 +523,19 @@ def test_profile_with_empty_profile_data(self): def project_from_config_norender( - cfg, packages=None, path="/invalid-root-path", verify_version=False + cfg, packages=None, project_root="/invalid-root-path", verify_version=False ): if packages is None: packages = {} partial = dbt.config.project.PartialProject.from_dicts( - path, + project_root, project_dict=cfg, packages_dict=packages, selectors_dict={}, verify_version=verify_version, ) - # no rendering + # no rendering ... Why? + partial.project_dict["project-root"] = project_root rendered = dbt.config.project.RenderComponents( project_dict=partial.project_dict, packages_dict=partial.packages_dict, @@ -590,14 +547,14 @@ def project_from_config_norender( def project_from_config_rendered( cfg, packages=None, - path="/invalid-root-path", + project_root="/invalid-root-path", verify_version=False, packages_specified_path=PACKAGES_FILE_NAME, ): if packages is None: packages = {} partial = dbt.config.project.PartialProject.from_dicts( - path, + project_root, project_dict=cfg, packages_dict=packages, selectors_dict={}, @@ -608,18 +565,14 @@ def project_from_config_rendered( class TestProject(BaseConfigTest): - def setUp(self): - self.profiles_dir = "/invalid-profiles-path" - self.project_dir = "/invalid-root-path" - super().setUp() - self.default_project_data["project-root"] = self.project_dir - def test_defaults(self): - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project.project_name, "my_test_project") self.assertEqual(project.version, "0.0.1") self.assertEqual(project.profile_name, "default") - self.assertEqual(project.project_root, "/invalid-root-path") + self.assertEqual(project.project_root, self.project_dir) self.assertEqual(project.model_paths, ["models"]) self.assertEqual(project.macro_paths, ["macros"]) self.assertEqual(project.seed_paths, ["seeds"]) @@ -645,30 +598,38 @@ def test_defaults(self): str(project) def test_eq(self): - project = project_from_config_norender(self.default_project_data) - other = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) + other = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project, other) def test_neq(self): - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertNotEqual(project, object()) def test_implicit_overrides(self): self.default_project_data.update( { "model-paths": ["other-models"], - "target-path": "other-target", } ) - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual( set(project.docs_paths), set(["other-models", "seeds", "snapshots", "analyses", "macros"]), ) - self.assertEqual(project.clean_targets, ["other-target"]) def test_hashed_name(self): - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project.hashed_name(), "754cd47eac1d6f50a5f7cd399ec43da4") def test_all_overrides(self): @@ -682,7 +643,6 @@ def test_all_overrides(self): "analysis-paths": ["other-analyses"], "docs-paths": ["docs"], "asset-paths": ["other-assets"], - "target-path": "other-target", "clean-targets": ["another-target"], "packages-install-path": "other-dbt_packages", "quoting": {"identifier": False}, @@ -731,11 +691,12 @@ def test_all_overrides(self): {"git": "git@example.com:dbt-labs/dbt-utils.git", "revision": "test-rev"}, ], } - project = project_from_config_norender(self.default_project_data, packages=packages) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir, packages=packages + ) self.assertEqual(project.project_name, "my_test_project") self.assertEqual(project.version, "0.0.1") self.assertEqual(project.profile_name, "default") - self.assertEqual(project.project_root, "/invalid-root-path") self.assertEqual(project.model_paths, ["other-models"]) self.assertEqual(project.macro_paths, ["other-macros"]) self.assertEqual(project.seed_paths, ["other-seeds"]) @@ -743,7 +704,6 @@ def test_all_overrides(self): self.assertEqual(project.analysis_paths, ["other-analyses"]) self.assertEqual(project.docs_paths, ["docs"]) self.assertEqual(project.asset_paths, ["other-assets"]) - self.assertEqual(project.target_path, "other-target") self.assertEqual(project.clean_targets, ["another-target"]) self.assertEqual(project.packages_install_path, "other-dbt_packages") self.assertEqual(project.quoting, {"identifier": False}) @@ -815,11 +775,12 @@ def test_string_run_hooks(self): def test_invalid_project_name(self): self.default_project_data["name"] = "invalid-project-name" with self.assertRaises(dbt.exceptions.DbtProjectError) as exc: - project_from_config_norender(self.default_project_data) + project_from_config_norender(self.default_project_data, project_root=self.project_dir) self.assertIn("invalid-project-name", str(exc.exception)) def test_no_project(self): + os.remove(os.path.join(self.project_dir, "dbt_project.yml")) renderer = empty_project_renderer() with self.assertRaises(dbt.exceptions.DbtProjectError) as exc: dbt.config.Project.from_project_root(self.project_dir, renderer) @@ -829,12 +790,12 @@ def test_no_project(self): def test_invalid_version(self): self.default_project_data["require-dbt-version"] = "hello!" with self.assertRaises(dbt.exceptions.DbtProjectError): - project_from_config_norender(self.default_project_data) + project_from_config_norender(self.default_project_data, project_root=self.project_dir) def test_unsupported_version(self): self.default_project_data["require-dbt-version"] = ">99999.0.0" # allowed, because the RuntimeConfig checks, not the Project itself - project_from_config_norender(self.default_project_data) + project_from_config_norender(self.default_project_data, project_root=self.project_dir) def test_none_values(self): self.default_project_data.update( @@ -884,7 +845,9 @@ def test_query_comment_disabled(self): "query-comment": None, } ) - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project.query_comment.comment, "") self.assertEqual(project.query_comment.append, False) @@ -893,12 +856,16 @@ def test_query_comment_disabled(self): "query-comment": "", } ) - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project.query_comment.comment, "") self.assertEqual(project.query_comment.append, False) def test_default_query_comment(self): - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project.query_comment, QueryComment()) def test_default_query_comment_append(self): @@ -907,7 +874,9 @@ def test_default_query_comment_append(self): "query-comment": {"append": True}, } ) - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project.query_comment.comment, DEFAULT_QUERY_COMMENT) self.assertEqual(project.query_comment.append, True) @@ -917,7 +886,9 @@ def test_custom_query_comment_append(self): "query-comment": {"comment": "run by user test", "append": True}, } ) - project = project_from_config_norender(self.default_project_data) + project = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project.query_comment.comment, "run by user test") self.assertEqual(project.query_comment.append, True) @@ -939,17 +910,13 @@ def test_packages_from_dependencies(self): assert git_package.git == "{{ env_var('some_package') }}" -class TestProjectFile(BaseFileTest): - def setUp(self): - super().setUp() - self.write_project(self.default_project_data) - # and after the fact, add the project root - self.default_project_data["project-root"] = self.project_dir - +class TestProjectFile(BaseConfigTest): def test_from_project_root(self): renderer = empty_project_renderer() project = dbt.config.Project.from_project_root(self.project_dir, renderer) - from_config = project_from_config_norender(self.default_project_data) + from_config = project_from_config_norender( + self.default_project_data, project_root=self.project_dir + ) self.assertEqual(project, from_config) self.assertEqual(project.version, "0.0.1") self.assertEqual(project.project_name, "my_test_project") @@ -966,12 +933,7 @@ def run(self): pass -class TestConfiguredTask(BaseFileTest): - def setUp(self): - super().setUp() - self.write_project(self.default_project_data) - self.write_profile(self.default_profile_data) - +class TestConfiguredTask(BaseConfigTest): def tearDown(self): super().tearDown() # These tests will change the directory to the project path, @@ -990,15 +952,13 @@ def test_configured_task_dir_change_with_bad_path(self): InheritsFromConfiguredTask.from_args(self.args) -class TestVariableProjectFile(BaseFileTest): +class TestVariableProjectFile(BaseConfigTest): def setUp(self): super().setUp() self.default_project_data["version"] = "{{ var('cli_version') }}" self.default_project_data["name"] = "blah" self.default_project_data["profile"] = "{{ env_var('env_value_profile') }}" self.write_project(self.default_project_data) - # and after the fact, add the project root - self.default_project_data["project-root"] = self.project_dir def test_cli_and_env_vars(self): renderer = dbt.config.renderer.DbtProjectYamlRenderer(None, {"cli_version": "0.1.2"}) @@ -1015,15 +975,11 @@ def test_cli_and_env_vars(self): class TestRuntimeConfig(BaseConfigTest): - def setUp(self): - self.profiles_dir = "/invalid-profiles-path" - self.project_dir = "/invalid-root-path" - super().setUp() - self.default_project_data["project-root"] = self.project_dir - def get_project(self): return project_from_config_norender( - self.default_project_data, verify_version=self.args.version_check + self.default_project_data, + project_root=self.project_dir, + verify_version=self.args.version_check, ) def get_profile(self): @@ -1072,14 +1028,6 @@ def test_str(self): # to make sure nothing terrible happens str(config) - def test_validate_fails(self): - project = self.get_project() - profile = self.get_profile() - # invalid - must be boolean - profile.user_config.use_colors = 100 - with self.assertRaises(dbt.exceptions.DbtProjectError): - dbt.config.RuntimeConfig.from_parts(project, profile, {}) - def test_supported_version(self): self.default_project_data["require-dbt-version"] = ">0.0.0" conf = self.from_parts() @@ -1203,7 +1151,9 @@ def setUp(self): } def get_project(self): - return project_from_config_norender(self.default_project_data, verify_version=True) + return project_from_config_norender( + self.default_project_data, project_root=self.project_dir, verify_version=True + ) def get_profile(self): renderer = empty_profile_renderer() @@ -1235,14 +1185,7 @@ def test__warn_for_unused_resource_config_paths(self): assert expected_msg in msg -class TestRuntimeConfigFiles(BaseFileTest): - def setUp(self): - super().setUp() - self.write_profile(self.default_profile_data) - self.write_project(self.default_project_data) - # and after the fact, add the project root - self.default_project_data["project-root"] = self.project_dir - +class TestRuntimeConfigFiles(BaseConfigTest): def test_from_args(self): with temp_cd(self.project_dir): config = dbt.config.RuntimeConfig.from_args(self.args) @@ -1272,7 +1215,7 @@ def test_from_args(self): self.assertEqual(config.project_name, "my_test_project") -class TestVariableRuntimeConfigFiles(BaseFileTest): +class TestVariableRuntimeConfigFiles(BaseConfigTest): def setUp(self): super().setUp() self.default_project_data.update( @@ -1304,9 +1247,6 @@ def setUp(self): } ) self.write_project(self.default_project_data) - self.write_profile(self.default_profile_data) - # and after the fact, add the project root - self.default_project_data["project-root"] = self.project_dir def test_cli_and_env_vars(self): self.args.target = "cli-and-env-vars" @@ -1380,3 +1320,30 @@ def test_lookups(self): for node, key, expected_value in expected: value = vars_provider.vars_for(node, "postgres").get(key) assert value == expected_value + + +class TestMultipleProjectFlags(BaseConfigTest): + def setUp(self): + super().setUp() + + self.default_project_data.update( + { + "flags": { + "send_anonymous_usage_data": False, + } + } + ) + self.write_project(self.default_project_data) + + self.default_profile_data.update( + { + "config": { + "send_anonymous_usage_data": False, + } + } + ) + self.write_profile(self.default_profile_data) + + def test_setting_multiple_flags(self): + with pytest.raises(dbt.exceptions.DbtProjectError): + set_from_args(self.args, None) diff --git a/tests/unit/test_events.py b/tests/unit/test_events.py index ee2ac48bece..e683baca2fa 100644 --- a/tests/unit/test_events.py +++ b/tests/unit/test_events.py @@ -138,6 +138,10 @@ def test_event_codes(self): types.ConfigLogPathDeprecation(deprecated_path=""), types.ConfigTargetPathDeprecation(deprecated_path=""), types.CollectFreshnessReturnSignature(), + types.ProjectFlagsMovedDeprecation(), + types.PackageMaterializationOverrideDeprecation( + package_name="my_package", materialization_name="view" + ), # E - DB Adapter ====================== types.AdapterEventDebug(), types.AdapterEventInfo(), diff --git a/tests/unit/test_flags.py b/tests/unit/test_flags.py deleted file mode 100644 index 69d8913b675..00000000000 --- a/tests/unit/test_flags.py +++ /dev/null @@ -1,340 +0,0 @@ -import os -from unittest import TestCase -from argparse import Namespace -import pytest - -from dbt import flags -from dbt.contracts.project import UserConfig -from dbt.graph.selector_spec import IndirectSelection -from dbt.helper_types import WarnErrorOptions - -# Skip due to interface for flag updated -pytestmark = pytest.mark.skip - - -class TestFlags(TestCase): - def setUp(self): - self.args = Namespace() - self.user_config = UserConfig() - - def test__flags(self): - - # use_experimental_parser - self.user_config.use_experimental_parser = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.USE_EXPERIMENTAL_PARSER, True) - os.environ["DBT_USE_EXPERIMENTAL_PARSER"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.USE_EXPERIMENTAL_PARSER, False) - setattr(self.args, "use_experimental_parser", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.USE_EXPERIMENTAL_PARSER, True) - # cleanup - os.environ.pop("DBT_USE_EXPERIMENTAL_PARSER") - delattr(self.args, "use_experimental_parser") - flags.USE_EXPERIMENTAL_PARSER = False - self.user_config.use_experimental_parser = None - - # static_parser - self.user_config.static_parser = False - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.STATIC_PARSER, False) - os.environ["DBT_STATIC_PARSER"] = "true" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.STATIC_PARSER, True) - setattr(self.args, "static_parser", False) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.STATIC_PARSER, False) - # cleanup - os.environ.pop("DBT_STATIC_PARSER") - delattr(self.args, "static_parser") - flags.STATIC_PARSER = True - self.user_config.static_parser = None - - # warn_error - self.user_config.warn_error = False - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WARN_ERROR, False) - os.environ["DBT_WARN_ERROR"] = "true" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WARN_ERROR, True) - setattr(self.args, "warn_error", False) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WARN_ERROR, False) - # cleanup - os.environ.pop("DBT_WARN_ERROR") - delattr(self.args, "warn_error") - flags.WARN_ERROR = False - self.user_config.warn_error = None - - # warn_error_options - self.user_config.warn_error_options = '{"include": "all"}' - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WARN_ERROR_OPTIONS, WarnErrorOptions(include="all")) - os.environ["DBT_WARN_ERROR_OPTIONS"] = '{"include": []}' - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WARN_ERROR_OPTIONS, WarnErrorOptions(include=[])) - setattr(self.args, "warn_error_options", '{"include": "all"}') - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WARN_ERROR_OPTIONS, WarnErrorOptions(include="all")) - # cleanup - os.environ.pop("DBT_WARN_ERROR_OPTIONS") - delattr(self.args, "warn_error_options") - self.user_config.warn_error_options = None - - # write_json - self.user_config.write_json = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WRITE_JSON, True) - os.environ["DBT_WRITE_JSON"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WRITE_JSON, False) - setattr(self.args, "write_json", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.WRITE_JSON, True) - # cleanup - os.environ.pop("DBT_WRITE_JSON") - delattr(self.args, "write_json") - - # partial_parse - self.user_config.partial_parse = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.PARTIAL_PARSE, True) - os.environ["DBT_PARTIAL_PARSE"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.PARTIAL_PARSE, False) - setattr(self.args, "partial_parse", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.PARTIAL_PARSE, True) - # cleanup - os.environ.pop("DBT_PARTIAL_PARSE") - delattr(self.args, "partial_parse") - self.user_config.partial_parse = False - - # use_colors - self.user_config.use_colors = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.USE_COLORS, True) - os.environ["DBT_USE_COLORS"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.USE_COLORS, False) - setattr(self.args, "use_colors", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.USE_COLORS, True) - # cleanup - os.environ.pop("DBT_USE_COLORS") - delattr(self.args, "use_colors") - - # debug - self.user_config.debug = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.DEBUG, True) - os.environ["DBT_DEBUG"] = "True" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.DEBUG, True) - os.environ["DBT_DEBUG"] = "False" - setattr(self.args, "debug", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.DEBUG, True) - # cleanup - os.environ.pop("DBT_DEBUG") - delattr(self.args, "debug") - self.user_config.debug = None - - # log_format -- text, json, default - self.user_config.log_format = "text" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.LOG_FORMAT, "text") - os.environ["DBT_LOG_FORMAT"] = "json" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.LOG_FORMAT, "json") - setattr(self.args, "log_format", "text") - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.LOG_FORMAT, "text") - # cleanup - os.environ.pop("DBT_LOG_FORMAT") - delattr(self.args, "log_format") - self.user_config.log_format = None - - # version_check - self.user_config.version_check = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.VERSION_CHECK, True) - os.environ["DBT_VERSION_CHECK"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.VERSION_CHECK, False) - setattr(self.args, "version_check", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.VERSION_CHECK, True) - # cleanup - os.environ.pop("DBT_VERSION_CHECK") - delattr(self.args, "version_check") - - # fail_fast - self.user_config.fail_fast = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.FAIL_FAST, True) - os.environ["DBT_FAIL_FAST"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.FAIL_FAST, False) - setattr(self.args, "fail_fast", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.FAIL_FAST, True) - # cleanup - os.environ.pop("DBT_FAIL_FAST") - delattr(self.args, "fail_fast") - self.user_config.fail_fast = False - - # send_anonymous_usage_stats - self.user_config.send_anonymous_usage_stats = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.SEND_ANONYMOUS_USAGE_STATS, True) - os.environ["DBT_SEND_ANONYMOUS_USAGE_STATS"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.SEND_ANONYMOUS_USAGE_STATS, False) - setattr(self.args, "send_anonymous_usage_stats", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.SEND_ANONYMOUS_USAGE_STATS, True) - os.environ["DO_NOT_TRACK"] = "1" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.SEND_ANONYMOUS_USAGE_STATS, False) - # cleanup - os.environ.pop("DBT_SEND_ANONYMOUS_USAGE_STATS") - os.environ.pop("DO_NOT_TRACK") - delattr(self.args, "send_anonymous_usage_stats") - - # printer_width - self.user_config.printer_width = 100 - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.PRINTER_WIDTH, 100) - os.environ["DBT_PRINTER_WIDTH"] = "80" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.PRINTER_WIDTH, 80) - setattr(self.args, "printer_width", "120") - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.PRINTER_WIDTH, 120) - # cleanup - os.environ.pop("DBT_PRINTER_WIDTH") - delattr(self.args, "printer_width") - self.user_config.printer_width = None - - # indirect_selection - self.user_config.indirect_selection = "eager" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.INDIRECT_SELECTION, IndirectSelection.Eager) - self.user_config.indirect_selection = "cautious" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.INDIRECT_SELECTION, IndirectSelection.Cautious) - self.user_config.indirect_selection = "buildable" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.INDIRECT_SELECTION, IndirectSelection.Buildable) - self.user_config.indirect_selection = None - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.INDIRECT_SELECTION, IndirectSelection.Eager) - os.environ["DBT_INDIRECT_SELECTION"] = "cautious" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.INDIRECT_SELECTION, IndirectSelection.Cautious) - setattr(self.args, "indirect_selection", "cautious") - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.INDIRECT_SELECTION, IndirectSelection.Cautious) - # cleanup - os.environ.pop("DBT_INDIRECT_SELECTION") - delattr(self.args, "indirect_selection") - self.user_config.indirect_selection = None - - # quiet - self.user_config.quiet = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.QUIET, True) - # cleanup - self.user_config.quiet = None - - # no_print - self.user_config.no_print = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.NO_PRINT, True) - # cleanup - self.user_config.no_print = None - - # cache_selected_only - self.user_config.cache_selected_only = True - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.CACHE_SELECTED_ONLY, True) - os.environ["DBT_CACHE_SELECTED_ONLY"] = "false" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.CACHE_SELECTED_ONLY, False) - setattr(self.args, "cache_selected_only", True) - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.CACHE_SELECTED_ONLY, True) - # cleanup - os.environ.pop("DBT_CACHE_SELECTED_ONLY") - delattr(self.args, "cache_selected_only") - self.user_config.cache_selected_only = False - - # target_path/log_path - flags.set_from_args(self.args, self.user_config) - self.assertIsNone(flags.LOG_PATH) - os.environ["DBT_LOG_PATH"] = "a/b/c" - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.LOG_PATH, "a/b/c") - setattr(self.args, "log_path", "d/e/f") - flags.set_from_args(self.args, self.user_config) - self.assertEqual(flags.LOG_PATH, "d/e/f") - # cleanup - os.environ.pop("DBT_LOG_PATH") - delattr(self.args, "log_path") - - def test__flags_are_mutually_exclusive(self): - # options from user config - self.user_config.warn_error = False - self.user_config.warn_error_options = '{"include":"all"}' - with pytest.raises(ValueError): - flags.set_from_args(self.args, self.user_config) - # cleanup - self.user_config.warn_error = None - self.user_config.warn_error_options = None - - # options from args - setattr(self.args, "warn_error", False) - setattr(self.args, "warn_error_options", '{"include":"all"}') - with pytest.raises(ValueError): - flags.set_from_args(self.args, self.user_config) - # cleanup - delattr(self.args, "warn_error") - delattr(self.args, "warn_error_options") - - # options from environment - os.environ["DBT_WARN_ERROR"] = "false" - os.environ["DBT_WARN_ERROR_OPTIONS"] = '{"include": []}' - with pytest.raises(ValueError): - flags.set_from_args(self.args, self.user_config) - # cleanup - os.environ.pop("DBT_WARN_ERROR") - os.environ.pop("DBT_WARN_ERROR_OPTIONS") - - # options from user config + args - self.user_config.warn_error = False - setattr(self.args, "warn_error_options", '{"include":"all"}') - with pytest.raises(ValueError): - flags.set_from_args(self.args, self.user_config) - # cleanup - self.user_config.warn_error = None - delattr(self.args, "warn_error_options") - - # options from user config + environ - self.user_config.warn_error = False - os.environ["DBT_WARN_ERROR_OPTIONS"] = '{"include": []}' - with pytest.raises(ValueError): - flags.set_from_args(self.args, self.user_config) - # cleanup - self.user_config.warn_error = None - os.environ.pop("DBT_WARN_ERROR_OPTIONS") - - # options from args + environ - setattr(self.args, "warn_error", False) - os.environ["DBT_WARN_ERROR_OPTIONS"] = '{"include": []}' - with pytest.raises(ValueError): - flags.set_from_args(self.args, self.user_config) - # cleanup - delattr(self.args, "warn_error") - os.environ.pop("DBT_WARN_ERROR_OPTIONS") diff --git a/tests/unit/test_graph.py b/tests/unit/test_graph.py index fe1dc7e868a..e70b05c75d9 100644 --- a/tests/unit/test_graph.py +++ b/tests/unit/test_graph.py @@ -16,6 +16,7 @@ import dbt.parser.manifest from dbt import tracking from dbt.contracts.files import SourceFile, FileHash, FilePath +from dbt.contracts.project import ProjectFlags from dbt.contracts.graph.manifest import MacroManifest, ManifestStateCheck from dbt.graph import NodeSelector, parse_difference from dbt.events.functions import setup_event_logger @@ -140,7 +141,7 @@ def get_config(self, extra_cfg=None): cfg.update(extra_cfg) config = config_from_parts_or_dicts(project=cfg, profile=self.profile) - dbt.flags.set_from_args(Namespace(), config) + dbt.flags.set_from_args(Namespace(), ProjectFlags()) setup_event_logger(dbt.flags.get_flags()) object.__setattr__(dbt.flags.get_flags(), "PARTIAL_PARSE", False) return config diff --git a/tests/unit/test_graph_selection.py b/tests/unit/test_graph_selection.py index 572c8fed10d..5700cba6606 100644 --- a/tests/unit/test_graph_selection.py +++ b/tests/unit/test_graph_selection.py @@ -13,9 +13,9 @@ from dbt import flags from argparse import Namespace -from dbt.contracts.project import UserConfig +from dbt.contracts.project import ProjectFlags -flags.set_from_args(Namespace(), UserConfig()) +flags.set_from_args(Namespace(), ProjectFlags()) def _get_graph(): diff --git a/tests/unit/test_manifest.py b/tests/unit/test_manifest.py index 843d2c9bf90..3b9c05aa226 100644 --- a/tests/unit/test_manifest.py +++ b/tests/unit/test_manifest.py @@ -1224,7 +1224,7 @@ def test_find_generate_macros_by_name(macros, expectations): FindMaterializationSpec = namedtuple("FindMaterializationSpec", "macros,adapter_type,expected") -def _materialization_parameter_sets(): +def _materialization_parameter_sets_legacy(): # inject the plugins used for materialization parameter tests with mock.patch("dbt.adapters.base.plugin.project_name_from_path") as get_name: get_name.return_value = "foo" @@ -1371,12 +1371,187 @@ def id_mat(arg): return "_".join(arg) +@pytest.mark.parametrize( + "macros,adapter_type,expected", + _materialization_parameter_sets_legacy(), + ids=id_mat, +) +def test_find_materialization_by_name_legacy(macros, adapter_type, expected): + set_from_args( + Namespace( + SEND_ANONYMOUS_USAGE_STATS=False, + REQUIRE_EXPLICIT_PACKAGE_OVERRIDES_FOR_BUILTIN_MATERIALIZATIONS=False, + ), + None, + ) + + manifest = make_manifest(macros=macros) + result = manifest.find_materialization_macro_by_name( + project_name="root", + materialization_name="my_materialization", + adapter_type=adapter_type, + ) + if expected is None: + assert result is expected + else: + expected_package, expected_adapter_type = expected + assert result.adapter_type == expected_adapter_type + assert result.package_name == expected_package + + +def _materialization_parameter_sets(): + # inject the plugins used for materialization parameter tests + with mock.patch("dbt.adapters.base.plugin.project_name_from_path") as get_name: + get_name.return_value = "foo" + FooPlugin = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/root/plugin", + ) + FooPlugin.adapter.type.return_value = "foo" + inject_plugin(FooPlugin) + + BarPlugin = AdapterPlugin( + adapter=mock.MagicMock(), + credentials=mock.MagicMock(), + include_path="/path/to/root/plugin", + dependencies=["foo"], + ) + BarPlugin.adapter.type.return_value = "bar" + inject_plugin(BarPlugin) + + sets = [ + FindMaterializationSpec(macros=[], adapter_type="foo", expected=None), + ] + + # default only, each project + sets.extend( + FindMaterializationSpec( + macros=[MockMaterialization(project, adapter_type=None)], + adapter_type="foo", + expected=(project, "default"), + ) + for project in ["root", "dep", "dbt"] + ) + + # other type only, each project + sets.extend( + FindMaterializationSpec( + macros=[MockMaterialization(project, adapter_type="bar")], + adapter_type="foo", + expected=None, + ) + for project in ["root", "dep", "dbt"] + ) + + # matching type only, each project + sets.extend( + FindMaterializationSpec( + macros=[MockMaterialization(project, adapter_type="foo")], + adapter_type="foo", + expected=(project, "foo"), + ) + for project in ["root", "dep", "dbt"] + ) + + sets.extend( + [ + # matching type and default everywhere + FindMaterializationSpec( + macros=[ + MockMaterialization(project, adapter_type=atype) + for (project, atype) in product(["root", "dep", "dbt"], ["foo", None]) + ], + adapter_type="foo", + expected=("root", "foo"), + ), + # default in core, override is in dep, and root has unrelated override + # should find the dbt default because default materializations cannot be overwritten by packages. + FindMaterializationSpec( + macros=[ + MockMaterialization("root", adapter_type="bar"), + MockMaterialization("dep", adapter_type="foo"), + MockMaterialization("dbt", adapter_type=None), + ], + adapter_type="foo", + expected=("dbt", "default"), + ), + # default in core, unrelated override is in dep, and root has an override + # should find the root override. + FindMaterializationSpec( + macros=[ + MockMaterialization("root", adapter_type="foo"), + MockMaterialization("dep", adapter_type="bar"), + MockMaterialization("dbt", adapter_type=None), + ], + adapter_type="foo", + expected=("root", "foo"), + ), + # default in core, override is in dep, and root has an override too. + # should find the root override. + FindMaterializationSpec( + macros=[ + MockMaterialization("root", adapter_type="foo"), + MockMaterialization("dep", adapter_type="foo"), + MockMaterialization("dbt", adapter_type=None), + ], + adapter_type="foo", + expected=("root", "foo"), + ), + # core has default + adapter, dep has adapter, root has default + # should find the default adapter implementation, because it's the most specific + # and default materializations cannot be overwritten by packages + FindMaterializationSpec( + macros=[ + MockMaterialization("root", adapter_type=None), + MockMaterialization("dep", adapter_type="foo"), + MockMaterialization("dbt", adapter_type=None), + MockMaterialization("dbt", adapter_type="foo"), + ], + adapter_type="foo", + expected=("dbt", "foo"), + ), + ] + ) + + # inherit from parent adapter + sets.extend( + FindMaterializationSpec( + macros=[MockMaterialization(project, adapter_type="foo")], + adapter_type="bar", + expected=(project, "foo"), + ) + for project in ["root", "dep", "dbt"] + ) + sets.extend( + FindMaterializationSpec( + macros=[ + MockMaterialization(project, adapter_type="foo"), + MockMaterialization(project, adapter_type="bar"), + ], + adapter_type="bar", + expected=(project, "bar"), + ) + for project in ["root", "dep", "dbt"] + ) + + return sets + + @pytest.mark.parametrize( "macros,adapter_type,expected", _materialization_parameter_sets(), ids=id_mat, ) def test_find_materialization_by_name(macros, adapter_type, expected): + set_from_args( + Namespace( + SEND_ANONYMOUS_USAGE_STATS=False, + REQUIRE_EXPLICIT_PACKAGE_OVERRIDES_FOR_BUILTIN_MATERIALIZATIONS=True, + ), + None, + ) + manifest = make_manifest(macros=macros) result = manifest.find_materialization_macro_by_name( project_name="root",