
    h                        d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZ  G d de	      Z G d	 d
e      Zy)    )annotations)OptionalType)AsyncCallbackManagerForToolRunCallbackManagerForToolRun)	BaseModel)BaseBrowserTool)aget_current_pageget_current_pagec                      e Zd ZdZy)NavigateBackToolInputz,Explicit no-args input for NavigateBackTool.N)__name__
__module____qualname____doc__     p/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/langchain_community/tools/playwright/navigate_back.pyr   r      s    6r   r   c                  X    e Zd ZU dZdZded<   dZded<   eZded<   ddd
Z		 d	 	 	 ddZ
y	)NavigateBackToolz:Navigate back to the previous page in the browser history.previous_webpagestrnamez9Navigate back to the previous page in the browser historydescriptionzType[BaseModel]args_schemaNc                    | j                   t        d| j                         t        | j                         }|j	                         }|rd|j
                   d|j                   S y)Use the tool.z$Synchronous browser not provided to .Navigated back to the previous page with URL ''. Status code 8Unable to navigate back; no previous page in the history)sync_browser
ValueErrorr   r   go_backurlstatusselfrun_managerpageresponses       r   _runzNavigateBackTool._run   sn    $CDII;OPP 1 12<<>@ O  (02
 Nr   c                  K   | j                   t        d| j                         t        | j                          d{   }|j	                          d{   }|rd|j
                   d|j                   S y7 ;7 %w)r   Nz%Asynchronous browser not provided to r   r   r    )async_browserr"   r   r
   r#   r$   r%   r&   s       r   _arunzNavigateBackTool._arun,   s     
 %DTYYKPQQ&t'9'9::'@ O  (02
 N ;'s"   =A?A; A?A=$A?=A?)N)r(   z#Optional[CallbackManagerForToolRun]returnr   )r(   z(Optional[AsyncCallbackManagerForToolRun]r/   r   )r   r   r   r   r   __annotations__r   r   r   r+   r.   r   r   r   r   r      sJ    D"D#"RKR#8K8N" AEN=N 
Nr   r   N)
__future__r   typingr   r   langchain_core.callbacksr   r   pydanticr   )langchain_community.tools.playwright.baser	   *langchain_community.tools.playwright.utilsr
   r   r   r   r   r   r   <module>r7      s7    " !  E7I 7&N &Nr   