1"""Anthropic Claude Messages request and response mapper.
2
3Converts the Claude Messages wire DTOs
4(:class:`ClaudeRequest` / :class:`ClaudeResponse`) into the canonical
5relay IR and back. Stream conversion is handled by the shared stream
6lifecycle task and reports ``unsupported_feature`` until then.
7"""
8
9from __future__ import annotations
10
11from lexigram.ai.relay.mappers.claude.request import RequestMixin
12from lexigram.ai.relay.mappers.claude.response import ResponseMixin
13from lexigram.ai.relay.mappers.claude.stream import StreamMixin
14from lexigram.ai.relay.mappers.claude.utils import _TARGET
15
16__all__ = ["ClaudeMapper"]
17
18
19class ClaudeMapper(RequestMixin, ResponseMixin, StreamMixin):
20 """Bidirectional Anthropic Claude Messages converter.
21
22 Attributes:
23 format: The wire format this mapper handles.
24 """
25
26 format = _TARGET