
    jKj
                    p    d Z ddlmZ ddlmZmZmZ ddlmZ dgZ	dZ
dZddd
Ze
fddZddZddZddZy	)zThe ``get_more_tools`` virtual tool: a tool advertised to agents so they can
report a capability the server doesn't offer yet. Calling it emits
``$mcp_missing_capability`` (not ``$mcp_tool_call``).    )annotations)AnyDictOptional   )logget_more_tools_resultget_more_toolszUnfortunately, we have shown you the full tool list. We have noted your feedback and will work to improve the tool list in the future.Nc                8    | t        | dd      nd}|xs t        S )zThe configured name of the virtual tool, falling back to the default.
    Resolve through here everywhere (inject + detect) so a custom name can't drift.Nmissing_capability_tool_name)getattrGET_MORE_TOOLS_NAME)optionsnames     b/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/posthog/mcp/tools.py$resolve_missing_capability_tool_namer      s/    
  	7> 	
 &&&    c           	     0    | ddddddidgddd	d	d	d
ddS )ztThe advertised descriptor for the virtual tool (plain dict; adapters build
    the framework's Tool object from it).zCheck for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.objectcontextstringzJA description of your goal and what kind of tool would help accomplish it.)typedescription)r   
propertiesrequiredzGet More ToolsTF)titlereadOnlyHintopenWorldHintidempotentHintdestructiveHint)r   r   inputSchemar    )r   s    r   build_report_missing_descriptorr#   $   sQ     N $#o #	
 & !"$
! r   c                     ddt         dgiS )zThe canned acknowledgement returned to the agent after it calls
    ``get_more_tools``. Reply with this from a custom dispatcher; the ``instrument()``
    path returns it automatically.contenttext)r   r&   _GET_MORE_TOOLS_RESULT_TEXTr"   r   r   r	   r	   A   s     1LMNOOr   c                     t         S Nr'   r"   r   r   get_more_tools_result_textr+   H   s    &&r   c                2    t        d|        t               S )NzMissing tool reported: )r   r	   )r   s    r   handle_report_missingr-   L   s    
!'-. ""r   r*   )r   r   returnstr)r   r/   r.   Dict[str, Any])r.   r0   )r.   r/   )r   zOptional[str]r.   r0   )__doc__
__future__r   typingr   r   r   loggerr   __all__r   r(   r   r#   r	   r+   r-   r"   r   r   <module>r6      sP   
9 # & & "
#& < ' 1D :P'#r   