Skip to content

Commit 4be3607

Browse files
committed
Remove base_url functionality, move to instance attributes and replace data_prefix with preprocess_data
1 parent e8734a1 commit 4be3607

File tree

2 files changed

+17
-23
lines changed

2 files changed

+17
-23
lines changed

patchwork/common/tools/api_tool.py

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from typing import Any, Dict, Optional
2+
from typing import Any, Callable, Dict, Optional
33

44
import requests
55
from typing_extensions import Literal
@@ -8,28 +8,17 @@
88

99

1010
class APIRequestTool(Tool, tool_name="make_api_request", abc_register=False):
11-
__base_url = ""
12-
__headers = dict()
13-
__auth = None
14-
__data_prefix = ""
15-
1611
def __init__(
1712
self,
18-
base_url: Optional[str] = None,
19-
headers: Optional[Dict[str, str]] = None,
13+
headers: Optional[Dict[str, str]] = dict(),
2014
username: Optional[str] = None,
2115
password: Optional[str] = None,
22-
data_prefix: Optional[str] = None,
16+
preprocess_data: Callable[[str], str] = lambda x: x,
2317
**kwargs,
2418
):
25-
if base_url:
26-
self.__base_url = base_url
27-
if headers:
28-
self.__headers = headers
29-
if username and password:
30-
self.__auth = (username, password)
31-
if data_prefix:
32-
self.__data_prefix = data_prefix
19+
self._headers = headers
20+
self._auth = (username, password) if username and password else None
21+
self._preprocess_data = preprocess_data
3322

3423
@property
3524
def json_schema(self) -> dict:
@@ -85,16 +74,16 @@ def execute(
8574
) -> str:
8675
# Combine with default headers
8776
request_headers = headers or {}
88-
request_headers.update(self.__headers)
77+
request_headers.update(self._headers)
8978

9079
# Prepare request
9180
response = requests.request(
9281
method=method,
93-
url=self.__base_url + url,
82+
url=url,
9483
headers=request_headers,
9584
params=params,
96-
data=(self.__data_prefix + data if data else None),
97-
auth=self.__auth,
85+
data=(self._preprocess_data(data) if data else None),
86+
auth=self._auth,
9887
)
9988

10089
if not response.ok:

patchwork/steps/ManageEngineAgent/ManageEngineAgent.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
from .typed import ManageEngineAgentInputs, ManageEngineAgentOutputs
1010

1111

12-
class ManageEngineAgent(Step, input_class=ManageEngineAgentInputs, output_class=ManageEngineAgentOutputs):
12+
class ManageEngineAgent(
13+
Step, input_class=ManageEngineAgentInputs, output_class=ManageEngineAgentOutputs
14+
):
1315
def __init__(self, inputs: dict):
1416
super().__init__(inputs)
1517

@@ -46,7 +48,10 @@ def __init__(self, inputs: dict):
4648
AgentConfig(
4749
name="ManageEngine Assistant",
4850
tool_set=dict(
49-
make_api_request=APIRequestTool(headers=self.headers, data_prefix="input_data="),
51+
make_api_request=APIRequestTool(
52+
headers=self.headers,
53+
preprocess_data=lambda x: f"input_data={x}",
54+
)
5055
),
5156
system_prompt="""\
5257
You are an senior software developer helping the program manager to interact with ManageEngine ServiceDesk via the ServiceDeskPlus API.

0 commit comments

Comments
 (0)