14. 하위 호환성 가이드라인
14.1. RAWP-1.0-Legacy 브릿지
RAWP-1.0-Legacy만 지원하는 클라이언트/서버와 통신할 때, 중간 프록시(Gateway)가 타입을 변환할 수 있다. 변환 규칙:
| RAWP-DPS 1.0 수신 | RAWP-1.0-Legacy 변환 | 비고 |
|---|---|---|
agent.text.delta + agent.text.done |
agent_text_stream (is_final 플래그로 통합) |
agent.text.done 수신 시 is_final: true |
tool.invoke.request + tool.invoke.result |
변환 불가, 텍스트로 직렬화 | Legacy는 도구 이벤트 미지원 |
agent.thinking.* |
무시(drop) | Legacy는 사고 스트림 미지원 |
session.compacted |
무시(drop) | Legacy는 압축 보고 미지원 |
session.usage |
agent_usage_metrics |
필드 매핑 |
session.history |
agent_session_history |
frames → history_content로 직렬화 |
control.file.search |
변환 불가, 무시(drop) | Legacy는 파일 검색 미지원 |
session.file.candidates |
변환 불가, 무시(drop) | Legacy는 파일 검색 미지원 |
control.file.search.cancel |
변환 불가, 무시(drop) | Legacy는 파일 검색 미지원 |
file_references in control.prompt.request |
토큰을 display_path 리터럴로 치환, §16.2.2 이스케이프 해제 적용 |
텍스트 폴백 |
14.2. 정방향 호환성 규칙
- Unknown Type 무시: 수신자는 알 수 없는
type을 가진 프레임을 무시해야 한다 (MUST). 에러를 발생시키거나 연결을 종료해서는 안 된다 (MUST NOT). - Unknown Field 무시:
payload내 알 수 없는 키는 무시해야 한다 (MUST). - Capabilities 기반 필터링:
session.capabilities에서 고지하지 않은 기능의 이벤트는 발송하지 않아야 한다 (MUST NOT). - 버전 필드: Envelope의
v필드로 구조적 비호환을 감지한다.v값이 지원 범위 밖이면 프레임을 무시하고session.error로 응답한다. - 확장 네임스페이스:
x-{vendor}.*접두 이벤트는 자유롭게 추가 가능하며, 수신자는 이를 무시할 수 있다.