Ë
    Ávžjk  ã                   ó\   — d dl Z d dlmZ d dlmZ ddlmZ d„ Zd„ Z	d„ Z
d„ Z G d	„ d
«      Zy)é    N)Úfilterfalseé   )ÚHEREc                  óL   — t        j                  t        j                  | Ž «      S )z!Join paths to create a real path.)ÚospÚabspathÚjoin)Úargss    úf/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jupyterlab/coreconfig.pyÚpjoinr      s   € ä�;‰;”s—x‘x �Ó'Ð'ó    c                  óŒ   — t        t        t        dd«      «      5 } t        j                  | «      cddd«       S # 1 sw Y   yxY w)z"Get the data for the app template.Ústagingzpackage.jsonN)Úopenr   r   ÚjsonÚload)Úfids    r   Ú_get_default_core_datar      s,   € ä	Œe”D˜) ^Ó4Ô	5¸Ü�y‰y˜‹~÷ 
6×	5Ò	5ús	   ›:ºAc                 ó$   — | j                  d«      S )z.Whether a package name is in the lab namespacez@jupyterlab/)Ú
startswith)Únames    r   Ú_is_lab_packager      s   € à�?‰?˜>Ó*Ð*r   c                 ó  — t        | t        «      r0| j                  «       D ��ci c]  \  }}t        |«      rŒ||“Œ c}}S t        | t        t
        f«      rt	        t        t        | «      «      S d}t        |«      ‚c c}}w )zåFilter a dict/sequence to remove all lab packages

    This is useful to take the default values of e.g. singletons and filter
    away the '@jupyterlab/' namespace packages, but leave any others (e.g.
    lumino and react).
    z2collection arg should be either dict or list/tuple)Ú
isinstanceÚdictÚitemsr   ÚlistÚtupler   Ú	TypeError)Ú
collectionÚkÚvÚmsgs       r   Ú_only_nonlabr$      sr   € ô �*œdÔ#Ø#-×#3Ñ#3Ô#5ÔPÑ#5™˜!˜Q¼_ÈQÕ=O��1‘Ð#5ÒPÐPÜ	�J¤¤u Ô	.Ü”K¤°Ó<Ó=Ð=Ø
>€CÜ
�C‹.Ðùó	 Qs
   ¤A=¸A=c                   ó�   — e Zd ZdZd„ Zdd„Zd„ Zdd„Zed„ «       Z	ed„ «       Z
ed„ «       Zed	„ «       Zej                  d
„ «       Zy)Ú
CoreConfigz�An object representing a core config.

    This enables custom lab application to override some parts of the core
    configuration of the build system.
    c                 ó"   — t        «       | _        y )N)r   Ú_data©Úselfs    r   Ú__init__zCoreConfig.__init__1   s   € Ü+Ó-ˆ�
r   c                 ó  — | j                   }|sd}t        |«      ‚|sd}t        |«      ‚||d   v rd|›�}t        |«      ‚||d   |<   |rd|d   d   |<   ||d   |<   y|rd|d   d	   |<   ||d   |<   y|d   d
   j                  |«       y)a¸  Remove an extension/singleton.

        If neither extension or mimeExtension is True (the default)
        the package is added as a singleton dependency.

        name: string
            The npm package name
        semver: string
            The semver range for the package
        extension: bool
            Whether the package is an extension
        mime_extension: bool
            Whether the package is a MIME extension
        zMissing package namezMissing package semverÚresolutionszPackage already present: Ú Ú
jupyterlabÚmimeExtensionsÚdependenciesÚ
extensionsÚsingletonPackagesN)r(   Ú
ValueErrorÚappend)r*   r   ÚsemverÚ	extensionÚmime_extensionÚdatar#   s          r   ÚaddzCoreConfig.add4   sË   € ð �z‰zˆÙØ(ˆCÜ˜S“/Ð!ÙØ*ˆCÜ˜S“/Ð!Ø�4˜Ñ&Ñ&Ø-¨d¨XÐ6ˆCÜ˜S“/Ð!Ø$*ˆˆ]Ñ˜DÑ!ñ Ø9;ˆD�ÑÐ/Ñ0°Ñ6Ø)/ˆD�Ñ  Ò&ÙØ57ˆD�Ñ˜|Ñ,¨TÑ2Ø)/ˆD�Ñ  Ò&à�ÑÐ2Ñ3×:Ñ:¸4Õ@r   c                 ó®   — | j                   }|d   |d   |d   d   |d   d   f}|D ]  }	 ||= Œ |d   d   j                  |«       y# t        $ r Y Œ,w xY w)z[Remove a package/extension.

        name: string
            The npm package name
        r1   r-   r/   r2   r0   r3   N)r(   ÚKeyErrorÚremove)r*   r   r9   ÚmapsÚms        r   r=   zCoreConfig.removeZ   s†   € ð �z‰zˆà�Ñ Ø�ÑØ�Ñ˜|Ñ,Ø�ÑÐ/Ñ0ð	
ˆó ˆAðØ�d‘Gð ð 	ˆ\ÑÐ.Ñ/×6Ñ6°tÕ<øô ò Ùðús   «AÁ	AÁAc                 ó4  — | j                   }|rht        |d   «      |d<   t        |d   «      |d<   t        |d   d   «      |d   d<   t        |d   d   «      |d   d<   t        |d   d   «      |d   d<   yi |d<   i |d<   i |d   d<   i |d   d<   g |d   d<   y)zClear the packages/extensions.r1   r-   r/   r2   r0   r3   N)r(   r$   )r*   Úlab_onlyr9   s      r   Úclear_packageszCoreConfig.clear_packageso   sâ   € à�z‰zˆáä#/°°^Ñ0DÓ#EˆD�Ñ Ü".¨t°MÑ/BÓ"CˆD�ÑÜ/;¸DÀÑ<NÈ|Ñ<\Ó/]ˆD�Ñ˜|Ñ,Ü3?Ø�\Ñ"Ð#3Ñ4ó4ˆD�ÑÐ/Ñ0ô 7CØ�\Ñ"Ð#6Ñ7ó7ˆD�ÑÐ2Ò3ð $&ˆD�Ñ Ø"$ˆD�ÑØ/1ˆD�Ñ˜|Ñ,Ø35ˆD�ÑÐ/Ñ0Ø68ˆD�ÑÐ2Ò3r   c                 ó^   — | j                   }|d   d   D �ci c]  }||d   |   “Œ c}S c c}w )z2A dict mapping all extension names to their semverr/   r2   r-   ©r(   ©r*   r9   r!   s      r   r2   zCoreConfig.extensions…   s@   € ð �z‰zˆØ37¸Ñ3EÀlÒ3SÓTÑ3S¨a��4˜Ñ& qÑ)Ñ)Ð3SÑTÐTùÒTó   —*c                 ó^   — | j                   }|d   d   D �ci c]  }||d   |   “Œ c}S c c}w )z7A dict mapping all MIME extension names to their semverr/   r0   r-   rD   rE   s      r   Úmime_extensionszCoreConfig.mime_extensions‹   sA   € ð �z‰zˆØ37¸Ñ3EÐFVÒ3WÓXÑ3W¨a��4˜Ñ& qÑ)Ñ)Ð3WÑXÐXùÒXrF   c                 óx   — | j                   }|d   d   D �ci c]  }||d   j                  |d«      “Œ c}S c c}w )z2A dict mapping all singleton names to their semverr/   r3   r-   N)r(   ÚgetrE   s      r   Ú
singletonszCoreConfig.singletons‘   sQ   € ð �z‰zˆà9=¸lÑ9KÐL_Ò9`ó
Ù9`°AˆAˆt�MÑ"×&Ñ& q¨$Ó/Ñ/Ð9`ñ
ð 	
ùò 
s   —7c                 ó&   — | j                   d   d   S ©Nr/   Ú	staticDirrD   r)   s    r   Ú
static_dirzCoreConfig.static_dir™   s   € à�z‰z˜,Ñ'¨Ñ4Ð4r   c                 ó(   — || j                   d   d<   y rM   rD   )r*   rO   s     r   rO   zCoreConfig.static_dir�   s   € à0:ˆ�
‰
�<Ñ  Ò-r   N)FF)T)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r+   r:   r=   rB   Úpropertyr2   rH   rK   rO   Úsetter© r   r   r&   r&   *   s‹   „ ñò.ó$AòL=ó*9ð, ñUó ðUð
 ñYó ðYð
 ñ
ó ð
ð ñ5ó ð5ð ×Ññ;ó ñ;r   r&   )r   Úos.pathÚpathr   Ú	itertoolsr   Újlpmappr   r   r   r   r$   r&   rW   r   r   Ú<module>r\      s3   ðó Ý Ý !å ò(ò
ò+ò
÷u;ò u;r   