Ë
    Ìiº  ã                   óˆ   — d dl mZ d dlmZmZ d dlmZ  eddd¬«       G d„ d«      «       Z ed¬«       G d	„ d
«      «       Zy)é    )Ú	dataclass)ÚOptionalÚSet©ÚDbtRuntimeErrorT)ÚfrozenÚeqÚunsafe_hashc                   ó8   — e Zd ZU eed<   ee   ed<   ed„ «       Zy)ÚRelationConfigValidationRuleÚvalidation_checkÚvalidation_errorc                 ó   — t        d«      S )NzrThere was a validation error in preparing this relation config.No additional context was provided by this adapter.r   ©Úselfs    úp/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/dbt/adapters/relation_configs/config_validation.pyÚdefault_errorz*RelationConfigValidationRule.default_error   s   € äðBó
ð 	
ó    N)	Ú__name__Ú
__module__Ú__qualname__ÚboolÚ__annotations__r   r   Úpropertyr   © r   r   r   r      s%   … àÓØ˜Ñ/Ó/àñ
ó ñ
r   r   )r   c                   ó:   — e Zd Zd„ Zedee   fd„«       Zd„ Zd„ Z	y)ÚRelationConfigValidationMixinc                 ó$   — | j                  «        y ©N)Úrun_validation_rulesr   s    r   Ú__post_init__z+RelationConfigValidationMixin.__post_init__   s   € Ø×!Ñ!Õ#r   Úreturnc                 ó   — t        «       S )a‡  
        A set of validation rules to run against the object upon creation.

        A validation rule is a combination of a validation check (bool) and an optional error message.

        This defaults to no validation rules if not implemented. It's recommended to override this with values,
        but that may not always be necessary.

        Returns: a set of validation rules
        )Úsetr   s    r   Úvalidation_rulesz.RelationConfigValidationMixin.validation_rules   s   € ô ‹uˆr   c                 óÆ   — | j                   D ]  }	 |j                  sJ ‚Œ | j                  «        y # t        $ r% |j                  r|j                  ‚|j                  ‚w xY wr   )r%   r   ÚAssertionErrorr   r   Úrun_child_validation_rules)r   Úvalidation_rules     r   r    z2RelationConfigValidationMixin.run_validation_rules'   sk   € Ø#×4Ñ4ò 	8ˆOð8Ø&×7Ò7Ð7Ñ7ð	8ð 	×'Ñ'Õ)øô "ò 8Ø"×3Ò3Ø)×:Ñ:Ð:à)×7Ñ7Ð7ð	8ús	   ‘2².A c                 óâ   — t        | «      j                  «       D ]S  }t        |d«      r|j                  «        t	        |t
        «      sŒ0|D ]  }t        |d«      sŒ|j                  «        Œ! ŒU y )Nr%   )ÚvarsÚvaluesÚhasattrr    Ú
isinstancer$   )r   Ú
attr_valueÚmembers      r   r(   z8RelationConfigValidationMixin.run_child_validation_rules2   se   € Ü˜t›*×+Ñ+Ó-ò 	6ˆJÜ�zÐ#5Ô6Ø×/Ñ/Ô1Ü˜*¤cÕ*Ø(ò 6�FÜ˜vÐ'9Õ:Ø×3Ñ3Õ5ñ6ñ		6r   N)
r   r   r   r!   r   r   r   r%   r    r(   r   r   r   r   r      s2   „ ò$ð ð #Ð&BÑ"Cò ó ðò	*ó6r   r   N)	Údataclassesr   Útypingr   r   Údbt_common.exceptionsr   r   r   r   r   r   ú<module>r4      sN   ðÝ !ß  å 1ñ �$˜4¨TÔ2÷	
ð 	
ó 3ð	
ñ �$Ô÷$6ð $6ó ñ$6r   