Enable native previews and hosted navigation for roadmap items. - Extend native structure references and API resolution through the roadmap adapter. - Register the bundled Roadmaps view across desktop and mobile navigation. - Cover roadmap preview availability, navigation, and route behavior. Files changed: ...n-8358-roadmap-item-native-structure-preview.md | 7 ++++ docs/dashboard-guide.md | 6 ++-- packages/core/src/types.ts | 24 ++++++++----- packages/dashboard/app/App.tsx | 24 ++++++++----- .../dashboard/app/components/LeftSidebarNav.tsx | 12 +++---- .../app/components/NativeStructurePreview.tsx | 10 ++++-- .../app/components/__tests__/App.test.tsx | 13 ++++--- .../app/components/__tests__/Header.test.tsx | 5 ++- .../components/__tests__/LeftSidebarNav.test.tsx | 5 ++- .../app/components/__tests__/MobileNavBar.test.tsx | 4 +-- .../__tests__/NativeStructurePreview.test.tsx | 40 ++++++++++++++++------ .../__tests__/registerBundledPluginViews.test.tsx | 24 ++++++++++--- .../app/plugins/registerBundledPluginViews.ts | 23 +++++++++++++ packages/dashboard/src/native-structure-preview.ts | 25 +++++++++++++- .../native-structure-preview-routes.test.ts | 31 +++++++++++++++-- .../src/routes/register-task-workflow-routes.ts | 4 +-- packages/dashboard/vite.config.ts | 4 +++ packages/dashboard/vitest.config.ts | 4 +++ plugins/fusion-plugin-roadmap/package.json | 5 +++ .../fusion-plugin-roadmap/src/dashboard-view.tsx | 5 +++ plugins/fusion-plugin-roadmap/src/index.ts | 14 ++++++-- 21 files changed, 223 insertions(+), 66 deletions(-) Fusion-Task-Id: FN-8358 Fusion-Task-Lineage: c369ce87-eef0-4d06-bf23-bced9c4363f9 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
78 lines
2.1 KiB
TypeScript
78 lines
2.1 KiB
TypeScript
import { definePlugin } from "@fusion/plugin-sdk";
|
|
import { createRoadmapPluginRoutes } from "./roadmap-routes.js";
|
|
import { ensureRoadmapSchema } from "./roadmap-schema.js";
|
|
|
|
const plugin = definePlugin({
|
|
manifest: {
|
|
id: "fusion-plugin-roadmap",
|
|
name: "Roadmaps",
|
|
version: "0.1.0",
|
|
description: "Standalone roadmap planning plugin",
|
|
},
|
|
state: "installed",
|
|
hooks: {
|
|
onSchemaInit: ensureRoadmapSchema,
|
|
},
|
|
routes: createRoadmapPluginRoutes(),
|
|
dashboardViews: [{
|
|
viewId: "roadmaps",
|
|
label: "Roadmaps",
|
|
componentPath: "./dashboard-view",
|
|
icon: "Map",
|
|
placement: "primary",
|
|
order: 30,
|
|
}],
|
|
/*
|
|
FNXC:RoadmapsNavigation 2026-07-19-12:00:
|
|
Native-structure roadmap-item previews require a real hosted `roadmaps` open target.
|
|
Advertise this bundled dashboard destination while leaving roadmap schema, routes, and
|
|
persistence ownership unchanged.
|
|
*/
|
|
});
|
|
|
|
export default plugin;
|
|
|
|
export type {
|
|
Roadmap,
|
|
RoadmapMilestone,
|
|
RoadmapFeature,
|
|
RoadmapCreateInput,
|
|
RoadmapUpdateInput,
|
|
RoadmapMilestoneCreateInput,
|
|
RoadmapMilestoneUpdateInput,
|
|
RoadmapFeatureCreateInput,
|
|
RoadmapFeatureUpdateInput,
|
|
RoadmapMilestoneReorderInput,
|
|
RoadmapFeatureReorderInput,
|
|
RoadmapFeatureMoveInput,
|
|
RoadmapFeatureMoveResult,
|
|
RoadmapMilestoneWithFeatures,
|
|
RoadmapWithHierarchy,
|
|
RoadmapExportBundle,
|
|
RoadmapFeatureSourceRef,
|
|
RoadmapFeatureTaskPlanningHandoff,
|
|
RoadmapMissionPlanningMilestoneHandoff,
|
|
RoadmapMissionPlanningHandoff,
|
|
} from "./roadmap-types.js";
|
|
|
|
export {
|
|
normalizeRoadmapMilestoneOrder,
|
|
applyRoadmapMilestoneReorder,
|
|
normalizeRoadmapFeatureOrder,
|
|
applyRoadmapFeatureReorder,
|
|
moveRoadmapFeature,
|
|
} from "./roadmap-ordering.js";
|
|
|
|
export {
|
|
mapFeatureToTaskHandoff,
|
|
mapRoadmapToMissionHandoff,
|
|
mapRoadmapWithHierarchyToMissionHandoff,
|
|
mapAllFeaturesToTaskHandoffs,
|
|
} from "./roadmap-handoff.js";
|
|
|
|
export { RoadmapStore } from "./roadmap-store.js";
|
|
export type { RoadmapStoreEvents } from "./roadmap-store.js";
|
|
|
|
export { ensureRoadmapSchema } from "./roadmap-schema.js";
|
|
export * from "./server/index.js";
|