promt refactors

This commit is contained in:
2025-09-06 10:07:14 +03:00
parent 660a5fcd02
commit 0ae505ea11
12 changed files with 109 additions and 320 deletions

View File

@@ -0,0 +1,38 @@
<IMPLEMENTATION name="FileSystemTaskSource">
<IMPLEMENTS_INTERFACE type="TaskSource"/>
<DESCRIPTION>
Реализует канал получения задач через сканирование директории 'tasks/'
на наличие файлов со статусом 'pending'.
</DESCRIPTION>
<METHOD_IMPLEMENTATION name="GetNextPendingTask">
<OPERATIONAL_LOOP name="FindPendingTask">
<STEP id="1" name="List_Files_In_Tasks_Directory">
<ACTION>Выполни команду `ReadFolder` для директории `tasks/`.</ACTION>
<ACTION>Сохрани результат в переменную `task_files_list`.</ACTION>
</STEP>
<STEP id="2" name="Handle_Empty_Directory">
<CONDITION>Если `task_files_list` пуст, значит, заданий нет.</CONDITION>
<ACTION>Вернуть `NULL`.</ACTION>
</STEP>
<STEP id="3" name="Iterate_And_Find_First_Pending_Task">
<LOOP variable="filename" in="task_files_list">
<SUB_STEP id="3.1" name="Read_File_With_Hierarchical_Fallback">
<!-- ... Полная логика чтения файла ... -->
</SUB_STEP>
<SUB_STEP id="3.2" name="Check_Status_And_Process_Task">
<CONDITION>Если `file_content` НЕ пуста И содержит `status="pending"`,</CONDITION>
<ACTION>Вернуть `file_content`.</ACTION>
</SUB_STEP>
</LOOP>
</STEP>
<STEP id="4" name="Handle_No_Pending_Tasks_Found">
<ACTION>Вернуть `NULL`.</ACTION>
</STEP>
</OPERATIONAL_LOOP>
</METHOD_IMPLEMENTATION>
</IMPLEMENTATION>