Coverage report: 66%

Files Functions Classes

coverage.py v7.11.0, created at 2025-11-08 13:51 -0700

File class statements missing excluded coverage
src/dataknobs_llm/conversations/flow/adapter.py FlowExecutionState 4 4 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter 76 76 0 0%
src/dataknobs_llm/conversations/flow/adapter.py (no class) 23 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py AlwaysCondition 2 1 0 50%
src/dataknobs_llm/conversations/flow/conditions.py KeywordCondition 11 1 0 91%
src/dataknobs_llm/conversations/flow/conditions.py RegexCondition 3 1 0 67%
src/dataknobs_llm/conversations/flow/conditions.py LLMClassifierCondition 12 12 0 0%
src/dataknobs_llm/conversations/flow/conditions.py ContextCondition 2 1 0 50%
src/dataknobs_llm/conversations/flow/conditions.py CompositeCondition 7 2 0 71%
src/dataknobs_llm/conversations/flow/conditions.py SentimentCondition 22 4 0 82%
src/dataknobs_llm/conversations/flow/conditions.py (no class) 57 0 0 100%
src/dataknobs_llm/conversations/flow/flow.py TransitionCondition 0 0 16 100%
src/dataknobs_llm/conversations/flow/flow.py FlowState 5 1 0 80%
src/dataknobs_llm/conversations/flow/flow.py ConversationFlow 33 3 0 91%
src/dataknobs_llm/conversations/flow/flow.py (no class) 30 0 8 100%
src/dataknobs_llm/conversations/manager.py ConversationManager 262 88 0 66%
src/dataknobs_llm/conversations/manager.py (no class) 37 0 0 100%
src/dataknobs_llm/conversations/middleware.py ConversationMiddleware 0 0 39 100%
src/dataknobs_llm/conversations/middleware.py LoggingMiddleware 9 0 0 100%
src/dataknobs_llm/conversations/middleware.py ContentFilterMiddleware 17 0 0 100%
src/dataknobs_llm/conversations/middleware.py ValidationMiddleware 20 1 0 95%
src/dataknobs_llm/conversations/middleware.py MetadataMiddleware 23 2 0 91%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware 63 63 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitError 0 0 0 100%
src/dataknobs_llm/conversations/middleware.py (no class) 37 0 12 100%
src/dataknobs_llm/conversations/storage.py ConversationNode 3 0 0 100%
src/dataknobs_llm/conversations/storage.py ConversationState 51 7 0 86%
src/dataknobs_llm/conversations/storage.py ConversationStorage 0 0 35 100%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage 41 12 0 71%
src/dataknobs_llm/conversations/storage.py StorageError 0 0 0 100%
src/dataknobs_llm/conversations/storage.py SchemaVersionError 0 0 0 100%
src/dataknobs_llm/conversations/storage.py (no class) 82 1 16 99%
src/dataknobs_llm/fsm_integration/functions.py PromptBuilder 31 31 0 0%
src/dataknobs_llm/fsm_integration/functions.py LLMCaller 21 21 0 0%
src/dataknobs_llm/fsm_integration/functions.py ResponseValidator 33 33 0 0%
src/dataknobs_llm/fsm_integration/functions.py FunctionCaller 27 27 0 0%
src/dataknobs_llm/fsm_integration/functions.py ConversationManager 17 17 0 0%
src/dataknobs_llm/fsm_integration/functions.py EmbeddingGenerator 23 23 0 0%
src/dataknobs_llm/fsm_integration/functions.py (no class) 41 6 0 85%
src/dataknobs_llm/fsm_integration/resources.py LLMProvider 0 0 0 100%
src/dataknobs_llm/fsm_integration/resources.py LLMSession 20 20 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource 225 225 1 0%
src/dataknobs_llm/fsm_integration/resources.py (no class) 56 0 0 100%
src/dataknobs_llm/fsm_integration/workflows.py WorkflowType 0 0 0 100%
src/dataknobs_llm/fsm_integration/workflows.py LLMStep 0 0 0 100%
src/dataknobs_llm/fsm_integration/workflows.py RAGConfig 0 0 0 100%
src/dataknobs_llm/fsm_integration/workflows.py AgentConfig 0 0 0 100%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflowConfig 0 0 0 100%
src/dataknobs_llm/fsm_integration/workflows.py VectorRetriever 65 65 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow 147 147 0 0%
src/dataknobs_llm/fsm_integration/workflows.py (no class) 108 10 0 91%
src/dataknobs_llm/llm/base.py CompletionMode 0 0 0 100%
src/dataknobs_llm/llm/base.py ModelCapability 0 0 0 100%
src/dataknobs_llm/llm/base.py LLMMessage 0 0 0 100%
src/dataknobs_llm/llm/base.py LLMResponse 0 0 0 100%
src/dataknobs_llm/llm/base.py LLMStreamResponse 0 0 0 100%
src/dataknobs_llm/llm/base.py LLMConfig 20 1 0 95%
src/dataknobs_llm/llm/base.py LLMProvider 14 3 8 79%
src/dataknobs_llm/llm/base.py AsyncLLMProvider 27 2 303 93%
src/dataknobs_llm/llm/base.py SyncLLMProvider 24 24 41 0%
src/dataknobs_llm/llm/base.py LLMAdapter 0 0 27 100%
src/dataknobs_llm/llm/base.py LLMMiddleware 2 2 0 0%
src/dataknobs_llm/llm/base.py (no class) 119 8 73 93%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider 94 92 1 2%
src/dataknobs_llm/llm/providers/anthropic.py (no class) 16 0 2 100%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter 62 18 0 71%
src/dataknobs_llm/llm/providers/base.py (no class) 14 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider 79 6 0 92%
src/dataknobs_llm/llm/providers/echo.py (no class) 16 0 2 100%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider 59 59 1 0%
src/dataknobs_llm/llm/providers/huggingface.py (no class) 15 0 2 100%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider 170 165 0 3%
src/dataknobs_llm/llm/providers/ollama.py (no class) 19 0 2 100%
src/dataknobs_llm/llm/providers/openai.py OpenAIAdapter 30 30 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider 74 71 0 4%
src/dataknobs_llm/llm/providers/openai.py (no class) 18 0 2 100%
src/dataknobs_llm/llm/utils.py MessageTemplate 39 2 0 95%
src/dataknobs_llm/llm/utils.py MessageBuilder 15 0 0 100%
src/dataknobs_llm/llm/utils.py ResponseParser 40 2 0 95%
src/dataknobs_llm/llm/utils.py TokenCounter 15 1 0 93%
src/dataknobs_llm/llm/utils.py CostCalculator 24 1 0 96%
src/dataknobs_llm/llm/utils.py (no class) 74 0 0 100%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py DataknobsBackendAdapter 48 6 0 88%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py AsyncDataknobsBackendAdapter 48 10 0 79%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py (no class) 10 0 2 100%
src/dataknobs_llm/prompts/adapters/dict_adapter.py DictResourceAdapter 39 1 0 97%
src/dataknobs_llm/prompts/adapters/dict_adapter.py AsyncDictResourceAdapter 39 5 0 87%
src/dataknobs_llm/prompts/adapters/dict_adapter.py (no class) 12 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapterBase 15 1 0 93%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapter 3 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAsyncAdapter 3 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py (no class) 15 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapterBase 6 0 3 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapter 1 0 23 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py AsyncResourceAdapter 4 0 23 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py BaseSearchLogic 27 1 0 96%
src/dataknobs_llm/prompts/adapters/resource_adapter.py (no class) 21 0 31 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary 1 1 88 0%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py (no class) 5 0 42 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary 111 24 8 78%
src/dataknobs_llm/prompts/base/base_prompt_library.py (no class) 31 0 0 100%
src/dataknobs_llm/prompts/base/types.py ValidationLevel 0 0 0 100%
src/dataknobs_llm/prompts/base/types.py TemplateMode 4 2 0 50%
src/dataknobs_llm/prompts/base/types.py ValidationConfig 3 0 0 100%
src/dataknobs_llm/prompts/base/types.py PromptTemplateDict 0 0 0 100%
src/dataknobs_llm/prompts/base/types.py RAGConfig 0 0 0 100%
src/dataknobs_llm/prompts/base/types.py MessageIndex 0 0 0 100%
src/dataknobs_llm/prompts/base/types.py RenderResult 0 0 0 100%
src/dataknobs_llm/prompts/base/types.py (no class) 52 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder 97 11 0 89%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py (no class) 17 0 0 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder 41 3 53 93%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py (no class) 15 0 27 100%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder 86 5 0 94%
src/dataknobs_llm/prompts/builders/prompt_builder.py (no class) 15 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary 78 22 0 72%
src/dataknobs_llm/prompts/implementations/composite_library.py (no class) 23 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary 75 10 0 87%
src/dataknobs_llm/prompts/implementations/config_library.py (no class) 24 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary 108 17 0 84%
src/dataknobs_llm/prompts/implementations/filesystem_library.py (no class) 26 0 0 100%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary 87 87 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py (no class) 27 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py PreserveUndefined 1 0 2 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateSyntaxError 1 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer 116 2 0 98%
src/dataknobs_llm/prompts/rendering/template_renderer.py (no class) 45 0 1 100%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer 120 15 0 88%
src/dataknobs_llm/prompts/utils/template_composition.py (no class) 11 0 0 100%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager 94 19 0 80%
src/dataknobs_llm/prompts/versioning/ab_testing.py (no class) 20 0 0 100%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector 95 32 0 66%
src/dataknobs_llm/prompts/versioning/metrics.py (no class) 17 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py VersioningError 0 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py VersionStatus 0 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptVersion 7 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptVariant 4 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptExperiment 12 2 0 83%
src/dataknobs_llm/prompts/versioning/types.py PromptMetrics 19 2 0 89%
src/dataknobs_llm/prompts/versioning/types.py MetricEvent 5 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py (no class) 90 0 0 100%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager 101 15 0 85%
src/dataknobs_llm/prompts/versioning/version_manager.py (no class) 21 0 0 100%
src/dataknobs_llm/template_utils.py TemplateStrategy 0 0 0 100%
src/dataknobs_llm/template_utils.py (no class) 94 1 0 99%
src/dataknobs_llm/tools/base.py Tool 8 1 45 88%
src/dataknobs_llm/tools/base.py (no class) 8 0 6 100%
src/dataknobs_llm/tools/registry.py ToolRegistry 53 9 2 83%
src/dataknobs_llm/tools/registry.py (no class) 17 0 1 100%
Total   5001 1696 948 66%

No items found using the specified filter.