universal-mcp-agents 0.1.2__py3-none-any.whl → 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of universal-mcp-agents might be problematic. Click here for more details.
- universal_mcp/agents/autoagent/graph.py +30 -11
- universal_mcp/agents/autoagent/studio.py +1 -7
- universal_mcp/agents/base.py +55 -9
- universal_mcp/agents/bigtool/__init__.py +3 -1
- universal_mcp/agents/bigtool/graph.py +78 -25
- universal_mcp/agents/bigtool2/__init__.py +3 -1
- universal_mcp/agents/bigtool2/agent.py +2 -1
- universal_mcp/agents/bigtool2/context.py +0 -1
- universal_mcp/agents/bigtool2/graph.py +76 -32
- universal_mcp/agents/bigtoolcache/__init__.py +6 -2
- universal_mcp/agents/bigtoolcache/agent.py +2 -1
- universal_mcp/agents/bigtoolcache/context.py +0 -1
- universal_mcp/agents/bigtoolcache/graph.py +88 -59
- universal_mcp/agents/bigtoolcache/prompts.py +29 -0
- universal_mcp/agents/bigtoolcache/tools_all.txt +956 -0
- universal_mcp/agents/bigtoolcache/tools_important.txt +474 -0
- universal_mcp/agents/builder.py +19 -5
- universal_mcp/agents/codeact/__init__.py +16 -4
- universal_mcp/agents/hil.py +16 -4
- universal_mcp/agents/llm.py +5 -1
- universal_mcp/agents/planner/__init__.py +7 -3
- universal_mcp/agents/planner/__main__.py +3 -1
- universal_mcp/agents/planner/graph.py +3 -1
- universal_mcp/agents/react.py +5 -1
- universal_mcp/agents/shared/tool_node.py +24 -8
- universal_mcp/agents/simple.py +8 -1
- universal_mcp/agents/tools.py +9 -3
- universal_mcp/agents/utils.py +35 -7
- {universal_mcp_agents-0.1.2.dist-info → universal_mcp_agents-0.1.4.dist-info}/METADATA +4 -4
- universal_mcp_agents-0.1.4.dist-info/RECORD +53 -0
- universal_mcp_agents-0.1.2.dist-info/RECORD +0 -51
- {universal_mcp_agents-0.1.2.dist-info → universal_mcp_agents-0.1.4.dist-info}/WHEEL +0 -0
|
@@ -25,9 +25,13 @@ class PlannerAgent(BaseAgent):
|
|
|
25
25
|
self.executor_agent_cls = executor_agent_cls
|
|
26
26
|
|
|
27
27
|
async def _build_graph(self):
|
|
28
|
-
return build_graph(
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
return build_graph(
|
|
29
|
+
self.llm,
|
|
30
|
+
self.app_registry,
|
|
31
|
+
self.instructions,
|
|
32
|
+
self.model,
|
|
33
|
+
self.executor_agent_cls,
|
|
34
|
+
).compile(checkpointer=self.memory)
|
|
31
35
|
|
|
32
36
|
@property
|
|
33
37
|
def graph(self):
|
|
@@ -16,7 +16,9 @@ async def main():
|
|
|
16
16
|
|
|
17
17
|
console = Console()
|
|
18
18
|
console.print("Starting agent...", style="yellow")
|
|
19
|
-
async for event in agent.stream(
|
|
19
|
+
async for event in agent.stream(
|
|
20
|
+
user_input="Send an email to manoj@agentr.dev'", thread_id="xyz"
|
|
21
|
+
):
|
|
20
22
|
console.print(event.content, style="red")
|
|
21
23
|
|
|
22
24
|
|
|
@@ -18,7 +18,9 @@ def build_graph(llm, registry, instructions, model, executor_agent_cls):
|
|
|
18
18
|
task = state["messages"][-1].content
|
|
19
19
|
logger.info(f"Running tool finder for task: {task}")
|
|
20
20
|
tool_finder_graph = build_tool_node_graph(llm, registry)
|
|
21
|
-
tool_finder_state = await tool_finder_graph.ainvoke(
|
|
21
|
+
tool_finder_state = await tool_finder_graph.ainvoke(
|
|
22
|
+
{"task": task, "messages": state["messages"]}
|
|
23
|
+
)
|
|
22
24
|
|
|
23
25
|
if not tool_finder_state.get("apps_required"):
|
|
24
26
|
logger.info("Tool finder determined no apps are required.")
|
universal_mcp/agents/react.py
CHANGED
|
@@ -72,5 +72,9 @@ if __name__ == "__main__":
|
|
|
72
72
|
tools={"google-mail": ["send_email"]},
|
|
73
73
|
registry=AgentrRegistry(),
|
|
74
74
|
)
|
|
75
|
-
result = asyncio.run(
|
|
75
|
+
result = asyncio.run(
|
|
76
|
+
agent.invoke(
|
|
77
|
+
"Send an email with the subject 'testing react agent' to manoj@agentr.dev"
|
|
78
|
+
)
|
|
79
|
+
)
|
|
76
80
|
logger.info(result["messages"][-1].content)
|
|
@@ -97,7 +97,9 @@ INSTRUCTIONS:
|
|
|
97
97
|
reasoning: str
|
|
98
98
|
|
|
99
99
|
response = await llm.with_structured_output(AppList).ainvoke(
|
|
100
|
-
input=prompt.format(
|
|
100
|
+
input=prompt.format(
|
|
101
|
+
task=task, all_apps=all_apps, connected_apps=connected_apps
|
|
102
|
+
)
|
|
101
103
|
)
|
|
102
104
|
app_list = response.app_list
|
|
103
105
|
reasoning = f"Found relevant apps: {app_list}. Reasoning: {response.reasoning}"
|
|
@@ -105,7 +107,9 @@ INSTRUCTIONS:
|
|
|
105
107
|
|
|
106
108
|
return {
|
|
107
109
|
**state,
|
|
108
|
-
"messages": [
|
|
110
|
+
"messages": [
|
|
111
|
+
AIMessage(content=f"Identified relevant apps: {', '.join(app_list)}")
|
|
112
|
+
],
|
|
109
113
|
"relevant_apps": app_list,
|
|
110
114
|
"reasoning": state.get("reasoning", "") + "\n" + reasoning,
|
|
111
115
|
}
|
|
@@ -129,7 +133,9 @@ Your goal is to select the most appropriate tool for the given task.
|
|
|
129
133
|
Only return tool ids.
|
|
130
134
|
"""
|
|
131
135
|
|
|
132
|
-
response = await llm.with_structured_output(schema=ToolSelectionOutput).ainvoke(
|
|
136
|
+
response = await llm.with_structured_output(schema=ToolSelectionOutput).ainvoke(
|
|
137
|
+
input=SELECT_TOOL_PROMPT
|
|
138
|
+
)
|
|
133
139
|
|
|
134
140
|
selected_tool_ids = response.tool_ids
|
|
135
141
|
return selected_tool_ids
|
|
@@ -159,7 +165,9 @@ Task: "{task}"
|
|
|
159
165
|
class SearchQuery(BaseModel):
|
|
160
166
|
query: str
|
|
161
167
|
|
|
162
|
-
response = await llm.with_structured_output(SearchQuery).ainvoke(
|
|
168
|
+
response = await llm.with_structured_output(SearchQuery).ainvoke(
|
|
169
|
+
input=prompt.format(task=task)
|
|
170
|
+
)
|
|
163
171
|
query = response.query
|
|
164
172
|
logger.info(f"Generated search query '{query}' for task '{task}'")
|
|
165
173
|
return query
|
|
@@ -172,11 +180,17 @@ Task: "{task}"
|
|
|
172
180
|
apps_with_tools_dict = {}
|
|
173
181
|
reasoning_steps = []
|
|
174
182
|
for app_name in state["relevant_apps"]:
|
|
175
|
-
logger.info(
|
|
176
|
-
|
|
183
|
+
logger.info(
|
|
184
|
+
f"Searching for tools in {app_name} for task: {task} with query '{search_query}'"
|
|
185
|
+
)
|
|
186
|
+
found_tools = await registry.search_tools(
|
|
187
|
+
query=search_query, app_id=app_name
|
|
188
|
+
)
|
|
177
189
|
selected_tools = await _select_tools(task, found_tools)
|
|
178
190
|
apps_with_tools_dict[app_name] = selected_tools
|
|
179
|
-
reasoning_steps.append(
|
|
191
|
+
reasoning_steps.append(
|
|
192
|
+
f"For '{app_name}', selected tool(s): {', '.join(selected_tools)}."
|
|
193
|
+
)
|
|
180
194
|
|
|
181
195
|
return {
|
|
182
196
|
**state,
|
|
@@ -208,7 +222,9 @@ Task: "{task}"
|
|
|
208
222
|
)
|
|
209
223
|
workflow.add_conditional_edges(
|
|
210
224
|
"find_relevant_apps",
|
|
211
|
-
lambda state: "search_tools"
|
|
225
|
+
lambda state: "search_tools"
|
|
226
|
+
if state["relevant_apps"]
|
|
227
|
+
else "handle_no_apps_found",
|
|
212
228
|
)
|
|
213
229
|
|
|
214
230
|
workflow.add_edge("search_tools", END)
|
universal_mcp/agents/simple.py
CHANGED
|
@@ -15,7 +15,14 @@ class State(TypedDict):
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class SimpleAgent(BaseAgent):
|
|
18
|
-
def __init__(
|
|
18
|
+
def __init__(
|
|
19
|
+
self,
|
|
20
|
+
name: str,
|
|
21
|
+
instructions: str,
|
|
22
|
+
model: str,
|
|
23
|
+
memory: BaseCheckpointSaver = None,
|
|
24
|
+
**kwargs,
|
|
25
|
+
):
|
|
19
26
|
super().__init__(name, instructions, model, memory, **kwargs)
|
|
20
27
|
self.llm = load_chat_model(model)
|
|
21
28
|
|
universal_mcp/agents/tools.py
CHANGED
|
@@ -15,7 +15,9 @@ async def load_agentr_tools(agentr_servers: dict):
|
|
|
15
15
|
app = app_from_slug(app_name)
|
|
16
16
|
integration = AgentrIntegration(name=app_name)
|
|
17
17
|
app_instance = app(integration=integration)
|
|
18
|
-
tool_manager.register_tools_from_app(
|
|
18
|
+
tool_manager.register_tools_from_app(
|
|
19
|
+
app_instance, tool_names=tool_names["tools"]
|
|
20
|
+
)
|
|
19
21
|
tools = tool_manager.list_tools(format=ToolFormat.LANGCHAIN)
|
|
20
22
|
return tools
|
|
21
23
|
|
|
@@ -30,6 +32,10 @@ async def load_tools(path: str) -> ToolConfig:
|
|
|
30
32
|
with open(path) as f:
|
|
31
33
|
data = json.load(f)
|
|
32
34
|
config = ToolConfig.model_validate(data)
|
|
33
|
-
agentr_tools = await load_agentr_tools(
|
|
34
|
-
|
|
35
|
+
agentr_tools = await load_agentr_tools(
|
|
36
|
+
config.model_dump(exclude_none=True)["agentrServers"]
|
|
37
|
+
)
|
|
38
|
+
mcp_tools = await load_mcp_tools(
|
|
39
|
+
config.model_dump(exclude_none=True)["mcpServers"]
|
|
40
|
+
)
|
|
35
41
|
return agentr_tools + mcp_tools
|
universal_mcp/agents/utils.py
CHANGED
|
@@ -24,11 +24,20 @@ Available commands:
|
|
|
24
24
|
- `/tools` - List available tools
|
|
25
25
|
- `/exit` - Exit the application
|
|
26
26
|
"""
|
|
27
|
-
self.console.print(
|
|
27
|
+
self.console.print(
|
|
28
|
+
Panel(Markdown(welcome_text), title="🤖 AI Agent CLI", border_style="blue")
|
|
29
|
+
)
|
|
28
30
|
|
|
29
31
|
def display_agent_response(self, response: str, agent_name: str):
|
|
30
32
|
"""Display agent response with formatting"""
|
|
31
|
-
self.console.print(
|
|
33
|
+
self.console.print(
|
|
34
|
+
Panel(
|
|
35
|
+
Markdown(response),
|
|
36
|
+
title=f"🤖 {agent_name}",
|
|
37
|
+
border_style="green",
|
|
38
|
+
padding=(1, 2),
|
|
39
|
+
)
|
|
40
|
+
)
|
|
32
41
|
|
|
33
42
|
@contextmanager
|
|
34
43
|
def display_agent_response_streaming(self, agent_name: str):
|
|
@@ -54,7 +63,11 @@ Available commands:
|
|
|
54
63
|
def display_thinking(self, thought: str):
|
|
55
64
|
"""Display agent's thinking process"""
|
|
56
65
|
if thought:
|
|
57
|
-
self.console.print(
|
|
66
|
+
self.console.print(
|
|
67
|
+
Panel(
|
|
68
|
+
thought, title="💭 Thinking", border_style="yellow", padding=(1, 2)
|
|
69
|
+
)
|
|
70
|
+
)
|
|
58
71
|
|
|
59
72
|
def display_tools(self, tools: list):
|
|
60
73
|
"""Display available tools in a table"""
|
|
@@ -71,12 +84,23 @@ Available commands:
|
|
|
71
84
|
def display_tool_call(self, tool_call: dict):
|
|
72
85
|
"""Display tool call"""
|
|
73
86
|
tool_call_str = json.dumps(tool_call, indent=2)
|
|
74
|
-
self.console.print(
|
|
87
|
+
self.console.print(
|
|
88
|
+
Panel(
|
|
89
|
+
tool_call_str, title="🛠️ Tool Call", border_style="green", padding=(1, 2)
|
|
90
|
+
)
|
|
91
|
+
)
|
|
75
92
|
|
|
76
93
|
def display_tool_result(self, tool_result: dict):
|
|
77
94
|
"""Display tool result"""
|
|
78
95
|
tool_result_str = json.dumps(tool_result, indent=2)
|
|
79
|
-
self.console.print(
|
|
96
|
+
self.console.print(
|
|
97
|
+
Panel(
|
|
98
|
+
tool_result_str,
|
|
99
|
+
title="🛠️ Tool Result",
|
|
100
|
+
border_style="green",
|
|
101
|
+
padding=(1, 2),
|
|
102
|
+
)
|
|
103
|
+
)
|
|
80
104
|
|
|
81
105
|
def display_error(self, error: str):
|
|
82
106
|
"""Display error message"""
|
|
@@ -100,11 +124,15 @@ Available commands:
|
|
|
100
124
|
value = Prompt.ask(interrupt.value["question"])
|
|
101
125
|
return value
|
|
102
126
|
elif interrupt_type == "bool":
|
|
103
|
-
value = Prompt.ask(
|
|
127
|
+
value = Prompt.ask(
|
|
128
|
+
interrupt.value["question"], choices=["y", "n"], default="y"
|
|
129
|
+
)
|
|
104
130
|
return value
|
|
105
131
|
elif interrupt_type == "choice":
|
|
106
132
|
value = Prompt.ask(
|
|
107
|
-
interrupt.value["question"],
|
|
133
|
+
interrupt.value["question"],
|
|
134
|
+
choices=interrupt.value["choices"],
|
|
135
|
+
default=interrupt.value["choices"][0],
|
|
108
136
|
)
|
|
109
137
|
return value
|
|
110
138
|
else:
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: universal-mcp-agents
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Add your description here
|
|
5
5
|
Project-URL: Homepage, https://github.com/universal-mcp/applications
|
|
6
6
|
Project-URL: Repository, https://github.com/universal-mcp/applications
|
|
7
7
|
Author-email: Manoj Bajaj <manojbajaj95@gmail.com>
|
|
8
8
|
License: MIT
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.11
|
|
10
10
|
Requires-Dist: langchain-anthropic>=0.3.19
|
|
11
11
|
Requires-Dist: langchain-google-genai>=2.1.10
|
|
12
12
|
Requires-Dist: langchain-openai>=0.3.32
|
|
13
13
|
Requires-Dist: langgraph>=0.6.6
|
|
14
|
-
Requires-Dist: universal-mcp
|
|
15
|
-
Requires-Dist: universal-mcp
|
|
14
|
+
Requires-Dist: universal-mcp-applications>=0.1.4
|
|
15
|
+
Requires-Dist: universal-mcp>=0.1.24rc17
|
|
16
16
|
Provides-Extra: dev
|
|
17
17
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
18
18
|
Requires-Dist: ruff; extra == 'dev'
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
universal_mcp/agents/__init__.py,sha256=s50fHbQ3ufC_7mwQydHoua4KJOjKjKcUrAgMN0A_34M,588
|
|
2
|
+
universal_mcp/agents/base.py,sha256=gvo0nQDh6_LXbwRVWnGpL_u9e0ZSRe-ONHF9HPOzlj8,6086
|
|
3
|
+
universal_mcp/agents/builder.py,sha256=4F29b9QjrzVhz-di7MFA3X9vr1jpcjlRSLgPWvmzJQY,6134
|
|
4
|
+
universal_mcp/agents/cli.py,sha256=7GdRBpu9rhZPiC2vaNQXWI7K-0yCnvdlmE0IFpvy2Gk,539
|
|
5
|
+
universal_mcp/agents/hil.py,sha256=XfQT8QcuDbiIpUU9N4WSbO2Tm9YNSuwRqyCTWmCWaZo,3818
|
|
6
|
+
universal_mcp/agents/llm.py,sha256=k2aElFCAFEHSOTDVbA9NZrcWw6PMssG73_ZjVLYl3UM,1623
|
|
7
|
+
universal_mcp/agents/react.py,sha256=XlttlICxHOMa87MgLcoknDzepVMLsw6_DrWH7hfbmVM,2562
|
|
8
|
+
universal_mcp/agents/simple.py,sha256=Hr8sxDRW9VD3_ZaH-GhCgwe2XIRWEGn9ERYS25L6Los,1422
|
|
9
|
+
universal_mcp/agents/tools.py,sha256=vjTFJy1qw7WmKw2eCGiW0M9CgYV91hem8h8W2dLDwzg,1407
|
|
10
|
+
universal_mcp/agents/utils.py,sha256=eiR4CNf29ftqeySoCLjyh-gCXMout346_xA8i1Q9EAA,4516
|
|
11
|
+
universal_mcp/agents/autoagent/__init__.py,sha256=RruAbcjyMTB-dIRkzFZYtQxrTpZetynBRYd1xD9noj8,836
|
|
12
|
+
universal_mcp/agents/autoagent/__main__.py,sha256=HH5D5gSw6xirrSoj_0CCmQlVq_wfp--b6hZdiHGfXD8,654
|
|
13
|
+
universal_mcp/agents/autoagent/context.py,sha256=RgjW1uCslucxYJpdmi4govd-0V1_9e6Y_kjWl3FpLrE,847
|
|
14
|
+
universal_mcp/agents/autoagent/graph.py,sha256=ULTksF5qH-3whBvwP9Z2-0fiivudIx5482JWo70sneI,6928
|
|
15
|
+
universal_mcp/agents/autoagent/prompts.py,sha256=v-EwzZ_0XPuBNd_r8aWxmKMSQlZLTVBr0o-dmTQMN1w,892
|
|
16
|
+
universal_mcp/agents/autoagent/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
17
|
+
universal_mcp/agents/autoagent/studio.py,sha256=6RHU5UTIfap3b3ZKYD_Z87ciKNjIQA4FGDw8c8nGA84,638
|
|
18
|
+
universal_mcp/agents/autoagent/utils.py,sha256=AFq-8scw_WlSZxDnTzxSNrOSiGYsIlqkqtQLDWf_rMU,431
|
|
19
|
+
universal_mcp/agents/bigtool/__init__.py,sha256=QfuZF1f7r2ACLc2_awyBiF7PATiE3-dv4x4VoYw5ljw,1875
|
|
20
|
+
universal_mcp/agents/bigtool/__main__.py,sha256=_4HBqnlmdJwXOgeMITjBgaDHihED-aEgQmSXL9xcj0Y,602
|
|
21
|
+
universal_mcp/agents/bigtool/context.py,sha256=KM_B-rvEulrvXSBrXAJpwxGHVMW0HgiYKMnmrL2pUEQ,688
|
|
22
|
+
universal_mcp/agents/bigtool/graph.py,sha256=_3QHCobnELN1qyj3Eel9xhCAqiuNZzm7AZCg3M2fltM,9208
|
|
23
|
+
universal_mcp/agents/bigtool/prompts.py,sha256=A6El6Qw9r_D8OD4IZKuYqvrJFJZZmUhrTKlyqFPf6c0,1666
|
|
24
|
+
universal_mcp/agents/bigtool/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
25
|
+
universal_mcp/agents/bigtool2/__init__.py,sha256=RgT8OqIFpYEIXI5MhMFlUfZAc7aYI0_aX3HkgjPZtwk,1801
|
|
26
|
+
universal_mcp/agents/bigtool2/__main__.py,sha256=C4Mi8vM9kuGa_CryzIc9nL4-u73ZvSK5tOTbMDMN54I,605
|
|
27
|
+
universal_mcp/agents/bigtool2/agent.py,sha256=UPhjGjWOE6tOkL7Mzx8nosJox5kERvnu1BCpfNQEqlg,436
|
|
28
|
+
universal_mcp/agents/bigtool2/context.py,sha256=ny7gd-vvVpUOYAeQbAEUT0A6Vm6Nn2qGywxTzPBzYFg,929
|
|
29
|
+
universal_mcp/agents/bigtool2/graph.py,sha256=8yWSolV8DUvoOjwzVGwZrYsIiqj9nGMGAK8tCp76nKA,9256
|
|
30
|
+
universal_mcp/agents/bigtool2/prompts.py,sha256=Kn1sDrjH2xb3js_MPPu5PJHMP45unl93CdOC97Q_hzw,1652
|
|
31
|
+
universal_mcp/agents/bigtool2/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
32
|
+
universal_mcp/agents/bigtoolcache/__init__.py,sha256=YY7X8-XQ3AC2t_Y9MN9dZk5wTPu7iU6YS8Yhn_akgC0,1844
|
|
33
|
+
universal_mcp/agents/bigtoolcache/__main__.py,sha256=HkPEQqsdnWtDzWSbYdVBBc_JhpRi82TYuaubxNMtt4w,622
|
|
34
|
+
universal_mcp/agents/bigtoolcache/agent.py,sha256=LvzLV4lens_F8Or1Q3cGpo_ZAPxDEWFqtM707FRe9u4,448
|
|
35
|
+
universal_mcp/agents/bigtoolcache/context.py,sha256=ny7gd-vvVpUOYAeQbAEUT0A6Vm6Nn2qGywxTzPBzYFg,929
|
|
36
|
+
universal_mcp/agents/bigtoolcache/graph.py,sha256=ASOO3P5qUMFj7zwGyn592PpZclMHCYbfP2atMhMy2Cs,8628
|
|
37
|
+
universal_mcp/agents/bigtoolcache/prompts.py,sha256=joVjGrgUA2KVNADohZlCc2inP6wdqg7Dgr_3mXzpHZE,3241
|
|
38
|
+
universal_mcp/agents/bigtoolcache/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
39
|
+
universal_mcp/agents/bigtoolcache/tools_all.txt,sha256=g52i00AOh9VTDsAtIAF8vhqtTHQVmzTn61k724niEA0,95408
|
|
40
|
+
universal_mcp/agents/bigtoolcache/tools_important.txt,sha256=PD4klowvARwhbC8dcXMm_sGUWH7cAynX40nXLqeRbdQ,38593
|
|
41
|
+
universal_mcp/agents/codeact/__init__.py,sha256=qm06CsIodscl-XFfriYiPMDn7I_aIg48TTIw2ESgU2w,10263
|
|
42
|
+
universal_mcp/agents/codeact/sandbox.py,sha256=lGRzhuXTHCB1qauuOI3bH1-fPTsyL6Lf9EmMIz4C2xQ,1039
|
|
43
|
+
universal_mcp/agents/codeact/test.py,sha256=AI3qWszpM46hF4wzuQm6A8g_UkhGmcg9KhHtk9u14ro,497
|
|
44
|
+
universal_mcp/agents/codeact/utils.py,sha256=VuMvLTxBBh3pgaJk8RWj5AK8XZFF-1gnZJ6jFLeM_CI,1690
|
|
45
|
+
universal_mcp/agents/planner/__init__.py,sha256=GNtoMfL1zFTksYtLpbOBN6yW1G-tMhVQDd9_TlWl3hk,1139
|
|
46
|
+
universal_mcp/agents/planner/__main__.py,sha256=M4jZdWs7bWSG-J8iymwRR07Zmu89SAo6sDV3Ucqa1Bw,699
|
|
47
|
+
universal_mcp/agents/planner/graph.py,sha256=JRndNhAWgmjOsltzvyV49GNSASXNwAvc7ERuhZNLNm4,3123
|
|
48
|
+
universal_mcp/agents/planner/prompts.py,sha256=vLViZ4BeinqUe8gXACLl04UUnH-Hie5L2qDyhCmSNe0,32
|
|
49
|
+
universal_mcp/agents/planner/state.py,sha256=EdrIELvxzBZtdC1FpmErYnCC7OSJ3Irx9QGiCBCeomA,279
|
|
50
|
+
universal_mcp/agents/shared/tool_node.py,sha256=MMILT5o-ZNSmXDXavqyewWcgwmp0TFYInNX9MdUEvQM,8888
|
|
51
|
+
universal_mcp_agents-0.1.4.dist-info/METADATA,sha256=9FhL5a3MTh_CJVgUtjRIpfD2oAdzMJz8te6rbjp_hV8,793
|
|
52
|
+
universal_mcp_agents-0.1.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
53
|
+
universal_mcp_agents-0.1.4.dist-info/RECORD,,
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
universal_mcp/agents/__init__.py,sha256=s50fHbQ3ufC_7mwQydHoua4KJOjKjKcUrAgMN0A_34M,588
|
|
2
|
-
universal_mcp/agents/base.py,sha256=zNYbzV1KY0OM-lDvLBMpdDpueKc6Wy54kbuzjFmBa5w,5170
|
|
3
|
-
universal_mcp/agents/builder.py,sha256=duPULxwOEt6IFMK9n0yvaeOFW3Js50WucFi224BMwG8,5956
|
|
4
|
-
universal_mcp/agents/cli.py,sha256=7GdRBpu9rhZPiC2vaNQXWI7K-0yCnvdlmE0IFpvy2Gk,539
|
|
5
|
-
universal_mcp/agents/hil.py,sha256=6xi0hhK5g-rhCrAMcGbjcKMReLWPC8rnFZMBOF3N_cY,3687
|
|
6
|
-
universal_mcp/agents/llm.py,sha256=P03zoUxBfivMa3djt2kmWANxGLg77Tapx1aQJEPVTCo,1592
|
|
7
|
-
universal_mcp/agents/react.py,sha256=EVk59XVelBFV13us3CG-RolzRmu8v7FrhlR7m2QIYUY,2526
|
|
8
|
-
universal_mcp/agents/simple.py,sha256=JL8TFyXlA1F4zcArgKhlqVIbLWXetwM05z4MPDJgFeI,1367
|
|
9
|
-
universal_mcp/agents/tools.py,sha256=J8VdS1xnSEFeEVSmp5Hb47J2-4WJWtsIidUP1lFXhds,1341
|
|
10
|
-
universal_mcp/agents/utils.py,sha256=7kwFpD0Rv6JqHG-LlNCVwSu_xRX-N119mUmiBroHJL4,4109
|
|
11
|
-
universal_mcp/agents/autoagent/__init__.py,sha256=RruAbcjyMTB-dIRkzFZYtQxrTpZetynBRYd1xD9noj8,836
|
|
12
|
-
universal_mcp/agents/autoagent/__main__.py,sha256=HH5D5gSw6xirrSoj_0CCmQlVq_wfp--b6hZdiHGfXD8,654
|
|
13
|
-
universal_mcp/agents/autoagent/context.py,sha256=RgjW1uCslucxYJpdmi4govd-0V1_9e6Y_kjWl3FpLrE,847
|
|
14
|
-
universal_mcp/agents/autoagent/graph.py,sha256=zQ8XDPELK5MbdMy5hy9rkJtgd71I1RdPlpbNkqvXtuM,6645
|
|
15
|
-
universal_mcp/agents/autoagent/prompts.py,sha256=v-EwzZ_0XPuBNd_r8aWxmKMSQlZLTVBr0o-dmTQMN1w,892
|
|
16
|
-
universal_mcp/agents/autoagent/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
17
|
-
universal_mcp/agents/autoagent/studio.py,sha256=nfVRzPXwBjDORHA0wln2k3Nz-zQXNKgZMvgeqBvkdtM,644
|
|
18
|
-
universal_mcp/agents/autoagent/utils.py,sha256=AFq-8scw_WlSZxDnTzxSNrOSiGYsIlqkqtQLDWf_rMU,431
|
|
19
|
-
universal_mcp/agents/bigtool/__init__.py,sha256=gKSEOmOE5ZsIypxu1sUibzJ8acbk83DjApxE0Adawro,1853
|
|
20
|
-
universal_mcp/agents/bigtool/__main__.py,sha256=_4HBqnlmdJwXOgeMITjBgaDHihED-aEgQmSXL9xcj0Y,602
|
|
21
|
-
universal_mcp/agents/bigtool/context.py,sha256=KM_B-rvEulrvXSBrXAJpwxGHVMW0HgiYKMnmrL2pUEQ,688
|
|
22
|
-
universal_mcp/agents/bigtool/graph.py,sha256=fOr0p547kjpM_CkRyyEcDxmTZ5lEKaTAR98nRCkgsks,8284
|
|
23
|
-
universal_mcp/agents/bigtool/prompts.py,sha256=A6El6Qw9r_D8OD4IZKuYqvrJFJZZmUhrTKlyqFPf6c0,1666
|
|
24
|
-
universal_mcp/agents/bigtool/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
25
|
-
universal_mcp/agents/bigtool2/__init__.py,sha256=uP52BOl0z1n_ECbybf6lxVvC0PAjNMrBUcXUOibXjvA,1779
|
|
26
|
-
universal_mcp/agents/bigtool2/__main__.py,sha256=C4Mi8vM9kuGa_CryzIc9nL4-u73ZvSK5tOTbMDMN54I,605
|
|
27
|
-
universal_mcp/agents/bigtool2/agent.py,sha256=iwn2kyC-Wft40f_QHlLtg7fPpFUpwkjk7I5LJrrS4i8,434
|
|
28
|
-
universal_mcp/agents/bigtool2/context.py,sha256=1DMp8g4Gb6UUxVh8bcqafV2WpTGKo6GlaDN6Ey7cAbo,930
|
|
29
|
-
universal_mcp/agents/bigtool2/graph.py,sha256=l6LBWmBCsjO0r1TZUXAQHXvz_iqkW_9tGJSlySkcG7A,8373
|
|
30
|
-
universal_mcp/agents/bigtool2/prompts.py,sha256=Kn1sDrjH2xb3js_MPPu5PJHMP45unl93CdOC97Q_hzw,1652
|
|
31
|
-
universal_mcp/agents/bigtool2/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
32
|
-
universal_mcp/agents/bigtoolcache/__init__.py,sha256=dTPxrFIJGaJKb67a935UEkgqnBGdN9q1ba2HnpNAuq4,1792
|
|
33
|
-
universal_mcp/agents/bigtoolcache/__main__.py,sha256=HkPEQqsdnWtDzWSbYdVBBc_JhpRi82TYuaubxNMtt4w,622
|
|
34
|
-
universal_mcp/agents/bigtoolcache/agent.py,sha256=xLTymzsmpNpJf8-y1Mi8BbuWl09kXsk1sdhbJyVwASU,446
|
|
35
|
-
universal_mcp/agents/bigtoolcache/context.py,sha256=1DMp8g4Gb6UUxVh8bcqafV2WpTGKo6GlaDN6Ey7cAbo,930
|
|
36
|
-
universal_mcp/agents/bigtoolcache/graph.py,sha256=--CuUEc2IKGdKeMueEvsQ-GxCYZVlDclQdKhrf0ctvU,8418
|
|
37
|
-
universal_mcp/agents/bigtoolcache/prompts.py,sha256=bIbuktsi0EkOXxYGkyB-e_rmolllrHo4kDsvWO5p_1c,1874
|
|
38
|
-
universal_mcp/agents/bigtoolcache/state.py,sha256=TQeGZD99okclkoCh5oz-VYIlEsC9yLQyDpnBnm7QCN8,759
|
|
39
|
-
universal_mcp/agents/codeact/__init__.py,sha256=5D_I3lI_3tWjZERRoFav_bPe9UDaJ53pDzZYtyixg3E,10097
|
|
40
|
-
universal_mcp/agents/codeact/sandbox.py,sha256=lGRzhuXTHCB1qauuOI3bH1-fPTsyL6Lf9EmMIz4C2xQ,1039
|
|
41
|
-
universal_mcp/agents/codeact/test.py,sha256=AI3qWszpM46hF4wzuQm6A8g_UkhGmcg9KhHtk9u14ro,497
|
|
42
|
-
universal_mcp/agents/codeact/utils.py,sha256=VuMvLTxBBh3pgaJk8RWj5AK8XZFF-1gnZJ6jFLeM_CI,1690
|
|
43
|
-
universal_mcp/agents/planner/__init__.py,sha256=VTLVqIWkVh5SAuFoFupxByoqyNS1vCuc14mdUSr-vKE,1090
|
|
44
|
-
universal_mcp/agents/planner/__main__.py,sha256=nAFabo6SVZh4_4GV-SWCpnGg5GsVXgiHYpm9mhCQ6zw,685
|
|
45
|
-
universal_mcp/agents/planner/graph.py,sha256=Cj5Y1BI9uJvrYsr4JrQSPRSszznjdVD2dJHWHHJhxp0,3101
|
|
46
|
-
universal_mcp/agents/planner/prompts.py,sha256=vLViZ4BeinqUe8gXACLl04UUnH-Hie5L2qDyhCmSNe0,32
|
|
47
|
-
universal_mcp/agents/planner/state.py,sha256=EdrIELvxzBZtdC1FpmErYnCC7OSJ3Irx9QGiCBCeomA,279
|
|
48
|
-
universal_mcp/agents/shared/tool_node.py,sha256=IkjEcgzRAgjQTqcoa-i1dDY2LJfgOGj9HF8vihYuk_s,8678
|
|
49
|
-
universal_mcp_agents-0.1.2.dist-info/METADATA,sha256=yLpsTnGK6izBne_twuT9ED4M_CYhD4XBzNR3_E8WBjQ,781
|
|
50
|
-
universal_mcp_agents-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
51
|
-
universal_mcp_agents-0.1.2.dist-info/RECORD,,
|
|
File without changes
|