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

@@ -7844,8 +7844,13 @@ export async function updatePluginSettings(
export type PluginSetupStatusResponse =
| { hasSetup: false }
| { hasSetup: false; status: Extract<PluginSetupCheckResult, { status: "error" }> }
| ({ hasSetup: true } & PluginSetupCheckResult);
| ({ hasSetup: true } & PluginSetupCheckResult)
| {
hasSetup: true;
setupCheckDeferred: true;
deferredReason: "plugin-not-started";
pluginState: PluginInstallation["state"];
};
/** Fetch plugin setup status */
export async function fetchPluginSetupStatus(id: string, projectId?: string): Promise<PluginSetupStatusResponse> {