Coverage report: 100%

Files Functions Classes

coverage.py v7.13.4, created at 2026-05-15 20:55 +0000

File function   statements missing excluded   coverage
src / lilbee / __init__.py _install_thread_only_tqdm_lock   6 0 0   100%
src / lilbee / __init__.py _prestart_mp_resource_tracker   10 0 0   100%
src / lilbee / __init__.py _shrink_hf_download_chunk_size   5 0 0   100%
src / lilbee / __init__.py __getattr__   4 0 0   100%
src / lilbee / __init__.py (no function)   14 0 2   100%
src / lilbee / api.py _swap_config   9 0 0   100%
src / lilbee / api.py Lilbee.__init__   16 0 0   100%
src / lilbee / api.py Lilbee.config   1 0 0   100%
src / lilbee / api.py Lilbee.store   1 0 0   100%
src / lilbee / api.py Lilbee.embedder   1 0 0   100%
src / lilbee / api.py Lilbee.searcher   1 0 0   100%
src / lilbee / api.py Lilbee.sync   3 0 0   100%
src / lilbee / api.py Lilbee.search   2 0 0   100%
src / lilbee / api.py Lilbee.add   5 0 0   100%
src / lilbee / api.py Lilbee.remove   9 0 0   100%
src / lilbee / api.py Lilbee.status   3 0 0   100%
src / lilbee / api.py Lilbee.rebuild   3 0 0   100%
src / lilbee / api.py (no function)   34 0 4   100%
src / lilbee / app / __init__.py (no function)   0 0 0   100%
src / lilbee / app / ingest.py _copytree_ignore   1 0 0   100%
src / lilbee / app / ingest.py copy_files   13 0 0   100%
src / lilbee / app / ingest.py temporary_ocr_config   9 0 0   100%
src / lilbee / app / ingest.py (no function)   17 0 0   100%
src / lilbee / app / models.py _bytes_to_gb   1 0 0   100%
src / lilbee / app / models.py ModelEntry.from_native   3 0 0   100%
src / lilbee / app / models.py ModelEntry.from_backend   2 0 0   100%
src / lilbee / app / models.py CatalogEntryData.from_catalog_model   1 0 0   100%
src / lilbee / app / models.py ManifestData.from_manifest   2 0 0   100%
src / lilbee / app / models.py _native_manifest_index   2 0 0   100%
src / lilbee / app / models.py _resolve_native_path   4 0 0   100%
src / lilbee / app / models.py _collect_native_entries   4 0 0   100%
src / lilbee / app / models.py _collect_backend_entries   4 0 0   100%
src / lilbee / app / models.py list_models_data   9 0 0   100%
src / lilbee / app / models.py show_model_data   8 0 0   100%
src / lilbee / app / models.py _backend_event_to_progress   6 0 0   100%
src / lilbee / app / models.py _build_pull_callbacks   6 0 0   100%
src / lilbee / app / models.py pull_model_data   6 0 0   100%
src / lilbee / app / models.py remove_model_data   5 0 0   100%
src / lilbee / app / models.py (no function)   97 0 6   100%
src / lilbee / app / reset.py _clear_dir   16 0 0   100%
src / lilbee / app / reset.py perform_reset   4 0 0   100%
src / lilbee / app / reset.py (no function)   16 0 0   100%
src / lilbee / app / search.py resolve_vault_path   13 0 0   100%
src / lilbee / app / search.py clean_result   5 0 0   100%
src / lilbee / app / search.py (no function)   5 0 2   100%
src / lilbee / app / services.py Services.cancel_inference   2 0 0   100%
src / lilbee / app / services.py Services.reload_role   5 0 0   100%
src / lilbee / app / services.py Services.reload_role._close   1 0 0   100%
src / lilbee / app / services.py Services.add_pool_listener   1 0 0   100%
src / lilbee / app / services.py get_services   42 0 0   100%
src / lilbee / app / services.py set_services   1 0 0   100%
src / lilbee / app / services.py peek_services   1 0 0   100%
src / lilbee / app / services.py reset_services   5 0 0   100%
src / lilbee / app / services.py reset_store   14 0 0   100%
src / lilbee / app / services.py (no function)   43 0 15   100%
src / lilbee / app / status.py gather_status   4 0 0   100%
src / lilbee / app / status.py (no function)   23 0 0   100%
src / lilbee / app / version.py get_version   1 0 0   100%
src / lilbee / app / version.py (no function)   3 0 0   100%
src / lilbee / catalog / __init__.py (no function)   8 0 0   100%
src / lilbee / catalog / download.py _hf_download_or_translate   16 0 0   100%
src / lilbee / catalog / download.py download_model   19 0 0   100%
src / lilbee / catalog / download.py _finalize_download   5 0 0   100%
src / lilbee / catalog / download.py _download_mmproj   13 0 0   100%
src / lilbee / catalog / download.py _resolve_mmproj_filename   17 0 0   100%
src / lilbee / catalog / download.py _mmproj_in_models_dir_matching   5 0 0   100%
src / lilbee / catalog / download.py find_mmproj_file   11 0 0   100%
src / lilbee / catalog / download.py resolve_filename   16 0 0   100%
src / lilbee / catalog / download.py _pick_best_gguf   5 0 0   100%
src / lilbee / catalog / download.py fetch_model_file_size   12 0 0   100%
src / lilbee / catalog / download.py (no function)   36 0 0   100%
src / lilbee / catalog / download_progress.py make_download_callback   4 0 0   100%
src / lilbee / catalog / download_progress.py make_download_callback._on_progress   14 0 0   100%
src / lilbee / catalog / download_progress.py _CallbackProgressBar.get_lock   1 0 0   100%
src / lilbee / catalog / download_progress.py _CallbackProgressBar.__init__   4 0 0   100%
src / lilbee / catalog / download_progress.py _CallbackProgressBar.update   5 0 0   100%
src / lilbee / catalog / download_progress.py _ProgressTracker.__init__   2 0 0   100%
src / lilbee / catalog / download_progress.py _ProgressTracker.make_tqdm_class   5 0 0   100%
src / lilbee / catalog / download_progress.py _ProgressTracker.make_tqdm_class._Cls.update   2 0 0   100%
src / lilbee / catalog / download_progress.py (no function)   21 0 0   100%
src / lilbee / catalog / families.py _extract_family_name   3 0 0   100%
src / lilbee / catalog / families.py _catalog_to_variant   2 0 0   100%
src / lilbee / catalog / families.py _family_slug   1 0 0   100%
src / lilbee / catalog / families.py _build_families   14 0 0   100%
src / lilbee / catalog / families.py get_families   1 0 0   100%
src / lilbee / catalog / families.py (no function)   11 0 0   100%
src / lilbee / catalog / featured.py _load_featured   6 0 0   100%
src / lilbee / catalog / featured.py _load_featured._build   1 0 0   100%
src / lilbee / catalog / featured.py (no function)   8 0 0   100%
src / lilbee / catalog / formatting.py clean_display_name   9 0 0   100%
src / lilbee / catalog / formatting.py display_label_for_ref   7 0 0   100%
src / lilbee / catalog / formatting.py extract_quant   2 0 0   100%
src / lilbee / catalog / formatting.py quant_tier   3 0 0   100%
src / lilbee / catalog / formatting.py derive_param_count   2 0 0   100%
src / lilbee / catalog / formatting.py enrich_catalog   5 0 0   100%
src / lilbee / catalog / formatting.py (no function)   31 0 0   100%
src / lilbee / catalog / hf_client.py _HfSubstringFilter.__init__   2 0 0   100%
src / lilbee / catalog / hf_client.py _HfSubstringFilter.filter   1 0 0   100%
src / lilbee / catalog / hf_client.py install_hf_log_filter   3 0 0   100%
src / lilbee / catalog / hf_client.py hf_token   8 0 0   100%
src / lilbee / catalog / hf_client.py hf_headers   4 0 0   100%
src / lilbee / catalog / hf_client.py _hf_search_value   2 0 0   100%
src / lilbee / catalog / hf_client.py _has_gguf_siblings   1 0 0   100%
src / lilbee / catalog / hf_client.py _estimate_size_from_siblings   7 0 0   100%
src / lilbee / catalog / hf_client.py HfClient.__init__   3 0 0   100%
src / lilbee / catalog / hf_client.py HfClient.fetch_models   43 0 0   100%
src / lilbee / catalog / hf_client.py HfClient._log_fetch_failure   5 0 0   100%
src / lilbee / catalog / hf_client.py (no function)   36 0 0   100%
src / lilbee / catalog / models.py CatalogModel.ref   1 0 0   100%
src / lilbee / catalog / models.py CatalogModel.display_name   2 0 0   100%
src / lilbee / catalog / models.py (no function)   54 0 0   100%
src / lilbee / catalog / query.py _search_blob   1 0 0   100%
src / lilbee / catalog / query.py get_catalog   28 0 0   100%
src / lilbee / catalog / query.py _task_to_pipeline   2 0 0   100%
src / lilbee / catalog / query.py pipeline_to_task   1 0 0   100%
src / lilbee / catalog / query.py _get_installed_models   4 0 0   100%
src / lilbee / catalog / query.py _sort_models   2 0 0   100%
src / lilbee / catalog / query.py _build_catalog_index   7 0 0   100%
src / lilbee / catalog / query.py find_catalog_entry   17 0 0   100%
src / lilbee / catalog / query.py is_rerank_ref   4 0 0   100%
src / lilbee / catalog / query.py _is_hf_repo_id   7 0 0   100%
src / lilbee / catalog / query.py build_adhoc_entry   1 0 0   100%
src / lilbee / catalog / query.py resolve_pull_target   4 0 0   100%
src / lilbee / catalog / query.py (no function)   28 0 0   100%
src / lilbee / catalog / refs.py hf_repo_from_ref   3 0 0   100%
src / lilbee / catalog / refs.py format_native_gguf_ref   1 0 0   100%
src / lilbee / catalog / refs.py (no function)   3 0 0   100%
src / lilbee / catalog / types.py ModelSource.parse   7 0 0   100%
src / lilbee / catalog / types.py (no function)   12 0 0   100%
src / lilbee / cli / __init__.py (no function)   5 0 0   100%
src / lilbee / cli / app.py _apply_data_root   6 0 0   100%
src / lilbee / cli / app.py _resolve_data_root   10 0 0   100%
src / lilbee / cli / app.py apply_overrides   7 0 0   100%
src / lilbee / cli / app.py _default   25 0 0   100%
src / lilbee / cli / app.py (no function)   29 0 0   100%
src / lilbee / cli / commands / __init__.py (no function)   26 0 0   100%
src / lilbee / cli / commands / _shared.py (no function)   2 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _apply_ocr_overrides   4 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _partition_inputs   7 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _crawl_urls_blocking   22 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _crawl_urls_blocking._make_callback   2 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _crawl_urls_blocking._make_callback.on_progress   5 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _run_crawl_with_signal_cancel   13 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _run_crawl_with_signal_cancel._on_sigint   1 0 0   100%
src / lilbee / cli / commands / ingest_sync.py sync_cmd   15 0 0   100%
src / lilbee / cli / commands / ingest_sync.py rebuild   15 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _validate_file_paths   8 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _crawl_urls_step   10 0 0   100%
src / lilbee / cli / commands / ingest_sync.py _add_json_mode   6 0 0   100%
src / lilbee / cli / commands / ingest_sync.py add   21 0 0   100%
src / lilbee / cli / commands / ingest_sync.py chunks   21 0 0   100%
src / lilbee / cli / commands / ingest_sync.py remove   16 0 0   100%
src / lilbee / cli / commands / ingest_sync.py (no function)   39 0 3   100%
src / lilbee / cli / commands / meta.py version   5 0 0   100%
src / lilbee / cli / commands / meta.py status   5 0 0   100%
src / lilbee / cli / commands / meta.py reset   18 0 0   100%
src / lilbee / cli / commands / meta.py init   16 0 0   100%
src / lilbee / cli / commands / meta.py (no function)   17 0 0   100%
src / lilbee / cli / commands / search_chat.py search   36 0 0   100%
src / lilbee / cli / commands / search_chat.py ask   23 0 0   100%
src / lilbee / cli / commands / search_chat.py chat   9 0 0   100%
src / lilbee / cli / commands / search_chat.py topics   24 0 0   100%
src / lilbee / cli / commands / search_chat.py _topics_for_query   13 0 0   100%
src / lilbee / cli / commands / search_chat.py _topics_overview   18 0 0   100%
src / lilbee / cli / commands / search_chat.py (no function)   22 0 0   100%
src / lilbee / cli / commands / servers.py _port_file   1 0 0   100%
src / lilbee / cli / commands / servers.py _run_server   26 0 0   100%
src / lilbee / cli / commands / servers.py _run_server._cleanup_port_file   1 0 0   100%
src / lilbee / cli / commands / servers.py _run_server._on_parent_death   1 0 0   100%
src / lilbee / cli / commands / servers.py serve   12 0 0   100%
src / lilbee / cli / commands / servers.py mcp_cmd   2 0 0   100%
src / lilbee / cli / commands / servers.py (no function)   11 0 2   100%
src / lilbee / cli / commands / setup.py _download_self_check_model   16 0 0   100%
src / lilbee / cli / commands / setup.py _self_check_emit_failure   3 0 0   100%
src / lilbee / cli / commands / setup.py _resolved_provider_kwargs   1 0 0   100%
src / lilbee / cli / commands / setup.py self_check_cmd   41 0 0   100%
src / lilbee / cli / commands / setup.py self_check_extras_cmd   20 0 0   100%
src / lilbee / cli / commands / setup.py token   20 0 0   100%
src / lilbee / cli / commands / setup.py login   16 0 0   100%
src / lilbee / cli / commands / setup.py setup_crawler_cmd   17 0 0   100%
src / lilbee / cli / commands / setup.py setup_crawler_cmd._on_progress   7 0 0   100%
src / lilbee / cli / commands / setup.py (no function)   33 0 0   100%
src / lilbee / cli / commands / wiki.py _count_md_files   3 0 0   100%
src / lilbee / cli / commands / wiki.py _fail_wiki_disabled   4 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_lint   23 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_citations   17 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_status   23 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_synthesize   16 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_prune   18 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_build   27 0 0   100%
src / lilbee / cli / commands / wiki.py _wiki_build_dry_run_output   20 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_update   1 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_drafts_list   23 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_drafts_diff   14 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_drafts_accept   14 0 0   100%
src / lilbee / cli / commands / wiki.py wiki_drafts_reject   14 0 0   100%
src / lilbee / cli / commands / wiki.py (no function)   44 0 2   100%
src / lilbee / cli / helpers.py json_output   1 0 0   100%
src / lilbee / cli / helpers.py render_status_result   25 0 0   100%
src / lilbee / cli / helpers.py render_status   3 0 0   100%
src / lilbee / cli / helpers.py copy_paths   4 0 0   100%
src / lilbee / cli / helpers.py add_paths   11 0 0   100%
src / lilbee / cli / helpers.py sync_result_to_json   4 0 0   100%
src / lilbee / cli / helpers.py auto_sync   13 0 0   100%
src / lilbee / cli / helpers.py (no function)   19 0 2   100%
src / lilbee / cli / model.py _render_list   9 0 0   100%
src / lilbee / cli / model.py _render_show   11 0 0   100%
src / lilbee / cli / model.py _parse_source_or_bad_param   8 0 0   100%
src / lilbee / cli / model.py list_cmd   14 0 0   100%
src / lilbee / cli / model.py show_cmd   13 0 0   100%
src / lilbee / cli / model.py _run_pull   7 0 0   100%
src / lilbee / cli / model.py _pull_json_stream   3 0 0   100%
src / lilbee / cli / model.py _pull_json_stream.on_update   2 0 0   100%
src / lilbee / cli / model.py _pull_interactive_progress   8 0 0   100%
src / lilbee / cli / model.py _pull_interactive_progress.on_update   1 0 0   100%
src / lilbee / cli / model.py pull_cmd   6 0 0   100%
src / lilbee / cli / model.py _confirm_remove_or_exit   5 0 0   100%
src / lilbee / cli / model.py rm_cmd   14 0 0   100%
src / lilbee / cli / model.py _is_interactive_terminal   2 0 0   100%
src / lilbee / cli / model.py browse_cmd   9 0 0   100%
src / lilbee / cli / model.py (no function)   34 0 4   100%
src / lilbee / cli / settings_map.py get_default   6 0 0   100%
src / lilbee / cli / settings_map.py (no function)   24 0 0   100%
src / lilbee / cli / sync.py _format_sync_summary   3 0 0   100%
src / lilbee / cli / sync.py _print_file_start   4 0 0   100%
src / lilbee / cli / sync.py _print_done   5 0 0   100%
src / lilbee / cli / sync.py _sync_progress_printer   3 0 0   100%
src / lilbee / cli / sync.py _sync_progress_printer._callback   3 0 0   100%
src / lilbee / cli / sync.py _get_executor   3 0 0   100%
src / lilbee / cli / sync.py shutdown_executor   4 0 0   100%
src / lilbee / cli / sync.py _on_sync_done   10 0 0   100%
src / lilbee / cli / sync.py SyncStatus.__init__   2 0 0   100%
src / lilbee / cli / sync.py SyncStatus.clear   1 0 0   100%
src / lilbee / cli / sync.py _chat_sync_callback   3 0 0   100%
src / lilbee / cli / sync.py _chat_sync_callback._callback   16 0 0   100%
src / lilbee / cli / sync.py run_sync_background   8 0 0   100%
src / lilbee / cli / sync.py run_sync_background._run   3 0 0   100%
src / lilbee / cli / sync.py (no function)   23 0 2   100%
src / lilbee / cli / theme.py (no function)   11 0 0   100%
src / lilbee / cli / tui / __init__.py _silence_stderr_log_handlers   8 0 0   100%
src / lilbee / cli / tui / __init__.py _redirect_native_stderr_to   13 0 0   100%
src / lilbee / cli / tui / __init__.py _restore_native_stderr   6 0 0   100%
src / lilbee / cli / tui / __init__.py run_tui   13 0 0   100%
src / lilbee / cli / tui / __init__.py (no function)   18 0 0   100%
src / lilbee / cli / tui / app.py _view_screen_name   1 0 0   100%
src / lilbee / cli / tui / app.py _make_catalog   2 0 0   100%
src / lilbee / cli / tui / app.py _make_status   2 0 0   100%
src / lilbee / cli / tui / app.py _make_settings   2 0 0   100%
src / lilbee / cli / tui / app.py _make_tasks   2 0 0   100%
src / lilbee / cli / tui / app.py _make_wiki   2 0 0   100%
src / lilbee / cli / tui / app.py get_views   4 0 0   100%
src / lilbee / cli / tui / app.py _on_settings_changed_evict_cache   7 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.__init__   10 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.compose   1 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.on_mount   17 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._wire_worker_pool_notifications   3 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._wire_worker_pool_notifications._on_spawning   1 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._wire_worker_pool_notifications._on_spawned   1 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._canonicalize_persisted_models   7 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._fan_out_provider_availability   4 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_cycle_theme   4 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.set_theme   3 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._apply_and_persist_theme   3 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.set_active_model   9 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.set_setting   12 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._sync_theme_index_to_current   4 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_quit   17 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.switch_view   18 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.switch_view._finish   4 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_push_help   3 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_command_palette   12 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_dismiss_help_if_open   5 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.check_action   3 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_open_tasks   1 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_global_slash_to_chat   4 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp._prefill_chat_command   3 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_run_sync   11 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_run_sync._start   2 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_nav_prev   3 0 0   100%
src / lilbee / cli / tui / app.py LilbeeApp.action_nav_next   3 0 0   100%
src / lilbee / cli / tui / app.py apply_active_model   1 0 0   100%
src / lilbee / cli / tui / app.py apply_setting   1 0 0   100%
src / lilbee / cli / tui / app.py (no function)   67 0 0   100%
src / lilbee / cli / tui / command_registry.py build_dispatch_dict   6 0 0   100%
src / lilbee / cli / tui / command_registry.py completion_names   5 0 0   100%
src / lilbee / cli / tui / command_registry.py (no function)   13 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._app   1 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider.search   5 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider.discover   2 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._get_commands   5 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._model_commands   8 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._document_commands   9 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._set_model   6 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._delete_doc   4 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._action_sync   1 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._action_retry_skipped   5 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._action_version   2 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._action_setup   2 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._action_open_wiki   1 0 0   100%
src / lilbee / cli / tui / commands.py LilbeeCommandProvider._action_noop   1 0 0   100%
src / lilbee / cli / tui / commands.py (no function)   25 0 2   100%
src / lilbee / cli / tui / log_routing.py setup_tui_log_file   12 0 0   100%
src / lilbee / cli / tui / log_routing.py (no function)   11 0 0   100%
src / lilbee / cli / tui / messages.py sync_skipped_message   3 0 0   100%
src / lilbee / cli / tui / messages.py retry_skipped_message   1 0 0   100%
src / lilbee / cli / tui / messages.py wiki_empty_state_leaf   3 0 0   100%
src / lilbee / cli / tui / messages.py wiki_empty_state_detail   3 0 0   100%
src / lilbee / cli / tui / messages.py _spacy_available   8 0 0   100%
src / lilbee / cli / tui / messages.py get_nav_views   4 0 0   100%
src / lilbee / cli / tui / messages.py (no function)   249 0 0   100%
src / lilbee / cli / tui / pill.py pill   3 0 0   100%
src / lilbee / cli / tui / pill.py (no function)   3 0 0   100%
src / lilbee / cli / tui / screens / __init__.py (no function)   0 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.__init__   34 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._grid_for_tab   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._list_for_tab   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._grid_container   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._list_widget   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._search_focused   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.compose   31 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.on_mount   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._activate_initial_tab   19 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.on_unmount   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.on_screen_suspend   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.on_screen_resume   2 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._stop_spinner_timer   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_provider_availability_changed   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._focus_first_grid   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._initial_focus_first_grid   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._fetch_installed_names   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._active_tab_id   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._active_task   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._active_task_has_more   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._hf_fetched_any   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._ensure_task_initial_fetch   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_toggle_view   25 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._sync_grid_list_toggle   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_focus_search   2 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_search_changed   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._apply_search_filter   8 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_search_submitted   8 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._trigger_remote_search   10 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_search_hf_cta_clicked   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._select_first_visible_grid_card   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._select_first_visible_list_item   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._fetch_hf_page_for_task   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._fetch_initial_hf_models_for_task   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._fetch_remote_models   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._fetch_frontier_models   15 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._fetch_more_hf_for_task   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._fetch_hf_search   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.on_worker_state_changed   19 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._append_more_hf_to_list   12 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._handle_worker_error_or_cancel   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._apply_worker_result   21 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._populate_library_list   12 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._render_library_list   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._render_library_grid   19 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._get_search_text   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._local_rows_data_key   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._all_family_rows   16 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._all_hf_rows   11 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._all_remote_rows   8 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._stamp_fit   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._build_rows   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._build_family_rows   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._build_hf_rows   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._build_remote_rows   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._build_frontier_rows   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._is_installed   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._sort_rows   2 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._refresh_view   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._refresh_grid   14 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._prepare_grid_refresh   24 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._extend_grid_sections_in_place   10 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._remount_grid_sections   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._capture_focused_section   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._restore_focused_section   11 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._mount_grid_section   2 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._mount_remaining_grid_sections   10 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._grid_scroll_hint_text   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._mount_grid_ctas   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._refresh_grid_ctas   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._rows_for_active_tab   11 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._filter_grid   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_grid_highlighted   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._update_drawer_for_grid   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.on_key   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_select_tab   14 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_cycle_tab   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_cycle_source   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_toggle_drawer   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._reveal_scroll_hint_at_catalog_end   11 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_grid_leave_down   8 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_grid_leave_up   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_grid_select_selected   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_grid_selected   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_model_list_selected   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._refresh_list   15 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._filter_list   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._sync_loading_spinner   24 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._tick_loading_spinner   8 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._update_sort_label   17 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._frontier_label_text   2 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_cycle_sort   15 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._select_row   10 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._select_frontier_row   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._load_more   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_load_more   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_catalog_tab_activated   12 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._populate_discover_rails   11 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._install_variant   2 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._install_model   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._enqueue_download   2 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_go_back   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_dismiss_filter   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._focus_list_or_grid   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_show_info   11 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._highlighted_row   13 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_delete_model   14 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._row_is_installed   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._resolve_delete_ref   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._get_highlighted_model_name   16 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._run_delete   10 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._refresh_after_delete   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._focused_grid   3 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._list_count   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._focus_list_item   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._focused_list_index   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._nudge_list   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._maybe_prefetch_on_nav   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._maybe_prefetch_on_grid_nav   19 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_list_scrolled   4 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._on_grid_scrolled   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.on_mouse_scroll_down   12 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._scroll_prefetch_due   10 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._page_rows   1 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_page_down   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_page_up   7 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_cursor_down   8 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_cursor_up   8 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen._first_grid_or_none   5 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_jump_top   6 0 0   100%
src / lilbee / cli / tui / screens / catalog.py CatalogScreen.action_jump_bottom   9 0 0   100%
src / lilbee / cli / tui / screens / catalog.py (no function)   225 0 0   100%
src / lilbee / cli / tui / screens / catalog_grouping.py row_cache_signature   3 0 0   100%
src / lilbee / cli / tui / screens / catalog_grouping.py for_you_sort_key   9 0 0   100%
src / lilbee / cli / tui / screens / catalog_grouping.py group_frontier_rows   14 0 0   100%
src / lilbee / cli / tui / screens / catalog_grouping.py group_task_rows_with_picks   10 0 0   100%
src / lilbee / cli / tui / screens / catalog_grouping.py group_rows_for_grid   16 0 0   100%
src / lilbee / cli / tui / screens / catalog_grouping.py (no function)   17 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py next_source_mode   2 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py task_to_tab_id   6 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py parse_param_label   3 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py _format_downloads   5 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py _format_size_mb   5 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py format_size_gb   3 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py _is_param_count   1 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py family_to_size_variants   2 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py _size_variant_label   2 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py variant_to_row   5 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py catalog_to_row   2 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py remote_to_row   1 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py frontier_row_from_remote   1 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py _param_sort_value   2 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py row_delete_id   5 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py matches_search   6 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py _normalize_for_search   1 0 0   100%
src / lilbee / cli / tui / screens / catalog_utils.py (no function)   91 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatWelcome.__init__   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.__init__   9 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._build_command_handlers   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._task_bar   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.compose   16 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.on_mount   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._setup_check_worker   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._push_setup_wizard   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.on_show   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._needs_setup   14 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._embedding_ready   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._on_setup_complete   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._on_settings_changed   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_open_setup   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._enter_insert_mode   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._update_input_style   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._update_mode_indicator   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.on_key   18 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._on_chat_input_focused   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._on_chat_input_clicked   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.on_click   11 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._on_chat_submitted   18 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._accept_overlay_selection_on_enter   15 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._handle_slash   6 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._set_streaming   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.watch_streaming   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._enter_streaming_state   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._exit_streaming_state   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_add   25 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._prompt_overwrite   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._prompt_overwrite._on_confirm   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._submit_add   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._submit_add._target   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._do_add   21 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_cancel   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_clear   8 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_crawl   17 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._open_crawl_dialog   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._open_crawl_dialog._on_result   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._start_crawl   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._start_crawl._kick_off_crawl   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._parse_crawl_flags   16 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._do_crawl   6 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._do_crawl.on_progress   13 0 2   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_catalog   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_delete   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_delete_worker   23 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_help   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_show_command_catalog   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.insert_slash_command   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._on_catalog_pick   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_login   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._run_hf_login   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_model   8 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_quit   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_remove   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._run_remove_model   12 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_reset   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_reset._on_confirm   13 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_set   24 0 2   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_settings   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_setup   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_status   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_theme   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_version   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cmd_wiki   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._send_message   12 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._current_chunk_type   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._stream_response   14 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._consume_stream   15 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._consume_stream.flush   6 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._buffer_token   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._maybe_flush_and_scroll   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._finalize_stream   10 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._notify_no_results   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._trim_history   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._scroll_to_bottom   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_scroll_up   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_scroll_down   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.check_action   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_enter_normal_mode   11 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_cancel_stream   2 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cancel_inflight_stream   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.apply_model_change   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._deferred_service_reset   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_toggle_markdown   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._run_sync   8 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._run_sync._target   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._do_sync   11 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_focus_commands   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_focus_model_bar   4 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_toggle_chat_mode   8 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_cycle_scope   8 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_complete   7 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_complete_next   8 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._cycle_completion_forward   25 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_complete_prev   20 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_history_prev   18 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_history_next   17 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._on_chat_input_changed   5 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._refresh_completion_overlay   9 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen._refresh_arg_hint   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.refresh_model_bar   1 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_vim_scroll_down   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_vim_scroll_up   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_vim_scroll_home   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_vim_scroll_end   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_half_page_down   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py ChatScreen.action_half_page_up   3 0 0   100%
src / lilbee / cli / tui / screens / chat.py (no function)   183 0 2   100%
src / lilbee / cli / tui / screens / chat_helpers.py close_stream   3 0 0   100%
src / lilbee / cli / tui / screens / chat_helpers.py detail_for_batch_progress   5 0 0   100%
src / lilbee / cli / tui / screens / chat_helpers.py remove_copied_files   9 0 0   100%
src / lilbee / cli / tui / screens / chat_helpers.py build_add_progress_callback   4 0 0   100%
src / lilbee / cli / tui / screens / chat_helpers.py build_add_progress_callback.on_progress   19 0 0   100%
src / lilbee / cli / tui / screens / chat_helpers.py build_sync_progress_callback   3 0 0   100%
src / lilbee / cli / tui / screens / chat_helpers.py build_sync_progress_callback.on_progress   19 0 0   100%
src / lilbee / cli / tui / screens / chat_helpers.py (no function)   20 0 0   100%
src / lilbee / cli / tui / screens / model_info.py ModelInfoModal.__init__   2 0 0   100%
src / lilbee / cli / tui / screens / model_info.py ModelInfoModal.compose   6 0 0   100%
src / lilbee / cli / tui / screens / model_info.py ModelInfoModal._build_markdown   24 0 0   100%
src / lilbee / cli / tui / screens / model_info.py (no function)   15 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py _picker_title   7 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py _PickerOptions.to_sections   2 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py _option_to_row   1 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py _matches   4 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal.__init__   4 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal.compose   5 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal.on_mount   2 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal._refresh_list   2 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal._on_search_changed   4 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal._on_search_submitted   3 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal._on_model_list_selected   2 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py ModelPickerModal.action_focus_search   1 0 0   100%
src / lilbee / cli / tui / screens / model_picker.py (no function)   37 0 0   100%
src / lilbee / cli / tui / screens / settings.py _LazyGroupBody.__init__   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py _LazyGroupBody.populated   1 0 0   100%
src / lilbee / cli / tui / screens / settings.py _LazyGroupBody.populate   6 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.__init__   3 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.compose   12 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._compose_group_tabs   8 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.on_mount   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_tab_activated   4 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.populate_all_panes   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._populate_pane   9 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._build_pane_widgets   6 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._build_setting_row   9 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._build_model_picker_row   1 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_input_save   11 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_multiline_save   12 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_checkbox_save   7 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_select_save   11 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._persist_value   7 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._parse_value   7 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._validate_regex_list   6 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_list_blur_save   20 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_list_restore   15 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._refresh_list_title   5 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._refresh_help   6 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_reset_pressed   5 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_model_picker_pressed   8 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._discover_then_open_picker   6 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._push_model_picker   10 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_model_picker_dismissed   9 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._maybe_confirm_embedding_swap   4 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._push_embed_swap_confirm   4 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._apply_picker_choice   13 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_reset_all   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._on_reset_all_confirmed   10 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._apply_batch_defaults   14 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._persist_batch   7 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._rollback_batch   8 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._refresh_batch   6 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._publish_batch_signals   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._notify_batch_result   3 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_reset_focused   9 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._reset_to_default   7 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._refresh_editor   6 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_go_back   1 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._active_pane_body   11 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_scroll_down   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_scroll_up   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_scroll_home   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_scroll_end   2 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_next_field_or_pane   1 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_prev_field_or_pane   1 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen.action_cycle_pane   14 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._move_focus_within_pane   25 0 0   100%
src / lilbee / cli / tui / screens / settings.py SettingsScreen._focus_pane_edge   8 0 0   100%
src / lilbee / cli / tui / screens / settings.py (no function)   104 0 4   100%
src / lilbee / cli / tui / screens / settings_widgets.py model_field_to_picker_scope   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py picker_scope_to_task   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py set_widget_value   12 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py model_picker_label   4 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py config_toml_path   1 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py effective_value   13 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py is_writable   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py type_pill   5 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py env_var_name   1 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py env_pill   4 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py help_content   3 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py title_content   6 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py stringify_default   5 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py _litellm_installed   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py _crawler_installed   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py _wiki_enabled   1 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py group_settings   9 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py make_editor   10 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py make_multiline_editor   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py make_list_editor   6 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py make_select   4 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py make_checkbox   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py make_input   2 0 0   100%
src / lilbee / cli / tui / screens / settings_widgets.py (no function)   50 0 3   100%
src / lilbee / cli / tui / screens / setup.py _scan_installed_models   15 0 0   100%
src / lilbee / cli / tui / screens / setup.py _installed_name_to_row   3 0 0   100%
src / lilbee / cli / tui / screens / setup.py _pick_recommended   4 0 0   100%
src / lilbee / cli / tui / screens / setup.py _pending_download   8 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard.__init__   6 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._selected_chat   1 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._selected_embed   1 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard.compose   14 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._initial_hint_text   3 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard.on_mount   3 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._build_section   4 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._build_grid   15 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._preselect_recommended   9 0 2   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._mark_selection   6 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._commit_selection   13 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._on_grid_selected   6 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._on_grid_leave_down   1 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard._on_grid_leave_up   1 0 0   100%
src / lilbee / cli / tui / screens / setup.py SetupWizard.action_cancel   4 0 0   100%
src / lilbee / cli / tui / screens / setup.py (no function)   50 0 2   100%
src / lilbee / cli / tui / screens / status.py _model_pill   3 0 0   100%
src / lilbee / cli / tui / screens / status.py _kv_line   9 0 0   100%
src / lilbee / cli / tui / screens / status.py _collapse_home   3 0 0   100%
src / lilbee / cli / tui / screens / status.py _ocr_label   5 0 0   100%
src / lilbee / cli / tui / screens / status.py _ocr_pill   5 0 0   100%
src / lilbee / cli / tui / screens / status.py _data_dir_pill   3 0 0   100%
src / lilbee / cli / tui / screens / status.py _build_config_content   2 0 0   100%
src / lilbee / cli / tui / screens / status.py _build_storage_content   2 0 0   100%
src / lilbee / cli / tui / screens / status.py _build_arch_content   4 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.__init__   6 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.compose   11 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.on_mount   4 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._mount_remaining_sections   13 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._show_loading_placeholders   10 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._fetch_sources_worker   5 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._fetch_arch_worker   5 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.on_worker_state_changed   14 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._apply_docs   2 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._load_arch   3 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._load_config   1 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._load_documents   12 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._render_doc_batch   11 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen._load_storage   3 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.action_go_back   1 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.action_cursor_down   1 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.action_cursor_up   1 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.action_jump_top   1 0 0   100%
src / lilbee / cli / tui / screens / status.py StatusScreen.action_jump_bottom   1 0 0   100%
src / lilbee / cli / tui / screens / status.py (no function)   64 0 2   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.compose   14 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.action_go_back   1 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.on_mount   5 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.on_show   4 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.on_hide   5 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter._on_queue_change   1 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.on_task_queue_changed   1 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter._focus_initial_row   6 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.action_refresh_tasks   1 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.action_clear_history   1 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.action_cancel_task   7 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.action_cursor_down   1 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter.action_cursor_up   1 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter._all_tasks   2 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter._advance_tick   12 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter._refresh_rows   24 0 0   100%
src / lilbee / cli / tui / screens / task_center.py TaskCenter._update_counts   10 0 0   100%
src / lilbee / cli / tui / screens / task_center.py (no function)   42 0 2   100%
src / lilbee / cli / tui / screens / wiki.py _wiki_root   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py _format_page_header   10 0 0   100%
src / lilbee / cli / tui / screens / wiki.py _short_label   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py _breadcrumb_for_slug   6 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.__init__   2 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.compose   12 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.on_mount   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.on_show   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.reload   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._load_pages   22 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._populate_tree   9 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._add_root_shortcut   4 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._insert_page   15 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._show_placeholder   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._on_node_selected   4 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._display_page   23 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._on_search_changed   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._selected_source   8 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._source_for_slug   8 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_focus_search   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_open_drafts   2 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_dismiss_or_back   5 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_go_back   1 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen._tree_or_none   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_cursor_down   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_cursor_up   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_cursor_left   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_cursor_right   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_jump_top   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py WikiScreen.action_jump_bottom   3 0 0   100%
src / lilbee / cli / tui / screens / wiki.py _find_or_add_branch   6 0 0   100%
src / lilbee / cli / tui / screens / wiki.py _group_pages   13 0 0   100%
src / lilbee / cli / tui / screens / wiki.py (no function)   59 0 3   100%
src / lilbee / cli / tui / screens / wiki_drafts.py _wiki_root   1 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py _format_drift   1 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py _format_faithfulness   1 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py _format_published   1 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py _kind_label   1 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.__init__   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.compose   12 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.on_mount   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._load_drafts   16 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._visible_drafts   4 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._show_diff   1 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._highlighted_slug   10 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._on_row_highlighted   4 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._display_diff   10 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._on_search_changed   2 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_focus_search   1 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_dismiss_or_back   5 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_go_back   2 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._table_or_none   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_cursor_down   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_cursor_up   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_jump_top   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_jump_bottom   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_accept   6 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_accept._on_confirm   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._do_accept   11 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_reject   6 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen.action_reject._on_confirm   3 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py WikiDraftsScreen._do_reject   11 0 0   100%
src / lilbee / cli / tui / screens / wiki_drafts.py (no function)   50 0 2   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.__init__   9 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue._capacity_for   1 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.subscribe   3 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.unsubscribe   3 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.active_task   7 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.active_tasks   8 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.queued_tasks   8 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.history   2 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.is_empty   4 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.get_task   2 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.enqueue   7 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.update_task   8 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.complete_task   11 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.fail_task   10 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.cancel   13 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.advance   21 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.remove_task   7 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue.clear_history   7 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue._remove_from_active_locked   3 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue._remove_from_queue_locked   3 0 0   100%
src / lilbee / cli / tui / task_queue.py TaskQueue._notify   4 0 0   100%
src / lilbee / cli / tui / task_queue.py (no function)   63 0 0   100%
src / lilbee / cli / tui / thread_safe.py call_from_thread   4 0 0   100%
src / lilbee / cli / tui / thread_safe.py (no function)   6 0 0   100%
src / lilbee / cli / tui / widgets / __init__.py (no function)   0 0 0   100%
src / lilbee / cli / tui / widgets / arg_hint.py ArgHintLine.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / arg_hint.py ArgHintLine.update_for_input   6 0 0   100%
src / lilbee / cli / tui / widgets / arg_hint.py ArgHintLine._clear   2 0 0   100%
src / lilbee / cli / tui / widgets / arg_hint.py _hint_for   13 0 0   100%
src / lilbee / cli / tui / widgets / arg_hint.py (no function)   17 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py get_completions   7 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py _get_arg_completions   9 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py _model_options   6 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py _setting_options   1 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py _document_options   8 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py invalidate_document_cache   1 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py _theme_options   1 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py _path_options   25 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.__init__   3 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.compose   1 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.show_completions   10 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.cycle_next   6 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.cycle_prev   6 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.get_current   3 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.hide   2 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.is_visible   1 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py CompletionOverlay.action_dismiss_overlay   1 0 0   100%
src / lilbee / cli / tui / widgets / autocomplete.py (no function)   42 0 0   100%
src / lilbee / cli / tui / widgets / bottom_bars.py (no function)   7 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py CatalogDetailDrawer.compose   5 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py CatalogDetailDrawer.update_for_row   7 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py CatalogDetailDrawer._clear   3 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py CatalogDetailDrawer._render_local   11 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py CatalogDetailDrawer._render_frontier   5 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py _render_fit_pill   6 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py _render_sizes_block   13 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py _license_text   1 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py _description_text   5 0 0   100%
src / lilbee / cli / tui / widgets / catalog_detail.py (no function)   24 0 0   100%
src / lilbee / cli / tui / widgets / catalog_theme.py (no function)   4 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.Submitted.control   1 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.__init__   1 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.value   1 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.value   2 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.check_consume_key   3 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.action_submit   1 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.action_newline   1 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput.action_end   3 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py ChatInput._track_multiline   1 0 0   100%
src / lilbee / cli / tui / widgets / chat_input.py (no function)   27 0 0   100%
src / lilbee / cli / tui / widgets / confirm_dialog.py _ConfirmPill.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / confirm_dialog.py _ConfirmPill.on_click   4 0 0   100%
src / lilbee / cli / tui / widgets / confirm_dialog.py ConfirmDialog.__init__   3 0 0   100%
src / lilbee / cli / tui / widgets / confirm_dialog.py ConfirmDialog.compose   6 0 0   100%
src / lilbee / cli / tui / widgets / confirm_dialog.py ConfirmDialog.action_confirm   1 0 0   100%
src / lilbee / cli / tui / widgets / confirm_dialog.py ConfirmDialog.action_cancel   1 0 0   100%
src / lilbee / cli / tui / widgets / confirm_dialog.py (no function)   18 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog.compose   14 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog.on_button_pressed   3 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog.on_input_submitted   1 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog._parse_optional_non_negative_int   6 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog._parse_optional_positive_int   6 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog._validate   24 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog._try_submit   7 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py CrawlDialog.action_cancel   1 0 0   100%
src / lilbee / cli / tui / widgets / crawl_dialog.py (no function)   28 0 0   100%
src / lilbee / cli / tui / widgets / discover_rails.py _RailHeading.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / discover_rails.py _RailHeading.action_focus_grid   8 0 0   100%
src / lilbee / cli / tui / widgets / discover_rails.py DiscoverRails.compose   3 0 0   100%
src / lilbee / cli / tui / widgets / discover_rails.py DiscoverRails.set_rails   3 0 0   100%
src / lilbee / cli / tui / widgets / discover_rails.py DiscoverRails._set_rail   5 0 0   100%
src / lilbee / cli / tui / widgets / discover_rails.py (no function)   22 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle.set_grid   3 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle.on_mount   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle._refresh   4 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle._render_label   3 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle.on_click   2 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle.action_flip   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle.action_select_grid   2 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle.action_select_list   2 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py GridListToggle._call_screen_toggle   4 0 0   100%
src / lilbee / cli / tui / widgets / grid_list_toggle.py (no function)   23 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.Selected.control   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.Highlighted.control   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.__init__   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.grid_size   3 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.highlight_first   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.highlight_last   2 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.on_focus   3 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.on_blur   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.reveal_highlight   8 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.watch_highlighted   11 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.validate_highlighted   9 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.action_cursor_up   9 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.action_cursor_down   9 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.action_cursor_left   3 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.action_cursor_right   3 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.on_click   13 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.action_select   6 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.action_tab_next   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py GridSelect.action_tab_previous   1 0 0   100%
src / lilbee / cli / tui / widgets / grid_select.py (no function)   50 0 0   100%
src / lilbee / cli / tui / widgets / help_hint.py HelpHint.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / help_hint.py HelpHint.on_click   6 0 0   100%
src / lilbee / cli / tui / widgets / help_hint.py (no function)   12 0 0   100%
src / lilbee / cli / tui / widgets / list_text_area.py ListTextArea.Blurred.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / list_text_area.py ListTextArea.Blurred.control   1 0 0   100%
src / lilbee / cli / tui / widgets / list_text_area.py ListTextArea._on_blur   2 0 0   100%
src / lilbee / cli / tui / widgets / list_text_area.py (no function)   10 0 0   100%
src / lilbee / cli / tui / widgets / message.py UserMessage.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / message.py UserMessage.compose   2 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.__init__   12 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.compose   5 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.on_mount   5 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage._build_content_widget   3 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.use_markdown   1 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.rebuild_content_widget   10 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.append_reasoning   9 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.append_content   9 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage.finish   16 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage._mount_reasoning_collapsible   11 0 0   100%
src / lilbee / cli / tui / widgets / message.py AssistantMessage._dismiss_thinking_header   7 0 0   100%
src / lilbee / cli / tui / widgets / message.py _build_citation_content   5 0 0   100%
src / lilbee / cli / tui / widgets / message.py (no function)   38 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _cloud_provider_label   6 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _is_mmproj   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _classify_installed_models   2 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py classify_installed_models_full   6 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _lookup_bucket   6 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _native_label   5 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _has_vision_sidecar   5 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _collect_native_models   23 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _collect_remote_models   19 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _collect_api_models   15 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py _options_fingerprint   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton.__init__   4 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton.on_mount   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton.set_options   3 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton._refresh   3 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton.on_click   2 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton.action_open_picker   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton.open_picker   3 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton._on_picker_dismissed   16 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton._on_embed_swap_confirmed   4 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton._apply_embed_change   3 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelPickerButton._commit_after_change   4 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModePill.action_select   5 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.__init__   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.compose   3 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.on_mount   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.refresh_state   2 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle._embedding_ready   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle._refresh   11 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle._set_mode   7 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.toggle   2 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.on_click   11 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.action_flip_mode   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.action_select_search   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ChatModeToggle.action_select_chat   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar.__init__   3 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar.compose   7 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar.on_mount   3 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar._on_settings_changed   9 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar._scan_models   2 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar._populate   12 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar._refresh_cloud_warning   7 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar._refresh_chat_mode_toggle   2 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar._after_model_change   8 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py ModelBar.refresh_models   1 0 0   100%
src / lilbee / cli / tui / widgets / model_bar.py (no function)   97 0 3   100%
src / lilbee / cli / tui / widgets / model_card.py _truncate_name   3 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py ModelCard.__init__   4 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py ModelCard.row   1 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py ModelCard.watch_selected   6 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py ModelCard.compose   1 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py _render   3 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py _render_local   19 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py _render_frontier   6 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py _key_status_pill   3 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py _build_specs   4 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py _build_local_status   5 0 0   100%
src / lilbee / cli / tui / widgets / model_card.py (no function)   29 0 2   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.Selected.control   1 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.__init__   5 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.rows   1 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.columns_per_row   1 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.set_rows   3 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.on_resize   4 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid._columns_for_width   3 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid._total_rows   3 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.get_content_width   1 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.get_content_height   5 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.watch_highlighted   12 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.on_focus   2 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.on_blur   1 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.action_cursor_up   7 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.action_cursor_down   8 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.action_cursor_left   4 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.action_cursor_right   4 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.action_select   4 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.highlight_first   2 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.highlight_last   2 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid._cell_at   14 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.on_click   12 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py ModelGrid.render_line   19 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _truncate_name   3 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _render_card_strip   17 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _pad_line   4 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _local_lines   23 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _build_size_variant_strip   2 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _frontier_lines   4 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _fit_pill   7 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _fit_pill_compact   1 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _key_status_pill   3 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _build_specs   4 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py _build_local_status   5 0 0   100%
src / lilbee / cli / tui / widgets / model_grid.py (no function)   105 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList.set_rows   5 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList.append_rows   7 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList.row_count   1 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList.row_at   1 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList.highlighted_row   10 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList._build_options   11 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py ModelList._on_option_selected   7 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _heading_option   1 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _render_row   3 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _render_frontier   6 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _render_local   3 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _render_local_headline   4 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _render_local_meta   9 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _local_meta_strip   9 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py _format_specs   2 0 0   100%
src / lilbee / cli / tui / widgets / model_list.py (no function)   39 0 0   100%
src / lilbee / cli / tui / widgets / progress_cell.py progress_cell   4 0 0   100%
src / lilbee / cli / tui / widgets / progress_cell.py indeterminate_cell   7 0 0   100%
src / lilbee / cli / tui / widgets / progress_cell.py frozen_indeterminate_cell   1 0 0   100%
src / lilbee / cli / tui / widgets / progress_cell.py (no function)   7 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopePill.action_select   6 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip.compose   4 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip.scope   1 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip.on_mount   3 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip._refresh_visibility   2 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip._on_settings_changed   3 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip._refresh   3 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip._set_scope   4 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip.cycle_scope   3 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py ScopeChip.on_click   8 0 0   100%
src / lilbee / cli / tui / widgets / scope_chip.py (no function)   39 0 2   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py SearchHFCtaItem.Selected.control   1 0 0   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py SearchHFCtaItem.Selected.term   1 0 0   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py SearchHFCtaItem.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py SearchHFCtaItem.term   1 0 0   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py SearchHFCtaItem.action_select   1 0 0   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py SearchHFCtaItem.on_click   3 0 0   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py SearchHFCtaItem.compose   1 0 0   100%
src / lilbee / cli / tui / widgets / search_hf_cta_item.py (no function)   27 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py _by_name   1 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py _matches   8 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog.compose   5 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog.on_mount   2 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog.on_input_changed   3 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog.on_input_submitted   3 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog.on_option_list_option_selected   3 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog.action_select   11 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog.action_cancel   1 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog._select_first_match   6 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py SlashCommandCatalog._rebuild   9 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py _filter_groups   7 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py _populate_options   8 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py _render_header   1 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py _render_row   6 0 0   100%
src / lilbee / cli / tui / widgets / slash_command_catalog.py (no function)   37 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTab.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTab.set_active   4 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTab.on_click   1 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTab.action_activate   1 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTab._switch   1 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs.compose   7 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs.on_mount   4 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs.watch_active_view   1 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs.watch_mode_text   1 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs._on_settings_changed   6 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs._apply_wiki_visibility   6 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs._refresh   5 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py ViewTabs._update_trailing   11 0 0   100%
src / lilbee / cli / tui / widgets / status_bar.py (no function)   38 0 2   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester.get_suggestion   7 0 0   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester._suggest_command   4 0 0   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester._suggest_argument   11 0 0   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester._suggest_from_list   4 0 0   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester._get_model_names   5 0 0   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester._get_setting_names   1 0 0   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester._get_document_names   4 0 1   100%
src / lilbee / cli / tui / widgets / suggester.py SlashSuggester._get_theme_names   1 0 0   100%
src / lilbee / cli / tui / widgets / suggester.py (no function)   16 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.__init__   8 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.compose   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.on_mount   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.on_unmount   3 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._controller   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.queue   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.add_task   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.update_task   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.complete_task   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.fail_task   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar.cancel_task   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._tick   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._sync_poll_cadence   7 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._refresh_display   44 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._spawning_workers_template   3 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._pending_sync_template   8 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._hint_copy   8 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py TaskBar._compose_segments   21 0 0   100%
src / lilbee / cli / tui / widgets / task_bar.py (no function)   42 0 2   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py ProgressReporter.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py ProgressReporter.task_id   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py ProgressReporter.cancelled   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py ProgressReporter.check_cancelled   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py ProgressReporter.update   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py _chromium_bootstrap_target   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py _chromium_bootstrap_target._forward   11 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.__init__   6 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.add_task   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.update_task   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.complete_task   4 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.fail_task   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.cancel_task   3 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._after_done_hooks   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._task_type_of   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._advance_all   4 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.set_pending_sync   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.clear_pending_sync   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.mark_role_spawning   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.mark_role_spawned   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.start_detect_pending   5 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._run_detect_pending   7 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.ensure_chromium   4 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.start_task   4 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._try_start_next   2 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._spawn_task_worker   4 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._run_task_worker   22 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._post_finalize   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._finalize_task   9 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController._notify_model_installed   9 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py TaskBarController.start_download   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py _download_target   8 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py _download_target._on_progress   1 0 0   100%
src / lilbee / cli / tui / widgets / task_bar_controller.py (no function)   57 0 2   100%
src / lilbee / cli / tui / widgets / task_row.py _build_head   8 0 0   100%
src / lilbee / cli / tui / widgets / task_row.py _format_elapsed   8 0 0   100%
src / lilbee / cli / tui / widgets / task_row.py TaskRow.__init__   2 0 0   100%
src / lilbee / cli / tui / widgets / task_row.py TaskRow.compose   3 0 0   100%
src / lilbee / cli / tui / widgets / task_row.py TaskRow.update   21 0 0   100%
src / lilbee / cli / tui / widgets / task_row.py TaskRow.flash_completed   1 0 0   100%
src / lilbee / cli / tui / widgets / task_row.py (no function)   24 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py _bounce_position   5 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py _frame_content   7 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py ThinkingHeader.__init__   4 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py ThinkingHeader.on_mount   1 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py ThinkingHeader.on_unmount   1 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py ThinkingHeader.stop   3 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py ThinkingHeader.redirect_to   1 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py ThinkingHeader._tick   5 0 0   100%
src / lilbee / cli / tui / widgets / thinking_header.py (no function)   26 0 0   100%
src / lilbee / cli / tui / widgets / top_bars.py (no function)   7 0 0   100%
src / lilbee / config_meta.py _get_extra   4 0 0   100%
src / lilbee / config_meta.py _is_nullable   4 0 0   100%
src / lilbee / config_meta.py _derive_field_sets   13 0 0   100%
src / lilbee / config_meta.py (no function)   10 0 0   100%
src / lilbee / core / __init__.py (no function)   0 0 0   100%
src / lilbee / core / config / __init__.py (no function)   5 0 0   100%
src / lilbee / core / config / defaults.py (no function)   25 0 0   100%
src / lilbee / core / config / enums.py (no function)   17 0 0   100%
src / lilbee / core / config / keys.py (no function)   2 0 0   100%
src / lilbee / core / config / model.py Config._empty_string_to_none   3 0 0   100%
src / lilbee / core / config / model.py Config._normalize_chat_mode   8 0 0   100%
src / lilbee / core / config / model.py Config._parse_enable_ocr   12 0 0   100%
src / lilbee / core / config / model.py Config._parse_flash_attention   12 0 0   100%
src / lilbee / core / config / model.py Config._parse_n_gpu_layers   14 0 0   100%
src / lilbee / core / config / model.py Config._parse_main_gpu   12 0 0   100%
src / lilbee / core / config / model.py Config._parse_gpu_devices   15 0 0   100%
src / lilbee / core / config / model.py Config._parse_semantic_chunking   9 0 0   100%
src / lilbee / core / config / model.py Config._normalize_model_tag   6 0 0   100%
src / lilbee / core / config / model.py Config._split_cors_origins   3 0 0   100%
src / lilbee / core / config / model.py Config._split_crawl_exclude_patterns   3 0 0   100%
src / lilbee / core / config / model.py Config._validate_crawl_exclude_patterns   10 0 0   100%
src / lilbee / core / config / model.py Config._merge_ignore_dirs   6 0 0   100%
src / lilbee / core / config / model.py Config._parse_ent_types   7 0 0   100%
src / lilbee / core / config / model.py Config._resolve_defaults   17 0 2   100%
src / lilbee / core / config / model.py Config.settings_customise_sources   12 0 0   100%
src / lilbee / core / config / model.py Config.model_defaults   1 0 0   100%
src / lilbee / core / config / model.py Config.apply_model_defaults   1 0 0   100%
src / lilbee / core / config / model.py Config.clear_model_defaults   1 0 0   100%
src / lilbee / core / config / model.py Config.generation_options   9 0 0   100%
src / lilbee / core / config / model.py _model_defaults_dict   4 0 0   100%
src / lilbee / core / config / model.py _PlainEnvSource.__init__   3 0 0   100%
src / lilbee / core / config / model.py _PlainEnvSource.__call__   10 0 0   100%
src / lilbee / core / config / model.py _TomlSource.__init__   1 0 0   100%
src / lilbee / core / config / model.py _TomlSource.__call__   8 0 0   100%
src / lilbee / core / config / model.py _build_cfg   7 0 0   100%
src / lilbee / core / config / model.py (no function)   198 0 0   100%
src / lilbee / core / config / parsing.py parse_bool   6 0 0   100%
src / lilbee / core / config / parsing.py (no function)   3 0 0   100%
src / lilbee / core / config / validators.py ConfigField   12 0 0   100%
src / lilbee / core / config / validators.py _model_task_validation_bypassed   3 0 0   100%
src / lilbee / core / config / validators.py TaskMismatchError.__init__   4 0 0   100%
src / lilbee / core / config / validators.py _find_model_catalog_entry   2 0 0   100%
src / lilbee / core / config / validators.py _enforce_role_match   5 0 0   100%
src / lilbee / core / config / validators.py _skips_catalog_check   5 0 0   100%
src / lilbee / core / config / validators.py validate_model_task_assignment   10 0 0   100%
src / lilbee / core / config / validators.py (no function)   16 0 2   100%
src / lilbee / core / results.py _zero_to_none   1 0 0   100%
src / lilbee / core / results.py _to_excerpt   4 0 0   100%
src / lilbee / core / results.py group   11 0 0   100%
src / lilbee / core / results.py to_dicts   1 0 0   100%
src / lilbee / core / results.py (no function)   20 0 0   100%
src / lilbee / core / security.py validate_path_within   5 0 0   100%
src / lilbee / core / security.py (no function)   3 0 0   100%
src / lilbee / core / settings.py _config_path   1 0 0   100%
src / lilbee / core / settings.py _escape_toml_string   1 0 0   100%
src / lilbee / core / settings.py load   5 0 0   100%
src / lilbee / core / settings.py save   4 0 2   100%
src / lilbee / core / settings.py get   1 0 0   100%
src / lilbee / core / settings.py set_value   4 0 0   100%
src / lilbee / core / settings.py delete_value   4 0 0   100%
src / lilbee / core / settings.py update_values   4 0 0   100%
src / lilbee / core / settings.py delete_values   5 0 0   100%
src / lilbee / core / settings.py overlay_persisted_settings   18 0 0   100%
src / lilbee / core / settings.py (no function)   18 0 0   100%
src / lilbee / core / text.py make_slug   3 0 0   100%
src / lilbee / core / text.py is_valid_label   9 0 0   100%
src / lilbee / core / text.py clean_label_for_display   2 0 0   100%
src / lilbee / core / text.py (no function)   11 0 0   100%
src / lilbee / crawler / __init__.py (no function)   11 0 0   100%
src / lilbee / crawler / bootstrap.py _browsers_cache_path   4 0 5   100%
src / lilbee / crawler / bootstrap.py chromium_installed   4 0 0   100%
src / lilbee / crawler / bootstrap.py crawler_browsers_path   1 0 0   100%
src / lilbee / crawler / bootstrap.py _bytes_from_stdout   10 0 0   100%
src / lilbee / crawler / bootstrap.py _emit_setup_start   3 0 0   100%
src / lilbee / crawler / bootstrap.py _emit_setup_done   3 0 0   100%
src / lilbee / crawler / bootstrap.py _drain_stdout_to_progress   10 0 0   100%
src / lilbee / crawler / bootstrap.py _drain_stderr   5 0 0   100%
src / lilbee / crawler / bootstrap.py _resolve_playwright_runner   11 0 0   100%
src / lilbee / crawler / bootstrap.py bootstrap_chromium   20 0 0   100%
src / lilbee / crawler / bootstrap.py (no function)   25 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _build_rate_limited_dispatcher   5 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _LilbeeAsyncCrawler.__init__   3 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _LilbeeAsyncCrawler.__aenter__   2 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _LilbeeAsyncCrawler.__aexit__   1 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _LilbeeAsyncCrawler.arun   1 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _LilbeeAsyncCrawler.arun_many   1 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _open_crawler   11 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _safe_strategy_cancel   6 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _safe_aclose   5 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _iter_crawl_stream   9 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _host_scope_filter   8 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _host_scope_filter._ExactHostFilter.__init__   2 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py _host_scope_filter._ExactHostFilter.apply   4 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py Crawl4aiFetcher.__init__   1 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py Crawl4aiFetcher.__aenter__   1 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py Crawl4aiFetcher.__aexit__   1 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py Crawl4aiFetcher.fetch_single   8 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py Crawl4aiFetcher.fetch_recursive   30 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py Crawl4aiFetcher.fetch_recursive._should_cancel   1 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py crawler_available   2 0 0   100%
src / lilbee / crawler / crawl4ai_fetcher.py (no function)   35 0 4   100%
src / lilbee / crawler / discovery.py build_concurrency_spec   1 0 0   100%
src / lilbee / crawler / discovery.py build_filter_spec   1 0 0   100%
src / lilbee / crawler / discovery.py (no function)   5 0 0   100%
src / lilbee / crawler / events.py _fetched_to_result   1 0 0   100%
src / lilbee / crawler / events.py _pages_cap   1 0 0   100%
src / lilbee / crawler / events.py _drain_page_stream   21 0 0   100%
src / lilbee / crawler / events.py _drain_page_stream._should_cancel   1 0 0   100%
src / lilbee / crawler / events.py _handle_crawl_teardown_error   7 0 0   100%
src / lilbee / crawler / events.py (no function)   14 0 0   100%
src / lilbee / crawler / fetcher.py WebFetcher.__aenter__   0 0 1   100%
src / lilbee / crawler / fetcher.py WebFetcher.__aexit__   0 0 1   100%
src / lilbee / crawler / fetcher.py WebFetcher.fetch_single   0 0 2   100%
src / lilbee / crawler / fetcher.py WebFetcher.fetch_recursive   0 0 12   100%
src / lilbee / crawler / fetcher.py (no function)   4 0 41   100%
src / lilbee / crawler / models.py (no function)   33 0 0   100%
src / lilbee / crawler / runner.py _get_crawl_semaphore   1 0 0   100%
src / lilbee / crawler / runner.py _resolve_limit   6 0 0   100%
src / lilbee / crawler / runner.py crawl_single   13 0 0   100%
src / lilbee / crawler / runner.py crawl_recursive   23 0 0   100%
src / lilbee / crawler / runner.py _maybe_periodic_sync   13 0 0   100%
src / lilbee / crawler / runner.py _maybe_periodic_sync._run_sync   6 0 0   100%
src / lilbee / crawler / runner.py _make_flush_page   3 0 0   100%
src / lilbee / crawler / runner.py _make_flush_page._sync_flush   9 0 0   100%
src / lilbee / crawler / runner.py _make_flush_page.flush_page   4 0 0   100%
src / lilbee / crawler / runner.py _ensure_crawler_ready   5 0 0   100%
src / lilbee / crawler / runner.py _run_crawl   11 0 0   100%
src / lilbee / crawler / runner.py crawl_and_save   29 0 0   100%
src / lilbee / crawler / runner.py (no function)   30 0 0   100%
src / lilbee / crawler / save.py url_to_filename   17 0 0   100%
src / lilbee / crawler / save.py _web_dir   1 0 0   100%
src / lilbee / crawler / save.py _crawl_meta_path   1 0 0   100%
src / lilbee / crawler / save.py load_crawl_metadata   14 0 0   100%
src / lilbee / crawler / save.py save_crawl_metadata   13 0 0   100%
src / lilbee / crawler / save.py content_hash   1 0 0   100%
src / lilbee / crawler / save.py _save_single_result   19 0 0   100%
src / lilbee / crawler / save.py _update_single_metadata   1 0 0   100%
src / lilbee / crawler / save.py (no function)   34 0 0   100%
src / lilbee / crawler / sitemap.py _fetch_sitemap_text   10 0 0   100%
src / lilbee / crawler / sitemap.py _count_sitemap_urls   14 0 0   100%
src / lilbee / crawler / sitemap.py (no function)   11 0 0   100%
src / lilbee / crawler / task.py TaskRegistry.__init__   1 0 0   100%
src / lilbee / crawler / task.py TaskRegistry.clear   1 0 0   100%
src / lilbee / crawler / task.py now_iso   1 0 0   100%
src / lilbee / crawler / task.py make_progress_updater   2 0 0   100%
src / lilbee / crawler / task.py make_progress_updater._on_progress   5 0 0   100%
src / lilbee / crawler / task.py run_crawl   20 0 0   100%
src / lilbee / crawler / task.py _evict_completed   9 0 0   100%
src / lilbee / crawler / task.py start_crawl   6 0 0   100%
src / lilbee / crawler / task.py get_task   1 0 0   100%
src / lilbee / crawler / task.py list_tasks   1 0 0   100%
src / lilbee / crawler / task.py clear_tasks   1 0 0   100%
src / lilbee / crawler / task.py (no function)   40 0 0   100%
src / lilbee / crawler / url_filter.py get_blocked_networks   1 0 0   100%
src / lilbee / crawler / url_filter.py is_url   1 0 0   100%
src / lilbee / crawler / url_filter.py validate_crawl_url   16 0 0   100%
src / lilbee / crawler / url_filter.py require_valid_crawl_url   3 0 0   100%
src / lilbee / crawler / url_filter.py host_in_scope   5 0 0   100%
src / lilbee / crawler / url_filter.py (no function)   10 0 0   100%
src / lilbee / data / __init__.py (no function)   0 0 0   100%
src / lilbee / data / chunk.py build_chunking_config   6 0 0   100%
src / lilbee / data / chunk.py chunk_text   13 0 0   100%
src / lilbee / data / chunk.py (no function)   9 0 2   100%
src / lilbee / data / code_chunker.py _detect_language   2 0 0   100%
src / lilbee / data / code_chunker.py _ensure_language   8 0 0   100%
src / lilbee / data / code_chunker.py find_line   4 0 0   100%
src / lilbee / data / code_chunker.py _fallback_chunks   11 0 0   100%
src / lilbee / data / code_chunker.py _extract_symbols   5 0 0   100%
src / lilbee / data / code_chunker.py chunk_code   25 0 0   100%
src / lilbee / data / code_chunker.py is_code_file   1 0 0   100%
src / lilbee / data / code_chunker.py (no function)   28 0 0   100%
src / lilbee / data / ingest / __init__.py (no function)   7 0 0   100%
src / lilbee / data / ingest / code.py ingest_code_sync   7 0 0   100%
src / lilbee / data / ingest / code.py (no function)   8 0 0   100%
src / lilbee / data / ingest / discovery.py file_hash   5 0 0   100%
src / lilbee / data / ingest / discovery.py _relative_name   1 0 0   100%
src / lilbee / data / ingest / discovery.py classify_file   6 0 0   100%
src / lilbee / data / ingest / discovery.py discover_files   18 0 0   100%
src / lilbee / data / ingest / discovery.py (no function)   15 0 0   100%
src / lilbee / data / ingest / extract.py _has_meaningful_text   5 0 0   100%
src / lilbee / data / ingest / extract.py content_type_to_mode   1 0 0   100%
src / lilbee / data / ingest / extract.py extraction_config   7 0 0   100%
src / lilbee / data / ingest / extract.py _should_run_ocr   5 0 0   100%
src / lilbee / data / ingest / extract.py _vision_ocr_fallback   6 0 0   100%
src / lilbee / data / ingest / extract.py _run_tesseract_sync   4 0 0   100%
src / lilbee / data / ingest / extract.py _tesseract_ocr_fallback   17 0 0   100%
src / lilbee / data / ingest / extract.py _chunk_and_embed_pages   8 0 0   100%
src / lilbee / data / ingest / extract.py _handle_scanned_pdf_fallback   10 0 0   100%
src / lilbee / data / ingest / extract.py ingest_document   12 0 0   100%
src / lilbee / data / ingest / extract.py ingest_markdown   8 0 0   100%
src / lilbee / data / ingest / extract.py (no function)   25 0 2   100%
src / lilbee / data / ingest / pipeline.py _rebuild_concept_clusters   12 0 0   100%
src / lilbee / data / ingest / pipeline.py _index_concepts   13 0 0   100%
src / lilbee / data / ingest / pipeline.py _ingest_file   9 0 0   100%
src / lilbee / data / ingest / pipeline.py _plan_file_changes   24 0 0   100%
src / lilbee / data / ingest / pipeline.py detect_pending   8 0 0   100%
src / lilbee / data / ingest / pipeline.py _load_pruned_skip_markers   6 0 0   100%
src / lilbee / data / ingest / pipeline.py _persist_skip_markers   7 0 0   100%
src / lilbee / data / ingest / pipeline.py sync   29 0 0   100%
src / lilbee / data / ingest / pipeline.py ingest_batch   13 0 0   100%
src / lilbee / data / ingest / pipeline.py ingest_batch._process_one   21 0 0   100%
src / lilbee / data / ingest / pipeline.py _collect_results   20 0 0   100%
src / lilbee / data / ingest / pipeline.py _discard_from_list   2 0 0   100%
src / lilbee / data / ingest / pipeline.py _apply_result   14 0 0   100%
src / lilbee / data / ingest / pipeline.py (no function)   33 0 0   100%
src / lilbee / data / ingest / skip_marker.py _marker_path   1 0 0   100%
src / lilbee / data / ingest / skip_marker.py load_skip_markers   11 0 0   100%
src / lilbee / data / ingest / skip_marker.py write_skip_markers   10 0 0   100%
src / lilbee / data / ingest / skip_marker.py clear_skip_markers   5 0 0   100%
src / lilbee / data / ingest / skip_marker.py (no function)   12 0 0   100%
src / lilbee / data / ingest / types.py SyncResult.__str__   6 0 0   100%
src / lilbee / data / ingest / types.py SyncResult.__repr__   1 0 0   100%
src / lilbee / data / ingest / types.py SyncResult.__rich__   1 0 0   100%
src / lilbee / data / ingest / types.py (no function)   49 0 0   100%
src / lilbee / data / store / __init__.py (no function)   6 0 0   100%
src / lilbee / data / store / core.py _hybrid_search   6 0 0   100%
src / lilbee / data / store / core.py _get_distance   1 0 0   100%
src / lilbee / data / store / core.py _count_within_threshold   4 0 0   100%
src / lilbee / data / store / core.py Store.__init__   4 0 0   100%
src / lilbee / data / store / core.py Store._invalidate_source_cache   1 0 0   100%
src / lilbee / data / store / core.py Store.source_ingested_at_map   5 0 0   100%
src / lilbee / data / store / core.py Store._chunks_schema   1 0 0   100%
src / lilbee / data / store / core.py Store.get_meta   8 0 0   100%
src / lilbee / data / store / core.py Store._write_meta_unlocked   4 0 0   100%
src / lilbee / data / store / core.py Store._has_chunks   2 0 0   100%
src / lilbee / data / store / core.py Store.has_chunks   1 0 0   100%
src / lilbee / data / store / core.py Store.initialize_meta_if_legacy   12 0 0   100%
src / lilbee / data / store / core.py Store._ensure_embedding_compat   8 0 0   100%
src / lilbee / data / store / core.py Store._needs_canonical_meta_rewrite   3 0 0   100%
src / lilbee / data / store / core.py Store.canonicalize_meta_if_legacy   12 0 0   100%
src / lilbee / data / store / core.py Store.get_db   5 0 0   100%
src / lilbee / data / store / core.py Store.open_table   4 0 0   100%
src / lilbee / data / store / core.py Store.ensure_fts_index   13 0 0   100%
src / lilbee / data / store / core.py Store.add_chunks   17 0 0   100%
src / lilbee / data / store / core.py Store.bm25_probe   12 0 1   100%
src / lilbee / data / store / core.py Store.search   28 0 0   100%
src / lilbee / data / store / core.py Store._filter_and_rerank   11 0 0   100%
src / lilbee / data / store / core.py Store._adaptive_filter   13 0 0   100%
src / lilbee / data / store / core.py Store._fixed_filter   1 0 0   100%
src / lilbee / data / store / core.py Store.get_chunks_by_source   12 0 0   100%
src / lilbee / data / store / core.py Store.delete_by_source   5 0 0   100%
src / lilbee / data / store / core.py Store.get_sources   12 0 0   100%
src / lilbee / data / store / core.py Store.count_sources   6 0 0   100%
src / lilbee / data / store / core.py Store.upsert_source   6 0 0   100%
src / lilbee / data / store / core.py Store.delete_source   5 0 0   100%
src / lilbee / data / store / core.py Store.remove_documents   21 0 0   100%
src / lilbee / data / store / core.py Store.clear_table   4 0 0   100%
src / lilbee / data / store / core.py Store.add_citations   7 0 0   100%
src / lilbee / data / store / core.py Store.get_citations_for_wiki   6 0 0   100%
src / lilbee / data / store / core.py Store.get_citations_for_source   6 0 0   100%
src / lilbee / data / store / core.py Store.delete_citations_for_wiki   1 0 0   100%
src / lilbee / data / store / core.py Store.close   2 0 0   100%
src / lilbee / data / store / core.py Store.drop_all   6 0 0   100%
src / lilbee / data / store / core.py (no function)   56 0 3   100%
src / lilbee / data / store / lance_helpers.py install_lancedb_thread_error_suppressor   3 0 0   100%
src / lilbee / data / store / lance_helpers.py install_lancedb_thread_error_suppressor._hook   3 0 0   100%
src / lilbee / data / store / lance_helpers.py _table_names   5 0 0   100%
src / lilbee / data / store / lance_helpers.py ensure_table   6 0 0   100%
src / lilbee / data / store / lance_helpers.py _safe_delete_unlocked   4 0 0   100%
src / lilbee / data / store / lance_helpers.py safe_delete   2 0 0   100%
src / lilbee / data / store / lance_helpers.py escape_sql_string   1 0 0   100%
src / lilbee / data / store / lance_helpers.py _chunk_type_predicate   4 0 0   100%
src / lilbee / data / store / lance_helpers.py _has_fts_index   7 0 0   100%
src / lilbee / data / store / lance_helpers.py _sources_search_filter   4 0 0   100%
src / lilbee / data / store / lance_helpers.py refs_compatible   9 0 0   100%
src / lilbee / data / store / lance_helpers.py _embedding_mismatch_message   1 0 0   100%
src / lilbee / data / store / lance_helpers.py (no function)   19 0 4   100%
src / lilbee / data / store / ranking.py cosine_sim   6 0 0   100%
src / lilbee / data / store / ranking.py mmr_rerank   26 0 0   100%
src / lilbee / data / store / ranking.py (no function)   7 0 0   100%
src / lilbee / data / store / schema.py _meta_schema   1 0 0   100%
src / lilbee / data / store / schema.py _sources_schema   1 0 0   100%
src / lilbee / data / store / schema.py _citations_schema   1 0 0   100%
src / lilbee / data / store / schema.py (no function)   5 0 0   100%
src / lilbee / data / store / types.py scope_to_chunk_type   6 0 0   100%
src / lilbee / data / store / types.py SearchChunk._coerce_none_chunk_type   1 0 0   100%
src / lilbee / data / store / types.py (no function)   62 0 0   100%
src / lilbee / mcp_server.py _error   1 0 0   100%
src / lilbee / mcp_server.py search   12 0 0   100%
src / lilbee / mcp_server.py status   2 0 0   100%
src / lilbee / mcp_server.py sync   2 0 0   100%
src / lilbee / mcp_server.py add   34 0 0   100%
src / lilbee / mcp_server.py crawl   9 0 0   100%
src / lilbee / mcp_server.py crawl_status   4 0 0   100%
src / lilbee / mcp_server.py init   16 0 0   100%
src / lilbee / mcp_server.py remove   2 0 0   100%
src / lilbee / mcp_server.py list_documents   2 0 0   100%
src / lilbee / mcp_server.py reset   6 0 0   100%
src / lilbee / mcp_server.py wiki_lint   7 0 0   100%
src / lilbee / mcp_server.py wiki_citations   2 0 0   100%
src / lilbee / mcp_server.py wiki_status   10 0 0   100%
src / lilbee / mcp_server.py wiki_list   7 0 0   100%
src / lilbee / mcp_server.py wiki_read   9 0 0   100%
src / lilbee / mcp_server.py wiki_build   4 0 0   100%
src / lilbee / mcp_server.py wiki_update   4 0 0   100%
src / lilbee / mcp_server.py wiki_synthesize   4 0 0   100%
src / lilbee / mcp_server.py wiki_prune   3 0 0   100%
src / lilbee / mcp_server.py model_list   11 0 0   100%
src / lilbee / mcp_server.py model_show   6 0 0   100%
src / lilbee / mcp_server.py _log_progress_failure   4 0 0   100%
src / lilbee / mcp_server.py model_pull   14 0 0   100%
src / lilbee / mcp_server.py model_pull.on_update   4 0 0   100%
src / lilbee / mcp_server.py model_rm   7 0 0   100%
src / lilbee / mcp_server.py wiki_drafts_list   4 0 0   100%
src / lilbee / mcp_server.py wiki_drafts_diff   7 0 0   100%
src / lilbee / mcp_server.py main   9 0 0   100%
src / lilbee / mcp_server.py (no function)   72 0 0   100%
src / lilbee / modelhub / __init__.py (no function)   0 0 0   100%
src / lilbee / modelhub / model_info.py _cache_key   1 0 0   100%
src / lilbee / modelhub / model_info.py invalidate_cache   1 0 0   100%
src / lilbee / modelhub / model_info.py get_model_architecture   14 0 0   100%
src / lilbee / modelhub / model_info.py _read_chat_arch   11 0 0   100%
src / lilbee / modelhub / model_info.py _read_embed_arch   10 0 0   100%
src / lilbee / modelhub / model_info.py _read_vision_arch   12 0 0   100%
src / lilbee / modelhub / model_info.py (no function)   18 0 0   100%
src / lilbee / modelhub / model_manager / __init__.py (no function)   5 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager.__init__   5 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager.list_installed   15 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager.list_native_identities   15 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._invalidate_installed_cache   2 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._list_native   1 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._list_remote   12 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager.is_installed   5 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._is_native   7 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._is_remote   1 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager.get_source   5 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager.pull   6 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._pull_native   8 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._pull_remote   15 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager.remove   9 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._remove_native   13 0 0   100%
src / lilbee / modelhub / model_manager / core.py ModelManager._remove_remote   12 0 0   100%
src / lilbee / modelhub / model_manager / core.py (no function)   31 0 0   100%
src / lilbee / modelhub / model_manager / discovery.py _classify_remote_task   9 0 0   100%
src / lilbee / modelhub / model_manager / discovery.py reclassify_by_name   6 0 0   100%
src / lilbee / modelhub / model_manager / discovery.py classify_remote_models   17 0 0   100%
src / lilbee / modelhub / model_manager / discovery.py _has_provider_key   3 0 0   100%
src / lilbee / modelhub / model_manager / discovery.py discover_api_models   10 0 0   100%
src / lilbee / modelhub / model_manager / discovery.py detect_remote_embedding_models   1 0 0   100%
src / lilbee / modelhub / model_manager / discovery.py (no function)   19 0 0   100%
src / lilbee / modelhub / model_manager / types.py (no function)   17 0 0   100%
src / lilbee / modelhub / model_manager / validation.py _is_local_installed   4 0 3   100%
src / lilbee / modelhub / model_manager / validation.py _is_api_ref_with_key   8 0 0   100%
src / lilbee / modelhub / model_manager / validation.py validate_persisted_model   5 0 0   100%
src / lilbee / modelhub / model_manager / validation.py _first_available_api_chat_ref   10 0 0   100%
src / lilbee / modelhub / model_manager / validation.py _first_installed_local_ref   7 0 0   100%
src / lilbee / modelhub / model_manager / validation.py _canonicalize   9 0 0   100%
src / lilbee / modelhub / model_manager / validation.py canonicalize_chat_model   1 0 0   100%
src / lilbee / modelhub / model_manager / validation.py canonicalize_embedding_model   1 0 0   100%
src / lilbee / modelhub / model_manager / validation.py (no function)   23 0 0   100%
src / lilbee / modelhub / models.py _catalog_from_featured   1 0 0   100%
src / lilbee / modelhub / models.py _get_model_catalog   2 0 0   100%
src / lilbee / modelhub / models.py __getattr__   3 0 0   100%
src / lilbee / modelhub / models.py get_system_ram_gb   7 0 18   100%
src / lilbee / modelhub / models.py get_free_disk_gb   5 0 0   100%
src / lilbee / modelhub / models.py pick_default_model   5 0 0   100%
src / lilbee / modelhub / models.py _model_download_size_gb   3 0 0   100%
src / lilbee / modelhub / models.py display_model_picker   28 0 0   100%
src / lilbee / modelhub / models.py prompt_model_choice   18 0 0   100%
src / lilbee / modelhub / models.py validate_disk_and_pull   6 0 0   100%
src / lilbee / modelhub / models.py pull_with_progress   11 0 0   100%
src / lilbee / modelhub / models.py pull_with_progress._on_bytes   2 0 0   100%
src / lilbee / modelhub / models.py ensure_chat_model   17 0 0   100%
src / lilbee / modelhub / models.py list_installed_models   15 0 0   100%
src / lilbee / modelhub / models.py (no function)   39 0 0   100%
src / lilbee / modelhub / registry.py _validate_hf_repo   3 0 0   100%
src / lilbee / modelhub / registry.py _validate_gguf_filename   3 0 0   100%
src / lilbee / modelhub / registry.py parse_hf_ref   4 0 0   100%
src / lilbee / modelhub / registry.py repo_to_dir   1 0 0   100%
src / lilbee / modelhub / registry.py ModelManifest.ref   1 0 0   100%
src / lilbee / modelhub / registry.py _sha256_file   8 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry.__init__   2 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._repo_cache_dir   1 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry.resolve   20 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._resolve_repo_only   15 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._cached_gguf_names   5 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._find_cached_gguf   10 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._reregister_from_cache   11 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry.is_installed   5 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry.install   11 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry.remove   16 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._gc_blob   16 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry.list_installed   11 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._blob_present   4 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry.get_manifest   5 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._manifest_path   5 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._read_manifest   1 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._write_manifest   13 0 0   100%
src / lilbee / modelhub / registry.py ModelRegistry._load_manifest_file   8 0 0   100%
src / lilbee / modelhub / registry.py register_downloaded_model   11 0 0   100%
src / lilbee / modelhub / registry.py (no function)   55 0 3   100%
src / lilbee / parent_monitor.py parse_parent_pid   13 0 0   100%
src / lilbee / parent_monitor.py watch_parent_async   4 0 0   100%
src / lilbee / parent_monitor.py watch_parent_thread   4 0 0   100%
src / lilbee / parent_monitor.py watch_parent_thread._loop   4 0 0   100%
src / lilbee / parent_monitor.py (no function)   14 0 0   100%
src / lilbee / providers / __init__.py (no function)   0 0 0   100%
src / lilbee / providers / backend_names.py (no function)   10 0 0   100%
src / lilbee / providers / base.py ClosableIterator.close   0 0 1   100%
src / lilbee / providers / base.py LLMOptions.to_dict   1 0 0   100%
src / lilbee / providers / base.py filter_options   1 0 0   100%
src / lilbee / providers / base.py ProviderError.__init__   2 0 0   100%
src / lilbee / providers / base.py LLMProvider.embed   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.chat   0 0 1   100%
src / lilbee / providers / base.py LLMProvider.chat   0 0 1   100%
src / lilbee / providers / base.py LLMProvider.chat   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.vision_ocr   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.pdf_ocr   0 0 6   100%
src / lilbee / providers / base.py LLMProvider.list_models   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.list_chat_models   0 0 7   100%
src / lilbee / providers / base.py LLMProvider.pull_model   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.show_model   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.get_capabilities   0 0 6   100%
src / lilbee / providers / base.py LLMProvider.rerank   0 0 12   100%
src / lilbee / providers / base.py LLMProvider.supports_rerank   0 0 10   100%
src / lilbee / providers / base.py LLMProvider.shutdown   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.invalidate_load_cache   0 0 2   100%
src / lilbee / providers / base.py LLMProvider.warm_up_pool   0 0 8   100%
src / lilbee / providers / base.py (no function)   19 0 84   100%
src / lilbee / providers / factory.py create_provider   14 0 1   100%
src / lilbee / providers / factory.py (no function)   4 0 3   100%
src / lilbee / providers / litellm_sdk.py _LitellmSubstringFilter.__init__   2 0 0   100%
src / lilbee / providers / litellm_sdk.py _LitellmSubstringFilter.filter   2 0 0   100%
src / lilbee / providers / litellm_sdk.py install_litellm_log_filter   1 0 0   100%
src / lilbee / providers / litellm_sdk.py _LitellmResponseView.__init__   1 0 0   100%
src / lilbee / providers / litellm_sdk.py _LitellmResponseView.model   2 0 0   100%
src / lilbee / providers / litellm_sdk.py _LitellmResponseView._first_choice   2 0 0   100%
src / lilbee / providers / litellm_sdk.py _LitellmResponseView.message_content   7 0 0   100%
src / lilbee / providers / litellm_sdk.py _LitellmResponseView.delta_content   7 0 0   100%
src / lilbee / providers / litellm_sdk.py _LitellmResponseView.finish_reason   2 0 0   100%
src / lilbee / providers / litellm_sdk.py _is_ollama   2 0 0   100%
src / lilbee / providers / litellm_sdk.py litellm_available   2 0 0   100%
src / lilbee / providers / litellm_sdk.py _require_litellm   5 0 0   100%
src / lilbee / providers / litellm_sdk.py _cache_ollama_defaults   3 0 0   100%
src / lilbee / providers / litellm_sdk.py _route_model   5 0 0   100%
src / lilbee / providers / litellm_sdk.py _format_messages   11 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.provider_name   1 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.active_backend_name   1 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.available   1 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.configure_logging   7 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.complete   8 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.complete_stream   7 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend._stream_chunks   11 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend._completion_kwargs   8 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.embed   16 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.rerank   22 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.list_models   4 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.list_chat_models   5 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend._all_chat_models_for   9 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend._list_ollama_models   7 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend._list_openai_models   11 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.pull_model   14 0 0   100%
src / lilbee / providers / litellm_sdk.py LitellmSdkBackend.show_model   20 0 0   100%
src / lilbee / providers / litellm_sdk.py (no function)   64 0 0   100%
src / lilbee / providers / llama_cpp / __init__.py (no function)   3 0 0   100%
src / lilbee / providers / llama_cpp / abort_signal.py request_abort   1 0 0   100%
src / lilbee / providers / llama_cpp / abort_signal.py clear_abort   1 0 0   100%
src / lilbee / providers / llama_cpp / abort_signal.py is_abort_set   1 0 0   100%
src / lilbee / providers / llama_cpp / abort_signal.py abort_callback   1 0 0   100%
src / lilbee / providers / llama_cpp / abort_signal.py (no function)   8 0 0   100%
src / lilbee / providers / llama_cpp / batching.py _truncate_to_budget   5 0 0   100%
src / lilbee / providers / llama_cpp / batching.py _split_into_sub_batches   19 0 0   100%
src / lilbee / providers / llama_cpp / batching.py embed_batch   6 0 0   100%
src / lilbee / providers / llama_cpp / batching.py compute_rerank_scores   7 0 0   100%
src / lilbee / providers / llama_cpp / batching.py _embed_one_call   3 0 0   100%
src / lilbee / providers / llama_cpp / batching.py _rerank_one_call   5 0 0   100%
src / lilbee / providers / llama_cpp / batching.py _extract_rerank_score   4 0 0   100%
src / lilbee / providers / llama_cpp / batching.py (no function)   16 0 0   100%
src / lilbee / providers / llama_cpp / gguf_meta.py train_ctx_from_meta   12 0 0   100%
src / lilbee / providers / llama_cpp / gguf_meta.py read_gguf_metadata   29 0 0   100%
src / lilbee / providers / llama_cpp / gguf_meta.py _find_mmproj_in_hf_snapshots   10 0 0   100%
src / lilbee / providers / llama_cpp / gguf_meta.py _find_mmproj_in_flat_dir   2 0 0   100%
src / lilbee / providers / llama_cpp / gguf_meta.py find_mmproj_for_model   5 0 0   100%
src / lilbee / providers / llama_cpp / gguf_meta.py read_mmproj_projector_type   9 0 0   100%
src / lilbee / providers / llama_cpp / gguf_meta.py (no function)   18 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _rank_for   4 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py autoselect_best_gpu_index   10 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _enumerate_vulkan_devices   7 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _load_vulkan_loader   13 0 4   100%
src / lilbee / providers / llama_cpp / gpu_select.py _list_devices_with_instance   23 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _resolve_vk_symbols   13 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _pick_best_device   7 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _icds_to_disable   6 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _classify_manifest_vendor   6 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _vulkan_vendors_present   7 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _select_best_vendor   4 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py _platform_supports_icd_pin   1 0 0   100%
src / lilbee / providers / llama_cpp / gpu_select.py disable_conflicting_vulkan_icds   12 0 2   100%
src / lilbee / providers / llama_cpp / gpu_select.py (no function)   68 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _resolve_ggml_level   4 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _LogDispatcher.__init__   4 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _LogDispatcher.dispatch   14 0 2   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _LogDispatcher.install   6 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _LogDispatcher.snapshot   1 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _LogDispatcher.restore   4 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _LogDispatcher.reset   4 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py import_llama_cpp   8 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py _apply_gpu_device_env   15 0 2   100%
src / lilbee / providers / llama_cpp / log_dispatch.py install_llama_log_handler   1 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py stderr_suppressed   9 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py suppress_native_stderr   2 0 0   100%
src / lilbee / providers / llama_cpp / log_dispatch.py (no function)   47 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _llama_n_seq_max   8 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _llama_n_seq_max.patched   2 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.__init__   2 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider._worker_error_message   6 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider._pool_runtime   3 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider._get_pool_accessor   6 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.embed   11 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.rerank   13 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.supports_rerank   1 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.vision_ocr   13 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider._vision_call_budget   2 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.pdf_ocr   13 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.pdf_ocr._drain   9 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider._pdf_drain_budget   7 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.chat   0 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.chat   0 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.chat   15 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider._chat_kwargs_from_options   7 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.list_models   2 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.list_chat_models   1 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.pull_model   1 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.show_model   5 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.get_capabilities   14 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.warm_up_pool   5 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.shutdown   1 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider._release_pool_roles   15 0 0   100%
src / lilbee / providers / llama_cpp / provider.py LlamaCppProvider.invalidate_load_cache   2 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _PoolChatStreamIterator.__init__   4 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _PoolChatStreamIterator.__iter__   1 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _PoolChatStreamIterator.__next__   14 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _PoolChatStreamIterator.close   14 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _PoolChatStreamIterator.__del__   0 0 2   100%
src / lilbee / providers / llama_cpp / provider.py _is_role_configured   1 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _make_role_config_factory   3 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _make_role_config_factory._make   4 0 0   100%
src / lilbee / providers / llama_cpp / provider.py resolve_model_path   11 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _llama_cpp_has_rank_pooling   6 0 0   100%
src / lilbee / providers / llama_cpp / provider.py load_llama   31 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _safe_read_gguf_metadata   5 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _resolve_chat_ctx   10 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _kv_elem_bytes_for_cfg   1 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _resolve_n_gpu_layers   3 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _apply_flash_attention   3 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _apply_kv_cache_type   9 0 2   100%
src / lilbee / providers / llama_cpp / provider.py _ggml_type_map   3 0 2   100%
src / lilbee / providers / llama_cpp / provider.py _construct_llama   16 0 1   100%
src / lilbee / providers / llama_cpp / provider.py _drop_flash_attn_if_unsupported   5 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _halve_ctx_for_retry   12 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _raise_load_error   4 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _is_load_oom   2 0 0   100%
src / lilbee / providers / llama_cpp / provider.py _wrap_llama_load_error   14 0 4   100%
src / lilbee / providers / llama_cpp / provider.py _is_rerank_model   3 0 0   100%
src / lilbee / providers / llama_cpp / provider.py (no function)   101 0 1   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py iter_vulkan_manifest_paths   1 0 4   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py _iter_windows_vulkan_manifest_paths   5 0 2   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py _iter_khronos_software_manifests   17 0 0   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py _iter_pnp_class_manifests   22 0 0   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py _read_vulkan_driver_name_values   12 0 0   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py _iter_linux_vulkan_manifest_paths   22 0 0   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py _linux_vulkan_icd_directories   8 0 0   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py _xdg_dirs   6 0 0   100%
src / lilbee / providers / llama_cpp / vulkan_icd_discovery.py (no function)   22 0 2   100%
src / lilbee / providers / model_cache.py kv_bytes_per_token   14 0 0   100%
src / lilbee / providers / model_cache.py estimate_model_memory   4 0 0   100%
src / lilbee / providers / model_cache.py compute_dynamic_ctx   11 0 0   100%
src / lilbee / providers / model_cache.py get_available_memory   11 0 0   100%
src / lilbee / providers / model_cache.py _try_nvidia_memory   18 0 0   100%
src / lilbee / providers / model_cache.py (no function)   21 0 0   100%
src / lilbee / providers / model_defaults.py _DefaultsCache.__init__   1 0 0   100%
src / lilbee / providers / model_defaults.py _DefaultsCache.get   1 0 0   100%
src / lilbee / providers / model_defaults.py _DefaultsCache.set   1 0 0   100%
src / lilbee / providers / model_defaults.py _DefaultsCache.clear   1 0 0   100%
src / lilbee / providers / model_defaults.py parse_kv_parameters   16 0 0   100%
src / lilbee / providers / model_defaults.py read_gguf_defaults   14 0 0   100%
src / lilbee / providers / model_defaults.py _field_type   3 0 1   100%
src / lilbee / providers / model_defaults.py (no function)   30 0 0   100%
src / lilbee / providers / model_ref.py ProviderModelRef.is_api   1 0 0   100%
src / lilbee / providers / model_ref.py ProviderModelRef.is_local   1 0 0   100%
src / lilbee / providers / model_ref.py ProviderModelRef.is_remote   1 0 0   100%
src / lilbee / providers / model_ref.py ProviderModelRef.for_openai_prefix   5 0 0   100%
src / lilbee / providers / model_ref.py ProviderModelRef.for_display   1 0 0   100%
src / lilbee / providers / model_ref.py ProviderModelRef.needs_api_base   1 0 0   100%
src / lilbee / providers / model_ref.py format_remote_ref   1 0 0   100%
src / lilbee / providers / model_ref.py parse_model_ref   10 0 0   100%
src / lilbee / providers / model_ref.py translate_options   7 0 0   100%
src / lilbee / providers / model_ref.py (no function)   25 0 0   100%
src / lilbee / providers / mtmd_backend.py read_chat_template   9 0 0   100%
src / lilbee / providers / mtmd_backend.py adapt_gguf_template_for_mtmd   4 0 0   100%
src / lilbee / providers / mtmd_backend.py build_vision_chat_handler   11 0 0   100%
src / lilbee / providers / mtmd_backend.py load_vision_llama   19 0 0   100%
src / lilbee / providers / mtmd_backend.py _resolve_vision_n_ctx   6 0 0   100%
src / lilbee / providers / mtmd_backend.py (no function)   20 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.__init__   2 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider._get_llama_cpp   4 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider._get_sdk_provider   3 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider._pick_backend   3 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.embed   2 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.chat   0 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.chat   0 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.chat   5 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.vision_ocr   2 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.pdf_ocr   2 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.list_models   11 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.list_chat_models   4 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.pull_model   4 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.show_model   2 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.get_capabilities   2 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.rerank   8 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.supports_rerank   6 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.shutdown   4 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.invalidate_load_cache   2 0 0   100%
src / lilbee / providers / routing_provider.py RoutingProvider.warm_up_pool   1 0 0   100%
src / lilbee / providers / routing_provider.py _is_native_rerank_ref   5 0 0   100%
src / lilbee / providers / routing_provider.py (no function)   41 0 0   100%
src / lilbee / providers / sdk_backend.py get_provider_api_key   6 0 0   100%
src / lilbee / providers / sdk_backend.py detect_backend_name   5 0 0   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.provider_name   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.active_backend_name   0 0 7   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.available   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.configure_logging   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.complete   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.complete_stream   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.embed   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.rerank   0 0 7   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.list_models   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.list_chat_models   0 0 9   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.pull_model   0 0 2   100%
src / lilbee / providers / sdk_backend.py LlmSdkBackend.show_model   0 0 2   100%
src / lilbee / providers / sdk_backend.py (no function)   48 0 53   100%
src / lilbee / providers / sdk_llm_provider.py inject_provider_keys   4 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.__init__   4 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider._ensure_initialized   8 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.embed   10 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.chat   0 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.chat   0 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.chat   13 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider._chat_stream   9 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.vision_ocr   11 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.pdf_ocr   2 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.list_models   8 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.list_chat_models   9 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.pull_model   8 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.show_model   8 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.get_capabilities   5 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.rerank   12 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.supports_rerank   1 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.available   1 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.shutdown   0 0 0   100%
src / lilbee / providers / sdk_llm_provider.py SdkLLMProvider.invalidate_load_cache   0 0 0   100%
src / lilbee / providers / sdk_llm_provider.py (no function)   36 0 0   100%
src / lilbee / providers / worker / __init__.py (no function)   0 0 0   100%
src / lilbee / providers / worker / chat_worker.py _ChatSession.__init__   4 0 0   100%
src / lilbee / providers / worker / chat_worker.py _ChatSession.chat   3 0 0   100%
src / lilbee / providers / worker / chat_worker.py _ChatSession._ensure_loaded   9 0 0   100%
src / lilbee / providers / worker / chat_worker.py _ChatSession._close_model   4 0 0   100%
src / lilbee / providers / worker / chat_worker.py _ChatSession.close   1 0 0   100%
src / lilbee / providers / worker / chat_worker.py _extract_stream_content   8 0 0   100%
src / lilbee / providers / worker / chat_worker.py _handle_chat_streaming   27 0 0   100%
src / lilbee / providers / worker / chat_worker.py _extract_non_streaming_content   13 0 0   100%
src / lilbee / providers / worker / chat_worker.py _handle_chat_non_streaming   2 0 0   100%
src / lilbee / providers / worker / chat_worker.py _AbortBridge.__init__   3 0 0   100%
src / lilbee / providers / worker / chat_worker.py _AbortBridge.__enter__   7 0 0   100%
src / lilbee / providers / worker / chat_worker.py _AbortBridge.__exit__   7 0 0   100%
src / lilbee / providers / worker / chat_worker.py _AbortBridge._poll   5 0 0   100%
src / lilbee / providers / worker / chat_worker.py _handle_chat   19 0 0   100%
src / lilbee / providers / worker / chat_worker.py chat_worker_main   1 0 0   100%
src / lilbee / providers / worker / chat_worker.py (no function)   33 0 0   100%
src / lilbee / providers / worker / embed_worker.py _EmbedSession.__init__   2 0 0   100%
src / lilbee / providers / worker / embed_worker.py _EmbedSession.embed   3 0 0   100%
src / lilbee / providers / worker / embed_worker.py _EmbedSession._load   3 0 0   100%
src / lilbee / providers / worker / embed_worker.py _EmbedSession._embed_batch   2 0 0   100%
src / lilbee / providers / worker / embed_worker.py _EmbedSession.close   5 0 0   100%
src / lilbee / providers / worker / embed_worker.py _handle_embed   13 0 0   100%
src / lilbee / providers / worker / embed_worker.py embed_worker_main   1 0 0   100%
src / lilbee / providers / worker / embed_worker.py (no function)   17 0 0   100%
src / lilbee / providers / worker / health_ticker.py _tick_once   12 0 0   100%
src / lilbee / providers / worker / health_ticker.py _ticker_loop   6 0 0   100%
src / lilbee / providers / worker / health_ticker.py start_health_ticker   3 0 0   100%
src / lilbee / providers / worker / health_ticker.py stop_health_ticker   7 0 0   100%
src / lilbee / providers / worker / health_ticker.py (no function)   17 0 2   100%
src / lilbee / providers / worker / pool.py PoolShutdownError.__init__   1 0 0   100%
src / lilbee / providers / worker / pool.py RoleDegradedError.__init__   3 0 0   100%
src / lilbee / providers / worker / pool.py RoleAccessor.__init__   2 0 0   100%
src / lilbee / providers / worker / pool.py RoleAccessor.call   8 0 0   100%
src / lilbee / providers / worker / pool.py RoleAccessor.stream   1 0 0   100%
src / lilbee / providers / worker / pool.py RoleAccessor.ping   7 0 0   100%
src / lilbee / providers / worker / pool.py RoleAccessor.cancel   3 0 0   100%
src / lilbee / providers / worker / pool.py RoleAccessor.clear_abort   3 0 0   100%
src / lilbee / providers / worker / pool.py RoleAccessor.is_alive   1 0 0   100%
src / lilbee / providers / worker / pool.py _spawn_and_stream   8 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.__init__   7 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.add_listener   4 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.register   4 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.accessor   3 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.registered_roles   1 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.start_eager   2 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.shutdown   8 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool._ensure_channel   19 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool._fire_listeners   5 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool._stamp_used   3 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool._channel_if_alive   6 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.detach_channel   6 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool._refuse_or_clear_cooldown   9 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool._on_crash   17 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.reset_role_failures   5 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.is_degraded   4 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.reap_idle   25 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.ping_role   3 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool.release   8 0 0   100%
src / lilbee / providers / worker / pool.py WorkerPool._raise_if_shutdown   2 0 0   100%
src / lilbee / providers / worker / pool.py PoolRuntime.__init__   5 0 0   100%
src / lilbee / providers / worker / pool.py PoolRuntime.start   8 0 0   100%
src / lilbee / providers / worker / pool.py PoolRuntime._run_loop   16 0 0   100%
src / lilbee / providers / worker / pool.py PoolRuntime.run_sync   13 0 0   100%
src / lilbee / providers / worker / pool.py PoolRuntime.submit   8 0 0   100%
src / lilbee / providers / worker / pool.py PoolRuntime.shutdown   10 0 0   100%
src / lilbee / providers / worker / pool.py shutdown_pool_runtime   7 0 0   100%
src / lilbee / providers / worker / pool.py (no function)   79 0 2   100%
src / lilbee / providers / worker / rerank_worker.py _RerankSession.__init__   2 0 0   100%
src / lilbee / providers / worker / rerank_worker.py _RerankSession.score   3 0 0   100%
src / lilbee / providers / worker / rerank_worker.py _RerankSession._load   3 0 0   100%
src / lilbee / providers / worker / rerank_worker.py _RerankSession._compute   2 0 0   100%
src / lilbee / providers / worker / rerank_worker.py _RerankSession.close   5 0 0   100%
src / lilbee / providers / worker / rerank_worker.py _handle_rerank   13 0 0   100%
src / lilbee / providers / worker / rerank_worker.py rerank_worker_main   1 0 0   100%
src / lilbee / providers / worker / rerank_worker.py (no function)   17 0 0   100%
src / lilbee / providers / worker / transport.py WorkerChannel.is_alive   0 0 2   100%
src / lilbee / providers / worker / transport.py WorkerChannel.pid   0 0 2   100%
src / lilbee / providers / worker / transport.py WorkerChannel.in_flight   0 0 7   100%
src / lilbee / providers / worker / transport.py WorkerChannel.call   0 0 2   100%
src / lilbee / providers / worker / transport.py WorkerChannel.stream   0 0 2   100%
src / lilbee / providers / worker / transport.py WorkerChannel.ping   0 0 2   100%
src / lilbee / providers / worker / transport.py WorkerChannel.cancel   0 0 8   100%
src / lilbee / providers / worker / transport.py WorkerChannel.clear_abort   0 0 2   100%
src / lilbee / providers / worker / transport.py WorkerChannel.close   0 0 2   100%
src / lilbee / providers / worker / transport.py WorkerSpawner.spawn   0 0 2   100%
src / lilbee / providers / worker / transport.py default_spawner   2 0 0   100%
src / lilbee / providers / worker / transport.py (no function)   48 0 61   100%
src / lilbee / providers / worker / transport_pipe.py WorkerError.__init__   3 0 0   100%
src / lilbee / providers / worker / transport_pipe.py WorkerCrashError.__init__   10 0 0   100%
src / lilbee / providers / worker / transport_pipe.py _read_log_tail   10 0 0   100%
src / lilbee / providers / worker / transport_pipe.py _serialize_exception   2 0 0   100%
src / lilbee / providers / worker / transport_pipe.py _deserialize_exception   1 0 0   100%
src / lilbee / providers / worker / transport_pipe.py _check_pickle_size   6 0 0   100%
src / lilbee / providers / worker / transport_pipe.py _worker_log_path   6 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.__init__   12 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.role   1 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.is_alive   1 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.pid   1 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.in_flight   2 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._bump_in_flight   2 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._ensure_open   3 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._crash   1 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._send_data   6 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._recv_data   6 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.call   12 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.stream   15 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.ping   4 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._health_round_trip   12 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.cancel   1 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.clear_abort   1 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel.close   13 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._join_process   6 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._record_exit_reason   10 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeChannel._format_exit_reason   9 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeSpawner.__init__   2 0 0   100%
src / lilbee / providers / worker / transport_pipe.py PipeSpawner.spawn   11 0 0   100%
src / lilbee / providers / worker / transport_pipe.py (no function)   63 0 0   100%
src / lilbee / providers / worker / vision_worker.py _make_abort_callback   2 0 0   100%
src / lilbee / providers / worker / vision_worker.py _make_abort_callback._callback   1 0 0   100%
src / lilbee / providers / worker / vision_worker.py _VisionSession.__init__   4 0 0   100%
src / lilbee / providers / worker / vision_worker.py _VisionSession.ocr   10 0 0   100%
src / lilbee / providers / worker / vision_worker.py _VisionSession._ensure_loaded   9 0 0   100%
src / lilbee / providers / worker / vision_worker.py _VisionSession._close_model   4 0 0   100%
src / lilbee / providers / worker / vision_worker.py _VisionSession.close   1 0 0   100%
src / lilbee / providers / worker / vision_worker.py _extract_vision_content   13 0 0   100%
src / lilbee / providers / worker / vision_worker.py _handle_vision   19 0 0   100%
src / lilbee / providers / worker / vision_worker.py _handle_pdf_ocr   18 0 0   100%
src / lilbee / providers / worker / vision_worker.py vision_worker_main   1 0 0   100%
src / lilbee / providers / worker / vision_worker.py (no function)   24 0 0   100%
src / lilbee / providers / worker / wire_kinds.py (no function)   17 0 0   100%
src / lilbee / providers / worker / worker_runtime.py redirect_stdio_to_devnull   0 0 7   100%
src / lilbee / providers / worker / worker_runtime.py configure_worker_logging   12 0 0   100%
src / lilbee / providers / worker / worker_runtime.py Reply.__init__   1 0 0   100%
src / lilbee / providers / worker / worker_runtime.py Reply.send   1 0 0   100%
src / lilbee / providers / worker / worker_runtime.py run_worker   17 0 0   100%
src / lilbee / providers / worker / worker_runtime.py _start_heartbeat_thread   3 0 0   100%
src / lilbee / providers / worker / worker_runtime.py _heartbeat_loop   19 0 0   100%
src / lilbee / providers / worker / worker_runtime.py _handle_data_frame   17 0 0   100%
src / lilbee / providers / worker / worker_runtime.py (no function)   29 0 1   100%
src / lilbee / retrieval / __init__.py (no function)   0 0 0   100%
src / lilbee / retrieval / clustering.py SourceClusterer.available   0 0 2   100%
src / lilbee / retrieval / clustering.py SourceClusterer.get_clusters   0 0 2   100%
src / lilbee / retrieval / clustering.py _select_backend   8 0 0   100%
src / lilbee / retrieval / clustering.py Clusterer.__init__   1 0 0   100%
src / lilbee / retrieval / clustering.py Clusterer.backend   1 0 0   100%
src / lilbee / retrieval / clustering.py Clusterer.available   1 0 0   100%
src / lilbee / retrieval / clustering.py Clusterer.get_clusters   1 0 0   100%
src / lilbee / retrieval / clustering.py (no function)   21 0 10   100%
src / lilbee / retrieval / clustering_embedding / __init__.py (no function)   3 0 0   100%
src / lilbee / retrieval / clustering_embedding / clusterer.py _warn_if_undersegmented   7 0 0   100%
src / lilbee / retrieval / clustering_embedding / clusterer.py EmbeddingClusterer.__init__   2 0 0   100%
src / lilbee / retrieval / clustering_embedding / clusterer.py EmbeddingClusterer.available   8 0 0   100%
src / lilbee / retrieval / clustering_embedding / clusterer.py EmbeddingClusterer.get_clusters   21 0 0   100%
src / lilbee / retrieval / clustering_embedding / clusterer.py (no function)   12 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _tokenize_for_tf   6 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py auto_k   4 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _parse_chunk_row   12 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _load_chunk_records   14 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py normalize_rows   8 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py mutual_knn   21 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py label_propagation   17 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py communities_by_label   4 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _source_totals   4 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _filter_sources   12 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _corpus_document_frequency   5 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _label_community   19 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py _build_clusters   13 0 0   100%
src / lilbee / retrieval / clustering_embedding / helpers.py (no function)   31 0 0   100%
src / lilbee / retrieval / clustering_embedding / types.py (no function)   8 0 0   100%
src / lilbee / retrieval / concepts / __init__.py (no function)   6 0 0   100%
src / lilbee / retrieval / concepts / clusterer.py ConceptGraphClusterer.__init__   1 0 0   100%
src / lilbee / retrieval / concepts / clusterer.py ConceptGraphClusterer.available   1 0 0   100%
src / lilbee / retrieval / concepts / clusterer.py ConceptGraphClusterer.get_clusters   2 0 0   100%
src / lilbee / retrieval / concepts / clusterer.py (no function)   10 0 0   100%
src / lilbee / retrieval / concepts / community.py _compute_pmi   9 0 0   100%
src / lilbee / retrieval / concepts / community.py _leiden_partition   8 0 0   100%
src / lilbee / retrieval / concepts / community.py (no function)   13 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.__init__   4 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph._ensure_nlp   10 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.extract_concepts   9 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.extract_concepts_batch   7 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.build_from_chunks   29 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.boost_results   16 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.get_chunk_concepts   9 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.expand_query   11 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.get_related_concepts   22 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.top_communities   16 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.rebuild_clusters   16 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.get_cluster_sources   14 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.get_cluster_label   12 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.get_graph   3 0 0   100%
src / lilbee / retrieval / concepts / graph.py ConceptGraph.reset_nlp_cache   2 0 0   100%
src / lilbee / retrieval / concepts / graph.py (no function)   28 0 0   100%
src / lilbee / retrieval / concepts / nlp.py concepts_available   6 0 0   100%
src / lilbee / retrieval / concepts / nlp.py _ensure_spacy_model   6 0 0   100%
src / lilbee / retrieval / concepts / nlp.py load_spacy_pipeline   1 0 0   100%
src / lilbee / retrieval / concepts / nlp.py _filter_noun_chunks   13 0 0   100%
src / lilbee / retrieval / concepts / nlp.py (no function)   9 0 0   100%
src / lilbee / retrieval / concepts / schema.py _concept_nodes_schema   1 0 0   100%
src / lilbee / retrieval / concepts / schema.py _concept_edges_schema   1 0 0   100%
src / lilbee / retrieval / concepts / schema.py _chunk_concepts_schema   1 0 0   100%
src / lilbee / retrieval / concepts / schema.py (no function)   5 0 0   100%
src / lilbee / retrieval / embedder.py _name_base   1 0 0   100%
src / lilbee / retrieval / embedder.py _remote_sees_model   7 0 0   100%
src / lilbee / retrieval / embedder.py _native_has_model   6 0 0   100%
src / lilbee / retrieval / embedder.py is_model_available   8 0 0   100%
src / lilbee / retrieval / embedder.py Embedder.__init__   2 0 0   100%
src / lilbee / retrieval / embedder.py Embedder.truncate   4 0 0   100%
src / lilbee / retrieval / embedder.py Embedder.validate_vector   5 0 0   100%
src / lilbee / retrieval / embedder.py Embedder.validate_model   1 0 0   100%
src / lilbee / retrieval / embedder.py Embedder.embedding_available   1 0 0   100%
src / lilbee / retrieval / embedder.py Embedder.embed   4 0 0   100%
src / lilbee / retrieval / embedder.py Embedder.embed_batch   22 0 0   100%
src / lilbee / retrieval / embedder.py (no function)   20 0 0   100%
src / lilbee / retrieval / query / __init__.py (no function)   5 0 0   100%
src / lilbee / retrieval / query / dedup.py _relevance_weight   5 0 0   100%
src / lilbee / retrieval / query / dedup.py _greedy_cover   24 0 0   100%
src / lilbee / retrieval / query / dedup.py filter_results   11 0 0   100%
src / lilbee / retrieval / query / dedup.py deduplicate_sources   11 0 0   100%
src / lilbee / retrieval / query / dedup.py _sort_key   5 0 0   100%
src / lilbee / retrieval / query / dedup.py sort_by_relevance   1 0 0   100%
src / lilbee / retrieval / query / dedup.py diversify_sources   10 0 0   100%
src / lilbee / retrieval / query / dedup.py prepare_results   1 0 0   100%
src / lilbee / retrieval / query / dedup.py (no function)   13 0 0   100%
src / lilbee / retrieval / query / expansion.py (no function)   3 0 0   100%
src / lilbee / retrieval / query / formatting.py display_source_path   10 0 0   100%
src / lilbee / retrieval / query / formatting.py _format_citation   10 0 0   100%
src / lilbee / retrieval / query / formatting.py format_source   15 0 0   100%
src / lilbee / retrieval / query / formatting.py build_context   1 0 0   100%
src / lilbee / retrieval / query / formatting.py _extract_cited_indices   1 0 0   100%
src / lilbee / retrieval / query / formatting.py strip_llm_citations   1 0 0   100%
src / lilbee / retrieval / query / formatting.py (no function)   14 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher.__init__   6 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._apply_temporal_filter   21 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._apply_guardrails   4 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._concept_query_expansion   9 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._llm_expand   7 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._expand_query   22 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._should_skip_expansion   12 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._apply_concept_boost   12 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._hyde_search   9 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._normalize_chunk_type   4 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._parse_structured_query   4 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._search_structured   12 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher.select_context   15 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._merge_variant_results   7 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._merge_hyde_results   8 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher.search   16 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher.build_rag_context   16 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._direct_messages   5 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._messages_for_provider   1 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._direct_chat   5 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher.ask_raw   11 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher.ask   9 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher._stream_direct   8 0 0   100%
src / lilbee / retrieval / query / searcher.py Searcher.ask_stream   25 0 0   100%
src / lilbee / retrieval / query / searcher.py (no function)   50 0 3   100%
src / lilbee / retrieval / query / tokenize.py _tokenize   1 0 0   100%
src / lilbee / retrieval / query / tokenize.py _idf_weights   6 0 0   100%
src / lilbee / retrieval / query / tokenize.py (no function)   7 0 0   100%
src / lilbee / retrieval / reasoning.py _TagParser.feed   9 0 0   100%
src / lilbee / retrieval / reasoning.py _TagParser.flush   6 0 0   100%
src / lilbee / retrieval / reasoning.py _TagParser._process_thinking   15 0 0   100%
src / lilbee / retrieval / reasoning.py _TagParser._process_normal   11 0 0   100%
src / lilbee / retrieval / reasoning.py filter_reasoning   20 0 0   100%
src / lilbee / retrieval / reasoning.py effective_reasoning_cap   3 0 0   100%
src / lilbee / retrieval / reasoning.py stream_chat_with_cap   14 0 0   100%
src / lilbee / retrieval / reasoning.py stream_chat_with_cap._on_cap   1 0 0   100%
src / lilbee / retrieval / reasoning.py cap_events_as_stream_tokens   5 0 0   100%
src / lilbee / retrieval / reasoning.py _close_iterator   3 0 0   100%
src / lilbee / retrieval / reasoning.py strip_reasoning   1 0 0   100%
src / lilbee / retrieval / reasoning.py _could_be_partial   1 0 0   100%
src / lilbee / retrieval / reasoning.py (no function)   41 0 2   100%
src / lilbee / retrieval / reranker.py _normalize_scores   6 0 0   100%
src / lilbee / retrieval / reranker.py _blend_scores   12 0 0   100%
src / lilbee / retrieval / reranker.py _pin_original_top   7 0 0   100%
src / lilbee / retrieval / reranker.py Reranker.__init__   1 0 0   100%
src / lilbee / retrieval / reranker.py Reranker.rerank   16 0 0   100%
src / lilbee / retrieval / reranker.py _score_candidates   7 0 0   100%
src / lilbee / retrieval / reranker.py (no function)   19 0 0   100%
src / lilbee / runtime / __init__.py (no function)   0 0 0   100%
src / lilbee / runtime / _splash_runner.py apply_color   3 0 0   100%
src / lilbee / runtime / _splash_runner.py build_logo_frames   1 0 0   100%
src / lilbee / runtime / _splash_runner.py build_knight_rider_frames   17 0 0   100%
src / lilbee / runtime / _splash_runner.py render_frame   2 0 0   100%
src / lilbee / runtime / _splash_runner.py move_up_and_clear   1 0 0   100%
src / lilbee / runtime / _splash_runner.py clear_screen   1 0 0   100%
src / lilbee / runtime / _splash_runner.py _read_eof   4 0 0   100%
src / lilbee / runtime / _splash_runner.py _pipe_closed_win32   0 0 16   100%
src / lilbee / runtime / _splash_runner.py _pipe_closed_posix   0 0 8   100%
src / lilbee / runtime / _splash_runner.py pipe_closed   0 0 3   100%
src / lilbee / runtime / _splash_runner.py animation_loop   29 0 4   100%
src / lilbee / runtime / _splash_runner.py animation_loop.handle_term   0 0 2   100%
src / lilbee / runtime / _splash_runner.py main   10 0 0   100%
src / lilbee / runtime / _splash_runner.py (no function)   36 0 2   100%
src / lilbee / runtime / asyncio_loop.py is_executor_shutdown   1 0 0   100%
src / lilbee / runtime / asyncio_loop.py get_loop   12 0 0   100%
src / lilbee / runtime / asyncio_loop.py run   5 0 0   100%
src / lilbee / runtime / asyncio_loop.py shutdown   11 0 0   100%
src / lilbee / runtime / asyncio_loop.py _drain   6 0 0   100%
src / lilbee / runtime / asyncio_loop.py (no function)   19 0 0   100%
src / lilbee / runtime / cancellation.py (no function)   2 0 0   100%
src / lilbee / runtime / cpu.py cpu_quota   10 0 0   100%
src / lilbee / runtime / cpu.py (no function)   6 0 0   100%
src / lilbee / runtime / hardware.py compute_fit   8 0 0   100%
src / lilbee / runtime / hardware.py available_memory_for_fit   5 0 0   100%
src / lilbee / runtime / hardware.py family_size_variants   2 0 0   100%
src / lilbee / runtime / hardware.py _size_variant_label   2 0 0   100%
src / lilbee / runtime / hardware.py (no function)   25 0 0   100%
src / lilbee / runtime / ingest_lock.py IngestLockRegistry.__init__   2 0 0   100%
src / lilbee / runtime / ingest_lock.py IngestLockRegistry._get_registry_lock   3 0 0   100%
src / lilbee / runtime / ingest_lock.py IngestLockRegistry.reset   2 0 0   100%
src / lilbee / runtime / ingest_lock.py IngestLockRegistry.try_acquire   9 0 0   100%
src / lilbee / runtime / ingest_lock.py IngestLockRegistry.canonical_source_name   1 0 0   100%
src / lilbee / runtime / ingest_lock.py IngestLockRegistry.acquire   13 0 0   100%
src / lilbee / runtime / ingest_lock.py IngestLockRegistry.release   4 0 0   100%
src / lilbee / runtime / ingest_lock.py (no function)   13 0 0   100%
src / lilbee / runtime / lock.py _lock_path   1 0 0   100%
src / lilbee / runtime / lock.py write_lock   13 0 0   100%
src / lilbee / runtime / lock.py (no function)   15 0 0   100%
src / lilbee / runtime / progress / __init__.py (no function)   3 0 0   100%
src / lilbee / runtime / progress / callbacks.py noop_callback   0 0 0   100%
src / lilbee / runtime / progress / callbacks.py (no function)   8 0 0   100%
src / lilbee / runtime / progress / types.py (no function)   79 0 0   100%
src / lilbee / runtime / splash.py _should_skip   3 0 0   100%
src / lilbee / runtime / splash.py start   11 0 0   100%
src / lilbee / runtime / splash.py stop   11 0 0   100%
src / lilbee / runtime / splash.py dismiss   13 0 0   100%
src / lilbee / runtime / splash.py _close_write_fd   2 0 0   100%
src / lilbee / runtime / splash.py _restore_cursor   5 0 0   100%
src / lilbee / runtime / splash.py _atexit_cleanup   2 0 0   100%
src / lilbee / runtime / splash.py (no function)   22 0 0   100%
src / lilbee / runtime / temporal.py detect_temporal   4 0 0   100%
src / lilbee / runtime / temporal.py _today   1 0 0   100%
src / lilbee / runtime / temporal.py _yesterday   1 0 0   100%
src / lilbee / runtime / temporal.py _this_week   1 0 0   100%
src / lilbee / runtime / temporal.py _last_week   2 0 0   100%
src / lilbee / runtime / temporal.py _this_month   1 0 0   100%
src / lilbee / runtime / temporal.py _last_month   2 0 0   100%
src / lilbee / runtime / temporal.py _recent   1 0 0   100%
src / lilbee / runtime / temporal.py resolve_date_range   5 0 0   100%
src / lilbee / runtime / temporal.py (no function)   20 0 0   100%
src / lilbee / server / __init__.py create_app   2 0 0   100%
src / lilbee / server / __init__.py (no function)   1 0 0   100%
src / lilbee / server / app.py _lifespan   15 0 0   100%
src / lilbee / server / app.py create_app   2 0 0   100%
src / lilbee / server / app.py (no function)   24 0 0   100%
src / lilbee / server / auth.py read_only   2 0 0   100%
src / lilbee / server / auth.py is_read_only   1 0 0   100%
src / lilbee / server / auth.py server_json_path   1 0 0   100%
src / lilbee / server / auth.py SessionManager.__init__   1 0 0   100%
src / lilbee / server / auth.py SessionManager.load_or_generate   9 0 2   100%
src / lilbee / server / auth.py SessionManager._read_persisted_token   14 0 0   100%
src / lilbee / server / auth.py SessionManager.cleanup   3 0 0   100%
src / lilbee / server / auth.py SessionManager.validate   5 0 0   100%
src / lilbee / server / auth.py AuthMiddleware.__init__   1 0 0   100%
src / lilbee / server / auth.py AuthMiddleware.__call__   17 0 0   100%
src / lilbee / server / auth.py (no function)   30 0 0   100%
src / lilbee / server / handlers / __init__.py health   1 0 0   100%
src / lilbee / server / handlers / __init__.py status   2 0 0   100%
src / lilbee / server / handlers / __init__.py (no function)   14 0 0   100%
src / lilbee / server / handlers / config.py _validate_config_updates   8 0 0   100%
src / lilbee / server / handlers / config.py _apply_config_updates   15 0 0   100%
src / lilbee / server / handlers / config.py update_config   10 0 0   100%
src / lilbee / server / handlers / config.py get_config   3 0 0   100%
src / lilbee / server / handlers / config.py _compute_config_defaults   8 0 2   100%
src / lilbee / server / handlers / config.py get_config_defaults   1 0 0   100%
src / lilbee / server / handlers / config.py (no function)   21 0 0   100%
src / lilbee / server / handlers / crawl.py crawl_stream   12 0 0   100%
src / lilbee / server / handlers / crawl.py crawl_stream._run_crawl   4 0 0   100%
src / lilbee / server / handlers / crawl.py (no function)   6 0 0   100%
src / lilbee / server / handlers / documents.py _is_safe_for_inline_render   5 0 0   100%
src / lilbee / server / handlers / documents.py delete_documents   2 0 0   100%
src / lilbee / server / handlers / documents.py list_documents   5 0 0   100%
src / lilbee / server / handlers / documents.py get_source_content   18 0 0   100%
src / lilbee / server / handlers / documents.py (no function)   12 0 0   100%
src / lilbee / server / handlers / ingest.py _run_sync_with_sentinel   6 0 0   100%
src / lilbee / server / handlers / ingest.py sync_stream   10 0 0   100%
src / lilbee / server / handlers / ingest.py _run_add   17 0 0   100%
src / lilbee / server / handlers / ingest.py validate_add_paths   10 0 0   100%
src / lilbee / server / handlers / ingest.py _parse_ocr_params   7 0 0   100%
src / lilbee / server / handlers / ingest.py add_files_stream   28 0 0   100%
src / lilbee / server / handlers / ingest.py (no function)   23 0 2   100%
src / lilbee / server / handlers / models.py format_task_mismatch   2 0 0   100%
src / lilbee / server / handlers / models.py _catalog_section   2 0 0   100%
src / lilbee / server / handlers / models.py list_models   2 0 0   100%
src / lilbee / server / handlers / models.py _set_model   3 0 0   100%
src / lilbee / server / handlers / models.py _resolve_via_catalog   4 0 0   100%
src / lilbee / server / handlers / models.py _resolve_via_parse   5 0 0   100%
src / lilbee / server / handlers / models.py _require_model_available   10 0 0   100%
src / lilbee / server / handlers / models.py _build_task_to_field   1 0 0   100%
src / lilbee / server / handlers / models.py _require_model_for_task   4 0 0   100%
src / lilbee / server / handlers / models.py set_chat_model   2 0 0   100%
src / lilbee / server / handlers / models.py set_embedding_model   9 0 0   100%
src / lilbee / server / handlers / models.py set_vision_model   2 0 0   100%
src / lilbee / server / handlers / models.py set_reranker_model   2 0 0   100%
src / lilbee / server / handlers / models.py models_show   3 0 0   100%
src / lilbee / server / handlers / models.py _parse_source   1 0 0   100%
src / lilbee / server / handlers / models.py _row_fit   7 0 0   100%
src / lilbee / server / handlers / models.py _families_by_repo   5 0 0   100%
src / lilbee / server / handlers / models.py _row_size_variants   4 0 0   100%
src / lilbee / server / handlers / models.py _build_catalog_entry   1 0 0   100%
src / lilbee / server / handlers / models.py models_catalog   8 0 0   100%
src / lilbee / server / handlers / models.py models_installed   7 0 0   100%
src / lilbee / server / handlers / models.py models_pull   7 0 0   100%
src / lilbee / server / handlers / models.py models_pull._pull_blocking   7 0 0   100%
src / lilbee / server / handlers / models.py models_pull._pull_blocking._on_progress   4 0 0   100%
src / lilbee / server / handlers / models.py models_pull._pull_blocking._on_bytes   4 0 0   100%
src / lilbee / server / handlers / models.py models_delete   4 0 0   100%
src / lilbee / server / handlers / models.py _ExternalModelsCache.__init__   3 0 0   100%
src / lilbee / server / handlers / models.py _ExternalModelsCache.get   4 0 0   100%
src / lilbee / server / handlers / models.py _ExternalModelsCache.set   3 0 0   100%
src / lilbee / server / handlers / models.py list_external_models   12 0 0   100%
src / lilbee / server / handlers / models.py (no function)   68 0 3   100%
src / lilbee / server / handlers / rag.py search   5 0 0   100%
src / lilbee / server / handlers / rag.py ask   5 0 0   100%
src / lilbee / server / handlers / rag.py _run_llm_stream   14 0 0   100%
src / lilbee / server / handlers / rag.py _stream_rag_response   23 0 0   100%
src / lilbee / server / handlers / rag.py ask_stream   1 0 0   100%
src / lilbee / server / handlers / rag.py chat   3 0 0   100%
src / lilbee / server / handlers / rag.py chat_stream   1 0 0   100%
src / lilbee / server / handlers / rag.py (no function)   22 0 2   100%
src / lilbee / server / handlers / sse.py sse_event   1 0 0   100%
src / lilbee / server / handlers / sse.py sse_error   6 0 0   100%
src / lilbee / server / handlers / sse.py classify_load_error   4 0 0   100%
src / lilbee / server / handlers / sse.py sse_done   1 0 0   100%
src / lilbee / server / handlers / sse.py _resolve_generation_options   1 0 0   100%
src / lilbee / server / handlers / sse.py SseStream.__init__   4 0 0   100%
src / lilbee / server / handlers / sse.py SseStream._build_callback   4 0 0   100%
src / lilbee / server / handlers / sse.py SseStream._build_callback._callback   9 0 0   100%
src / lilbee / server / handlers / sse.py SseStream.drain   22 0 0   100%
src / lilbee / server / handlers / sse.py (no function)   22 0 0   100%
src / lilbee / server / models.py _validate_chunk_type   5 0 0   100%
src / lilbee / server / models.py AskRequest._check_chunk_type   1 0 0   100%
src / lilbee / server / models.py ChatRequest._check_chunk_type   1 0 0   100%
src / lilbee / server / models.py (no function)   229 0 0   100%
src / lilbee / server / routes / __init__.py (no function)   0 0 0   100%
src / lilbee / server / routes / crawl.py crawl_route   7 0 0   100%
src / lilbee / server / routes / crawl.py (no function)   8 0 0   100%
src / lilbee / server / routes / documents.py sync_route   4 0 0   100%
src / lilbee / server / routes / documents.py add_route   5 0 0   100%
src / lilbee / server / routes / documents.py documents_list_route   1 0 0   100%
src / lilbee / server / routes / documents.py documents_remove_route   1 0 0   100%
src / lilbee / server / routes / documents.py (no function)   21 0 0   100%
src / lilbee / server / routes / general.py health_route   1 0 0   100%
src / lilbee / server / routes / general.py status_route   1 0 0   100%
src / lilbee / server / routes / general.py config_route   1 0 0   100%
src / lilbee / server / routes / general.py config_defaults_route   1 0 0   100%
src / lilbee / server / routes / general.py config_update_route   5 0 0   100%
src / lilbee / server / routes / general.py source_content_route   15 0 0   100%
src / lilbee / server / routes / general.py (no function)   25 0 0   100%
src / lilbee / server / routes / models.py _task_mismatch_detail   3 0 0   100%
src / lilbee / server / routes / models.py models_list_route   1 0 0   100%
src / lilbee / server / routes / models.py models_external_route   1 0 0   100%
src / lilbee / server / routes / models.py models_set_chat_route   4 0 0   100%
src / lilbee / server / routes / models.py models_set_embedding_route   4 0 0   100%
src / lilbee / server / routes / models.py models_set_vision_route   4 0 0   100%
src / lilbee / server / routes / models.py models_set_reranker_route   4 0 0   100%
src / lilbee / server / routes / models.py models_catalog_route   1 0 0   100%
src / lilbee / server / routes / models.py models_installed_route   1 0 0   100%
src / lilbee / server / routes / models.py models_pull_route   1 0 0   100%
src / lilbee / server / routes / models.py models_show_route   1 0 0   100%
src / lilbee / server / routes / models.py models_delete_route   1 0 0   100%
src / lilbee / server / routes / models.py (no function)   41 0 0   100%
src / lilbee / server / routes / search.py _acquire_chat_lock_or_raise   2 0 0   100%
src / lilbee / server / routes / search.py _gated_stream   4 0 0   100%
src / lilbee / server / routes / search.py search_route   10 0 0   100%
src / lilbee / server / routes / search.py ask_route   6 0 0   100%
src / lilbee / server / routes / search.py ask_stream_route   3 0 0   100%
src / lilbee / server / routes / search.py chat_route   2 0 0   100%
src / lilbee / server / routes / search.py chat_stream_route   4 0 0   100%
src / lilbee / server / routes / search.py (no function)   27 0 0   100%
src / lilbee / server / routes / setup.py setup_crawler_status_route   3 0 0   100%
src / lilbee / server / routes / setup.py _bootstrap_crawler_stream   11 0 0   100%
src / lilbee / server / routes / setup.py _bootstrap_crawler_stream._run   3 0 0   100%
src / lilbee / server / routes / setup.py setup_crawler_route   1 0 0   100%
src / lilbee / server / routes / setup.py (no function)   14 0 0   100%
src / lilbee / server / wiki.py _wiki_root   1 0 0   100%
src / lilbee / server / wiki.py _require_wiki   2 0 0   100%
src / lilbee / server / wiki.py _find_page   1 0 0   100%
src / lilbee / server / wiki.py wiki_list_route   7 0 0   100%
src / lilbee / server / wiki.py wiki_drafts_route   2 0 0   100%
src / lilbee / server / wiki.py wiki_draft_diff_route   7 0 0   100%
src / lilbee / server / wiki.py wiki_draft_accept_route   8 0 0   100%
src / lilbee / server / wiki.py wiki_draft_reject_route   7 0 0   100%
src / lilbee / server / wiki.py wiki_citations_reverse_route   5 0 0   100%
src / lilbee / server / wiki.py wiki_read_route   9 0 0   100%
src / lilbee / server / wiki.py _citations_for_slug   6 0 0   100%
src / lilbee / server / wiki.py wiki_lint_route   3 0 0   100%
src / lilbee / server / wiki.py wiki_prune_route   3 0 0   100%
src / lilbee / server / wiki.py _wiki_build_lock   3 0 0   100%
src / lilbee / server / wiki.py _reset_wiki_build_lock   1 0 0   100%
src / lilbee / server / wiki.py wiki_build_route   4 0 0   100%
src / lilbee / server / wiki.py wiki_update_route   4 0 0   100%
src / lilbee / server / wiki.py wiki_synthesize_route   4 0 0   100%
src / lilbee / server / wiki.py wiki_status_route   9 0 0   100%
src / lilbee / server / wiki.py (no function)   57 0 0   100%
src / lilbee / vision.py pdf_page_count   3 0 0   100%
src / lilbee / vision.py rasterize_pdf   3 0 0   100%
src / lilbee / vision.py _png_to_data_url   3 0 0   100%
src / lilbee / vision.py build_vision_messages   1 0 0   100%
src / lilbee / vision.py (no function)   18 0 0   100%
src / lilbee / wiki / __init__.py (no function)   9 0 0   100%
src / lilbee / wiki / batch.py hash_existing_sources   6 0 0   100%
src / lilbee / wiki / batch.py match_label   5 0 0   100%
src / lilbee / wiki / batch.py chunks_for_source   1 0 0   100%
src / lilbee / wiki / batch.py short_source_hash   1 0 0   100%
src / lilbee / wiki / batch.py _group_chunks_by_page   4 0 0   100%
src / lilbee / wiki / batch.py archive_legacy_concept_pages   19 0 0   100%
src / lilbee / wiki / batch.py _unwrap_archived_links   14 0 0   100%
src / lilbee / wiki / batch.py finalize_section   32 0 0   100%
src / lilbee / wiki / batch.py (no function)   30 0 0   100%
src / lilbee / wiki / browse.py WikiPageInfo.to_dict   1 0 0   100%
src / lilbee / wiki / browse.py list_md_files   3 0 0   100%
src / lilbee / wiki / browse.py _page_type_from_path   8 0 0   100%
src / lilbee / wiki / browse.py _slug_from_path   2 0 0   100%
src / lilbee / wiki / browse.py _extract_h1_title   10 0 0   100%
src / lilbee / wiki / browse.py _resolve_page_title   5 0 0   100%
src / lilbee / wiki / browse.py build_page_info   9 0 0   100%
src / lilbee / wiki / browse.py find_page   6 0 0   100%
src / lilbee / wiki / browse.py _list_md_files_recursive   3 0 0   100%
src / lilbee / wiki / browse.py list_pages   5 0 0   100%
src / lilbee / wiki / browse.py list_draft_pages   1 0 0   100%
src / lilbee / wiki / browse.py read_page   7 0 0   100%
src / lilbee / wiki / browse.py (no function)   35 0 0   100%
src / lilbee / wiki / cache.py _leaf_hash   5 0 0   100%
src / lilbee / wiki / cache.py _find_cached_leaf   8 0 0   100%
src / lilbee / wiki / cache.py normalize_whitespace   1 0 0   100%
src / lilbee / wiki / cache.py (no function)   10 0 0   100%
src / lilbee / wiki / citation.py parse_wiki_citations   9 0 0   100%
src / lilbee / wiki / citation.py render_citation_block   6 0 0   100%
src / lilbee / wiki / citation.py verify_citation   5 0 0   100%
src / lilbee / wiki / citation.py find_unmarked_claims   11 0 0   100%
src / lilbee / wiki / citation.py strip_citation_block   6 0 0   100%
src / lilbee / wiki / citation.py _find_citation_block_start   5 0 0   100%
src / lilbee / wiki / citation.py _body_end_before_citations   4 0 0   100%
src / lilbee / wiki / citation.py extract_body   7 0 0   100%
src / lilbee / wiki / citation.py _strip_frontmatter   7 0 0   100%
src / lilbee / wiki / citation.py _is_content_line   5 0 0   100%
src / lilbee / wiki / citation.py _format_source_ref   14 0 0   100%
src / lilbee / wiki / citation.py _normalize   1 0 0   100%
src / lilbee / wiki / citation.py (no function)   26 0 0   100%
src / lilbee / wiki / citations.py _extract_excerpt   8 0 0   100%
src / lilbee / wiki / citations.py _decode_excerpt_escapes   13 0 0   100%
src / lilbee / wiki / citations.py _find_excerpt_location   5 0 0   100%
src / lilbee / wiki / citations.py _build_citation_record   1 0 0   100%
src / lilbee / wiki / citations.py _resolve_citations   7 0 0   100%
src / lilbee / wiki / citations.py verify_citations   14 0 0   100%
src / lilbee / wiki / citations.py render_provenance   2 0 0   100%
src / lilbee / wiki / citations.py resolve_multi_source_citations   15 0 0   100%
src / lilbee / wiki / citations.py _match_citation_source   4 0 0   100%
src / lilbee / wiki / citations.py _find_excerpt_source   7 0 0   100%
src / lilbee / wiki / citations.py (no function)   20 0 0   100%
src / lilbee / wiki / drafts.py DraftInfo.published_exists   1 0 0   100%
src / lilbee / wiki / drafts.py DraftInfo.to_dict   1 0 0   100%
src / lilbee / wiki / drafts.py AcceptResult.to_dict   1 0 0   100%
src / lilbee / wiki / drafts.py _draft_path   1 0 0   100%
src / lilbee / wiki / drafts.py _find_published   5 0 0   100%
src / lilbee / wiki / drafts.py _parse_drift_ratio   4 0 0   100%
src / lilbee / wiki / drafts.py _parse_pending_kind   5 0 0   100%
src / lilbee / wiki / drafts.py _strip_drift_marker   1 0 0   100%
src / lilbee / wiki / drafts.py _strip_pending_markers   3 0 0   100%
src / lilbee / wiki / drafts.py _classify_and_strip_markers   6 0 0   100%
src / lilbee / wiki / drafts.py list_drafts   11 0 0   100%
src / lilbee / wiki / drafts.py diff_draft   8 0 0   100%
src / lilbee / wiki / drafts.py _base_slug_for_collision   1 0 0   100%
src / lilbee / wiki / drafts.py accept_draft   22 0 0   100%
src / lilbee / wiki / drafts.py reject_draft   5 0 0   100%
src / lilbee / wiki / drafts.py _reindex_accepted_page   3 0 0   100%
src / lilbee / wiki / drafts.py _wiki_source_for   3 0 0   100%
src / lilbee / wiki / drafts.py _coerce_float   6 0 0   100%
src / lilbee / wiki / drafts.py (no function)   54 0 0   100%
src / lilbee / wiki / entity_extractor / __init__.py (no function)   4 0 0   100%
src / lilbee / wiki / entity_extractor / base.py EntityExtractor.extract   0 0 2   100%
src / lilbee / wiki / entity_extractor / base.py (no function)   18 0 7   100%
src / lilbee / wiki / entity_extractor / factory.py get_entity_extractor   5 0 0   100%
src / lilbee / wiki / entity_extractor / factory.py (no function)   13 0 3   100%
src / lilbee / wiki / entity_extractor / llm_tagged.py LlmTaggedExtractor.__init__   2 0 0   100%
src / lilbee / wiki / entity_extractor / llm_tagged.py LlmTaggedExtractor.extract   1 0 0   100%
src / lilbee / wiki / entity_extractor / llm_tagged.py (no function)   6 0 4   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py _normalize   1 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py pre_clean_for_ner   3 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py NerConceptsExtractor.__init__   2 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py NerConceptsExtractor.extract   23 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py _accumulate_doc_entities   15 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py _Aggregate.__init__   3 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py _sorted_refs   1 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py _make_record   6 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py _load_spacy   10 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts.py (no function)   25 0 4   100%
src / lilbee / wiki / entity_extractor / ner_concepts_plus_llm_types.py NerConceptsPlusLlmTypesExtractor.__init__   2 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts_plus_llm_types.py NerConceptsPlusLlmTypesExtractor.extract   1 0 0   100%
src / lilbee / wiki / entity_extractor / ner_concepts_plus_llm_types.py (no function)   6 0 4   100%
src / lilbee / wiki / generation.py _generate_for_cluster   9 0 0   100%
src / lilbee / wiki / generation.py generate_synthesis_pages   13 0 0   100%
src / lilbee / wiki / generation.py _all_sources_in_scope   19 0 0   100%
src / lilbee / wiki / generation.py _entity_surface_map   7 0 0   100%
src / lilbee / wiki / generation.py _augment_surface_map_with_existing_pages   8 0 0   100%
src / lilbee / wiki / generation.py _rewrite_links_across_wiki   17 0 0   100%
src / lilbee / wiki / generation.py build_wiki   21 0 0   100%
src / lilbee / wiki / generation.py run_full_build   12 0 0   100%
src / lilbee / wiki / generation.py run_full_synthesize   5 0 0   100%
src / lilbee / wiki / generation.py (no function)   33 0 0   100%
src / lilbee / wiki / grammar.py (no function)   11 0 0   100%
src / lilbee / wiki / index.py _wiki_root   1 0 0   100%
src / lilbee / wiki / index.py parse_title   1 0 0   100%
src / lilbee / wiki / index.py _title_from_frontmatter   7 0 0   100%
src / lilbee / wiki / index.py parse_source_count   1 0 0   100%
src / lilbee / wiki / index.py _source_count_from_frontmatter   6 0 0   100%
src / lilbee / wiki / index.py update_wiki_index   20 0 0   100%
src / lilbee / wiki / index.py _render_section   13 0 0   100%
src / lilbee / wiki / index.py append_wiki_log   12 0 0   100%
src / lilbee / wiki / index.py (no function)   16 0 0   100%
src / lilbee / wiki / ingest.py incremental_update   31 0 0   100%
src / lilbee / wiki / ingest.py (no function)   7 0 0   100%
src / lilbee / wiki / links.py compile_rewriter   3 0 0   100%
src / lilbee / wiki / links.py rewrite_wiki_links   4 0 0   100%
src / lilbee / wiki / links.py apply_rewriter   9 0 0   100%
src / lilbee / wiki / links.py _compile_surface_pattern   3 0 0   100%
src / lilbee / wiki / links.py _rewrite_line   2 0 0   100%
src / lilbee / wiki / links.py _rewrite_line.replace   4 0 0   100%
src / lilbee / wiki / links.py _classify_lines   29 0 0   100%
src / lilbee / wiki / links.py (no function)   16 0 0   100%
src / lilbee / wiki / lint.py LintIssue.to_dict   1 0 0   100%
src / lilbee / wiki / lint.py LintReport.error_count   1 0 0   100%
src / lilbee / wiki / lint.py LintReport.warning_count   1 0 0   100%
src / lilbee / wiki / lint.py _lint_citation   16 0 0   100%
src / lilbee / wiki / lint.py _lint_model_changed   6 0 0   100%
src / lilbee / wiki / lint.py _lint_unmarked   2 0 0   100%
src / lilbee / wiki / lint.py lint_wiki_page   18 0 0   100%
src / lilbee / wiki / lint.py lint_changed_sources   15 0 0   100%
src / lilbee / wiki / lint.py lint_all   17 0 0   100%
src / lilbee / wiki / lint.py _lint_orphans   20 0 0   100%
src / lilbee / wiki / lint.py (no function)   47 0 0   100%
src / lilbee / wiki / page.py build_wiki_messages   4 0 0   100%
src / lilbee / wiki / page.py truncate_chunks_to_budget   14 0 0   100%
src / lilbee / wiki / page.py chunks_to_text   9 0 0   100%
src / lilbee / wiki / page.py build_frontmatter   4 0 0   100%
src / lilbee / wiki / page.py write_page   11 0 0   100%
src / lilbee / wiki / page.py assemble_content   4 0 0   100%
src / lilbee / wiki / page.py index_wiki_page   17 0 0   100%
src / lilbee / wiki / page.py generate_page   37 0 0   100%
src / lilbee / wiki / page.py generate_page._emit   2 0 0   100%
src / lilbee / wiki / page.py (no function)   32 0 0   100%
src / lilbee / wiki / persistence.py divert_to_drafts   6 0 0   100%
src / lilbee / wiki / persistence.py subdir_from_wiki_source   2 0 0   100%
src / lilbee / wiki / persistence.py persist_and_finalize   13 0 0   100%
src / lilbee / wiki / persistence.py write_pending_marker   7 0 0   100%
src / lilbee / wiki / persistence.py delete_pending_marker_if_present   13 0 0   100%
src / lilbee / wiki / persistence.py divert_concept_collision   9 0 0   100%
src / lilbee / wiki / persistence.py (no function)   17 0 0   100%
src / lilbee / wiki / prune.py PruneRecord.to_dict   1 0 0   100%
src / lilbee / wiki / prune.py PruneReport.archived_count   1 0 0   100%
src / lilbee / wiki / prune.py PruneReport.flagged_count   1 0 0   100%
src / lilbee / wiki / prune.py _archive_page   11 0 0   100%
src / lilbee / wiki / prune.py _check_all_sources_deleted   5 0 0   100%
src / lilbee / wiki / prune.py _check_cluster_below_threshold   8 0 0   100%
src / lilbee / wiki / prune.py _check_stale_majority   8 0 0   100%
src / lilbee / wiki / prune.py _archive_and_record   2 0 0   100%
src / lilbee / wiki / prune.py _evaluate_page   7 0 0   100%
src / lilbee / wiki / prune.py _finalize_prune   6 0 0   100%
src / lilbee / wiki / prune.py prune_wiki   18 0 0   100%
src / lilbee / wiki / prune.py (no function)   37 0 0   100%
src / lilbee / wiki / quality.py content_change_ratio   8 0 0   100%
src / lilbee / wiki / quality.py diff_summary   6 0 0   100%
src / lilbee / wiki / quality.py _title_content_coherence   18 0 0   100%
src / lilbee / wiki / quality.py _mean_vector   4 0 0   100%
src / lilbee / wiki / quality.py _embedding_faithfulness_score   8 0 0   100%
src / lilbee / wiki / quality.py check_faithfulness   19 0 0   100%
src / lilbee / wiki / quality.py (no function)   17 0 0   100%
src / lilbee / wiki / shared.py parse_frontmatter   15 0 0   100%
src / lilbee / wiki / shared.py (no function)   45 0 0   100%
src / lilbee / wiki / synthesis.py generate_synthesis_page   19 0 0   100%
src / lilbee / wiki / synthesis.py generate_synthesis_page.resolver   1 0 0   100%
src / lilbee / wiki / synthesis.py _split_batched_output   24 0 0   100%
src / lilbee / wiki / synthesis.py _prefix_heading   4 0 0   100%
src / lilbee / wiki / synthesis.py _build_batch_prompt   5 0 0   100%
src / lilbee / wiki / synthesis.py group_entities_by_primary_source   10 0 0   100%
src / lilbee / wiki / synthesis.py generate_source_batch   41 0 0   100%
src / lilbee / wiki / synthesis.py (no function)   27 0 0   100%
Total     21717 0 668   100%

No items found using the specified filter.