From 7b43448ce4d414f558439ff8fdbb6833ebee1bae Mon Sep 17 00:00:00 2001 From: Stable Genius Date: Thu, 12 Mar 2026 08:57:45 -0700 Subject: [PATCH] fix: prefer named weekday cron examples (#6091) Co-authored-by: stablegenius49 <185121704+stablegenius49@users.noreply.github.com> --- astrbot/core/tools/cron_tools.py | 2 +- tests/unit/test_cron_tools.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 tests/unit/test_cron_tools.py diff --git a/astrbot/core/tools/cron_tools.py b/astrbot/core/tools/cron_tools.py index d504f128a..b939b53fa 100644 --- a/astrbot/core/tools/cron_tools.py +++ b/astrbot/core/tools/cron_tools.py @@ -30,7 +30,7 @@ class CreateActiveCronTool(FunctionTool[AstrAgentContext]): "properties": { "cron_expression": { "type": "string", - "description": "Cron expression defining recurring schedule (e.g., '0 8 * * *').", + "description": "Cron expression defining recurring schedule (e.g., '0 8 * * *' or '0 23 * * mon-fri'). Prefer named weekdays like 'mon-fri' or 'sat,sun' instead of numeric day-of-week ranges such as '1-5' to avoid ambiguity across cron implementations.", }, "run_at": { "type": "string", diff --git a/tests/unit/test_cron_tools.py b/tests/unit/test_cron_tools.py new file mode 100644 index 000000000..25f721248 --- /dev/null +++ b/tests/unit/test_cron_tools.py @@ -0,0 +1,15 @@ +"""Tests for cron tool metadata.""" + +from astrbot.core.tools.cron_tools import CreateActiveCronTool + + +def test_create_future_task_cron_description_prefers_named_weekdays(): + """The cron tool should steer users toward unambiguous named weekdays.""" + tool = CreateActiveCronTool() + + description = tool.parameters["properties"]["cron_expression"]["description"] + + assert "mon-fri" in description + assert "sat,sun" in description + assert "1-5" in description + assert "avoid ambiguity" in description