| src / kemi / __init__.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| src / kemi / __main__.py |
main |
|
10 |
0 |
0 |
|
100% |
| src / kemi / __main__.py |
(no function) |
|
2 |
0 |
2 |
|
100% |
| src / kemi / _memory_impl.py |
_memory_to_dict |
|
3 |
1 |
0 |
|
67% |
| src / kemi / _memory_impl.py |
Memory.__init__ |
|
47 |
10 |
6 |
|
79% |
| src / kemi / _memory_impl.py |
Memory._latency_tracker |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.remember |
|
15 |
3 |
0 |
|
80% |
| src / kemi / _memory_impl.py |
Memory._build_ingestion_context |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory._validate_remember_inputs |
|
8 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory._build_memory_object |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.recall |
|
9 |
1 |
0 |
|
89% |
| src / kemi / _memory_impl.py |
Memory._build_retrieval_context |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.recall_many |
|
6 |
1 |
0 |
|
83% |
| src / kemi / _memory_impl.py |
Memory.update_many |
|
5 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.forget_many |
|
5 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.forget |
|
17 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.context_block |
|
7 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.aremember |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.recall_stream |
|
61 |
12 |
0 |
|
80% |
| src / kemi / _memory_impl.py |
Memory.arecall |
|
4 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.aforget |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.acontext_block |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.migrate |
|
22 |
2 |
0 |
|
91% |
| src / kemi / _memory_impl.py |
Memory.export |
|
9 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.import_from |
|
17 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.aexport |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.aimport_from |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.upgrade |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.remember_many |
|
24 |
4 |
0 |
|
83% |
| src / kemi / _memory_impl.py |
Memory._remember_with_embedding |
|
4 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.list_users |
|
1 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.prune |
|
21 |
1 |
0 |
|
95% |
| src / kemi / _memory_impl.py |
Memory.prune_expired |
|
21 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory._known_namespaces |
|
9 |
2 |
0 |
|
78% |
| src / kemi / _memory_impl.py |
Memory.recall_between |
|
9 |
9 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.recall_user_profile |
|
18 |
2 |
0 |
|
89% |
| src / kemi / _memory_impl.py |
Memory.recall_session_context |
|
20 |
2 |
0 |
|
90% |
| src / kemi / _memory_impl.py |
Memory.recall_agent_knowledge |
|
23 |
2 |
0 |
|
91% |
| src / kemi / _memory_impl.py |
Memory.recall_explain |
|
41 |
8 |
0 |
|
80% |
| src / kemi / _memory_impl.py |
Memory.consolidate |
|
6 |
0 |
3 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.cluster_topics |
|
3 |
0 |
3 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.extract_entities |
|
6 |
6 |
3 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.get_memory_graph |
|
3 |
0 |
3 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.stats |
|
20 |
1 |
0 |
|
95% |
| src / kemi / _memory_impl.py |
Memory.astats |
|
2 |
2 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.recall_by_tag |
|
5 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.arecall_by_tag |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.update |
|
40 |
1 |
0 |
|
98% |
| src / kemi / _memory_impl.py |
Memory.recall_since |
|
5 |
5 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.alist_users |
|
2 |
2 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.aupdate |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.aupdate_many |
|
7 |
2 |
0 |
|
71% |
| src / kemi / _memory_impl.py |
Memory.aforget_many |
|
6 |
1 |
0 |
|
83% |
| src / kemi / _memory_impl.py |
Memory.arecall_many |
|
6 |
1 |
0 |
|
83% |
| src / kemi / _memory_impl.py |
Memory.arecall_since |
|
2 |
2 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.aremember_many |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.feedback |
|
20 |
20 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.backfill_entities |
|
25 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.abackfill_entities |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.run_maintenance |
|
19 |
3 |
0 |
|
84% |
| src / kemi / _memory_impl.py |
Memory.get_metrics |
|
3 |
3 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.get_metrics_prometheus |
|
3 |
3 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.enable_adaptive_retrieval |
|
7 |
7 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory._track_operation |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory._record_embed_error |
|
2 |
2 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory._record_store_error |
|
2 |
2 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory.add_event_hook |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.remove_event_hook |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory._run_hooks |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.enable_query_cache |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.disable_query_cache |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.configure_versioning |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory._get_version_store |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.get_history |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.diff_versions |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.rollback_memory |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory._auto_prune_versions_for_memory |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.configure_webhooks |
|
2 |
2 |
0 |
|
0% |
| src / kemi / _memory_impl.py |
Memory._dispatch_webhook_event |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.enable_audit_trail |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.get_metrics |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.get_metrics_prometheus |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
Memory.enable_adaptive_retrieval |
|
2 |
0 |
0 |
|
100% |
| src / kemi / _memory_impl.py |
_QueryCache.__new__ |
|
0 |
0 |
3 |
|
100% |
| src / kemi / _memory_impl.py |
(no function) |
|
99 |
0 |
3 |
|
100% |
| src / kemi / adapters / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / kemi / adapters / embedding / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / kemi / adapters / embedding / custom.py |
CustomEmbedAdapter.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / kemi / adapters / embedding / custom.py |
CustomEmbedAdapter.embed |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / embedding / custom.py |
CustomEmbedAdapter.embed_single |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / embedding / custom.py |
CustomEmbedAdapter.dimension |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / embedding / custom.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.__init__ |
|
10 |
2 |
0 |
|
80% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter._load |
|
4 |
2 |
0 |
|
50% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter._save |
|
2 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter._row_to_memory |
|
13 |
1 |
0 |
|
92% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.store |
|
10 |
1 |
0 |
|
90% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.search |
|
20 |
2 |
0 |
|
90% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.get |
|
4 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.update |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.delete_by_user |
|
6 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.delete_by_id |
|
5 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.get_all_by_user |
|
9 |
2 |
0 |
|
78% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.count |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.get_all |
|
6 |
2 |
0 |
|
67% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.get_all_users |
|
2 |
2 |
0 |
|
0% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.upgrade_schema |
|
2 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.get_by_tag |
|
4 |
4 |
0 |
|
0% |
| src / kemi / adapters / storage / json.py |
JSONStorageAdapter.search_by_content |
|
9 |
9 |
0 |
|
0% |
| src / kemi / adapters / storage / json.py |
(no function) |
|
26 |
0 |
2 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.__init__ |
|
11 |
2 |
0 |
|
82% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._get_connection |
|
7 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._transaction |
|
9 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.close |
|
4 |
0 |
2 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._shared_conn |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.__del__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.__enter__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.__exit__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._init_schema |
|
14 |
2 |
0 |
|
86% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._get_schema_version |
|
6 |
0 |
2 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._run_migrations |
|
42 |
4 |
2 |
|
90% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._row_to_memory |
|
40 |
15 |
0 |
|
62% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._memory_to_row |
|
15 |
2 |
0 |
|
87% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.store |
|
4 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.store_many |
|
8 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._sync_fts_single |
|
5 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.rebuild_fts_index |
|
10 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.search |
|
20 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.get |
|
6 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.update |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.delete_by_user |
|
7 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.delete_by_id |
|
7 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.get_all_by_user |
|
18 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.count |
|
3 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.get_all |
|
12 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.search_by_content |
|
5 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._fts5_search |
|
24 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._prepare_fts_query |
|
21 |
3 |
0 |
|
86% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter._bm25_python_fallback |
|
21 |
3 |
0 |
|
86% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.get_all_users |
|
4 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.upgrade_schema |
|
2 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.get_by_tag |
|
9 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
SQLiteStorageAdapter.get_api_key_manager |
|
2 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite.py |
(no function) |
|
50 |
0 |
2 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
_embedding_to_json |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.__init__ |
|
5 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.is_lazy |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._get_connection |
|
9 |
6 |
2 |
|
33% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._init_schema |
|
13 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._init_vec_table |
|
6 |
4 |
2 |
|
33% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._run_migrations |
|
45 |
4 |
0 |
|
91% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.store |
|
12 |
2 |
0 |
|
83% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._store_pending_on_conn |
|
4 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._store_vec_direct_on_conn |
|
11 |
11 |
0 |
|
0% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._count_pending |
|
6 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._has_pending |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._flush_pending |
|
21 |
17 |
0 |
|
19% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.search |
|
8 |
3 |
0 |
|
62% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._search_vec |
|
24 |
24 |
0 |
|
0% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.delete_by_id |
|
9 |
1 |
0 |
|
89% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.delete_by_user |
|
9 |
1 |
0 |
|
89% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.update |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._memory_to_row |
|
4 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter._row_to_memory |
|
6 |
0 |
2 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
SQLiteVecStorageAdapter.is_vec_available |
|
1 |
0 |
0 |
|
100% |
| src / kemi / adapters / storage / sqlite_vec.py |
(no function) |
|
41 |
6 |
5 |
|
85% |
| src / kemi / adaptive.py |
AdaptiveRetriever.__init__ |
|
3 |
0 |
0 |
|
100% |
| src / kemi / adaptive.py |
AdaptiveRetriever.analyze_query |
|
12 |
0 |
0 |
|
100% |
| src / kemi / adaptive.py |
AdaptiveRetriever.get_weights |
|
4 |
0 |
0 |
|
100% |
| src / kemi / adaptive.py |
AdaptiveRetriever.record_feedback |
|
4 |
0 |
0 |
|
100% |
| src / kemi / adaptive.py |
AdaptiveRetriever.get_user_profile |
|
7 |
0 |
0 |
|
100% |
| src / kemi / adaptive.py |
AdaptiveRetriever._classify_query |
|
29 |
0 |
0 |
|
100% |
| src / kemi / adaptive.py |
AdaptiveRetriever._compute_keyword_density |
|
4 |
1 |
0 |
|
75% |
| src / kemi / adaptive.py |
AdaptiveRetriever._compute_specificity |
|
19 |
1 |
0 |
|
95% |
| src / kemi / adaptive.py |
AdaptiveRetriever._adjust_weights |
|
24 |
0 |
0 |
|
100% |
| src / kemi / adaptive.py |
(no function) |
|
47 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKey.is_expired |
|
9 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKey.is_active |
|
1 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKey.to_dict |
|
4 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
_hash_key |
|
1 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
_generate_raw_key |
|
2 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
_generate_key_id |
|
1 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKeyManager.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKeyManager.create_key |
|
14 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKeyManager.lookup |
|
13 |
0 |
2 |
|
100% |
| src / kemi / api_keys.py |
APIKeyManager.list_keys |
|
4 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKeyManager.revoke |
|
3 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKeyManager.get |
|
4 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
APIKeyManager.cleanup_expired |
|
4 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
make_expiry |
|
3 |
0 |
0 |
|
100% |
| src / kemi / api_keys.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
_api_key_required |
|
1 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
_is_exempt |
|
5 |
1 |
0 |
|
80% |
| src / kemi / api_server.py |
_resolve_user_id |
|
8 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
_require_admin |
|
4 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
RateLimiter.__init__ |
|
4 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
RateLimiter.is_allowed |
|
8 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
RateLimiter.get_retry_after |
|
8 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
_get_rate_limiter |
|
10 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
_check_rate_limit |
|
6 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
_get_api_key_manager |
|
17 |
17 |
0 |
|
0% |
| src / kemi / api_server.py |
_reset_api_key_manager |
|
2 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
_get_memory_singleton |
|
6 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
lifespan |
|
16 |
2 |
0 |
|
88% |
| src / kemi / api_server.py |
create_app |
|
114 |
9 |
0 |
|
92% |
| src / kemi / api_server.py |
create_app.api_key_middleware |
|
15 |
1 |
0 |
|
93% |
| src / kemi / api_server.py |
create_app._ensure_state_defaults |
|
5 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
create_app.remember |
|
11 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
create_app.recall |
|
9 |
3 |
0 |
|
67% |
| src / kemi / api_server.py |
create_app.recall_stream |
|
7 |
1 |
0 |
|
86% |
| src / kemi / api_server.py |
create_app.recall_stream._generate |
|
11 |
3 |
0 |
|
73% |
| src / kemi / api_server.py |
create_app.recall_explain |
|
9 |
3 |
0 |
|
67% |
| src / kemi / api_server.py |
create_app.forget |
|
6 |
1 |
0 |
|
83% |
| src / kemi / api_server.py |
create_app.update_memory |
|
18 |
2 |
0 |
|
89% |
| src / kemi / api_server.py |
create_app.prune |
|
12 |
1 |
0 |
|
92% |
| src / kemi / api_server.py |
create_app.stats |
|
8 |
1 |
0 |
|
88% |
| src / kemi / api_server.py |
create_app.list_users |
|
5 |
1 |
0 |
|
80% |
| src / kemi / api_server.py |
create_app.consolidate_user |
|
11 |
1 |
0 |
|
91% |
| src / kemi / api_server.py |
create_app.topics_user |
|
9 |
1 |
0 |
|
89% |
| src / kemi / api_server.py |
create_app.graph_user |
|
9 |
1 |
0 |
|
89% |
| src / kemi / api_server.py |
create_app.feedback_user |
|
9 |
1 |
0 |
|
89% |
| src / kemi / api_server.py |
create_app.health |
|
24 |
9 |
0 |
|
62% |
| src / kemi / api_server.py |
create_app.submit_embed_batch_task |
|
8 |
2 |
0 |
|
75% |
| src / kemi / api_server.py |
create_app.submit_rebuild_fts_task |
|
13 |
5 |
0 |
|
62% |
| src / kemi / api_server.py |
create_app.get_task_stats |
|
3 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
create_app.get_task_status |
|
6 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
create_app.list_tasks |
|
11 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
create_app.cancel_task |
|
6 |
0 |
0 |
|
100% |
| src / kemi / api_server.py |
create_app.admin_rebuild_fts |
|
9 |
3 |
0 |
|
67% |
| src / kemi / api_server.py |
create_app.admin_fts_stats |
|
25 |
6 |
0 |
|
76% |
| src / kemi / api_server.py |
create_app.admin_fts_verify |
|
22 |
6 |
0 |
|
73% |
| src / kemi / api_server.py |
create_app.admin_health |
|
35 |
9 |
0 |
|
74% |
| src / kemi / api_server.py |
create_app.get_metrics |
|
9 |
1 |
0 |
|
89% |
| src / kemi / api_server.py |
create_app.audit_log |
|
9 |
3 |
0 |
|
67% |
| src / kemi / api_server.py |
create_app.audit_query |
|
14 |
6 |
0 |
|
57% |
| src / kemi / api_server.py |
create_app.audit_stats |
|
7 |
3 |
0 |
|
57% |
| src / kemi / api_server.py |
create_app.audit_export |
|
14 |
6 |
0 |
|
57% |
| src / kemi / api_server.py |
create_app.adaptive_analyze |
|
8 |
3 |
0 |
|
62% |
| src / kemi / api_server.py |
create_app.adaptive_user_profile |
|
8 |
3 |
0 |
|
62% |
| src / kemi / api_server.py |
create_app.admin_enable_audit |
|
10 |
4 |
0 |
|
60% |
| src / kemi / api_server.py |
create_app.admin_enable_adaptive |
|
8 |
4 |
0 |
|
50% |
| src / kemi / api_server.py |
create_app.create_api_key |
|
13 |
2 |
0 |
|
85% |
| src / kemi / api_server.py |
create_app.list_api_keys |
|
7 |
1 |
0 |
|
86% |
| src / kemi / api_server.py |
create_app.revoke_api_key |
|
13 |
6 |
0 |
|
54% |
| src / kemi / api_server.py |
create_app.get_memory_history |
|
6 |
2 |
0 |
|
67% |
| src / kemi / api_server.py |
create_app._get_webhook_store |
|
5 |
2 |
0 |
|
60% |
| src / kemi / api_server.py |
create_app.create_webhook |
|
10 |
1 |
0 |
|
90% |
| src / kemi / api_server.py |
create_app.list_webhooks |
|
5 |
1 |
0 |
|
80% |
| src / kemi / api_server.py |
create_app.delete_webhook |
|
6 |
1 |
0 |
|
83% |
| src / kemi / api_server.py |
create_app.admin_list_users |
|
16 |
1 |
2 |
|
94% |
| src / kemi / api_server.py |
(no function) |
|
127 |
0 |
5 |
|
100% |
| src / kemi / audit.py |
AuditEntry.to_dict |
|
1 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
AuditTrail.__init__ |
|
9 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
AuditTrail._ensure_schema |
|
2 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
AuditTrail.log_operation |
|
13 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
AuditTrail.log_operation_batch |
|
15 |
1 |
0 |
|
93% |
| src / kemi / audit.py |
AuditTrail.query |
|
39 |
2 |
0 |
|
95% |
| src / kemi / audit.py |
AuditTrail.get_user_activity |
|
13 |
3 |
0 |
|
77% |
| src / kemi / audit.py |
AuditTrail.get_stats |
|
13 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
AuditTrail.export |
|
2 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
AuditTrail._maybe_purge |
|
8 |
3 |
0 |
|
62% |
| src / kemi / audit.py |
AuditTrail._purge_old_entries |
|
14 |
12 |
0 |
|
14% |
| src / kemi / audit.py |
AuditTrail.purge_all |
|
9 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
AuditTrail.close |
|
1 |
0 |
0 |
|
100% |
| src / kemi / audit.py |
(no function) |
|
38 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
TaskResult.to_dict |
|
1 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.__init__ |
|
7 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager._ensure_loop_started |
|
8 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager._ensure_loop_started.run_loop |
|
3 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager._get_loop |
|
3 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.submit_embed_batch |
|
13 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager._run_embed_batch |
|
25 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.submit_rebuild_fts_index |
|
14 |
1 |
0 |
|
93% |
| src / kemi / background_tasks.py |
BackgroundTaskManager._run_rebuild_fts |
|
25 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.get_task_status |
|
2 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.list_tasks |
|
6 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.get_stats |
|
7 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.shutdown |
|
5 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager._cleanup_old_tasks |
|
7 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.cancel_task |
|
10 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
BackgroundTaskManager.submit_ttl_sweep |
|
14 |
1 |
0 |
|
93% |
| src / kemi / background_tasks.py |
BackgroundTaskManager._run_ttl_sweep |
|
23 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
get_task_manager |
|
4 |
0 |
0 |
|
100% |
| src / kemi / background_tasks.py |
(no function) |
|
45 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
ChunkInfo.to_dict |
|
1 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
Chunk.__len__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
Chunk.word_count |
|
1 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
Chunk.token_count_estimate |
|
1 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
_is_sentence_boundary |
|
9 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
split_into_sentences |
|
30 |
6 |
0 |
|
80% |
| src / kemi / chunker.py |
semantic_chunks |
|
54 |
2 |
0 |
|
96% |
| src / kemi / chunker.py |
semantic_chunks.sentence_tokens |
|
1 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
_cosine_sim |
|
6 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
chunk_and_embed |
|
1 |
0 |
0 |
|
100% |
| src / kemi / chunker.py |
(no function) |
|
30 |
0 |
2 |
|
100% |
| src / kemi / cli_writer.py |
Writer.write |
|
1 |
1 |
0 |
|
0% |
| src / kemi / cli_writer.py |
Writer.error |
|
1 |
1 |
0 |
|
0% |
| src / kemi / cli_writer.py |
Writer.warn |
|
1 |
1 |
0 |
|
0% |
| src / kemi / cli_writer.py |
ConsoleWriter.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
ConsoleWriter._stream |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
ConsoleWriter.write |
|
2 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
ConsoleWriter.error |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
ConsoleWriter.warn |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
JsonWriter.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
JsonWriter._emit |
|
2 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
JsonWriter.write |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
JsonWriter.error |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
JsonWriter.warn |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
SilentWriter.write |
|
2 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
SilentWriter.error |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
SilentWriter.warn |
|
1 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
make_writer |
|
5 |
0 |
0 |
|
100% |
| src / kemi / cli_writer.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| src / kemi / consolidation.py |
_get_summarizer |
|
8 |
0 |
0 |
|
100% |
| src / kemi / consolidation.py |
consolidate_cluster |
|
15 |
0 |
0 |
|
100% |
| src / kemi / consolidation.py |
consolidate |
|
20 |
4 |
0 |
|
80% |
| src / kemi / consolidation.py |
_cluster_by_similarity |
|
18 |
0 |
0 |
|
100% |
| src / kemi / consolidation.py |
_extractive_summary |
|
31 |
0 |
0 |
|
100% |
| src / kemi / consolidation.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| src / kemi / core.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| src / kemi / decomposer.py |
QueryDecompositionStrategy.decompose |
|
0 |
0 |
1 |
|
100% |
| src / kemi / decomposer.py |
SimpleDecomposition.decompose |
|
17 |
2 |
0 |
|
88% |
| src / kemi / decomposer.py |
SimpleDecomposition._starts_with_question_word |
|
2 |
0 |
0 |
|
100% |
| src / kemi / decomposer.py |
SimpleDecomposition._reconstruct_query |
|
4 |
0 |
0 |
|
100% |
| src / kemi / decomposer.py |
SubqueryExpansion.decompose |
|
10 |
0 |
0 |
|
100% |
| src / kemi / decomposer.py |
decompose_query |
|
21 |
0 |
0 |
|
100% |
| src / kemi / decomposer.py |
fused_recall |
|
30 |
0 |
0 |
|
100% |
| src / kemi / decomposer.py |
rerank_with_reranker |
|
2 |
0 |
0 |
|
100% |
| src / kemi / decomposer.py |
(no function) |
|
30 |
0 |
3 |
|
100% |
| src / kemi / dedup.py |
_extract_nouns |
|
14 |
0 |
0 |
|
100% |
| src / kemi / dedup.py |
has_sentiment_flip |
|
8 |
0 |
6 |
|
100% |
| src / kemi / dedup.py |
find_duplicates |
|
11 |
0 |
2 |
|
100% |
| src / kemi / dedup.py |
find_conflicts |
|
11 |
0 |
0 |
|
100% |
| src / kemi / dedup.py |
resolve_duplicate |
|
1 |
0 |
0 |
|
100% |
| src / kemi / dedup.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
EncryptionConfig.__init__ |
|
7 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
EncryptionConfig.from_env |
|
5 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
EncryptionConfig.from_key_file |
|
3 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
EncryptionConfig.key |
|
5 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
load_key_from_file |
|
4 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
generate_key |
|
9 |
2 |
0 |
|
78% |
| src / kemi / encryption.py |
FernetEncryptor.__init__ |
|
8 |
2 |
0 |
|
75% |
| src / kemi / encryption.py |
FernetEncryptor.encrypt |
|
6 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
FernetEncryptor.decrypt |
|
3 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
FernetEncryptor.decrypt_str |
|
1 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
FieldEncryptor.__init__ |
|
11 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
FieldEncryptor.is_enabled |
|
1 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
FieldEncryptor._encrypt_value |
|
5 |
1 |
0 |
|
80% |
| src / kemi / encryption.py |
FieldEncryptor.encrypt_field |
|
11 |
5 |
0 |
|
55% |
| src / kemi / encryption.py |
FieldEncryptor.decrypt_field |
|
7 |
2 |
0 |
|
71% |
| src / kemi / encryption.py |
FieldEncryptor._is_encrypted |
|
1 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
FieldEncryptor.encrypt_memory_row |
|
11 |
1 |
0 |
|
91% |
| src / kemi / encryption.py |
FieldEncryptor.decrypt_memory_row |
|
11 |
1 |
0 |
|
91% |
| src / kemi / encryption.py |
SQLCipherManager.__init__ |
|
5 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
SQLCipherManager.key |
|
1 |
0 |
0 |
|
100% |
| src / kemi / encryption.py |
SQLCipherManager.configure_connection |
|
9 |
9 |
0 |
|
0% |
| src / kemi / encryption.py |
SQLCipherManager.connect |
|
7 |
7 |
0 |
|
0% |
| src / kemi / encryption.py |
is_sqlcipher_available |
|
5 |
1 |
0 |
|
80% |
| src / kemi / encryption.py |
is_cryptography_available |
|
5 |
2 |
0 |
|
60% |
| src / kemi / encryption.py |
(no function) |
|
41 |
0 |
0 |
|
100% |
| src / kemi / entities.py |
EntityLinker.extract |
|
1 |
1 |
0 |
|
0% |
| src / kemi / entities.py |
NoopEntityLinker.extract |
|
1 |
0 |
0 |
|
100% |
| src / kemi / entities.py |
RegexEntityLinker.extract |
|
11 |
0 |
0 |
|
100% |
| src / kemi / entities.py |
SpacyEntityLinker.__init__ |
|
6 |
0 |
0 |
|
100% |
| src / kemi / entities.py |
SpacyEntityLinker.extract |
|
6 |
0 |
0 |
|
100% |
| src / kemi / entities.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| src / kemi / graph.py |
extract_entities |
|
15 |
0 |
0 |
|
100% |
| src / kemi / graph.py |
_guess_entity_label |
|
14 |
0 |
0 |
|
100% |
| src / kemi / graph.py |
extract_relations |
|
10 |
0 |
0 |
|
100% |
| src / kemi / graph.py |
_find_nearest_entity |
|
10 |
0 |
0 |
|
100% |
| src / kemi / graph.py |
build_memory_graph |
|
21 |
0 |
0 |
|
100% |
| src / kemi / graph.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| src / kemi / integrations / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / kemi / lifecycle.py |
evaluate_lifecycle |
|
11 |
0 |
0 |
|
100% |
| src / kemi / lifecycle.py |
transition |
|
2 |
0 |
0 |
|
100% |
| src / kemi / lifecycle.py |
get_recall_filter |
|
1 |
0 |
0 |
|
100% |
| src / kemi / lifecycle.py |
validate_transition |
|
2 |
0 |
0 |
|
100% |
| src / kemi / lifecycle.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| src / kemi / memory_formation.py |
LLMMemoryExtractor.extract |
|
1 |
1 |
0 |
|
0% |
| src / kemi / memory_formation.py |
RegexMemoryExtractor.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / memory_formation.py |
RegexMemoryExtractor.extract |
|
19 |
3 |
0 |
|
84% |
| src / kemi / memory_formation.py |
OpenAIMemoryExtractor.__init__ |
|
6 |
0 |
0 |
|
100% |
| src / kemi / memory_formation.py |
OpenAIMemoryExtractor.extract |
|
30 |
0 |
0 |
|
100% |
| src / kemi / memory_formation.py |
StaticMemoryExtractor.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / memory_formation.py |
StaticMemoryExtractor.extract |
|
1 |
0 |
0 |
|
100% |
| src / kemi / memory_formation.py |
extract_memories |
|
33 |
1 |
0 |
|
97% |
| src / kemi / memory_formation.py |
remember_from_conversation |
|
11 |
0 |
0 |
|
100% |
| src / kemi / memory_formation.py |
(no function) |
|
34 |
0 |
2 |
|
100% |
| src / kemi / models.py |
MemoryConfig.__post_init__ |
|
22 |
0 |
0 |
|
100% |
| src / kemi / models.py |
(no function) |
|
62 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Counter.__init__ |
|
5 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Counter.inc |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Counter.value |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Counter.to_prometheus |
|
3 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Histogram.__init__ |
|
8 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Histogram.observe |
|
6 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Histogram.to_prometheus |
|
8 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Gauge.__init__ |
|
4 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Gauge.set |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Gauge.inc |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Gauge.dec |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Gauge.value |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
Gauge.to_prometheus |
|
3 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector.__init__ |
|
28 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector._start_timer |
|
1 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector._stop_timer |
|
3 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector.track |
|
1 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector.record_operation |
|
1 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector.to_dict |
|
1 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector.to_prometheus |
|
11 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
MetricsCollector.reset |
|
14 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
_OperationTracker.__init__ |
|
3 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
_OperationTracker.__enter__ |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
_OperationTracker.__exit__ |
|
3 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
_OperationTracker.duration |
|
3 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
get_metrics_collector |
|
7 |
1 |
0 |
|
86% |
| src / kemi / observability.py |
reset_metrics |
|
2 |
0 |
0 |
|
100% |
| src / kemi / observability.py |
(no function) |
|
48 |
0 |
0 |
|
100% |
| src / kemi / operations / __init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_hooks.py |
add |
|
3 |
1 |
0 |
|
67% |
| src / kemi / operations / _ops_hooks.py |
remove |
|
4 |
1 |
0 |
|
75% |
| src / kemi / operations / _ops_hooks.py |
run |
|
9 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_hooks.py |
(no function) |
|
7 |
0 |
2 |
|
100% |
| src / kemi / operations / _ops_metrics.py |
latency_tracker |
|
3 |
1 |
0 |
|
67% |
| src / kemi / operations / _ops_metrics.py |
track_operation |
|
9 |
9 |
0 |
|
0% |
| src / kemi / operations / _ops_metrics.py |
track_operation_full |
|
16 |
4 |
0 |
|
75% |
| src / kemi / operations / _ops_metrics.py |
record_embed_error |
|
5 |
5 |
0 |
|
0% |
| src / kemi / operations / _ops_metrics.py |
record_store_error |
|
5 |
5 |
0 |
|
0% |
| src / kemi / operations / _ops_metrics.py |
get_metrics |
|
10 |
6 |
0 |
|
40% |
| src / kemi / operations / _ops_metrics.py |
get_metrics_prometheus |
|
8 |
4 |
0 |
|
50% |
| src / kemi / operations / _ops_metrics.py |
enable_adaptive_retrieval |
|
9 |
2 |
0 |
|
78% |
| src / kemi / operations / _ops_metrics.py |
enable_audit_trail |
|
6 |
2 |
0 |
|
67% |
| src / kemi / operations / _ops_metrics.py |
enable_query_cache |
|
2 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_metrics.py |
disable_query_cache |
|
1 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_metrics.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| src / kemi / operations / _ops_versioning.py |
configure |
|
13 |
2 |
0 |
|
85% |
| src / kemi / operations / _ops_versioning.py |
get_store |
|
7 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_versioning.py |
get_history |
|
7 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_versioning.py |
diff |
|
6 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_versioning.py |
rollback |
|
6 |
0 |
0 |
|
100% |
| src / kemi / operations / _ops_versioning.py |
auto_prune |
|
16 |
3 |
0 |
|
81% |
| src / kemi / operations / _ops_versioning.py |
(no function) |
|
12 |
0 |
2 |
|
100% |
| src / kemi / operations / _ops_webhooks.py |
configure |
|
12 |
12 |
0 |
|
0% |
| src / kemi / operations / _ops_webhooks.py |
dispatch |
|
19 |
17 |
0 |
|
11% |
| src / kemi / operations / _ops_webhooks.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| src / kemi / operations / _query_cache.py |
_QueryCache.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / kemi / operations / _query_cache.py |
_QueryCache._make_key |
|
3 |
0 |
0 |
|
100% |
| src / kemi / operations / _query_cache.py |
_QueryCache._copy_memories |
|
1 |
0 |
0 |
|
100% |
| src / kemi / operations / _query_cache.py |
_QueryCache.get |
|
4 |
0 |
0 |
|
100% |
| src / kemi / operations / _query_cache.py |
_QueryCache.put |
|
5 |
2 |
0 |
|
60% |
| src / kemi / operations / _query_cache.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| src / kemi / pipeline / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / kemi / pipeline / ingestion.py |
_memory_to_dict |
|
1 |
0 |
0 |
|
100% |
| src / kemi / pipeline / ingestion.py |
IngestionPipeline.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / pipeline / ingestion.py |
IngestionPipeline.ingest |
|
33 |
3 |
0 |
|
91% |
| src / kemi / pipeline / ingestion.py |
IngestionPipeline._handle_duplicate |
|
20 |
0 |
0 |
|
100% |
| src / kemi / pipeline / ingestion.py |
(no function) |
|
26 |
0 |
4 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline.retrieve |
|
26 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._embed_query |
|
1 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._check_cache |
|
8 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._search_storage |
|
4 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._validate_embedding_dim |
|
6 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._build_entity_maps |
|
10 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._rank |
|
1 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._mmr_rerank |
|
3 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._truncate |
|
3 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._update_lifecycle |
|
9 |
4 |
0 |
|
56% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._cache_results |
|
4 |
0 |
0 |
|
100% |
| src / kemi / pipeline / retrieval.py |
RetrievalPipeline._adaptive_feedback |
|
7 |
2 |
0 |
|
71% |
| src / kemi / pipeline / retrieval.py |
(no function) |
|
38 |
0 |
3 |
|
100% |
| src / kemi / procedures.py |
remember_procedure |
|
11 |
0 |
0 |
|
100% |
| src / kemi / procedures.py |
recall_procedures |
|
10 |
0 |
0 |
|
100% |
| src / kemi / procedures.py |
(no function) |
|
5 |
0 |
3 |
|
100% |
| src / kemi / reranker.py |
rerank_results |
|
16 |
1 |
0 |
|
94% |
| src / kemi / reranker.py |
FallbackReranker.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / reranker.py |
FallbackReranker.score |
|
19 |
2 |
0 |
|
89% |
| src / kemi / reranker.py |
FallbackReranker._normalize_terms |
|
1 |
0 |
0 |
|
100% |
| src / kemi / reranker.py |
FallbackReranker._stemmed_overlap |
|
4 |
0 |
0 |
|
100% |
| src / kemi / reranker.py |
FallbackReranker._strip_suffix |
|
4 |
0 |
0 |
|
100% |
| src / kemi / reranker.py |
FallbackReranker._position_bonus |
|
7 |
0 |
0 |
|
100% |
| src / kemi / reranker.py |
FallbackReranker._cosine_sim |
|
6 |
1 |
0 |
|
83% |
| src / kemi / reranker.py |
CrossEncoderReranker.__init__ |
|
4 |
4 |
0 |
|
0% |
| src / kemi / reranker.py |
CrossEncoderReranker.score |
|
1 |
1 |
0 |
|
0% |
| src / kemi / reranker.py |
NomicReranker.__init__ |
|
6 |
2 |
0 |
|
67% |
| src / kemi / reranker.py |
NomicReranker.score |
|
18 |
8 |
0 |
|
56% |
| src / kemi / reranker.py |
fuse_and_rerank |
|
11 |
0 |
0 |
|
100% |
| src / kemi / reranker.py |
(no function) |
|
36 |
0 |
2 |
|
100% |
| src / kemi / sanitize.py |
_log_detection |
|
6 |
0 |
0 |
|
100% |
| src / kemi / sanitize.py |
_get_content_hash |
|
1 |
0 |
0 |
|
100% |
| src / kemi / sanitize.py |
is_suspicious |
|
7 |
0 |
0 |
|
100% |
| src / kemi / sanitize.py |
sanitize |
|
17 |
0 |
0 |
|
100% |
| src / kemi / sanitize.py |
sanitize_with_rejection |
|
18 |
0 |
0 |
|
100% |
| src / kemi / sanitize.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| src / kemi / scoring.py |
bm25_score |
|
24 |
0 |
4 |
|
100% |
| src / kemi / scoring.py |
bm25_score_corpus |
|
30 |
0 |
4 |
|
100% |
| src / kemi / scoring.py |
cosine_similarity |
|
15 |
12 |
5 |
|
20% |
| src / kemi / scoring.py |
temporal_recency |
|
5 |
0 |
0 |
|
100% |
| src / kemi / scoring.py |
jaccard_similarity |
|
5 |
0 |
0 |
|
100% |
| src / kemi / scoring.py |
score_memory |
|
16 |
0 |
0 |
|
100% |
| src / kemi / scoring.py |
rank_memories |
|
7 |
0 |
0 |
|
100% |
| src / kemi / scoring.py |
mmr_rerank |
|
22 |
0 |
2 |
|
100% |
| src / kemi / scoring.py |
_default_token_counter |
|
2 |
0 |
0 |
|
100% |
| src / kemi / scoring.py |
mmr_rerank_stream |
|
25 |
2 |
0 |
|
92% |
| src / kemi / scoring.py |
truncate_by_tokens |
|
14 |
0 |
2 |
|
100% |
| src / kemi / scoring.py |
(no function) |
|
16 |
1 |
4 |
|
94% |
| src / kemi / summarizer.py |
LLMSummarizer.__init__ |
|
9 |
0 |
0 |
|
100% |
| src / kemi / summarizer.py |
LLMSummarizer._init_client |
|
24 |
0 |
0 |
|
100% |
| src / kemi / summarizer.py |
LLMSummarizer.summarize |
|
22 |
0 |
0 |
|
100% |
| src / kemi / summarizer.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| src / kemi / topics.py |
_sklearn_available |
|
5 |
2 |
0 |
|
60% |
| src / kemi / topics.py |
cluster_memories |
|
29 |
1 |
0 |
|
97% |
| src / kemi / topics.py |
_generate_topic_label |
|
12 |
0 |
0 |
|
100% |
| src / kemi / topics.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
_pack_embedding |
|
3 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
_unpack_embedding |
|
7 |
1 |
0 |
|
86% |
| src / kemi / versions.py |
MemoryVersionStore.__init__ |
|
7 |
1 |
0 |
|
86% |
| src / kemi / versions.py |
MemoryVersionStore._get_connection |
|
4 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore._ensure_tables |
|
6 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore._next_version_number |
|
8 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore.record_version |
|
15 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore.record_before_update |
|
17 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore.prune_versions |
|
22 |
3 |
0 |
|
86% |
| src / kemi / versions.py |
MemoryVersionStore.verify_sequential_versions |
|
7 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore.list_versions |
|
8 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore.get_version |
|
7 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore.get_latest_version_number |
|
7 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore.rollback |
|
28 |
5 |
0 |
|
82% |
| src / kemi / versions.py |
MemoryVersionStore.diff |
|
12 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore._row_to_snapshot |
|
2 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
MemoryVersionStore._normalize_field_value |
|
3 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
diff_memories |
|
7 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
enable_versioning |
|
4 |
0 |
0 |
|
100% |
| src / kemi / versions.py |
(no function) |
|
60 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookEventType.from_string |
|
5 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
RetryConfig.delay |
|
2 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookConfig.matches_event |
|
1 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
build_payload |
|
8 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
sign_payload |
|
3 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore._get_connection |
|
4 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore._init_schema |
|
2 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore.create |
|
7 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore.get |
|
5 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore.list_all |
|
5 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore.list_for_event |
|
2 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore.delete |
|
3 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore.update |
|
5 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookStore._row_to_config |
|
6 |
2 |
0 |
|
67% |
| src / kemi / webhooks.py |
WebhookDispatcher.__init__ |
|
1 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookDispatcher.dispatch_sync |
|
5 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookDispatcher._call_with_retry_sync |
|
23 |
3 |
0 |
|
87% |
| src / kemi / webhooks.py |
WebhookDispatcher.dispatch_async |
|
5 |
0 |
0 |
|
100% |
| src / kemi / webhooks.py |
WebhookDispatcher.dispatch_async._call |
|
22 |
3 |
0 |
|
86% |
| src / kemi / webhooks.py |
(no function) |
|
55 |
0 |
0 |
|
100% |