Merge pull request #85 from SuanmoSuanyangTechnology/feature/agent-tool_xjn

feat(workflow node)
This commit is contained in:
Mark
2026-01-13 12:17:00 +08:00
committed by GitHub
3 changed files with 24 additions and 15 deletions

View File

@@ -110,7 +110,7 @@ class BaiduSearchTool(BuiltinTool):
execution_time = time.time() - start_time
return ToolResult.success_result(
data=result,
data=result["results"],
execution_time=execution_time
)

View File

@@ -95,7 +95,7 @@ class DateTimeTool(BuiltinTool):
execution_time = time.time() - start_time
return ToolResult.success_result(
data=result,
data=result["result_data"],
execution_time=execution_time
)
@@ -123,12 +123,14 @@ class DateTimeTool(BuiltinTool):
utc_now = datetime.now(timezone.utc)
return {
"datetime": now.strftime(output_format),
"timestamp": int(now.timestamp()),
"timezone": timezone_str,
"iso_format": now.isoformat(),
"result_data": {
"datetime": now.strftime(output_format),
"timestamp": int(now.timestamp()),
"timestamp_ms": int(now.timestamp() * 1000),
"utc_datetime": utc_now.strftime(output_format)
"utc_datetime": utc_now.strftime(output_format),
}
}
@staticmethod
@@ -148,7 +150,8 @@ class DateTimeTool(BuiltinTool):
"original": input_value,
"formatted": dt.strftime(output_format),
"timestamp": int(dt.timestamp()),
"iso_format": dt.isoformat()
"iso_format": dt.isoformat(),
"result_data": dt.strftime(output_format)
}
@staticmethod
@@ -189,7 +192,8 @@ class DateTimeTool(BuiltinTool):
"original_timezone": from_timezone,
"converted": converted_dt.strftime(output_format),
"converted_timezone": to_timezone,
"timestamp": int(converted_dt.timestamp())
"timestamp": int(converted_dt.timestamp()),
"result_data": converted_dt.strftime(output_format)
}
@staticmethod
@@ -219,7 +223,8 @@ class DateTimeTool(BuiltinTool):
"timestamp": timestamp,
"datetime": dt.strftime(output_format),
"timezone": timezone_str,
"iso_format": dt.isoformat()
"iso_format": dt.isoformat(),
"result_data": dt.strftime(output_format)
}
@staticmethod
@@ -249,7 +254,8 @@ class DateTimeTool(BuiltinTool):
"datetime": input_value,
"timezone": timezone_str,
"timestamp": int(dt.timestamp()),
"iso_format": dt.isoformat()
"iso_format": dt.isoformat(),
"result_data": int(dt.timestamp())
}
def _calculate_datetime(self, kwargs) -> dict:
@@ -287,7 +293,8 @@ class DateTimeTool(BuiltinTool):
"calculation": calculation,
"result": calculated_dt.strftime(output_format),
"timezone": timezone_str,
"timestamp": int(calculated_dt.timestamp())
"timestamp": int(calculated_dt.timestamp()),
"result_data": calculated_dt.strftime(output_format)
}
@staticmethod

View File

@@ -69,7 +69,7 @@ class JsonTool(BuiltinTool):
ToolParameter(
name="json_path",
type=ParameterType.STRING,
description="JSON路径表达式用于extract、insert、replace、delete、parse操作$.user.name或users[0].name",
description="JSON路径表达式用于insert、replace、delete、parse操作$.user.name或users[0].name",
required=False
),
ToolParameter(
@@ -136,7 +136,7 @@ class JsonTool(BuiltinTool):
execution_time = time.time() - start_time
return ToolResult.success_result(
data=result,
data=result["result_data"],
execution_time=execution_time
)
@@ -671,7 +671,8 @@ class JsonTool(BuiltinTool):
"success": True,
"value": current,
"value_type": type(current).__name__,
"value_json": json.dumps(current, indent=2, ensure_ascii=False) if isinstance(current, (dict, list)) else str(current)
"value_json": json.dumps(current, indent=2, ensure_ascii=False) if isinstance(current, (dict, list)) else str(current),
"result_data": json.dumps(current, indent=2, ensure_ascii=False) if isinstance(current, (dict, list)) else str(current)
}
except (KeyError, IndexError, TypeError) as e:
@@ -680,7 +681,8 @@ class JsonTool(BuiltinTool):
"json_path": json_path,
"success": False,
"error": str(e),
"value": None
"value": None,
"result_data": None
}
def _analyze_json_structure(self, data: Any, depth: int = 0) -> Dict[str, Any]: