fix: decouple stuck detector timeout
This commit is contained in:
@@ -11,9 +11,8 @@
|
||||
* - `recordProgress(taskId)` — step transitions (in-progress, done, skipped); resets counters
|
||||
*
|
||||
* The detector polls at a configurable interval and compares timestamps against
|
||||
* `taskStuckTimeoutMs` from settings. When that explicit override is unset, the
|
||||
* detector falls back to `workflowStepTimeoutMs` so in-flight tool calls cannot
|
||||
* leave an in-progress task unmonitored by default.
|
||||
* `taskStuckTimeoutMs` from settings. Project defaults keep this active by
|
||||
* default while keeping workflow-step execution timeouts independent.
|
||||
*/
|
||||
|
||||
import type { TaskStore, Settings } from "@fusion/core";
|
||||
@@ -472,8 +471,8 @@ export class StuckTaskDetector {
|
||||
// Defensive fallback for pause windows where lifecycle hooks haven't run yet.
|
||||
if (settings.globalPause || settings.enginePaused) return;
|
||||
|
||||
const timeoutMs = settings.taskStuckTimeoutMs ?? settings.workflowStepTimeoutMs;
|
||||
if (!timeoutMs || timeoutMs <= 0) return; // Disabled only when both stuck and workflow timeouts are unset/disabled
|
||||
const timeoutMs = settings.taskStuckTimeoutMs;
|
||||
if (!timeoutMs || timeoutMs <= 0) return; // Disabled when task stuck timeout is explicitly unset/disabled
|
||||
|
||||
const stuckTasks: string[] = [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user