Files
fusion/packages
Semih accd19b18d dashboard: route per-project heartbeat execution via engineManager
ProjectEngineManager runs one engine per registered project, but the
heartbeat handler in register-agent-runtime-routes.ts only used the
single global heartbeatMonitor passed via ServerOptions. That monitor
is bound to the cwd project's engine, so heartbeat triggers for any
secondary project silently no-op'd: the run id was returned but no
execution actually happened.

Add resolveHeartbeatMonitorFor(scopedStore) that walks
engineManager.getAllEngines() and returns the engine whose working
directory matches the request's scoped store, falling back to the
global monitor when its rootDir matches. Use the resolver at every
heartbeat call site (state-pause stop, /agents/:id/heartbeat,
/agents/:id/runs, /agents/:id/runs/stop).
2026-05-09 15:17:06 +00:00
..
2026-04-26 12:24:08 -07:00
2026-04-26 12:24:08 -07:00
2026-04-26 12:24:08 -07:00
2026-04-26 12:24:08 -07:00