Repository: dbt-labs/dbt-core (python)

Issue:
Nest Macro node `meta` under `config`

### Housekeeping

- [X] I am a maintainer of dbt-core

### Short description

The old/deprecated way of having meta was putting it directly on a node. However, awhile back we deprecated that paradigm and moved to nesting meta under a node's config. For reasoning I am not aware of, this never made it to Macro nodes. We should begin supporting the "best practice" path


### Acceptance criteria

- Macro nodes have a meta property under their config property
- During parsing, flat meta specifications should end up under the `config.meta`

### Suggested Tests

- Macro meta can be specified in the `dbt_project.yaml` config specification
- In a macro definition, people can specify meta directly on an macro or under a macro's config, both should end up in the macro's `config.meta`

### Impact to Other Teams

Change impacts Artifacts team (change to the artifacts)

### Will backports be required?

No

### Context

_No response_
[Bug] False CustomKeyInObjectDeprecation warning for key: macros[].config

### Is this a new bug in dbt-core?

- [x] I believe this is a new bug in dbt-core
- [x] I have searched the existing issues, and I could not find an existing issue for this bug

### Current Behavior

After upgrading to dbt v1.11 I've started to get the following warning:

```
10:22:25  [WARNING][CustomKeyInObjectDeprecation]: Deprecated functionality
Custom key `config` found at `macros[0]` in file `macros/scd2.yml`. This may
mean the key is a typo, or is simply not a key supported by the object.
```

### Expected Behavior

I believe this is a valid key for macro properties yaml-files, ref: https://docs.getdbt.com/reference/macro-properties


### Steps To Reproduce

**env:**
python 3.11
dbt-core==1.11.2
dbt-snowflake==1.11.1

**create macros/hello_world.sql**
```
{% macro hello_world(name) %}
    {{ log('hello ' ~ name, info=True) }}
{% endmacro %}
```

**create hello_world.yml**
```
macros:
  - name: hello_world
    description: "Logs a hello message with the provided name."
    config:
      meta:
        usage: >-
          vdl_macros.hello_world(name="YourName")
    arguments:
      - name: name
        type: string
        description: "The name to include in the hello message."
```

**run dbt compile**

```
dbt compile --show-all-deprecations --no-partial-parse
```

### Relevant log output

```shell
⎇ main* dbt:dev eiendom/dbt > dbt compile --show-all-deprecations --no-partial-parse                                                                   ⏱ 11:54:26
10:55:03  Running with dbt=1.11.2
10:55:04  Registered adapter: snowflake=1.11.1
10:55:04  [WARNING][CustomKeyInObjectDeprecation]: Deprecated functionality
Custom key `config` found at `macros[0]` in file `macros/hello_world.yml`. This
may mean the key is a typo, or is simply not a key supported by the object.
```

### Environment

```markdown
- OS: macOS Tahoe 26.2
- Python: 3.11.7
- dbt-core: 1.11.2
- dbt-snowflake: 1.11.1
```

### Which database adapter are you using with dbt?

snowflake

### Additional Context

_No response_


Patch:
diff --git a/.changes/unreleased/Fixes-20260302-000739.yaml b/.changes/unreleased/Fixes-20260302-000739.yaml
new file mode 100644
index 00000000000..28b8df62b0c
--- /dev/null
+++ b/.changes/unreleased/Fixes-20260302-000739.yaml
@@ -0,0 +1,6 @@
+kind: Fixes
+body: Add config and allow meta and docs to exist under it for macros
+time: 2026-03-02T00:07:39.088118+05:30
+custom:
+    Author: ash2shukla
+    Issue: 12383 9447
diff --git a/core/dbt/artifacts/resources/__init__.py b/core/dbt/artifacts/resources/__init__.py
index 572a6efaf56..f47a5a4191d 100644
--- a/core/dbt/artifacts/resources/__init__.py
+++ b/core/dbt/artifacts/resources/__init__.py
@@ -48,7 +48,12 @@
 from dbt.artifacts.resources.v1.generic_test import GenericTest, TestMetadata
 from dbt.artifacts.resources.v1.group import Group, GroupConfig
 from dbt.artifacts.resources.v1.hook import HookNode
-from dbt.artifacts.resources.v1.macro import Macro, MacroArgument, MacroDependsOn
+from dbt.artifacts.resources.v1.macro import (
+    Macro,
+    MacroArgument,
+    MacroConfig,
+    MacroDependsOn,
+)
 from dbt.artifacts.resources.v1.metric import (
     ConstantPropertyInput,
     ConversionTypeParams,
diff --git a/core/dbt/artifacts/resources/v1/macro.py b/core/dbt/artifacts/resources/v1/macro.py
index c5154a9a6d4..718e5e932e0 100644
--- a/core/dbt/artifacts/resources/v1/macro.py
+++ b/core/dbt/artifacts/resources/v1/macro.py
@@ -5,6 +5,7 @@
 from dbt.artifacts.resources.base import BaseResource, Docs
 from dbt.artifacts.resources.types import ModelLanguage, NodeType
 from dbt.artifacts.resources.v1.components import MacroDependsOn
+from dbt_common.contracts.config.base import BaseConfig
 from dbt_common.dataclass_schema import dbtClassMixin
 
 
@@ -15,6 +16,12 @@ class MacroArgument(dbtClassMixin):
     description: str = ""
 
 
+@dataclass
+class MacroConfig(BaseConfig):
+    meta: Dict[str, Any] = field(default_factory=dict)
+    docs: Docs = field(default_factory=Docs)
+
+
 @dataclass
 class Macro(BaseResource):
     macro_sql: str
@@ -23,6 +30,7 @@ class Macro(BaseResource):
     description: str = ""
     meta: Dict[str, Any] = field(default_factory=dict)
     docs: Docs = field(default_factory=Docs)
+    config: MacroConfig = field(default_factory=MacroConfig)
     patch_path: Optional[str] = None
     arguments: List[MacroArgument] = field(default_factory=list)
     created_at: float = field(default_factory=lambda: time.time())
diff --git a/core/dbt/parser/schemas.py b/core/dbt/parser/schemas.py
index 0f0cd162739..a6dcfd12652 100644
--- a/core/dbt/parser/schemas.py
+++ b/core/dbt/parser/schemas.py
@@ -17,7 +17,7 @@
     TypeVar,
 )
 
-from dbt.artifacts.resources import CustomGranularity, RefArgs, TimeSpine
+from dbt.artifacts.resources import CustomGranularity, Docs, RefArgs, TimeSpine
 from dbt.clients.checked_load import (
     checked_load,
     issue_deprecation_warnings_for_failures,
@@ -1392,8 +1392,18 @@ def parse_patch(self, block: TargetBlock[UnparsedMacroUpdate], refs: ParserRef)
         macro.patch_path = patch.file_id
         macro.description = patch.description
         macro.created_at = time.time()
-        macro.meta = patch.meta
-        macro.docs = patch.docs
+
+        meta = {**(patch.meta or {}), **(patch.config.get("meta") or {})}
+        docs = patch.config.get("docs") or patch.docs
+
+        # config inherits from HasConfig which is a dict so we need to cast it to Docs
+        if isinstance(docs, dict):
+            docs = Docs(**docs)
+
+        macro.meta = meta
+        macro.docs = docs
+        macro.config.meta = meta
+        macro.config.docs = docs
 
         if getattr(get_flags(), "validate_macro_args", False):
             self._check_patch_arguments(macro, patch)
diff --git a/schemas/dbt/manifest/v12.json b/schemas/dbt/manifest/v12.json
index cd7d9fb2911..232bd8ff580 100644
--- a/schemas/dbt/manifest/v12.json
+++ b/schemas/dbt/manifest/v12.json
@@ -10462,460 +10462,59 @@
                     "data_type"
                   ]
                 }
-              }
-            },
-            "additionalProperties": false,
-            "required": [
-              "returns",
-              "database",
-              "schema",
-              "name",
-              "resource_type",
-              "package_name",
-              "path",
-              "original_file_path",
-              "unique_id",
-              "fqn",
-              "alias",
-              "checksum",
-              "config"
-            ]
-          }
-        ]
-      },
-      "propertyNames": {
-        "type": "string"
-      }
-    },
-    "sources": {
-      "type": "object",
-      "description": "The sources defined in the dbt project and its dependencies",
-      "additionalProperties": {
-        "type": "object",
-        "title": "SourceDefinition",
-        "properties": {
-          "database": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ]
-          },
-          "schema": {
-            "type": "string"
-          },
-          "name": {
-            "type": "string"
-          },
-          "resource_type": {
-            "const": "source"
-          },
-          "package_name": {
-            "type": "string"
-          },
-          "path": {
-            "type": "string"
-          },
-          "original_file_path": {
-            "type": "string"
-          },
-          "unique_id": {
-            "type": "string"
-          },
-          "fqn": {
-            "type": "array",
-            "items": {
-              "type": "string"
-            }
-          },
-          "source_name": {
-            "type": "string"
-          },
-          "source_description": {
-            "type": "string"
-          },
-          "loader": {
-            "type": "string"
-          },
-          "identifier": {
-            "type": "string"
-          },
-          "quoting": {
-            "type": "object",
-            "title": "Quoting",
-            "properties": {
-              "database": {
-                "anyOf": [
-                  {
-                    "type": "boolean"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "schema": {
-                "anyOf": [
-                  {
-                    "type": "boolean"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "identifier": {
-                "anyOf": [
-                  {
-                    "type": "boolean"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
               },
-              "column": {
+              "defer_function": {
                 "anyOf": [
                   {
-                    "type": "boolean"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              }
-            },
-            "additionalProperties": false
-          },
-          "loaded_at_field": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "loaded_at_query": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "freshness": {
-            "anyOf": [
-              {
-                "type": "object",
-                "title": "FreshnessThreshold",
-                "properties": {
-                  "warn_after": {
-                    "anyOf": [
-                      {
-                        "type": "object",
-                        "title": "Time",
-                        "properties": {
-                          "count": {
-                            "anyOf": [
-                              {
-                                "type": "integer"
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
+                    "type": "object",
+                    "title": "DeferFunction",
+                    "properties": {
+                      "database": {
+                        "anyOf": [
+                          {
+                            "type": "string"
                           },
-                          "period": {
-                            "anyOf": [
-                              {
-                                "enum": [
-                                  "minute",
-                                  "hour",
-                                  "day"
-                                ]
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
+                          {
+                            "type": "null"
                           }
-                        },
-                        "additionalProperties": false
+                        ]
                       },
-                      {
-                        "type": "null"
-                      }
-                    ]
-                  },
-                  "error_after": {
-                    "anyOf": [
-                      {
-                        "type": "object",
-                        "title": "Time",
-                        "properties": {
-                          "count": {
-                            "anyOf": [
-                              {
-                                "type": "integer"
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          },
-                          "period": {
-                            "anyOf": [
-                              {
-                                "enum": [
-                                  "minute",
-                                  "hour",
-                                  "day"
-                                ]
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          }
-                        },
-                        "additionalProperties": false
+                      "schema": {
+                        "type": "string"
                       },
-                      {
-                        "type": "null"
-                      }
-                    ]
-                  },
-                  "filter": {
-                    "anyOf": [
-                      {
+                      "alias": {
                         "type": "string"
                       },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  }
-                },
-                "additionalProperties": false
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "external": {
-            "anyOf": [
-              {
-                "type": "object",
-                "title": "ExternalTable",
-                "properties": {
-                  "_extra": {
-                    "type": "object",
-                    "propertyNames": {
-                      "type": "string"
-                    }
-                  },
-                  "location": {
-                    "anyOf": [
-                      {
-                        "type": "string"
-                      },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  },
-                  "file_format": {
-                    "anyOf": [
-                      {
-                        "type": "string"
-                      },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  },
-                  "row_format": {
-                    "anyOf": [
-                      {
-                        "type": "string"
-                      },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  },
-                  "tbl_properties": {
-                    "anyOf": [
-                      {
-                        "type": "string"
-                      },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  },
-                  "partitions": {
-                    "anyOf": [
-                      {
-                        "type": "array",
-                        "items": {
-                          "type": "string"
-                        }
-                      },
-                      {
-                        "type": "array",
-                        "items": {
-                          "type": "object",
-                          "title": "ExternalPartition",
-                          "properties": {
-                            "_extra": {
-                              "type": "object",
-                              "propertyNames": {
-                                "type": "string"
-                              }
-                            },
-                            "name": {
-                              "type": "string",
-                              "default": ""
-                            },
-                            "description": {
-                              "type": "string",
-                              "default": ""
-                            },
-                            "data_type": {
-                              "type": "string",
-                              "default": ""
-                            },
-                            "meta": {
-                              "type": "object",
-                              "propertyNames": {
-                                "type": "string"
-                              }
-                            }
-                          },
-                          "additionalProperties": true
-                        }
-                      },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  }
-                },
-                "additionalProperties": true
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "description": {
-            "type": "string",
-            "default": ""
-          },
-          "columns": {
-            "type": "object",
-            "additionalProperties": {
-              "type": "object",
-              "title": "ColumnInfo",
-              "properties": {
-                "name": {
-                  "type": "string"
-                },
-                "description": {
-                  "type": "string",
-                  "default": ""
-                },
-                "meta": {
-                  "type": "object",
-                  "propertyNames": {
-                    "type": "string"
-                  }
-                },
-                "data_type": {
-                  "anyOf": [
-                    {
-                      "type": "string"
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "constraints": {
-                  "type": "array",
-                  "items": {
-                    "type": "object",
-                    "title": "ColumnLevelConstraint",
-                    "properties": {
-                      "type": {
+                      "resource_type": {
                         "enum": [
-                          "check",
-                          "not_null",
-                          "unique",
-                          "primary_key",
-                          "foreign_key",
-                          "custom"
+                          "model",
+                          "analysis",
+                          "test",
+                          "snapshot",
+                          "operation",
+                          "seed",
+                          "rpc",
+                          "sql_operation",
+                          "doc",
+                          "source",
+                          "macro",
+                          "exposure",
+                          "metric",
+                          "group",
+                          "saved_query",
+                          "semantic_model",
+                          "unit_test",
+                          "fixture",
+                          "function"
                         ]
                       },
                       "name": {
-                        "anyOf": [
-                          {
-                            "type": "string"
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ],
-                        "default": null
-                      },
-                      "expression": {
-                        "anyOf": [
-                          {
-                            "type": "string"
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ],
-                        "default": null
-                      },
-                      "warn_unenforced": {
-                        "type": "boolean",
-                        "default": true
+                        "type": "string"
                       },
-                      "warn_unsupported": {
-                        "type": "boolean",
-                        "default": true
+                      "description": {
+                        "type": "string"
                       },
-                      "to": {
+                      "compiled_code": {
                         "anyOf": [
                           {
                             "type": "string"
@@ -10923,315 +10522,40 @@
                           {
                             "type": "null"
                           }
-                        ],
-                        "default": null
+                        ]
                       },
-                      "to_columns": {
+                      "meta": {
+                        "type": "object",
+                        "propertyNames": {
+                          "type": "string"
+                        }
+                      },
+                      "tags": {
                         "type": "array",
                         "items": {
                           "type": "string"
                         }
-                      }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                      "type"
-                    ]
-                  }
-                },
-                "quote": {
-                  "anyOf": [
-                    {
-                      "type": "boolean"
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "config": {
-                  "type": "object",
-                  "title": "ColumnConfig",
-                  "properties": {
-                    "_extra": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "meta": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "tags": {
-                      "type": "array",
-                      "items": {
-                        "type": "string"
-                      }
-                    }
-                  },
-                  "additionalProperties": true
-                },
-                "tags": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                },
-                "_extra": {
-                  "type": "object",
-                  "propertyNames": {
-                    "type": "string"
-                  }
-                },
-                "granularity": {
-                  "anyOf": [
-                    {
-                      "enum": [
-                        "nanosecond",
-                        "microsecond",
-                        "millisecond",
-                        "second",
-                        "minute",
-                        "hour",
-                        "day",
-                        "week",
-                        "month",
-                        "quarter",
-                        "year"
-                      ]
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "dimension": {
-                  "anyOf": [
-                    {
-                      "type": "object",
-                      "title": "ColumnDimension",
-                      "properties": {
-                        "name": {
-                          "type": "string"
-                        },
-                        "type": {
-                          "enum": [
-                            "categorical",
-                            "time"
-                          ]
-                        },
-                        "description": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
-                        },
-                        "label": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
-                        },
-                        "is_partition": {
-                          "type": "boolean",
-                          "default": false
-                        },
-                        "config": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
-                          }
-                        },
-                        "validity_params": {
-                          "anyOf": [
-                            {
-                              "type": "object",
-                              "title": "ColumnDimensionValidityParams",
-                              "properties": {
-                                "is_start": {
-                                  "type": "boolean",
-                                  "default": false
-                                },
-                                "is_end": {
-                                  "type": "boolean",
-                                  "default": false
+                      },
+                      "config": {
+                        "anyOf": [
+                          {
+                            "type": "object",
+                            "title": "FunctionConfig",
+                            "properties": {
+                              "_extra": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
                                 }
                               },
-                              "additionalProperties": false
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
-                        }
-                      },
-                      "additionalProperties": false,
-                      "required": [
-                        "name",
-                        "type"
-                      ]
-                    },
-                    {
-                      "enum": [
-                        "categorical",
-                        "time"
-                      ]
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "entity": {
-                  "anyOf": [
-                    {
-                      "type": "object",
-                      "title": "ColumnEntity",
-                      "properties": {
-                        "name": {
-                          "type": "string"
-                        },
-                        "type": {
-                          "enum": [
-                            "foreign",
-                            "natural",
-                            "primary",
-                            "unique"
-                          ]
-                        },
-                        "description": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
-                        },
-                        "label": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
-                        },
-                        "config": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
-                          }
-                        }
-                      },
-                      "additionalProperties": false,
-                      "required": [
-                        "name",
-                        "type"
-                      ]
-                    },
-                    {
-                      "enum": [
-                        "foreign",
-                        "natural",
-                        "primary",
-                        "unique"
-                      ]
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "doc_blocks": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                }
-              },
-              "additionalProperties": true,
-              "required": [
-                "name"
-              ]
-            },
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "meta": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "source_meta": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "tags": {
-            "type": "array",
-            "items": {
-              "type": "string"
-            }
-          },
-          "config": {
-            "type": "object",
-            "title": "SourceConfig",
-            "properties": {
-              "_extra": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
-              },
-              "enabled": {
-                "type": "boolean",
-                "default": true
-              },
-              "event_time": {
-                "default": null
-              },
-              "freshness": {
-                "anyOf": [
-                  {
-                    "type": "object",
-                    "title": "FreshnessThreshold",
-                    "properties": {
-                      "warn_after": {
-                        "anyOf": [
-                          {
-                            "type": "object",
-                            "title": "Time",
-                            "properties": {
-                              "count": {
+                              "enabled": {
+                                "type": "boolean",
+                                "default": true
+                              },
+                              "alias": {
                                 "anyOf": [
                                   {
-                                    "type": "integer"
+                                    "type": "string"
                                   },
                                   {
                                     "type": "null"
@@ -11239,39 +10563,21 @@
                                 ],
                                 "default": null
                               },
-                              "period": {
+                              "schema": {
                                 "anyOf": [
                                   {
-                                    "enum": [
-                                      "minute",
-                                      "hour",
-                                      "day"
-                                    ]
+                                    "type": "string"
                                   },
                                   {
                                     "type": "null"
                                   }
                                 ],
                                 "default": null
-                              }
-                            },
-                            "additionalProperties": false
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ]
-                      },
-                      "error_after": {
-                        "anyOf": [
-                          {
-                            "type": "object",
-                            "title": "Time",
-                            "properties": {
-                              "count": {
+                              },
+                              "database": {
                                 "anyOf": [
                                   {
-                                    "type": "integer"
+                                    "type": "string"
                                   },
                                   {
                                     "type": "null"
@@ -11279,190 +10585,1381 @@
                                 ],
                                 "default": null
                               },
-                              "period": {
+                              "tags": {
                                 "anyOf": [
                                   {
-                                    "enum": [
-                                      "minute",
-                                      "hour",
-                                      "day"
-                                    ]
+                                    "type": "array",
+                                    "items": {
+                                      "type": "string"
+                                    }
+                                  },
+                                  {
+                                    "type": "string"
+                                  }
+                                ]
+                              },
+                              "meta": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
+                                }
+                              },
+                              "group": {
+                                "anyOf": [
+                                  {
+                                    "type": "string"
                                   },
                                   {
                                     "type": "null"
                                   }
                                 ],
                                 "default": null
-                              }
-                            },
-                            "additionalProperties": false
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ]
-                      },
-                      "filter": {
-                        "anyOf": [
-                          {
-                            "type": "string"
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ],
-                        "default": null
-                      }
-                    },
-                    "additionalProperties": false
-                  },
-                  {
-                    "type": "null"
-                  }
-                ]
-              },
-              "loaded_at_field": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "loaded_at_query": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "meta": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
-              },
-              "tags": {
-                "type": "array",
-                "items": {
-                  "type": "string"
-                }
-              }
-            },
-            "additionalProperties": true
-          },
-          "patch_path": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "unrendered_config": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "relation_name": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "created_at": {
-            "type": "number"
-          },
-          "unrendered_database": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "unrendered_schema": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "doc_blocks": {
-            "type": "array",
-            "items": {
-              "type": "string"
-            }
-          }
-        },
-        "additionalProperties": false,
-        "required": [
-          "database",
-          "schema",
-          "name",
-          "resource_type",
-          "package_name",
-          "path",
-          "original_file_path",
-          "unique_id",
-          "fqn",
-          "source_name",
-          "source_description",
-          "loader",
-          "identifier"
-        ]
-      },
-      "propertyNames": {
-        "type": "string"
-      }
-    },
-    "macros": {
-      "type": "object",
-      "description": "The macros defined in the dbt project and its dependencies",
-      "additionalProperties": {
-        "type": "object",
-        "title": "Macro",
-        "properties": {
-          "name": {
-            "type": "string"
-          },
-          "resource_type": {
-            "const": "macro"
-          },
-          "package_name": {
-            "type": "string"
-          },
-          "path": {
-            "type": "string"
-          },
-          "original_file_path": {
-            "type": "string"
-          },
-          "unique_id": {
-            "type": "string"
+                              },
+                              "materialized": {
+                                "type": "string",
+                                "default": "function"
+                              },
+                              "incremental_strategy": {
+                                "anyOf": [
+                                  {
+                                    "type": "string"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              },
+                              "batch_size": {
+                                "default": null
+                              },
+                              "lookback": {
+                                "default": 1
+                              },
+                              "begin": {
+                                "default": null
+                              },
+                              "persist_docs": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
+                                }
+                              },
+                              "post-hook": {
+                                "type": "array",
+                                "items": {
+                                  "type": "object",
+                                  "title": "Hook",
+                                  "properties": {
+                                    "sql": {
+                                      "type": "string"
+                                    },
+                                    "transaction": {
+                                      "type": "boolean",
+                                      "default": true
+                                    },
+                                    "index": {
+                                      "anyOf": [
+                                        {
+                                          "type": "integer"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    }
+                                  },
+                                  "additionalProperties": false,
+                                  "required": [
+                                    "sql"
+                                  ]
+                                }
+                              },
+                              "pre-hook": {
+                                "type": "array",
+                                "items": {
+                                  "type": "object",
+                                  "title": "Hook",
+                                  "properties": {
+                                    "sql": {
+                                      "type": "string"
+                                    },
+                                    "transaction": {
+                                      "type": "boolean",
+                                      "default": true
+                                    },
+                                    "index": {
+                                      "anyOf": [
+                                        {
+                                          "type": "integer"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    }
+                                  },
+                                  "additionalProperties": false,
+                                  "required": [
+                                    "sql"
+                                  ]
+                                }
+                              },
+                              "quoting": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
+                                }
+                              },
+                              "column_types": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
+                                }
+                              },
+                              "full_refresh": {
+                                "anyOf": [
+                                  {
+                                    "type": "boolean"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              },
+                              "unique_key": {
+                                "anyOf": [
+                                  {
+                                    "type": "string"
+                                  },
+                                  {
+                                    "type": "array",
+                                    "items": {
+                                      "type": "string"
+                                    }
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              },
+                              "on_schema_change": {
+                                "anyOf": [
+                                  {
+                                    "type": "string"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": "ignore"
+                              },
+                              "on_configuration_change": {
+                                "enum": [
+                                  "apply",
+                                  "continue",
+                                  "fail"
+                                ]
+                              },
+                              "grants": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
+                                }
+                              },
+                              "packages": {
+                                "type": "array",
+                                "items": {
+                                  "type": "string"
+                                }
+                              },
+                              "docs": {
+                                "type": "object",
+                                "title": "Docs",
+                                "properties": {
+                                  "show": {
+                                    "type": "boolean",
+                                    "default": true
+                                  },
+                                  "node_color": {
+                                    "anyOf": [
+                                      {
+                                        "type": "string"
+                                      },
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  }
+                                },
+                                "additionalProperties": false
+                              },
+                              "contract": {
+                                "type": "object",
+                                "title": "ContractConfig",
+                                "properties": {
+                                  "enforced": {
+                                    "type": "boolean",
+                                    "default": false
+                                  },
+                                  "alias_types": {
+                                    "type": "boolean",
+                                    "default": true
+                                  }
+                                },
+                                "additionalProperties": false
+                              },
+                              "event_time": {
+                                "default": null
+                              },
+                              "concurrent_batches": {
+                                "default": null
+                              },
+                              "type": {
+                                "enum": [
+                                  "scalar",
+                                  "aggregate",
+                                  "table"
+                                ],
+                                "default": "scalar"
+                              },
+                              "volatility": {
+                                "anyOf": [
+                                  {
+                                    "enum": [
+                                      "deterministic",
+                                      "stable",
+                                      "non-deterministic"
+                                    ]
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              },
+                              "runtime_version": {
+                                "anyOf": [
+                                  {
+                                    "type": "string"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              },
+                              "entry_point": {
+                                "anyOf": [
+                                  {
+                                    "type": "string"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              }
+                            },
+                            "additionalProperties": true
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ]
+                      },
+                      "arguments": {
+                        "type": "array",
+                        "items": {
+                          "type": "object",
+                          "title": "FunctionArgument",
+                          "properties": {
+                            "name": {
+                              "type": "string"
+                            },
+                            "data_type": {
+                              "type": "string"
+                            },
+                            "description": {
+                              "anyOf": [
+                                {
+                                  "type": "string"
+                                },
+                                {
+                                  "type": "null"
+                                }
+                              ],
+                              "default": null
+                            },
+                            "default_value": {
+                              "anyOf": [
+                                {},
+                                {
+                                  "type": "null"
+                                }
+                              ],
+                              "default": null
+                            }
+                          },
+                          "additionalProperties": false,
+                          "required": [
+                            "name",
+                            "data_type"
+                          ]
+                        }
+                      },
+                      "returns": {
+                        "type": "object",
+                        "title": "FunctionReturns",
+                        "properties": {
+                          "data_type": {
+                            "type": "string"
+                          },
+                          "description": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          }
+                        },
+                        "additionalProperties": false,
+                        "required": [
+                          "data_type"
+                        ]
+                      }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                      "database",
+                      "schema",
+                      "alias",
+                      "resource_type",
+                      "name",
+                      "description",
+                      "compiled_code",
+                      "meta",
+                      "tags",
+                      "config",
+                      "arguments",
+                      "returns"
+                    ]
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              }
+            },
+            "additionalProperties": false,
+            "required": [
+              "returns",
+              "database",
+              "schema",
+              "name",
+              "resource_type",
+              "package_name",
+              "path",
+              "original_file_path",
+              "unique_id",
+              "fqn",
+              "alias",
+              "checksum",
+              "config"
+            ]
+          }
+        ]
+      },
+      "propertyNames": {
+        "type": "string"
+      }
+    },
+    "sources": {
+      "type": "object",
+      "description": "The sources defined in the dbt project and its dependencies",
+      "additionalProperties": {
+        "type": "object",
+        "title": "SourceDefinition",
+        "properties": {
+          "database": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ]
+          },
+          "schema": {
+            "type": "string"
+          },
+          "name": {
+            "type": "string"
+          },
+          "resource_type": {
+            "const": "source"
+          },
+          "package_name": {
+            "type": "string"
+          },
+          "path": {
+            "type": "string"
+          },
+          "original_file_path": {
+            "type": "string"
+          },
+          "unique_id": {
+            "type": "string"
+          },
+          "fqn": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            }
+          },
+          "source_name": {
+            "type": "string"
+          },
+          "source_description": {
+            "type": "string"
+          },
+          "loader": {
+            "type": "string"
+          },
+          "identifier": {
+            "type": "string"
+          },
+          "quoting": {
+            "type": "object",
+            "title": "Quoting",
+            "properties": {
+              "database": {
+                "anyOf": [
+                  {
+                    "type": "boolean"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "schema": {
+                "anyOf": [
+                  {
+                    "type": "boolean"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "identifier": {
+                "anyOf": [
+                  {
+                    "type": "boolean"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "column": {
+                "anyOf": [
+                  {
+                    "type": "boolean"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              }
+            },
+            "additionalProperties": false
+          },
+          "loaded_at_field": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "loaded_at_query": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "freshness": {
+            "anyOf": [
+              {
+                "type": "object",
+                "title": "FreshnessThreshold",
+                "properties": {
+                  "warn_after": {
+                    "anyOf": [
+                      {
+                        "type": "object",
+                        "title": "Time",
+                        "properties": {
+                          "count": {
+                            "anyOf": [
+                              {
+                                "type": "integer"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "period": {
+                            "anyOf": [
+                              {
+                                "enum": [
+                                  "minute",
+                                  "hour",
+                                  "day"
+                                ]
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          }
+                        },
+                        "additionalProperties": false
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ]
+                  },
+                  "error_after": {
+                    "anyOf": [
+                      {
+                        "type": "object",
+                        "title": "Time",
+                        "properties": {
+                          "count": {
+                            "anyOf": [
+                              {
+                                "type": "integer"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "period": {
+                            "anyOf": [
+                              {
+                                "enum": [
+                                  "minute",
+                                  "hour",
+                                  "day"
+                                ]
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          }
+                        },
+                        "additionalProperties": false
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ]
+                  },
+                  "filter": {
+                    "anyOf": [
+                      {
+                        "type": "string"
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  }
+                },
+                "additionalProperties": false
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "external": {
+            "anyOf": [
+              {
+                "type": "object",
+                "title": "ExternalTable",
+                "properties": {
+                  "_extra": {
+                    "type": "object",
+                    "propertyNames": {
+                      "type": "string"
+                    }
+                  },
+                  "location": {
+                    "anyOf": [
+                      {
+                        "type": "string"
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  },
+                  "file_format": {
+                    "anyOf": [
+                      {
+                        "type": "string"
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  },
+                  "row_format": {
+                    "anyOf": [
+                      {
+                        "type": "string"
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  },
+                  "tbl_properties": {
+                    "anyOf": [
+                      {
+                        "type": "string"
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  },
+                  "partitions": {
+                    "anyOf": [
+                      {
+                        "type": "array",
+                        "items": {
+                          "type": "string"
+                        }
+                      },
+                      {
+                        "type": "array",
+                        "items": {
+                          "type": "object",
+                          "title": "ExternalPartition",
+                          "properties": {
+                            "_extra": {
+                              "type": "object",
+                              "propertyNames": {
+                                "type": "string"
+                              }
+                            },
+                            "name": {
+                              "type": "string",
+                              "default": ""
+                            },
+                            "description": {
+                              "type": "string",
+                              "default": ""
+                            },
+                            "data_type": {
+                              "type": "string",
+                              "default": ""
+                            },
+                            "meta": {
+                              "type": "object",
+                              "propertyNames": {
+                                "type": "string"
+                              }
+                            }
+                          },
+                          "additionalProperties": true
+                        }
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  }
+                },
+                "additionalProperties": true
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "description": {
+            "type": "string",
+            "default": ""
+          },
+          "columns": {
+            "type": "object",
+            "additionalProperties": {
+              "type": "object",
+              "title": "ColumnInfo",
+              "properties": {
+                "name": {
+                  "type": "string"
+                },
+                "description": {
+                  "type": "string",
+                  "default": ""
+                },
+                "meta": {
+                  "type": "object",
+                  "propertyNames": {
+                    "type": "string"
+                  }
+                },
+                "data_type": {
+                  "anyOf": [
+                    {
+                      "type": "string"
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "constraints": {
+                  "type": "array",
+                  "items": {
+                    "type": "object",
+                    "title": "ColumnLevelConstraint",
+                    "properties": {
+                      "type": {
+                        "enum": [
+                          "check",
+                          "not_null",
+                          "unique",
+                          "primary_key",
+                          "foreign_key",
+                          "custom"
+                        ]
+                      },
+                      "name": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      },
+                      "expression": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      },
+                      "warn_unenforced": {
+                        "type": "boolean",
+                        "default": true
+                      },
+                      "warn_unsupported": {
+                        "type": "boolean",
+                        "default": true
+                      },
+                      "to": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      },
+                      "to_columns": {
+                        "type": "array",
+                        "items": {
+                          "type": "string"
+                        }
+                      }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                      "type"
+                    ]
+                  }
+                },
+                "quote": {
+                  "anyOf": [
+                    {
+                      "type": "boolean"
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "config": {
+                  "type": "object",
+                  "title": "ColumnConfig",
+                  "properties": {
+                    "_extra": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "meta": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "tags": {
+                      "type": "array",
+                      "items": {
+                        "type": "string"
+                      }
+                    }
+                  },
+                  "additionalProperties": true
+                },
+                "tags": {
+                  "type": "array",
+                  "items": {
+                    "type": "string"
+                  }
+                },
+                "_extra": {
+                  "type": "object",
+                  "propertyNames": {
+                    "type": "string"
+                  }
+                },
+                "granularity": {
+                  "anyOf": [
+                    {
+                      "enum": [
+                        "nanosecond",
+                        "microsecond",
+                        "millisecond",
+                        "second",
+                        "minute",
+                        "hour",
+                        "day",
+                        "week",
+                        "month",
+                        "quarter",
+                        "year"
+                      ]
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "dimension": {
+                  "anyOf": [
+                    {
+                      "type": "object",
+                      "title": "ColumnDimension",
+                      "properties": {
+                        "name": {
+                          "type": "string"
+                        },
+                        "type": {
+                          "enum": [
+                            "categorical",
+                            "time"
+                          ]
+                        },
+                        "description": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "label": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "is_partition": {
+                          "type": "boolean",
+                          "default": false
+                        },
+                        "config": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        },
+                        "validity_params": {
+                          "anyOf": [
+                            {
+                              "type": "object",
+                              "title": "ColumnDimensionValidityParams",
+                              "properties": {
+                                "is_start": {
+                                  "type": "boolean",
+                                  "default": false
+                                },
+                                "is_end": {
+                                  "type": "boolean",
+                                  "default": false
+                                }
+                              },
+                              "additionalProperties": false
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        }
+                      },
+                      "additionalProperties": false,
+                      "required": [
+                        "name",
+                        "type"
+                      ]
+                    },
+                    {
+                      "enum": [
+                        "categorical",
+                        "time"
+                      ]
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "entity": {
+                  "anyOf": [
+                    {
+                      "type": "object",
+                      "title": "ColumnEntity",
+                      "properties": {
+                        "name": {
+                          "type": "string"
+                        },
+                        "type": {
+                          "enum": [
+                            "foreign",
+                            "natural",
+                            "primary",
+                            "unique"
+                          ]
+                        },
+                        "description": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "label": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "config": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        }
+                      },
+                      "additionalProperties": false,
+                      "required": [
+                        "name",
+                        "type"
+                      ]
+                    },
+                    {
+                      "enum": [
+                        "foreign",
+                        "natural",
+                        "primary",
+                        "unique"
+                      ]
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "doc_blocks": {
+                  "type": "array",
+                  "items": {
+                    "type": "string"
+                  }
+                }
+              },
+              "additionalProperties": true,
+              "required": [
+                "name"
+              ]
+            },
+            "propertyNames": {
+              "type": "string"
+            }
+          },
+          "meta": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
+          },
+          "source_meta": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
+          },
+          "tags": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            }
+          },
+          "config": {
+            "type": "object",
+            "title": "SourceConfig",
+            "properties": {
+              "_extra": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "enabled": {
+                "type": "boolean",
+                "default": true
+              },
+              "event_time": {
+                "default": null
+              },
+              "freshness": {
+                "anyOf": [
+                  {
+                    "type": "object",
+                    "title": "FreshnessThreshold",
+                    "properties": {
+                      "warn_after": {
+                        "anyOf": [
+                          {
+                            "type": "object",
+                            "title": "Time",
+                            "properties": {
+                              "count": {
+                                "anyOf": [
+                                  {
+                                    "type": "integer"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              },
+                              "period": {
+                                "anyOf": [
+                                  {
+                                    "enum": [
+                                      "minute",
+                                      "hour",
+                                      "day"
+                                    ]
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              }
+                            },
+                            "additionalProperties": false
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ]
+                      },
+                      "error_after": {
+                        "anyOf": [
+                          {
+                            "type": "object",
+                            "title": "Time",
+                            "properties": {
+                              "count": {
+                                "anyOf": [
+                                  {
+                                    "type": "integer"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              },
+                              "period": {
+                                "anyOf": [
+                                  {
+                                    "enum": [
+                                      "minute",
+                                      "hour",
+                                      "day"
+                                    ]
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              }
+                            },
+                            "additionalProperties": false
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ]
+                      },
+                      "filter": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      }
+                    },
+                    "additionalProperties": false
+                  },
+                  {
+                    "type": "null"
+                  }
+                ]
+              },
+              "loaded_at_field": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "loaded_at_query": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "meta": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "tags": {
+                "type": "array",
+                "items": {
+                  "type": "string"
+                }
+              }
+            },
+            "additionalProperties": true
+          },
+          "patch_path": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "unrendered_config": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
+          },
+          "relation_name": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "created_at": {
+            "type": "number"
+          },
+          "unrendered_database": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "unrendered_schema": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "doc_blocks": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            }
+          }
+        },
+        "additionalProperties": false,
+        "required": [
+          "database",
+          "schema",
+          "name",
+          "resource_type",
+          "package_name",
+          "path",
+          "original_file_path",
+          "unique_id",
+          "fqn",
+          "source_name",
+          "source_description",
+          "loader",
+          "identifier"
+        ]
+      },
+      "propertyNames": {
+        "type": "string"
+      }
+    },
+    "macros": {
+      "type": "object",
+      "description": "The macros defined in the dbt project and its dependencies",
+      "additionalProperties": {
+        "type": "object",
+        "title": "Macro",
+        "properties": {
+          "name": {
+            "type": "string"
+          },
+          "resource_type": {
+            "const": "macro"
+          },
+          "package_name": {
+            "type": "string"
+          },
+          "path": {
+            "type": "string"
+          },
+          "original_file_path": {
+            "type": "string"
+          },
+          "unique_id": {
+            "type": "string"
           },
           "macro_sql": {
             "type": "string"
@@ -11506,11 +12003,52 @@
                   {
                     "type": "null"
                   }
-                ],
-                "default": null
+                ],
+                "default": null
+              }
+            },
+            "additionalProperties": false
+          },
+          "config": {
+            "type": "object",
+            "title": "MacroConfig",
+            "properties": {
+              "_extra": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "meta": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "docs": {
+                "type": "object",
+                "title": "Docs",
+                "properties": {
+                  "show": {
+                    "type": "boolean",
+                    "default": true
+                  },
+                  "node_color": {
+                    "anyOf": [
+                      {
+                        "type": "string"
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  }
+                },
+                "additionalProperties": false
               }
             },
-            "additionalProperties": false
+            "additionalProperties": true
           },
           "patch_path": {
             "anyOf": [
@@ -22907,32 +23445,290 @@
                           "type": "boolean",
                           "default": true
                         },
-                        "alias": {
-                          "anyOf": [
-                            {
-                              "type": "string"
+                        "alias": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "schema": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "database": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "tags": {
+                          "anyOf": [
+                            {
+                              "type": "array",
+                              "items": {
+                                "type": "string"
+                              }
+                            },
+                            {
+                              "type": "string"
+                            }
+                          ]
+                        },
+                        "meta": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        },
+                        "group": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "materialized": {
+                          "type": "string",
+                          "default": "function"
+                        },
+                        "incremental_strategy": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "batch_size": {
+                          "default": null
+                        },
+                        "lookback": {
+                          "default": 1
+                        },
+                        "begin": {
+                          "default": null
+                        },
+                        "persist_docs": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        },
+                        "post-hook": {
+                          "type": "array",
+                          "items": {
+                            "type": "object",
+                            "title": "Hook",
+                            "properties": {
+                              "sql": {
+                                "type": "string"
+                              },
+                              "transaction": {
+                                "type": "boolean",
+                                "default": true
+                              },
+                              "index": {
+                                "anyOf": [
+                                  {
+                                    "type": "integer"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              }
+                            },
+                            "additionalProperties": false,
+                            "required": [
+                              "sql"
+                            ]
+                          }
+                        },
+                        "pre-hook": {
+                          "type": "array",
+                          "items": {
+                            "type": "object",
+                            "title": "Hook",
+                            "properties": {
+                              "sql": {
+                                "type": "string"
+                              },
+                              "transaction": {
+                                "type": "boolean",
+                                "default": true
+                              },
+                              "index": {
+                                "anyOf": [
+                                  {
+                                    "type": "integer"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              }
+                            },
+                            "additionalProperties": false,
+                            "required": [
+                              "sql"
+                            ]
+                          }
+                        },
+                        "quoting": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        },
+                        "column_types": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        },
+                        "full_refresh": {
+                          "anyOf": [
+                            {
+                              "type": "boolean"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "unique_key": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "array",
+                              "items": {
+                                "type": "string"
+                              }
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "on_schema_change": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": "ignore"
+                        },
+                        "on_configuration_change": {
+                          "enum": [
+                            "apply",
+                            "continue",
+                            "fail"
+                          ]
+                        },
+                        "grants": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        },
+                        "packages": {
+                          "type": "array",
+                          "items": {
+                            "type": "string"
+                          }
+                        },
+                        "docs": {
+                          "type": "object",
+                          "title": "Docs",
+                          "properties": {
+                            "show": {
+                              "type": "boolean",
+                              "default": true
+                            },
+                            "node_color": {
+                              "anyOf": [
+                                {
+                                  "type": "string"
+                                },
+                                {
+                                  "type": "null"
+                                }
+                              ],
+                              "default": null
+                            }
+                          },
+                          "additionalProperties": false
+                        },
+                        "contract": {
+                          "type": "object",
+                          "title": "ContractConfig",
+                          "properties": {
+                            "enforced": {
+                              "type": "boolean",
+                              "default": false
                             },
-                            {
-                              "type": "null"
+                            "alias_types": {
+                              "type": "boolean",
+                              "default": true
                             }
-                          ],
+                          },
+                          "additionalProperties": false
+                        },
+                        "event_time": {
                           "default": null
                         },
-                        "schema": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
+                        "concurrent_batches": {
                           "default": null
                         },
-                        "database": {
+                        "type": {
+                          "enum": [
+                            "scalar",
+                            "aggregate",
+                            "table"
+                          ],
+                          "default": "scalar"
+                        },
+                        "volatility": {
                           "anyOf": [
                             {
-                              "type": "string"
+                              "enum": [
+                                "deterministic",
+                                "stable",
+                                "non-deterministic"
+                              ]
                             },
                             {
                               "type": "null"
@@ -22940,26 +23736,7 @@
                           ],
                           "default": null
                         },
-                        "tags": {
-                          "anyOf": [
-                            {
-                              "type": "array",
-                              "items": {
-                                "type": "string"
-                              }
-                            },
-                            {
-                              "type": "string"
-                            }
-                          ]
-                        },
-                        "meta": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
-                          }
-                        },
-                        "group": {
+                        "runtime_version": {
                           "anyOf": [
                             {
                               "type": "string"
@@ -22970,11 +23747,7 @@
                           ],
                           "default": null
                         },
-                        "materialized": {
-                          "type": "string",
-                          "default": "function"
-                        },
-                        "incremental_strategy": {
+                        "entry_point": {
                           "anyOf": [
                             {
                               "type": "string"
@@ -22984,232 +23757,630 @@
                             }
                           ],
                           "default": null
-                        },
-                        "batch_size": {
-                          "default": null
-                        },
-                        "lookback": {
-                          "default": 1
-                        },
-                        "begin": {
-                          "default": null
-                        },
-                        "persist_docs": {
-                          "type": "object",
-                          "propertyNames": {
+                        }
+                      },
+                      "additionalProperties": true
+                    },
+                    "tags": {
+                      "type": "array",
+                      "items": {
+                        "type": "string"
+                      }
+                    },
+                    "description": {
+                      "type": "string",
+                      "default": ""
+                    },
+                    "columns": {
+                      "type": "object",
+                      "additionalProperties": {
+                        "type": "object",
+                        "title": "ColumnInfo",
+                        "properties": {
+                          "name": {
                             "type": "string"
-                          }
-                        },
-                        "post-hook": {
-                          "type": "array",
-                          "items": {
+                          },
+                          "description": {
+                            "type": "string",
+                            "default": ""
+                          },
+                          "meta": {
                             "type": "object",
-                            "title": "Hook",
-                            "properties": {
-                              "sql": {
+                            "propertyNames": {
+                              "type": "string"
+                            }
+                          },
+                          "data_type": {
+                            "anyOf": [
+                              {
                                 "type": "string"
                               },
-                              "transaction": {
-                                "type": "boolean",
-                                "default": true
-                              },
-                              "index": {
-                                "anyOf": [
-                                  {
-                                    "type": "integer"
-                                  },
-                                  {
-                                    "type": "null"
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "constraints": {
+                            "type": "array",
+                            "items": {
+                              "type": "object",
+                              "title": "ColumnLevelConstraint",
+                              "properties": {
+                                "type": {
+                                  "enum": [
+                                    "check",
+                                    "not_null",
+                                    "unique",
+                                    "primary_key",
+                                    "foreign_key",
+                                    "custom"
+                                  ]
+                                },
+                                "name": {
+                                  "anyOf": [
+                                    {
+                                      "type": "string"
+                                    },
+                                    {
+                                      "type": "null"
+                                    }
+                                  ],
+                                  "default": null
+                                },
+                                "expression": {
+                                  "anyOf": [
+                                    {
+                                      "type": "string"
+                                    },
+                                    {
+                                      "type": "null"
+                                    }
+                                  ],
+                                  "default": null
+                                },
+                                "warn_unenforced": {
+                                  "type": "boolean",
+                                  "default": true
+                                },
+                                "warn_unsupported": {
+                                  "type": "boolean",
+                                  "default": true
+                                },
+                                "to": {
+                                  "anyOf": [
+                                    {
+                                      "type": "string"
+                                    },
+                                    {
+                                      "type": "null"
+                                    }
+                                  ],
+                                  "default": null
+                                },
+                                "to_columns": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "string"
                                   }
-                                ],
-                                "default": null
+                                }
+                              },
+                              "additionalProperties": false,
+                              "required": [
+                                "type"
+                              ]
+                            }
+                          },
+                          "quote": {
+                            "anyOf": [
+                              {
+                                "type": "boolean"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "config": {
+                            "type": "object",
+                            "title": "ColumnConfig",
+                            "properties": {
+                              "_extra": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
+                                }
+                              },
+                              "meta": {
+                                "type": "object",
+                                "propertyNames": {
+                                  "type": "string"
+                                }
+                              },
+                              "tags": {
+                                "type": "array",
+                                "items": {
+                                  "type": "string"
+                                }
                               }
                             },
-                            "additionalProperties": false,
-                            "required": [
-                              "sql"
-                            ]
-                          }
-                        },
-                        "pre-hook": {
-                          "type": "array",
-                          "items": {
+                            "additionalProperties": true
+                          },
+                          "tags": {
+                            "type": "array",
+                            "items": {
+                              "type": "string"
+                            }
+                          },
+                          "_extra": {
                             "type": "object",
-                            "title": "Hook",
-                            "properties": {
-                              "sql": {
-                                "type": "string"
+                            "propertyNames": {
+                              "type": "string"
+                            }
+                          },
+                          "granularity": {
+                            "anyOf": [
+                              {
+                                "enum": [
+                                  "nanosecond",
+                                  "microsecond",
+                                  "millisecond",
+                                  "second",
+                                  "minute",
+                                  "hour",
+                                  "day",
+                                  "week",
+                                  "month",
+                                  "quarter",
+                                  "year"
+                                ]
                               },
-                              "transaction": {
-                                "type": "boolean",
-                                "default": true
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "dimension": {
+                            "anyOf": [
+                              {
+                                "type": "object",
+                                "title": "ColumnDimension",
+                                "properties": {
+                                  "name": {
+                                    "type": "string"
+                                  },
+                                  "type": {
+                                    "enum": [
+                                      "categorical",
+                                      "time"
+                                    ]
+                                  },
+                                  "description": {
+                                    "anyOf": [
+                                      {
+                                        "type": "string"
+                                      },
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  },
+                                  "label": {
+                                    "anyOf": [
+                                      {
+                                        "type": "string"
+                                      },
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  },
+                                  "is_partition": {
+                                    "type": "boolean",
+                                    "default": false
+                                  },
+                                  "config": {
+                                    "type": "object",
+                                    "propertyNames": {
+                                      "type": "string"
+                                    }
+                                  },
+                                  "validity_params": {
+                                    "anyOf": [
+                                      {
+                                        "type": "object",
+                                        "title": "ColumnDimensionValidityParams",
+                                        "properties": {
+                                          "is_start": {
+                                            "type": "boolean",
+                                            "default": false
+                                          },
+                                          "is_end": {
+                                            "type": "boolean",
+                                            "default": false
+                                          }
+                                        },
+                                        "additionalProperties": false
+                                      },
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  }
+                                },
+                                "additionalProperties": false,
+                                "required": [
+                                  "name",
+                                  "type"
+                                ]
                               },
-                              "index": {
-                                "anyOf": [
-                                  {
-                                    "type": "integer"
+                              {
+                                "enum": [
+                                  "categorical",
+                                  "time"
+                                ]
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "entity": {
+                            "anyOf": [
+                              {
+                                "type": "object",
+                                "title": "ColumnEntity",
+                                "properties": {
+                                  "name": {
+                                    "type": "string"
                                   },
-                                  {
-                                    "type": "null"
+                                  "type": {
+                                    "enum": [
+                                      "foreign",
+                                      "natural",
+                                      "primary",
+                                      "unique"
+                                    ]
+                                  },
+                                  "description": {
+                                    "anyOf": [
+                                      {
+                                        "type": "string"
+                                      },
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  },
+                                  "label": {
+                                    "anyOf": [
+                                      {
+                                        "type": "string"
+                                      },
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  },
+                                  "config": {
+                                    "type": "object",
+                                    "propertyNames": {
+                                      "type": "string"
+                                    }
                                   }
-                                ],
-                                "default": null
+                                },
+                                "additionalProperties": false,
+                                "required": [
+                                  "name",
+                                  "type"
+                                ]
+                              },
+                              {
+                                "enum": [
+                                  "foreign",
+                                  "natural",
+                                  "primary",
+                                  "unique"
+                                ]
+                              },
+                              {
+                                "type": "null"
                               }
-                            },
-                            "additionalProperties": false,
-                            "required": [
-                              "sql"
-                            ]
-                          }
-                        },
-                        "quoting": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
-                          }
-                        },
-                        "column_types": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
+                            ],
+                            "default": null
+                          },
+                          "doc_blocks": {
+                            "type": "array",
+                            "items": {
+                              "type": "string"
+                            }
                           }
                         },
-                        "full_refresh": {
-                          "anyOf": [
-                            {
-                              "type": "boolean"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
+                        "additionalProperties": true,
+                        "required": [
+                          "name"
+                        ]
+                      },
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "meta": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "group": {
+                      "anyOf": [
+                        {
+                          "type": "string"
                         },
-                        "unique_key": {
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
+                    },
+                    "docs": {
+                      "type": "object",
+                      "title": "Docs",
+                      "properties": {
+                        "show": {
+                          "type": "boolean",
+                          "default": true
+                        },
+                        "node_color": {
                           "anyOf": [
                             {
                               "type": "string"
                             },
-                            {
-                              "type": "array",
-                              "items": {
-                                "type": "string"
-                              }
-                            },
                             {
                               "type": "null"
                             }
                           ],
                           "default": null
+                        }
+                      },
+                      "additionalProperties": false
+                    },
+                    "patch_path": {
+                      "anyOf": [
+                        {
+                          "type": "string"
                         },
-                        "on_schema_change": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": "ignore"
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
+                    },
+                    "build_path": {
+                      "anyOf": [
+                        {
+                          "type": "string"
                         },
-                        "on_configuration_change": {
-                          "enum": [
-                            "apply",
-                            "continue",
-                            "fail"
-                          ]
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
+                    },
+                    "unrendered_config": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "created_at": {
+                      "type": "number"
+                    },
+                    "config_call_dict": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "unrendered_config_call_dict": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "relation_name": {
+                      "anyOf": [
+                        {
+                          "type": "string"
                         },
-                        "grants": {
-                          "type": "object",
-                          "propertyNames": {
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
+                    },
+                    "raw_code": {
+                      "type": "string",
+                      "default": ""
+                    },
+                    "doc_blocks": {
+                      "type": "array",
+                      "items": {
+                        "type": "string"
+                      }
+                    },
+                    "language": {
+                      "type": "string",
+                      "default": "sql"
+                    },
+                    "refs": {
+                      "type": "array",
+                      "items": {
+                        "type": "object",
+                        "title": "RefArgs",
+                        "properties": {
+                          "name": {
+                            "type": "string"
+                          },
+                          "package": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "version": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "number"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          }
+                        },
+                        "additionalProperties": false,
+                        "required": [
+                          "name"
+                        ]
+                      }
+                    },
+                    "sources": {
+                      "type": "array",
+                      "items": {
+                        "type": "array",
+                        "items": {
+                          "type": "string"
+                        }
+                      }
+                    },
+                    "metrics": {
+                      "type": "array",
+                      "items": {
+                        "type": "array",
+                        "items": {
+                          "type": "string"
+                        }
+                      }
+                    },
+                    "functions": {
+                      "type": "array",
+                      "items": {
+                        "type": "array",
+                        "items": {
+                          "type": "string"
+                        }
+                      }
+                    },
+                    "depends_on": {
+                      "type": "object",
+                      "title": "DependsOn",
+                      "properties": {
+                        "macros": {
+                          "type": "array",
+                          "items": {
                             "type": "string"
                           }
                         },
-                        "packages": {
+                        "nodes": {
                           "type": "array",
                           "items": {
                             "type": "string"
                           }
+                        }
+                      },
+                      "additionalProperties": false
+                    },
+                    "compiled_path": {
+                      "anyOf": [
+                        {
+                          "type": "string"
                         },
-                        "docs": {
-                          "type": "object",
-                          "title": "Docs",
-                          "properties": {
-                            "show": {
-                              "type": "boolean",
-                              "default": true
-                            },
-                            "node_color": {
-                              "anyOf": [
-                                {
-                                  "type": "string"
-                                },
-                                {
-                                  "type": "null"
-                                }
-                              ],
-                              "default": null
-                            }
-                          },
-                          "additionalProperties": false
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
+                    },
+                    "compiled": {
+                      "type": "boolean",
+                      "default": false
+                    },
+                    "compiled_code": {
+                      "anyOf": [
+                        {
+                          "type": "string"
                         },
-                        "contract": {
-                          "type": "object",
-                          "title": "ContractConfig",
-                          "properties": {
-                            "enforced": {
-                              "type": "boolean",
-                              "default": false
-                            },
-                            "alias_types": {
-                              "type": "boolean",
-                              "default": true
-                            }
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
+                    },
+                    "extra_ctes_injected": {
+                      "type": "boolean",
+                      "default": false
+                    },
+                    "extra_ctes": {
+                      "type": "array",
+                      "items": {
+                        "type": "object",
+                        "title": "InjectedCTE",
+                        "properties": {
+                          "id": {
+                            "type": "string"
                           },
-                          "additionalProperties": false
-                        },
-                        "event_time": {
-                          "default": null
-                        },
-                        "concurrent_batches": {
-                          "default": null
+                          "sql": {
+                            "type": "string"
+                          }
                         },
-                        "type": {
-                          "enum": [
-                            "scalar",
-                            "aggregate",
-                            "table"
-                          ],
-                          "default": "scalar"
+                        "additionalProperties": false,
+                        "required": [
+                          "id",
+                          "sql"
+                        ]
+                      }
+                    },
+                    "_pre_injected_sql": {
+                      "anyOf": [
+                        {
+                          "type": "string"
                         },
-                        "volatility": {
-                          "anyOf": [
-                            {
-                              "enum": [
-                                "deterministic",
-                                "stable",
-                                "non-deterministic"
-                              ]
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
+                    },
+                    "contract": {
+                      "type": "object",
+                      "title": "Contract",
+                      "properties": {
+                        "enforced": {
+                          "type": "boolean",
+                          "default": false
                         },
-                        "runtime_version": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
+                        "alias_types": {
+                          "type": "boolean",
+                          "default": true
                         },
-                        "entry_point": {
+                        "checksum": {
                           "anyOf": [
                             {
                               "type": "string"
@@ -23221,38 +24392,21 @@
                           "default": null
                         }
                       },
-                      "additionalProperties": true
+                      "additionalProperties": false
                     },
-                    "tags": {
+                    "arguments": {
                       "type": "array",
                       "items": {
-                        "type": "string"
-                      }
-                    },
-                    "description": {
-                      "type": "string",
-                      "default": ""
-                    },
-                    "columns": {
-                      "type": "object",
-                      "additionalProperties": {
                         "type": "object",
-                        "title": "ColumnInfo",
+                        "title": "FunctionArgument",
                         "properties": {
                           "name": {
                             "type": "string"
                           },
-                          "description": {
-                            "type": "string",
-                            "default": ""
-                          },
-                          "meta": {
-                            "type": "object",
-                            "propertyNames": {
-                              "type": "string"
-                            }
-                          },
                           "data_type": {
+                            "type": "string"
+                          },
+                          "description": {
                             "anyOf": [
                               {
                                 "type": "string"
@@ -23263,638 +24417,519 @@
                             ],
                             "default": null
                           },
-                          "constraints": {
-                            "type": "array",
-                            "items": {
-                              "type": "object",
-                              "title": "ColumnLevelConstraint",
-                              "properties": {
-                                "type": {
-                                  "enum": [
-                                    "check",
-                                    "not_null",
-                                    "unique",
-                                    "primary_key",
-                                    "foreign_key",
-                                    "custom"
-                                  ]
-                                },
-                                "name": {
-                                  "anyOf": [
-                                    {
-                                      "type": "string"
-                                    },
-                                    {
-                                      "type": "null"
-                                    }
-                                  ],
-                                  "default": null
-                                },
-                                "expression": {
-                                  "anyOf": [
-                                    {
-                                      "type": "string"
-                                    },
-                                    {
-                                      "type": "null"
-                                    }
-                                  ],
-                                  "default": null
-                                },
-                                "warn_unenforced": {
-                                  "type": "boolean",
-                                  "default": true
-                                },
-                                "warn_unsupported": {
-                                  "type": "boolean",
-                                  "default": true
-                                },
-                                "to": {
-                                  "anyOf": [
-                                    {
-                                      "type": "string"
-                                    },
-                                    {
-                                      "type": "null"
-                                    }
-                                  ],
-                                  "default": null
-                                },
-                                "to_columns": {
-                                  "type": "array",
-                                  "items": {
-                                    "type": "string"
-                                  }
-                                }
-                              },
-                              "additionalProperties": false,
-                              "required": [
-                                "type"
-                              ]
-                            }
-                          },
-                          "quote": {
+                          "default_value": {
                             "anyOf": [
-                              {
-                                "type": "boolean"
-                              },
+                              {},
                               {
                                 "type": "null"
                               }
                             ],
                             "default": null
-                          },
-                          "config": {
-                            "type": "object",
-                            "title": "ColumnConfig",
-                            "properties": {
-                              "_extra": {
-                                "type": "object",
-                                "propertyNames": {
-                                  "type": "string"
-                                }
-                              },
-                              "meta": {
-                                "type": "object",
-                                "propertyNames": {
+                          }
+                        },
+                        "additionalProperties": false,
+                        "required": [
+                          "name",
+                          "data_type"
+                        ]
+                      }
+                    },
+                    "defer_function": {
+                      "anyOf": [
+                        {
+                          "type": "object",
+                          "title": "DeferFunction",
+                          "properties": {
+                            "database": {
+                              "anyOf": [
+                                {
                                   "type": "string"
+                                },
+                                {
+                                  "type": "null"
                                 }
-                              },
-                              "tags": {
-                                "type": "array",
-                                "items": {
+                              ]
+                            },
+                            "schema": {
+                              "type": "string"
+                            },
+                            "alias": {
+                              "type": "string"
+                            },
+                            "resource_type": {
+                              "enum": [
+                                "model",
+                                "analysis",
+                                "test",
+                                "snapshot",
+                                "operation",
+                                "seed",
+                                "rpc",
+                                "sql_operation",
+                                "doc",
+                                "source",
+                                "macro",
+                                "exposure",
+                                "metric",
+                                "group",
+                                "saved_query",
+                                "semantic_model",
+                                "unit_test",
+                                "fixture",
+                                "function"
+                              ]
+                            },
+                            "name": {
+                              "type": "string"
+                            },
+                            "description": {
+                              "type": "string"
+                            },
+                            "compiled_code": {
+                              "anyOf": [
+                                {
                                   "type": "string"
+                                },
+                                {
+                                  "type": "null"
                                 }
+                              ]
+                            },
+                            "meta": {
+                              "type": "object",
+                              "propertyNames": {
+                                "type": "string"
                               }
                             },
-                            "additionalProperties": true
-                          },
-                          "tags": {
-                            "type": "array",
-                            "items": {
-                              "type": "string"
-                            }
-                          },
-                          "_extra": {
-                            "type": "object",
-                            "propertyNames": {
-                              "type": "string"
-                            }
-                          },
-                          "granularity": {
-                            "anyOf": [
-                              {
-                                "enum": [
-                                  "nanosecond",
-                                  "microsecond",
-                                  "millisecond",
-                                  "second",
-                                  "minute",
-                                  "hour",
-                                  "day",
-                                  "week",
-                                  "month",
-                                  "quarter",
-                                  "year"
-                                ]
-                              },
-                              {
-                                "type": "null"
+                            "tags": {
+                              "type": "array",
+                              "items": {
+                                "type": "string"
                               }
-                            ],
-                            "default": null
-                          },
-                          "dimension": {
-                            "anyOf": [
-                              {
-                                "type": "object",
-                                "title": "ColumnDimension",
-                                "properties": {
-                                  "name": {
-                                    "type": "string"
-                                  },
-                                  "type": {
-                                    "enum": [
-                                      "categorical",
-                                      "time"
-                                    ]
-                                  },
-                                  "description": {
-                                    "anyOf": [
-                                      {
+                            },
+                            "config": {
+                              "anyOf": [
+                                {
+                                  "type": "object",
+                                  "title": "FunctionConfig",
+                                  "properties": {
+                                    "_extra": {
+                                      "type": "object",
+                                      "propertyNames": {
                                         "type": "string"
-                                      },
-                                      {
-                                        "type": "null"
                                       }
-                                    ],
-                                    "default": null
-                                  },
-                                  "label": {
-                                    "anyOf": [
-                                      {
+                                    },
+                                    "enabled": {
+                                      "type": "boolean",
+                                      "default": true
+                                    },
+                                    "alias": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "schema": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "database": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "tags": {
+                                      "anyOf": [
+                                        {
+                                          "type": "array",
+                                          "items": {
+                                            "type": "string"
+                                          }
+                                        },
+                                        {
+                                          "type": "string"
+                                        }
+                                      ]
+                                    },
+                                    "meta": {
+                                      "type": "object",
+                                      "propertyNames": {
                                         "type": "string"
-                                      },
-                                      {
-                                        "type": "null"
                                       }
-                                    ],
-                                    "default": null
-                                  },
-                                  "is_partition": {
-                                    "type": "boolean",
-                                    "default": false
-                                  },
-                                  "config": {
-                                    "type": "object",
-                                    "propertyNames": {
-                                      "type": "string"
-                                    }
-                                  },
-                                  "validity_params": {
-                                    "anyOf": [
-                                      {
+                                    },
+                                    "group": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "materialized": {
+                                      "type": "string",
+                                      "default": "function"
+                                    },
+                                    "incremental_strategy": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "batch_size": {
+                                      "default": null
+                                    },
+                                    "lookback": {
+                                      "default": 1
+                                    },
+                                    "begin": {
+                                      "default": null
+                                    },
+                                    "persist_docs": {
+                                      "type": "object",
+                                      "propertyNames": {
+                                        "type": "string"
+                                      }
+                                    },
+                                    "post-hook": {
+                                      "type": "array",
+                                      "items": {
                                         "type": "object",
-                                        "title": "ColumnDimensionValidityParams",
+                                        "title": "Hook",
                                         "properties": {
-                                          "is_start": {
+                                          "sql": {
+                                            "type": "string"
+                                          },
+                                          "transaction": {
                                             "type": "boolean",
-                                            "default": false
+                                            "default": true
                                           },
-                                          "is_end": {
+                                          "index": {
+                                            "anyOf": [
+                                              {
+                                                "type": "integer"
+                                              },
+                                              {
+                                                "type": "null"
+                                              }
+                                            ],
+                                            "default": null
+                                          }
+                                        },
+                                        "additionalProperties": false,
+                                        "required": [
+                                          "sql"
+                                        ]
+                                      }
+                                    },
+                                    "pre-hook": {
+                                      "type": "array",
+                                      "items": {
+                                        "type": "object",
+                                        "title": "Hook",
+                                        "properties": {
+                                          "sql": {
+                                            "type": "string"
+                                          },
+                                          "transaction": {
                                             "type": "boolean",
-                                            "default": false
+                                            "default": true
+                                          },
+                                          "index": {
+                                            "anyOf": [
+                                              {
+                                                "type": "integer"
+                                              },
+                                              {
+                                                "type": "null"
+                                              }
+                                            ],
+                                            "default": null
                                           }
                                         },
-                                        "additionalProperties": false
-                                      },
-                                      {
-                                        "type": "null"
+                                        "additionalProperties": false,
+                                        "required": [
+                                          "sql"
+                                        ]
                                       }
-                                    ],
-                                    "default": null
-                                  }
-                                },
-                                "additionalProperties": false,
-                                "required": [
-                                  "name",
-                                  "type"
-                                ]
-                              },
-                              {
-                                "enum": [
-                                  "categorical",
-                                  "time"
-                                ]
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          },
-                          "entity": {
-                            "anyOf": [
-                              {
-                                "type": "object",
-                                "title": "ColumnEntity",
-                                "properties": {
-                                  "name": {
-                                    "type": "string"
-                                  },
-                                  "type": {
-                                    "enum": [
-                                      "foreign",
-                                      "natural",
-                                      "primary",
-                                      "unique"
-                                    ]
-                                  },
-                                  "description": {
-                                    "anyOf": [
-                                      {
+                                    },
+                                    "quoting": {
+                                      "type": "object",
+                                      "propertyNames": {
                                         "type": "string"
-                                      },
-                                      {
-                                        "type": "null"
                                       }
-                                    ],
-                                    "default": null
-                                  },
-                                  "label": {
-                                    "anyOf": [
-                                      {
+                                    },
+                                    "column_types": {
+                                      "type": "object",
+                                      "propertyNames": {
                                         "type": "string"
-                                      },
-                                      {
-                                        "type": "null"
                                       }
-                                    ],
-                                    "default": null
-                                  },
-                                  "config": {
-                                    "type": "object",
-                                    "propertyNames": {
-                                      "type": "string"
-                                    }
-                                  }
-                                },
-                                "additionalProperties": false,
-                                "required": [
-                                  "name",
-                                  "type"
-                                ]
-                              },
-                              {
-                                "enum": [
-                                  "foreign",
-                                  "natural",
-                                  "primary",
-                                  "unique"
-                                ]
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          },
-                          "doc_blocks": {
-                            "type": "array",
-                            "items": {
-                              "type": "string"
-                            }
-                          }
-                        },
-                        "additionalProperties": true,
-                        "required": [
-                          "name"
-                        ]
-                      },
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "meta": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "group": {
-                      "anyOf": [
-                        {
-                          "type": "string"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
-                    },
-                    "docs": {
-                      "type": "object",
-                      "title": "Docs",
-                      "properties": {
-                        "show": {
-                          "type": "boolean",
-                          "default": true
-                        },
-                        "node_color": {
-                          "anyOf": [
-                            {
-                              "type": "string"
+                                    },
+                                    "full_refresh": {
+                                      "anyOf": [
+                                        {
+                                          "type": "boolean"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "unique_key": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "array",
+                                          "items": {
+                                            "type": "string"
+                                          }
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "on_schema_change": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": "ignore"
+                                    },
+                                    "on_configuration_change": {
+                                      "enum": [
+                                        "apply",
+                                        "continue",
+                                        "fail"
+                                      ]
+                                    },
+                                    "grants": {
+                                      "type": "object",
+                                      "propertyNames": {
+                                        "type": "string"
+                                      }
+                                    },
+                                    "packages": {
+                                      "type": "array",
+                                      "items": {
+                                        "type": "string"
+                                      }
+                                    },
+                                    "docs": {
+                                      "type": "object",
+                                      "title": "Docs",
+                                      "properties": {
+                                        "show": {
+                                          "type": "boolean",
+                                          "default": true
+                                        },
+                                        "node_color": {
+                                          "anyOf": [
+                                            {
+                                              "type": "string"
+                                            },
+                                            {
+                                              "type": "null"
+                                            }
+                                          ],
+                                          "default": null
+                                        }
+                                      },
+                                      "additionalProperties": false
+                                    },
+                                    "contract": {
+                                      "type": "object",
+                                      "title": "ContractConfig",
+                                      "properties": {
+                                        "enforced": {
+                                          "type": "boolean",
+                                          "default": false
+                                        },
+                                        "alias_types": {
+                                          "type": "boolean",
+                                          "default": true
+                                        }
+                                      },
+                                      "additionalProperties": false
+                                    },
+                                    "event_time": {
+                                      "default": null
+                                    },
+                                    "concurrent_batches": {
+                                      "default": null
+                                    },
+                                    "type": {
+                                      "enum": [
+                                        "scalar",
+                                        "aggregate",
+                                        "table"
+                                      ],
+                                      "default": "scalar"
+                                    },
+                                    "volatility": {
+                                      "anyOf": [
+                                        {
+                                          "enum": [
+                                            "deterministic",
+                                            "stable",
+                                            "non-deterministic"
+                                          ]
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "runtime_version": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    },
+                                    "entry_point": {
+                                      "anyOf": [
+                                        {
+                                          "type": "string"
+                                        },
+                                        {
+                                          "type": "null"
+                                        }
+                                      ],
+                                      "default": null
+                                    }
+                                  },
+                                  "additionalProperties": true
+                                },
+                                {
+                                  "type": "null"
+                                }
+                              ]
                             },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
-                        }
-                      },
-                      "additionalProperties": false
-                    },
-                    "patch_path": {
-                      "anyOf": [
-                        {
-                          "type": "string"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
-                    },
-                    "build_path": {
-                      "anyOf": [
-                        {
-                          "type": "string"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
-                    },
-                    "unrendered_config": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "created_at": {
-                      "type": "number"
-                    },
-                    "config_call_dict": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "unrendered_config_call_dict": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "relation_name": {
-                      "anyOf": [
-                        {
-                          "type": "string"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
-                    },
-                    "raw_code": {
-                      "type": "string",
-                      "default": ""
-                    },
-                    "doc_blocks": {
-                      "type": "array",
-                      "items": {
-                        "type": "string"
-                      }
-                    },
-                    "language": {
-                      "type": "string",
-                      "default": "sql"
-                    },
-                    "refs": {
-                      "type": "array",
-                      "items": {
-                        "type": "object",
-                        "title": "RefArgs",
-                        "properties": {
-                          "name": {
-                            "type": "string"
-                          },
-                          "package": {
-                            "anyOf": [
-                              {
-                                "type": "string"
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          },
-                          "version": {
-                            "anyOf": [
-                              {
-                                "type": "string"
-                              },
-                              {
-                                "type": "number"
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                          "name"
-                        ]
-                      }
-                    },
-                    "sources": {
-                      "type": "array",
-                      "items": {
-                        "type": "array",
-                        "items": {
-                          "type": "string"
-                        }
-                      }
-                    },
-                    "metrics": {
-                      "type": "array",
-                      "items": {
-                        "type": "array",
-                        "items": {
-                          "type": "string"
-                        }
-                      }
-                    },
-                    "functions": {
-                      "type": "array",
-                      "items": {
-                        "type": "array",
-                        "items": {
-                          "type": "string"
-                        }
-                      }
-                    },
-                    "depends_on": {
-                      "type": "object",
-                      "title": "DependsOn",
-                      "properties": {
-                        "macros": {
-                          "type": "array",
-                          "items": {
-                            "type": "string"
-                          }
-                        },
-                        "nodes": {
-                          "type": "array",
-                          "items": {
-                            "type": "string"
-                          }
-                        }
-                      },
-                      "additionalProperties": false
-                    },
-                    "compiled_path": {
-                      "anyOf": [
-                        {
-                          "type": "string"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
-                    },
-                    "compiled": {
-                      "type": "boolean",
-                      "default": false
-                    },
-                    "compiled_code": {
-                      "anyOf": [
-                        {
-                          "type": "string"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
-                    },
-                    "extra_ctes_injected": {
-                      "type": "boolean",
-                      "default": false
-                    },
-                    "extra_ctes": {
-                      "type": "array",
-                      "items": {
-                        "type": "object",
-                        "title": "InjectedCTE",
-                        "properties": {
-                          "id": {
-                            "type": "string"
+                            "arguments": {
+                              "type": "array",
+                              "items": {
+                                "type": "object",
+                                "title": "FunctionArgument",
+                                "properties": {
+                                  "name": {
+                                    "type": "string"
+                                  },
+                                  "data_type": {
+                                    "type": "string"
+                                  },
+                                  "description": {
+                                    "anyOf": [
+                                      {
+                                        "type": "string"
+                                      },
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  },
+                                  "default_value": {
+                                    "anyOf": [
+                                      {},
+                                      {
+                                        "type": "null"
+                                      }
+                                    ],
+                                    "default": null
+                                  }
+                                },
+                                "additionalProperties": false,
+                                "required": [
+                                  "name",
+                                  "data_type"
+                                ]
+                              }
+                            },
+                            "returns": {
+                              "type": "object",
+                              "title": "FunctionReturns",
+                              "properties": {
+                                "data_type": {
+                                  "type": "string"
+                                },
+                                "description": {
+                                  "anyOf": [
+                                    {
+                                      "type": "string"
+                                    },
+                                    {
+                                      "type": "null"
+                                    }
+                                  ],
+                                  "default": null
+                                }
+                              },
+                              "additionalProperties": false,
+                              "required": [
+                                "data_type"
+                              ]
+                            }
                           },
-                          "sql": {
-                            "type": "string"
-                          }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                          "id",
-                          "sql"
-                        ]
-                      }
-                    },
-                    "_pre_injected_sql": {
-                      "anyOf": [
-                        {
-                          "type": "string"
+                          "additionalProperties": false,
+                          "required": [
+                            "database",
+                            "schema",
+                            "alias",
+                            "resource_type",
+                            "name",
+                            "description",
+                            "compiled_code",
+                            "meta",
+                            "tags",
+                            "config",
+                            "arguments",
+                            "returns"
+                          ]
                         },
                         {
                           "type": "null"
                         }
                       ],
                       "default": null
-                    },
-                    "contract": {
-                      "type": "object",
-                      "title": "Contract",
-                      "properties": {
-                        "enforced": {
-                          "type": "boolean",
-                          "default": false
-                        },
-                        "alias_types": {
-                          "type": "boolean",
-                          "default": true
-                        },
-                        "checksum": {
-                          "anyOf": [
-                            {
-                              "type": "string"
-                            },
-                            {
-                              "type": "null"
-                            }
-                          ],
-                          "default": null
-                        }
-                      },
-                      "additionalProperties": false
-                    },
-                    "arguments": {
-                      "type": "array",
-                      "items": {
-                        "type": "object",
-                        "title": "FunctionArgument",
-                        "properties": {
-                          "name": {
-                            "type": "string"
-                          },
-                          "data_type": {
-                            "type": "string"
-                          },
-                          "description": {
-                            "anyOf": [
-                              {
-                                "type": "string"
-                              },
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          },
-                          "default_value": {
-                            "anyOf": [
-                              {},
-                              {
-                                "type": "null"
-                              }
-                            ],
-                            "default": null
-                          }
-                        },
-                        "additionalProperties": false,
-                        "required": [
-                          "name",
-                          "data_type"
-                        ]
-                      }
                     }
                   },
                   "additionalProperties": false,
@@ -29273,57 +30308,315 @@
                   ],
                   "default": null
                 },
-                "expr": {
+                "expr": {
+                  "anyOf": [
+                    {
+                      "type": "string"
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "metadata": {
+                  "anyOf": [
+                    {
+                      "type": "object",
+                      "title": "SourceFileMetadata",
+                      "properties": {
+                        "repo_file_path": {
+                          "type": "string"
+                        },
+                        "file_slice": {
+                          "type": "object",
+                          "title": "FileSlice",
+                          "properties": {
+                            "filename": {
+                              "type": "string"
+                            },
+                            "content": {
+                              "type": "string"
+                            },
+                            "start_line_number": {
+                              "type": "integer"
+                            },
+                            "end_line_number": {
+                              "type": "integer"
+                            }
+                          },
+                          "additionalProperties": false,
+                          "required": [
+                            "filename",
+                            "content",
+                            "start_line_number",
+                            "end_line_number"
+                          ]
+                        }
+                      },
+                      "additionalProperties": false,
+                      "required": [
+                        "repo_file_path",
+                        "file_slice"
+                      ]
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "config": {
+                  "anyOf": [
+                    {
+                      "type": "object",
+                      "title": "SemanticLayerElementConfig",
+                      "properties": {
+                        "meta": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        }
+                      },
+                      "additionalProperties": false
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                }
+              },
+              "additionalProperties": false,
+              "required": [
+                "name",
+                "type"
+              ]
+            }
+          },
+          "metadata": {
+            "anyOf": [
+              {
+                "type": "object",
+                "title": "SourceFileMetadata",
+                "properties": {
+                  "repo_file_path": {
+                    "type": "string"
+                  },
+                  "file_slice": {
+                    "type": "object",
+                    "title": "FileSlice",
+                    "properties": {
+                      "filename": {
+                        "type": "string"
+                      },
+                      "content": {
+                        "type": "string"
+                      },
+                      "start_line_number": {
+                        "type": "integer"
+                      },
+                      "end_line_number": {
+                        "type": "integer"
+                      }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                      "filename",
+                      "content",
+                      "start_line_number",
+                      "end_line_number"
+                    ]
+                  }
+                },
+                "additionalProperties": false,
+                "required": [
+                  "repo_file_path",
+                  "file_slice"
+                ]
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "depends_on": {
+            "type": "object",
+            "title": "DependsOn",
+            "properties": {
+              "macros": {
+                "type": "array",
+                "items": {
+                  "type": "string"
+                }
+              },
+              "nodes": {
+                "type": "array",
+                "items": {
+                  "type": "string"
+                }
+              }
+            },
+            "additionalProperties": false
+          },
+          "refs": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "title": "RefArgs",
+              "properties": {
+                "name": {
+                  "type": "string"
+                },
+                "package": {
+                  "anyOf": [
+                    {
+                      "type": "string"
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "version": {
                   "anyOf": [
                     {
                       "type": "string"
                     },
+                    {
+                      "type": "number"
+                    },
                     {
                       "type": "null"
                     }
                   ],
                   "default": null
+                }
+              },
+              "additionalProperties": false,
+              "required": [
+                "name"
+              ]
+            }
+          },
+          "created_at": {
+            "type": "number"
+          },
+          "config": {
+            "type": "object",
+            "title": "SemanticModelConfig",
+            "properties": {
+              "_extra": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "enabled": {
+                "type": "boolean",
+                "default": true
+              },
+              "group": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "meta": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              }
+            },
+            "additionalProperties": true
+          },
+          "unrendered_config": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
+          },
+          "primary_entity": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "group": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          }
+        },
+        "additionalProperties": false,
+        "required": [
+          "name",
+          "resource_type",
+          "package_name",
+          "path",
+          "original_file_path",
+          "unique_id",
+          "fqn",
+          "model",
+          "node_relation"
+        ]
+      },
+      "propertyNames": {
+        "type": "string"
+      }
+    },
+    "unit_tests": {
+      "type": "object",
+      "description": "The unit tests defined in the project",
+      "additionalProperties": {
+        "type": "object",
+        "title": "UnitTestDefinition",
+        "properties": {
+          "model": {
+            "type": "string"
+          },
+          "given": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "title": "UnitTestInputFixture",
+              "properties": {
+                "input": {
+                  "type": "string"
                 },
-                "metadata": {
+                "rows": {
                   "anyOf": [
                     {
-                      "type": "object",
-                      "title": "SourceFileMetadata",
-                      "properties": {
-                        "repo_file_path": {
+                      "type": "string"
+                    },
+                    {
+                      "type": "array",
+                      "items": {
+                        "type": "object",
+                        "propertyNames": {
                           "type": "string"
-                        },
-                        "file_slice": {
-                          "type": "object",
-                          "title": "FileSlice",
-                          "properties": {
-                            "filename": {
-                              "type": "string"
-                            },
-                            "content": {
-                              "type": "string"
-                            },
-                            "start_line_number": {
-                              "type": "integer"
-                            },
-                            "end_line_number": {
-                              "type": "integer"
-                            }
-                          },
-                          "additionalProperties": false,
-                          "required": [
-                            "filename",
-                            "content",
-                            "start_line_number",
-                            "end_line_number"
-                          ]
                         }
-                      },
-                      "additionalProperties": false,
-                      "required": [
-                        "repo_file_path",
-                        "file_slice"
-                      ]
+                      }
                     },
                     {
                       "type": "null"
@@ -29331,20 +30624,18 @@
                   ],
                   "default": null
                 },
-                "config": {
+                "format": {
+                  "enum": [
+                    "csv",
+                    "dict",
+                    "sql"
+                  ],
+                  "default": "dict"
+                },
+                "fixture": {
                   "anyOf": [
                     {
-                      "type": "object",
-                      "title": "SemanticLayerElementConfig",
-                      "properties": {
-                        "meta": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
-                          }
-                        }
-                      },
-                      "additionalProperties": false
+                      "type": "string"
                     },
                     {
                       "type": "null"
@@ -29353,53 +30644,132 @@
                   "default": null
                 }
               },
-              "additionalProperties": false,
-              "required": [
-                "name",
-                "type"
-              ]
+              "additionalProperties": false,
+              "required": [
+                "input"
+              ]
+            }
+          },
+          "expect": {
+            "type": "object",
+            "title": "UnitTestOutputFixture",
+            "properties": {
+              "rows": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "array",
+                    "items": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    }
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "format": {
+                "enum": [
+                  "csv",
+                  "dict",
+                  "sql"
+                ],
+                "default": "dict"
+              },
+              "fixture": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              }
+            },
+            "additionalProperties": false
+          },
+          "name": {
+            "type": "string"
+          },
+          "resource_type": {
+            "enum": [
+              "model",
+              "analysis",
+              "test",
+              "snapshot",
+              "operation",
+              "seed",
+              "rpc",
+              "sql_operation",
+              "doc",
+              "source",
+              "macro",
+              "exposure",
+              "metric",
+              "group",
+              "saved_query",
+              "semantic_model",
+              "unit_test",
+              "fixture",
+              "function"
+            ]
+          },
+          "package_name": {
+            "type": "string"
+          },
+          "path": {
+            "type": "string"
+          },
+          "original_file_path": {
+            "type": "string"
+          },
+          "unique_id": {
+            "type": "string"
+          },
+          "fqn": {
+            "type": "array",
+            "items": {
+              "type": "string"
             }
           },
-          "metadata": {
+          "description": {
+            "type": "string",
+            "default": ""
+          },
+          "overrides": {
             "anyOf": [
               {
                 "type": "object",
-                "title": "SourceFileMetadata",
+                "title": "UnitTestOverrides",
                 "properties": {
-                  "repo_file_path": {
-                    "type": "string"
+                  "macros": {
+                    "type": "object",
+                    "propertyNames": {
+                      "type": "string"
+                    }
                   },
-                  "file_slice": {
+                  "vars": {
                     "type": "object",
-                    "title": "FileSlice",
-                    "properties": {
-                      "filename": {
-                        "type": "string"
-                      },
-                      "content": {
-                        "type": "string"
-                      },
-                      "start_line_number": {
-                        "type": "integer"
-                      },
-                      "end_line_number": {
-                        "type": "integer"
-                      }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                      "filename",
-                      "content",
-                      "start_line_number",
-                      "end_line_number"
-                    ]
+                    "propertyNames": {
+                      "type": "string"
+                    }
+                  },
+                  "env_vars": {
+                    "type": "object",
+                    "propertyNames": {
+                      "type": "string"
+                    }
                   }
                 },
-                "additionalProperties": false,
-                "required": [
-                  "repo_file_path",
-                  "file_slice"
-                ]
+                "additionalProperties": false
               },
               {
                 "type": "null"
@@ -29426,53 +30796,9 @@
             },
             "additionalProperties": false
           },
-          "refs": {
-            "type": "array",
-            "items": {
-              "type": "object",
-              "title": "RefArgs",
-              "properties": {
-                "name": {
-                  "type": "string"
-                },
-                "package": {
-                  "anyOf": [
-                    {
-                      "type": "string"
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "version": {
-                  "anyOf": [
-                    {
-                      "type": "string"
-                    },
-                    {
-                      "type": "number"
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                }
-              },
-              "additionalProperties": false,
-              "required": [
-                "name"
-              ]
-            }
-          },
-          "created_at": {
-            "type": "number"
-          },
           "config": {
             "type": "object",
-            "title": "SemanticModelConfig",
+            "title": "UnitTestConfig",
             "properties": {
               "_extra": {
                 "type": "object",
@@ -29480,40 +30806,107 @@
                   "type": "string"
                 }
               },
-              "enabled": {
-                "type": "boolean",
-                "default": true
-              },
-              "group": {
+              "tags": {
                 "anyOf": [
                   {
                     "type": "string"
                   },
                   {
-                    "type": "null"
+                    "type": "array",
+                    "items": {
+                      "type": "string"
+                    }
+                  }
+                ]
+              },
+              "meta": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "enabled": {
+                "type": "boolean",
+                "default": true
+              }
+            },
+            "additionalProperties": true
+          },
+          "checksum": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "schema": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "created_at": {
+            "type": "number"
+          },
+          "versions": {
+            "anyOf": [
+              {
+                "type": "object",
+                "title": "UnitTestNodeVersions",
+                "properties": {
+                  "include": {
+                    "anyOf": [
+                      {
+                        "type": "array",
+                        "items": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "number"
+                            }
+                          ]
+                        }
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  },
+                  "exclude": {
+                    "anyOf": [
+                      {
+                        "type": "array",
+                        "items": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "number"
+                            }
+                          ]
+                        }
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
                   }
-                ],
-                "default": null
-              },
-              "meta": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
-              }
-            },
-            "additionalProperties": true
-          },
-          "unrendered_config": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "primary_entity": {
-            "anyOf": [
-              {
-                "type": "string"
+                },
+                "additionalProperties": false
               },
               {
                 "type": "null"
@@ -29521,11 +30914,14 @@
             ],
             "default": null
           },
-          "group": {
+          "version": {
             "anyOf": [
               {
                 "type": "string"
               },
+              {
+                "type": "number"
+              },
               {
                 "type": "null"
               }
@@ -29535,91 +30931,303 @@
         },
         "additionalProperties": false,
         "required": [
+          "model",
+          "given",
+          "expect",
           "name",
           "resource_type",
           "package_name",
           "path",
           "original_file_path",
           "unique_id",
-          "fqn",
-          "model",
-          "node_relation"
+          "fqn"
         ]
       },
       "propertyNames": {
         "type": "string"
       }
     },
-    "unit_tests": {
+    "functions": {
       "type": "object",
-      "description": "The unit tests defined in the project",
+      "description": "The functions defined in the dbt project",
       "additionalProperties": {
         "type": "object",
-        "title": "UnitTestDefinition",
+        "title": "Function",
         "properties": {
-          "model": {
+          "returns": {
+            "type": "object",
+            "title": "FunctionReturns",
+            "properties": {
+              "data_type": {
+                "type": "string"
+              },
+              "description": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              }
+            },
+            "additionalProperties": false,
+            "required": [
+              "data_type"
+            ]
+          },
+          "database": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ]
+          },
+          "schema": {
             "type": "string"
           },
-          "given": {
+          "name": {
+            "type": "string"
+          },
+          "resource_type": {
+            "const": "function"
+          },
+          "package_name": {
+            "type": "string"
+          },
+          "path": {
+            "type": "string"
+          },
+          "original_file_path": {
+            "type": "string"
+          },
+          "unique_id": {
+            "type": "string"
+          },
+          "fqn": {
             "type": "array",
             "items": {
-              "type": "object",
-              "title": "UnitTestInputFixture",
-              "properties": {
-                "input": {
+              "type": "string"
+            }
+          },
+          "alias": {
+            "type": "string"
+          },
+          "checksum": {
+            "type": "object",
+            "title": "FileHash",
+            "properties": {
+              "name": {
+                "type": "string"
+              },
+              "checksum": {
+                "type": "string"
+              }
+            },
+            "additionalProperties": false,
+            "required": [
+              "name",
+              "checksum"
+            ]
+          },
+          "config": {
+            "type": "object",
+            "title": "FunctionConfig",
+            "properties": {
+              "_extra": {
+                "type": "object",
+                "propertyNames": {
                   "type": "string"
-                },
-                "rows": {
-                  "anyOf": [
-                    {
+                }
+              },
+              "enabled": {
+                "type": "boolean",
+                "default": true
+              },
+              "alias": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "schema": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "database": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "tags": {
+                "anyOf": [
+                  {
+                    "type": "array",
+                    "items": {
+                      "type": "string"
+                    }
+                  },
+                  {
+                    "type": "string"
+                  }
+                ]
+              },
+              "meta": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "group": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "materialized": {
+                "type": "string",
+                "default": "function"
+              },
+              "incremental_strategy": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "batch_size": {
+                "default": null
+              },
+              "lookback": {
+                "default": 1
+              },
+              "begin": {
+                "default": null
+              },
+              "persist_docs": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "post-hook": {
+                "type": "array",
+                "items": {
+                  "type": "object",
+                  "title": "Hook",
+                  "properties": {
+                    "sql": {
                       "type": "string"
                     },
-                    {
-                      "type": "array",
-                      "items": {
-                        "type": "object",
-                        "propertyNames": {
-                          "type": "string"
+                    "transaction": {
+                      "type": "boolean",
+                      "default": true
+                    },
+                    "index": {
+                      "anyOf": [
+                        {
+                          "type": "integer"
+                        },
+                        {
+                          "type": "null"
                         }
-                      }
-                    },
-                    {
-                      "type": "null"
+                      ],
+                      "default": null
                     }
-                  ],
-                  "default": null
-                },
-                "format": {
-                  "enum": [
-                    "csv",
-                    "dict",
+                  },
+                  "additionalProperties": false,
+                  "required": [
                     "sql"
-                  ],
-                  "default": "dict"
-                },
-                "fixture": {
-                  "anyOf": [
-                    {
+                  ]
+                }
+              },
+              "pre-hook": {
+                "type": "array",
+                "items": {
+                  "type": "object",
+                  "title": "Hook",
+                  "properties": {
+                    "sql": {
                       "type": "string"
                     },
-                    {
-                      "type": "null"
+                    "transaction": {
+                      "type": "boolean",
+                      "default": true
+                    },
+                    "index": {
+                      "anyOf": [
+                        {
+                          "type": "integer"
+                        },
+                        {
+                          "type": "null"
+                        }
+                      ],
+                      "default": null
                     }
-                  ],
-                  "default": null
+                  },
+                  "additionalProperties": false,
+                  "required": [
+                    "sql"
+                  ]
                 }
               },
-              "additionalProperties": false,
-              "required": [
-                "input"
-              ]
-            }
-          },
-          "expect": {
-            "type": "object",
-            "title": "UnitTestOutputFixture",
-            "properties": {
-              "rows": {
+              "quoting": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "column_types": {
+                "type": "object",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "full_refresh": {
+                "anyOf": [
+                  {
+                    "type": "boolean"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
+              },
+              "unique_key": {
                 "anyOf": [
                   {
                     "type": "string"
@@ -29627,10 +31235,7 @@
                   {
                     "type": "array",
                     "items": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
+                      "type": "string"
                     }
                   },
                   {
@@ -29639,15 +31244,7 @@
                 ],
                 "default": null
               },
-              "format": {
-                "enum": [
-                  "csv",
-                  "dict",
-                  "sql"
-                ],
-                "default": "dict"
-              },
-              "fixture": {
+              "on_schema_change": {
                 "anyOf": [
                   {
                     "type": "string"
@@ -29656,277 +31253,496 @@
                     "type": "null"
                   }
                 ],
-                "default": null
-              }
-            },
-            "additionalProperties": false
-          },
-          "name": {
-            "type": "string"
-          },
-          "resource_type": {
-            "enum": [
-              "model",
-              "analysis",
-              "test",
-              "snapshot",
-              "operation",
-              "seed",
-              "rpc",
-              "sql_operation",
-              "doc",
-              "source",
-              "macro",
-              "exposure",
-              "metric",
-              "group",
-              "saved_query",
-              "semantic_model",
-              "unit_test",
-              "fixture",
-              "function"
-            ]
-          },
-          "package_name": {
-            "type": "string"
-          },
-          "path": {
-            "type": "string"
-          },
-          "original_file_path": {
-            "type": "string"
-          },
-          "unique_id": {
-            "type": "string"
-          },
-          "fqn": {
-            "type": "array",
-            "items": {
-              "type": "string"
-            }
-          },
-          "description": {
-            "type": "string",
-            "default": ""
-          },
-          "overrides": {
-            "anyOf": [
-              {
+                "default": "ignore"
+              },
+              "on_configuration_change": {
+                "enum": [
+                  "apply",
+                  "continue",
+                  "fail"
+                ]
+              },
+              "grants": {
                 "type": "object",
-                "title": "UnitTestOverrides",
+                "propertyNames": {
+                  "type": "string"
+                }
+              },
+              "packages": {
+                "type": "array",
+                "items": {
+                  "type": "string"
+                }
+              },
+              "docs": {
+                "type": "object",
+                "title": "Docs",
                 "properties": {
-                  "macros": {
-                    "type": "object",
-                    "propertyNames": {
-                      "type": "string"
-                    }
+                  "show": {
+                    "type": "boolean",
+                    "default": true
                   },
-                  "vars": {
-                    "type": "object",
-                    "propertyNames": {
-                      "type": "string"
-                    }
+                  "node_color": {
+                    "anyOf": [
+                      {
+                        "type": "string"
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ],
+                    "default": null
+                  }
+                },
+                "additionalProperties": false
+              },
+              "contract": {
+                "type": "object",
+                "title": "ContractConfig",
+                "properties": {
+                  "enforced": {
+                    "type": "boolean",
+                    "default": false
+                  },
+                  "alias_types": {
+                    "type": "boolean",
+                    "default": true
+                  }
+                },
+                "additionalProperties": false
+              },
+              "event_time": {
+                "default": null
+              },
+              "concurrent_batches": {
+                "default": null
+              },
+              "type": {
+                "enum": [
+                  "scalar",
+                  "aggregate",
+                  "table"
+                ],
+                "default": "scalar"
+              },
+              "volatility": {
+                "anyOf": [
+                  {
+                    "enum": [
+                      "deterministic",
+                      "stable",
+                      "non-deterministic"
+                    ]
                   },
-                  "env_vars": {
-                    "type": "object",
-                    "propertyNames": {
-                      "type": "string"
-                    }
+                  {
+                    "type": "null"
                   }
-                },
-                "additionalProperties": false
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "depends_on": {
-            "type": "object",
-            "title": "DependsOn",
-            "properties": {
-              "macros": {
-                "type": "array",
-                "items": {
-                  "type": "string"
-                }
-              },
-              "nodes": {
-                "type": "array",
-                "items": {
-                  "type": "string"
-                }
-              }
-            },
-            "additionalProperties": false
-          },
-          "config": {
-            "type": "object",
-            "title": "UnitTestConfig",
-            "properties": {
-              "_extra": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
+                ],
+                "default": null
               },
-              "tags": {
+              "runtime_version": {
                 "anyOf": [
                   {
                     "type": "string"
                   },
                   {
-                    "type": "array",
-                    "items": {
-                      "type": "string"
-                    }
+                    "type": "null"
                   }
-                ]
-              },
-              "meta": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
+                ],
+                "default": null
               },
-              "enabled": {
-                "type": "boolean",
-                "default": true
+              "entry_point": {
+                "anyOf": [
+                  {
+                    "type": "string"
+                  },
+                  {
+                    "type": "null"
+                  }
+                ],
+                "default": null
               }
             },
             "additionalProperties": true
           },
-          "checksum": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "schema": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
+          "tags": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            }
           },
-          "created_at": {
-            "type": "number"
+          "description": {
+            "type": "string",
+            "default": ""
           },
-          "versions": {
-            "anyOf": [
-              {
-                "type": "object",
-                "title": "UnitTestNodeVersions",
-                "properties": {
-                  "include": {
-                    "anyOf": [
-                      {
+          "columns": {
+            "type": "object",
+            "additionalProperties": {
+              "type": "object",
+              "title": "ColumnInfo",
+              "properties": {
+                "name": {
+                  "type": "string"
+                },
+                "description": {
+                  "type": "string",
+                  "default": ""
+                },
+                "meta": {
+                  "type": "object",
+                  "propertyNames": {
+                    "type": "string"
+                  }
+                },
+                "data_type": {
+                  "anyOf": [
+                    {
+                      "type": "string"
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "constraints": {
+                  "type": "array",
+                  "items": {
+                    "type": "object",
+                    "title": "ColumnLevelConstraint",
+                    "properties": {
+                      "type": {
+                        "enum": [
+                          "check",
+                          "not_null",
+                          "unique",
+                          "primary_key",
+                          "foreign_key",
+                          "custom"
+                        ]
+                      },
+                      "name": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      },
+                      "expression": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      },
+                      "warn_unenforced": {
+                        "type": "boolean",
+                        "default": true
+                      },
+                      "warn_unsupported": {
+                        "type": "boolean",
+                        "default": true
+                      },
+                      "to": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      },
+                      "to_columns": {
                         "type": "array",
                         "items": {
+                          "type": "string"
+                        }
+                      }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                      "type"
+                    ]
+                  }
+                },
+                "quote": {
+                  "anyOf": [
+                    {
+                      "type": "boolean"
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "config": {
+                  "type": "object",
+                  "title": "ColumnConfig",
+                  "properties": {
+                    "_extra": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "meta": {
+                      "type": "object",
+                      "propertyNames": {
+                        "type": "string"
+                      }
+                    },
+                    "tags": {
+                      "type": "array",
+                      "items": {
+                        "type": "string"
+                      }
+                    }
+                  },
+                  "additionalProperties": true
+                },
+                "tags": {
+                  "type": "array",
+                  "items": {
+                    "type": "string"
+                  }
+                },
+                "_extra": {
+                  "type": "object",
+                  "propertyNames": {
+                    "type": "string"
+                  }
+                },
+                "granularity": {
+                  "anyOf": [
+                    {
+                      "enum": [
+                        "nanosecond",
+                        "microsecond",
+                        "millisecond",
+                        "second",
+                        "minute",
+                        "hour",
+                        "day",
+                        "week",
+                        "month",
+                        "quarter",
+                        "year"
+                      ]
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "dimension": {
+                  "anyOf": [
+                    {
+                      "type": "object",
+                      "title": "ColumnDimension",
+                      "properties": {
+                        "name": {
+                          "type": "string"
+                        },
+                        "type": {
+                          "enum": [
+                            "categorical",
+                            "time"
+                          ]
+                        },
+                        "description": {
                           "anyOf": [
                             {
                               "type": "string"
                             },
                             {
-                              "type": "number"
+                              "type": "null"
                             }
-                          ]
+                          ],
+                          "default": null
+                        },
+                        "label": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "is_partition": {
+                          "type": "boolean",
+                          "default": false
+                        },
+                        "config": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
+                        },
+                        "validity_params": {
+                          "anyOf": [
+                            {
+                              "type": "object",
+                              "title": "ColumnDimensionValidityParams",
+                              "properties": {
+                                "is_start": {
+                                  "type": "boolean",
+                                  "default": false
+                                },
+                                "is_end": {
+                                  "type": "boolean",
+                                  "default": false
+                                }
+                              },
+                              "additionalProperties": false
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
                         }
                       },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  },
-                  "exclude": {
-                    "anyOf": [
-                      {
-                        "type": "array",
-                        "items": {
+                      "additionalProperties": false,
+                      "required": [
+                        "name",
+                        "type"
+                      ]
+                    },
+                    {
+                      "enum": [
+                        "categorical",
+                        "time"
+                      ]
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
+                },
+                "entity": {
+                  "anyOf": [
+                    {
+                      "type": "object",
+                      "title": "ColumnEntity",
+                      "properties": {
+                        "name": {
+                          "type": "string"
+                        },
+                        "type": {
+                          "enum": [
+                            "foreign",
+                            "natural",
+                            "primary",
+                            "unique"
+                          ]
+                        },
+                        "description": {
                           "anyOf": [
                             {
                               "type": "string"
                             },
                             {
-                              "type": "number"
+                              "type": "null"
                             }
-                          ]
+                          ],
+                          "default": null
+                        },
+                        "label": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "config": {
+                          "type": "object",
+                          "propertyNames": {
+                            "type": "string"
+                          }
                         }
                       },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  }
+                      "additionalProperties": false,
+                      "required": [
+                        "name",
+                        "type"
+                      ]
+                    },
+                    {
+                      "enum": [
+                        "foreign",
+                        "natural",
+                        "primary",
+                        "unique"
+                      ]
+                    },
+                    {
+                      "type": "null"
+                    }
+                  ],
+                  "default": null
                 },
-                "additionalProperties": false
+                "doc_blocks": {
+                  "type": "array",
+                  "items": {
+                    "type": "string"
+                  }
+                }
               },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
+              "additionalProperties": true,
+              "required": [
+                "name"
+              ]
+            },
+            "propertyNames": {
+              "type": "string"
+            }
           },
-          "version": {
+          "meta": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
+          },
+          "group": {
             "anyOf": [
               {
                 "type": "string"
               },
-              {
-                "type": "number"
-              },
               {
                 "type": "null"
-              }
-            ],
-            "default": null
-          }
-        },
-        "additionalProperties": false,
-        "required": [
-          "model",
-          "given",
-          "expect",
-          "name",
-          "resource_type",
-          "package_name",
-          "path",
-          "original_file_path",
-          "unique_id",
-          "fqn"
-        ]
-      },
-      "propertyNames": {
-        "type": "string"
-      }
-    },
-    "functions": {
-      "type": "object",
-      "description": "The functions defined in the dbt project",
-      "additionalProperties": {
-        "type": "object",
-        "title": "Function",
-        "properties": {
-          "returns": {
+              }
+            ],
+            "default": null
+          },
+          "docs": {
             "type": "object",
-            "title": "FunctionReturns",
+            "title": "Docs",
             "properties": {
-              "data_type": {
-                "type": "string"
+              "show": {
+                "type": "boolean",
+                "default": true
               },
-              "description": {
+              "node_color": {
                 "anyOf": [
                   {
                     "type": "string"
@@ -29938,12 +31754,9 @@
                 "default": null
               }
             },
-            "additionalProperties": false,
-            "required": [
-              "data_type"
-            ]
+            "additionalProperties": false
           },
-          "database": {
+          "patch_path": {
             "anyOf": [
               {
                 "type": "string"
@@ -29951,372 +31764,227 @@
               {
                 "type": "null"
               }
-            ]
+            ],
+            "default": null
           },
-          "schema": {
-            "type": "string"
+          "build_path": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
           },
-          "name": {
-            "type": "string"
+          "unrendered_config": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
           },
-          "resource_type": {
-            "const": "function"
+          "created_at": {
+            "type": "number"
           },
-          "package_name": {
-            "type": "string"
+          "config_call_dict": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
           },
-          "path": {
-            "type": "string"
+          "unrendered_config_call_dict": {
+            "type": "object",
+            "propertyNames": {
+              "type": "string"
+            }
           },
-          "original_file_path": {
-            "type": "string"
+          "relation_name": {
+            "anyOf": [
+              {
+                "type": "string"
+              },
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
           },
-          "unique_id": {
-            "type": "string"
+          "raw_code": {
+            "type": "string",
+            "default": ""
           },
-          "fqn": {
+          "doc_blocks": {
             "type": "array",
             "items": {
               "type": "string"
             }
           },
-          "alias": {
-            "type": "string"
-          },
-          "checksum": {
-            "type": "object",
-            "title": "FileHash",
-            "properties": {
-              "name": {
-                "type": "string"
-              },
-              "checksum": {
-                "type": "string"
-              }
-            },
-            "additionalProperties": false,
-            "required": [
-              "name",
-              "checksum"
-            ]
+          "language": {
+            "type": "string",
+            "default": "sql"
           },
-          "config": {
-            "type": "object",
-            "title": "FunctionConfig",
-            "properties": {
-              "_extra": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
-              },
-              "enabled": {
-                "type": "boolean",
-                "default": true
-              },
-              "alias": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "schema": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "database": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "tags": {
-                "anyOf": [
-                  {
-                    "type": "array",
-                    "items": {
-                      "type": "string"
-                    }
-                  },
-                  {
-                    "type": "string"
-                  }
-                ]
-              },
-              "meta": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
-              },
-              "group": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "materialized": {
-                "type": "string",
-                "default": "function"
-              },
-              "incremental_strategy": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "batch_size": {
-                "default": null
-              },
-              "lookback": {
-                "default": 1
-              },
-              "begin": {
-                "default": null
-              },
-              "persist_docs": {
-                "type": "object",
-                "propertyNames": {
+          "refs": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "title": "RefArgs",
+              "properties": {
+                "name": {
                   "type": "string"
-                }
-              },
-              "post-hook": {
-                "type": "array",
-                "items": {
-                  "type": "object",
-                  "title": "Hook",
-                  "properties": {
-                    "sql": {
-                      "type": "string"
-                    },
-                    "transaction": {
-                      "type": "boolean",
-                      "default": true
-                    },
-                    "index": {
-                      "anyOf": [
-                        {
-                          "type": "integer"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
-                    }
-                  },
-                  "additionalProperties": false,
-                  "required": [
-                    "sql"
-                  ]
-                }
-              },
-              "pre-hook": {
-                "type": "array",
-                "items": {
-                  "type": "object",
-                  "title": "Hook",
-                  "properties": {
-                    "sql": {
+                },
+                "package": {
+                  "anyOf": [
+                    {
                       "type": "string"
                     },
-                    "transaction": {
-                      "type": "boolean",
-                      "default": true
-                    },
-                    "index": {
-                      "anyOf": [
-                        {
-                          "type": "integer"
-                        },
-                        {
-                          "type": "null"
-                        }
-                      ],
-                      "default": null
+                    {
+                      "type": "null"
                     }
-                  },
-                  "additionalProperties": false,
-                  "required": [
-                    "sql"
-                  ]
-                }
-              },
-              "quoting": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
-              },
-              "column_types": {
-                "type": "object",
-                "propertyNames": {
-                  "type": "string"
-                }
-              },
-              "full_refresh": {
-                "anyOf": [
-                  {
-                    "type": "boolean"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "unique_key": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "array",
-                    "items": {
+                  ],
+                  "default": null
+                },
+                "version": {
+                  "anyOf": [
+                    {
                       "type": "string"
+                    },
+                    {
+                      "type": "number"
+                    },
+                    {
+                      "type": "null"
                     }
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              },
-              "on_schema_change": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": "ignore"
-              },
-              "on_configuration_change": {
-                "enum": [
-                  "apply",
-                  "continue",
-                  "fail"
-                ]
+                  ],
+                  "default": null
+                }
               },
-              "grants": {
-                "type": "object",
-                "propertyNames": {
+              "additionalProperties": false,
+              "required": [
+                "name"
+              ]
+            }
+          },
+          "sources": {
+            "type": "array",
+            "items": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "metrics": {
+            "type": "array",
+            "items": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "functions": {
+            "type": "array",
+            "items": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "depends_on": {
+            "type": "object",
+            "title": "DependsOn",
+            "properties": {
+              "macros": {
+                "type": "array",
+                "items": {
                   "type": "string"
                 }
               },
-              "packages": {
+              "nodes": {
                 "type": "array",
                 "items": {
                   "type": "string"
                 }
+              }
+            },
+            "additionalProperties": false
+          },
+          "compiled_path": {
+            "anyOf": [
+              {
+                "type": "string"
               },
-              "docs": {
-                "type": "object",
-                "title": "Docs",
-                "properties": {
-                  "show": {
-                    "type": "boolean",
-                    "default": true
-                  },
-                  "node_color": {
-                    "anyOf": [
-                      {
-                        "type": "string"
-                      },
-                      {
-                        "type": "null"
-                      }
-                    ],
-                    "default": null
-                  }
-                },
-                "additionalProperties": false
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "compiled": {
+            "type": "boolean",
+            "default": false
+          },
+          "compiled_code": {
+            "anyOf": [
+              {
+                "type": "string"
               },
-              "contract": {
-                "type": "object",
-                "title": "ContractConfig",
-                "properties": {
-                  "enforced": {
-                    "type": "boolean",
-                    "default": false
-                  },
-                  "alias_types": {
-                    "type": "boolean",
-                    "default": true
-                  }
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "extra_ctes_injected": {
+            "type": "boolean",
+            "default": false
+          },
+          "extra_ctes": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "title": "InjectedCTE",
+              "properties": {
+                "id": {
+                  "type": "string"
                 },
-                "additionalProperties": false
-              },
-              "event_time": {
-                "default": null
-              },
-              "concurrent_batches": {
-                "default": null
+                "sql": {
+                  "type": "string"
+                }
               },
-              "type": {
-                "enum": [
-                  "scalar",
-                  "aggregate",
-                  "table"
-                ],
-                "default": "scalar"
+              "additionalProperties": false,
+              "required": [
+                "id",
+                "sql"
+              ]
+            }
+          },
+          "_pre_injected_sql": {
+            "anyOf": [
+              {
+                "type": "string"
               },
-              "volatility": {
-                "anyOf": [
-                  {
-                    "enum": [
-                      "deterministic",
-                      "stable",
-                      "non-deterministic"
-                    ]
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
+              {
+                "type": "null"
+              }
+            ],
+            "default": null
+          },
+          "contract": {
+            "type": "object",
+            "title": "Contract",
+            "properties": {
+              "enforced": {
+                "type": "boolean",
+                "default": false
               },
-              "runtime_version": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
+              "alias_types": {
+                "type": "boolean",
+                "default": true
               },
-              "entry_point": {
+              "checksum": {
                 "anyOf": [
                   {
                     "type": "string"
@@ -30328,38 +31996,21 @@
                 "default": null
               }
             },
-            "additionalProperties": true
+            "additionalProperties": false
           },
-          "tags": {
+          "arguments": {
             "type": "array",
             "items": {
-              "type": "string"
-            }
-          },
-          "description": {
-            "type": "string",
-            "default": ""
-          },
-          "columns": {
-            "type": "object",
-            "additionalProperties": {
               "type": "object",
-              "title": "ColumnInfo",
+              "title": "FunctionArgument",
               "properties": {
                 "name": {
                   "type": "string"
                 },
-                "description": {
-                  "type": "string",
-                  "default": ""
-                },
-                "meta": {
-                  "type": "object",
-                  "propertyNames": {
-                    "type": "string"
-                  }
-                },
                 "data_type": {
+                  "type": "string"
+                },
+                "description": {
                   "anyOf": [
                     {
                       "type": "string"
@@ -30370,638 +32021,519 @@
                   ],
                   "default": null
                 },
-                "constraints": {
-                  "type": "array",
-                  "items": {
-                    "type": "object",
-                    "title": "ColumnLevelConstraint",
-                    "properties": {
-                      "type": {
-                        "enum": [
-                          "check",
-                          "not_null",
-                          "unique",
-                          "primary_key",
-                          "foreign_key",
-                          "custom"
-                        ]
-                      },
-                      "name": {
-                        "anyOf": [
-                          {
-                            "type": "string"
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ],
-                        "default": null
-                      },
-                      "expression": {
-                        "anyOf": [
-                          {
-                            "type": "string"
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ],
-                        "default": null
-                      },
-                      "warn_unenforced": {
-                        "type": "boolean",
-                        "default": true
-                      },
-                      "warn_unsupported": {
-                        "type": "boolean",
-                        "default": true
-                      },
-                      "to": {
-                        "anyOf": [
-                          {
-                            "type": "string"
-                          },
-                          {
-                            "type": "null"
-                          }
-                        ],
-                        "default": null
-                      },
-                      "to_columns": {
-                        "type": "array",
-                        "items": {
-                          "type": "string"
-                        }
-                      }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                      "type"
-                    ]
-                  }
-                },
-                "quote": {
+                "default_value": {
                   "anyOf": [
-                    {
-                      "type": "boolean"
-                    },
+                    {},
                     {
                       "type": "null"
                     }
                   ],
                   "default": null
-                },
-                "config": {
-                  "type": "object",
-                  "title": "ColumnConfig",
-                  "properties": {
-                    "_extra": {
-                      "type": "object",
-                      "propertyNames": {
-                        "type": "string"
-                      }
-                    },
-                    "meta": {
-                      "type": "object",
-                      "propertyNames": {
+                }
+              },
+              "additionalProperties": false,
+              "required": [
+                "name",
+                "data_type"
+              ]
+            }
+          },
+          "defer_function": {
+            "anyOf": [
+              {
+                "type": "object",
+                "title": "DeferFunction",
+                "properties": {
+                  "database": {
+                    "anyOf": [
+                      {
                         "type": "string"
+                      },
+                      {
+                        "type": "null"
                       }
-                    },
-                    "tags": {
-                      "type": "array",
-                      "items": {
+                    ]
+                  },
+                  "schema": {
+                    "type": "string"
+                  },
+                  "alias": {
+                    "type": "string"
+                  },
+                  "resource_type": {
+                    "enum": [
+                      "model",
+                      "analysis",
+                      "test",
+                      "snapshot",
+                      "operation",
+                      "seed",
+                      "rpc",
+                      "sql_operation",
+                      "doc",
+                      "source",
+                      "macro",
+                      "exposure",
+                      "metric",
+                      "group",
+                      "saved_query",
+                      "semantic_model",
+                      "unit_test",
+                      "fixture",
+                      "function"
+                    ]
+                  },
+                  "name": {
+                    "type": "string"
+                  },
+                  "description": {
+                    "type": "string"
+                  },
+                  "compiled_code": {
+                    "anyOf": [
+                      {
                         "type": "string"
+                      },
+                      {
+                        "type": "null"
                       }
+                    ]
+                  },
+                  "meta": {
+                    "type": "object",
+                    "propertyNames": {
+                      "type": "string"
                     }
                   },
-                  "additionalProperties": true
-                },
-                "tags": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                },
-                "_extra": {
-                  "type": "object",
-                  "propertyNames": {
-                    "type": "string"
-                  }
-                },
-                "granularity": {
-                  "anyOf": [
-                    {
-                      "enum": [
-                        "nanosecond",
-                        "microsecond",
-                        "millisecond",
-                        "second",
-                        "minute",
-                        "hour",
-                        "day",
-                        "week",
-                        "month",
-                        "quarter",
-                        "year"
-                      ]
-                    },
-                    {
-                      "type": "null"
+                  "tags": {
+                    "type": "array",
+                    "items": {
+                      "type": "string"
                     }
-                  ],
-                  "default": null
-                },
-                "dimension": {
-                  "anyOf": [
-                    {
-                      "type": "object",
-                      "title": "ColumnDimension",
-                      "properties": {
-                        "name": {
-                          "type": "string"
-                        },
-                        "type": {
-                          "enum": [
-                            "categorical",
-                            "time"
-                          ]
-                        },
-                        "description": {
-                          "anyOf": [
-                            {
+                  },
+                  "config": {
+                    "anyOf": [
+                      {
+                        "type": "object",
+                        "title": "FunctionConfig",
+                        "properties": {
+                          "_extra": {
+                            "type": "object",
+                            "propertyNames": {
                               "type": "string"
-                            },
-                            {
-                              "type": "null"
                             }
-                          ],
-                          "default": null
-                        },
-                        "label": {
-                          "anyOf": [
-                            {
+                          },
+                          "enabled": {
+                            "type": "boolean",
+                            "default": true
+                          },
+                          "alias": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "schema": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "database": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "tags": {
+                            "anyOf": [
+                              {
+                                "type": "array",
+                                "items": {
+                                  "type": "string"
+                                }
+                              },
+                              {
+                                "type": "string"
+                              }
+                            ]
+                          },
+                          "meta": {
+                            "type": "object",
+                            "propertyNames": {
                               "type": "string"
-                            },
-                            {
-                              "type": "null"
                             }
-                          ],
-                          "default": null
-                        },
-                        "is_partition": {
-                          "type": "boolean",
-                          "default": false
-                        },
-                        "config": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
-                          }
-                        },
-                        "validity_params": {
-                          "anyOf": [
-                            {
+                          },
+                          "group": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "materialized": {
+                            "type": "string",
+                            "default": "function"
+                          },
+                          "incremental_strategy": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "batch_size": {
+                            "default": null
+                          },
+                          "lookback": {
+                            "default": 1
+                          },
+                          "begin": {
+                            "default": null
+                          },
+                          "persist_docs": {
+                            "type": "object",
+                            "propertyNames": {
+                              "type": "string"
+                            }
+                          },
+                          "post-hook": {
+                            "type": "array",
+                            "items": {
                               "type": "object",
-                              "title": "ColumnDimensionValidityParams",
+                              "title": "Hook",
                               "properties": {
-                                "is_start": {
+                                "sql": {
+                                  "type": "string"
+                                },
+                                "transaction": {
                                   "type": "boolean",
-                                  "default": false
+                                  "default": true
                                 },
-                                "is_end": {
+                                "index": {
+                                  "anyOf": [
+                                    {
+                                      "type": "integer"
+                                    },
+                                    {
+                                      "type": "null"
+                                    }
+                                  ],
+                                  "default": null
+                                }
+                              },
+                              "additionalProperties": false,
+                              "required": [
+                                "sql"
+                              ]
+                            }
+                          },
+                          "pre-hook": {
+                            "type": "array",
+                            "items": {
+                              "type": "object",
+                              "title": "Hook",
+                              "properties": {
+                                "sql": {
+                                  "type": "string"
+                                },
+                                "transaction": {
                                   "type": "boolean",
-                                  "default": false
+                                  "default": true
+                                },
+                                "index": {
+                                  "anyOf": [
+                                    {
+                                      "type": "integer"
+                                    },
+                                    {
+                                      "type": "null"
+                                    }
+                                  ],
+                                  "default": null
                                 }
                               },
-                              "additionalProperties": false
-                            },
-                            {
-                              "type": "null"
+                              "additionalProperties": false,
+                              "required": [
+                                "sql"
+                              ]
                             }
-                          ],
-                          "default": null
-                        }
-                      },
-                      "additionalProperties": false,
-                      "required": [
-                        "name",
-                        "type"
-                      ]
-                    },
-                    {
-                      "enum": [
-                        "categorical",
-                        "time"
-                      ]
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "entity": {
-                  "anyOf": [
-                    {
-                      "type": "object",
-                      "title": "ColumnEntity",
-                      "properties": {
-                        "name": {
-                          "type": "string"
-                        },
-                        "type": {
-                          "enum": [
-                            "foreign",
-                            "natural",
-                            "primary",
-                            "unique"
-                          ]
-                        },
-                        "description": {
-                          "anyOf": [
-                            {
+                          },
+                          "quoting": {
+                            "type": "object",
+                            "propertyNames": {
+                              "type": "string"
+                            }
+                          },
+                          "column_types": {
+                            "type": "object",
+                            "propertyNames": {
+                              "type": "string"
+                            }
+                          },
+                          "full_refresh": {
+                            "anyOf": [
+                              {
+                                "type": "boolean"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "unique_key": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "array",
+                                "items": {
+                                  "type": "string"
+                                }
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "on_schema_change": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": "ignore"
+                          },
+                          "on_configuration_change": {
+                            "enum": [
+                              "apply",
+                              "continue",
+                              "fail"
+                            ]
+                          },
+                          "grants": {
+                            "type": "object",
+                            "propertyNames": {
                               "type": "string"
-                            },
-                            {
-                              "type": "null"
                             }
-                          ],
-                          "default": null
-                        },
-                        "label": {
-                          "anyOf": [
-                            {
+                          },
+                          "packages": {
+                            "type": "array",
+                            "items": {
                               "type": "string"
-                            },
-                            {
-                              "type": "null"
                             }
-                          ],
-                          "default": null
-                        },
-                        "config": {
-                          "type": "object",
-                          "propertyNames": {
-                            "type": "string"
-                          }
-                        }
-                      },
-                      "additionalProperties": false,
-                      "required": [
-                        "name",
-                        "type"
-                      ]
-                    },
-                    {
-                      "enum": [
-                        "foreign",
-                        "natural",
-                        "primary",
-                        "unique"
-                      ]
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "doc_blocks": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                }
-              },
-              "additionalProperties": true,
-              "required": [
-                "name"
-              ]
-            },
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "meta": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "group": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "docs": {
-            "type": "object",
-            "title": "Docs",
-            "properties": {
-              "show": {
-                "type": "boolean",
-                "default": true
-              },
-              "node_color": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              }
-            },
-            "additionalProperties": false
-          },
-          "patch_path": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "build_path": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "unrendered_config": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "created_at": {
-            "type": "number"
-          },
-          "config_call_dict": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "unrendered_config_call_dict": {
-            "type": "object",
-            "propertyNames": {
-              "type": "string"
-            }
-          },
-          "relation_name": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "raw_code": {
-            "type": "string",
-            "default": ""
-          },
-          "doc_blocks": {
-            "type": "array",
-            "items": {
-              "type": "string"
-            }
-          },
-          "language": {
-            "type": "string",
-            "default": "sql"
-          },
-          "refs": {
-            "type": "array",
-            "items": {
-              "type": "object",
-              "title": "RefArgs",
-              "properties": {
-                "name": {
-                  "type": "string"
-                },
-                "package": {
-                  "anyOf": [
-                    {
-                      "type": "string"
-                    },
-                    {
-                      "type": "null"
+                          },
+                          "docs": {
+                            "type": "object",
+                            "title": "Docs",
+                            "properties": {
+                              "show": {
+                                "type": "boolean",
+                                "default": true
+                              },
+                              "node_color": {
+                                "anyOf": [
+                                  {
+                                    "type": "string"
+                                  },
+                                  {
+                                    "type": "null"
+                                  }
+                                ],
+                                "default": null
+                              }
+                            },
+                            "additionalProperties": false
+                          },
+                          "contract": {
+                            "type": "object",
+                            "title": "ContractConfig",
+                            "properties": {
+                              "enforced": {
+                                "type": "boolean",
+                                "default": false
+                              },
+                              "alias_types": {
+                                "type": "boolean",
+                                "default": true
+                              }
+                            },
+                            "additionalProperties": false
+                          },
+                          "event_time": {
+                            "default": null
+                          },
+                          "concurrent_batches": {
+                            "default": null
+                          },
+                          "type": {
+                            "enum": [
+                              "scalar",
+                              "aggregate",
+                              "table"
+                            ],
+                            "default": "scalar"
+                          },
+                          "volatility": {
+                            "anyOf": [
+                              {
+                                "enum": [
+                                  "deterministic",
+                                  "stable",
+                                  "non-deterministic"
+                                ]
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "runtime_version": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          },
+                          "entry_point": {
+                            "anyOf": [
+                              {
+                                "type": "string"
+                              },
+                              {
+                                "type": "null"
+                              }
+                            ],
+                            "default": null
+                          }
+                        },
+                        "additionalProperties": true
+                      },
+                      {
+                        "type": "null"
+                      }
+                    ]
+                  },
+                  "arguments": {
+                    "type": "array",
+                    "items": {
+                      "type": "object",
+                      "title": "FunctionArgument",
+                      "properties": {
+                        "name": {
+                          "type": "string"
+                        },
+                        "data_type": {
+                          "type": "string"
+                        },
+                        "description": {
+                          "anyOf": [
+                            {
+                              "type": "string"
+                            },
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        },
+                        "default_value": {
+                          "anyOf": [
+                            {},
+                            {
+                              "type": "null"
+                            }
+                          ],
+                          "default": null
+                        }
+                      },
+                      "additionalProperties": false,
+                      "required": [
+                        "name",
+                        "data_type"
+                      ]
                     }
-                  ],
-                  "default": null
-                },
-                "version": {
-                  "anyOf": [
-                    {
-                      "type": "string"
-                    },
-                    {
-                      "type": "number"
+                  },
+                  "returns": {
+                    "type": "object",
+                    "title": "FunctionReturns",
+                    "properties": {
+                      "data_type": {
+                        "type": "string"
+                      },
+                      "description": {
+                        "anyOf": [
+                          {
+                            "type": "string"
+                          },
+                          {
+                            "type": "null"
+                          }
+                        ],
+                        "default": null
+                      }
                     },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                }
-              },
-              "additionalProperties": false,
-              "required": [
-                "name"
-              ]
-            }
-          },
-          "sources": {
-            "type": "array",
-            "items": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "metrics": {
-            "type": "array",
-            "items": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "functions": {
-            "type": "array",
-            "items": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "depends_on": {
-            "type": "object",
-            "title": "DependsOn",
-            "properties": {
-              "macros": {
-                "type": "array",
-                "items": {
-                  "type": "string"
-                }
-              },
-              "nodes": {
-                "type": "array",
-                "items": {
-                  "type": "string"
-                }
-              }
-            },
-            "additionalProperties": false
-          },
-          "compiled_path": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "compiled": {
-            "type": "boolean",
-            "default": false
-          },
-          "compiled_code": {
-            "anyOf": [
-              {
-                "type": "string"
-              },
-              {
-                "type": "null"
-              }
-            ],
-            "default": null
-          },
-          "extra_ctes_injected": {
-            "type": "boolean",
-            "default": false
-          },
-          "extra_ctes": {
-            "type": "array",
-            "items": {
-              "type": "object",
-              "title": "InjectedCTE",
-              "properties": {
-                "id": {
-                  "type": "string"
+                    "additionalProperties": false,
+                    "required": [
+                      "data_type"
+                    ]
+                  }
                 },
-                "sql": {
-                  "type": "string"
-                }
-              },
-              "additionalProperties": false,
-              "required": [
-                "id",
-                "sql"
-              ]
-            }
-          },
-          "_pre_injected_sql": {
-            "anyOf": [
-              {
-                "type": "string"
+                "additionalProperties": false,
+                "required": [
+                  "database",
+                  "schema",
+                  "alias",
+                  "resource_type",
+                  "name",
+                  "description",
+                  "compiled_code",
+                  "meta",
+                  "tags",
+                  "config",
+                  "arguments",
+                  "returns"
+                ]
               },
               {
                 "type": "null"
               }
             ],
             "default": null
-          },
-          "contract": {
-            "type": "object",
-            "title": "Contract",
-            "properties": {
-              "enforced": {
-                "type": "boolean",
-                "default": false
-              },
-              "alias_types": {
-                "type": "boolean",
-                "default": true
-              },
-              "checksum": {
-                "anyOf": [
-                  {
-                    "type": "string"
-                  },
-                  {
-                    "type": "null"
-                  }
-                ],
-                "default": null
-              }
-            },
-            "additionalProperties": false
-          },
-          "arguments": {
-            "type": "array",
-            "items": {
-              "type": "object",
-              "title": "FunctionArgument",
-              "properties": {
-                "name": {
-                  "type": "string"
-                },
-                "data_type": {
-                  "type": "string"
-                },
-                "description": {
-                  "anyOf": [
-                    {
-                      "type": "string"
-                    },
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                },
-                "default_value": {
-                  "anyOf": [
-                    {},
-                    {
-                      "type": "null"
-                    }
-                  ],
-                  "default": null
-                }
-              },
-              "additionalProperties": false,
-              "required": [
-                "name",
-                "data_type"
-              ]
-            }
           }
         },
         "additionalProperties": false,


Test patch:
diff --git a/tests/functional/artifacts/expected_manifest.py b/tests/functional/artifacts/expected_manifest.py
index 0ac0440d6c4..efebbd7c09c 100644
--- a/tests/functional/artifacts/expected_manifest.py
+++ b/tests/functional/artifacts/expected_manifest.py
@@ -1668,6 +1668,12 @@ def expected_references_manifest(project):
                 "meta": {
                     "some_key": 100,
                 },
+                "config": {
+                    "meta": {
+                        "some_key": 100,
+                    },
+                    "docs": {"node_color": None, "show": True},
+                },
                 "patch_path": "test://" + os.path.join("macros", "schema.yml"),
                 "resource_type": "macro",
                 "unique_id": "macro.test.test_nothing",
diff --git a/tests/functional/macros/fixtures.py b/tests/functional/macros/fixtures.py
index 77de40951f8..b418ce843b5 100644
--- a/tests/functional/macros/fixtures.py
+++ b/tests/functional/macros/fixtures.py
@@ -166,3 +166,48 @@
 
 macro-paths: ["macros"]
 """
+
+
+macros__config_sql = """
+{% macro macro_config() %}
+{% endmacro %}
+
+{% macro macro_top_only() %}
+{% endmacro %}
+
+{% macro macro_config_only() %}
+{% endmacro %}
+"""
+
+macros__config_yml = """
+macros:
+  - name: macro_top_only
+    description: Macro with only top-level meta and docs
+    meta:
+      top_k: top_v
+    docs:
+      show: true
+      node_color: "#AAAAAA"
+
+  - name: macro_config_only
+    description: Macro with only config meta and docs
+    config:
+      meta:
+        cm_k: cm_v
+      docs:
+        show: false
+        node_color: "#BBBBBB"
+
+  - name: macro_config
+    description: Macro with merged meta and docs
+    meta:
+      top_k: top_v
+    docs:
+      show: true
+      node_color: "#AAAAAA"
+    config:
+      meta:
+        cm_k: cm_v
+      docs:
+        node_color: "#BBBBBB"
+"""
diff --git a/tests/functional/macros/test_macros.py b/tests/functional/macros/test_macros.py
index fb3d808526b..b3df627040b 100644
--- a/tests/functional/macros/test_macros.py
+++ b/tests/functional/macros/test_macros.py
@@ -5,9 +5,11 @@
 
 import dbt_common.exceptions
 from dbt.tests.fixtures.project import write_project_files
-from dbt.tests.util import check_relations_equal, run_dbt
+from dbt.tests.util import check_relations_equal, get_manifest, run_dbt
 from tests.functional.macros.fixtures import (
     dbt_project__incorrect_dispatch,
+    macros__config_sql,
+    macros__config_yml,
     macros__deprecated_adapter_macro,
     macros__incorrect_dispatch,
     macros__my_macros,
@@ -270,3 +272,78 @@ def test_invalid_macro(self, project):
             run_dbt()
 
         assert 'The "adapter_macro" macro has been deprecated' in str(exc.value)
+
+
+class TestMacroMetaDocsMerge:
+    @pytest.fixture(scope="class")
+    def macros(self):
+        return {"macro_config.sql": macros__config_sql, "macro_config.yml": macros__config_yml}
+
+    def test_only_top_level_defined(self, project) -> None:
+        """If only top-level defined then it exists both in top-level and config."""
+
+        run_dbt(["parse"])
+
+        manifest = get_manifest(project.project_root)
+        assert manifest is not None
+
+        macro = manifest.macros.get("macro.test.macro_top_only")
+        assert macro is not None
+
+        expected_meta = {"top_k": "top_v"}
+        expected_docs_show = True
+        expected_docs_node_color = "#AAAAAA"
+
+        assert macro.meta == expected_meta
+        assert macro.config.meta == expected_meta
+        assert macro.docs.show == expected_docs_show
+        assert macro.docs.node_color == expected_docs_node_color
+        assert macro.config.docs.show == expected_docs_show
+        assert macro.config.docs.node_color == expected_docs_node_color
+
+    def test_only_config_defined(self, project) -> None:
+        """If only config defined then it exists both in top-level and config."""
+
+        run_dbt(["parse"])
+
+        manifest = get_manifest(project.project_root)
+        assert manifest is not None
+
+        macro = manifest.macros.get("macro.test.macro_config_only")
+        assert macro is not None
+
+        expected_meta = {"cm_k": "cm_v"}
+        expected_docs_show = False
+        expected_docs_node_color = "#BBBBBB"
+
+        assert macro.meta == expected_meta
+        assert macro.config.meta == expected_meta
+        assert macro.docs.show == expected_docs_show
+        assert macro.docs.node_color == expected_docs_node_color
+        assert macro.config.docs.show == expected_docs_show
+        assert macro.config.docs.node_color == expected_docs_node_color
+
+    def test_both_config_and_top_level_defined(self, project) -> None:
+        """If both defined then config overrides top-level."""
+
+        run_dbt(["parse"])
+
+        manifest = get_manifest(project.project_root)
+        assert manifest is not None
+
+        macro = manifest.macros.get("macro.test.macro_config")
+        assert macro is not None
+
+        expected_meta = {
+            "top_k": "top_v",
+            "cm_k": "cm_v",
+        }
+        expected_docs_show = True
+        expected_docs_node_color = "#BBBBBB"
+
+        assert macro.meta == expected_meta
+        assert macro.config.meta == expected_meta
+        assert macro.docs.show == expected_docs_show
+        assert macro.docs.node_color == expected_docs_node_color
+        assert macro.config.docs.show == expected_docs_show
+        assert macro.config.docs.node_color == expected_docs_node_color
diff --git a/tests/unit/contracts/graph/test_nodes_parsed.py b/tests/unit/contracts/graph/test_nodes_parsed.py
index 8b159480a01..83bca46036b 100644
--- a/tests/unit/contracts/graph/test_nodes_parsed.py
+++ b/tests/unit/contracts/graph/test_nodes_parsed.py
@@ -14,6 +14,7 @@
     ExposureType,
     FreshnessThreshold,
     Hook,
+    MacroConfig,
     MacroDependsOn,
     MaturityType,
     Measure,
@@ -1790,6 +1791,10 @@ def _ok_dict(self):
             "unique_id": "macro.test.foo",
             "depends_on": {"macros": []},
             "meta": {},
+            "config": {
+                "meta": {},
+                "docs": {"show": True},
+            },
             "description": "my macro description",
             "docs": {"show": True},
             "arguments": [],
@@ -1807,6 +1812,7 @@ def test_ok(self):
             unique_id="macro.test.foo",
             depends_on=MacroDependsOn(),
             meta={},
+            config=MacroConfig(),
             description="my macro description",
             arguments=[],
         )