feat: add AI auto-fix UI — types, API client, ValidationSummary button, review modal, and TreeEditorPage wiring

- New ai-fix.ts types for request/response
- fixTree() method on treesApi
- "Fix with AI" button in ValidationSummary (shows for fixable errors)
- AIFixReviewModal with per-fix apply/skip and apply-all
- TreeEditorPage orchestrates the fix flow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chihlasm
2026-02-26 17:29:53 -05:00
parent b3925150d7
commit 29dc95e920
6 changed files with 313 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
import apiClient from './client'
import type { Tree, TreeListItem, TreeCreate, TreeUpdate, TreeFilters, TreeShareCreate, TreeShare, TreeVisibilityUpdate, TreeValidationResponse } from '@/types'
import type { Tree, TreeListItem, TreeCreate, TreeUpdate, TreeFilters, TreeShareCreate, TreeShare, TreeVisibilityUpdate, TreeValidationResponse, AIFixTreeRequest, AIFixTreeResponse } from '@/types'
export const treesApi = {
async list(params?: TreeFilters): Promise<TreeListItem[]> {
@@ -65,6 +65,12 @@ export const treesApi = {
const response = await apiClient.post<TreeValidationResponse>(`/trees/${id}/can-publish`)
return response.data
},
// AI auto-fix
async fixTree(request: AIFixTreeRequest): Promise<AIFixTreeResponse> {
const response = await apiClient.post<AIFixTreeResponse>('/ai/fix-tree', request)
return response.data
},
}
export default treesApi