3. 이벤트 타입 시스템 (Event Type System)
3.1. 네임스페이스 구조
이벤트 타입은 점(.)으로 구분된 계층 구조를 따른다:
{namespace}.{category}.{action}
본 규격은 다음 최상위 네임스페이스를 정의한다:
| 네임스페이스 | 방향 | 설명 |
|---|---|---|
agent |
Client → Master | 에이전트의 출력, 상태, 요청 |
control |
Master → Client | 사용자 입력, 제어 명령 |
tool |
Client → Master | 도구 호출 및 결과 |
session |
양방향 | 세션 수준 이벤트 (이력, 압축, 에러) |
3.1.1. 확장 네임스페이스
본 규격에 정의되지 않은 커스텀 이벤트는 x-{vendor} 접두사를 사용해야 한다 (MUST).
x-mycompany.custom.event_name
수신자는 x- 접두 네임스페이스를 알 수 없는 타입으로 취급하여 무시할 수 있다.
3.2. 레거시 타입 매핑
RAWP-1.0-Legacy의 이벤트 타입과 본 규격 타입 간 대응 관계:
| RAWP-1.0-Legacy | RAWP-DPS 1.0 | 비고 |
|---|---|---|
agent_session_history |
session.history |
|
agent_stdin_write / agent_prompt_req |
control.prompt.request |
|
agent_text_stream / agent_prompt_res |
agent.text.delta + agent.text.done |
분리 |
agent_approval_req / agent_interaction_ask |
agent.interaction.request |
|
agent_approval_res / agent_interaction_ans |
control.interaction.response |
|
agent_interaction_timeout |
control.interaction.timeout |
|
agent_usage_metrics |
session.usage |
|
agent_error |
agent.error |
|
agent_file_transfer |
agent.file.transfer |
|
| (해당 없음) | control.file.search |
신규, Legacy 미지원 |
| (해당 없음) | session.file.candidates |
신규, Legacy 미지원 |
| (해당 없음) | control.file.search.cancel |
신규, Legacy 미지원 |