feat(FN-3506): add discovery contract and integrate remote node discovery i
Merges node discovery onboarding (FN-3506) with two steps: a pre-registration discovery contract wired into the AddNodeModal UI, and full remote discovery integration with documentation. Also adds a local embedded runtime manager to the desktop app (FN-3404) and wires permanent-agent approval contex Fusion-Task-Id: FN-3506
This commit is contained in:
@@ -5548,6 +5548,18 @@ export interface NodeProjectMappingInput {
|
||||
path: string;
|
||||
}
|
||||
|
||||
export interface RemoteNodeDiscoveredProject {
|
||||
id: string;
|
||||
name: string;
|
||||
path: string;
|
||||
status: "active" | "paused" | "errored" | "initializing";
|
||||
isolationMode: "in-process" | "child-process";
|
||||
}
|
||||
|
||||
export interface RemoteNodeProjectDiscoveryResult {
|
||||
projects: RemoteNodeDiscoveredProject[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Node onboarding payload used by dashboard UI.
|
||||
*
|
||||
@@ -5746,6 +5758,14 @@ export function registerNode(input: NodeCreateInput): Promise<NodeInfo> {
|
||||
});
|
||||
}
|
||||
|
||||
/** Discover projects from a remote node before registering it. */
|
||||
export function discoverRemoteNodeProjects(input: { url: string; apiKey?: string }): Promise<RemoteNodeProjectDiscoveryResult> {
|
||||
return api<RemoteNodeProjectDiscoveryResult>("/nodes/discover-projects", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(input),
|
||||
});
|
||||
}
|
||||
|
||||
/** Fetch a single node by ID */
|
||||
export function fetchNode(id: string): Promise<NodeInfo> {
|
||||
return api<NodeInfo>(`/nodes/${encodeURIComponent(id)}`);
|
||||
|
||||
Reference in New Issue
Block a user