(cycle, solidify, proxy)
| 30 | } |
| 31 | |
| 32 | function inferMode(cycle, solidify, proxy) { |
| 33 | if (cycle && isFresh(cycle.updated_at, 120_000)) return 'running'; |
| 34 | if (solidify && solidify.pending) return 'review_pending'; |
| 35 | if (proxy && proxy.running) return 'proxy_only'; |
| 36 | return 'idle'; |
| 37 | } |
| 38 | |
| 39 | function isFresh(timestamp, maxAgeMs) { |
| 40 | const t = Number(timestamp); |