feat(FN-3704): separate plugin lifecycle from setup probe state

Fixes a bug where plugin lifecycle operations were incorrectly gated by the setup probe state, separating the two concerns across the API, PluginManager component, routes, and tests, with updated documentation.

Fusion-Task-Id: FN-3704
This commit is contained in:
Fusion
2026-05-07 10:48:28 -07:00
committed by gsxdsm
parent 0efba0890f
commit a01aa31ab8
10 changed files with 121 additions and 22 deletions

View File

@@ -212,16 +212,7 @@ export function registerMessagingScriptRoutes(ctx: ApiRoutesContext): void {
const storeRoot = resolve(scopedStore.getRootDir());
for (const engine of engineManager.getAllEngines().values()) {
if (resolve(engine.getWorkingDirectory()) === storeRoot) {
const monitor = engine.getHeartbeatMonitor();
if (!monitor) {
return undefined;
}
return {
rootDir: engine.getWorkingDirectory(),
startRun: monitor.startRun.bind(monitor),
executeHeartbeat: monitor.executeHeartbeat.bind(monitor),
stopRun: monitor.stopRun.bind(monitor),
};
return (engine.getHeartbeatMonitor() ?? undefined) as HeartbeatMonitorHandle | undefined;
}
}
} catch {