Coverage for src / lexigram / contracts / ai / relay / dto / __init__.py: 0%
6 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-15 18:57 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-15 18:57 +0800
1"""Wire-accurate DTOs for the four relay protocols.
3Each DTO carries only the fields the conversion engine semantically
4understands. Unknown upstream fields land in ``passthrough`` and are
5re-emitted verbatim on ``to_dict()`` so a gateway can forward request
6bodies without data loss.
8This package replaces the historical flat ``dto.py`` module. The public
9import path ``lexigram.contracts.ai.relay.dto`` is preserved: every
10previously public name is re-exported here from its focused submodule.
11"""
13from __future__ import annotations
15from lexigram.contracts.ai.relay.dto.claude import (
16 ClaudeContent,
17 ClaudeMessage,
18 ClaudeRequest,
19 ClaudeResponse,
20 ClaudeStreamEvent,
21 ClaudeUsage,
22)
23from lexigram.contracts.ai.relay.dto.gemini import (
24 GeminiCandidate,
25 GeminiContent,
26 GeminiGroundingMetadata,
27 GeminiPart,
28 GeminiPromptFeedback,
29 GeminiRequest,
30 GeminiResponse,
31 GeminiSafetyRating,
32 GeminiUsageMetadata,
33)
34from lexigram.contracts.ai.relay.dto.openai_chat import (
35 OpenAIChatChoice,
36 OpenAIChatMessage,
37 OpenAIChatRequest,
38 OpenAIChatResponse,
39 OpenAIChatStreamChoice,
40 OpenAIChatStreamChunk,
41 OpenAIChatStreamDelta,
42)
43from lexigram.contracts.ai.relay.dto.openai_responses import (
44 ResponsesEvent,
45 ResponsesIncompleteDetails,
46 ResponsesItem,
47 ResponsesRequest,
48 ResponsesResponse,
49 ResponsesUsage,
50)
52__all__ = [
53 "ClaudeContent",
54 "ClaudeMessage",
55 "ClaudeRequest",
56 "ClaudeResponse",
57 "ClaudeStreamEvent",
58 "ClaudeUsage",
59 "GeminiCandidate",
60 "GeminiContent",
61 "GeminiGroundingMetadata",
62 "GeminiPart",
63 "GeminiPromptFeedback",
64 "GeminiRequest",
65 "GeminiResponse",
66 "GeminiSafetyRating",
67 "GeminiUsageMetadata",
68 "OpenAIChatChoice",
69 "OpenAIChatMessage",
70 "OpenAIChatRequest",
71 "OpenAIChatResponse",
72 "OpenAIChatStreamChoice",
73 "OpenAIChatStreamChunk",
74 "OpenAIChatStreamDelta",
75 "ResponsesEvent",
76 "ResponsesIncompleteDetails",
77 "ResponsesItem",
78 "ResponsesRequest",
79 "ResponsesResponse",
80 "ResponsesUsage",
81]