Coverage report: 34%

Files Functions Classes

coverage.py v7.13.5, created at 2026-08-19 05:41 +0800

File function   statements missing excluded   coverage
src / lexigram / contracts / __init__.py __getattr__   11 11 0   0%
src / lexigram / contracts / __init__.py __dir__   1 1 0   0%
src / lexigram / contracts / __init__.py (no function)   11 11 38   0%
src / lexigram / contracts / admin / __init__.py (no function)   23 0 0   100%
src / lexigram / contracts / admin / action_hooks.py ActionHookProtocol.before   0 0 1   100%
src / lexigram / contracts / admin / action_hooks.py ActionHookProtocol.after   0 0 1   100%
src / lexigram / contracts / admin / action_hooks.py ActionHookProtocol.on_failure   0 0 1   100%
src / lexigram / contracts / admin / action_hooks.py HasActionHooks.before_hooks   0 0 1   100%
src / lexigram / contracts / admin / action_hooks.py HasActionHooks.after_hooks   0 0 1   100%
src / lexigram / contracts / admin / action_hooks.py HasActionHooks.failure_hooks   0 0 1   100%
src / lexigram / contracts / admin / action_hooks.py (no function)   16 0 11   100%
src / lexigram / contracts / admin / audit_entry.py (no function)   22 0 0   100%
src / lexigram / contracts / admin / audit_logger.py AdminAuditLoggerProtocol.log   0 0 1   100%
src / lexigram / contracts / admin / audit_logger.py AdminAuditLoggerProtocol.write   0 0 1   100%
src / lexigram / contracts / admin / audit_logger.py (no function)   7 0 11   100%
src / lexigram / contracts / admin / cache_provider.py CacheProviderProtocol.get   0 0 1   100%
src / lexigram / contracts / admin / cache_provider.py CacheProviderProtocol.set   0 0 1   100%
src / lexigram / contracts / admin / cache_provider.py CacheProviderProtocol.delete   0 0 1   100%
src / lexigram / contracts / admin / cache_provider.py CacheProviderProtocol.invalidate_tags   0 0 1   100%
src / lexigram / contracts / admin / cache_provider.py (no function)   5 0 12   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.contributor_id   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_resources   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_routes   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_dashboard_widgets   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_navigation_items   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_management_pages   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_settings_panels   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_health_definitions   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.get_actions   1 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.on_admin_boot   0 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.on_admin_shutdown   0 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.render_widget   4 0 0   100%
src / lexigram / contracts / admin / contributor.py BaseAdminContributor.render_health_check   4 0 0   100%
src / lexigram / contracts / admin / contributor.py (no function)   29 0 6   100%
src / lexigram / contracts / admin / cqrs / __init__.py (no function)   4 0 0   100%
src / lexigram / contracts / admin / cqrs / command.py (no function)   3 0 0   100%
src / lexigram / contracts / admin / cqrs / query.py (no function)   3 0 0   100%
src / lexigram / contracts / admin / dependencies.py sort_contributors   8 8 0   0%
src / lexigram / contracts / admin / dependencies.py sort_contributors.visit   13 13 0   0%
src / lexigram / contracts / admin / dependencies.py (no function)   10 10 0   0%
src / lexigram / contracts / admin / errors.py (no function)   14 0 0   100%
src / lexigram / contracts / admin / extension.py (no function)   2 2 0   0%
src / lexigram / contracts / admin / health_payload.py (no function)   10 0 0   100%
src / lexigram / contracts / admin / operations.py BulkOperationsProtocol.bulk_create   0 0 1   100%
src / lexigram / contracts / admin / operations.py BulkOperationsProtocol.bulk_update   0 0 1   100%
src / lexigram / contracts / admin / operations.py BulkOperationsProtocol.bulk_delete   0 0 1   100%
src / lexigram / contracts / admin / operations.py RelationLoaderProtocol.load_relations   0 0 1   100%
src / lexigram / contracts / admin / operations.py RelationLoaderProtocol.get_relation_options   0 0 1   100%
src / lexigram / contracts / admin / operations.py AdminSearchableProtocol.search   0 0 1   100%
src / lexigram / contracts / admin / operations.py AggregatableProtocol.aggregate   0 0 1   100%
src / lexigram / contracts / admin / operations.py (no function)   12 0 30   100%
src / lexigram / contracts / admin / page_content.py (no function)   15 0 0   100%
src / lexigram / contracts / admin / page_handler.py ManagementPageHandler.handle   0 0 1   100%
src / lexigram / contracts / admin / page_handler.py (no function)   8 0 3   100%
src / lexigram / contracts / admin / pii_redactor.py PiiRedactorProtocol.redact   0 0 1   100%
src / lexigram / contracts / admin / pii_redactor.py (no function)   6 0 2   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.principal_for   0 0 1   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.list_principals   0 0 1   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.create_principal   0 0 1   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.update_principal   0 0 1   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.delete_principal   0 0 1   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.authenticate   0 0 1   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.sync_roles   0 0 1   100%
src / lexigram / contracts / admin / principal.py AdminPrincipalProviderProtocol.ensure_schema   0 0 1   100%
src / lexigram / contracts / admin / principal.py (no function)   14 0 12   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.name   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.display_name   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.group   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.icon   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.depends_on   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.priority   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.version   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.package_source   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.contributor_id   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.required_permissions   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_resources   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_dashboard_widgets   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_navigation_items   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_management_pages   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_settings_panels   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_health_definitions   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_actions   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.get_routes   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.on_admin_boot   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.on_admin_shutdown   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.render_widget   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorProtocol.render_health_check   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorRegistryProtocol.register   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorRegistryProtocol.get   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorRegistryProtocol.get_all   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminContributorRegistryProtocol.get_by_group   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminDashboardProtocol.get_all_widgets   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminDashboardProtocol.get_all_navigation   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminDashboardProtocol.get_framework_health   0 0 1   100%
src / lexigram / contracts / admin / protocols.py AdminDashboardProtocol.execute_action   0 0 1   100%
src / lexigram / contracts / admin / protocols.py (no function)   50 0 39   100%
src / lexigram / contracts / admin / repository.py AdminRepositoryProtocol.find_many   0 0 1   100%
src / lexigram / contracts / admin / repository.py AdminRepositoryProtocol.find_by_id   0 0 1   100%
src / lexigram / contracts / admin / repository.py AdminRepositoryProtocol.count   0 0 1   100%
src / lexigram / contracts / admin / repository.py AdminRepositoryProtocol.create   0 0 1   100%
src / lexigram / contracts / admin / repository.py AdminRepositoryProtocol.update   0 0 1   100%
src / lexigram / contracts / admin / repository.py AdminRepositoryProtocol.delete   0 0 1   100%
src / lexigram / contracts / admin / repository.py (no function)   6 0 23   100%
src / lexigram / contracts / admin / route_spec.py (no function)   12 0 0   100%
src / lexigram / contracts / admin / stats.py SessionCountProtocol.count_active   0 0 1   100%
src / lexigram / contracts / admin / stats.py CacheStatsProtocol.get_stats   0 0 1   100%
src / lexigram / contracts / admin / stats.py QueueStatsProtocol.get_stats   0 0 1   100%
src / lexigram / contracts / admin / stats.py DlqStatsProtocol.get_stats   0 0 1   100%
src / lexigram / contracts / admin / stats.py MetricsReadbackProtocol.get_metric   0 0 1   100%
src / lexigram / contracts / admin / stats.py MetricsReadbackProtocol.get_all_metrics   0 0 1   100%
src / lexigram / contracts / admin / stats.py HealthOverviewProtocol.run_all   0 0 1   100%
src / lexigram / contracts / admin / stats.py NamedHealthCheckProtocol.run_check   0 0 1   100%
src / lexigram / contracts / admin / stats.py (no function)   25 0 15   100%
src / lexigram / contracts / admin / types.py (no function)   127 0 2   100%
src / lexigram / contracts / admin / widget_content.py (no function)   60 0 0   100%
src / lexigram / contracts / admin / widget_protocols.py WidgetHandlerProtocol.get_data   0 0 1   100%
src / lexigram / contracts / admin / widget_protocols.py (no function)   6 0 4   100%
src / lexigram / contracts / ai / __init__.py (no function)   30 30 0   0%
src / lexigram / contracts / ai / agents.py AgentError.__init__   1 1 0   0%
src / lexigram / contracts / ai / agents.py ToolError.__init__   1 1 0   0%
src / lexigram / contracts / ai / agents.py StrategyError.__init__   4 4 0   0%
src / lexigram / contracts / ai / agents.py AgentResponse.tool_call_count   1 0 0   100%
src / lexigram / contracts / ai / agents.py AgentResponse.step_count   1 0 0   100%
src / lexigram / contracts / ai / agents.py AgentResponse.successful_tool_calls   1 1 0   0%
src / lexigram / contracts / ai / agents.py AgentResponse.failed_tool_calls   1 1 0   0%
src / lexigram / contracts / ai / agents.py AgentResponse.to_dict   1 0 0   100%
src / lexigram / contracts / ai / agents.py ToolProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolProtocol.description   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolProtocol.parameters_schema   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / agents.py AgentProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / agents.py AgentProtocol.tools   0 0 1   100%
src / lexigram / contracts / ai / agents.py AgentProtocol.system_prompt   0 0 1   100%
src / lexigram / contracts / ai / agents.py StrategyProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / agents.py AgentExecutorProtocol.run   0 0 1   100%
src / lexigram / contracts / ai / agents.py AgentExecutorProtocol.astream   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.register   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.get   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.list_tools   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.list_visible_tools   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.list_visible_tool_names   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.set_module_graph   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.set_caller_module   0 0 1   100%
src / lexigram / contracts / ai / agents.py ToolRegistryProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / agents.py MemoryProtocol.add_message   0 0 1   100%
src / lexigram / contracts / ai / agents.py MemoryProtocol.get_messages   0 0 1   100%
src / lexigram / contracts / ai / agents.py MemoryProtocol.clear   0 0 1   100%
src / lexigram / contracts / ai / agents.py AgentStrategyProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / agents.py AgentStrategyProtocol.run   0 0 1   100%
src / lexigram / contracts / ai / agents.py SkillComposerProtocol.get_tools   0 0 1   100%
src / lexigram / contracts / ai / agents.py RunnableAgentProtocol.plan   0 0 1   100%
src / lexigram / contracts / ai / agents.py RunnableAgentProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / agents.py (no function)   135 135 38   0%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_llm_start   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_llm_new_token   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_llm_end   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_llm_error   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_chain_start   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_chain_end   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_tool_start   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_tool_end   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_agent_action   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_agent_finish   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_retriever_start   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackHandlerProtocol.on_retriever_end   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackManagerProtocol.register   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackManagerProtocol.unregister   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py CallbackManagerProtocol.child   0 0 1   100%
src / lexigram / contracts / ai / callbacks.py (no function)   23 23 17   0%
src / lexigram / contracts / ai / chat.py ChatMessage.to_lc_dict   1 0 0   100%
src / lexigram / contracts / ai / chat.py ChatHistory.__init__   1 0 0   100%
src / lexigram / contracts / ai / chat.py ChatHistory.add_user_message   1 0 0   100%
src / lexigram / contracts / ai / chat.py ChatHistory.add_ai_message   1 0 0   100%
src / lexigram / contracts / ai / chat.py ChatHistory.add_message   1 1 0   0%
src / lexigram / contracts / ai / chat.py ChatHistory.get_messages   1 0 0   100%
src / lexigram / contracts / ai / chat.py ChatHistory.clear   1 1 0   0%
src / lexigram / contracts / ai / chat.py ChatHistory.to_lc_format   1 0 0   100%
src / lexigram / contracts / ai / chat.py (no function)   19 0 0   100%
src / lexigram / contracts / ai / chunks.py (no function)   14 14 0   0%
src / lexigram / contracts / ai / document.py TextSplitter.__init__   2 0 0   100%
src / lexigram / contracts / ai / document.py TextSplitter.split_text   10 1 0   90%
src / lexigram / contracts / ai / document.py RecursiveCharacterTextSplitter.__init__   2 0 0   100%
src / lexigram / contracts / ai / document.py RecursiveCharacterTextSplitter.split_text   16 3 0   81%
src / lexigram / contracts / ai / document.py RecursiveCharacterTextSplitter._merge_chunks   11 0 0   100%
src / lexigram / contracts / ai / document.py (no function)   15 0 0   100%
src / lexigram / contracts / ai / embeddings.py Embeddings.embed_documents   0 0 1   100%
src / lexigram / contracts / ai / embeddings.py Embeddings.embed_query   0 0 1   100%
src / lexigram / contracts / ai / embeddings.py FakeEmbeddings.embed_documents   2 2 0   0%
src / lexigram / contracts / ai / embeddings.py FakeEmbeddings.embed_query   2 2 0   0%
src / lexigram / contracts / ai / embeddings.py (no function)   11 0 3   100%
src / lexigram / contracts / ai / evaluation.py EvaluatorProtocol.name   0 0 0   100%
src / lexigram / contracts / ai / evaluation.py EvaluatorProtocol.evaluate   0 0 0   100%
src / lexigram / contracts / ai / evaluation.py EvaluationHarnessProtocol.name   0 0 0   100%
src / lexigram / contracts / ai / evaluation.py EvaluationHarnessProtocol.run   0 0 0   100%
src / lexigram / contracts / ai / evaluation.py (no function)   48 48 0   0%
src / lexigram / contracts / ai / exceptions.py AIError.__init__   1 0 0   100%
src / lexigram / contracts / ai / exceptions.py LLMError.__init__   1 1 0   0%
src / lexigram / contracts / ai / exceptions.py RAGError.__init__   1 1 0   0%
src / lexigram / contracts / ai / exceptions.py RetrieverError.__init__   1 0 0   100%
src / lexigram / contracts / ai / exceptions.py AIMemoryError.__init__   1 1 0   0%
src / lexigram / contracts / ai / exceptions.py SkillError.__init__   1 0 0   100%
src / lexigram / contracts / ai / exceptions.py GuardError.__init__   1 1 0   0%
src / lexigram / contracts / ai / exceptions.py ExtractionError.__init__   1 1 0   0%
src / lexigram / contracts / ai / exceptions.py RelayError.__init__   2 0 0   100%
src / lexigram / contracts / ai / exceptions.py WorkflowError.__init__   1 1 0   0%
src / lexigram / contracts / ai / exceptions.py RunnableError.__init__   1 0 0   100%
src / lexigram / contracts / ai / exceptions.py EvaluationError.__init__   1 1 0   0%
src / lexigram / contracts / ai / exceptions.py (no function)   52 52 0   0%
src / lexigram / contracts / ai / feedback.py FeedbackItem.type   1 1 0   0%
src / lexigram / contracts / ai / feedback.py FeedbackItem.to_dict   1 0 0   100%
src / lexigram / contracts / ai / feedback.py FeedbackItem.__repr__   1 1 0   0%
src / lexigram / contracts / ai / feedback.py FeedbackStoreProtocol.save   0 0 1   100%
src / lexigram / contracts / ai / feedback.py FeedbackStoreProtocol.find_by_session   0 0 1   100%
src / lexigram / contracts / ai / feedback.py FeedbackStoreProtocol.find_by_type   0 0 1   100%
src / lexigram / contracts / ai / feedback.py FeedbackStoreProtocol.aggregate   0 0 1   100%
src / lexigram / contracts / ai / feedback.py FeedbackProtocol.submit_feedback   0 0 1   100%
src / lexigram / contracts / ai / feedback.py FeedbackProtocol.get_feedback_stats   0 0 1   100%
src / lexigram / contracts / ai / feedback.py (no function)   40 0 10   100%
src / lexigram / contracts / ai / governance / __init__.py CostTrackingProtocol.track_cost   0 0 1   100%
src / lexigram / contracts / ai / governance / __init__.py CostTrackingProtocol.get_budget   0 0 1   100%
src / lexigram / contracts / ai / governance / __init__.py AIGovernanceProtocol.check_request   0 0 1   100%
src / lexigram / contracts / ai / governance / __init__.py AIGovernanceProtocol.check_budget   0 0 1   100%
src / lexigram / contracts / ai / governance / __init__.py AIGovernanceProtocol.track_cost   0 0 1   100%
src / lexigram / contracts / ai / governance / __init__.py AIAuditStoreProtocol.record   0 0 1   100%
src / lexigram / contracts / ai / governance / __init__.py (no function)   50 50 9   0%
src / lexigram / contracts / ai / governance / errors.py (no function)   9 9 0   0%
src / lexigram / contracts / ai / governance / relay_billing.py RelayUsageScope.__post_init__   2 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayUsageRecord.__post_init__   15 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayUsageReservation.__post_init__   10 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayChargeBreakdown.__post_init__   3 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayUsageStoreProtocol.save_reservation   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayUsageStoreProtocol.settle_once   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayUsageStoreProtocol.release   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayUsageStoreProtocol.query   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayPriceEstimatorProtocol.estimate_charge   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayBillingProtocol.pre_consume   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayBillingProtocol.settle   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py RelayBillingProtocol.release   0 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py unknown_price   1 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py quota_exhausted   1 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py reservation_expired   1 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py duplicate_settlement   1 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py invalid_usage   1 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py billing_store_unavailable   1 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py charge_overflow   1 0 0   100%
src / lexigram / contracts / ai / governance / relay_billing.py (no function)   77 77 0   0%
src / lexigram / contracts / ai / governance / resource_unit.py ResourceExhaustedError.__init__   6 6 0   0%
src / lexigram / contracts / ai / governance / resource_unit.py (no function)   36 36 0   0%
src / lexigram / contracts / ai / guards.py GuardResultProtocol.passed   0 0 1   100%
src / lexigram / contracts / ai / guards.py GuardResultProtocol.action   0 0 1   100%
src / lexigram / contracts / ai / guards.py GuardResultProtocol.guard_name   0 0 1   100%
src / lexigram / contracts / ai / guards.py GuardResultProtocol.details   0 0 1   100%
src / lexigram / contracts / ai / guards.py GuardResultProtocol.redacted_content   0 0 1   100%
src / lexigram / contracts / ai / guards.py InputGuardProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / guards.py InputGuardProtocol.check   0 0 1   100%
src / lexigram / contracts / ai / guards.py OutputGuardProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / guards.py OutputGuardProtocol.check   0 0 1   100%
src / lexigram / contracts / ai / guards.py GuardPipelineProtocol.check_input   0 0 1   100%
src / lexigram / contracts / ai / guards.py GuardPipelineProtocol.check_output   0 0 1   100%
src / lexigram / contracts / ai / guards.py (no function)   34 34 17   0%
src / lexigram / contracts / ai / index.py IndexError.__init__   1 1 0   0%
src / lexigram / contracts / ai / index.py QueryEngineError.__init__   1 1 0   0%
src / lexigram / contracts / ai / index.py IndexProtocol.insert   0 0 1   100%
src / lexigram / contracts / ai / index.py IndexProtocol.delete   0 0 1   100%
src / lexigram / contracts / ai / index.py IndexProtocol.as_retriever   0 0 1   100%
src / lexigram / contracts / ai / index.py QueryEngineProtocol.query   0 0 1   100%
src / lexigram / contracts / ai / index.py QueryEngineProtocol.astream_query   0 0 1   100%
src / lexigram / contracts / ai / index.py (no function)   33 33 10   0%
src / lexigram / contracts / ai / llm.py ChatMessageProtocol.role   0 0 0   100%
src / lexigram / contracts / ai / llm.py ChatMessageProtocol.content   0 0 0   100%
src / lexigram / contracts / ai / llm.py LLMClientProtocol.complete   0 0 1   100%
src / lexigram / contracts / ai / llm.py LLMClientProtocol.stream_chat   0 0 1   100%
src / lexigram / contracts / ai / llm.py LLMClientProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / llm.py LLMClientProtocol.close   0 0 1   100%
src / lexigram / contracts / ai / llm.py EmbeddingClientProtocol.embed   0 0 1   100%
src / lexigram / contracts / ai / llm.py EmbeddingClientProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / llm.py EmbeddingClientProtocol.close   0 0 1   100%
src / lexigram / contracts / ai / llm.py StructuredExtractorProtocol.extract   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptTemplateProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptTemplateProtocol.render   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptTemplateProtocol.get_variables   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptRegistryProtocol.register   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptRegistryProtocol.get   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptRegistryProtocol.list_names   0 0 1   100%
src / lexigram / contracts / ai / llm.py TokenCounterProtocol.count   0 0 1   100%
src / lexigram / contracts / ai / llm.py TokenCounterProtocol.count_messages   0 0 1   100%
src / lexigram / contracts / ai / llm.py TokenCounterProtocol.model   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptAssemblerProtocol.assemble   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptRendererProtocol.render   0 0 1   100%
src / lexigram / contracts / ai / llm.py PromptOptimizerProtocol.optimize   0 0 1   100%
src / lexigram / contracts / ai / llm.py SemanticCacheProtocol.lookup   0 0 1   100%
src / lexigram / contracts / ai / llm.py SemanticCacheProtocol.store   0 0 1   100%
src / lexigram / contracts / ai / llm.py SemanticCacheProtocol.invalidate   0 0 1   100%
src / lexigram / contracts / ai / llm.py TokenBudget.total_used   1 0 0   100%
src / lexigram / contracts / ai / llm.py TokenBudget.remaining   1 0 0   100%
src / lexigram / contracts / ai / llm.py TokenBudget.remaining_for_history   2 0 0   100%
src / lexigram / contracts / ai / llm.py TokenBudget.over_budget   1 0 0   100%
src / lexigram / contracts / ai / llm.py TokenBudget.with_rag_tokens   1 0 0   100%
src / lexigram / contracts / ai / llm.py TokenBudget.with_history_tokens   1 0 0   100%
src / lexigram / contracts / ai / llm.py CostEstimatorProtocol.estimate_cost   0 0 1   100%
src / lexigram / contracts / ai / llm.py (no function)   147 147 39   0%
src / lexigram / contracts / ai / loaders.py LoaderError.__init__   1 1 0   0%
src / lexigram / contracts / ai / loaders.py DocumentLoaderProtocol.load   0 0 1   100%
src / lexigram / contracts / ai / loaders.py LoaderRegistryProtocol.register   0 0 1   100%
src / lexigram / contracts / ai / loaders.py LoaderRegistryProtocol.get   0 0 1   100%
src / lexigram / contracts / ai / loaders.py LoaderRegistryProtocol.list   0 0 1   100%
src / lexigram / contracts / ai / loaders.py (no function)   15 15 9   0%
src / lexigram / contracts / ai / memory.py MemoryStoreProtocol.store   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryStoreProtocol.retrieve   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryStoreProtocol.get_recent   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryStoreProtocol.clear   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / memory.py WorkingMemoryProtocol.assemble   0 0 1   100%
src / lexigram / contracts / ai / memory.py WorkingMemoryProtocol.add   0 0 1   100%
src / lexigram / contracts / ai / memory.py WorkingMemoryProtocol.get_context_entries   0 0 1   100%
src / lexigram / contracts / ai / memory.py WorkingMemoryProtocol.flush   0 0 1   100%
src / lexigram / contracts / ai / memory.py WorkingMemoryProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / memory.py EpisodicMemoryProtocol.record   0 0 1   100%
src / lexigram / contracts / ai / memory.py EpisodicMemoryProtocol.recall   0 0 1   100%
src / lexigram / contracts / ai / memory.py EpisodicMemoryProtocol.forget   0 0 1   100%
src / lexigram / contracts / ai / memory.py EpisodicMemoryProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / memory.py SemanticMemoryProtocol.store_fact   0 0 1   100%
src / lexigram / contracts / ai / memory.py SemanticMemoryProtocol.query_facts   0 0 1   100%
src / lexigram / contracts / ai / memory.py SemanticMemoryProtocol.get_entity_facts   0 0 1   100%
src / lexigram / contracts / ai / memory.py SemanticMemoryProtocol.update_fact   0 0 1   100%
src / lexigram / contracts / ai / memory.py SemanticMemoryProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryConsolidatorProtocol.consolidate   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryConsolidatorProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryProtocol.add_message   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryProtocol.get_messages   0 0 1   100%
src / lexigram / contracts / ai / memory.py MemoryProtocol.clear   0 0 1   100%
src / lexigram / contracts / ai / memory.py ConversationMemory.__init__   2 0 0   100%
src / lexigram / contracts / ai / memory.py ConversationMemory.add_message   3 0 0   100%
src / lexigram / contracts / ai / memory.py ConversationMemory.get_messages   1 0 0   100%
src / lexigram / contracts / ai / memory.py ConversationMemory.clear   1 1 0   0%
src / lexigram / contracts / ai / memory.py ConversationMemory.aadd_message   1 1 0   0%
src / lexigram / contracts / ai / memory.py ConversationMemory.aget_messages   1 1 0   0%
src / lexigram / contracts / ai / memory.py ConversationMemory.aclear   1 1 0   0%
src / lexigram / contracts / ai / memory.py WindowMemory.__init__   2 0 0   100%
src / lexigram / contracts / ai / memory.py WindowMemory.add_message   3 0 0   100%
src / lexigram / contracts / ai / memory.py WindowMemory.get_messages   1 0 0   100%
src / lexigram / contracts / ai / memory.py WindowMemory.clear   1 1 0   0%
src / lexigram / contracts / ai / memory.py WindowMemory.aadd_message   1 1 0   0%
src / lexigram / contracts / ai / memory.py WindowMemory.aget_messages   1 1 0   0%
src / lexigram / contracts / ai / memory.py WindowMemory.aclear   1 1 0   0%
src / lexigram / contracts / ai / memory.py (no function)   97 97 34   0%
src / lexigram / contracts / ai / models.py (no function)   20 20 2   0%
src / lexigram / contracts / ai / multimodal.py (no function)   23 23 0   0%
src / lexigram / contracts / ai / parsers.py BaseOutputParser.parse   0 0 1   100%
src / lexigram / contracts / ai / parsers.py BaseOutputParser.get_format_instructions   1 1 0   0%
src / lexigram / contracts / ai / parsers.py JSONOutputParser.parse   9 3 0   67%
src / lexigram / contracts / ai / parsers.py JSONOutputParser.get_format_instructions   1 0 0   100%
src / lexigram / contracts / ai / parsers.py XMLOutputParser.parse   1 0 0   100%
src / lexigram / contracts / ai / parsers.py XMLOutputParser.get_format_instructions   1 1 0   0%
src / lexigram / contracts / ai / parsers.py PydanticOutputParser.__init__   1 0 0   100%
src / lexigram / contracts / ai / parsers.py PydanticOutputParser.parse   9 3 0   67%
src / lexigram / contracts / ai / parsers.py PydanticOutputParser.get_format_instructions   1 1 0   0%
src / lexigram / contracts / ai / parsers.py (no function)   19 0 1   100%
src / lexigram / contracts / ai / protocols.py AIProviderProtocol.chat   0 0 1   100%
src / lexigram / contracts / ai / protocols.py AISubsystemProtocol.initialize   0 0 1   100%
src / lexigram / contracts / ai / protocols.py AISubsystemProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / protocols.py (no function)   12 12 7   0%
src / lexigram / contracts / ai / providers.py ProviderRegistryProtocol.register_provider   0 0 1   100%
src / lexigram / contracts / ai / providers.py ProviderRegistryProtocol.get_client   0 0 1   100%
src / lexigram / contracts / ai / providers.py ProviderRegistryProtocol.list_providers   0 0 1   100%
src / lexigram / contracts / ai / providers.py ProviderRegistryProtocol.list_models   0 0 1   100%
src / lexigram / contracts / ai / providers.py ProviderRegistryProtocol.get_model_info   0 0 1   100%
src / lexigram / contracts / ai / providers.py ModelSelectorProtocol.select   0 0 1   100%
src / lexigram / contracts / ai / providers.py FallbackChainProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / providers.py (no function)   47 47 12   0%
src / lexigram / contracts / ai / rag.py ChunkProtocol.text   0 0 1   100%
src / lexigram / contracts / ai / rag.py ChunkProtocol.metadata   0 0 1   100%
src / lexigram / contracts / ai / rag.py ChunkProtocol.score   0 0 1   100%
src / lexigram / contracts / ai / rag.py DocumentLoaderProtocol.load   0 0 1   100%
src / lexigram / contracts / ai / rag.py SynthesizerProtocol.synthesize   0 0 1   100%
src / lexigram / contracts / ai / rag.py RAGPipelineProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / rag.py RetrievalStrategyProtocol.retrieve   0 0 1   100%
src / lexigram / contracts / ai / rag.py RerankingStrategyProtocol.rerank   0 0 1   100%
src / lexigram / contracts / ai / rag.py RAGEvaluatorProtocol.evaluate   0 0 1   100%
src / lexigram / contracts / ai / rag.py PromptCompressorProtocol.compress   0 0 1   100%
src / lexigram / contracts / ai / rag.py (no function)   52 52 21   0%
src / lexigram / contracts / ai / relay / __init__.py (no function)   16 16 0   0%
src / lexigram / contracts / ai / relay / auth.py RelayAuthVerifierProtocol.authenticate   0 0 1   100%
src / lexigram / contracts / ai / relay / auth.py (no function)   15 15 2   0%
src / lexigram / contracts / ai / relay / context.py MediaResolverProtocol.resolve   0 0 1   100%
src / lexigram / contracts / ai / relay / context.py (no function)   47 47 2   0%
src / lexigram / contracts / ai / relay / dto / __init__.py (no function)   6 6 0   0%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeContent.to_dict   23 6 0   74%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeContent.from_dict   4 0 0   100%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeMessage.to_dict   3 1 0   67%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeMessage.from_dict   4 1 0   75%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeRequest.to_dict   20 7 0   65%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeRequest.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeUsage.total_tokens   1 0 0   100%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeUsage.to_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeUsage.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeResponse.to_dict   8 1 0   88%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeResponse.from_dict   3 0 0   100%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeStreamEvent.to_dict   18 18 0   0%
src / lexigram / contracts / ai / relay / dto / claude.py ClaudeStreamEvent.from_dict   5 0 0   100%
src / lexigram / contracts / ai / relay / dto / claude.py (no function)   86 86 0   0%
src / lexigram / contracts / ai / relay / dto / common.py require_field   3 0 0   100%
src / lexigram / contracts / ai / relay / dto / common.py (no function)   9 9 0   0%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiPart.to_dict   16 2 0   88%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiPart.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiContent.to_dict   1 0 0   100%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiContent.from_dict   1 0 0   100%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiRequest.to_dict   12 2 0   83%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiRequest.from_dict   3 0 0   100%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiSafetyRating.to_dict   14 4 0   71%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiSafetyRating.from_dict   2 2 0   0%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiGroundingMetadata.to_dict   10 3 0   70%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiGroundingMetadata.from_dict   2 2 0   0%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiCandidate.to_dict   18 3 0   83%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiCandidate.from_dict   5 0 0   100%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiUsageMetadata.to_dict   6 1 0   83%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiUsageMetadata.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiPromptFeedback.to_dict   6 2 0   67%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiPromptFeedback.from_dict   3 3 0   0%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiResponse.to_dict   14 2 0   86%
src / lexigram / contracts / ai / relay / dto / gemini.py GeminiResponse.from_dict   4 0 0   100%
src / lexigram / contracts / ai / relay / dto / gemini.py (no function)   108 108 0   0%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatMessage.to_dict   9 2 0   78%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatMessage.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatRequest.to_dict   27 4 0   85%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatRequest.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatChoice.to_dict   8 1 0   88%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatChoice.from_dict   3 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatResponse.to_dict   6 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatResponse.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatStreamDelta.to_dict   12 1 0   92%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatStreamDelta.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatStreamChoice.to_dict   8 2 0   75%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatStreamChoice.from_dict   3 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatStreamChunk.to_dict   6 1 0   83%
src / lexigram / contracts / ai / relay / dto / openai_chat.py OpenAIChatStreamChunk.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_chat.py (no function)   94 94 0   0%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesItem.to_dict   26 10 0   62%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesItem.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesRequest.to_dict   26 11 0   58%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesRequest.from_dict   3 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesUsage.to_dict   4 1 0   75%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesUsage.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesIncompleteDetails.to_dict   4 4 0   0%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesIncompleteDetails.from_dict   2 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesResponse.to_dict   10 3 0   70%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesResponse.from_dict   4 0 0   100%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesEvent.to_dict   20 7 0   65%
src / lexigram / contracts / ai / relay / dto / openai_responses.py ResponsesEvent.from_dict   7 1 0   86%
src / lexigram / contracts / ai / relay / dto / openai_responses.py (no function)   95 95 0   0%
src / lexigram / contracts / ai / relay / gateway.py RelayChannel.__post_init__   13 0 0   100%
src / lexigram / contracts / ai / relay / gateway.py RelayChannel.resolve_model   1 0 0   100%
src / lexigram / contracts / ai / relay / gateway.py RelayGatewayProtocol.handle   0 0 1   100%
src / lexigram / contracts / ai / relay / gateway.py (no function)   78 78 2   0%
src / lexigram / contracts / ai / relay / ir.py normalize_finish_reason   16 0 0   100%
src / lexigram / contracts / ai / relay / ir.py (no function)   69 69 0   0%
src / lexigram / contracts / ai / relay / ledger.py RelayTopUpRecord.__post_init__   11 4 0   64%
src / lexigram / contracts / ai / relay / ledger.py RelayCheckinRecord.__post_init__   11 4 0   64%
src / lexigram / contracts / ai / relay / ledger.py RelayLedgerServiceProtocol.credit   0 0 1   100%
src / lexigram / contracts / ai / relay / ledger.py RelayLedgerServiceProtocol.settle_topup   0 0 1   100%
src / lexigram / contracts / ai / relay / ledger.py RelayLedgerServiceProtocol.checkin   0 0 1   100%
src / lexigram / contracts / ai / relay / ledger.py RelayLedgerServiceProtocol.list_topups   0 0 1   100%
src / lexigram / contracts / ai / relay / ledger.py (no function)   32 32 7   0%
src / lexigram / contracts / ai / relay / logs.py RelayRequestLogStoreProtocol.append   0 0 1   100%
src / lexigram / contracts / ai / relay / logs.py (no function)   22 22 3   0%
src / lexigram / contracts / ai / relay / operations.py TimeWindow.__post_init__   2 0 0   100%
src / lexigram / contracts / ai / relay / operations.py RelayActiveStream.__post_init__   6 6 0   0%
src / lexigram / contracts / ai / relay / operations.py RelayChannelHealth.__post_init__   12 1 0   92%
src / lexigram / contracts / ai / relay / operations.py RelayRouteMetrics.__post_init__   8 2 0   75%
src / lexigram / contracts / ai / relay / operations.py RelayPolicySnapshot.__post_init__   6 0 0   100%
src / lexigram / contracts / ai / relay / operations.py RelayPolicyChange.__post_init__   6 0 0   100%
src / lexigram / contracts / ai / relay / operations.py RelayPolicyStoreProtocol.load   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayPolicyStoreProtocol.save   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsProtocol.channel_health   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsProtocol.route_metrics   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsProtocol.registry_diagnostics   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsProtocol.policy_snapshot   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsProtocol.active_streams   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsControlProtocol.set_channel_state   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsControlProtocol.update_policy   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsControlProtocol.policy_snapshot   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py RelayOperationsControlProtocol.force_cancel_stream   0 0 1   100%
src / lexigram / contracts / ai / relay / operations.py (no function)   90 90 12   0%
src / lexigram / contracts / ai / relay / protocols.py RelayConverterProtocol.convert_request   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayConverterProtocol.convert_response   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayConverterProtocol.new_stream_session   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayConverterProtocol.convert_stream_chunk   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayConverterProtocol.finalize   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayStreamSessionProtocol.accept   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayStreamSessionProtocol.finalize   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayStreamSessionProtocol.snapshot   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayMapperProtocol.request_to_ir   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayMapperProtocol.ir_to_request   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayMapperProtocol.response_to_ir   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayMapperProtocol.ir_to_response   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayMapperProtocol.stream_to_delta   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayMapperProtocol.delta_to_stream   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayRegistryProtocol.mapper   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayRegistryProtocol.converter_routes   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayRegistryProtocol.mapper_ids   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayRegistryProtocol.converter_version   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py RelayRegistryProtocol.route_quality   0 0 1   100%
src / lexigram / contracts / ai / relay / protocols.py (no function)   36 36 21   0%
src / lexigram / contracts / ai / relay / ratelimit.py RelayRateLimitCounterProtocol.take   0 0 1   100%
src / lexigram / contracts / ai / relay / ratelimit.py (no function)   11 11 4   0%
src / lexigram / contracts / ai / relay / store.py RelayChannelStoreProtocol.list_channels   0 0 1   100%
src / lexigram / contracts / ai / relay / store.py RelayChannelStoreProtocol.upsert   0 0 1   100%
src / lexigram / contracts / ai / relay / store.py RelayChannelStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / ai / relay / store.py (no function)   13 13 7   0%
src / lexigram / contracts / ai / relay / transport.py RelayUpstreamProtocol.request   0 0 1   100%
src / lexigram / contracts / ai / relay / transport.py RelayUpstreamProtocol.stream   0 0 1   100%
src / lexigram / contracts / ai / relay / transport.py RelayUpstreamProtocol.cancel   0 0 1   100%
src / lexigram / contracts / ai / relay / transport.py (no function)   31 31 3   0%
src / lexigram / contracts / ai / relay / types.py RelayUsage.total_tokens   3 0 0   100%
src / lexigram / contracts / ai / relay / types.py RelayUsage.to_token_usage   1 0 0   100%
src / lexigram / contracts / ai / relay / types.py (no function)   58 58 0   0%
src / lexigram / contracts / ai / relay / usage.py RelayUsageServiceProtocol.daily_usage   0 0 1   100%
src / lexigram / contracts / ai / relay / usage.py RelayUsageServiceProtocol.model_rank   0 0 1   100%
src / lexigram / contracts / ai / relay / usage.py RelayUsageServiceProtocol.list_requests   0 0 1   100%
src / lexigram / contracts / ai / relay / usage.py (no function)   19 19 7   0%
src / lexigram / contracts / ai / retrievers.py RetrieverProtocol.retrieve   0 0 1   100%
src / lexigram / contracts / ai / retrievers.py NodePostprocessorProtocol.postprocess   0 0 1   100%
src / lexigram / contracts / ai / retrievers.py (no function)   21 21 4   0%
src / lexigram / contracts / ai / routing.py RoutingStrategyProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / routing.py LLMRouterProtocol.route   0 0 1   100%
src / lexigram / contracts / ai / routing.py LLMRouterProtocol.health_probe   0 0 1   100%
src / lexigram / contracts / ai / routing.py QuotaBackendProtocol.is_exhausted   0 0 1   100%
src / lexigram / contracts / ai / routing.py QuotaBackendProtocol.increment   0 0 1   100%
src / lexigram / contracts / ai / routing.py QuotaBackendProtocol.mark_exhausted   0 0 1   100%
src / lexigram / contracts / ai / routing.py QuotaBackendProtocol.record_error   0 0 1   100%
src / lexigram / contracts / ai / routing.py QuotaBackendProtocol.get_usage   0 0 1   100%
src / lexigram / contracts / ai / routing.py QuotaBackendProtocol.get_all_usage   0 0 1   100%
src / lexigram / contracts / ai / routing.py InferenceLoggerProtocol.log   0 0 1   100%
src / lexigram / contracts / ai / routing.py InferenceLoggerProtocol.get_recent   0 0 1   100%
src / lexigram / contracts / ai / routing.py (no function)   22 22 16   0%
src / lexigram / contracts / ai / runnable.py RunnableProtocol.invoke   0 0 1   100%
src / lexigram / contracts / ai / runnable.py RunnableProtocol.ainvoke   0 0 1   100%
src / lexigram / contracts / ai / runnable.py RunnablePipe.__init__   2 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnablePipe.invoke   1 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnablePipe.ainvoke   1 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnableParallel.__init__   1 1 0   0%
src / lexigram / contracts / ai / runnable.py RunnableParallel.invoke   1 1 0   0%
src / lexigram / contracts / ai / runnable.py RunnableParallel.ainvoke   3 3 0   0%
src / lexigram / contracts / ai / runnable.py RunnableLambda.__init__   1 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnableLambda.invoke   3 1 0   67%
src / lexigram / contracts / ai / runnable.py RunnableLambda.ainvoke   3 1 0   67%
src / lexigram / contracts / ai / runnable.py RunnableChain.__init__   2 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnableChain.invoke   4 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnableChain.ainvoke   4 4 0   0%
src / lexigram / contracts / ai / runnable.py RunnableMap.__init__   5 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnableMap.invoke   5 1 0   80%
src / lexigram / contracts / ai / runnable.py RunnableMap.ainvoke   8 8 0   0%
src / lexigram / contracts / ai / runnable.py RunnableGenerator.__init__   1 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnableGenerator.invoke   3 1 0   67%
src / lexigram / contracts / ai / runnable.py RunnableGenerator.ainvoke   10 3 0   70%
src / lexigram / contracts / ai / runnable.py RunnableWithRetry.__init__   2 0 0   100%
src / lexigram / contracts / ai / runnable.py RunnableWithRetry.invoke   9 3 0   67%
src / lexigram / contracts / ai / runnable.py RunnableWithRetry.ainvoke   11 11 0   0%
src / lexigram / contracts / ai / runnable.py (no function)   48 0 3   100%
src / lexigram / contracts / ai / session.py SessionStoreProtocol.save   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionStoreProtocol.load   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionStoreProtocol.list_sessions   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionStoreProtocol.save_checkpoint   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionStoreProtocol.load_checkpoint   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionStoreProtocol.list_checkpoints   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.create   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.resume   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.add_turn   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.get_state   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.checkpoint   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.restore   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.close   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionManagerProtocol.suspend   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionContextProtocol.session_id   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionContextProtocol.state   0 0 1   100%
src / lexigram / contracts / ai / session.py SessionContextProtocol.get_or_create   0 0 1   100%
src / lexigram / contracts / ai / session.py ContextPrunerProtocol.prune   0 0 1   100%
src / lexigram / contracts / ai / session.py (no function)   93 91 25   2%
src / lexigram / contracts / ai / skills.py SkillProtocol.definition   0 0 1   100%
src / lexigram / contracts / ai / skills.py SkillProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / skills.py SkillProtocol.validate   0 0 1   100%
src / lexigram / contracts / ai / skills.py SkillRegistryProtocol.register   0 0 1   100%
src / lexigram / contracts / ai / skills.py SkillRegistryProtocol.get   0 0 1   100%
src / lexigram / contracts / ai / skills.py SkillRegistryProtocol.list_skills   0 0 1   100%
src / lexigram / contracts / ai / skills.py SkillRegistryProtocol.get_schemas   0 0 1   100%
src / lexigram / contracts / ai / skills.py SkillExecutorProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / skills.py ToolkitProtocol.tools   0 0 1   100%
src / lexigram / contracts / ai / skills.py ToolkitProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / skills.py ToolkitProtocol.description   0 0 1   100%
src / lexigram / contracts / ai / skills.py (no function)   62 62 17   0%
src / lexigram / contracts / ai / thinking.py (no function)   14 14 0   0%
src / lexigram / contracts / ai / tools.py Tool.invoke   3 1 0   67%
src / lexigram / contracts / ai / tools.py Tool.ainvoke   5 5 0   0%
src / lexigram / contracts / ai / tools.py StructuredTool.__init__   3 0 0   100%
src / lexigram / contracts / ai / tools.py StructuredTool.invoke   1 0 0   100%
src / lexigram / contracts / ai / tools.py StructuredTool.ainvoke   3 3 0   0%
src / lexigram / contracts / ai / tools.py tool   2 0 0   100%
src / lexigram / contracts / ai / tools.py tool.decorator   5 0 0   100%
src / lexigram / contracts / ai / tools.py tool.decorator.wrapper   1 1 0   0%
src / lexigram / contracts / ai / tools.py (no function)   19 0 0   100%
src / lexigram / contracts / ai / types.py (no function)   44 44 0   0%
src / lexigram / contracts / ai / vector.py DocumentProtocol.id   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentProtocol.text   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentProtocol.metadata   0 0 1   100%
src / lexigram / contracts / ai / vector.py SearchResultProtocol.text   0 0 1   100%
src / lexigram / contracts / ai / vector.py SearchResultProtocol.document   0 0 1   100%
src / lexigram / contracts / ai / vector.py SearchResultProtocol.score   0 0 1   100%
src / lexigram / contracts / ai / vector.py SearchResultProtocol.metadata   0 0 1   100%
src / lexigram / contracts / ai / vector.py BatchProcessorProtocol.process_batch   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentVectorStoreProtocol.add   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentVectorStoreProtocol.batch_upsert   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentVectorStoreProtocol.search   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentVectorStoreProtocol.search_text   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentVectorStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / ai / vector.py DocumentVectorStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / ai / vector.py ChunkerProtocol.chunk   0 0 1   100%
src / lexigram / contracts / ai / vector.py (no function)   53 53 24   0%
src / lexigram / contracts / ai / workflow.py WorkflowResult.get   1 1 0   0%
src / lexigram / contracts / ai / workflow.py AIWorkflowNodeProtocol.name   0 0 1   100%
src / lexigram / contracts / ai / workflow.py AIWorkflowNodeProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / workflow.py WorkflowProtocol.execute   0 0 1   100%
src / lexigram / contracts / ai / workflow.py (no function)   19 19 7   0%
src / lexigram / contracts / audit / __init__.py (no function)   4 4 0   0%
src / lexigram / contracts / audit / protocols.py AuditLoggerProtocol.log   0 0 1   100%
src / lexigram / contracts / audit / protocols.py AuditLoggerProtocol.query   0 0 1   100%
src / lexigram / contracts / audit / protocols.py AuditStoreProtocol.append   0 0 1   100%
src / lexigram / contracts / audit / protocols.py AuditStoreProtocol.query   0 0 1   100%
src / lexigram / contracts / audit / protocols.py AuditStoreProtocol.count   0 0 1   100%
src / lexigram / contracts / audit / protocols.py AuditStoreProtocol.delete_expired   0 0 1   100%
src / lexigram / contracts / audit / protocols.py AuditVerifierProtocol.verify_recent   0 0 1   100%
src / lexigram / contracts / audit / protocols.py AuditVerifierProtocol.verify_entry   0 0 1   100%
src / lexigram / contracts / audit / protocols.py RetentionPolicyProtocol.evaluate   0 0 1   100%
src / lexigram / contracts / audit / protocols.py RetentionPolicyProtocol.get_expiry   0 0 1   100%
src / lexigram / contracts / audit / protocols.py (no function)   23 23 12   0%
src / lexigram / contracts / audit / types.py (no function)   65 64 0   2%
src / lexigram / contracts / auth / __init__.py (no function)   14 0 0   100%
src / lexigram / contracts / auth / blacklist.py TokenBlacklistProtocol.blacklist   0 0 1   100%
src / lexigram / contracts / auth / blacklist.py TokenBlacklistProtocol.is_blacklisted   0 0 1   100%
src / lexigram / contracts / auth / blacklist.py (no function)   7 0 3   100%
src / lexigram / contracts / auth / exceptions.py AuthError.__init__   1 0 0   100%
src / lexigram / contracts / auth / exceptions.py TokenError.__init__   1 1 0   0%
src / lexigram / contracts / auth / exceptions.py VerificationError.__init__   1 1 0   0%
src / lexigram / contracts / auth / exceptions.py (no function)   13 0 0   100%
src / lexigram / contracts / auth / fingerprint.py generate_device_id   2 2 0   0%
src / lexigram / contracts / auth / fingerprint.py (no function)   7 7 0   0%
src / lexigram / contracts / auth / guard.py AuthenticatorProtocol.authenticate   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.authorize   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.check_access   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.can   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.can_view   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.can_create   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.can_update   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.can_delete   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.can_execute_action   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.set_roles   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.register_role   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.remove_role   0 0 1   100%
src / lexigram / contracts / auth / guard.py AuthorizerProtocol.sync_from_db   0 0 1   100%
src / lexigram / contracts / auth / guard.py (no function)   11 0 21   100%
src / lexigram / contracts / auth / identity.py IdentityResolverProtocol.resolve_user_id   0 0 1   100%
src / lexigram / contracts / auth / identity.py IdentityResolverProtocol.resolve_user_id_sync   0 0 1   100%
src / lexigram / contracts / auth / identity.py (no function)   7 0 3   100%
src / lexigram / contracts / auth / models.py UserIdentityProtocol.user_id   0 0 1   100%
src / lexigram / contracts / auth / models.py UserIdentityProtocol.email   0 0 1   100%
src / lexigram / contracts / auth / models.py UserSession.is_expired   4 0 0   100%
src / lexigram / contracts / auth / models.py (no function)   36 0 5   100%
src / lexigram / contracts / auth / policy.py PolicyStoreProtocol.load_policies   0 0 1   100%
src / lexigram / contracts / auth / policy.py PolicyStoreProtocol.save_policy   0 0 1   100%
src / lexigram / contracts / auth / policy.py PolicyStoreProtocol.delete_policy   0 0 1   100%
src / lexigram / contracts / auth / policy.py PolicyStoreProtocol.get_policy   0 0 1   100%
src / lexigram / contracts / auth / policy.py (no function)   9 0 4   100%
src / lexigram / contracts / auth / protocols.py LoginAttemptTrackerProtocol.is_locked   0 0 1   100%
src / lexigram / contracts / auth / protocols.py LoginAttemptTrackerProtocol.record_failure   0 0 1   100%
src / lexigram / contracts / auth / protocols.py LoginAttemptTrackerProtocol.clear   0 0 1   100%
src / lexigram / contracts / auth / protocols.py PasswordHasherProtocol.hash   0 0 1   100%
src / lexigram / contracts / auth / protocols.py PasswordHasherProtocol.verify   0 0 1   100%
src / lexigram / contracts / auth / protocols.py PasswordHasherProtocol.needs_rehash   0 0 1   100%
src / lexigram / contracts / auth / protocols.py PasswordHasherProtocol.rehash_if_needed   0 0 1   100%
src / lexigram / contracts / auth / protocols.py PasswordPolicyProtocol.validate   0 0 1   100%
src / lexigram / contracts / auth / protocols.py PasswordPolicyProtocol.is_valid   0 0 1   100%
src / lexigram / contracts / auth / protocols.py MFAManagerProtocol.enroll   0 0 1   100%
src / lexigram / contracts / auth / protocols.py MFAManagerProtocol.verify   0 0 1   100%
src / lexigram / contracts / auth / protocols.py MFAManagerProtocol.revoke   0 0 1   100%
src / lexigram / contracts / auth / protocols.py MFAManagerProtocol.list_methods   0 0 1   100%
src / lexigram / contracts / auth / protocols.py MFAManagerProtocol.get_mfa   0 0 1   100%
src / lexigram / contracts / auth / protocols.py AuthProviderProtocol.get_user   0 0 1   100%
src / lexigram / contracts / auth / protocols.py AuthProviderProtocol.verify_token   0 0 1   100%
src / lexigram / contracts / auth / protocols.py AuthProviderProtocol.has_any_role   0 0 1   100%
src / lexigram / contracts / auth / protocols.py AuthProviderProtocol.has_any_permission   0 0 1   100%
src / lexigram / contracts / auth / protocols.py (no function)   32 0 20   100%
src / lexigram / contracts / auth / repositories.py APIKeyRepositoryProtocol.insert   0 0 1   100%
src / lexigram / contracts / auth / repositories.py APIKeyRepositoryProtocol.find_by_prefix   0 0 1   100%
src / lexigram / contracts / auth / repositories.py APIKeyRepositoryProtocol.update_last_used   0 0 1   100%
src / lexigram / contracts / auth / repositories.py APIKeyRepositoryProtocol.revoke   0 0 1   100%
src / lexigram / contracts / auth / repositories.py APIKeyRepositoryProtocol.find_by_user   0 0 1   100%
src / lexigram / contracts / auth / repositories.py SessionRepositoryProtocol.insert   0 0 1   100%
src / lexigram / contracts / auth / repositories.py SessionRepositoryProtocol.find_active   0 0 1   100%
src / lexigram / contracts / auth / repositories.py SessionRepositoryProtocol.find_active_by_user   0 0 1   100%
src / lexigram / contracts / auth / repositories.py SessionRepositoryProtocol.revoke   0 0 1   100%
src / lexigram / contracts / auth / repositories.py SessionRepositoryProtocol.revoke_all   0 0 1   100%
src / lexigram / contracts / auth / repositories.py SessionRepositoryProtocol.update_activity   0 0 1   100%
src / lexigram / contracts / auth / repositories.py (no function)   18 0 13   100%
src / lexigram / contracts / auth / roles.py (no function)   9 0 0   100%
src / lexigram / contracts / auth / store.py UserReaderProtocol.get_by_id   0 0 1   100%
src / lexigram / contracts / auth / store.py UserReaderProtocol.get_by_email   0 0 1   100%
src / lexigram / contracts / auth / store.py UserReaderProtocol.get_by_username   0 0 1   100%
src / lexigram / contracts / auth / store.py UserReaderProtocol.list_users   0 0 1   100%
src / lexigram / contracts / auth / store.py UserReaderProtocol.count_users   0 0 1   100%
src / lexigram / contracts / auth / store.py UserWriterProtocol.create   0 0 1   100%
src / lexigram / contracts / auth / store.py UserWriterProtocol.update   0 0 1   100%
src / lexigram / contracts / auth / store.py UserWriterProtocol.delete   0 0 1   100%
src / lexigram / contracts / auth / store.py (no function)   17 0 12   100%
src / lexigram / contracts / auth / token.py TokenManagerProtocol.create_token   0 0 1   100%
src / lexigram / contracts / auth / token.py TokenManagerProtocol.verify_token   0 0 1   100%
src / lexigram / contracts / auth / token.py TokenManagerProtocol.refresh_token   0 0 1   100%
src / lexigram / contracts / auth / token.py (no function)   20 0 9   100%
src / lexigram / contracts / auth / user.py UserProtocol.user_id   0 0 1   100%
src / lexigram / contracts / auth / user.py UserProtocol.email   0 0 1   100%
src / lexigram / contracts / auth / user.py UserProtocol.is_active   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.user_id   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.name   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.email   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.is_active   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.is_verified   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.roles   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.permissions   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.has_role   0 0 1   100%
src / lexigram / contracts / auth / user.py AuthenticatedUserProtocol.has_permission   0 0 1   100%
src / lexigram / contracts / auth / user.py (no function)   29 0 14   100%
src / lexigram / contracts / cli / __init__.py (no function)   8 0 0   100%
src / lexigram / contracts / cli / contributions.py (no function)   57 0 0   100%
src / lexigram / contracts / cli / generators.py _json_dumps   1 1 0   0%
src / lexigram / contracts / cli / generators.py GeneratorProtocol.generate   0 0 1   100%
src / lexigram / contracts / cli / generators.py (no function)   17 0 2   100%
src / lexigram / contracts / cli / naming.py to_snake_case   1 1 0   0%
src / lexigram / contracts / cli / naming.py to_camel_case   2 2 0   0%
src / lexigram / contracts / cli / naming.py (no function)   5 0 0   100%
src / lexigram / contracts / cli / parsers.py parse_fields   9 9 0   0%
src / lexigram / contracts / cli / parsers.py _parse_field   19 19 0   0%
src / lexigram / contracts / cli / parsers.py _parse_foreign_key   9 9 0   0%
src / lexigram / contracts / cli / parsers.py (no function)   17 0 0   100%
src / lexigram / contracts / cli / protocols.py CliContributorProtocol.contributor_id   0 0 1   100%
src / lexigram / contracts / cli / protocols.py CliContributorProtocol.get_generators   0 0 1   100%
src / lexigram / contracts / cli / protocols.py CliContributorProtocol.get_commands   0 0 1   100%
src / lexigram / contracts / cli / protocols.py CliContributorProtocol.get_health_checks   0 0 1   100%
src / lexigram / contracts / cli / protocols.py CliContributorProtocol.get_doctor_checks   0 0 1   100%
src / lexigram / contracts / cli / protocols.py CliContributorProtocol.get_shell_context   0 0 1   100%
src / lexigram / contracts / cli / protocols.py CliContributorProtocol.get_hooks   0 0 1   100%
src / lexigram / contracts / cli / protocols.py (no function)   13 0 11   100%
src / lexigram / contracts / cli / types.py (no function)   21 0 0   100%
src / lexigram / contracts / codegen / __init__.py (no function)   3 3 0   0%
src / lexigram / contracts / codegen / protocols.py ScaffoldGeneratorProtocol.generate   0 0 1   100%
src / lexigram / contracts / codegen / protocols.py TemplateGeneratorProtocol.generate   0 0 1   100%
src / lexigram / contracts / codegen / protocols.py (no function)   11 11 6   0%
src / lexigram / contracts / core / __init__.py (no function)   30 30 0   0%
src / lexigram / contracts / core / clock.py Duration.seconds   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.minutes   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.hours   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.days   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.zero   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.parse   14 14 0   0%
src / lexigram / contracts / core / clock.py Duration.seconds_value   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.to_timedelta   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.__add__   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.__sub__   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.__mul__   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.__rmul__   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.__eq__   3 3 0   0%
src / lexigram / contracts / core / clock.py Duration.__hash__   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.__lt__   3 3 0   0%
src / lexigram / contracts / core / clock.py Duration.__bool__   1 1 0   0%
src / lexigram / contracts / core / clock.py Duration.__str__   16 16 0   0%
src / lexigram / contracts / core / clock.py ClockProtocol.now   0 0 1   100%
src / lexigram / contracts / core / clock.py ClockProtocol.monotonic   0 0 1   100%
src / lexigram / contracts / core / clock.py ClockProtocol.timestamp   0 0 1   100%
src / lexigram / contracts / core / clock.py ClockProtocol.time   0 0 1   100%
src / lexigram / contracts / core / clock.py (no function)   43 43 5   0%
src / lexigram / contracts / core / concurrency_enums.py (no function)   9 9 0   0%
src / lexigram / contracts / core / concurrency_protocols.py TaskManagerProtocol.create_critical_task   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py TaskManagerProtocol.create_background_task   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py TaskManagerProtocol.shutdown_gracefully   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py TaskManagerProtocol.get_task_counts   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py DispatcherProtocol.run   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py DispatcherProtocol.run_many   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py DispatcherProtocol.shutdown   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py DispatcherProtocol.is_draining   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py DispatcherProtocol.active_task_count   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py ParallelProtocol.execute   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py ChannelProtocol.send   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py ChannelProtocol.receive   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py ChannelProtocol.close   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py ChannelProtocol.closed   0 0 1   100%
src / lexigram / contracts / core / concurrency_protocols.py (no function)   30 30 18   0%
src / lexigram / contracts / core / config.py Environment.from_env   5 5 0   0%
src / lexigram / contracts / core / config.py ConfigProtocol.environment   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.is_production   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.is_development   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.is_testing   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.is_staging   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.is_debug   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.get   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.get_section   0 0 1   100%
src / lexigram / contracts / core / config.py ConfigProtocol.has_section   0 0 1   100%
src / lexigram / contracts / core / config.py (no function)   37 37 10   0%
src / lexigram / contracts / core / constants.py (no function)   52 52 1   0%
src / lexigram / contracts / core / context.py ContextProtocol.register_key   0 0 1   100%
src / lexigram / contracts / core / context.py ContextProtocol.set   0 0 1   100%
src / lexigram / contracts / core / context.py ContextProtocol.get   0 0 1   100%
src / lexigram / contracts / core / context.py ContextProtocol.reset   0 0 1   100%
src / lexigram / contracts / core / context.py ContextProtocol.get_all   0 0 1   100%
src / lexigram / contracts / core / context.py RequestContextProtocol.__init__   0 0 1   100%
src / lexigram / contracts / core / context.py RequestContextProtocol.__enter__   0 0 1   100%
src / lexigram / contracts / core / context.py RequestContextProtocol.__exit__   0 0 1   100%
src / lexigram / contracts / core / context.py (no function)   31 31 12   0%
src / lexigram / contracts / core / di.py ContainerRegistrarProtocol.transient   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerRegistrarProtocol.singleton   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerRegistrarProtocol.singleton   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerRegistrarProtocol.singleton   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerRegistrarProtocol.scoped   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerRegistrarProtocol.has   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerRegistrarProtocol.bind   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.call   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.create_scope   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.has   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve_optional   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve_optional   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve_optional   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve_all   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve_all   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerResolverProtocol.resolve_all   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerValidationProtocol.validate   0 0 1   100%
src / lexigram / contracts / core / di.py ContainerValidationProtocol.validate_no_orphans   0 0 1   100%
src / lexigram / contracts / core / di.py (no function)   27 27 61   0%
src / lexigram / contracts / core / disposable.py AsyncDisposableProtocol.dispose   0 0 1   100%
src / lexigram / contracts / core / disposable.py (no function)   5 5 3   0%
src / lexigram / contracts / core / health.py HealthCheckProtocol.health_check   0 0 1   100%
src / lexigram / contracts / core / health.py HealthCheckResult.to_dict   10 0 0   100%
src / lexigram / contracts / core / health.py HealthCheckResult.is_healthy   1 1 0   0%
src / lexigram / contracts / core / health.py HealthCheckResult.is_degraded   1 1 0   0%
src / lexigram / contracts / core / health.py AggregateHealthResult.status   7 0 0   100%
src / lexigram / contracts / core / health.py AggregateHealthResult.is_healthy   1 0 0   100%
src / lexigram / contracts / core / health.py AggregateHealthResult.to_dict   1 0 0   100%
src / lexigram / contracts / core / health.py HealthCheckAggregatorProtocol.register   0 0 1   100%
src / lexigram / contracts / core / health.py HealthCheckAggregatorProtocol.run_all   0 0 1   100%
src / lexigram / contracts / core / health.py HealthCheckAggregatorProtocol.run_liveness   0 0 1   100%
src / lexigram / contracts / core / health.py HealthCheckAggregatorProtocol.run_readiness   0 0 1   100%
src / lexigram / contracts / core / health.py HealthCheckAggregatorProtocol.run_startup   0 0 1   100%
src / lexigram / contracts / core / health.py (no function)   46 46 10   0%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.register_action   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.register_filter   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.unregister_action   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.unregister_filter   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.call_action   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.apply_filter   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.has_action   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.has_filter   0 0 1   100%
src / lexigram / contracts / core / hooks.py HookRegistryProtocol.clear   0 0 1   100%
src / lexigram / contracts / core / hooks.py (no function)   21 21 12   0%
src / lexigram / contracts / core / idempotency.py IdempotencyStoreProtocol.get   0 0 1   100%
src / lexigram / contracts / core / idempotency.py IdempotencyStoreProtocol.get_record   0 0 1   100%
src / lexigram / contracts / core / idempotency.py IdempotencyStoreProtocol.set   0 0 1   100%
src / lexigram / contracts / core / idempotency.py IdempotencyStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / core / idempotency.py IdempotencyStoreProtocol.acquire   0 0 1   100%
src / lexigram / contracts / core / idempotency.py IdempotencyMiddlewareProtocol.process   0 0 1   100%
src / lexigram / contracts / core / idempotency.py IdempotencyMiddlewareProtocol.ttl   0 0 1   100%
src / lexigram / contracts / core / idempotency.py (no function)   15 15 13   0%
src / lexigram / contracts / core / identity.py IdGeneratorProtocol.strategy   0 0 1   100%
src / lexigram / contracts / core / identity.py IdGeneratorProtocol.generate   0 0 1   100%
src / lexigram / contracts / core / identity.py IdGeneratorProtocol.generate_for   0 0 1   100%
src / lexigram / contracts / core / identity.py (no function)   15 15 4   0%
src / lexigram / contracts / core / invocation.py InvocationHandlerProtocol.handle   0 0 1   100%
src / lexigram / contracts / core / invocation.py InvocationMiddlewareProtocol.__call__   0 0 1   100%
src / lexigram / contracts / core / invocation.py InvocationPipelineProtocol.add   0 0 1   100%
src / lexigram / contracts / core / invocation.py InvocationPipelineProtocol.execute   0 0 1   100%
src / lexigram / contracts / core / invocation.py (no function)   15 15 7   0%
src / lexigram / contracts / core / lifecycle.py OnModuleInitProtocol.on_module_init   0 0 1   100%
src / lexigram / contracts / core / lifecycle.py OnApplicationBootstrapProtocol.on_application_bootstrap   0 0 1   100%
src / lexigram / contracts / core / lifecycle.py OnBeforeShutdownProtocol.on_before_shutdown   0 0 1   100%
src / lexigram / contracts / core / lifecycle.py OnApplicationShutdownProtocol.on_application_shutdown   0 0 1   100%
src / lexigram / contracts / core / lifecycle.py GracefulShutdownProtocol.shutdown   0 0 1   100%
src / lexigram / contracts / core / lifecycle.py OnConfigReloadProtocol.on_config_reload   0 0 1   100%
src / lexigram / contracts / core / lifecycle.py (no function)   21 21 12   0%
src / lexigram / contracts / core / lock.py DistributedLockProtocol.acquire   0 0 1   100%
src / lexigram / contracts / core / lock.py DistributedLockProtocol.acquire_blocking   0 0 1   100%
src / lexigram / contracts / core / lock.py DistributedLockProtocol.release   0 0 1   100%
src / lexigram / contracts / core / lock.py DistributedLockProtocol.is_held   0 0 1   100%
src / lexigram / contracts / core / lock.py DistributedLockProtocol.extend   0 0 1   100%
src / lexigram / contracts / core / lock.py DistributedLockProtocol.__aenter__   0 0 1   100%
src / lexigram / contracts / core / lock.py DistributedLockProtocol.__aexit__   0 0 1   100%
src / lexigram / contracts / core / lock.py LockInfo.is_expired   4 4 0   0%
src / lexigram / contracts / core / lock.py LockInfo.ttl_remaining   4 4 0   0%
src / lexigram / contracts / core / lock.py AsyncLockProtocol.acquire   0 0 1   100%
src / lexigram / contracts / core / lock.py AsyncLockProtocol.release   0 0 1   100%
src / lexigram / contracts / core / lock.py AsyncLockProtocol.locked   0 0 1   100%
src / lexigram / contracts / core / lock.py AsyncLockProtocol.__aenter__   0 0 1   100%
src / lexigram / contracts / core / lock.py AsyncLockProtocol.__aexit__   0 0 1   100%
src / lexigram / contracts / core / lock.py LockManagerProtocol.acquire   0 0 1   100%
src / lexigram / contracts / core / lock.py (no function)   43 43 19   0%
src / lexigram / contracts / core / logging.py LoggerProtocol.debug   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerProtocol.info   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerProtocol.warning   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerProtocol.error   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerProtocol.critical   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerProtocol.exception   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerProtocol.bind   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerProtocol.unbind   0 0 1   100%
src / lexigram / contracts / core / logging.py LoggerFactoryProtocol.get_logger   0 0 1   100%
src / lexigram / contracts / core / logging.py RedactorProtocol.redact_dict   0 0 1   100%
src / lexigram / contracts / core / logging.py RedactorProtocol.redact_value   0 0 1   100%
src / lexigram / contracts / core / logging.py (no function)   14 14 10   0%
src / lexigram / contracts / core / middleware.py MiddlewareProtocol.__call__   0 0 1   100%
src / lexigram / contracts / core / middleware.py ExceptionFilterChainProtocol.add   0 0 1   100%
src / lexigram / contracts / core / middleware.py ExceptionFilterChainProtocol.handle   0 0 1   100%
src / lexigram / contracts / core / middleware.py MiddlewarePipelineProtocol.add   0 0 1   100%
src / lexigram / contracts / core / middleware.py MiddlewarePipelineProtocol.execute   0 0 1   100%
src / lexigram / contracts / core / middleware.py MiddlewarePipelineProtocol.__len__   0 0 1   100%
src / lexigram / contracts / core / middleware.py (no function)   19 19 11   0%
src / lexigram / contracts / core / module.py ModuleMetadataProtocol.name   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleMetadataProtocol.providers   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleMetadataProtocol.imports   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleMetadataProtocol.exports   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleMetadataProtocol.controllers   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleMetadataProtocol.is_global   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleProtocol.__lexigram_module__   0 0 1   100%
src / lexigram / contracts / core / module.py DynamicModuleProtocol.module   0 0 1   100%
src / lexigram / contracts / core / module.py DynamicModuleProtocol.providers   0 0 1   100%
src / lexigram / contracts / core / module.py DynamicModuleProtocol.imports   0 0 1   100%
src / lexigram / contracts / core / module.py DynamicModuleProtocol.exports   0 0 1   100%
src / lexigram / contracts / core / module.py DynamicModuleProtocol.controllers   0 0 1   100%
src / lexigram / contracts / core / module.py DynamicModuleProtocol.is_global   0 0 1   100%
src / lexigram / contracts / core / module.py DynamicModuleProtocol.resolved_name   0 0 1   100%
src / lexigram / contracts / core / module.py CompiledModuleGraphProtocol.provider_order   0 0 1   100%
src / lexigram / contracts / core / module.py CompiledModuleGraphProtocol.global_exports   0 0 1   100%
src / lexigram / contracts / core / module.py CompiledModuleGraphProtocol.warnings   0 0 1   100%
src / lexigram / contracts / core / module.py CompiledModuleGraphProtocol.is_visible   0 0 1   100%
src / lexigram / contracts / core / module.py CompiledModuleGraphProtocol.get_module_names   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleCompilerProtocol.compile   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleRegistryProtocol.register_ownership   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleRegistryProtocol.get_owner   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleRegistryProtocol.get_module_services   0 0 1   100%
src / lexigram / contracts / core / module.py ModuleRegistryProtocol.validate_exports   0 0 1   100%
src / lexigram / contracts / core / module.py (no function)   42 42 39   0%
src / lexigram / contracts / core / provider.py ProviderProtocol.name   0 0 1   100%
src / lexigram / contracts / core / provider.py ProviderProtocol.priority   0 0 1   100%
src / lexigram / contracts / core / provider.py ProviderProtocol.dependencies   0 0 1   100%
src / lexigram / contracts / core / provider.py ProviderProtocol.register   0 0 1   100%
src / lexigram / contracts / core / provider.py ProviderProtocol.boot   0 0 1   100%
src / lexigram / contracts / core / provider.py ProviderProtocol.shutdown   0 0 1   100%
src / lexigram / contracts / core / provider.py ProviderProtocol.on_error   0 0 1   100%
src / lexigram / contracts / core / provider.py (no function)   30 30 11   0%
src / lexigram / contracts / core / registry.py RegistryProtocol.register   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.get   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.resolve   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.has   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.unregister   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.keys   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.values   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.items   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.all_keys   0 0 1   100%
src / lexigram / contracts / core / registry.py RegistryProtocol.clear   0 0 1   100%
src / lexigram / contracts / core / registry.py BackendRegistryProtocol.select   0 0 1   100%
src / lexigram / contracts / core / registry.py BackendRegistryProtocol.register_backend   0 0 1   100%
src / lexigram / contracts / core / registry.py StrategyRegistryProtocol.register_strategy   0 0 1   100%
src / lexigram / contracts / core / registry.py StrategyRegistryProtocol.instantiate   0 0 1   100%
src / lexigram / contracts / core / registry.py (no function)   26 26 19   0%
src / lexigram / contracts / core / result.py UnwrapError.__init__   2 2 0   0%
src / lexigram / contracts / core / result.py Result.is_ok   1 1 0   0%
src / lexigram / contracts / core / result.py Result.is_err   1 1 0   0%
src / lexigram / contracts / core / result.py Result.unwrap   1 1 0   0%
src / lexigram / contracts / core / result.py Result.unwrap_err   1 1 0   0%
src / lexigram / contracts / core / result.py Result.unwrap_or   1 1 0   0%
src / lexigram / contracts / core / result.py Result.unwrap_or_else   1 1 0   0%
src / lexigram / contracts / core / result.py Result.map_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Result.map_err   1 1 0   0%
src / lexigram / contracts / core / result.py Result.and_then_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Result.or_else_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Result.expect   1 1 0   0%
src / lexigram / contracts / core / result.py Result.match   1 1 0   0%
src / lexigram / contracts / core / result.py Result.map   1 1 0   0%
src / lexigram / contracts / core / result.py Result.and_then   1 1 0   0%
src / lexigram / contracts / core / result.py Result.or_else   1 1 0   0%
src / lexigram / contracts / core / result.py Result.flatten   1 1 0   0%
src / lexigram / contracts / core / result.py Result.filter   1 1 0   0%
src / lexigram / contracts / core / result.py Result.ok_or   1 1 0   0%
src / lexigram / contracts / core / result.py Result.from_exception   1 1 0   0%
src / lexigram / contracts / core / result.py Result.to_optional   1 1 0   0%
src / lexigram / contracts / core / result.py Result.inspect   3 3 0   0%
src / lexigram / contracts / core / result.py Result.inspect_err   3 3 0   0%
src / lexigram / contracts / core / result.py Ok.__init__   1 0 0   100%
src / lexigram / contracts / core / result.py Ok.is_ok   1 0 0   100%
src / lexigram / contracts / core / result.py Ok.is_err   1 0 0   100%
src / lexigram / contracts / core / result.py Ok.unwrap   1 0 0   100%
src / lexigram / contracts / core / result.py Ok.unwrap_err   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.unwrap_or   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.unwrap_or_else   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.map_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.map_err   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.and_then_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.or_else_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.expect   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.match   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.map   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.async_map   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.and_then   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.or_else   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.flatten   3 3 0   0%
src / lexigram / contracts / core / result.py Ok.filter   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.ok_or   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.__repr__   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.__eq__   1 1 0   0%
src / lexigram / contracts / core / result.py Ok.__hash__   1 1 0   0%
src / lexigram / contracts / core / result.py Err.__init__   1 0 0   100%
src / lexigram / contracts / core / result.py Err.is_ok   1 0 0   100%
src / lexigram / contracts / core / result.py Err.is_err   1 0 0   100%
src / lexigram / contracts / core / result.py Err.unwrap   1 1 0   0%
src / lexigram / contracts / core / result.py Err.unwrap_err   1 0 0   100%
src / lexigram / contracts / core / result.py Err.unwrap_or   1 1 0   0%
src / lexigram / contracts / core / result.py Err.unwrap_or_else   1 1 0   0%
src / lexigram / contracts / core / result.py Err.map_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Err.map_err   1 1 0   0%
src / lexigram / contracts / core / result.py Err.and_then_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Err.or_else_sync   1 1 0   0%
src / lexigram / contracts / core / result.py Err.expect   1 1 0   0%
src / lexigram / contracts / core / result.py Err.match   1 1 0   0%
src / lexigram / contracts / core / result.py Err.map   1 1 0   0%
src / lexigram / contracts / core / result.py Err.async_map   1 1 0   0%
src / lexigram / contracts / core / result.py Err.and_then   1 1 0   0%
src / lexigram / contracts / core / result.py Err.or_else   1 1 0   0%
src / lexigram / contracts / core / result.py Err.flatten   1 1 0   0%
src / lexigram / contracts / core / result.py Err.filter   1 1 0   0%
src / lexigram / contracts / core / result.py Err.ok_or   1 1 0   0%
src / lexigram / contracts / core / result.py Err.__repr__   1 1 0   0%
src / lexigram / contracts / core / result.py Err.__eq__   1 1 0   0%
src / lexigram / contracts / core / result.py Err.__hash__   1 1 0   0%
src / lexigram / contracts / core / result.py (no function)   88 88 0   0%
src / lexigram / contracts / core / scopes.py (no function)   7 7 0   0%
src / lexigram / contracts / core / serialization.py JsonSerializerProtocol.dumps   0 0 1   100%
src / lexigram / contracts / core / serialization.py JsonSerializerProtocol.loads   0 0 1   100%
src / lexigram / contracts / core / serialization.py AsyncStringSerializerProtocol.serialize   0 0 1   100%
src / lexigram / contracts / core / serialization.py AsyncStringSerializerProtocol.deserialize   0 0 1   100%
src / lexigram / contracts / core / serialization.py SerializerProtocol.serialize   0 0 1   100%
src / lexigram / contracts / core / serialization.py SerializerProtocol.deserialize   0 0 1   100%
src / lexigram / contracts / core / serialization.py (no function)   16 16 9   0%
src / lexigram / contracts / core / stores.py LockStoreProtocol.acquire   0 0 1   100%
src / lexigram / contracts / core / stores.py LockStoreProtocol.release   0 0 1   100%
src / lexigram / contracts / core / stores.py LockStoreProtocol.extend   0 0 1   100%
src / lexigram / contracts / core / stores.py (no function)   8 8 5   0%
src / lexigram / contracts / core / trace_context.py new_trace_id   1 1 0   0%
src / lexigram / contracts / core / trace_context.py new_span_id   1 1 0   0%
src / lexigram / contracts / core / trace_context.py (no function)   9 9 0   0%
src / lexigram / contracts / core / types.py (no function)   18 18 0   0%
src / lexigram / contracts / core / validation.py RuleProtocol.__call__   0 0 1   100%
src / lexigram / contracts / core / validation.py AsyncRuleProtocol.__call__   0 0 1   100%
src / lexigram / contracts / core / validation.py ValidatorProtocol.validate   0 0 1   100%
src / lexigram / contracts / core / validation.py ValidatorProtocol.validate_object   0 0 1   100%
src / lexigram / contracts / core / validation.py (no function)   15 15 7   0%
src / lexigram / contracts / data / __init__.py (no function)   28 28 0   0%
src / lexigram / contracts / data / aggregatable.py AggregatableProtocol.aggregate   0 0 1   100%
src / lexigram / contracts / data / aggregatable.py (no function)   5 5 7   0%
src / lexigram / contracts / data / bulk_operations.py BulkOperationsProtocol.bulk_create   0 0 1   100%
src / lexigram / contracts / data / bulk_operations.py BulkOperationsProtocol.bulk_update   0 0 1   100%
src / lexigram / contracts / data / bulk_operations.py BulkOperationsProtocol.bulk_delete   0 0 1   100%
src / lexigram / contracts / data / bulk_operations.py (no function)   5 5 9   0%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.get_data   0 0 1   100%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.get_record_count   0 0 1   100%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.create   0 0 1   100%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.find_one   0 0 1   100%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.find_many   0 0 1   100%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.update   0 0 1   100%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.delete   0 0 1   100%
src / lexigram / contracts / data / data_source.py DataSourceProtocol.bulk_delete   0 0 1   100%
src / lexigram / contracts / data / data_source.py (no function)   5 5 23   0%
src / lexigram / contracts / data / exceptions.py UnitOfWorkError.__init__   1 1 0   0%
src / lexigram / contracts / data / exceptions.py DataError.__init__   1 0 0   100%
src / lexigram / contracts / data / exceptions.py DataNotFoundError.__init__   4 4 0   0%
src / lexigram / contracts / data / exceptions.py DataValidationError.__init__   4 4 0   0%
src / lexigram / contracts / data / exceptions.py (no function)   17 17 0   0%
src / lexigram / contracts / data / graph / __init__.py __getattr__   8 8 0   0%
src / lexigram / contracts / data / graph / __init__.py __dir__   1 1 0   0%
src / lexigram / contracts / data / graph / __init__.py (no function)   6 6 7   0%
src / lexigram / contracts / data / graph / enums.py (no function)   27 27 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.eq   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.ne   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.gt   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.gte   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.lt   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.lte   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.in_   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.not_in   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.exists   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.contains   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.starts_with   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.ends_with   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.regex   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.and_   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py Prop.or_   1 1 0   0%
src / lexigram / contracts / data / graph / filters.py (no function)   61 0 0   100%
src / lexigram / contracts / data / graph / protocols.py GraphStoreProtocol.connect   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphStoreProtocol.disconnect   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphStoreProtocol.get_graph   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphStoreProtocol.list_graphs   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphStoreProtocol.create_graph   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphStoreProtocol.delete_graph   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.create_node   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.get_node   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.find_nodes   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.update_node   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.delete_node   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.neighbors   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.count_nodes   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.count_edges   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.get_labels   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.get_edge_types   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.create_edge   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.get_edge   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.get_edges   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.update_edge   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.delete_edge   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.traverse   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.shortest_path   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.query   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.bulk_create_nodes   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.bulk_create_edges   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.create_index   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.drop_index   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.create_constraint   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py GraphProtocol.drop_constraint   0 0 1   100%
src / lexigram / contracts / data / graph / protocols.py (no function)   39 39 42   0%
src / lexigram / contracts / data / graph / tenancy.py (no function)   6 6 0   0%
src / lexigram / contracts / data / graph / types.py GraphPath.length   1 0 0   100%
src / lexigram / contracts / data / graph / types.py GraphPath.start_node   1 0 0   100%
src / lexigram / contracts / data / graph / types.py GraphPath.end_node   1 0 0   100%
src / lexigram / contracts / data / graph / types.py (no function)   99 99 2   0%
src / lexigram / contracts / data / identifiers.py Identifier.__init__   10 0 0   100%
src / lexigram / contracts / data / identifiers.py Identifier._quote   3 0 0   100%
src / lexigram / contracts / data / identifiers.py Identifier.name   1 0 0   100%
src / lexigram / contracts / data / identifiers.py Identifier.quoted   1 0 0   100%
src / lexigram / contracts / data / identifiers.py Identifier.dialect   1 1 0   0%
src / lexigram / contracts / data / identifiers.py Identifier.is_reserved   1 0 0   100%
src / lexigram / contracts / data / identifiers.py Identifier.__str__   1 0 0   100%
src / lexigram / contracts / data / identifiers.py Identifier.__repr__   1 0 0   100%
src / lexigram / contracts / data / identifiers.py Identifier.__eq__   3 1 0   67%
src / lexigram / contracts / data / identifiers.py Identifier.__hash__   1 0 0   100%
src / lexigram / contracts / data / identifiers.py QualifiedTable.__init__   2 0 0   100%
src / lexigram / contracts / data / identifiers.py QualifiedTable.schema   1 0 0   100%
src / lexigram / contracts / data / identifiers.py QualifiedTable.table   1 0 0   100%
src / lexigram / contracts / data / identifiers.py QualifiedTable.quoted   1 0 0   100%
src / lexigram / contracts / data / identifiers.py QualifiedTable.__str__   1 0 0   100%
src / lexigram / contracts / data / identifiers.py QualifiedTable.__repr__   1 1 0   0%
src / lexigram / contracts / data / identifiers.py QualifiedTable.__eq__   3 1 0   67%
src / lexigram / contracts / data / identifiers.py QualifiedTable.__hash__   1 1 0   0%
src / lexigram / contracts / data / identifiers.py table   1 0 0   100%
src / lexigram / contracts / data / identifiers.py column   1 0 0   100%
src / lexigram / contracts / data / identifiers.py schema   1 0 0   100%
src / lexigram / contracts / data / identifiers.py (no function)   48 48 0   0%
src / lexigram / contracts / data / nosql / __init__.py __getattr__   8 0 0   100%
src / lexigram / contracts / data / nosql / __init__.py __dir__   1 1 0   0%
src / lexigram / contracts / data / nosql / __init__.py (no function)   6 0 3   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.name   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.insert_one   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.insert_many   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.find_one   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.find   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.update_one   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.update_many   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.delete_one   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.delete_many   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.replace_one   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.find_one_and_update   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.count_documents   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.create_index   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.aggregate   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.list_indexes   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.distinct   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py CollectionProtocol.bulk_write   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.connect   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.disconnect   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.is_connected   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.collection   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.session   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.list_collections   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.drop_collection   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py DocumentStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql.py (no function)   48 48 32   0%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.get   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.list   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.find_by_filter   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.find_by_spec   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.count   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.save   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.delete   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.save_many   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py DocumentRepositoryProtocol.delete_many   0 0 1   100%
src / lexigram / contracts / data / nosql / nosql_repository.py (no function)   15 15 13   0%
src / lexigram / contracts / data / outbox.py OutboxStoreProtocol.append_batch   0 0 1   100%
src / lexigram / contracts / data / outbox.py OutboxStoreProtocol.fetch_pending   0 0 1   100%
src / lexigram / contracts / data / outbox.py OutboxStoreProtocol.mark_delivered   0 0 1   100%
src / lexigram / contracts / data / outbox.py OutboxStoreProtocol.mark_failed   0 0 1   100%
src / lexigram / contracts / data / outbox.py (no function)   10 10 5   0%
src / lexigram / contracts / data / protocols.py QueryFilterProtocol.__init__   0 0 1   100%
src / lexigram / contracts / data / protocols.py FilterCompilerProtocol.compile   0 0 1   100%
src / lexigram / contracts / data / protocols.py CursorCodecProtocol.encode   0 0 1   100%
src / lexigram / contracts / data / protocols.py CursorCodecProtocol.decode   0 0 1   100%
src / lexigram / contracts / data / protocols.py PaginatorProtocol.paginate   0 0 1   100%
src / lexigram / contracts / data / protocols.py (no function)   33 33 12   0%
src / lexigram / contracts / data / relation_loader.py RelationLoaderProtocol.load_relations   0 0 1   100%
src / lexigram / contracts / data / relation_loader.py RelationLoaderProtocol.get_relation_options   0 0 1   100%
src / lexigram / contracts / data / relation_loader.py (no function)   5 5 11   0%
src / lexigram / contracts / data / repository.py ReadOnlyRepositoryProtocol.get   0 0 1   100%
src / lexigram / contracts / data / repository.py ReadOnlyRepositoryProtocol.list   0 0 1   100%
src / lexigram / contracts / data / repository.py ReadOnlyRepositoryProtocol.find_by_spec   0 0 1   100%
src / lexigram / contracts / data / repository.py ReadOnlyRepositoryProtocol.count   0 0 1   100%
src / lexigram / contracts / data / repository.py RepositoryProtocol.save   0 0 1   100%
src / lexigram / contracts / data / repository.py RepositoryProtocol.delete   0 0 1   100%
src / lexigram / contracts / data / repository.py RepositoryProtocol.save_many   0 0 1   100%
src / lexigram / contracts / data / repository.py RepositoryProtocol.delete_many   0 0 1   100%
src / lexigram / contracts / data / repository.py (no function)   16 16 12   0%
src / lexigram / contracts / data / searchable.py SearchableProtocol.search   0 0 1   100%
src / lexigram / contracts / data / searchable.py (no function)   5 5 9   0%
src / lexigram / contracts / data / sql / __init__.py __getattr__   8 0 0   100%
src / lexigram / contracts / data / sql / __init__.py __dir__   1 1 0   0%
src / lexigram / contracts / data / sql / __init__.py (no function)   6 0 9   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogProtocol.append   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogProtocol.read   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogProtocol.read_all   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogProtocol.get_stream_version   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogProtocol.delete_stream   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogProtocol.count   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogSnapshotStore.save_snapshot   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogSnapshotStore.get_snapshot   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py AppendLogSnapshotStore.delete_snapshots   0 0 1   100%
src / lexigram / contracts / data / sql / append_log.py (no function)   18 18 11   0%
src / lexigram / contracts / data / sql / context_protocol.py DatabaseContextProtocol.set_tenant_from_scope   0 0 1   100%
src / lexigram / contracts / data / sql / context_protocol.py DatabaseContextProtocol.reset_tenant   0 0 1   100%
src / lexigram / contracts / data / sql / context_protocol.py (no function)   8 8 3   0%
src / lexigram / contracts / data / sql / database.py QueryResult.__iter__   1 0 0   100%
src / lexigram / contracts / data / sql / database.py QueryResult.__len__   1 0 0   100%
src / lexigram / contracts / data / sql / database.py QueryResult.__bool__   1 0 0   100%
src / lexigram / contracts / data / sql / database.py QueryResult.__getitem__   1 0 0   100%
src / lexigram / contracts / data / sql / database.py ConnectionProtocol.execute   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionProtocol.fetchrow   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionProtocol.close   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionProtocol.fetch   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.connect   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.disconnect   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.is_connected   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.get_primary_pool   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.execute_query   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.execute_insert   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.execute_update   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.execute_delete   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.execute   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.transaction   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.begin_transaction   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.commit_transaction   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.rollback_transaction   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.table_exists   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.health_check   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.scoped_context   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.get_scoped_connection   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.acquire   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseProviderProtocol.release   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.max_connections   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.connection_timeout   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.initialize   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.shutdown   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.get_connection   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.get_pool_stats   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.health_check   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.get_query_stats   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.warm   0 0 1   100%
src / lexigram / contracts / data / sql / database.py ConnectionPoolProtocol.validate_connections   0 0 1   100%
src / lexigram / contracts / data / sql / database.py MigrationManagerProtocol.initialize_migration_table   0 0 1   100%
src / lexigram / contracts / data / sql / database.py MigrationManagerProtocol.get_applied_migrations   0 0 1   100%
src / lexigram / contracts / data / sql / database.py MigrationManagerProtocol.apply_migration   0 0 1   100%
src / lexigram / contracts / data / sql / database.py MigrationManagerProtocol.rollback_migration   0 0 1   100%
src / lexigram / contracts / data / sql / database.py MigrationManagerProtocol.get_pending_migrations   0 0 1   100%
src / lexigram / contracts / data / sql / database.py TransactionManagerProtocol.begin_transaction   0 0 1   100%
src / lexigram / contracts / data / sql / database.py TransactionManagerProtocol.commit_transaction   0 0 1   100%
src / lexigram / contracts / data / sql / database.py TransactionManagerProtocol.rollback_transaction   0 0 1   100%
src / lexigram / contracts / data / sql / database.py SchemaManagerProtocol.table_exists   0 0 1   100%
src / lexigram / contracts / data / sql / database.py CrudOperationsProtocol.execute_query   0 0 1   100%
src / lexigram / contracts / data / sql / database.py CrudOperationsProtocol.execute_insert   0 0 1   100%
src / lexigram / contracts / data / sql / database.py CrudOperationsProtocol.execute_update   0 0 1   100%
src / lexigram / contracts / data / sql / database.py CrudOperationsProtocol.execute_delete   0 0 1   100%
src / lexigram / contracts / data / sql / database.py HealthMonitorProtocol.health_check   0 0 1   100%
src / lexigram / contracts / data / sql / database.py DatabaseMetricsProtocol.get_pool_stats   0 0 1   100%
src / lexigram / contracts / data / sql / database.py (no function)   111 111 71   0%
src / lexigram / contracts / data / sql / mapper.py ReadOnlyMapperProtocol.to_target   0 0 1   100%
src / lexigram / contracts / data / sql / mapper.py ReadOnlyMapperProtocol.to_target_batch   0 0 1   100%
src / lexigram / contracts / data / sql / mapper.py DataMapperProtocol.to_source   0 0 1   100%
src / lexigram / contracts / data / sql / mapper.py DataMapperProtocol.to_source_batch   0 0 1   100%
src / lexigram / contracts / data / sql / mapper.py (no function)   13 13 4   0%
src / lexigram / contracts / data / sql / migrations.py MigrationRunnerProtocol.run_migrations   0 0 1   100%
src / lexigram / contracts / data / sql / migrations.py MigrationRunnerProtocol.rollback   0 0 1   100%
src / lexigram / contracts / data / sql / migrations.py MigrationRunnerProtocol.get_current_version   0 0 1   100%
src / lexigram / contracts / data / sql / migrations.py MigrationRunnerProtocol.get_pending_migrations   0 0 1   100%
src / lexigram / contracts / data / sql / migrations.py (no function)   9 9 5   0%
src / lexigram / contracts / data / sql / query_log.py QueryLoggerProtocol.log_query   0 0 2   100%
src / lexigram / contracts / data / sql / query_log.py QueryLoggerProtocol.get_recent_queries   0 0 1   100%
src / lexigram / contracts / data / sql / query_log.py QueryLoggerProtocol.get_slow_queries   0 0 1   100%
src / lexigram / contracts / data / sql / query_log.py QueryLoggerProtocol.get_query_stats   0 0 1   100%
src / lexigram / contracts / data / sql / query_log.py (no function)   23 23 9   0%
src / lexigram / contracts / data / sql / sql.py InvalidIdentifierError.__init__   2 0 0   100%
src / lexigram / contracts / data / sql / sql.py RawSQL.__init__   1 1 0   0%
src / lexigram / contracts / data / sql / sql.py RawSQL.__str__   1 1 0   0%
src / lexigram / contracts / data / sql / sql.py RawSQL.__repr__   1 1 0   0%
src / lexigram / contracts / data / sql / sql.py (no function)   12 12 0   0%
src / lexigram / contracts / data / sql / sql_dialect.py (no function)   10 10 0   0%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.__aenter__   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.__aexit__   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.commit   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.rollback   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.register_new   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.register_event   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.collect_events   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.register_dirty   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py UnitOfWorkProtocol.register_deleted   0 0 1   100%
src / lexigram / contracts / data / sql / unit_of_work.py (no function)   14 14 13   0%
src / lexigram / contracts / data / timeseries / __init__.py (no function)   3 3 0   0%
src / lexigram / contracts / data / timeseries / protocols.py TimeSeriesStoreProtocol.connect   0 0 1   100%
src / lexigram / contracts / data / timeseries / protocols.py TimeSeriesStoreProtocol.disconnect   0 0 1   100%
src / lexigram / contracts / data / timeseries / protocols.py TimeSeriesStoreProtocol.is_connected   0 0 1   100%
src / lexigram / contracts / data / timeseries / protocols.py TimeSeriesStoreProtocol.insert   0 0 1   100%
src / lexigram / contracts / data / timeseries / protocols.py TimeSeriesStoreProtocol.query   0 0 1   100%
src / lexigram / contracts / data / timeseries / protocols.py TimeSeriesStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / data / timeseries / protocols.py (no function)   11 11 9   0%
src / lexigram / contracts / data / types.py PaginationSpec.offset   1 0 0   100%
src / lexigram / contracts / data / types.py (no function)   72 72 0   0%
src / lexigram / contracts / data / vector / __init__.py __getattr__   8 8 0   0%
src / lexigram / contracts / data / vector / __init__.py __dir__   1 1 0   0%
src / lexigram / contracts / data / vector / __init__.py (no function)   6 6 7   0%
src / lexigram / contracts / data / vector / enums.py (no function)   19 19 0   0%
src / lexigram / contracts / data / vector / exceptions.py (no function)   11 11 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.eq   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.ne   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.gt   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.gte   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.lt   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.lte   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.in_   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.not_in   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.exists   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.contains   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.and_   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py Filter.or_   1 1 0   0%
src / lexigram / contracts / data / vector / filters.py (no function)   52 0 0   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.connect   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.disconnect   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.list_collections   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.create_collection   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.delete_collection   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.collection_exists   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.get_collection   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorStoreProtocol.add_texts   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.name   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.dimension   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.distance_metric   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.upsert   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.search   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.get   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.delete   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.delete_by_filter   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.count   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.update_metadata   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py VectorCollectionProtocol.add_texts   0 0 1   100%
src / lexigram / contracts / data / vector / protocols.py (no function)   30 30 27   0%
src / lexigram / contracts / data / vector / tenancy.py TenantCollectionResolver.resolve   0 0 1   100%
src / lexigram / contracts / data / vector / tenancy.py (no function)   6 6 2   0%
src / lexigram / contracts / data / vector / types.py (no function)   49 49 2   0%
src / lexigram / contracts / domain / __init__.py (no function)   8 8 0   0%
src / lexigram / contracts / domain / aggregates.py AggregateRootProtocol.add_event   0 0 1   100%
src / lexigram / contracts / domain / aggregates.py AggregateRootProtocol.collect_events   0 0 1   100%
src / lexigram / contracts / domain / aggregates.py AggregateRootProtocol.pull_events   0 0 1   100%
src / lexigram / contracts / domain / aggregates.py AggregateRootProtocol.clear_events   0 0 1   100%
src / lexigram / contracts / domain / aggregates.py AggregateRootProtocol.has_uncommitted_events   0 0 1   100%
src / lexigram / contracts / domain / aggregates.py (no function)   11 11 8   0%
src / lexigram / contracts / domain / base.py DomainModelProtocol.model_dump   0 0 1   100%
src / lexigram / contracts / domain / base.py DomainModelProtocol.model_dump_json   0 0 1   100%
src / lexigram / contracts / domain / base.py DomainModelProtocol.model_validate   0 0 1   100%
src / lexigram / contracts / domain / base.py DomainModelProtocol.model_validate_json   0 0 1   100%
src / lexigram / contracts / domain / base.py DomainModelProtocol.model_copy   0 0 1   100%
src / lexigram / contracts / domain / base.py DomainModelProtocol.model_json_schema   0 0 1   100%
src / lexigram / contracts / domain / base.py DomainModelProtocol.__init__   0 0 1   100%
src / lexigram / contracts / domain / base.py (no function)   16 16 8   0%
src / lexigram / contracts / domain / events.py _to_json_safe   5 0 0   100%
src / lexigram / contracts / domain / events.py DomainEvent.__init__   10 1 0   90%
src / lexigram / contracts / domain / events.py DomainEvent.__post_init__   2 0 0   100%
src / lexigram / contracts / domain / events.py DomainEvent.to_dict   1 0 0   100%
src / lexigram / contracts / domain / events.py DomainEvent.from_dict   1 0 0   100%
src / lexigram / contracts / domain / events.py DomainEvent.for_aggregate   1 0 0   100%
src / lexigram / contracts / domain / events.py (no function)   24 23 0   4%
src / lexigram / contracts / domain / idempotency.py (no function)   16 16 2   0%
src / lexigram / contracts / domain / pagination.py OffsetPageProtocol.offset   0 0 1   100%
src / lexigram / contracts / domain / pagination.py OffsetPageProtocol.limit   0 0 1   100%
src / lexigram / contracts / domain / pagination.py CursorPageProtocol.items   0 0 1   100%
src / lexigram / contracts / domain / pagination.py CursorPageProtocol.next_cursor   0 0 1   100%
src / lexigram / contracts / domain / pagination.py CursorPageProtocol.has_more   0 0 1   100%
src / lexigram / contracts / domain / pagination.py CursorPage.to_dict   1 0 0   100%
src / lexigram / contracts / domain / pagination.py (no function)   28 28 7   0%
src / lexigram / contracts / domain / services.py PolicyProtocol.evaluate   0 0 1   100%
src / lexigram / contracts / domain / services.py (no function)   14 0 4   100%
src / lexigram / contracts / domain / specification.py SpecificationProtocol.is_satisfied_by   0 0 1   100%
src / lexigram / contracts / domain / specification.py SpecificationProtocol.__and__   0 0 1   100%
src / lexigram / contracts / domain / specification.py SpecificationProtocol.__or__   0 0 1   100%
src / lexigram / contracts / domain / specification.py SpecificationProtocol.__invert__   0 0 1   100%
src / lexigram / contracts / domain / specification.py (no function)   6 6 6   0%
src / lexigram / contracts / events / __init__.py (no function)   6 6 0   0%
src / lexigram / contracts / events / messages.py MessageSerializerProtocol.serialize   0 0 1   100%
src / lexigram / contracts / events / messages.py MessageSerializerProtocol.deserialize   0 0 1   100%
src / lexigram / contracts / events / messages.py MessageSerializerProtocol.serialize_event   0 0 1   100%
src / lexigram / contracts / events / messages.py MessageSerializerProtocol.deserialize_event   0 0 1   100%
src / lexigram / contracts / events / messages.py MessageMetadata.with_correlation   1 1 0   0%
src / lexigram / contracts / events / messages.py MessageMetadata.with_causation   1 1 0   0%
src / lexigram / contracts / events / messages.py MessageMetadata.with_user   1 1 0   0%
src / lexigram / contracts / events / messages.py MessageMetadata.with_tenant   1 1 0   0%
src / lexigram / contracts / events / messages.py MessageMetadata.with_custom   2 2 0   0%
src / lexigram / contracts / events / messages.py Message.with_metadata   1 1 0   0%
src / lexigram / contracts / events / messages.py Message.with_correlation_id   2 2 0   0%
src / lexigram / contracts / events / messages.py Message.with_causation_id   2 2 0   0%
src / lexigram / contracts / events / messages.py Message.correlation_id   1 1 0   0%
src / lexigram / contracts / events / messages.py Message.causation_id   1 1 0   0%
src / lexigram / contracts / events / messages.py Message.to_dict   1 1 0   0%
src / lexigram / contracts / events / messages.py Message.from_dict   1 1 0   0%
src / lexigram / contracts / events / messages.py Command.__init__   10 10 0   0%
src / lexigram / contracts / events / messages.py (no function)   59 59 7   0%
src / lexigram / contracts / events / outbox.py OutboxEntryProtocol.entry_id   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxEntryProtocol.event   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxEntryProtocol.status   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxEntryProtocol.error   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxBackendProtocol.store_event   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxBackendProtocol.get_pending   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxBackendProtocol.mark_published   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxBackendProtocol.mark_failed   0 0 1   100%
src / lexigram / contracts / events / outbox.py OutboxRelayProtocol.process_pending   0 0 1   100%
src / lexigram / contracts / events / outbox.py (no function)   27 27 10   0%
src / lexigram / contracts / events / protocols.py DomainEventPublisherProtocol.publish   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventHandlerProtocol.handle   0 0 1   100%
src / lexigram / contracts / events / protocols.py MultiEventHandlerProtocol.handles   0 0 1   100%
src / lexigram / contracts / events / protocols.py MultiEventHandlerProtocol.handle   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventBusProtocol.publish   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventBusProtocol.subscribe   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventBusProtocol.unsubscribe   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventMiddlewareProtocol.__call__   0 0 1   100%
src / lexigram / contracts / events / protocols.py CommandHandlerProtocol.handle   0 0 1   100%
src / lexigram / contracts / events / protocols.py CommandBusProtocol.dispatch   0 0 1   100%
src / lexigram / contracts / events / protocols.py QueryHandlerProtocol.handle   0 0 1   100%
src / lexigram / contracts / events / protocols.py QueryBusProtocol.execute   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventStoreProtocol.append   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventStoreProtocol.read   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventStoreProtocol.read_all   0 0 1   100%
src / lexigram / contracts / events / protocols.py SnapshotStoreProtocol.save   0 0 1   100%
src / lexigram / contracts / events / protocols.py SnapshotStoreProtocol.load   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventSourcedReadRepositoryProtocol.get   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventSourcedReadRepositoryProtocol.exists   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventSourcedReadRepositoryProtocol.get_all   0 0 1   100%
src / lexigram / contracts / events / protocols.py EventSourcedRepositoryProtocol.save   0 0 1   100%
src / lexigram / contracts / events / protocols.py AggregateFactoryProtocol.create   0 0 1   100%
src / lexigram / contracts / events / protocols.py ProjectionProtocol.apply   0 0 1   100%
src / lexigram / contracts / events / protocols.py PubSubProtocol.publish   0 0 1   100%
src / lexigram / contracts / events / protocols.py PubSubProtocol.subscribe   0 0 1   100%
src / lexigram / contracts / events / protocols.py PubSubProtocol.unsubscribe   0 0 1   100%
src / lexigram / contracts / events / protocols.py WebhookSignatureVerifierProtocol.verify   0 0 1   100%
src / lexigram / contracts / events / protocols.py WebhookSignatureVerifierProtocol.compute_signature   0 0 1   100%
src / lexigram / contracts / events / protocols.py (no function)   75 75 55   0%
src / lexigram / contracts / events / version_skew.py (no function)   26 26 0   0%
src / lexigram / contracts / exceptions / __init__.py (no function)   15 15 0   0%
src / lexigram / contracts / exceptions / base.py LexigramError.__init__   6 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.__repr__   1 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.docs_url   1 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.__str__   6 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.to_dict   6 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.with_details   2 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.with_hint   2 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.with_cause   3 0 0   100%
src / lexigram / contracts / exceptions / base.py LexigramError.format   13 1 0   92%
src / lexigram / contracts / exceptions / base.py (no function)   15 15 0   0%
src / lexigram / contracts / exceptions / components.py ComponentError.__init__   8 8 0   0%
src / lexigram / contracts / exceptions / components.py ComponentConnectionError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / components.py KeyNotFoundError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / components.py KeyExistsError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / components.py PubSubError.__init__   5 5 0   0%
src / lexigram / contracts / exceptions / components.py SecretNotFoundError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / components.py LockAcquisitionError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / components.py LockNotHeldError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / components.py DriverNotAvailableError.__init__   3 3 0   0%
src / lexigram / contracts / exceptions / components.py (no function)   31 31 0   0%
src / lexigram / contracts / exceptions / config.py _redact_value   6 6 0   0%
src / lexigram / contracts / exceptions / config.py ConfigurationError.__init__   3 3 0   0%
src / lexigram / contracts / exceptions / config.py ConfigurationError.from_validation_error   23 23 0   0%
src / lexigram / contracts / exceptions / config.py ConfigurationError.from_issues   4 4 0   0%
src / lexigram / contracts / exceptions / config.py (no function)   16 16 2   0%
src / lexigram / contracts / exceptions / container.py ContainerError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / container.py DependencyError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / container.py CircularDependencyError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / container.py UnresolvableDependencyError.__init__   6 6 0   0%
src / lexigram / contracts / exceptions / container.py RegistrationError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / container.py ContainerBuildError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / container.py ProtocolValidationError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / container.py ContainerValidationError.__init__   5 5 0   0%
src / lexigram / contracts / exceptions / container.py ScopedResolutionError.__init__   5 5 0   0%
src / lexigram / contracts / exceptions / container.py (no function)   40 40 0   0%
src / lexigram / contracts / exceptions / domain.py DomainError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py NotFoundError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py PermissionDeniedError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py AuthenticationError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py AuthorizationError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py RateLimitError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py ConflictError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py SerializationError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py MappingError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py WebError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / domain.py FieldError.__init__   5 0 0   100%
src / lexigram / contracts / exceptions / domain.py FieldError.__repr__   1 1 0   0%
src / lexigram / contracts / exceptions / domain.py ValidationError.__init__   3 0 0   100%
src / lexigram / contracts / exceptions / domain.py ValidationError.errors   2 0 0   100%
src / lexigram / contracts / exceptions / domain.py ValidationError.add_error   4 0 0   100%
src / lexigram / contracts / exceptions / domain.py (no function)   44 44 0   0%
src / lexigram / contracts / exceptions / events.py EventError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / events.py HandlerNotFoundError.__init__   7 7 0   0%
src / lexigram / contracts / exceptions / events.py DuplicateHandlerError.__init__   5 5 0   0%
src / lexigram / contracts / exceptions / events.py (no function)   13 13 0   0%
src / lexigram / contracts / exceptions / execution.py PipelineExecutionError.__init__   4 4 0   0%
src / lexigram / contracts / exceptions / execution.py PipelineStepError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / execution.py (no function)   10 10 0   0%
src / lexigram / contracts / exceptions / feature_flags.py FeatureFlagError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / feature_flags.py (no function)   7 7 0   0%
src / lexigram / contracts / exceptions / idempotency.py DuplicateRequestError.__init__   4 4 0   0%
src / lexigram / contracts / exceptions / idempotency.py (no function)   12 12 0   0%
src / lexigram / contracts / exceptions / infra.py InfrastructureError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / infra.py DatabaseError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / infra.py MigrationError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / infra.py LockError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / infra.py LockConflictError.__init__   7 0 0   100%
src / lexigram / contracts / exceptions / infra.py RegistryError.__init__   1 0 0   100%
src / lexigram / contracts / exceptions / infra.py RegistryKeyError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / infra.py RegistryAlreadyExistsError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / infra.py IntegrityError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / infra.py ConstraintError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / infra.py DuplicateKeyError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / infra.py (no function)   39 39 0   0%
src / lexigram / contracts / exceptions / middleware.py MiddlewareGuardError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / middleware.py (no function)   7 7 0   0%
src / lexigram / contracts / exceptions / provider.py ProviderError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / provider.py ModuleError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / provider.py ModuleImportError.__init__   8 8 0   0%
src / lexigram / contracts / exceptions / provider.py ModuleExportError.__init__   8 8 0   0%
src / lexigram / contracts / exceptions / provider.py ModuleCycleError.__init__   4 4 0   0%
src / lexigram / contracts / exceptions / provider.py ModuleVisibilityError.__init__   8 8 0   0%
src / lexigram / contracts / exceptions / provider.py ModuleDuplicateError.__init__   4 4 0   0%
src / lexigram / contracts / exceptions / provider.py (no function)   25 25 0   0%
src / lexigram / contracts / exceptions / resilience.py ResilienceError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / resilience.py RetryError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / resilience.py CircuitBreakerError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / resilience.py BulkheadError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / resilience.py FallbackError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / resilience.py RetryExhaustedError.__init__   5 5 0   0%
src / lexigram / contracts / exceptions / resilience.py CircuitOpenError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / resilience.py (no function)   25 25 0   0%
src / lexigram / contracts / exceptions / security.py SecurityError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / security.py GuardDeniedError.__init__   3 3 0   0%
src / lexigram / contracts / exceptions / security.py InputSanitizationError.__init__   1 1 0   0%
src / lexigram / contracts / exceptions / security.py CORSViolationError.__init__   2 2 0   0%
src / lexigram / contracts / exceptions / security.py SecretAccessError.__init__   6 6 0   0%
src / lexigram / contracts / exceptions / security.py (no function)   19 19 0   0%
src / lexigram / contracts / feature_flags / __init__.py (no function)   5 0 0   100%
src / lexigram / contracts / feature_flags / models.py (no function)   21 0 0   100%
src / lexigram / contracts / feature_flags / protocols.py FlagProviderProtocol.get_flag   0 0 6   100%
src / lexigram / contracts / feature_flags / protocols.py FlagProviderProtocol.get_flag_sync   0 0 5   100%
src / lexigram / contracts / feature_flags / protocols.py FlagProviderProtocol.get_variant   0 0 5   100%
src / lexigram / contracts / feature_flags / protocols.py FlagProviderProtocol.get_variant_sync   0 0 5   100%
src / lexigram / contracts / feature_flags / protocols.py MutableFlagProviderProtocol.set_flag   0 0 6   100%
src / lexigram / contracts / feature_flags / protocols.py MutableFlagProviderProtocol.set_flag_sync   0 0 5   100%
src / lexigram / contracts / feature_flags / protocols.py MutableFlagProviderProtocol.set_variant   0 0 4   100%
src / lexigram / contracts / feature_flags / protocols.py MutableFlagProviderProtocol.set_variant_sync   0 0 5   100%
src / lexigram / contracts / feature_flags / protocols.py FlagManagerProtocol.add_provider   0 0 1   100%
src / lexigram / contracts / feature_flags / protocols.py FlagManagerProtocol.is_enabled   0 0 1   100%
src / lexigram / contracts / feature_flags / protocols.py FlagManagerProtocol.get_value   0 0 1   100%
src / lexigram / contracts / feature_flags / protocols.py FlagManagerProtocol.evaluate   0 0 1   100%
src / lexigram / contracts / feature_flags / protocols.py FlagManagerProtocol.get_all_flags   0 0 1   100%
src / lexigram / contracts / feature_flags / protocols.py (no function)   14 0 54   100%
src / lexigram / contracts / graphql / __init__.py (no function)   4 0 0   100%
src / lexigram / contracts / graphql / protocols.py GraphQLExecutorProtocol.execute   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SchemaBuilderProtocol.add_type   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SchemaBuilderProtocol.query   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SchemaBuilderProtocol.mutation   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SchemaBuilderProtocol.subscription   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SchemaBuilderProtocol.add_extension   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SchemaBuilderProtocol.add_dataloader   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SchemaBuilderProtocol.build   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py DataLoaderProtocol.load   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py DataLoaderProtocol.load_many   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py DataLoaderProtocol.prime   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py ResolverProtocol.resolve   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py EntityResolverProtocol.resolve_reference   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py ValidationRuleProtocol.validate   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SubscriptionHandlerProtocol.subscribe   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py SubscriptionAuthHandlerProtocol.authorize   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py WebSocketTransportProtocol.handle   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py MutationHandlerProtocol.mutate   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py DirectiveHandlerProtocol.apply_directive   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py ErrorFormatterProtocol.format_error   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py GraphQLRequestProtocol.json   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py IntrospectionHandlerProtocol.introspect   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py GraphQLPrincipalResolverProtocol.resolve_principal   0 0 1   100%
src / lexigram / contracts / graphql / protocols.py (no function)   63 0 43   100%
src / lexigram / contracts / graphql / types.py (no function)   10 0 0   100%
src / lexigram / contracts / infra / __init__.py (no function)   9 9 0   0%
src / lexigram / contracts / infra / cache / __init__.py (no function)   5 5 0   0%
src / lexigram / contracts / infra / cache / exceptions.py CacheError.__init__   1 0 0   100%
src / lexigram / contracts / infra / cache / exceptions.py CacheKeyNotFoundError.__init__   3 3 0   0%
src / lexigram / contracts / infra / cache / exceptions.py CacheWriteError.__init__   4 4 0   0%
src / lexigram / contracts / infra / cache / exceptions.py (no function)   13 13 0   0%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.get   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.set   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.delete   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.delete_many   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.delete_pattern   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.exists   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.clear   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.get_many   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.set_many   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheBackendProtocol.health_check   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheProtectionStrategyProtocol.acquire_lock   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheProtectionStrategyProtocol.release_lock   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheProtectionStrategyProtocol.wait_for_value   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheKeyBuilderProtocol.build_key   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py CacheHealthCheckerProtocol.health_check   0 0 1   100%
src / lexigram / contracts / infra / cache / protocols.py (no function)   29 29 23   0%
src / lexigram / contracts / infra / resilience / __init__.py (no function)   6 6 0   0%
src / lexigram / contracts / infra / resilience / enums.py (no function)   11 11 0   0%
src / lexigram / contracts / infra / resilience / exceptions.py (no function)   3 3 0   0%
src / lexigram / contracts / infra / resilience / models.py (no function)   34 34 2   0%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerProtocol.state   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerProtocol.call   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerProtocol.protect   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerProtocol.reset   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerProtocol.force_open   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py RetryPolicyProtocol.execute   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py BulkheadProtocol.__aenter__   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py BulkheadProtocol.__aexit__   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ResiliencePipelineProtocol.add   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ResiliencePipelineProtocol.execute   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ResiliencePipelineFactoryProtocol.__call__   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerRegistryProtocol.get   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerRegistryProtocol.get_or_create   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py CircuitBreakerRegistryProtocol.list_breakers   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ThrottlerProtocol.acquire   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ThrottlerProtocol.try_acquire   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ThrottlerProtocol.get_stats   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py RateLimiterProtocol.acquire   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py RateLimiterProtocol.try_acquire   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py RateLimiterProtocol.get_stats   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ResilienceFallbackProtocol.add   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py ResilienceFallbackProtocol.execute   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py TimeoutProtocol.execute_with_timeout   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py TimeoutProtocol.default_timeout   0 0 1   100%
src / lexigram / contracts / infra / resilience / protocols.py (no function)   51 51 34   0%
src / lexigram / contracts / infra / resources.py PoolProtocol.get_stats   0 0 1   100%
src / lexigram / contracts / infra / resources.py PoolProtocol.close   0 0 1   100%
src / lexigram / contracts / infra / resources.py PoolManagerProtocol.get_stats   0 0 1   100%
src / lexigram / contracts / infra / resources.py PoolManagerProtocol.get_pool   0 0 1   100%
src / lexigram / contracts / infra / resources.py (no function)   16 16 8   0%
src / lexigram / contracts / infra / state.py StateStoreProtocol.get   0 0 1   100%
src / lexigram / contracts / infra / state.py StateStoreProtocol.set   0 0 1   100%
src / lexigram / contracts / infra / state.py StateStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / infra / state.py StateStoreProtocol.exists   0 0 1   100%
src / lexigram / contracts / infra / state.py StateStoreProtocol.expire   0 0 1   100%
src / lexigram / contracts / infra / state.py StateStoreProtocol.ttl   0 0 1   100%
src / lexigram / contracts / infra / state.py StateStoreProtocol.get_many   0 0 1   100%
src / lexigram / contracts / infra / state.py StateStoreProtocol.set_many   0 0 1   100%
src / lexigram / contracts / infra / state.py (no function)   13 13 9   0%
src / lexigram / contracts / infra / storage / __init__.py (no function)   6 6 0   0%
src / lexigram / contracts / infra / storage / exceptions.py (no function)   7 7 0   0%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.storage_type   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.connect   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.disconnect   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.get   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.set   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.delete   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.exists   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.list_keys   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.clear   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py StorageBackendProtocol.health_check   0 0 1   100%
src / lexigram / contracts / infra / storage / kv.py (no function)   24 24 13   0%
src / lexigram / contracts / infra / storage / models.py UploadOptions.__post_init__   2 2 0   0%
src / lexigram / contracts / infra / storage / models.py (no function)   22 22 2   0%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.upload   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.download   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.stream   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.exists   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.info   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.list   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.get_url   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.get_presigned_url   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py BlobStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py StorageDriverProtocol.copy   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py StorageDriverProtocol.move   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py StorageDriverProtocol.copy_batch   0 0 1   100%
src / lexigram / contracts / infra / storage / protocols.py (no function)   25 25 18   0%
src / lexigram / contracts / infra / streams.py _StoredStreamError.__init__   2 2 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.__init__   1 0 0   100%
src / lexigram / contracts / infra / streams.py _StreamOk.is_ok   1 0 0   100%
src / lexigram / contracts / infra / streams.py _StreamOk.is_err   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.unwrap   1 0 0   100%
src / lexigram / contracts / infra / streams.py _StreamOk.unwrap_err   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.unwrap_or   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.unwrap_or_else   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.map_sync   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.map_err   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.and_then_sync   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.or_else_sync   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.expect   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.match   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.map   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.and_then   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.or_else   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.flatten   3 3 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.filter   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamOk.ok_or   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.__init__   1 0 0   100%
src / lexigram / contracts / infra / streams.py _StreamErr.is_ok   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.is_err   1 0 0   100%
src / lexigram / contracts / infra / streams.py _StreamErr.unwrap   3 3 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.unwrap_err   1 0 0   100%
src / lexigram / contracts / infra / streams.py _StreamErr.unwrap_or   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.unwrap_or_else   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.map_sync   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.map_err   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.and_then_sync   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.or_else_sync   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.expect   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.match   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.map   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.and_then   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.or_else   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.flatten   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.filter   1 1 0   0%
src / lexigram / contracts / infra / streams.py _StreamErr.ok_or   1 1 0   0%
src / lexigram / contracts / infra / streams.py AsyncStream.__init__   4 0 0   100%
src / lexigram / contracts / infra / streams.py AsyncStream.error   1 1 0   0%
src / lexigram / contracts / infra / streams.py AsyncStream.failed   1 1 0   0%
src / lexigram / contracts / infra / streams.py AsyncStream.__aiter__   1 0 0   100%
src / lexigram / contracts / infra / streams.py AsyncStream._iterate   13 1 0   92%
src / lexigram / contracts / infra / streams.py AsyncStream.collect   6 0 0   100%
src / lexigram / contracts / infra / streams.py AsyncStream.first   5 5 0   0%
src / lexigram / contracts / infra / streams.py AsyncStream.map   2 0 0   100%
src / lexigram / contracts / infra / streams.py AsyncStream.map._generator   3 1 0   67%
src / lexigram / contracts / infra / streams.py AsyncStream.filter   2 0 0   100%
src / lexigram / contracts / infra / streams.py AsyncStream.filter._generator   4 1 0   75%
src / lexigram / contracts / infra / streams.py AsyncStream.take   2 0 0   100%
src / lexigram / contracts / infra / streams.py AsyncStream.take._generator   9 2 0   78%
src / lexigram / contracts / infra / streams.py AsyncStream.drain   5 5 0   0%
src / lexigram / contracts / infra / streams.py AsyncStream._coerce_error   3 1 0   67%
src / lexigram / contracts / infra / streams.py AsyncStream._raise_if_failed   2 2 0   0%
src / lexigram / contracts / infra / streams.py (no function)   69 69 0   0%
src / lexigram / contracts / infra / tasks / __init__.py (no function)   6 6 0   0%
src / lexigram / contracts / infra / tasks / enums.py (no function)   14 14 0   0%
src / lexigram / contracts / infra / tasks / exceptions.py (no function)   5 5 0   0%
src / lexigram / contracts / infra / tasks / progress.py ProgressSnapshot.percent   3 3 0   0%
src / lexigram / contracts / infra / tasks / progress.py ProgressTrackerProtocol.update   0 0 1   100%
src / lexigram / contracts / infra / tasks / progress.py ProgressTrackerProtocol.complete   0 0 1   100%
src / lexigram / contracts / infra / tasks / progress.py ProgressTrackerProtocol.fail   0 0 1   100%
src / lexigram / contracts / infra / tasks / progress.py ProgressTrackerProtocol.get   0 0 1   100%
src / lexigram / contracts / infra / tasks / progress.py ProgressTrackerProtocol.subscribe   0 0 1   100%
src / lexigram / contracts / infra / tasks / progress.py (no function)   28 28 6   0%
src / lexigram / contracts / infra / tasks / protocols.py TaskManagerProtocol.track   0 0 0   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskManagerProtocol.track_named   0 0 0   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskManagerProtocol.pending_count   0 0 0   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskManagerProtocol.shutdown   0 0 0   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.enqueue   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.dequeue   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.get_task_count   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.clear   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.get_job   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.delete_job   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.count   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.ack   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.nack   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskQueueProtocol.close   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskExecutorProtocol.execute   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskExecutorProtocol.register_handler   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskExecutorProtocol.get_handler   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.register   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.boot   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.shutdown   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.health_check   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.register_handler   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.register_scheduled_task   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.enqueue_job   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.schedule_job   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.unschedule_job   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.get_worker_stats   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskProviderProtocol.get_scheduled_jobs   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskWorkerProtocol.__init__   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskWorkerProtocol.start   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py TaskWorkerProtocol.stop   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py DLQProtocol.add   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py DLQProtocol.get   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py DLQProtocol.retry   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py DLQProtocol.purge   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py DLQProtocol.clear   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py DLQProtocol.size   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py DLQProtocol.list_failed   0 0 1   100%
src / lexigram / contracts / infra / tasks / protocols.py (no function)   78 78 44   0%
src / lexigram / contracts / lib / __init__.py (no function)   3 0 0   100%
src / lexigram / contracts / lib / time.py utcnow   1 0 0   100%
src / lexigram / contracts / lib / time.py (no function)   4 0 0   100%
src / lexigram / contracts / lifecycle / __init__.py (no function)   7 0 0   100%
src / lexigram / contracts / lifecycle / auditable.py AuditableProtocol.log_operation   0 0 1   100%
src / lexigram / contracts / lifecycle / auditable.py AuditableProtocol.get_audit_log   0 0 1   100%
src / lexigram / contracts / lifecycle / auditable.py (no function)   5 0 14   100%
src / lexigram / contracts / lifecycle / cache_aware.py CacheAwareProtocol.invalidate_cache   0 0 1   100%
src / lexigram / contracts / lifecycle / cache_aware.py CacheAwareProtocol.get_cache_info   0 0 1   100%
src / lexigram / contracts / lifecycle / cache_aware.py (no function)   5 0 7   100%
src / lexigram / contracts / lifecycle / exportable.py ExportableProtocol.export_data   0 0 1   100%
src / lexigram / contracts / lifecycle / exportable.py ExportableProtocol.get_supported_formats   0 0 1   100%
src / lexigram / contracts / lifecycle / exportable.py (no function)   5 0 8   100%
src / lexigram / contracts / lifecycle / transactional.py TransactionalProtocol.begin_transaction   0 0 1   100%
src / lexigram / contracts / lifecycle / transactional.py TransactionalProtocol.commit_transaction   0 0 1   100%
src / lexigram / contracts / lifecycle / transactional.py TransactionalProtocol.rollback_transaction   0 0 1   100%
src / lexigram / contracts / lifecycle / transactional.py (no function)   5 0 5   100%
src / lexigram / contracts / lifecycle / validatable.py ValidatableProtocol.validate_record   0 0 1   100%
src / lexigram / contracts / lifecycle / validatable.py ValidatableProtocol.get_validation_rules   0 0 1   100%
src / lexigram / contracts / lifecycle / validatable.py (no function)   5 0 7   100%
src / lexigram / contracts / mailer / __init__.py (no function)   5 0 0   100%
src / lexigram / contracts / mailer / errors.py MailerError.__init__   3 3 0   0%
src / lexigram / contracts / mailer / errors.py (no function)   7 0 0   100%
src / lexigram / contracts / mailer / protocols.py MailerProtocol.send   0 0 1   100%
src / lexigram / contracts / mailer / protocols.py MailerProtocol.health_check   0 0 1   100%
src / lexigram / contracts / mailer / protocols.py (no function)   7 0 8   100%
src / lexigram / contracts / mailer / types.py _reject_crlf   2 0 0   100%
src / lexigram / contracts / mailer / types.py EmailMessage.__post_init__   11 0 0   100%
src / lexigram / contracts / mailer / types.py MessageAddress.__str__   3 0 0   100%
src / lexigram / contracts / mailer / types.py (no function)   57 0 2   100%
src / lexigram / contracts / mapping / __init__.py (no function)   3 3 0   0%
src / lexigram / contracts / mapping / protocols.py ObjectMapperProtocol.map   0 0 1   100%
src / lexigram / contracts / mapping / protocols.py ObjectMapperProtocol.register   0 0 1   100%
src / lexigram / contracts / mapping / protocols.py (no function)   9 9 3   0%
src / lexigram / contracts / mcp / __init__.py (no function)   4 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPError.__init__   1 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPTransportError.__init__   4 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPToolCallError.__init__   4 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPResourceError.__init__   4 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPProtocolError.__init__   1 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPMethodNotFoundError.__init__   4 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPPromptError.__init__   4 0 0   100%
src / lexigram / contracts / mcp / exceptions.py MCPInitializationError.__init__   4 0 0   100%
src / lexigram / contracts / mcp / exceptions.py (no function)   28 0 0   100%
src / lexigram / contracts / mcp / protocols.py MCPToolProviderProtocol.list_tools   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPToolProviderProtocol.call_tool   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPResourceProviderProtocol.list_resources   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPResourceProviderProtocol.read_resource   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPPromptProviderProtocol.list_prompts   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPPromptProviderProtocol.get_prompt   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPTransportProtocol.start   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPTransportProtocol.stop   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPServerProtocol.handle_message   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPToolHandlerProtocol.list_tools   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPToolHandlerProtocol.call_tool   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPResourceHandlerProtocol.list_resources   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPResourceHandlerProtocol.read_resource   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPResourceHandlerProtocol.list_templates   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPPromptHandlerProtocol.list_prompts   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPPromptHandlerProtocol.get_prompt   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py MCPAuthorizerProtocol.authorize   0 0 1   100%
src / lexigram / contracts / mcp / protocols.py (no function)   38 0 26   100%
src / lexigram / contracts / monitor / __init__.py (no function)   3 3 0   0%
src / lexigram / contracts / monitor / projection_tier.py (no function)   7 7 0   0%
src / lexigram / contracts / multimedia / __init__.py (no function)   6 0 0   100%
src / lexigram / contracts / multimedia / exceptions.py MultimediaError.__init__   1 0 0   100%
src / lexigram / contracts / multimedia / exceptions.py (no function)   21 0 0   100%
src / lexigram / contracts / multimedia / protocols.py TTSProvider.generate   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py InterpolationProvider.interpolate   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py MusicProvider.generate   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py VideoProvider.generate   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py VideoProcessor.process   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py VideoProcessor.extract_frames   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py VideoProcessor.assemble_frames   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py BeatAnalysisProvider.analyze   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py ImageProvider.generate   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py UpscaleProvider.upscale   0 0 1   100%
src / lexigram / contracts / multimedia / protocols.py (no function)   20 0 45   100%
src / lexigram / contracts / multimedia / security.py asset_bytes_ok   1 0 0   100%
src / lexigram / contracts / multimedia / security.py assert_media_mime_allowed   2 0 0   100%
src / lexigram / contracts / multimedia / security.py (no function)   6 0 0   100%
src / lexigram / contracts / multimedia / types.py MediaAsset.has_bytes   1 0 0   100%
src / lexigram / contracts / multimedia / types.py MediaAsset.has_uri   1 0 0   100%
src / lexigram / contracts / multimedia / types.py (no function)   197 0 0   100%
src / lexigram / contracts / notification / __init__.py (no function)   8 0 0   100%
src / lexigram / contracts / notification / delivery.py DeliveryStoreProtocol.record_attempt   0 0 1   100%
src / lexigram / contracts / notification / delivery.py DeliveryStoreProtocol.create_pending   0 0 1   100%
src / lexigram / contracts / notification / delivery.py DeliveryStoreProtocol.mark_delivered   0 0 1   100%
src / lexigram / contracts / notification / delivery.py DeliveryStoreProtocol.get_retry_count   0 0 1   100%
src / lexigram / contracts / notification / delivery.py DeliveryStoreProtocol.increment_retry   0 0 1   100%
src / lexigram / contracts / notification / delivery.py DeliveryStoreProtocol.schedule_retry   0 0 1   100%
src / lexigram / contracts / notification / delivery.py DeliveryStoreProtocol.mark_failed   0 0 1   100%
src / lexigram / contracts / notification / delivery.py (no function)   18 0 8   100%
src / lexigram / contracts / notification / errors.py NotificationError.__init__   4 4 0   0%
src / lexigram / contracts / notification / errors.py (no function)   7 0 0   100%
src / lexigram / contracts / notification / inbox.py InboxMessage.create   1 1 0   0%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.save   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.get   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.list_for_user   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.mark_read   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.mark_all_read   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.count_unread   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.clear_all   0 0 1   100%
src / lexigram / contracts / notification / inbox.py InboxStoreProtocol.health_check   0 0 1   100%
src / lexigram / contracts / notification / inbox.py (no function)   29 0 12   100%
src / lexigram / contracts / notification / protocols.py SMSChannelProtocol.send   0 0 1   100%
src / lexigram / contracts / notification / protocols.py SMSChannelProtocol.health_check   0 0 1   100%
src / lexigram / contracts / notification / protocols.py PushChannelProtocol.send   0 0 1   100%
src / lexigram / contracts / notification / protocols.py PushChannelProtocol.send_batch   0 0 1   100%
src / lexigram / contracts / notification / protocols.py PushChannelProtocol.health_check   0 0 1   100%
src / lexigram / contracts / notification / protocols.py (no function)   12 0 13   100%
src / lexigram / contracts / notification / types.py (no function)   20 0 0   100%
src / lexigram / contracts / notification / web_push.py (no function)   12 0 0   100%
src / lexigram / contracts / observability / __init__.py (no function)   6 6 0   0%
src / lexigram / contracts / observability / ai.py ObservabilityProtocol.record_generation   0 0 1   100%
src / lexigram / contracts / observability / ai.py ObservabilityProtocol.start_trace   0 0 1   100%
src / lexigram / contracts / observability / ai.py ObservabilityProtocol.end_trace   0 0 1   100%
src / lexigram / contracts / observability / ai.py AITracerProtocol.trace_llm_call   0 0 1   100%
src / lexigram / contracts / observability / ai.py AIMetricsProtocol.record_completion   0 0 1   100%
src / lexigram / contracts / observability / ai.py AIMetricsProtocol.record_error   0 0 1   100%
src / lexigram / contracts / observability / ai.py AIHealthMonitorProtocol.check   0 0 1   100%
src / lexigram / contracts / observability / ai.py AIHealthMonitorProtocol.register_check   0 0 1   100%
src / lexigram / contracts / observability / ai.py (no function)   26 26 12   0%
src / lexigram / contracts / observability / audit.py AuditVerifierSchedulerProtocol.register_handler   0 0 1   100%
src / lexigram / contracts / observability / audit.py AuditVerifierSchedulerProtocol.schedule   0 0 1   100%
src / lexigram / contracts / observability / audit.py (no function)   8 8 1   0%
src / lexigram / contracts / observability / metrics.py AlertDispatcherProtocol.send_alert   0 0 1   100%
src / lexigram / contracts / observability / metrics.py AlertDispatcherProtocol.send_metric_alert   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsRecorderProtocol.increment   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsRecorderProtocol.gauge   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsRecorderProtocol.histogram   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsFactoryProtocol.register_metric   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsFactoryProtocol.create_counter   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsFactoryProtocol.create_gauge   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsFactoryProtocol.create_histogram   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricProtocol.name   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricProtocol.description   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricProtocol.record   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsBackendProtocol.initialize   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsBackendProtocol.shutdown   0 0 1   100%
src / lexigram / contracts / observability / metrics.py MetricsBackendProtocol.record_metric   0 0 1   100%
src / lexigram / contracts / observability / metrics.py HealthCheckRegistryProtocol.add   0 0 1   100%
src / lexigram / contracts / observability / metrics.py HealthCheckRegistryProtocol.run_all   0 0 1   100%
src / lexigram / contracts / observability / metrics.py HealthCheckRegistryProtocol.run_liveness   0 0 1   100%
src / lexigram / contracts / observability / metrics.py HealthCheckRegistryProtocol.run_readiness   0 0 1   100%
src / lexigram / contracts / observability / metrics.py HealthCheckRegistryProtocol.run_startup   0 0 1   100%
src / lexigram / contracts / observability / metrics.py (no function)   40 40 28   0%
src / lexigram / contracts / observability / tracing.py TracerProtocol.start_span   0 0 1   100%
src / lexigram / contracts / observability / tracing.py TracerProtocol.get_current_span   0 0 1   100%
src / lexigram / contracts / observability / tracing.py TracerProtocol.inject_context   0 0 1   100%
src / lexigram / contracts / observability / tracing.py TracerProtocol.extract_context   0 0 1   100%
src / lexigram / contracts / observability / tracing.py SpanProtocol.set_attribute   0 0 1   100%
src / lexigram / contracts / observability / tracing.py SpanProtocol.add_event   0 0 1   100%
src / lexigram / contracts / observability / tracing.py SpanProtocol.record_exception   0 0 1   100%
src / lexigram / contracts / observability / tracing.py SpanProtocol.set_status   0 0 1   100%
src / lexigram / contracts / observability / tracing.py SpanProtocol.__enter__   0 0 1   100%
src / lexigram / contracts / observability / tracing.py SpanProtocol.__exit__   0 0 1   100%
src / lexigram / contracts / observability / tracing.py SpanProtocol.end   0 0 1   100%
src / lexigram / contracts / observability / tracing.py (no function)   18 18 15   0%
src / lexigram / contracts / plugins.py (no function)   13 0 0   100%
src / lexigram / contracts / queue / __init__.py (no function)   5 0 0   100%
src / lexigram / contracts / queue / errors.py QueueError.__init__   6 6 0   0%
src / lexigram / contracts / queue / errors.py (no function)   7 0 0   100%
src / lexigram / contracts / queue / protocols.py QueueProtocol.connect   0 0 1   100%
src / lexigram / contracts / queue / protocols.py QueueProtocol.close   0 0 1   100%
src / lexigram / contracts / queue / protocols.py QueueProtocol.publish   0 0 1   100%
src / lexigram / contracts / queue / protocols.py QueueProtocol.subscribe   0 0 1   100%
src / lexigram / contracts / queue / protocols.py QueueProtocol.health_check   0 0 1   100%
src / lexigram / contracts / queue / protocols.py MessageConsumerProtocol.start   0 0 1   100%
src / lexigram / contracts / queue / protocols.py MessageConsumerProtocol.stop   0 0 1   100%
src / lexigram / contracts / queue / protocols.py (no function)   14 0 13   100%
src / lexigram / contracts / queue / types.py BusMessage.is_expired   3 0 0   100%
src / lexigram / contracts / queue / types.py BusMessage.should_retry   1 0 0   100%
src / lexigram / contracts / queue / types.py (no function)   25 0 0   100%
src / lexigram / contracts / search / __init__.py (no function)   4 0 0   100%
src / lexigram / contracts / search / models.py (no function)   6 0 0   100%
src / lexigram / contracts / search / protocols.py SearchEngineProtocol.search   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchEngineProtocol.index_document   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchEngineProtocol.index_many   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchEngineProtocol.delete_document   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchEngineProtocol.health_check   0 0 1   100%
src / lexigram / contracts / search / protocols.py IndexManagerProtocol.create_index   0 0 1   100%
src / lexigram / contracts / search / protocols.py IndexManagerProtocol.delete_index   0 0 1   100%
src / lexigram / contracts / search / protocols.py IndexManagerProtocol.get_index_info   0 0 1   100%
src / lexigram / contracts / search / protocols.py IndexManagerProtocol.index_exists   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchableProtocol.search_document_id   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchableProtocol.search_document   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchableProtocol.search_index_name   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchAnalyticsProtocol.record_search   0 0 1   100%
src / lexigram / contracts / search / protocols.py SearchAnalyticsProtocol.get_search_metrics   0 0 1   100%
src / lexigram / contracts / search / protocols.py DatabaseSearchBackendProtocol.connect   0 0 1   100%
src / lexigram / contracts / search / protocols.py DatabaseSearchBackendProtocol.close   0 0 1   100%
src / lexigram / contracts / search / protocols.py DatabaseSearchBackendProtocol.ensure_schema   0 0 1   100%
src / lexigram / contracts / search / protocols.py DocumentTransformerProtocol.transform   0 0 1   100%
src / lexigram / contracts / search / protocols.py DocumentTransformerProtocol.transform_batch   0 0 1   100%
src / lexigram / contracts / search / protocols.py DocumentTransformerProtocol.extract_text   0 0 1   100%
src / lexigram / contracts / search / protocols.py (no function)   38 0 29   100%
src / lexigram / contracts / search / types.py (no function)   22 0 0   100%
src / lexigram / contracts / security / __init__.py (no function)   9 9 0   0%
src / lexigram / contracts / security / protocols.py HasherProtocol.algorithm   0 0 1   100%
src / lexigram / contracts / security / protocols.py HasherProtocol.digest   0 0 1   100%
src / lexigram / contracts / security / protocols.py HasherProtocol.verify_digest   0 0 1   100%
src / lexigram / contracts / security / protocols.py HasherProtocol.hash   0 0 1   100%
src / lexigram / contracts / security / protocols.py HasherProtocol.verify   0 0 1   100%
src / lexigram / contracts / security / protocols.py KeyDerivationProtocol.derive   0 0 1   100%
src / lexigram / contracts / security / protocols.py KeyDerivationProtocol.verify   0 0 1   100%
src / lexigram / contracts / security / protocols.py KeyDerivationProtocol.hash   0 0 1   100%
src / lexigram / contracts / security / protocols.py GuardChainProtocol.add   0 0 1   100%
src / lexigram / contracts / security / protocols.py GuardChainProtocol.execute   0 0 1   100%
src / lexigram / contracts / security / protocols.py InputSanitizerProtocol.sanitize   0 0 1   100%
src / lexigram / contracts / security / protocols.py InputSanitizerProtocol.sanitize_dict   0 0 1   100%
src / lexigram / contracts / security / protocols.py InputSanitizerProtocol.sanitize_header_value   0 0 1   100%
src / lexigram / contracts / security / protocols.py InputSanitizerProtocol.is_safe_url_for_request   0 0 1   100%
src / lexigram / contracts / security / protocols.py SecurityHeadersProtocol.apply   0 0 1   100%
src / lexigram / contracts / security / protocols.py EncryptionProtocol.encrypt   0 0 1   100%
src / lexigram / contracts / security / protocols.py EncryptionProtocol.decrypt   0 0 1   100%
src / lexigram / contracts / security / protocols.py EncryptionProtocol.rotate_key   0 0 1   100%
src / lexigram / contracts / security / protocols.py CORSProtocol.is_allowed_origin   0 0 1   100%
src / lexigram / contracts / security / protocols.py CORSProtocol.get_allowed_headers   0 0 1   100%
src / lexigram / contracts / security / protocols.py CORSProtocol.get_allowed_methods   0 0 1   100%
src / lexigram / contracts / security / protocols.py CORSProtocol.get_max_age   0 0 1   100%
src / lexigram / contracts / security / protocols.py CSPProtocol.build_header   0 0 1   100%
src / lexigram / contracts / security / protocols.py CSPProtocol.add_directive   0 0 1   100%
src / lexigram / contracts / security / protocols.py CSRFProtocol.generate_token   0 0 1   100%
src / lexigram / contracts / security / protocols.py CSRFProtocol.validate_token   0 0 1   100%
src / lexigram / contracts / security / protocols.py CSRFProtocol.invalidate_token   0 0 1   100%
src / lexigram / contracts / security / protocols.py (no function)   37 37 34   0%
src / lexigram / contracts / security / rotation.py SecretRotationPolicy.is_warning_due   2 2 0   0%
src / lexigram / contracts / security / rotation.py SecretRotationPolicy.is_expired   1 1 0   0%
src / lexigram / contracts / security / rotation.py (no function)   11 11 0   0%
src / lexigram / contracts / security / secrets.py SecretStoreProtocol.get_secret   0 0 1   100%
src / lexigram / contracts / security / secrets.py SecretStoreProtocol.set_secret   0 0 1   100%
src / lexigram / contracts / security / secrets.py SecretStoreProtocol.delete_secret   0 0 1   100%
src / lexigram / contracts / security / secrets.py SecretStoreProtocol.has_secret   0 0 1   100%
src / lexigram / contracts / security / secrets.py (no function)   9 9 5   0%
src / lexigram / contracts / security / stores.py AsyncSecretStoreProtocol.get   0 0 1   100%
src / lexigram / contracts / security / stores.py AsyncSecretStoreProtocol.get_bulk   0 0 1   100%
src / lexigram / contracts / security / stores.py AsyncSecretStoreProtocol.set   0 0 1   100%
src / lexigram / contracts / security / stores.py AsyncSecretStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / security / stores.py (no function)   9 9 5   0%
src / lexigram / contracts / security / url_safety.py resolve_hostname   8 8 0   0%
src / lexigram / contracts / security / url_safety.py is_safe_url_for_request   15 2 0   87%
src / lexigram / contracts / security / url_safety.py _hostname_is_public   7 0 0   100%
src / lexigram / contracts / security / url_safety.py _is_private   5 0 0   100%
src / lexigram / contracts / security / url_safety.py (no function)   13 13 0   0%
src / lexigram / contracts / tenancy / __init__.py (no function)   8 8 0   0%
src / lexigram / contracts / tenancy / commands.py (no function)   17 17 0   0%
src / lexigram / contracts / tenancy / errors.py TenantError.__init__   1 1 0   0%
src / lexigram / contracts / tenancy / errors.py TenantNotFoundError.__init__   2 2 0   0%
src / lexigram / contracts / tenancy / errors.py TenantInactiveError.__init__   2 2 0   0%
src / lexigram / contracts / tenancy / errors.py TenantProvisioningError.__init__   1 1 0   0%
src / lexigram / contracts / tenancy / errors.py TenantResolutionError.__init__   1 1 0   0%
src / lexigram / contracts / tenancy / errors.py TenantConfigError.__init__   1 1 0   0%
src / lexigram / contracts / tenancy / errors.py TenantSlugConflictError.__init__   2 2 0   0%
src / lexigram / contracts / tenancy / errors.py TenantSuspendedError.__init__   2 2 0   0%
src / lexigram / contracts / tenancy / errors.py MigrationError.__init__   1 1 0   0%
src / lexigram / contracts / tenancy / errors.py (no function)   31 31 0   0%
src / lexigram / contracts / tenancy / events.py (no function)   61 61 0   0%
src / lexigram / contracts / tenancy / migration.py MigrationCopyStrategy.validate   0 0 0   100%
src / lexigram / contracts / tenancy / migration.py MigrationCopyStrategy.copy   0 0 0   100%
src / lexigram / contracts / tenancy / migration.py MigrationCopyStrategy.rollback   0 0 0   100%
src / lexigram / contracts / tenancy / migration.py (no function)   30 30 0   0%
src / lexigram / contracts / tenancy / protocols.py TenantResolverProtocol.resolve   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.get_tenant   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.get_tenant_by_slug   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.list_tenants   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.create_tenant   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.update_tenant   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.deactivate_tenant   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.activate_tenant   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantProviderProtocol.suspend_tenant   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantMembershipProtocol.user_belongs_to_tenant   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantConfigProviderProtocol.get_config   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantConfigProviderProtocol.get_all_config   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantConfigProviderProtocol.set_config   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantIsolationStrategyProtocol.apply_isolation   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantIsolationStrategyProtocol.remove_isolation   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantIsolationStrategyProtocol.provision_isolation   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py TenantIsolationStrategyProtocol.deprovision_isolation   0 0 1   100%
src / lexigram / contracts / tenancy / protocols.py (no function)   33 33 27   0%
src / lexigram / contracts / tenancy / types.py (no function)   27 27 0   0%
src / lexigram / contracts / web / __init__.py (no function)   14 0 0   100%
src / lexigram / contracts / web / controller.py ControllerProtocol.collect_routes   0 0 1   100%
src / lexigram / contracts / web / controller.py (no function)   7 0 2   100%
src / lexigram / contracts / web / execution_context.py ExecutionContextProtocol.request   0 0 1   100%
src / lexigram / contracts / web / execution_context.py ExecutionContextProtocol.handler   0 0 1   100%
src / lexigram / contracts / web / execution_context.py ExecutionContextProtocol.controller_class   0 0 1   100%
src / lexigram / contracts / web / execution_context.py ExecutionContextProtocol.method_name   0 0 1   100%
src / lexigram / contracts / web / execution_context.py ExecutionContextProtocol.route_metadata   0 0 1   100%
src / lexigram / contracts / web / execution_context.py (no function)   15 0 8   100%
src / lexigram / contracts / web / guard.py GuardProtocol.can_activate   0 0 1   100%
src / lexigram / contracts / web / guard.py GuardProtocol.handle_rejection   0 0 1   100%
src / lexigram / contracts / web / guard.py (no function)   7 0 5   100%
src / lexigram / contracts / web / http_constants.py (no function)   21 0 0   100%
src / lexigram / contracts / web / http_models.py HttpResponse.raise_for_status   2 2 0   0%
src / lexigram / contracts / web / http_models.py HttpResponse.Ok   1 1 0   0%
src / lexigram / contracts / web / http_models.py HttpStatusError.__init__   3 3 0   0%
src / lexigram / contracts / web / http_models.py (no function)   21 0 0   100%
src / lexigram / contracts / web / http_protocols.py ServiceMeshRegistryProtocol.register   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py ServiceMeshRegistryProtocol.deregister   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py ServiceMeshRegistryProtocol.discover   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py ServiceMeshRegistryProtocol.get_service   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py ServiceMeshRegistryProtocol.list_services   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py SelectorProtocol.select   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPSessionProtocol.request   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPSessionProtocol.close   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.start   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.stop   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.request   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.get   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.post   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.put   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.delete   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.patch   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py HTTPClientProtocol.head   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py InterceptorProtocol.intercept_request   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py InterceptorProtocol.intercept_response   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py InterceptorChainProtocol.add_interceptor   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py InterceptorChainProtocol.remove_interceptor   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py InterceptorChainProtocol.process_request   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py InterceptorChainProtocol.process_response   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py ConnectMetricsCollectorProtocol.record_request   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py ConnectMetricsCollectorProtocol.get_metrics   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py WebSocketProtocol.accept   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py WebSocketProtocol.receive_text   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py WebSocketProtocol.receive_json   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py WebSocketProtocol.send_text   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py WebSocketProtocol.send_json   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py WebSocketProtocol.close   0 0 1   100%
src / lexigram / contracts / web / http_protocols.py (no function)   51 0 41   100%
src / lexigram / contracts / web / http_types.py (no function)   9 0 0   100%
src / lexigram / contracts / web / middleware / __init__.py (no function)   5 5 0   0%
src / lexigram / contracts / web / middleware / guards.py (no function)   3 3 0   0%
src / lexigram / contracts / web / middleware / protocols.py ASGIMiddlewareProtocol.__call__   0 0 1   100%
src / lexigram / contracts / web / middleware / protocols.py (no function)   6 6 2   0%
src / lexigram / contracts / web / middleware / registry_protocol.py MiddlewareRegistryProtocol.register_middleware   0 0 1   100%
src / lexigram / contracts / web / middleware / registry_protocol.py MiddlewareRegistryProtocol.register_middleware_factory   0 0 1   100%
src / lexigram / contracts / web / middleware / registry_protocol.py MiddlewareRegistryProtocol.get_middleware_stack   0 0 1   100%
src / lexigram / contracts / web / middleware / registry_protocol.py (no function)   14 14 4   0%
src / lexigram / contracts / web / protocols.py HttpRequestLoggerProtocol.log_request   0 0 1   100%
src / lexigram / contracts / web / protocols.py CORSPolicyProtocol.is_origin_allowed   0 0 1   100%
src / lexigram / contracts / web / protocols.py CORSPolicyProtocol.get_allowed_headers   0 0 1   100%
src / lexigram / contracts / web / protocols.py CORSPolicyProtocol.get_allowed_methods   0 0 1   100%
src / lexigram / contracts / web / protocols.py CORSPolicyProtocol.get_max_age   0 0 1   100%
src / lexigram / contracts / web / protocols.py BackgroundTaskRunnerProtocol.add_task   0 0 1   100%
src / lexigram / contracts / web / protocols.py CSRFProtectionProtocol.generate_token   0 0 1   100%
src / lexigram / contracts / web / protocols.py CSRFProtectionProtocol.validate_token   0 0 1   100%
src / lexigram / contracts / web / protocols.py CSRFProtectionProtocol.get_cookie_name   0 0 1   100%
src / lexigram / contracts / web / protocols.py CSRFProtectionProtocol.get_header_name   0 0 1   100%
src / lexigram / contracts / web / protocols.py WebRateLimiterProtocol.check_rate_limit   0 0 1   100%
src / lexigram / contracts / web / protocols.py WebMiddlewareProtocol.__call__   0 0 1   100%
src / lexigram / contracts / web / protocols.py ExceptionFilterProtocol.can_handle   0 0 1   100%
src / lexigram / contracts / web / protocols.py ExceptionFilterProtocol.handle   0 0 1   100%
src / lexigram / contracts / web / protocols.py RequestProtocol.json   0 0 1   100%
src / lexigram / contracts / web / protocols.py RequestProtocol.body   0 0 1   100%
src / lexigram / contracts / web / protocols.py ResponseProtocol.set_cookie   0 0 1   100%
src / lexigram / contracts / web / protocols.py ResponseProtocol.delete_cookie   0 0 1   100%
src / lexigram / contracts / web / protocols.py ResponseFactoryProtocol.json   0 0 1   100%
src / lexigram / contracts / web / protocols.py ResponseFactoryProtocol.html   0 0 1   100%
src / lexigram / contracts / web / protocols.py ResponseFactoryProtocol.redirect   0 0 1   100%
src / lexigram / contracts / web / protocols.py HTTPApplicationProtocol.__call__   0 0 1   100%
src / lexigram / contracts / web / protocols.py HTTPApplicationProtocol.mount   0 0 1   100%
src / lexigram / contracts / web / protocols.py HTTPApplicationProtocol.add_route   0 0 1   100%
src / lexigram / contracts / web / protocols.py HTTPApplicationProtocol.add_middleware   0 0 1   100%
src / lexigram / contracts / web / protocols.py CRUDServiceProtocol.list_items   0 0 1   100%
src / lexigram / contracts / web / protocols.py CRUDServiceProtocol.get   0 0 1   100%
src / lexigram / contracts / web / protocols.py CRUDServiceProtocol.create   0 0 1   100%
src / lexigram / contracts / web / protocols.py CRUDServiceProtocol.update   0 0 1   100%
src / lexigram / contracts / web / protocols.py CRUDServiceProtocol.delete   0 0 1   100%
src / lexigram / contracts / web / protocols.py ConnectionManagerProtocol.add   0 0 1   100%
src / lexigram / contracts / web / protocols.py ConnectionManagerProtocol.remove   0 0 1   100%
src / lexigram / contracts / web / protocols.py ConnectionManagerProtocol.broadcast   0 0 1   100%
src / lexigram / contracts / web / protocols.py ConnectionManagerProtocol.count   0 0 1   100%
src / lexigram / contracts / web / protocols.py WebContributorProtocol.contributor_id   0 0 1   100%
src / lexigram / contracts / web / protocols.py WebContributorProtocol.get_controllers   0 0 1   100%
src / lexigram / contracts / web / protocols.py WebContributorProtocol.get_middleware   0 0 1   100%
src / lexigram / contracts / web / protocols.py WebContributorProtocol.mount_to_app   0 0 0   100%
src / lexigram / contracts / web / protocols.py (no function)   87 0 72   100%
src / lexigram / contracts / web / routing.py _route   2 2 0   0%
src / lexigram / contracts / web / routing.py _route.decorator   2 2 0   0%
src / lexigram / contracts / web / routing.py get   1 1 0   0%
src / lexigram / contracts / web / routing.py post   1 1 0   0%
src / lexigram / contracts / web / routing.py put   1 1 0   0%
src / lexigram / contracts / web / routing.py delete   1 1 0   0%
src / lexigram / contracts / web / routing.py patch   1 1 0   0%
src / lexigram / contracts / web / routing.py (no function)   9 0 3   100%
src / lexigram / contracts / web / sse.py SseResponseFactoryProtocol.create_response   0 0 1   100%
src / lexigram / contracts / web / sse.py (no function)   13 0 4   100%
src / lexigram / contracts / web / types.py (no function)   25 0 0   100%
src / lexigram / contracts / webhook / __init__.py (no function)   5 5 0   0%
src / lexigram / contracts / webhook / exceptions.py (no function)   5 5 0   0%
src / lexigram / contracts / webhook / protocols.py WebhookSubscriptionStoreProtocol.create   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookSubscriptionStoreProtocol.get   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookSubscriptionStoreProtocol.list   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookSubscriptionStoreProtocol.update   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookSubscriptionStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookDeliveryStoreProtocol.record_attempt   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookDeliveryStoreProtocol.get_attempts   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookDeliveryStoreProtocol.get_dead_letters   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookDeliveryStoreProtocol.count_recent_failures   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookDeliveryServiceProtocol.dispatch   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py WebhookDeliveryServiceProtocol.redeliver   0 0 1   100%
src / lexigram / contracts / webhook / protocols.py (no function)   21 21 16   0%
src / lexigram / contracts / webhook / types.py WebhookSubscription.__repr__   1 1 0   0%
src / lexigram / contracts / webhook / types.py (no function)   44 44 0   0%
src / lexigram / contracts / workflow / __init__.py (no function)   6 0 0   100%
src / lexigram / contracts / workflow / content_checkpoint.py _canonical_json_bytes   2 2 0   0%
src / lexigram / contracts / workflow / content_checkpoint.py _canonical_json_bytes._default   3 3 0   0%
src / lexigram / contracts / workflow / content_checkpoint.py ContentCheckpointKey.as_str   2 2 0   0%
src / lexigram / contracts / workflow / content_checkpoint.py ContentCheckpointKey.compute   3 3 0   0%
src / lexigram / contracts / workflow / content_checkpoint.py ContentCheckpointStoreProtocol.get   0 0 0   100%
src / lexigram / contracts / workflow / content_checkpoint.py ContentCheckpointStoreProtocol.set   0 0 0   100%
src / lexigram / contracts / workflow / content_checkpoint.py ContentCheckpointStoreProtocol.evict   0 0 0   100%
src / lexigram / contracts / workflow / content_checkpoint.py ContentCheckpointStoreProtocol.list_by_stage   0 0 0   100%
src / lexigram / contracts / workflow / content_checkpoint.py (no function)   31 0 2   100%
src / lexigram / contracts / workflow / errors.py SagaVersionMismatchError.__init__   4 4 0   0%
src / lexigram / contracts / workflow / errors.py (no function)   6 0 0   100%
src / lexigram / contracts / workflow / protocols.py WorkflowGraphProtocol.add_node   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py WorkflowGraphProtocol.add_edge   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py WorkflowGraphProtocol.get_node   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py WorkflowGraphProtocol.topological_order   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py WorkflowNodeProtocol.name   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py WorkflowNodeProtocol.execute   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py ApprovalProtocol.request_approval   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py ApprovalProtocol.cancel_approval   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py ExecutionProtocol.execute   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py ExecutionProtocol.resume   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py ExecutionProtocol.cancel   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py SagaStoreProtocol.save   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py SagaStoreProtocol.load   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py SagaStoreProtocol.delete   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py PipelineContextProtocol.get_result   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py PipelineContextProtocol.set_result   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py PipelineContextProtocol.metadata   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py PipelineStepProtocol.name   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py PipelineStepProtocol.execute   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py PipelineProtocol.add_step   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py PipelineProtocol.execute   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py BulkProcessorProtocol.process_batch   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py SagaProtocol.handle   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py SagaManagerProtocol.process   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StateMachineProtocol.current_state   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StateMachineProtocol.version   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StateMachineProtocol.can_transition   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StateMachineProtocol.transition   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StateMachineProtocol.recover   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StatePersistenceProtocol.append_transition   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StatePersistenceProtocol.load_transitions   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py StatePersistenceProtocol.get_current_version   0 0 1   100%
src / lexigram / contracts / workflow / protocols.py (no function)   66 0 45   100%
src / lexigram / contracts / workflow / steps.py SagaStepError.__init__   3 0 0   100%
src / lexigram / contracts / workflow / steps.py SagaStepError.__repr__   1 0 0   100%
src / lexigram / contracts / workflow / steps.py (no function)   16 0 3   100%
src / lexigram / contracts / workflow / types.py (no function)   11 0 0   100%
Total     9645 6381 3656   34%

No items found using the specified filter.