docs: 캘린더 일정 등록 실패 문제 해결 완료 문서 업데이트
This commit is contained in:
parent
ffbdd6037a
commit
414a4daf97
@ -222,10 +222,39 @@ docker exec -it rb8001 python3 tests/test_calendar_natural_language_parsing.py
|
||||
|
||||
---
|
||||
|
||||
## 8. 다음 단계
|
||||
## 8. 해결 완료 (2025-11-22)
|
||||
|
||||
1. ✅ TDD 테스트 작성 완료 (`test_calendar_natural_language_parsing.py`)
|
||||
2. ⏳ skill-calendar 토큰 갱신 로직 추가
|
||||
3. ⏳ 테스트 실행 및 검증
|
||||
4. ⏳ 배포 및 E2E 테스트
|
||||
### 8.1 구현 완료
|
||||
1. ✅ rb8001 자연어 시간 범위 파싱 개선 (`extract_time_range_generic`)
|
||||
2. ✅ rb8001 제목 추출 로직 개선 (원본 메시지에서 직접 추출)
|
||||
3. ✅ skill-calendar 토큰 자동 갱신 로직 추가 (`get_credentials()`)
|
||||
4. ✅ skill-calendar `_save_credentials_to_db()` 메서드 구현
|
||||
5. ✅ skill-calendar `invalid_grant` 에러를 401로 전파
|
||||
6. ✅ rb8001 401 에러 감지 및 재인증 안내 메시지
|
||||
|
||||
### 8.2 검증 완료 (2025-11-22 11:52)
|
||||
```
|
||||
사용자: "11월 24일 월요일 오후 1시부터 4시까지 컴퍼니엑스 세미나"
|
||||
로빙: "네, 다음 주 월요일 11월 24일 오후 1시부터 4시까지 컴퍼니엑스 세미나 일정을 등록해 드릴게요. 구글 캘린더에 등록해드릴까요?"
|
||||
사용자: "ㅇㅇ"
|
||||
로빙: "✅ 구글 캘린더에 일정을 등록했습니다!
|
||||
제목: 컴퍼니엑스 세미나
|
||||
일시: 2025-11-24 13:00 ~ 16:00
|
||||
장소: N/A
|
||||
캘린더에서 보기"
|
||||
```
|
||||
✅ **성공**: 일정 등록 완료
|
||||
|
||||
### 8.3 수정된 파일
|
||||
- `rb8001/app/router/calendar_handler.py`: 자연어 시간 파싱, 제목 추출, 재인증 안내
|
||||
- `rb8001/app/skills/calendar_skill.py`: 401 에러 감지 및 전파
|
||||
- `skill-calendar/services/google_calendar_service.py`: 토큰 자동 갱신, DB 저장
|
||||
- `skill-calendar/routers/calendar.py`: `invalid_grant` → 401 변환
|
||||
|
||||
### 8.4 교훈
|
||||
1. **자연어 파싱**: "오후 1시부터 4시까지" 같은 자연어 시간 표현을 정규식으로 파싱 가능
|
||||
2. **제목 추출**: LLM 응답이 구조화되지 않아도 원본 메시지에서 직접 추출 가능
|
||||
3. **OAuth 토큰 관리**: skill-email 패턴을 참고하여 skill-calendar에도 동일한 토큰 갱신 로직 적용
|
||||
4. **에러 전파**: `invalid_grant` 같은 인증 에러는 401로 명확히 전파하여 상위 레이어에서 처리 가능
|
||||
5. **사용자 안내**: 기술적 에러를 사용자 친화적인 재인증 안내 메시지로 변환
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user