Moves roadmap ownership from `@fusion/core` to `fusion-plugin-roadmap`, deleting ~1,800 lines of roadmap store, types, ordering, and handoff logic from core and replacing it with ~760 lines of new route handlers in the plugin. The dashboard's roadmap routes and suggestions modules are substantially Fusion-Task-Id: FN-3159
37 lines
2.0 KiB
TypeScript
37 lines
2.0 KiB
TypeScript
import type { RoadmapFeature, RoadmapFeatureMoveInput, RoadmapFeatureMoveResult, RoadmapFeatureReorderInput, RoadmapMilestone, RoadmapMilestoneReorderInput } from "../roadmap-types.js";
|
|
/**
|
|
* Repairs milestone ordering for a single roadmap scope.
|
|
*
|
|
* Deterministic repair order is `orderIndex ASC`, `createdAt ASC`, then `id ASC`.
|
|
*/
|
|
export declare function normalizeRoadmapMilestoneOrder(milestones: readonly RoadmapMilestone[]): RoadmapMilestone[];
|
|
/**
|
|
* Applies an explicit milestone reorder for a single roadmap scope.
|
|
*
|
|
* The caller must provide the complete milestone ID set exactly once. Partial
|
|
* or duplicate lists are rejected to keep reorders deterministic.
|
|
*/
|
|
export declare function applyRoadmapMilestoneReorder(milestones: readonly RoadmapMilestone[], input: RoadmapMilestoneReorderInput): RoadmapMilestone[];
|
|
/**
|
|
* Repairs feature ordering for a single milestone scope.
|
|
*
|
|
* Deterministic repair order is `orderIndex ASC`, `createdAt ASC`, then `id ASC`.
|
|
*/
|
|
export declare function normalizeRoadmapFeatureOrder(features: readonly RoadmapFeature[]): RoadmapFeature[];
|
|
/**
|
|
* Applies an explicit feature reorder for a single milestone scope.
|
|
*
|
|
* The caller must provide the complete feature ID set exactly once. Partial or
|
|
* duplicate lists are rejected to keep reorder behavior deterministic.
|
|
*/
|
|
export declare function applyRoadmapFeatureReorder(features: readonly RoadmapFeature[], input: RoadmapFeatureReorderInput): RoadmapFeature[];
|
|
/**
|
|
* Moves a feature within the affected milestone scope and deterministically
|
|
* normalizes both source and destination order.
|
|
*
|
|
* For cross-milestone moves, pass the combined feature list from the source and
|
|
* target milestones. For within-milestone moves, pass the current milestone's
|
|
* feature list. `targetOrderIndex` is clamped into the destination range.
|
|
*/
|
|
export declare function moveRoadmapFeature(features: readonly RoadmapFeature[], input: RoadmapFeatureMoveInput): RoadmapFeatureMoveResult;
|
|
//# sourceMappingURL=roadmap-ordering.d.ts.map
|