Skip to content

feat: AiRun 진행 상태 SSE 구독 추가 - #101

Merged
hywznn merged 4 commits into
mainfrom
feat/75-ai-run-sse
Aug 6, 2026
Merged

feat: AiRun 진행 상태 SSE 구독 추가#101
hywznn merged 4 commits into
mainfrom
feat/75-ai-run-sse

Conversation

@hywznn

@hywznn hywznn commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

왜 필요한가요?

Client가 AiRun 진행 상태를 polling보다 빠르게 확인할 수 있도록 Server → Client 단방향 SSE 구독을 추가합니다.

Refs #75

무엇이 바뀌나요?

  • GET /api/v1/ai-runs/{aiRunId}/events를 추가했습니다.
  • JWT와 company 범위를 검증해 자기 사업장의 AiRun만 구독할 수 있습니다.
  • 저장된 AiRun 상태만 안전한 공개 이벤트로 변환합니다.
  • Last-Event-ID 기반 재연결과 heartbeat를 지원합니다.
  • 사용자·AiRun별 연결 수를 제한하고 완료·실패 후 스트림을 종료합니다.
  • Agent 추론 원문·Prompt·Provider 응답·개인정보는 SSE로 노출하지 않습니다.
  • Authorization 헤더가 필요하므로 Client는 브라우저 EventSource 대신 fetch 기반 SSE를 사용해야 합니다.

기존 동작과의 관계

SSE는 화면 편의 기능이며 실행의 기준은 계속 Server DB입니다. 연결이 끊겨도 AiRun은 계속 실행되고 기존 GET /api/v1/ai-runs/{aiRunId} polling API도 그대로 유지됩니다.

검증

  • ./gradlew clean test 성공
  • 다른 사업장 접근, 재연결, heartbeat, 연결 수 제한, 안전한 payload 검증
  • DB Migration 변경 없음

hywznn added 2 commits August 6, 2026 18:43
AiRun 상태 변화를 개인정보 없는 공개 이벤트로 변환하고 사용자·사업장별 SSE 구독, 재연결, heartbeat 및 연결 제한을 적용합니다. 기존 GET 상세 조회는 최종 상태의 기준으로 유지합니다.
이벤트 순서와 민감정보 미노출, Last-Event-ID 재연결, 사업장 격리, 연결 제한, CORS 및 OpenAPI 계약을 자동 테스트로 고정합니다.
@hywznn
hywznn requested review from chaeliki and krestar August 6, 2026 10:23
@hywznn
hywznn marked this pull request as ready for review August 6, 2026 10:31
AiRun을 QUEUED 상태로 저장한 뒤 202 응답을 먼저 반환합니다.
별도 실행기에서 RUNNING 전환과 Runtime 호출을 수행해 최초 SSE 상태를 실시간으로 구독할 수 있게 합니다.

@krestar krestar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요구사항과 테스트 범위 확인했습니다. Tenant 격리, 안전한 SSE payload, 재연결·heartbeat 처리가 적절하고 CI도 통과해 승인합니다.

@hywznn

hywznn commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

요구사항과 테스트 범위 확인했습니다. Tenant 격리, 안전한 SSE payload, 재연결·heartbeat 처리가 적절하고 CI도 통과해 승인합니다.

리슨 투마 핫 빝 포유

@hywznn
hywznn merged commit c9694a0 into main Aug 6, 2026
4 checks passed
@hywznn
hywznn deleted the feat/75-ai-run-sse branch August 6, 2026 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants