feat(FN-3638): extract roadmap domain into plugin and define plugin route s

This merge restructures the roadmap plugin by removing its duplicated domain logic (roadmap store, ordering, handoff, and types — ~3,000 lines deleted) and completing the plugin SDK scaffold with proper route status/body contracts and type exports. It also introduces eval settings infrastructure wit

Fusion-Task-Id: FN-3638
This commit is contained in:
Fusion
2026-05-07 08:12:26 -07:00
committed by gsxdsm
parent 1f5e102312
commit 213ed79d5f
19 changed files with 190 additions and 3858 deletions

View File

@@ -150,6 +150,8 @@ export type {
PluginToolResult,
PluginRouteDefinition,
PluginRouteMethod,
PluginRouteResponse,
PluginRouteResult,
PluginUiSurface,
PluginUiSlotDefinition,
PluginUiContributionSurface,

View File

@@ -196,11 +196,18 @@ export type PluginRouteMethod = "GET" | "POST" | "PUT" | "DELETE";
/**
* Custom dashboard API route definition.
*/
export interface PluginRouteResponse {
status: number;
body?: unknown;
}
export type PluginRouteResult = unknown | PluginRouteResponse;
export interface PluginRouteDefinition {
method: PluginRouteMethod;
/** Relative path under /api/plugins/:pluginId/ */
path: string;
handler: (req: unknown, ctx: PluginContext) => Promise<unknown>;
handler: (req: unknown, ctx: PluginContext) => Promise<PluginRouteResult>;
description?: string;
}