
    i                    N    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d de      Z	y)	z7Claude-specific skills provider for Claude Code skills.    )annotations)Path)Literal)SkillsDirectoryProviderc                  4     e Zd ZdZ	 	 d	 	 	 	 	 d fdZ xZS )ClaudeSkillsProvidera  Provider for Claude Code skills from ~/.claude/skills/.

    A convenience subclass that sets the default root to Claude's skills location.

    Args:
        reload: If True, re-scan on every request. Defaults to False.
        supporting_files: How supporting files are exposed:
            - "template": Accessed via ResourceTemplate, hidden from list_resources().
            - "resources": Each file exposed as individual Resource in list_resources().

    Example:
        ```python
        from fastmcp import FastMCP
        from fastmcp.server.providers.skills import ClaudeSkillsProvider

        mcp = FastMCP("Claude Skills")
        mcp.add_provider(ClaudeSkillsProvider())  # Uses default location
        ```
    c                b    t        j                         dz  dz  }t        |   |g|d|       y )Nz.claudeskillszSKILL.md)rootsreloadmain_file_namesupporting_files)r   homesuper__init__)selfr   r   root	__class__s       /Users/bowang/.openclaw/workspace/ChatDev/.venv/lib/python3.12/site-packages/fastmcp/server/providers/skills/claude_provider.pyr   zClaudeSkillsProvider.__init__    s:    
 yy{Y&1&%-	 	 	
    )Ftemplate)r   boolr   z Literal['template', 'resources']returnNone)__name__
__module____qualname____doc__r   __classcell__)r   s   @r   r   r      s6    , =G

 ;
 
	
 
r   r   N)
r   
__future__r   pathlibr   typingr   2fastmcp.server.providers.skills.directory_providerr   r    r   r   <module>r%      s!    = "   V!
2 !
r   