feat(FN-943): add file browser context menu with copy, move, delete, rename, and download operations

- Add backend file operations (copy, move, delete, rename, download) in file-service.ts with workspace root protection
- Add API routes for file operations including directory download as zip via archiver
- Add client API functions in api.ts for all file operation endpoints
- Add context menu UI in FileBrowser component with operations dialog for confirming destructive actions
- Add CSS styles for context menu including danger items and dividers
- Add 33 FileBrowser context menu tests and 485+ file-service tests
- Fix pre-existing test failures in routes-diff, mission-e2e, and theme sync tests
This commit is contained in:
gsxdsm
2026-04-05 20:54:11 -07:00
parent ec36033005
commit 81e4eb002b
13 changed files with 2580 additions and 29 deletions

View File

@@ -89,6 +89,15 @@ function createMockMissionStore() {
)
),
getMissionSummary: vi.fn((_missionId: string) => ({
totalMilestones: 0,
completedMilestones: 0,
totalSlices: 0,
completedSlices: 0,
totalFeatures: 0,
completedFeatures: 0,
})),
updateMission: vi.fn((id: string, updates: Partial<Mission>) => {
const mission = missions.get(id);
if (!mission) throw new Error("Mission " + id + " not found");