# autopep8: off
# fmt: off


sys_prompt_k_expert = f"""You are an expert on web navigation. Your job is to provide a comprehensive and **detailed** description of how tasks like the ones provided to you are typically accomplished on the web.
\n
## Here's the information you'll have:
### Objective: This is an english description of the task, possibly accompanied by images that provide more context on what must be accomplished.
### Screenshots: These are screenshots of the webpage, giving you context of the state of the navigation for the task at hand."""


k_retrieval_no_expert = """
Please first provide the following: 
[Comprehensive and **detailed** description of how tasks like this are typically accomplished on the web]
"""

k_retrieval_expert = """Now please provide your response: how tasks like this are typically accomplished on the web?"""


eval_criteria = """Now please provide your response.
\n
## Here is the evaluation criteria:
SUCCESS: The assistant executed **all** that's necessary to complete the objective. The task is fully accomplished.
PARTIAL SUCCESS: The assistant executed **part of** what's necessary to complete the objective. The task is partially accomplished.
FAILURE: The assistant executed **mostly incorrect** steps. The task is not accomplished, and major revisions are needed."""

eval_criteria_binary = """Now please provide your response.
\n
## Here is the evaluation criteria:
SUCCESS: The assistant executed **all** that's necessary to complete the objective. The task is fully accomplished.
FAILURE: The assistant executed **mostly incorrect** steps. The task is not accomplished, and major revisions are needed."""


web_knowledge_info = "\n### General web knowledge: This is a general description of how tasks like this are typically accomplished on the web."
web_knowledge_rule = "\n5. Use the General web knowledge to guide your judgment, but also consider the context of the specific task given to you."


response_format_basicCoT = """## Provide your response as follows:
REASONING: [Comprehensive step-by-step reasoning over all evidence and information to come up with your evaluation and feedback]
EVALUATION: [Your evaluation following the evaluation criteria]
FEEDBACK: [Feedback so the assistant can progress towards the objective or NONE if not applicable]"""


image_infos = {
"som": """\n### Webpage screenshots: These are screenshots of the webpage, with each interactable element assigned a unique numerical id. Each bounding box and its respective id shares the same color.""",
"som_dot": """\n### Webpage screenshots: These are screenshots of the webpage, with each interactable element assigned a unique numerical id. Each bounding box and its respective id shares the same color. The red markers, if present, indicates the destination of actions taken at the corresponding state.""",
"raw": """\n### Webpage screenshots: These are screenshots of the webpage taken at each step of the navigation.""",
"raw_dot": """\n### Webpage screenshots: These are screenshots of the webpage taken at each step of the navigation. The colored dot markers, if present, indicate the destination of actions taken at the corresponding state.""",
"none": "",
}


text_obs_infos = {
"som": """\n### The text observations: These list the IDs of all interactable elements of the corresponding webpage frame with their text content if any, in the format [id] [tagType] [text content]. `tagType` is the type of the element, such as button, link, or textbox. `text content` is the text content of the element. For example, [1234] [button] ['Add to Cart'] means that there is a button with id 1234 and text content 'Add to Cart' on the current webpage. [] [StaticText] [text] means that the element is of some text that is not interactable.""",
"none": "",
}
