xgae 0.3.3__tar.gz → 0.3.4__tar.gz
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 xgae might be problematic. Click here for more details.
- {xgae-0.3.3 → xgae-0.3.4}/CHANGELOG.md +9 -1
- {xgae-0.3.3 → xgae-0.3.4}/PKG-INFO +1 -1
- {xgae-0.3.3/examples/agent/are/simulation/agents/xga → xgae-0.3.4/examples/agent/are}/README.md +12 -12
- xgae-0.3.3/examples/agent/are/simulation/agents/xga/xga_agent.py → xgae-0.3.4/examples/agent/are/are/simulation/agents/xga/are_agent.py +20 -12
- xgae-0.3.3/examples/agent/are/simulation/agents/xga/xga_agent_factory.py → xgae-0.3.4/examples/agent/are/are/simulation/agents/xga/are_agent_factory.py +1 -1
- xgae-0.3.4/examples/agent/are/are/simulation/agents/xga/are_prompt_builder.py +19 -0
- xgae-0.3.3/examples/agent/are/simulation/agents/xga/xga_tool_box.py → xgae-0.3.4/examples/agent/are/are/simulation/agents/xga/are_tool_box.py +2 -2
- {xgae-0.3.3/examples/agent → xgae-0.3.4/examples/agent/are}/are/simulation/agents/xga/mcp_tool_executor.py +9 -8
- xgae-0.3.4/examples/agent/are/are_modify_files.zip +0 -0
- xgae-0.3.4/examples/agent/are/templates/custom_tool_prompt_template.txt +24 -0
- xgae-0.3.4/examples/agent/are/templates/general_tool_prompt_template.txt +51 -0
- xgae-0.3.4/mcpservers/xga_server.json +11 -0
- {xgae-0.3.3 → xgae-0.3.4}/pyproject.toml +1 -1
- {xgae-0.3.3 → xgae-0.3.4}/xgae/gaia2/are_engine.py +3 -0
- {xgae-0.3.3 → xgae-0.3.4}/.env +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/.python-version +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/README.md +0 -0
- {xgae-0.3.3/examples/agent → xgae-0.3.4/examples/agent/are}/are/simulation/scenarios/scenario_bomc_fault/scenario.py +0 -0
- {xgae-0.3.3/examples/agent/are/simulation/agents/xga → xgae-0.3.4/examples/agent/are}/env.example +0 -0
- {xgae-0.3.3/examples/agent/are → xgae-0.3.4/examples/agent/are/mcpservers}/example_mcp_apps.json +0 -0
- {xgae-0.3.3 → xgae-0.3.4/examples/agent/are}/mcpservers/xga_server.json +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/agent/langgraph/reflection/agent_base.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/agent/langgraph/reflection/custom_prompt_rag.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/agent/langgraph/reflection/reflection_agent.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/agent/langgraph/reflection/result_eval_agent.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/agent/langgraph/reflection/run_agent_app.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/engine/run_custom_and_agent_tools.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/engine/run_general_tools.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/engine/run_human_in_loop.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/engine/run_simple.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/tools/custom_fault_tools_app.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/examples/tools/simu_a2a_tools_app.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/mcpservers/custom_servers.json +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/mcpservers/xga_server_sse.json +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/agent_tool_prompt_template.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/custom_tool_prompt_template.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/example/fault_user_prompt.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/example/result_eval_template.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/gemini_system_prompt_template.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/general_tool_prompt_template.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/system_prompt_response_sample.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/templates/system_prompt_template.txt +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/test/test_chroma.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/test/test_langfuse.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/test/test_litellm_langfuse.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/uv.lock +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/__init__.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/engine_base.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/mcp_tool_box.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/prompt_builder.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/responser/non_stream_responser.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/responser/responser_base.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/responser/stream_responser.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/task_engine.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine/task_langfuse.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/engine_cli_app.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/tools/without_general_tools_app.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/utils/__init__.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/utils/json_helpers.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/utils/llm_client.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/utils/misc.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/utils/setup_env.py +0 -0
- {xgae-0.3.3 → xgae-0.3.4}/xgae/utils/xml_tool_parser.py +0 -0
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
## [0.3.4] - 2025-11-1
|
|
2
|
+
- GAIA2 ARE Example: XGAArePromptBuilder, Use MCP tool format general tool construct prompt
|
|
3
|
+
### Modified
|
|
4
|
+
- GAIA2 ARE Example: Refact code struct and class name
|
|
5
|
+
- GAIA2 ARE Example: Optimize prompt template
|
|
6
|
+
- ARETaskEngine: add prompt_builder init parameter
|
|
7
|
+
|
|
8
|
+
|
|
1
9
|
## [0.3.3] - 2025-10-30
|
|
2
10
|
### Added
|
|
3
11
|
- GAIA2 ARE Scenario: scenario_bomc_fault
|
|
4
|
-
- GAIA2 ARE
|
|
12
|
+
- GAIA2 ARE MCP: Support Custom MCP Apps, example_mcp_apps.json
|
|
5
13
|
|
|
6
14
|
|
|
7
15
|
## [0.3.2] - 2025-10-24
|
{xgae-0.3.3/examples/agent/are/simulation/agents/xga → xgae-0.3.4/examples/agent/are}/README.md
RENAMED
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
if agent_name in["default", "xga"]:
|
|
22
22
|
```
|
|
23
23
|
- modify ARE 'MCPApp' :
|
|
24
|
-
```
|
|
25
|
-
File: mcp_app.py
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```
|
|
24
|
+
```
|
|
25
|
+
File: mcp_app.py
|
|
26
|
+
class MCPApp:
|
|
27
|
+
def _call_tool(self, tool_name: str, **kwargs) -> str:
|
|
28
|
+
try:
|
|
29
|
+
...
|
|
30
|
+
from are.simulation.agents.xga.mcp_tool_executor import call_mcp_tool
|
|
31
|
+
result = call_mcp_tool(self.server_url, tool_name, kwargs, 10)
|
|
32
|
+
return str(result)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
```
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
- modify ARE .env, add XGAE .env config, refer to env.example
|
|
@@ -24,8 +24,8 @@ from are.simulation.agents.default_agent.base_agent import (
|
|
|
24
24
|
|
|
25
25
|
from xgae.utils.llm_client import LLMConfig
|
|
26
26
|
from xgae.gaia2.are_engine import ARETaskEngine
|
|
27
|
-
from are.simulation.agents.xga.
|
|
28
|
-
|
|
27
|
+
from are.simulation.agents.xga.are_tool_box import XGAAreToolBox
|
|
28
|
+
from are.simulation.agents.xga.are_prompt_builder import XGAArePromptBuilder
|
|
29
29
|
|
|
30
30
|
def pre_run_task_check(agent, iterations: int, llm_messages: List[Dict[str, Any]]):
|
|
31
31
|
try:
|
|
@@ -166,10 +166,11 @@ class XGAAreAgent(BaseAgent):
|
|
|
166
166
|
_system_prompt = "\n\n".join(prompt for prompt in self.init_system_prompts.values())
|
|
167
167
|
pattern = r'<general_instructions>(.*?)</general_instructions>'
|
|
168
168
|
prompt_are_general = re.search(pattern, _system_prompt, re.DOTALL)
|
|
169
|
+
prompt_header = "#CORE IDENTITY & CAPABILITIES\n"
|
|
169
170
|
if prompt_are_general:
|
|
170
|
-
prompt_are_general = prompt_are_general.group(1).strip()
|
|
171
|
+
prompt_are_general = prompt_header + prompt_are_general.group(1).strip() + "\n\n"
|
|
171
172
|
else:
|
|
172
|
-
prompt_are_general = _system_prompt
|
|
173
|
+
prompt_are_general = prompt_header + _system_prompt + "\n\n"
|
|
173
174
|
|
|
174
175
|
model_config = self.llm_engine.model_config
|
|
175
176
|
llm_config = LLMConfig(
|
|
@@ -177,6 +178,9 @@ class XGAAreAgent(BaseAgent):
|
|
|
177
178
|
api_key = model_config.api_key,
|
|
178
179
|
api_base = model_config.endpoint
|
|
179
180
|
)
|
|
181
|
+
|
|
182
|
+
prompt_builder = XGAArePromptBuilder(prompt_are_general)
|
|
183
|
+
|
|
180
184
|
self.task_engine = ARETaskEngine(
|
|
181
185
|
agent = self,
|
|
182
186
|
agent_id = self.agent_id,
|
|
@@ -184,6 +188,7 @@ class XGAAreAgent(BaseAgent):
|
|
|
184
188
|
max_auto_run = self.max_iterations,
|
|
185
189
|
llm_config = llm_config,
|
|
186
190
|
tool_box = tool_box,
|
|
191
|
+
prompt_builder = prompt_builder,
|
|
187
192
|
pre_run_task_fn = pre_run_task_check,
|
|
188
193
|
post_run_task_fn = post_run_task_check,
|
|
189
194
|
terminate_task_fn = terminate_task_check,
|
|
@@ -236,15 +241,18 @@ class XGAAreAgent(BaseAgent):
|
|
|
236
241
|
agent_id = self.agent_id,
|
|
237
242
|
)
|
|
238
243
|
)
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
244
|
+
elif chunk_type == "assistant":
|
|
245
|
+
llm_content = chunk['content']['content']
|
|
246
|
+
if "<thought>" in llm_content:
|
|
247
|
+
thought_content = re.search(r'<thought>(.*?)</thought>', llm_content, re.DOTALL).group(1).strip()
|
|
248
|
+
if thought_content:
|
|
249
|
+
self.append_agent_log(
|
|
250
|
+
ThoughtLog(
|
|
251
|
+
content = thought_content,
|
|
252
|
+
timestamp = self.make_timestamp(),
|
|
253
|
+
agent_id = self.agent_id,
|
|
254
|
+
)
|
|
246
255
|
)
|
|
247
|
-
)
|
|
248
256
|
elif chunk_type == "tool":
|
|
249
257
|
tool_content = chunk['content']
|
|
250
258
|
tool_execution = tool_content.get('tool_execution')
|
|
@@ -4,7 +4,7 @@ from are.simulation.agents.default_agent.termination_methods.are_simulation impo
|
|
|
4
4
|
from are.simulation.agents.default_agent.tools.json_action_executor import JsonActionExecutor
|
|
5
5
|
from are.simulation.agents.llm.llm_engine import LLMEngine
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from are.simulation.agents.xga.are_agent import XGAAreAgent
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def xga_simulation_react_xml_agent(
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from typing_extensions import override
|
|
2
|
+
from typing import Optional, List
|
|
3
|
+
|
|
4
|
+
from xgae.engine.engine_base import XGAToolSchema
|
|
5
|
+
from xgae.engine.prompt_builder import XGAPromptBuilder
|
|
6
|
+
|
|
7
|
+
class XGAArePromptBuilder(XGAPromptBuilder):
|
|
8
|
+
def __init__(self, system_prompt: Optional[str] = None):
|
|
9
|
+
super().__init__(system_prompt)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@override
|
|
13
|
+
def build_general_tool_prompt(self, tool_schemas: List[XGAToolSchema]) -> str:
|
|
14
|
+
tool_prompt = self.build_mcp_tool_prompt("templates/general_tool_prompt_template.txt", tool_schemas)
|
|
15
|
+
return tool_prompt
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import logging
|
|
3
3
|
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import Any, Dict, Optional
|
|
5
5
|
from typing_extensions import override
|
|
6
6
|
|
|
7
7
|
from langchain_mcp_adapters.tools import load_mcp_tools
|
|
@@ -46,7 +46,7 @@ class XGAAreToolBox(XGAMcpToolBox):
|
|
|
46
46
|
except Exception as e:
|
|
47
47
|
error = f"Call ARE Tool '{tool_name}' error: {str(e)}"
|
|
48
48
|
logging.error(f"AreToolBox call_are_tool: {error}")
|
|
49
|
-
result = XGAToolResult(success=False, output=
|
|
49
|
+
result = XGAToolResult(success=False, output=str(e))
|
|
50
50
|
else:
|
|
51
51
|
async with self._mcp_client.session(server_name) as session:
|
|
52
52
|
tools = await load_mcp_tools(session)
|
|
@@ -80,12 +80,12 @@ def call_mcp_tool(url: str, tool_name: str, arguments: dict[str, Any], timeout:
|
|
|
80
80
|
future = AsyncToolExecutor.submit(_mcp_sse_tool_call(url, tool_name, arguments))
|
|
81
81
|
mcp_result:CallToolResult = future.result(timeout=timeout)
|
|
82
82
|
result = {
|
|
83
|
-
'
|
|
83
|
+
'isError': mcp_result.isError,
|
|
84
84
|
}
|
|
85
85
|
if mcp_result.isError:
|
|
86
|
-
result['
|
|
86
|
+
result['content'] = mcp_result.content[0].text
|
|
87
87
|
else:
|
|
88
|
-
result['
|
|
88
|
+
result['content'] = mcp_result.structuredContent['result']
|
|
89
89
|
|
|
90
90
|
return json.dumps(result)
|
|
91
91
|
|
|
@@ -93,14 +93,15 @@ def call_mcp_tool(url: str, tool_name: str, arguments: dict[str, Any], timeout:
|
|
|
93
93
|
def convert_mcp_tool_result(org_result: str)->XGAToolResult:
|
|
94
94
|
result = XGAToolResult(success=True, output=str(org_result))
|
|
95
95
|
|
|
96
|
-
if org_result and isinstance(org_result, str):
|
|
96
|
+
if org_result and isinstance(org_result, str) and "isError" in org_result:
|
|
97
97
|
try:
|
|
98
98
|
_result:dict = json.loads(org_result)
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
content = _result.get('content', None)
|
|
100
|
+
isError = _result.get('isError', None)
|
|
101
101
|
|
|
102
|
-
if
|
|
103
|
-
|
|
102
|
+
if content and isError:
|
|
103
|
+
success = not bool(isError)
|
|
104
|
+
result = XGAToolResult(success=bool(success), output=str(content))
|
|
104
105
|
except:
|
|
105
106
|
pass
|
|
106
107
|
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# AVAILABLE MCP TOOLS
|
|
2
|
+
You have access to external MCP (Model Context Protocol) server tools.
|
|
3
|
+
MCP tools can be called directly using their native function names in the standard function calling format:
|
|
4
|
+
|
|
5
|
+
## MCP TOOL SCHEMAS
|
|
6
|
+
{tool_schemas}
|
|
7
|
+
|
|
8
|
+
## CRITICAL MCP TOOL RULES
|
|
9
|
+
When you use ANY MCP (Model Context Protocol) tools:
|
|
10
|
+
1. Never call a MCP tool not in 'Available MCP tools' list
|
|
11
|
+
2. If call MCP tool result 'success' is false, call 'complete' tool to end task, don't call 'ask' tool
|
|
12
|
+
3. ALWAYS read and use the EXACT results returned by the MCP tool
|
|
13
|
+
4. For search tools: ONLY cite URLs, sources, and information from the actual search results
|
|
14
|
+
5. For any tool: Base your response entirely on the tool's output - do NOT add external information
|
|
15
|
+
6. DO NOT fabricate, invent, hallucinate, or make up any sources, URLs, or data
|
|
16
|
+
7. If you need more information, call the MCP tool again with different parameters
|
|
17
|
+
8. When writing reports/summaries: Reference ONLY the data from MCP tool results
|
|
18
|
+
9. If the MCP tool doesn't return enough information, explicitly state this limitation
|
|
19
|
+
10. Always double-check that every fact, URL, and reference comes from the MCP tool output
|
|
20
|
+
|
|
21
|
+
IMPORTANT: MCP tool results are your PRIMARY and ONLY source of truth for external data!
|
|
22
|
+
NEVER supplement MCP results with your training data or make assumptions beyond what the tools provide.
|
|
23
|
+
|
|
24
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# FUNDAMENTAL RULES FOR TASK EXECUTION
|
|
2
|
+
1. COMMUNICATION: Only message the user when completely done or if the task is impossible.
|
|
3
|
+
2. EXECUTION: Work silently, complete tasks fully, no progress updates.
|
|
4
|
+
3. COMPLIANCE: Follow user instructions exactly, ask for clarification only if the environment does not provide enough information.
|
|
5
|
+
4. PROBLEM SOLVING: Try alternative approaches before reporting failure.
|
|
6
|
+
5. INFORMATION: Use available tools to gather missing information before asking user.
|
|
7
|
+
6. AMBIGUITY: Execute all clear and unambiguous parts of a request immediately. When you encounter ambiguities, contradictions, or impossible elements, finish unambiguous subtasks and then stop and explicitly ask the user for clarification before proceeding with those specific parts.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# FORMAT SPECIFICATION
|
|
11
|
+
## RESPONSE FORMAT SPECIFICATION
|
|
12
|
+
<thought>
|
|
13
|
+
[Your reasoning in plain text]
|
|
14
|
+
</thought>
|
|
15
|
+
|
|
16
|
+
<function_calls>
|
|
17
|
+
<invoke name="function_name">
|
|
18
|
+
<parameter name="param_name">param_value</parameter>
|
|
19
|
+
...
|
|
20
|
+
</invoke>
|
|
21
|
+
</function_calls>
|
|
22
|
+
|
|
23
|
+
String and scalar parameters should be specified as-is, while lists and objects should use JSON format.
|
|
24
|
+
|
|
25
|
+
## THOUGHT RULES
|
|
26
|
+
- Always explain your reasoning in natural language before the Action.
|
|
27
|
+
- Never include tool call details inside the Thought, only in the Action.
|
|
28
|
+
|
|
29
|
+
## RESPONSE EXAMPLE
|
|
30
|
+
<thought>
|
|
31
|
+
I need to look up the current weather before answering, so I will call the weather tool with the city name.
|
|
32
|
+
<thought>
|
|
33
|
+
|
|
34
|
+
<function_calls>
|
|
35
|
+
<invoke name="query_weather">
|
|
36
|
+
<parameter name="city_name">Beijing</parameter>
|
|
37
|
+
</invoke>
|
|
38
|
+
<function_calls>
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# AVAILABLE SYSTEM TOOLS
|
|
42
|
+
|
|
43
|
+
## SYSTEM TOOL SCHEMAS:
|
|
44
|
+
{tool_schemas}
|
|
45
|
+
## CRITICAL GENERAL TOOL RULES
|
|
46
|
+
- Use the exact function names from schema above
|
|
47
|
+
- Include all required parameters as specified in the schema
|
|
48
|
+
- Format complex data (objects, arrays) as JSON strings within the parameter tags
|
|
49
|
+
- Boolean values should be "true" or "false" (lowercase)
|
|
50
|
+
- If 'ask' tool answer is not match, call 'complete' tool end task, never call 'ask' tool again
|
|
51
|
+
|
|
@@ -4,6 +4,7 @@ from typing_extensions import override
|
|
|
4
4
|
|
|
5
5
|
from xgae.engine.engine_base import XGAToolBox
|
|
6
6
|
from xgae.engine.task_engine import XGATaskEngine
|
|
7
|
+
from xgae.engine.prompt_builder import XGAPromptBuilder
|
|
7
8
|
from xgae.utils.llm_client import LLMConfig
|
|
8
9
|
|
|
9
10
|
|
|
@@ -15,6 +16,7 @@ class ARETaskEngine(XGATaskEngine):
|
|
|
15
16
|
max_auto_run: int,
|
|
16
17
|
llm_config: Optional[LLMConfig] = None,
|
|
17
18
|
tool_box: Optional[XGAToolBox] = None,
|
|
19
|
+
prompt_builder: Optional[XGAPromptBuilder] = None,
|
|
18
20
|
pre_run_task_fn : Callable[[Any, int, List[Dict[str, Any]]], Any] = None,
|
|
19
21
|
post_run_task_fn : Callable[[Any, int, Dict[str, Any]], Any] = None,
|
|
20
22
|
terminate_task_fn : Callable[[Any, int], bool] = None,
|
|
@@ -26,6 +28,7 @@ class ARETaskEngine(XGATaskEngine):
|
|
|
26
28
|
max_auto_run = max_auto_run,
|
|
27
29
|
llm_config = llm_config,
|
|
28
30
|
tool_box = tool_box,
|
|
31
|
+
prompt_builder = prompt_builder,
|
|
29
32
|
)
|
|
30
33
|
self.agent = agent
|
|
31
34
|
self.pre_run_task_fn = pre_run_task_fn
|
{xgae-0.3.3 → xgae-0.3.4}/.env
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xgae-0.3.3/examples/agent/are/simulation/agents/xga → xgae-0.3.4/examples/agent/are}/env.example
RENAMED
|
File without changes
|
{xgae-0.3.3/examples/agent/are → xgae-0.3.4/examples/agent/are/mcpservers}/example_mcp_apps.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|