File tree 4 files changed +25
-9
lines changed
interpreter/core/computer
4 files changed +25
-9
lines changed Original file line number Diff line number Diff line change @@ -235,8 +235,9 @@ misc/
235
235
236
236
# Ignore litellm_uuid.txt
237
237
litellm_uuid.txt
238
+
239
+ # some more
238
240
.aider *
239
241
file.txt
240
242
numbers.txt
241
- poetry.lock
242
- poetry.lock
243
+ poetry.lock
Original file line number Diff line number Diff line change @@ -16,9 +16,9 @@ def __init__(self, computer):
16
16
self ._driver = None
17
17
18
18
@property
19
- def driver (self ):
19
+ def driver (self , headless = True ):
20
20
if self ._driver is None :
21
- self .setup ()
21
+ self .setup (headless )
22
22
return self ._driver
23
23
24
24
@driver .setter
@@ -62,10 +62,19 @@ def fast_search(self, query):
62
62
63
63
return response .json ()["result" ]
64
64
65
- def setup (self ):
66
- self .service = Service (ChromeDriverManager ().install ())
67
- self .options = webdriver .ChromeOptions ()
68
- self ._driver = webdriver .Chrome (service = self .service , options = self .options )
65
+ def setup (self , headless ):
66
+ try :
67
+ self .service = Service (ChromeDriverManager ().install ())
68
+ self .options = webdriver .ChromeOptions ()
69
+ # Run Chrome in headless mode
70
+ if headless :
71
+ self .options .add_argument ("--headless" )
72
+ self .options .add_argument ("--disable-gpu" )
73
+ self .options .add_argument ("--no-sandbox" )
74
+ self ._driver = webdriver .Chrome (service = self .service , options = self .options )
75
+ except Exception as e :
76
+ print (f"An error occurred while setting up the WebDriver: { e } " )
77
+ self ._driver = None
69
78
70
79
def go_to_url (self , url ):
71
80
"""Navigate to a URL"""
Original file line number Diff line number Diff line change @@ -110,7 +110,8 @@ def _extract_tool_info(self, tool):
110
110
"methods" : []
111
111
}
112
112
for name , method in inspect .getmembers (tool , predicate = inspect .ismethod ):
113
- if not name .startswith ("_" ):
113
+ # Check if the method should be ignored based on its decorator
114
+ if not name .startswith ("_" ) and not hasattr (method , '__wrapped__' ):
114
115
# Get the method signature
115
116
method_signature = inspect .signature (method )
116
117
# Construct the signature string without *args and **kwargs
Original file line number Diff line number Diff line change @@ -19,3 +19,8 @@ def test_get_all_computer_tools_signature_and_description(self):
19
19
20
20
# Assert
21
21
self .assertGreater (len (tools_description ), 64 )
22
+
23
+ if __name__ == "__main__" :
24
+ testing = TestComputer ()
25
+ testing .setUp ()
26
+ testing .test_get_all_computer_tools_signature_and_description ()
You can’t perform that action at this time.
0 commit comments