Ë
    Ìiƒ
  ã                   ó~   — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 ddl
mZ ddlmZ dd	lmZmZ  G d
„ de«      Zy)é    )ÚList)ÚAdapterRequiredConfig)Ú
MacroStack)ÚTestMacroNamespace)ÚManifesté   )Úcontextproperty)ÚConfiguredContext)ÚMacroNamespaceÚMacroNamespaceBuilderc                   óp   ‡ — e Zd ZdZdedededdfˆ fd„Zdefd„Z	de
fd	„Zˆ fd
„Z e«       d„ «       Zˆ xZS )ÚManifestContextzôThe Macro context has everything in the target context, plus the macros
    in the manifest.

    The given macros can override any previous context values, which will be
    available as if they were accessed relative to the package name.
    ÚconfigÚmanifestÚsearch_packageÚreturnNc                 óˆ   •— t         ‰| �  |«       || _        || _        t	        «       | _        | j                  «       | _        y ©N)ÚsuperÚ__init__r   r   r   Úmacro_stackÚ_build_namespaceÚ	namespace)Úselfr   r   r   Ú	__class__s       €úU/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/dbt/context/manifest.pyr   zManifestContext.__init__   s=   ø€ ô 	‰Ñ˜Ô Ø ˆŒà,ˆÔÜ%›<ˆÔð ×.Ñ.Ó0ˆ�ó    c                 óŠ   — | j                  «       }|j                  | j                  j                  «       | j                  «      S r   )Ú_get_namespace_builderÚbuild_namespacer   Úget_macros_by_packageÚ_ctx)r   Úbuilders     r   r   z ManifestContext._build_namespace&   s6   € ð ×-Ñ-Ó/ˆØ×&Ñ& t§}¡}×'JÑ'JÓ'LÈdÏiÉiÓXÐXr   c                 óÈ   — ddl m}  || j                  j                  j                  «      }t        | j                  j                  | j                  | j                  |d «      S )Nr   )Úget_adapter_package_names)	Údbt.adapters.factoryr%   r   ÚcredentialsÚtyper   Úproject_namer   r   )r   r%   Úinternal_packagess      r   r   z&ManifestContext._get_namespace_builder,   sR   € åBá'@ÀÇÁ×AXÑAX×A]ÑA]Ó'^ÐÜ$Ø�K‰K×$Ñ$Ø×ÑØ×ÑØØó
ð 	
r   c                 ó&  •— t         ‰| �  «       }t        | j                  t        «      rL|j                  | j                  j                  «       |j                  | j                  j                  «       |S |j                  | j                  «       |S r   )r   Úto_dictÚ
isinstancer   r   ÚupdateÚlocal_namespaceÚproject_namespace)r   Údctr   s     €r   r,   zManifestContext.to_dict:   sj   ø€ Ü‰g‰oÓˆô �d—n‘nÔ&8Ô9Ø�J‰J�t—~‘~×5Ñ5Ô6Ø�J‰J�t—~‘~×7Ñ7Ô8ð ˆ
ð �J‰J�t—~‘~Ô&àˆ
r   c                 ó   — | j                   S r   )r   )r   s    r   Úcontext_macro_stackz#ManifestContext.context_macro_stackF   s   € à×ÑÐr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ústrr   r   r   r   r   r,   r	   r3   Ú__classcell__)r   s   @r   r   r      sj   ø„ ñð1à%ð1ð ð1ð ð	1ð
 
õ1ð Y .ó Yð
Ð(=ó 
ô
ñ Óñ ó ô r   r   N)Útypingr   Ú!dbt.adapters.contracts.connectionr   Údbt.clients.jinjar   Údbt.context.macro_resolverr   Údbt.contracts.graph.manifestr   Úbaser	   Ú
configuredr
   Úmacrosr   r   r   © r   r   ú<module>rC      s*   ðÝ å CÝ (Ý 9Ý 1å !Ý )ß 9ô; Ð'õ ; r   