"use server"; import { requirePermission, PermissionDeniedError } from "@/shared/lib/auth-guard"; import { Permissions } from "@/shared/types/permissions"; import { suggestKnowledgePoints } from "./ai-suggest"; import type { ActionState, LessonPlanDocument } from "./types"; export async function suggestKnowledgePointsAction(input: { doc: LessonPlanDocument; textbookId?: string; chapterId?: string; }): Promise< ActionState<{ suggestions: { id: string; name: string; reason: string }[]; }> > { try { await requirePermission(Permissions.LESSON_PLAN_READ); await requirePermission(Permissions.AI_CHAT); const suggestions = await suggestKnowledgePoints( input.doc, input.textbookId, input.chapterId, ); return { success: true, data: { suggestions } }; } catch (e) { if (e instanceof PermissionDeniedError) return { success: false, message: e.message }; return { success: false, message: "AI 推荐失败,请检查 AI Provider 配置" }; } }