added mesuurments
This commit is contained in:
@@ -10,6 +10,7 @@ from app.tools._dispatch import NOT_HANDLED, ToolContext
|
||||
TOOL_NAMES = frozenset({
|
||||
"get_fitness_summary",
|
||||
"get_fitness_history",
|
||||
"get_body_metrics",
|
||||
"compare_fitness_days",
|
||||
"set_fitness_profile",
|
||||
"calc_fitness_targets",
|
||||
@@ -25,6 +26,7 @@ TOOL_NAMES = frozenset({
|
||||
"lookup_food",
|
||||
"lookup_exercise",
|
||||
"set_fitness_reminder",
|
||||
"get_body_metrics",
|
||||
})
|
||||
|
||||
TOOL_DEFINITIONS: list[dict[str, Any]] = [
|
||||
@@ -49,6 +51,26 @@ TOOL_DEFINITIONS: list[dict[str, Any]] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": "get_body_metrics",
|
||||
"description": (
|
||||
"История антропометрии: вес, % жира, обхваты, WHR, FFMI по датам. "
|
||||
"«Как менялся вес», «динамика жира», «прошлые замеры», «что было месяц назад»."
|
||||
),
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"limit": {
|
||||
"type": "integer",
|
||||
"description": "Сколько последних записей, по умолчанию 20, макс. 50",
|
||||
},
|
||||
},
|
||||
"required": [],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "function",
|
||||
"function": {
|
||||
@@ -407,6 +429,10 @@ async def execute(name: str, arguments: dict[str, Any], ctx: ToolContext) -> Any
|
||||
elif arguments.get("days_ago") is not None:
|
||||
day = datetime.now(timezone.utc).date() - timedelta(days=int(arguments["days_ago"]))
|
||||
return fitness.get_daily_summary(day)
|
||||
if name == "get_body_metrics":
|
||||
limit = max(1, min(int(arguments.get("limit") or 20), 50))
|
||||
metrics = fitness.list_body_metrics(limit=limit)
|
||||
return {"metrics": metrics, "count": len(metrics)}
|
||||
if name == "get_fitness_history":
|
||||
end_day = None
|
||||
if arguments.get("end_date"):
|
||||
|
||||
Reference in New Issue
Block a user