docs: 캘린더 일정 등록 실패 문제 해결 완료 문서 업데이트

This commit is contained in:
Claude-51124 2025-11-22 11:53:43 +09:00
parent ffbdd6037a
commit 414a4daf97

View File

@ -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`) ### 8.1 구현 완료
2. ⏳ skill-calendar 토큰 갱신 로직 추가 1. ✅ rb8001 자연어 시간 범위 파싱 개선 (`extract_time_range_generic`)
3. ⏳ 테스트 실행 및 검증 2. ✅ rb8001 제목 추출 로직 개선 (원본 메시지에서 직접 추출)
4. ⏳ 배포 및 E2E 테스트 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. **사용자 안내**: 기술적 에러를 사용자 친화적인 재인증 안내 메시지로 변환