§
    éŽ’jØ  ã                   ó¦   — d Z ddlmZ ddlZddl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 ddlmZ dgZ G d„ d¦  «        ZdS )z Layer 1 API for Antigravity SDK.é    )ÚSequenceN)Úcast)Útypes)Ú
connection)Úconversation)Úhook_runner)Útool_context)Útool_runner)Útrigger_runnerÚAgentc                   ó¾   — e Zd ZdZdej        fd„Zdd„Zd„ Zde	j
        de	j        fd„Zedefd	„¦   «         Zedej        fd
„¦   «         Zededz  fd„¦   «         ZdS )r   z0High-level Agent API for simplified interaction.Úconfigc                 óŠ  — |                      d¬¦  «        | _        | j        j        r.t          t          | j        j        ¦  «        | j        j        _        d| _        d| _        d| _	        d| _
        d| _        t          |j        ¦  «        | _        t          |j        ¦  «        | _        t#          j        ¦   «         | _        dS )zWInitializes the Agent.

    Args:
        config: Declarative agent configuration.
    T)ÚdeepN)Ú
model_copyÚ_configÚresponse_schemar   ÚstrÚcapabilitiesÚfinish_tool_schema_jsonÚ	_strategyÚ_conversationÚ_tool_runnerÚ_hook_runnerÚ_trigger_runnerÚlistÚhooksÚ_pending_hooksÚtriggersÚ_pending_triggersÚ
contextlibÚAsyncExitStackÚ_exit_stack)Úselfr   s     úFC:\Projects\DSCons\.venv\Lib\site-packages\google\antigravity\agent.pyÚ__init__zAgent.__init__%   s°   € ð ×$Ò$¨$Ð$Ñ/Ô/€D„LØ„|Ô#ð å:>Ý
ˆtŒ|Ô+ñ;ô ;€d„lÔÔ7ð €D„NØ€DÔØ€DÔØ€DÔØ€DÔõ
 ˜vœ|Ñ,Ô,€DÔÝ! &¤/Ñ2Ô2€DÔÝ!Ô0Ñ2Ô2€DÔÐÐó    Úreturnc              ƒ   ó‚  K  — t          j        d¦  «         	 t          j        ¦   «         | _        | j        D ]}| j                             |¦  «         Œ| j                             ¦   «          t          | j	        j
        ¦  «        }| j	        j        }t          t          j                             ¦   «         ¦  «        }|j        �t          |j        ¦  «        }nO|j        �/t          t          j        ¦  «        t          |j        ¦  «        z
  }nt          t          j        ¦  «        }t%          ||z
  ¦  «        }t%          | j	        j        ¦  «        }t%          | j        j        ¦  «        }|s|r|s|st+          d¦  «        ‚t-          j        | j	                             ¦   «         ¬¦  «        | _        | j	                             | j        | j        ¬¦  «        | _        t          j        d¦  «         | j                             t<          j                              | j        ¦  «        ¦  «        ƒ d{V —†| _!        | j"        r‚t          j        d¦  «         | j                             tG          j$        t          | j"        ¦  «        | j%        j&        ¬¦  «        ¦  «        ƒ d{V —†| _'        | j"                             ¦   «          | j        r3tQ          j)        | j%        ¦  «        }	| j         *                    |	¦  «         | S # tV          $ r5 t          j,        d	¦  «         | j         -                    ¦   «         ƒ d{V —† ‚ w xY w)
zPStarts the agent session.

    Returns:
        The started Agent instance.
    zStarting Agent sessionNzÜWrite tools or MCP servers are enabled without a safety policy. Add policies=[policy.allow_all()] to approve all tool calls, or policies=[policy.deny_all(), policy.allow('tool_name')] to selectively allow specific tools.)Útools)r
   r   z0Starting connection and creating conversation...zStarting triggers...)r   r   z-Failed to start Agent session, cleaning up...).ÚloggingÚinfor   Ú
HookRunnerr   r   Úregister_hookÚclearr   r   Úpoliciesr   Úsetr   ÚBuiltinToolsÚ	read_onlyÚenabled_toolsÚdisabled_toolsÚboolÚmcp_serversÚpre_tool_call_decide_hooksÚ
ValueErrorr
   Ú
ToolRunnerÚ_get_all_custom_toolsr   Úcreate_strategyr   r#   Úenter_async_contextÚconversation_libÚConversationÚcreater   r    r   ÚTriggerRunnerr   r   r   r	   ÚToolContextÚset_contextÚ	ExceptionÚ	exceptionÚaclose)
r$   ÚhookÚactive_policiesÚcfgÚread_only_toolsÚactive_toolsÚhas_write_toolsÚhas_mcp_serversÚhas_tool_decide_hookÚctxs
             r%   Ú
__aenter__zAgent.__aenter__>   sb  è è € õ „LÐ)Ñ*Ô*Ð*ðGÝ%Ô0Ñ2Ô2€dÔð Ô%ð .ð .ˆ$ØÔ×'Ò'¨Ñ-Ô-Ð-Ð-Ø
Ô×ÒÑ!Ô!Ð!õ ˜Tœ\Ô2Ñ3Ô3€oØŒLÔ%€cÝ�EÔ.×8Ò8Ñ:Ô:Ñ;Ô;€oð 
Ô	Ð	&Ý˜3Ô,Ñ-Ô-ˆˆØÔÐ)Ý�5Ô-Ñ.Ô.µ°SÔ5GÑ1HÔ1HÑHˆˆå�5Ô-Ñ.Ô.ˆÝ˜\¨OÑ;Ñ<Ô<€oÝ˜Tœ\Ô5Ñ6Ô6€oÝ! $Ô"3Ô"NÑOÔOÐð ð

Ø-ð

à!ð

ð 'ð

õ
 ð3ñ
ô 
ð 	
õ &Ô0Ø”×2Ò2Ñ4Ô4ðñ ô €dÔð ”|×3Ò3ØÔ'ØÔ'ð 4ñ ô €d„nõ
 „lÐEÑFÔFÐFØ!%Ô!1×!EÒ!EÝ
Ô
'×
.Ò
.¨t¬~Ñ
>Ô
>ñ"ô "ð ð ð ð ð ð €dÔð
 
Ô	ð 'ÝŒÐ+Ñ,Ô,Ð,Ø%)Ô%5×%IÒ%IÝÔ(Ý˜dÔ4Ñ5Ô5ØÔ,Ô7ðñ ô ñ&
ô &
ð  
ð  
ð  
ð  
ð  
ð  
ˆÔð 	Ô×$Ò$Ñ&Ô&Ð&ð 
Ô	ð +ÝÔ& tÔ'8Ñ9Ô9ˆØÔ×%Ò% cÑ*Ô*Ð*à€køÝð ð ð ÝÔÐGÑHÔHÐHØÔ×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Øðøøøs   ˜K&K? Ë??L>c              ƒ   ór   K  — t          j        d¦  «         | j                             |||¦  «        ƒ d{V —†S )a   Stops the agent session.

    Args:
        exc_type: The exception type, if any.
        exc_val: The exception value, if any.
        exc_tb: The traceback, if any.

    Returns:
        True if the exception was suppressed, False or None otherwise.
    zStopping Agent sessionN)r+   r,   r#   Ú	__aexit__)r$   Úexc_typeÚexc_valÚexc_tbs       r%   rR   zAgent.__aexit__Ž   sF   è è € õ „LÐ)Ñ*Ô*Ð*ØÔ!×+Ò+¨H°g¸vÑFÔFÐFÐFÐFÐFÐFÐFÐFr'   Úpromptc              ƒ   ón  K  — |�)t          |t          ¦  «        r&|                     ¦   «         st          d|›�¦  «        ‚t          |t          ¦  «        rBt          |t          ¦  «        s-|rt          d„ |D ¦   «         ¦  «        rt          d|›�¦  «        ‚| j                             |¦  «        ƒ d{V —†S )aZ  Sends a prompt and returns the final response.

    Args:
        prompt: The user prompt or content to send.

    Returns:
        The final response from the agent.

    Raises:
        ValueError: If prompt is None, an empty or whitespace-only string, or an
          empty sequence / sequence containing only empty or whitespace strings.
    Nz1chat() requires a non-empty message string. Got: c              3   ój   K  — | ].}t          |t          ¦  «        o|                     ¦   «          V — Œ/d S )N)Ú
isinstancer   Ústrip)Ú.0Úps     r%   ú	<genexpr>zAgent.chat.<locals>.<genexpr>²   s;   è è € ÐHÐH¸A•:˜a¥Ñ%Ô%Ð7¨a¯gªg©i¬i¨-ÐHÐHÐHÐHÐHÐHr'   z0chat() requires non-empty message content. Got: )rY   r   rZ   r9   r   Úallr   Úchat)r$   rV   s     r%   r_   z
Agent.chatœ   sß   è è € ð €~�* V­SÑ1Ô1€~¸&¿,º,¹.¼.€~ÝØ
H¸fÐ
HÐ
Hñô ð õ 	�6�8Ñ$Ô$ð
å˜6¥3Ñ'Ô'ð
ð ð	
õ
 ÐHÐHÀÐHÑHÔHÑHÔHð
õ Ø
G¸VÐ
GÐ
Gñô ð ð Ô"×'Ò'¨Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/r'   c                 ó   — | j         duS )z+Whether the agent session has been started.N)r   ©r$   s    r%   Ú
is_startedzAgent.is_startedº   s   € ð Ô TÐ)Ð)r'   c                 ó<   — | j         st          d¦  «        ‚| j         S )a4  Returns the active Conversation session.

    Use this for advanced session introspection: history, turn count,
    compaction indices, usage, or direct send/receive_steps control.
    For most use cases, prefer chat() instead.

    Raises:
      RuntimeError: If the agent session has not been started.
    z7Agent session not started. Use 'async with Agent(...)'.)r   ÚRuntimeErrorra   s    r%   r   zAgent.conversation¿   s/   € ð Ôð ÝØ
Cñô ð ð ÔÐr'   Nc                 ó0   — | j         sdS | j         j        pdS )a$  Returns the conversation identifier assigned by the runtime.

    Available after the session has started and at least one message has
    been exchanged.  Pass this value back via SessionConfig.conversation_id
    to resume from a saved session.  Returns None before the session starts.
    N)r   Úconversation_idra   s    r%   rf   zAgent.conversation_idÐ   s%   € ð Ôð ØˆTØÔÔ-Ð5°Ð5r'   )r(   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úconnection_moduleÚAgentConfigr&   rP   rR   r   ÚContentÚChatResponser_   Úpropertyr6   rb   r>   r?   r   r   rf   © r'   r%   r   r   "   s  € € € € € Ø8Ð8ð3Ð.Ô:ð 3ð 3ð 3ð 3ð2Nð Nð Nð Nð`Gð Gð Gð0˜uœ}ð 0°Ô1Cð 0ð 0ð 0ð 0ð< ð*˜$ð *ð *ð *ñ „8ð*ð ðÐ,Ô9ð ð ð ñ „8ðð  ð	6˜s T™zð 	6ð 	6ð 	6ñ „8ð	6ð 	6ð 	6r'   )rj   Úcollections.abcr   r!   r+   Útypingr   Úgoogle.antigravityr   Úgoogle.antigravity.connectionsr   rk   Úgoogle.antigravity.conversationr   r>   Úgoogle.antigravity.hooksr   Úgoogle.antigravity.toolsr	   r
   Úgoogle.antigravity.triggersr   Ú__all__r   rp   r'   r%   ú<module>rz      s	  ðð 'Ð &à $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à $Ð $Ð $Ð $Ð $Ð $Ø JÐ JÐ JÐ JÐ JÐ JØ LÐ LÐ LÐ LÐ LÐ LØ 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð ˆ)€ðx6ð x6ð x6ð x6ð x6ñ x6ô x6ð x6ð x6ð x6r'   