Coverage report: 95%

Files Functions Classes

coverage.py v7.13.5, created at 2026-08-08 23:08 +0800

File function   statements missing excluded   coverage
src / lexigram / ai / relay / gateway / __init__.py (no function)   13 0 0   100%
src / lexigram / ai / relay / gateway / admin / __init__.py (no function)   3 0 0   100%
src / lexigram / ai / relay / gateway / admin / actions.py _coerce_bool   13 4 0   69%
src / lexigram / ai / relay / gateway / admin / actions.py set_channel_state   18 6 0   67%
src / lexigram / ai / relay / gateway / admin / actions.py force_cancel_stream   15 5 0   67%
src / lexigram / ai / relay / gateway / admin / actions.py (no function)   11 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.__init__   4 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.on_admin_boot   13 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.get_dashboard_widgets   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.get_navigation_items   1 1 0   0%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.get_health_definitions   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.get_actions   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.execute_action   11 1 0   91%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.get_routes   3 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.get_management_pages   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.render_widget   7 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor.render_health_check   10 10 0   0%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor._render_channel_health   9 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor._render_route_activity   16 4 0   75%
src / lexigram / ai / relay / gateway / admin / contributor.py RelayGatewayAdminContributor._render_active_streams   8 1 0   88%
src / lexigram / ai / relay / gateway / admin / contributor.py _render_for_widget   1 1 0   0%
src / lexigram / ai / relay / gateway / admin / contributor.py _render_for_health   1 1 0   0%
src / lexigram / ai / relay / gateway / admin / contributor.py _unavailable   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py _table   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py _status_badge   2 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py _quality_badge   2 2 0   0%
src / lexigram / ai / relay / gateway / admin / contributor.py _ms   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py _iso   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / contributor.py _details   3 1 0   67%
src / lexigram / ai / relay / gateway / admin / contributor.py (no function)   49 0 2   100%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewayOverviewPage.__init__   3 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewayOverviewPage.handle   21 3 0   86%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewayRoutesPage.__init__   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewayRoutesPage.handle   15 2 0   87%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewayStreamsPage.__init__   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewayStreamsPage.handle   11 1 0   91%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewaySettingsPage.__init__   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py RelayGatewaySettingsPage.handle   9 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py _channel_item   2 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py _build_header   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py _dependency_card   2 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py _thead   1 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py _parse_pagination   7 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py _parse_pagination._int   5 2 0   60%
src / lexigram / ai / relay / gateway / admin / pages.py _status_badge   2 0 0   100%
src / lexigram / ai / relay / gateway / admin / pages.py _channel_health_card   9 1 0   89%
src / lexigram / ai / relay / gateway / admin / pages.py (no function)   39 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry.__init__   4 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry.channels   1 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry.set_runtime_enabled   3 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry.runtime_enabled   1 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry.select   21 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry.select_for_endpoint   9 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry._enabled_channels   1 0 0   100%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry._pick_weighted   8 1 0   88%
src / lexigram / ai / relay / gateway / channels.py RelayChannelRegistry._meets_capabilities   3 0 0   100%
src / lexigram / ai / relay / gateway / channels.py (no function)   19 0 0   100%
src / lexigram / ai / relay / gateway / codec.py RelayPayloadCodec.decode_request   14 0 0   100%
src / lexigram / ai / relay / gateway / codec.py RelayPayloadCodec.decode_response_payload   8 3 0   62%
src / lexigram / ai / relay / gateway / codec.py RelayPayloadCodec.encode   4 0 0   100%
src / lexigram / ai / relay / gateway / codec.py (no function)   19 0 0   100%
src / lexigram / ai / relay / gateway / config.py RelayGatewayConfig.__post_init__   11 0 0   100%
src / lexigram / ai / relay / gateway / config.py (no function)   17 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py RelayChannelCredentialProvider.headers_for   0 0 1   100%
src / lexigram / ai / relay / gateway / credentials.py NullChannelCredentialProvider.headers_for   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.__init__   2 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.wrapped   1 1 0   0%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.start   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.stop   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.request   9 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.get   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.post   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.put   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.delete   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.patch   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py CredentialInjectingHTTPClient.head   1 0 0   100%
src / lexigram / ai / relay / gateway / credentials.py (no function)   23 0 3   100%
src / lexigram / ai / relay / gateway / di / __init__.py (no function)   3 0 0   100%
src / lexigram / ai / relay / gateway / di / provider.py RelayGatewayProvider.__init__   13 0 0   100%
src / lexigram / ai / relay / gateway / di / provider.py RelayGatewayProvider.register   26 0 0   100%
src / lexigram / ai / relay / gateway / di / provider.py RelayGatewayProvider.boot   9 0 0   100%
src / lexigram / ai / relay / gateway / di / provider.py RelayGatewayProvider.shutdown   2 0 0   100%
src / lexigram / ai / relay / gateway / di / provider.py (no function)   29 0 2   100%
src / lexigram / ai / relay / gateway / errors.py conversion_error_to_gateway   6 2 0   67%
src / lexigram / ai / relay / gateway / errors.py auth_denied   1 0 0   100%
src / lexigram / ai / relay / gateway / errors.py billing_error_to_gateway   3 0 0   100%
src / lexigram / ai / relay / gateway / errors.py with_request_id   3 0 0   100%
src / lexigram / ai / relay / gateway / errors.py (no function)   9 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py _JobPayloadCarrier.to_dict   1 1 0   0%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService.__init__   7 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService.submit   11 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService.status   11 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._dispatch_submit   42 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._dispatch_status   23 1 0   96%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._reserve   8 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._settle   5 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._settle_failed   1 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._call_upstream   6 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._channel_by_name   4 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._job_url   5 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._extract_job_id   4 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._missing_id_error   1 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._job_not_found_error   1 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._malformed_error   1 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._usage_from_response   10 2 0   80%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._unexpected_error   1 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py JobPassthroughService._log_request_completed   1 0 0   100%
src / lexigram / ai / relay / gateway / job_passthrough.py (no function)   49 0 0   100%
src / lexigram / ai / relay / gateway / job_registry.py RelayJobRegistry.__init__   3 0 0   100%
src / lexigram / ai / relay / gateway / job_registry.py RelayJobRegistry.put   3 0 0   100%
src / lexigram / ai / relay / gateway / job_registry.py RelayJobRegistry.get   7 0 0   100%
src / lexigram / ai / relay / gateway / job_registry.py (no function)   16 0 0   100%
src / lexigram / ai / relay / gateway / module.py RelayGatewayModule.configure   5 0 0   100%
src / lexigram / ai / relay / gateway / module.py (no function)   9 0 2   100%
src / lexigram / ai / relay / gateway / operations / __init__.py (no function)   6 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester.__init__   5 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester.is_running   1 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester.start   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester.stop   9 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester.sweep   6 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester._sweep_loop   6 2 0   67%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester._apply   8 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester._disable   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py RelayChannelAutoTester._recover   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / auto_test.py (no function)   22 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py InMemoryRelayPolicyStore.__init__   1 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py InMemoryRelayPolicyStore.with_defaults   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py InMemoryRelayPolicyStore.load   1 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py InMemoryRelayPolicyStore.save   1 1 0   0%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService.__init__   6 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService.set_channel_state   10 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService.update_policy   17 2 0   88%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService.policy_snapshot   2 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService.active_streams   1 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService.force_cancel_stream   4 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService._validate_options   10 1 0   90%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService._channel   4 1 0   75%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService._require   5 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService._compose   11 1 0   91%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService._require_router_survives   4 0 0   100%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService._changed_fields   14 2 0   86%
src / lexigram / ai / relay / gateway / operations / controls.py RelayControlsService._audit_change   4 1 0   75%
src / lexigram / ai / relay / gateway / operations / controls.py (no function)   40 0 0   100%
src / lexigram / ai / relay / gateway / operations / health.py RelayChannelCheckerProtocol.check   0 0 1   100%
src / lexigram / ai / relay / gateway / operations / health.py RelayHealthService.__init__   5 0 0   100%
src / lexigram / ai / relay / gateway / operations / health.py RelayHealthService.channel_health   9 0 0   100%
src / lexigram / ai / relay / gateway / operations / health.py RelayHealthService.registry_diagnostics   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / health.py RelayHealthService._snapshot   30 0 0   100%
src / lexigram / ai / relay / gateway / operations / health.py RelayHealthService._probe   5 1 0   80%
src / lexigram / ai / relay / gateway / operations / health.py RelayHealthService._build   1 0 0   100%
src / lexigram / ai / relay / gateway / operations / health.py (no function)   31 0 2   100%
src / lexigram / ai / relay / gateway / operations / metrics.py RelayRouteEventSourceProtocol.events   0 0 1   100%
src / lexigram / ai / relay / gateway / operations / metrics.py RelayMetricsService.__init__   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / metrics.py RelayMetricsService.route_metrics   12 0 0   100%
src / lexigram / ai / relay / gateway / operations / metrics.py RelayMetricsService.registry_diagnostics   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / metrics.py RelayMetricsService._losses   5 0 0   100%
src / lexigram / ai / relay / gateway / operations / metrics.py RelayMetricsService._quality   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / metrics.py RelayMetricsService._converter_id   3 0 0   100%
src / lexigram / ai / relay / gateway / operations / metrics.py (no function)   28 0 2   100%
src / lexigram / ai / relay / gateway / operations / streams.py RelayStreamRegistry.__init__   2 0 0   100%
src / lexigram / ai / relay / gateway / operations / streams.py RelayStreamRegistry.register   5 0 0   100%
src / lexigram / ai / relay / gateway / operations / streams.py RelayStreamRegistry.unregister   2 0 0   100%
src / lexigram / ai / relay / gateway / operations / streams.py RelayStreamRegistry.list   1 0 0   100%
src / lexigram / ai / relay / gateway / operations / streams.py RelayStreamRegistry.handle   1 0 0   100%
src / lexigram / ai / relay / gateway / operations / streams.py RelayStreamRegistry.cancel   5 0 0   100%
src / lexigram / ai / relay / gateway / operations / streams.py (no function)   13 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py RelayPassthroughBody.json   1 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py RelayPassthroughBody.raw   1 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py RelayPassthroughBody.__getitem__   4 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py RelayPassthroughBody.__iter__   4 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py RelayPassthroughBody.__len__   4 1 0   75%
src / lexigram / ai / relay / gateway / passthrough.py RelayPassthroughResult.__init__   7 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py rewrite_multipart_form_field   18 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py _as_relay_body   3 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py _multipart_boundary   5 1 0   80%
src / lexigram / ai / relay / gateway / passthrough.py _is_json_content_type   2 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py _PassthroughPayloadCarrier.to_dict   1 1 0   0%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService.__init__   5 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService.handle   15 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._dispatch   48 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._reserve   13 1 0   92%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._settle   5 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._settle_failed   1 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._call_upstream   7 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._endpoint_url   2 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._usage_from_response   10 2 0   80%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._unexpected_error   1 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py PassthroughService._log_request_completed   1 0 0   100%
src / lexigram / ai / relay / gateway / passthrough.py (no function)   62 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService.__init__   9 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService.handle   17 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._dispatch   77 5 0   94%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._handle_streaming   34 5 0   85%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._stream_events   36 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._stream_settle_result   2 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._usage_from_snapshot   10 2 0   80%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._pre_consume   10 1 0   90%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._settle   4 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._empty_settle_result   1 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._log_conversion_loss   2 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._log_request_completed   1 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._call_upstream   7 0 0   100%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._upstream_url   10 2 0   80%
src / lexigram / ai / relay / gateway / service.py RelayGatewayService._unexpected_error   1 0 0   100%
src / lexigram / ai / relay / gateway / service.py (no function)   41 0 0   100%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser.__init__   8 0 0   100%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser.parse   9 1 0   89%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser.finalize   5 1 0   80%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser._parse_openai_chat   6 0 0   100%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser._parse_openai_responses   8 1 0   88%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser._parse_claude   10 0 0   100%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser._parse_gemini   3 1 0   67%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser._decode   10 1 0   90%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser._accept   5 2 0   60%
src / lexigram / ai / relay / gateway / stream.py UpstreamEventParser._malformed   2 0 0   100%
src / lexigram / ai / relay / gateway / stream.py _wire_events   1 0 0   100%
src / lexigram / ai / relay / gateway / stream.py relay_stream   37 1 0   97%
src / lexigram / ai / relay / gateway / stream.py relay_stream.cancel_once   5 0 0   100%
src / lexigram / ai / relay / gateway / stream.py relay_stream.finalize_once   5 0 0   100%
src / lexigram / ai / relay / gateway / stream.py (no function)   31 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter.__init__   2 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter.request   11 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter.stream   17 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter.cancel   1 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter._error_chunk   1 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter._iter_sse_frames   6 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter._decode_success   9 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter._decode_error   3 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py HTTPUpstreamAdapter._safe_error_message   19 0 0   100%
src / lexigram / ai / relay / gateway / upstream.py (no function)   24 0 0   100%
src / lexigram / ai / relay / gateway / web / __init__.py (no function)   0 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _content_type   1 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _is_multipart   1 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _multipart_boundary   5 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _extract_multipart_model   16 1 0   94%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _parse_json   7 1 0   86%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _tenant_id   7 2 0   71%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _error_response   1 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _invalid_request   1 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _safe_headers   10 2 0   80%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _render_result   7 1 0   86%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py _handle_audio   26 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py audio_speech_endpoint   1 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py audio_transcriptions_endpoint   1 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py audio_translations_endpoint   1 0 0   100%
src / lexigram / ai / relay / gateway / web / audio_endpoints.py (no function)   36 0 0   100%
src / lexigram / ai / relay / gateway / web / contributor.py RelayGatewayWebContributor.contributor_id   1 0 0   100%
src / lexigram / ai / relay / gateway / web / contributor.py RelayGatewayWebContributor.get_controllers   1 0 0   100%
src / lexigram / ai / relay / gateway / web / contributor.py RelayGatewayWebContributor.get_middleware   1 0 0   100%
src / lexigram / ai / relay / gateway / web / contributor.py RelayGatewayWebContributor.mount_to_app   8 0 0   100%
src / lexigram / ai / relay / gateway / web / contributor.py RelayGatewayWebContributor.mount_to_app._resolve   2 2 0   0%
src / lexigram / ai / relay / gateway / web / contributor.py RelayGatewayWebContributor.mount_to_app._resolve_passthrough   2 2 0   0%
src / lexigram / ai / relay / gateway / web / contributor.py (no function)   12 0 0   100%
src / lexigram / ai / relay / gateway / web / image_endpoints.py image_endpoint   36 1 0   97%
src / lexigram / ai / relay / gateway / web / image_endpoints.py build_image_routes   1 0 0   100%
src / lexigram / ai / relay / gateway / web / image_endpoints.py _is_multipart   2 0 0   100%
src / lexigram / ai / relay / gateway / web / image_endpoints.py _multipart_boundary   5 0 0   100%
src / lexigram / ai / relay / gateway / web / image_endpoints.py _multipart_model_value   20 2 0   90%
src / lexigram / ai / relay / gateway / web / image_endpoints.py _model_required_error   1 0 0   100%
src / lexigram / ai / relay / gateway / web / image_endpoints.py (no function)   26 0 0   100%
src / lexigram / ai / relay / gateway / web / routes.py relay_endpoint   30 1 0   97%
src / lexigram / ai / relay / gateway / web / routes.py passthrough_endpoint   25 1 0   96%
src / lexigram / ai / relay / gateway / web / routes.py job_submit_endpoint   25 3 0   88%
src / lexigram / ai / relay / gateway / web / routes.py job_status_endpoint   21 2 0   90%
src / lexigram / ai / relay / gateway / web / routes.py build_routes   9 0 0   100%
src / lexigram / ai / relay / gateway / web / routes.py _streaming_response   5 0 0   100%
src / lexigram / ai / relay / gateway / web / routes.py _streaming_response.frames   10 1 0   90%
src / lexigram / ai / relay / gateway / web / routes.py (no function)   38 0 0   100%
src / lexigram / ai / relay / gateway / web / shared.py _error_types   1 0 0   100%
src / lexigram / ai / relay / gateway / web / shared.py _error_response   9 0 0   100%
src / lexigram / ai / relay / gateway / web / shared.py _parse_body   7 1 0   86%
src / lexigram / ai / relay / gateway / web / shared.py _safe_headers   10 1 0   90%
src / lexigram / ai / relay / gateway / web / shared.py (no function)   22 0 0   100%
src / lexigram / ai / relay / gateway / web / sse.py SSEEncoder.__init__   1 0 0   100%
src / lexigram / ai / relay / gateway / web / sse.py SSEEncoder.encode   11 0 0   100%
src / lexigram / ai / relay / gateway / web / sse.py SSEEncoder.encode_terminal   5 1 0   80%
src / lexigram / ai / relay / gateway / web / sse.py SSEEncoder._event_name   5 2 0   60%
src / lexigram / ai / relay / gateway / web / sse.py (no function)   9 0 0   100%
Total     2459 125 16   95%

No items found using the specified filter.