(a, b)
| 1365 | } catch (error) { |
| 1366 | clearActiveRun(sessionID) |
| 1367 | await toast(client, `Loop job failed: ${error instanceof Error ? error.message : String(error)}`, "error") |
| 1368 | await appendLoopLog(directory, "error", { sessionID, job: job?.name || job?.id, error: error instanceof Error ? error.message : String(error) }) |
| 1369 | await reschedule(BUSY_RETRY_MS) |
| 1370 | } |
| 1371 | } finally { |
| 1372 | runLocks.delete(sessionID) |
| 1373 | } |
| 1374 | } |
| 1375 | |
| 1376 | function normalizeActionForCompare(value) { |
| 1377 | return String(value || "").replace(/\s+/g, " ").trim() |
no test coverage detected