Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-relay/src/lexigram/ai/relay/mappers/gemini_request/__init__.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 07:19 +0800

1"""Google Gemini ``generateContent`` request conversion. 

2 

3Builds :class:`GeminiRequest` wire payloads from canonical 

4:class:`RelayRequest` (:func:`ir_to_request`) and parses Gemini request 

5DTOs back into the relay IR (:func:`request_to_ir`). Conversion is 

6split by direction: :mod:`to_ir` parses wire → IR, :mod:`from_ir` 

7builds wire ← IR, and :mod:`_shared` holds constants plus the 

8``ToolCall`` to/from Gemini part helpers consumed across directions. 

9""" 

10 

11from __future__ import annotations 

12 

13from lexigram.ai.relay.mappers.gemini_request._shared import ( 

14 _TARGET, 

15 _tool_call_from_part, 

16 _tool_call_to_part, 

17) 

18from lexigram.ai.relay.mappers.gemini_request.from_ir import ir_to_request 

19from lexigram.ai.relay.mappers.gemini_request.to_ir import request_to_ir 

20 

21__all__ = ["ir_to_request", "request_to_ir"]