feat: 업무 작성 AI 할 일 추천
- POST /ai/suggest-checklist — 저장소 표시제목/설명 + 업무 제목/내용을 Claude 에 보내 카테고리별(필수/추가/보안) 할 일 항목을 JSON 으로 받아 파싱(코드펜스/잡텍스트 방어, 빈 결과 502) - AiSuggestController + SuggestChecklistDto + AiService.suggestChecklist/parseSuggestions - 프론트: TaskCreatePage 액션바 "취소 / AI 추천 / 지시 보내기" + 체크리스트 추천 패널 (카테고리별 항목 클릭 추가·전체 추가·중복 스킵), useAi.suggestChecklist(silent) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@ import type {
|
||||
ConversationDetail,
|
||||
ConversationSummary,
|
||||
SendResult,
|
||||
SuggestChecklistResult,
|
||||
} from '@/types/ai'
|
||||
import type { Paginated } from '@/types/pagination'
|
||||
|
||||
@@ -43,11 +44,23 @@ export function useAi() {
|
||||
await api.delete(`/ai/conversations/${id}`)
|
||||
}
|
||||
|
||||
// 할 일(체크리스트) 추천 — 실패는 호출측에서 인라인 처리(silent)
|
||||
async function suggestChecklist(payload: {
|
||||
repoId: string
|
||||
title: string
|
||||
content?: string[]
|
||||
}): Promise<SuggestChecklistResult> {
|
||||
return (await api.post('/ai/suggest-checklist', payload, {
|
||||
silent: true,
|
||||
})) as unknown as SuggestChecklistResult
|
||||
}
|
||||
|
||||
return {
|
||||
listConversations,
|
||||
getConversation,
|
||||
startConversation,
|
||||
sendMessage,
|
||||
deleteConversation,
|
||||
suggestChecklist,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user