From 7807e5a652c4844e59cab8ec8f9bc804d193254b Mon Sep 17 00:00:00 2001 From: laansdole Date: Tue, 10 Feb 2026 16:23:42 +0700 Subject: [PATCH] feat: move duration as enum option --- entity/configs/node/loop_timer.py | 11 +++++++++++ yaml_instance/demo_loop_timer.yaml | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/entity/configs/node/loop_timer.py b/entity/configs/node/loop_timer.py index 699b328b..3891b73a 100644 --- a/entity/configs/node/loop_timer.py +++ b/entity/configs/node/loop_timer.py @@ -7,6 +7,7 @@ from entity.configs.base import ( BaseConfig, ConfigError, ConfigFieldSpec, + EnumOption, require_mapping, extend_path, optional_str, @@ -92,6 +93,16 @@ class LoopTimerConfig(BaseConfig): required=True, default="seconds", description="Unit of time for max_duration: 'seconds', 'minutes', or 'hours'.", + enum=["seconds", "minutes", "hours"], + enum_options=[ + EnumOption( + value="seconds", label="Seconds", description="Time in seconds" + ), + EnumOption( + value="minutes", label="Minutes", description="Time in minutes" + ), + EnumOption(value="hours", label="Hours", description="Time in hours"), + ], ), "reset_on_emit": ConfigFieldSpec( name="reset_on_emit", diff --git a/yaml_instance/demo_loop_timer.yaml b/yaml_instance/demo_loop_timer.yaml index 9d466759..7967d98c 100644 --- a/yaml_instance/demo_loop_timer.yaml +++ b/yaml_instance/demo_loop_timer.yaml @@ -5,7 +5,7 @@ graph: end: - Finalizer id: loop_timer_demo - description: LoopTimer demo that releases output after 10 seconds of agent iterations. + description: LoopTimer demo that releases output after 20 seconds of agent iterations. is_majority_voting: false log_level: INFO nodes: @@ -57,7 +57,7 @@ graph: reset_on_emit: true message: Time limit reached - loop automatically terminated passthrough: false - description: Tracks elapsed time, only granting passage after 10 seconds. + description: Tracks elapsed time, only granting passage after 20 seconds. context_window: 0 log_output: true edges: