added mesuurments

This commit is contained in:
2026-06-26 07:52:07 +03:00
parent 166b9eb4f9
commit 1313a12a20
11 changed files with 238 additions and 116 deletions
+21 -19
View File
@@ -105,31 +105,33 @@ def format_fitness_context(snapshot: dict[str, Any]) -> str:
f"(серия {stats.get('streak')} дн., {stats.get('active_kcal')} ккал активных)"
)
latest = (snapshot.get("body_metrics") or [None])[0]
if latest:
metrics = snapshot.get("body_metrics") or []
if metrics:
lines.append("")
lines.append("Антропометрия (последняя):")
parts = [f"{latest.get('weight_kg')} кг"]
if latest.get("body_fat_pct") is not None:
method = latest.get("body_fat_method") or "?"
parts.append(f"жир {latest.get('body_fat_pct')}% ({method})")
if latest.get("neck_cm"):
parts.append(f"шея {latest.get('neck_cm')}")
if latest.get("waist_cm"):
parts.append(f"талия {latest.get('waist_cm')}")
if latest.get("hip_cm"):
parts.append(f"бёдра {latest.get('hip_cm')}")
if latest.get("whr"):
parts.append(f"WHR {latest.get('whr')}")
if latest.get("ffmi"):
parts.append(f"FFMI {latest.get('ffmi')}")
lines.append(" · ".join(parts))
lines.append(f"Антропометрия — последние {len(metrics)} замеров (новые → старые):")
for m in metrics:
recorded = (m.get("recorded_at") or "")[:10]
parts = [f"{recorded}: {m.get('weight_kg')} кг"]
if m.get("body_fat_pct") is not None:
method = m.get("body_fat_method") or "?"
parts.append(f"жир {m.get('body_fat_pct')}% ({method})")
if m.get("waist_cm"):
parts.append(f"талия {m.get('waist_cm')}")
if m.get("neck_cm"):
parts.append(f"шея {m.get('neck_cm')}")
if m.get("hip_cm"):
parts.append(f"бёдра {m.get('hip_cm')}")
if m.get("whr"):
parts.append(f"WHR {m.get('whr')}")
if m.get("ffmi"):
parts.append(f"FFMI {m.get('ffmi')}")
lines.append(" · ".join(parts))
lines.append("")
lines.append(
"Правила: log_meal, log_water, log_weight (обхваты → Navy), log_steps (replace=true — итог за день), log_workout (date/days_ago), "
"update_fitness_log, delete_fitness_log (last=true — удалить последнюю), merge_fitness_logs, compare_fitness_days, "
"calc_body_composition (расчёт без записи), get_fitness_summary (date/days_ago), get_fitness_history, "
"calc_body_composition (расчёт без записи), get_fitness_summary (date/days_ago), get_fitness_history, get_body_metrics, "
"set_fitness_profile, calc_fitness_targets, lookup_food, lookup_exercise. "
"TDEE = BMR + NEAT (200 ккал) + шаги + тренировки. "
"TDEE факт — по залогированной активности; TDEE план — среднее за неделю (или baseline) для утреннего бюджета углеводов. "