1- from typing import Optional
21from abc import ABC , abstractmethod
2+ from typing import Optional
33
4- from robot .api import logger as rf_logger
5- from pydantic_ai .usage import UsageLimits
6- from pydantic_ai .agent import AgentRunResult
74from pydantic_ai import Agent , ModelRetry , RunContext
5+ from pydantic_ai .agent import AgentRunResult
6+ from pydantic_ai .usage import UsageLimits
7+ from robot .api import logger as rf_logger
88
9- from SelfhealingAgents .utils .cfg import Cfg
10- from SelfhealingAgents .utils .logging import log
11- from SelfhealingAgents .self_healing_system .llm .client_model import get_client_model
12- from SelfhealingAgents .self_healing_system .schemas .api .locator_healing import LocatorHealingResponse
13- from SelfhealingAgents .self_healing_system .schemas .internal_state .prompt_payload import PromptPayload
14- from SelfhealingAgents .self_healing_system .context_retrieving .library_dom_utils .base_dom_utils import BaseDomUtils
159from SelfhealingAgents .self_healing_system .agents .prompts .locator .prompts_locator import (
1610 PromptsLocatorGenerationAgent ,
17- PromptsLocatorSelectionAgent
11+ PromptsLocatorSelectionAgent ,
12+ )
13+ from SelfhealingAgents .self_healing_system .context_retrieving .library_dom_utils .base_dom_utils import (
14+ BaseDomUtils ,
15+ )
16+ from SelfhealingAgents .self_healing_system .llm .client_model import get_client_model
17+ from SelfhealingAgents .self_healing_system .schemas .api .locator_healing import (
18+ LocatorHealingResponse ,
19+ )
20+ from SelfhealingAgents .self_healing_system .schemas .internal_state .prompt_payload import (
21+ PromptPayload ,
1822)
23+ from SelfhealingAgents .utils .cfg import Cfg
24+ from SelfhealingAgents .utils .logging import log
1925
2026
2127class BaseLocatorAgent (ABC ):
@@ -31,18 +37,17 @@ class BaseLocatorAgent(ABC):
3137 generation.
3238 selection_agent (Optional[Agent[PromptPayload, str]]): Agent for DOM-based locator selection.
3339 """
34- def __init__ (
35- self ,
36- cfg : Cfg ,
37- dom_utility : BaseDomUtils
38- ) -> None :
40+
41+ def __init__ (self , cfg : Cfg , dom_utility : BaseDomUtils ) -> None :
3942 """Initializes the BaseLocatorAgent.
4043
4144 Args:
4245 cfg (Cfg): Instance of Cfg config class containing user-defined app configuration.
4346 dom_utility (BaseDomUtils): DOM utility instance for validation.
4447 """
45- self ._usage_limits : UsageLimits = UsageLimits (cfg .request_limit , cfg .total_tokens_limit )
48+ self ._usage_limits : UsageLimits = UsageLimits (
49+ request_limit = cfg .request_limit , total_tokens_limit = cfg .total_tokens_limit
50+ )
4651 self ._dom_utility : BaseDomUtils = dom_utility
4752 self ._use_llm_for_locator_generation = cfg .use_llm_for_locator_generation
4853
@@ -60,7 +65,9 @@ def __init__(
6065 model = cfg .locator_agent_model ,
6166 cfg = cfg ,
6267 ),
63- system_prompt = PromptsLocatorGenerationAgent .get_system_msg (self ._dom_utility ),
68+ system_prompt = PromptsLocatorGenerationAgent .get_system_msg (
69+ self ._dom_utility
70+ ),
6471 deps_type = PromptPayload ,
6572 output_type = LocatorHealingResponse ,
6673 )
0 commit comments