| open_webui/__init__.py |
version_callback |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/__init__.py |
main |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/__init__.py |
serve |
|
0% |
27 |
27 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/__init__.py |
dev |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/__init__.py |
(no function) |
|
95% |
20 |
1 |
0 |
|
50% |
2 |
1 |
|
91% |
| open_webui/config.py |
seed_registered_defaults |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/config.py |
async_reset_config |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/config.py |
EndpointFilter.filter |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/config.py |
run_migrations |
|
73% |
11 |
3 |
0 |
|
100% |
0 |
0 |
|
73% |
| open_webui/config.py |
import_legacy_config_json |
|
40% |
5 |
3 |
0 |
|
50% |
2 |
1 |
|
43% |
| open_webui/config.py |
_resolve_ollama_base_url |
|
82% |
11 |
2 |
0 |
|
50% |
4 |
2 |
|
73% |
| open_webui/config.py |
_resolve_ollama_base_url.reachable |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| open_webui/config.py |
validate_cors_origin |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/config.py |
oauth_client_kwargs |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/config.py |
load_oauth_providers |
|
45% |
29 |
16 |
0 |
|
50% |
20 |
10 |
|
47% |
| open_webui/config.py |
load_oauth_providers.google_oauth_register |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/config.py |
load_oauth_providers.microsoft_oauth_register |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/config.py |
load_oauth_providers.github_oauth_register |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/config.py |
load_oauth_providers.oidc_oauth_register |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/config.py |
load_oauth_providers.feishu_oauth_register |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/config.py |
(no function) |
|
83% |
1084 |
184 |
0 |
|
39% |
138 |
48 |
|
78% |
| open_webui/constants.py |
_error_message |
|
100% |
7 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/constants.py |
ERROR_MESSAGES.__str__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/constants.py |
TASKS.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/constants.py |
(no function) |
|
100% |
84 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/env.py |
JSONFormatter.format |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/env.py |
parse_section |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/env.py |
_build_ssl_context_from_file |
|
25% |
8 |
6 |
0 |
|
25% |
4 |
1 |
|
25% |
| open_webui/env.py |
_parse_ssl_env |
|
33% |
9 |
6 |
0 |
|
17% |
6 |
1 |
|
27% |
| open_webui/env.py |
_int_env |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/env.py |
(no function) |
|
71% |
582 |
170 |
0 |
|
45% |
110 |
44 |
|
67% |
| open_webui/events.py |
EventDefinition.defaults |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| open_webui/events.py |
get_event_catalog |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/events.py |
normalize_event_webhook |
|
76% |
17 |
4 |
0 |
|
60% |
10 |
2 |
|
70% |
| open_webui/events.py |
normalize_event_targets |
|
63% |
19 |
7 |
0 |
|
58% |
12 |
3 |
|
61% |
| open_webui/events.py |
event_filter_matches |
|
0% |
10 |
10 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/events.py |
event_user_ids |
|
0% |
14 |
14 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/events.py |
event_target_matches |
|
0% |
17 |
17 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/events.py |
event_webhook_matches |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/events.py |
get_event_webhooks |
|
67% |
12 |
4 |
0 |
|
67% |
6 |
2 |
|
67% |
| open_webui/events.py |
migrate_legacy_webhook_config |
|
60% |
10 |
4 |
0 |
|
50% |
4 |
2 |
|
57% |
| open_webui/events.py |
upsert_event_webhook |
|
94% |
16 |
1 |
0 |
|
75% |
8 |
2 |
|
88% |
| open_webui/events.py |
delete_event_webhook |
|
44% |
9 |
5 |
0 |
|
25% |
4 |
1 |
|
38% |
| open_webui/events.py |
Event.model_dump |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/events.py |
_sensitive |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/events.py |
_sanitize |
|
89% |
9 |
1 |
0 |
|
88% |
8 |
1 |
|
88% |
| open_webui/events.py |
_actor |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| open_webui/events.py |
event_name |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/events.py |
build_event |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/events.py |
dispatch_webhook_event |
|
71% |
14 |
4 |
0 |
|
83% |
6 |
1 |
|
75% |
| open_webui/events.py |
schedule_webhook_dispatch |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/events.py |
WebhookEventSink.handle_event |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/events.py |
schedule_notification_dispatch |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| open_webui/events.py |
NotificationEventSink.handle_event |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/events.py |
SocketSessionEventSink.handle_event |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| open_webui/events.py |
dispatch_event_functions |
|
27% |
33 |
24 |
0 |
|
25% |
12 |
3 |
|
27% |
| open_webui/events.py |
schedule_event_function_dispatch |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/events.py |
EventFunctionSink.handle_event |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/events.py |
publish_event |
|
75% |
8 |
2 |
0 |
|
100% |
2 |
0 |
|
80% |
| open_webui/events.py |
publish_model_provider_request_failed |
|
42% |
19 |
11 |
0 |
|
20% |
10 |
4 |
|
34% |
| open_webui/events.py |
(no function) |
|
100% |
264 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/functions.py |
get_function_module_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/functions.py |
get_function_models |
|
17% |
36 |
30 |
0 |
|
12% |
16 |
2 |
|
15% |
| open_webui/functions.py |
generate_function_chat_completion |
|
0% |
71 |
71 |
0 |
|
0% |
30 |
0 |
|
0% |
| open_webui/functions.py |
generate_function_chat_completion.execute_pipe |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/functions.py |
generate_function_chat_completion.get_message_content |
|
33% |
6 |
4 |
0 |
|
17% |
6 |
1 |
|
25% |
| open_webui/functions.py |
generate_function_chat_completion.process_line |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/functions.py |
generate_function_chat_completion.get_pipe_id |
|
25% |
4 |
3 |
0 |
|
0% |
2 |
2 |
|
17% |
| open_webui/functions.py |
generate_function_chat_completion.get_function_params |
|
15% |
13 |
11 |
0 |
|
0% |
4 |
2 |
|
12% |
| open_webui/functions.py |
generate_function_chat_completion.stream_content |
|
0% |
26 |
26 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/functions.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
_pop_first |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/internal/db.py |
_is_postgres_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
extract_ssl_params_from_url |
|
11% |
18 |
16 |
0 |
|
10% |
10 |
1 |
|
11% |
| open_webui/internal/db.py |
reattach_ssl_params_to_url |
|
14% |
7 |
6 |
0 |
|
0% |
4 |
0 |
|
9% |
| open_webui/internal/db.py |
JSONField.process_bind_param |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
JSONField.process_result_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
JSONField.copy |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
RDSIAMTokenAuth.__init__ |
|
18% |
11 |
9 |
0 |
|
0% |
4 |
0 |
|
13% |
| open_webui/internal/db.py |
RDSIAMTokenAuth.client |
|
25% |
4 |
3 |
0 |
|
0% |
2 |
0 |
|
17% |
| open_webui/internal/db.py |
RDSIAMTokenAuth.get_password |
|
29% |
7 |
5 |
0 |
|
0% |
2 |
0 |
|
22% |
| open_webui/internal/db.py |
_set_iam_token_password |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/internal/db.py |
enable_iam_token_auth |
|
20% |
10 |
8 |
0 |
|
17% |
6 |
1 |
|
19% |
| open_webui/internal/db.py |
_make_async_url |
|
27% |
11 |
8 |
0 |
|
20% |
10 |
2 |
|
24% |
| open_webui/internal/db.py |
_json_codec_kwargs |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
_create_engine |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
_create_async_engine |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
create_sqlcipher_connection |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/internal/db.py |
get_session |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/internal/db.py |
_set_sqlite_pragmas |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
get_async_session |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
get_async_db |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/internal/db.py |
get_async_db_context |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/internal/db.py |
(no function) |
|
81% |
150 |
29 |
0 |
|
43% |
56 |
18 |
|
70% |
| open_webui/main.py |
emit_chat_list_event |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/main.py |
SPAStaticFiles.get_response |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| open_webui/main.py |
CORSStaticFiles.get_response |
|
33% |
3 |
2 |
0 |
|
100% |
0 |
0 |
|
33% |
| open_webui/main.py |
lifespan |
|
52% |
75 |
36 |
0 |
|
43% |
30 |
13 |
|
50% |
| open_webui/main.py |
recurrence_timeout_handler |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/main.py |
initialize_runtime_config |
|
47% |
43 |
23 |
0 |
|
25% |
16 |
4 |
|
41% |
| open_webui/main.py |
get_models |
|
47% |
19 |
10 |
0 |
|
38% |
8 |
3 |
|
44% |
| open_webui/main.py |
get_base_models |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
unload_model |
|
26% |
66 |
49 |
0 |
|
28% |
18 |
5 |
|
26% |
| open_webui/main.py |
embeddings |
|
100% |
3 |
0 |
0 |
|
50% |
2 |
1 |
|
80% |
| open_webui/main.py |
_set_direct_model |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/main.py |
chat_completion |
|
10% |
242 |
219 |
0 |
|
3% |
138 |
4 |
|
7% |
| open_webui/main.py |
chat_completion.run_initial_title_generation |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/main.py |
chat_completion.process_chat |
|
3% |
69 |
67 |
0 |
|
0% |
28 |
2 |
|
2% |
| open_webui/main.py |
resolve_chat_message_tool_call |
|
25% |
4 |
3 |
0 |
|
100% |
0 |
0 |
|
25% |
| open_webui/main.py |
count_message_tokens |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
passthrough_anthropic_messages |
|
11% |
27 |
24 |
0 |
|
0% |
6 |
0 |
|
9% |
| open_webui/main.py |
generate_messages |
|
64% |
28 |
10 |
0 |
|
25% |
12 |
3 |
|
52% |
| open_webui/main.py |
verify_chat_ownership |
|
33% |
6 |
4 |
0 |
|
17% |
6 |
1 |
|
25% |
| open_webui/main.py |
chat_completed |
|
88% |
8 |
1 |
0 |
|
50% |
2 |
1 |
|
80% |
| open_webui/main.py |
chat_action |
|
88% |
8 |
1 |
0 |
|
50% |
2 |
1 |
|
80% |
| open_webui/main.py |
stop_task_endpoint |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| open_webui/main.py |
list_tasks_endpoint |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
list_tasks_by_chat_id_endpoint |
|
45% |
11 |
6 |
0 |
|
33% |
6 |
2 |
|
41% |
| open_webui/main.py |
stop_tasks_by_chat_id_endpoint |
|
46% |
28 |
15 |
0 |
|
35% |
20 |
3 |
|
42% |
| open_webui/main.py |
get_app_config |
|
54% |
24 |
11 |
0 |
|
33% |
12 |
4 |
|
47% |
| open_webui/main.py |
get_event_catalog |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
get_event_webhooks_api |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
create_event_webhook |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
update_event_webhook |
|
40% |
10 |
6 |
0 |
|
50% |
2 |
1 |
|
42% |
| open_webui/main.py |
delete_event_webhook_api |
|
60% |
5 |
2 |
0 |
|
50% |
2 |
1 |
|
57% |
| open_webui/main.py |
get_app_version |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
get_app_latest_release_version |
|
29% |
14 |
10 |
0 |
|
50% |
2 |
1 |
|
31% |
| open_webui/main.py |
get_app_changelog |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
get_current_usage |
|
33% |
9 |
6 |
0 |
|
50% |
2 |
1 |
|
36% |
| open_webui/main.py |
register_client |
|
6% |
51 |
48 |
0 |
|
0% |
14 |
0 |
|
5% |
| open_webui/main.py |
oauth_client_authorize |
|
25% |
16 |
12 |
0 |
|
10% |
10 |
1 |
|
19% |
| open_webui/main.py |
oauth_client_callback |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
oauth_login |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
oauth_login_callback |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
oauth_backchannel_logout |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/main.py |
get_manifest_json |
|
43% |
7 |
4 |
0 |
|
50% |
2 |
1 |
|
44% |
| open_webui/main.py |
get_opensearch_xml |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
_sync_db_ping |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
async_db_ping |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
healthcheck |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
readiness_check |
|
33% |
18 |
12 |
0 |
|
33% |
6 |
2 |
|
33% |
| open_webui/main.py |
check_db_health |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/main.py |
serve_cache_file |
|
42% |
12 |
7 |
0 |
|
33% |
6 |
2 |
|
39% |
| open_webui/main.py |
swagger_ui_html |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/main.py |
(no function) |
|
95% |
288 |
14 |
0 |
|
50% |
20 |
10 |
|
92% |
| open_webui/models/access_grants.py |
AccessGrantResponse.from_grant |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/access_grants.py |
access_control_to_grants |
|
0% |
16 |
16 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/models/access_grants.py |
normalize_access_grants |
|
59% |
22 |
9 |
0 |
|
50% |
16 |
2 |
|
55% |
| open_webui/models/access_grants.py |
has_public_read_access_grant |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/access_grants.py |
has_public_write_access_grant |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/access_grants.py |
has_anyone_read_access_grant |
|
50% |
4 |
2 |
0 |
|
25% |
4 |
1 |
|
38% |
| open_webui/models/access_grants.py |
has_user_access_grant |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/access_grants.py |
strip_user_access_grants |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/access_grants.py |
strip_anyone_access_grants |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/access_grants.py |
grants_to_access_control |
|
0% |
19 |
19 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/models/access_grants.py |
AccessGrantsTable.grant_access |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/access_grants.py |
AccessGrantsTable.revoke_access |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/access_grants.py |
AccessGrantsTable.revoke_all_access |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/access_grants.py |
AccessGrantsTable.set_access_control |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/access_grants.py |
AccessGrantsTable.set_access_grants |
|
40% |
10 |
6 |
0 |
|
0% |
2 |
0 |
|
33% |
| open_webui/models/access_grants.py |
AccessGrantsTable.get_access_control |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/access_grants.py |
AccessGrantsTable.get_grants_by_resource |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/access_grants.py |
AccessGrantsTable.get_grants_by_resources |
|
56% |
9 |
4 |
0 |
|
50% |
4 |
0 |
|
54% |
| open_webui/models/access_grants.py |
AccessGrantsTable.has_anyone_access |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/access_grants.py |
AccessGrantsTable.has_access |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/access_grants.py |
AccessGrantsTable.get_accessible_resource_ids |
|
69% |
13 |
4 |
0 |
|
83% |
6 |
1 |
|
74% |
| open_webui/models/access_grants.py |
AccessGrantsTable.get_users_with_access |
|
0% |
20 |
20 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/models/access_grants.py |
AccessGrantsTable.has_permission_filter |
|
90% |
21 |
2 |
0 |
|
75% |
12 |
3 |
|
85% |
| open_webui/models/access_grants.py |
AccessGrantsTable._has_read_only_permission_filter |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/access_grants.py |
(no function) |
|
100% |
65 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/auths.py |
SignupForm.check_profile_image_url |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/models/auths.py |
AuthsTable.insert_new_auth |
|
67% |
12 |
4 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/auths.py |
AuthsTable.authenticate_user |
|
77% |
13 |
3 |
0 |
|
67% |
6 |
0 |
|
74% |
| open_webui/models/auths.py |
AuthsTable.authenticate_user_by_api_key |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/auths.py |
AuthsTable.authenticate_user_by_email |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/auths.py |
AuthsTable.update_email_by_id |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/auths.py |
AuthsTable.update_user_password_by_id |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/auths.py |
AuthsTable.delete_auth_by_id |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| open_webui/models/auths.py |
(no function) |
|
100% |
62 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/automations.py |
AutomationTable.insert |
|
17% |
6 |
5 |
0 |
|
100% |
0 |
0 |
|
17% |
| open_webui/models/automations.py |
AutomationTable.count_by_user |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationTable.get_by_id |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/automations.py |
AutomationTable.get_active_by_user |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationTable.search_automations |
|
62% |
21 |
8 |
0 |
|
50% |
12 |
2 |
|
58% |
| open_webui/models/automations.py |
AutomationTable.update_by_id |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationTable.clear_folder_ids |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationTable.toggle |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationTable.delete |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationTable.claim_due |
|
54% |
26 |
12 |
0 |
|
50% |
6 |
3 |
|
53% |
| open_webui/models/automations.py |
AutomationRunTable.insert |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationRunTable.get_latest |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationRunTable.get_latest_batch |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationRunTable.get_by_automation |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationRunTable.delete_by_automation |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/automations.py |
AutomationRunTable.get_runs_by_user_range |
|
33% |
3 |
2 |
0 |
|
100% |
0 |
0 |
|
33% |
| open_webui/models/automations.py |
(no function) |
|
100% |
98 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/calendar.py |
validate_calendar_rrule |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarTable._get_access_grants |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/calendar.py |
CalendarTable._to_calendar_model |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/calendar.py |
CalendarTable.get_or_create_defaults |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarTable.get_calendars_by_user |
|
77% |
13 |
3 |
0 |
|
0% |
2 |
0 |
|
67% |
| open_webui/models/calendar.py |
CalendarTable.get_calendar_by_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/calendar.py |
CalendarTable.insert_new_calendar |
|
88% |
8 |
1 |
0 |
|
0% |
2 |
0 |
|
70% |
| open_webui/models/calendar.py |
CalendarTable.update_calendar_by_id |
|
32% |
19 |
13 |
0 |
|
0% |
12 |
0 |
|
19% |
| open_webui/models/calendar.py |
CalendarTable.set_default_calendar |
|
50% |
10 |
5 |
0 |
|
0% |
2 |
0 |
|
42% |
| open_webui/models/calendar.py |
CalendarTable.delete_calendar_by_id |
|
56% |
18 |
8 |
0 |
|
0% |
4 |
0 |
|
45% |
| open_webui/models/calendar.py |
CalendarEventTable._get_attendees |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventTable._to_event_model |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventTable.insert_new_event |
|
11% |
9 |
8 |
0 |
|
0% |
2 |
0 |
|
9% |
| open_webui/models/calendar.py |
CalendarEventTable.get_event_by_id |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/calendar.py |
CalendarEventTable.get_events_by_range |
|
0% |
35 |
35 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventTable.search_events |
|
25% |
36 |
27 |
0 |
|
0% |
14 |
0 |
|
18% |
| open_webui/models/calendar.py |
CalendarEventTable.update_event_by_id |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventTable.get_upcoming_events |
|
45% |
20 |
11 |
0 |
|
10% |
10 |
1 |
|
33% |
| open_webui/models/calendar.py |
CalendarEventTable.delete_event_by_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventAttendeeTable.set_attendees |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventAttendeeTable.update_rsvp |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventAttendeeTable.get_attendees_by_event |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/calendar.py |
CalendarEventAttendeeTable.get_events_by_attendee |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/calendar.py |
(no function) |
|
100% |
171 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/channels.py |
ChannelWebhookForm.check_profile_image_url |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/models/channels.py |
ChannelTable._get_access_grants |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable._to_channel_model |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable._collect_unique_user_ids |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable._create_membership_models |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable._has_permission |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.insert_new_channel |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_channels |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_channels_by_user_id |
|
0% |
12 |
12 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_dm_channel_by_user_ids |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.add_members_to_channel |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.remove_members_from_channel |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.is_user_channel_manager |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.join_channel |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.leave_channel |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_member_by_channel_and_user_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_members_by_channel_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.pin_channel |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.update_member_last_read_at |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.update_member_active_status |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.is_user_channel_member |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_channel_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_channels_by_file_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_channels_by_file_id_and_user_id |
|
0% |
26 |
26 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_channel_by_id_and_user_id |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.update_channel_by_id |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.add_file_to_channel_by_id |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.set_file_message_id_in_channel_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.remove_file_from_channel_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.delete_channel_by_id |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.insert_webhook |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_webhooks_by_channel_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_webhook_by_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.get_webhook_by_id_and_token |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.update_webhook_by_id |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.update_webhook_last_used_at |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/channels.py |
ChannelTable.delete_webhook_by_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/channels.py |
(no function) |
|
100% |
185 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
_normalize_timestamp |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
_timezone |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/chat_messages.py |
_date_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
get_usage |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
_token_columns |
|
50% |
6 |
3 |
0 |
|
25% |
4 |
1 |
|
40% |
| open_webui/models/chat_messages.py |
_extract_tool_names |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
_extract_tool_names.add |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/chat_messages.py |
_extract_tool_names.walk |
|
19% |
16 |
13 |
0 |
|
14% |
14 |
2 |
|
17% |
| open_webui/models/chat_messages.py |
ChatMessageTable._apply_message_data |
|
65% |
31 |
11 |
0 |
|
54% |
28 |
13 |
|
59% |
| open_webui/models/chat_messages.py |
ChatMessageTable._build_message |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.upsert_message |
|
50% |
10 |
5 |
0 |
|
0% |
2 |
0 |
|
42% |
| open_webui/models/chat_messages.py |
ChatMessageTable.upsert_messages |
|
54% |
13 |
6 |
0 |
|
33% |
6 |
0 |
|
47% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_message_by_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chat_messages.py |
ChatMessageTable.has_unfinished_assistant_by_chat_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_messages_by_chat_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_messages_map_by_chat_id |
|
78% |
37 |
8 |
0 |
|
71% |
24 |
3 |
|
75% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_messages_by_user_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_messages_by_model_id |
|
80% |
10 |
2 |
0 |
|
75% |
4 |
1 |
|
79% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_chat_ids_by_model_id |
|
70% |
10 |
3 |
0 |
|
50% |
4 |
2 |
|
64% |
| open_webui/models/chat_messages.py |
ChatMessageTable.delete_messages_by_chat_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chat_messages.py |
ChatMessageTable.delete_message_ids_by_chat_id |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_message_count_by_model |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_unique_counts_by_model |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_token_usage_by_model |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_token_usage_by_user |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_user_usage_summary |
|
66% |
32 |
11 |
0 |
|
40% |
10 |
0 |
|
60% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_user_first_message_created_at |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_user_daily_usage |
|
33% |
24 |
16 |
0 |
|
0% |
8 |
0 |
|
25% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_user_top_models |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_user_top_tools |
|
40% |
10 |
6 |
0 |
|
0% |
6 |
0 |
|
25% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_message_count_by_user |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_message_count_by_chat |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_daily_message_counts_by_model |
|
43% |
28 |
16 |
0 |
|
38% |
16 |
0 |
|
41% |
| open_webui/models/chat_messages.py |
ChatMessageTable.get_hourly_message_counts_by_model |
|
0% |
24 |
24 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/models/chat_messages.py |
(no function) |
|
100% |
94 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
chat_search_content_query |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
chat_search_terms |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
chat_search_message_content_match_sql |
|
40% |
5 |
3 |
0 |
|
25% |
4 |
1 |
|
33% |
| open_webui/models/chats.py |
chat_list_order |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/models/chats.py |
is_internal_chat |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatModel.normalize_variables |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatResponse.normalize_variables |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable._clean_null_bytes |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.get_current_message_id |
|
82% |
11 |
2 |
0 |
|
62% |
8 |
1 |
|
74% |
| open_webui/models/chats.py |
ChatTable._sanitize_chat_row |
|
67% |
12 |
4 |
0 |
|
62% |
8 |
3 |
|
65% |
| open_webui/models/chats.py |
ChatTable._last_descendant_id |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable._add_child_id_to_parent |
|
27% |
11 |
8 |
0 |
|
17% |
6 |
1 |
|
24% |
| open_webui/models/chats.py |
ChatTable._repair_chat_current_id |
|
62% |
39 |
15 |
0 |
|
54% |
24 |
5 |
|
59% |
| open_webui/models/chats.py |
ChatTable.insert_new_chat |
|
56% |
16 |
7 |
0 |
|
17% |
6 |
1 |
|
45% |
| open_webui/models/chats.py |
ChatTable.get_internal_chat_ids_by_parent_id |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/chats.py |
ChatTable.get_internal_chat_by_note_id |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/chats.py |
ChatTable.get_internal_chats_by_note_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable._chat_import_form_to_chat_model |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.import_chats |
|
81% |
31 |
6 |
0 |
|
75% |
20 |
3 |
|
78% |
| open_webui/models/chats.py |
ChatTable.update_chat_by_id |
|
25% |
20 |
15 |
0 |
|
0% |
8 |
2 |
|
18% |
| open_webui/models/chats.py |
ChatTable.update_chat_variables_by_id |
|
33% |
12 |
8 |
0 |
|
0% |
4 |
0 |
|
25% |
| open_webui/models/chats.py |
ChatTable.update_chat_last_read_at_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.mark_chat_unread_by_id |
|
40% |
10 |
6 |
0 |
|
0% |
2 |
0 |
|
33% |
| open_webui/models/chats.py |
ChatTable.mark_chats_read_by_folder_ids |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| open_webui/models/chats.py |
ChatTable.mark_chats_read_by_user_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/chats.py |
ChatTable.update_chat_title_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.update_chat_tags_by_id |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_chat_title_by_id |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_unresolved_parent_ids |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.merge_history |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.delete_message_from_history |
|
91% |
23 |
2 |
0 |
|
80% |
10 |
2 |
|
88% |
| open_webui/models/chats.py |
ChatTable.upsert_message_to_history |
|
84% |
25 |
4 |
0 |
|
64% |
14 |
5 |
|
77% |
| open_webui/models/chats.py |
ChatTable.backfill_messages_by_chat_id |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.reconcile_messages_by_chat_id |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.get_messages_map_by_chat_id |
|
48% |
21 |
11 |
0 |
|
42% |
12 |
3 |
|
45% |
| open_webui/models/chats.py |
ChatTable.get_message_by_id_and_message_id |
|
80% |
10 |
2 |
0 |
|
75% |
4 |
1 |
|
79% |
| open_webui/models/chats.py |
ChatTable.get_message_metadata |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.upsert_message_to_chat_by_id_and_message_id |
|
38% |
32 |
20 |
0 |
|
38% |
8 |
1 |
|
38% |
| open_webui/models/chats.py |
ChatTable.delete_message_from_chat_by_id_and_message_id |
|
26% |
31 |
23 |
0 |
|
0% |
4 |
0 |
|
23% |
| open_webui/models/chats.py |
ChatTable.add_message_status_to_chat_by_id_and_message_id |
|
9% |
22 |
20 |
0 |
|
0% |
4 |
0 |
|
8% |
| open_webui/models/chats.py |
ChatTable.add_message_files_by_id_and_message_id |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.insert_shared_chat_by_chat_id |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.update_shared_chat_by_chat_id |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.delete_shared_chat_by_chat_id |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| open_webui/models/chats.py |
ChatTable.unarchive_all_chats_by_user_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/chats.py |
ChatTable.update_chat_share_id_by_id |
|
50% |
8 |
4 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/chats.py |
ChatTable.toggle_chat_pinned_by_id |
|
40% |
10 |
6 |
0 |
|
100% |
0 |
0 |
|
40% |
| open_webui/models/chats.py |
ChatTable.toggle_chat_archive_by_id |
|
36% |
11 |
7 |
0 |
|
100% |
0 |
0 |
|
36% |
| open_webui/models/chats.py |
ChatTable.archive_all_chats_by_user_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/chats.py |
ChatTable.get_archived_chat_list_by_user_id |
|
76% |
25 |
6 |
0 |
|
62% |
16 |
2 |
|
71% |
| open_webui/models/chats.py |
ChatTable.count_archived_chats_by_user_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/chats.py |
ChatTable.get_shared_chat_list_by_user_id |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_chat_list_by_user_id |
|
76% |
25 |
6 |
0 |
|
62% |
16 |
2 |
|
71% |
| open_webui/models/chats.py |
ChatTable.get_chat_title_id_list_by_user_id |
|
94% |
17 |
1 |
0 |
|
90% |
10 |
1 |
|
93% |
| open_webui/models/chats.py |
ChatTable.get_chat_list_by_chat_ids |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_chat_metas_by_chat_ids |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_chats_by_model_id |
|
74% |
27 |
7 |
0 |
|
57% |
14 |
2 |
|
68% |
| open_webui/models/chats.py |
ChatTable.get_chat_by_id |
|
21% |
14 |
11 |
0 |
|
0% |
6 |
0 |
|
15% |
| open_webui/models/chats.py |
ChatTable.get_chat_by_share_id |
|
75% |
8 |
2 |
0 |
|
100% |
2 |
0 |
|
80% |
| open_webui/models/chats.py |
ChatTable.get_chat_by_id_and_user_id |
|
20% |
15 |
12 |
0 |
|
0% |
6 |
0 |
|
14% |
| open_webui/models/chats.py |
ChatTable.get_chat_by_id_for_user |
|
38% |
16 |
10 |
0 |
|
25% |
12 |
1 |
|
32% |
| open_webui/models/chats.py |
ChatTable.is_chat_owner |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_chat_folder_id |
|
43% |
7 |
4 |
0 |
|
100% |
0 |
0 |
|
43% |
| open_webui/models/chats.py |
ChatTable.count_unread_by_folder_ids |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.get_chats |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| open_webui/models/chats.py |
ChatTable.get_user_usage_chat_stats |
|
24% |
17 |
13 |
0 |
|
0% |
6 |
0 |
|
17% |
| open_webui/models/chats.py |
ChatTable.get_chats_by_user_id |
|
88% |
25 |
3 |
0 |
|
56% |
16 |
5 |
|
76% |
| open_webui/models/chats.py |
ChatTable.get_pinned_chats_by_user_id |
|
83% |
6 |
1 |
0 |
|
100% |
0 |
0 |
|
83% |
| open_webui/models/chats.py |
ChatTable.get_archived_chats_by_user_id |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.get_chats_by_user_id_and_search_text |
|
69% |
81 |
25 |
0 |
|
48% |
48 |
17 |
|
61% |
| open_webui/models/chats.py |
ChatTable.get_chats_by_folder_id_and_user_id |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| open_webui/models/chats.py |
ChatTable.get_all_chats_by_folder_id |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| open_webui/models/chats.py |
ChatTable.count_all_chats_by_folder_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/chats.py |
ChatTable.get_chats_by_folder_ids_and_user_id |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| open_webui/models/chats.py |
ChatTable.update_chat_folder_id_by_id_and_user_id |
|
31% |
13 |
9 |
0 |
|
0% |
2 |
0 |
|
27% |
| open_webui/models/chats.py |
ChatTable.get_chat_tags_by_id_and_user_id |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_chat_list_by_user_id_and_tag_name |
|
80% |
20 |
4 |
0 |
|
62% |
8 |
1 |
|
75% |
| open_webui/models/chats.py |
ChatTable.add_chat_tag_by_id_and_user_id_and_tag_name |
|
54% |
13 |
6 |
0 |
|
0% |
4 |
0 |
|
41% |
| open_webui/models/chats.py |
ChatTable.count_chats_by_tag_name_and_user_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.count_chats_by_tag_ids_and_user_id |
|
74% |
19 |
5 |
0 |
|
50% |
8 |
2 |
|
67% |
| open_webui/models/chats.py |
ChatTable.delete_orphan_tags_for_user |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/models/chats.py |
ChatTable.count_chats_by_folder_id_and_user_id |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.count_chats_by_folder_ids_and_user_id |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.delete_tag_by_id_and_user_id_and_tag_name |
|
45% |
11 |
6 |
0 |
|
100% |
0 |
0 |
|
45% |
| open_webui/models/chats.py |
ChatTable.delete_chat_by_id |
|
78% |
9 |
2 |
0 |
|
100% |
0 |
0 |
|
78% |
| open_webui/models/chats.py |
ChatTable.delete_chat_by_id_and_user_id |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.delete_chats_by_user_id |
|
73% |
11 |
3 |
0 |
|
100% |
0 |
0 |
|
73% |
| open_webui/models/chats.py |
ChatTable.delete_chats_by_user_id_and_folder_id |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.move_chats_by_folder_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.delete_shared_chats_by_user_id |
|
70% |
10 |
3 |
0 |
|
100% |
0 |
0 |
|
70% |
| open_webui/models/chats.py |
ChatTable.insert_chat_files |
|
3% |
30 |
29 |
0 |
|
0% |
12 |
2 |
|
2% |
| open_webui/models/chats.py |
ChatTable.get_chat_files_by_chat_id_and_message_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.delete_chat_file |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_shared_chat_ids_by_file_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.update_chat_tasks_by_id |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
ChatTable.get_chat_tasks_by_id |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/chats.py |
(no function) |
|
100% |
291 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/config.py |
_split_api_config_fragment |
|
0% |
18 |
18 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/models/config.py |
_assign_path |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/config.py |
_json_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/config.py |
Config.configure |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/config.py |
Config.default_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/config.py |
Config.persistent_enabled_for |
|
80% |
5 |
1 |
0 |
|
75% |
4 |
1 |
|
78% |
| open_webui/models/config.py |
Config.get |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/models/config.py |
Config.get_many |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/models/config.py |
Config.get_namespace |
|
62% |
8 |
3 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/models/config.py |
Config.get_all |
|
62% |
8 |
3 |
0 |
|
25% |
4 |
1 |
|
50% |
| open_webui/models/config.py |
Config.upsert |
|
76% |
17 |
4 |
0 |
|
70% |
10 |
1 |
|
74% |
| open_webui/models/config.py |
Config.delete |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/config.py |
Config.clear |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/config.py |
Config.seed_defaults |
|
25% |
16 |
12 |
0 |
|
0% |
8 |
0 |
|
17% |
| open_webui/models/config.py |
Config.rename_prefix |
|
20% |
20 |
16 |
0 |
|
12% |
8 |
1 |
|
18% |
| open_webui/models/config.py |
Config.repair_config_rows |
|
35% |
63 |
41 |
0 |
|
15% |
40 |
6 |
|
27% |
| open_webui/models/config.py |
(no function) |
|
100% |
49 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/feedbacks.py |
FeedbackTable.insert_new_feedback |
|
54% |
13 |
6 |
0 |
|
0% |
2 |
0 |
|
47% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_feedback_by_id |
|
33% |
9 |
6 |
0 |
|
0% |
2 |
0 |
|
27% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_feedback_by_id_and_user_id |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_feedbacks_by_chat_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_feedback_items |
|
43% |
42 |
24 |
0 |
|
31% |
26 |
4 |
|
38% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_all_feedbacks |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_all_feedback_ids |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_distinct_model_ids |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_feedbacks_for_leaderboard |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_model_evaluation_history |
|
68% |
37 |
12 |
0 |
|
56% |
18 |
2 |
|
64% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_model_feedback_counts_by_day |
|
50% |
20 |
10 |
0 |
|
30% |
10 |
1 |
|
43% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_feedbacks_by_type |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/feedbacks.py |
FeedbackTable.get_feedbacks_by_user_id |
|
25% |
16 |
12 |
0 |
|
0% |
6 |
0 |
|
18% |
| open_webui/models/feedbacks.py |
FeedbackTable.update_feedback_by_id |
|
21% |
14 |
11 |
0 |
|
0% |
8 |
0 |
|
14% |
| open_webui/models/feedbacks.py |
FeedbackTable.update_feedback_by_id_and_user_id |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/models/feedbacks.py |
FeedbackTable.delete_feedback_by_id |
|
38% |
8 |
5 |
0 |
|
0% |
2 |
0 |
|
30% |
| open_webui/models/feedbacks.py |
FeedbackTable.delete_feedback_by_id_and_user_id |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/feedbacks.py |
FeedbackTable.delete_feedbacks_by_user_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/feedbacks.py |
FeedbackTable.delete_all_feedbacks |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/feedbacks.py |
(no function) |
|
100% |
117 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/files.py |
FileMeta.sanitize_meta |
|
62% |
8 |
3 |
0 |
|
50% |
6 |
3 |
|
57% |
| open_webui/models/files.py |
FilesTable.insert_new_file |
|
60% |
15 |
6 |
0 |
|
25% |
4 |
1 |
|
53% |
| open_webui/models/files.py |
FilesTable.get_file_by_id |
|
75% |
8 |
2 |
0 |
|
100% |
2 |
0 |
|
80% |
| open_webui/models/files.py |
FilesTable.get_file_by_id_and_user_id |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.get_file_metadata_by_id |
|
12% |
8 |
7 |
0 |
|
0% |
2 |
0 |
|
10% |
| open_webui/models/files.py |
FilesTable.get_files |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.count_files_by_user_id |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| open_webui/models/files.py |
FilesTable.check_access_by_user_id |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.get_files_by_ids |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.get_file_metadatas_by_ids |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.get_files_by_user_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.get_file_list |
|
67% |
9 |
3 |
0 |
|
50% |
2 |
1 |
|
64% |
| open_webui/models/files.py |
FilesTable._glob_to_like_pattern |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/files.py |
FilesTable.search_files |
|
89% |
9 |
1 |
0 |
|
50% |
4 |
2 |
|
77% |
| open_webui/models/files.py |
FilesTable.update_file_by_id |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.update_file_hash_by_id |
|
40% |
10 |
6 |
0 |
|
100% |
0 |
0 |
|
40% |
| open_webui/models/files.py |
FilesTable.update_file_data_by_id |
|
70% |
10 |
3 |
0 |
|
100% |
0 |
0 |
|
70% |
| open_webui/models/files.py |
FilesTable.update_file_metadata_by_id |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/files.py |
FilesTable.update_file_name_by_id |
|
36% |
11 |
7 |
0 |
|
100% |
0 |
0 |
|
36% |
| open_webui/models/files.py |
FilesTable.get_pending_files_for_knowledge |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.delete_file_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/files.py |
FilesTable.delete_all_files |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/files.py |
(no function) |
|
100% |
93 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/folders.py |
FolderTable.insert_new_folder |
|
57% |
14 |
6 |
0 |
|
0% |
2 |
0 |
|
50% |
| open_webui/models/folders.py |
FolderTable.get_folder_by_id_and_user_id |
|
33% |
9 |
6 |
0 |
|
0% |
2 |
0 |
|
27% |
| open_webui/models/folders.py |
FolderTable.get_folder_by_id |
|
33% |
9 |
6 |
0 |
|
0% |
2 |
0 |
|
27% |
| open_webui/models/folders.py |
FolderTable.get_folders_by_ids |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/folders.py |
FolderTable.get_shared_folder_ids_for_user |
|
38% |
13 |
8 |
0 |
|
17% |
6 |
1 |
|
32% |
| open_webui/models/folders.py |
FolderTable.get_children_folders_by_id_and_user_id |
|
46% |
13 |
7 |
0 |
|
0% |
2 |
0 |
|
40% |
| open_webui/models/folders.py |
FolderTable.get_children_folders_by_id_and_user_id.get_children |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/folders.py |
FolderTable.get_folders_by_user_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/folders.py |
FolderTable.get_folder_by_parent_id_and_user_id_and_name |
|
30% |
10 |
7 |
0 |
|
0% |
2 |
0 |
|
25% |
| open_webui/models/folders.py |
FolderTable.get_folders_by_parent_id_and_user_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/folders.py |
FolderTable.get_folder_ids_by_id_and_user_id_in_subtree |
|
40% |
15 |
9 |
0 |
|
25% |
8 |
2 |
|
35% |
| open_webui/models/folders.py |
FolderTable.update_folder_parent_id_by_id_and_user_id |
|
31% |
13 |
9 |
0 |
|
0% |
2 |
0 |
|
27% |
| open_webui/models/folders.py |
FolderTable.update_folder_by_id_and_user_id |
|
36% |
22 |
14 |
0 |
|
0% |
8 |
0 |
|
27% |
| open_webui/models/folders.py |
FolderTable.update_folder_is_expanded_by_id_and_user_id |
|
31% |
13 |
9 |
0 |
|
0% |
2 |
0 |
|
27% |
| open_webui/models/folders.py |
FolderTable.delete_folder_by_id_and_user_id |
|
0% |
17 |
17 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/folders.py |
FolderTable.delete_folder_by_id_and_user_id.delete_children |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/folders.py |
FolderTable.normalize_folder_name |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/folders.py |
FolderTable.search_folders_by_names |
|
17% |
18 |
15 |
0 |
|
8% |
12 |
1 |
|
13% |
| open_webui/models/folders.py |
FolderTable.search_folders_by_name_contains |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/folders.py |
(no function) |
|
100% |
87 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/functions.py |
FunctionsTable.insert_new_function |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.sync_functions |
|
46% |
24 |
13 |
0 |
|
0% |
8 |
2 |
|
34% |
| open_webui/models/functions.py |
FunctionsTable.get_function_by_id |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/functions.py |
FunctionsTable.get_functions_by_ids |
|
20% |
10 |
8 |
0 |
|
0% |
2 |
0 |
|
17% |
| open_webui/models/functions.py |
FunctionsTable.get_functions |
|
75% |
8 |
2 |
0 |
|
50% |
4 |
0 |
|
67% |
| open_webui/models/functions.py |
FunctionsTable.get_function_list |
|
71% |
7 |
2 |
0 |
|
100% |
0 |
0 |
|
71% |
| open_webui/models/functions.py |
FunctionsTable.get_functions_by_type |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/models/functions.py |
FunctionsTable.get_global_filter_functions |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.get_active_function_ids_by_type |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.get_active_filter_ids |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.get_global_action_functions |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.get_function_valves_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.get_function_valves_by_ids |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.update_function_valves_by_id |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.update_function_metadata_by_id |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.get_user_valves_by_id_and_user_id |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.update_user_valves_by_id_and_user_id |
|
77% |
13 |
3 |
0 |
|
50% |
4 |
2 |
|
71% |
| open_webui/models/functions.py |
FunctionsTable.update_function_by_id |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| open_webui/models/functions.py |
FunctionsTable.deactivate_all_functions |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/functions.py |
FunctionsTable.delete_function_by_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/functions.py |
(no function) |
|
100% |
95 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/groups.py |
GroupTable._ensure_default_share_config |
|
100% |
7 |
0 |
0 |
|
67% |
6 |
2 |
|
85% |
| open_webui/models/groups.py |
GroupTable.insert_new_group |
|
62% |
13 |
5 |
0 |
|
0% |
2 |
0 |
|
53% |
| open_webui/models/groups.py |
GroupTable.get_all_groups |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.get_group_by_name |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.get_groups |
|
24% |
25 |
19 |
0 |
|
8% |
12 |
1 |
|
19% |
| open_webui/models/groups.py |
GroupTable.search_groups |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.get_groups_by_member_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/groups.py |
GroupTable.get_groups_by_member_ids |
|
43% |
7 |
4 |
0 |
|
0% |
2 |
0 |
|
33% |
| open_webui/models/groups.py |
GroupTable.get_group_by_id |
|
43% |
7 |
4 |
0 |
|
100% |
0 |
0 |
|
43% |
| open_webui/models/groups.py |
GroupTable.get_group_user_ids_by_id |
|
33% |
6 |
4 |
0 |
|
0% |
2 |
0 |
|
25% |
| open_webui/models/groups.py |
GroupTable.get_group_user_ids_by_ids |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.set_group_user_ids_by_id |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.get_group_member_count_by_id |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/groups.py |
GroupTable.get_group_member_counts_by_ids |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.update_group_by_id |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| open_webui/models/groups.py |
GroupTable.delete_group_by_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/groups.py |
GroupTable.delete_all_groups |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.remove_user_from_all_groups |
|
33% |
12 |
8 |
0 |
|
0% |
2 |
0 |
|
29% |
| open_webui/models/groups.py |
GroupTable.create_groups_by_group_names |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.sync_groups_by_group_names |
|
0% |
23 |
23 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/groups.py |
GroupTable.add_users_to_group |
|
24% |
21 |
16 |
0 |
|
0% |
4 |
0 |
|
20% |
| open_webui/models/groups.py |
GroupTable.remove_users_from_group |
|
38% |
16 |
10 |
0 |
|
0% |
4 |
0 |
|
30% |
| open_webui/models/groups.py |
(no function) |
|
100% |
93 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/knowledge.py |
KnowledgeTable._get_access_grants |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/knowledge.py |
KnowledgeTable._to_knowledge_model |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/knowledge.py |
KnowledgeTable.insert_new_knowledge |
|
77% |
13 |
3 |
0 |
|
50% |
2 |
1 |
|
73% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_knowledge_bases |
|
92% |
13 |
1 |
0 |
|
100% |
2 |
0 |
|
93% |
| open_webui/models/knowledge.py |
KnowledgeTable.search_knowledge_bases |
|
51% |
47 |
23 |
0 |
|
38% |
24 |
5 |
|
46% |
| open_webui/models/knowledge.py |
KnowledgeTable.search_knowledge_files |
|
69% |
35 |
11 |
0 |
|
50% |
14 |
1 |
|
63% |
| open_webui/models/knowledge.py |
KnowledgeTable.check_access_by_user_id |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_knowledge_by_id |
|
43% |
7 |
4 |
0 |
|
100% |
0 |
0 |
|
43% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_knowledges_by_file_id |
|
56% |
9 |
4 |
0 |
|
100% |
0 |
0 |
|
56% |
| open_webui/models/knowledge.py |
KnowledgeTable.search_files_by_id |
|
0% |
46 |
46 |
0 |
|
0% |
24 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_files_by_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_file_metadatas_by_id |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.add_file_to_knowledge_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.has_file |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.remove_file_from_knowledge_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.reset_knowledge_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.update_knowledge_by_id |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.update_knowledge_meta_by_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.delete_knowledge_by_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.delete_all_knowledge |
|
73% |
11 |
3 |
0 |
|
100% |
2 |
0 |
|
77% |
| open_webui/models/knowledge.py |
KnowledgeTable.create_directory |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_directories |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_all_directories |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_files_with_directory_ids |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_directory_by_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_directory_breadcrumbs |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.rename_directory |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.move_directory |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.update_directory |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.delete_directory |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable._move_files_from_subtree |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable._delete_files_in_subtree |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.get_files_by_id_and_directory_id |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/knowledge.py |
KnowledgeTable.move_file_to_directory |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/knowledge.py |
(no function) |
|
100% |
133 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/memories.py |
MemoriesTable.normalize_memory_type |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/memories.py |
MemoriesTable.insert_new_memory |
|
83% |
6 |
1 |
0 |
|
100% |
0 |
0 |
|
83% |
| open_webui/models/memories.py |
MemoriesTable.update_memory_by_id_and_user_id |
|
22% |
18 |
14 |
0 |
|
0% |
10 |
0 |
|
14% |
| open_webui/models/memories.py |
MemoriesTable.get_memories |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/memories.py |
MemoriesTable.get_memories_by_user_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/memories.py |
MemoriesTable.get_memory_by_id |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/memories.py |
MemoriesTable.delete_memory_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/memories.py |
MemoriesTable.delete_memories_by_user_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/memories.py |
MemoriesTable.delete_memory_by_id_and_user_id |
|
40% |
10 |
6 |
0 |
|
0% |
2 |
0 |
|
33% |
| open_webui/models/memories.py |
MemoriesTable.apply_memory_operations |
|
33% |
55 |
37 |
0 |
|
23% |
26 |
4 |
|
30% |
| open_webui/models/memories.py |
(no function) |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/messages.py |
MessageUserSlimResponse.convert_data_to_bool |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.insert_new_message |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_message_by_id |
|
0% |
18 |
18 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable._resolve_user_info |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_thread_replies_by_message_id |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_reply_user_ids_by_message_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_messages_by_channel_id |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_messages_by_parent_id |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_last_message_by_channel_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_pinned_messages_by_channel_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.update_message_by_id |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.update_is_pinned_by_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_unread_message_count |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.add_reaction_to_message |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_reactions_by_message_id |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_reactions_by_message_ids |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.get_thread_reply_counts_by_message_ids |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.remove_reaction_by_id_and_user_id_and_name |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.delete_reactions_by_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.delete_replies_by_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.delete_message_by_id |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/messages.py |
MessageTable.search_messages_by_channel_ids |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/messages.py |
(no function) |
|
100% |
103 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/models.py |
normalize_model_tags |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/models/models.py |
strip_extracted_content_from_model_knowledge |
|
68% |
22 |
7 |
0 |
|
67% |
12 |
2 |
|
68% |
| open_webui/models/models.py |
ModelMeta.check_image_url |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/models/models.py |
ModelMeta.strip_knowledge_content |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/models.py |
ModelMeta.normalize_tags |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/models/models.py |
ModelsTable._get_access_grants |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/models.py |
ModelsTable._to_model_model |
|
70% |
10 |
3 |
0 |
|
33% |
6 |
2 |
|
56% |
| open_webui/models/models.py |
ModelsTable.insert_new_model |
|
67% |
12 |
4 |
0 |
|
50% |
2 |
1 |
|
64% |
| open_webui/models/models.py |
ModelsTable.get_all_models |
|
75% |
12 |
3 |
0 |
|
100% |
2 |
0 |
|
79% |
| open_webui/models/models.py |
ModelsTable.get_models |
|
84% |
19 |
3 |
0 |
|
83% |
6 |
1 |
|
84% |
| open_webui/models/models.py |
ModelsTable.get_model_owner_ids_by_file_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/models.py |
ModelsTable._meta_has_tag |
|
43% |
7 |
4 |
0 |
|
33% |
6 |
2 |
|
38% |
| open_webui/models/models.py |
ModelsTable.get_base_models |
|
75% |
8 |
2 |
0 |
|
0% |
2 |
0 |
|
60% |
| open_webui/models/models.py |
ModelsTable._has_permission |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/models.py |
ModelsTable.search_models |
|
66% |
50 |
17 |
0 |
|
50% |
30 |
5 |
|
60% |
| open_webui/models/models.py |
ModelsTable.get_model_meta_by_id |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/models.py |
ModelsTable.get_all_tags |
|
17% |
23 |
19 |
0 |
|
8% |
12 |
1 |
|
14% |
| open_webui/models/models.py |
ModelsTable.get_model_by_id |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/models.py |
ModelsTable.get_models_by_ids |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/models.py |
ModelsTable.toggle_model_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/models.py |
ModelsTable.update_model_by_id |
|
67% |
12 |
4 |
0 |
|
0% |
2 |
0 |
|
57% |
| open_webui/models/models.py |
ModelsTable.update_model_updated_at_by_id |
|
42% |
12 |
7 |
0 |
|
0% |
2 |
0 |
|
36% |
| open_webui/models/models.py |
ModelsTable.delete_model_by_id |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| open_webui/models/models.py |
ModelsTable.delete_all_models |
|
73% |
11 |
3 |
0 |
|
100% |
2 |
0 |
|
77% |
| open_webui/models/models.py |
ModelsTable.sync_models |
|
92% |
25 |
2 |
0 |
|
75% |
8 |
2 |
|
88% |
| open_webui/models/models.py |
(no function) |
|
100% |
103 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/notes.py |
sanitize_note_data |
|
58% |
12 |
5 |
0 |
|
62% |
8 |
1 |
|
60% |
| open_webui/models/notes.py |
NoteModel.sanitize_data |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/notes.py |
NoteForm.sanitize_data |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/notes.py |
NoteUpdateForm.sanitize_data |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/notes.py |
NoteTable._get_access_grants |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/notes.py |
NoteTable._to_note_model |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/notes.py |
NoteTable._has_permission |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/notes.py |
NoteTable.insert_new_note |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/notes.py |
NoteTable.get_notes |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/notes.py |
NoteTable.search_notes |
|
65% |
48 |
17 |
0 |
|
50% |
30 |
5 |
|
59% |
| open_webui/models/notes.py |
NoteTable.get_notes_by_user_id |
|
93% |
14 |
1 |
0 |
|
100% |
4 |
0 |
|
94% |
| open_webui/models/notes.py |
NoteTable.get_note_by_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/notes.py |
NoteTable.update_note_by_id |
|
35% |
20 |
13 |
0 |
|
0% |
12 |
0 |
|
22% |
| open_webui/models/notes.py |
NoteTable.toggle_note_pinned_by_id |
|
44% |
16 |
9 |
0 |
|
0% |
4 |
0 |
|
35% |
| open_webui/models/notes.py |
NoteTable.get_pinned_notes_by_user_id |
|
90% |
10 |
1 |
0 |
|
100% |
0 |
0 |
|
90% |
| open_webui/models/notes.py |
NoteTable.delete_note_by_id |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/notes.py |
NoteTable.get_pinned_note_ids |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/notes.py |
(no function) |
|
100% |
86 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.__init__ |
|
58% |
12 |
5 |
0 |
|
50% |
4 |
2 |
|
56% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable._encrypt_token |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable._decrypt_token |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.create_session |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.get_session_by_id |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.get_session_by_id_and_user_id |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.get_session_by_provider_and_user_id |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.get_sessions_by_user_id |
|
19% |
16 |
13 |
0 |
|
0% |
2 |
0 |
|
17% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.update_session_by_id |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.delete_session_by_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.delete_sessions_by_user_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.delete_sessions_by_user_id_and_provider |
|
50% |
8 |
4 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/oauth_sessions.py |
OAuthSessionTable.delete_sessions_by_provider |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/oauth_sessions.py |
(no function) |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.create_history_entry |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.get_history_by_prompt_id |
|
86% |
7 |
1 |
0 |
|
100% |
0 |
0 |
|
86% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.get_history_entry_by_id |
|
33% |
6 |
4 |
0 |
|
0% |
2 |
0 |
|
25% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.get_latest_history_entry |
|
33% |
6 |
4 |
0 |
|
0% |
2 |
0 |
|
25% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.get_history_count |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.compute_diff |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.delete_history_by_prompt_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/prompt_history.py |
PromptHistoryTable.delete_history_entry |
|
17% |
12 |
10 |
0 |
|
0% |
4 |
0 |
|
12% |
| open_webui/models/prompt_history.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/prompts.py |
PromptsTable._get_access_grants |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/prompts.py |
PromptsTable._to_prompt_model |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/prompts.py |
PromptsTable.insert_new_prompt |
|
80% |
20 |
4 |
0 |
|
50% |
4 |
2 |
|
75% |
| open_webui/models/prompts.py |
PromptsTable.get_prompt_by_id |
|
44% |
9 |
5 |
0 |
|
0% |
2 |
0 |
|
36% |
| open_webui/models/prompts.py |
PromptsTable.get_prompt_by_command |
|
50% |
6 |
3 |
0 |
|
0% |
2 |
0 |
|
38% |
| open_webui/models/prompts.py |
PromptsTable.get_prompts |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/models/prompts.py |
PromptsTable.get_prompts_by_user_id |
|
0% |
19 |
19 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/prompts.py |
PromptsTable.search_prompts |
|
60% |
58 |
23 |
0 |
|
44% |
34 |
7 |
|
54% |
| open_webui/models/prompts.py |
PromptsTable.update_prompt_by_command |
|
0% |
30 |
30 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/models/prompts.py |
PromptsTable.update_prompt_by_id |
|
81% |
32 |
6 |
0 |
|
67% |
12 |
0 |
|
77% |
| open_webui/models/prompts.py |
PromptsTable.update_prompt_metadata |
|
33% |
15 |
10 |
0 |
|
0% |
4 |
0 |
|
26% |
| open_webui/models/prompts.py |
PromptsTable.update_prompt_version |
|
74% |
23 |
6 |
0 |
|
50% |
6 |
1 |
|
69% |
| open_webui/models/prompts.py |
PromptsTable.toggle_prompt_active |
|
43% |
14 |
8 |
0 |
|
25% |
4 |
1 |
|
39% |
| open_webui/models/prompts.py |
PromptsTable.delete_prompt_by_command |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/prompts.py |
PromptsTable.delete_prompt_by_id |
|
50% |
14 |
7 |
0 |
|
0% |
2 |
0 |
|
44% |
| open_webui/models/prompts.py |
PromptsTable.get_tags |
|
25% |
12 |
9 |
0 |
|
0% |
8 |
0 |
|
15% |
| open_webui/models/prompts.py |
PromptsTable.get_tags_by_user_id |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/models/prompts.py |
(no function) |
|
100% |
84 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/shared_chats.py |
SharedChatsTable.create |
|
42% |
12 |
7 |
0 |
|
0% |
2 |
0 |
|
36% |
| open_webui/models/shared_chats.py |
SharedChatsTable.update |
|
43% |
14 |
8 |
0 |
|
0% |
4 |
0 |
|
33% |
| open_webui/models/shared_chats.py |
SharedChatsTable.get_by_id |
|
40% |
5 |
3 |
0 |
|
0% |
2 |
0 |
|
29% |
| open_webui/models/shared_chats.py |
SharedChatsTable.get_by_chat_id |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/shared_chats.py |
SharedChatsTable.get_by_user_id |
|
79% |
24 |
5 |
0 |
|
62% |
16 |
2 |
|
72% |
| open_webui/models/shared_chats.py |
SharedChatsTable.delete_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/shared_chats.py |
SharedChatsTable.delete_by_chat_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/shared_chats.py |
SharedChatsTable.delete_all_by_user_id |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| open_webui/models/shared_chats.py |
(no function) |
|
100% |
44 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/skills.py |
SkillsTable._get_access_grants |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/skills.py |
SkillsTable._to_skill_model |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/skills.py |
SkillsTable.insert_new_skill |
|
67% |
12 |
4 |
0 |
|
50% |
2 |
1 |
|
64% |
| open_webui/models/skills.py |
SkillsTable.get_skill_by_id |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/skills.py |
SkillsTable.get_skill_by_name |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/skills.py |
SkillsTable.get_skills |
|
79% |
19 |
4 |
0 |
|
67% |
6 |
2 |
|
76% |
| open_webui/models/skills.py |
SkillsTable.search_skills |
|
56% |
45 |
20 |
0 |
|
42% |
26 |
5 |
|
51% |
| open_webui/models/skills.py |
SkillsTable.update_skill_by_id |
|
91% |
11 |
1 |
0 |
|
0% |
2 |
0 |
|
77% |
| open_webui/models/skills.py |
SkillsTable.toggle_skill_by_id |
|
42% |
12 |
7 |
0 |
|
0% |
2 |
0 |
|
36% |
| open_webui/models/skills.py |
SkillsTable.delete_skill_by_id |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| open_webui/models/skills.py |
(no function) |
|
100% |
80 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/tags.py |
TagTable.insert_new_tag |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tags.py |
TagTable.get_tag_by_name_and_user_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tags.py |
TagTable.get_tags_by_user_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/tags.py |
TagTable.get_tags_by_ids_and_user_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/tags.py |
TagTable.delete_tag_by_name_and_user_id |
|
50% |
10 |
5 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/models/tags.py |
TagTable.delete_tags_by_ids_and_user_id |
|
60% |
10 |
4 |
0 |
|
100% |
2 |
0 |
|
67% |
| open_webui/models/tags.py |
TagTable.ensure_tags_exist |
|
80% |
10 |
2 |
0 |
|
50% |
4 |
0 |
|
71% |
| open_webui/models/tags.py |
(no function) |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/tools.py |
ToolsTable._get_access_grants |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable._to_tool_model |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.insert_new_tool |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.get_tool_by_id |
|
38% |
8 |
5 |
0 |
|
0% |
2 |
0 |
|
30% |
| open_webui/models/tools.py |
ToolsTable.get_tools_by_ids |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.get_tools |
|
39% |
18 |
11 |
0 |
|
17% |
6 |
1 |
|
33% |
| open_webui/models/tools.py |
ToolsTable.get_tools_by_user_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.get_tool_valves_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.update_tool_valves_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.get_user_valves_by_id_and_user_id |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.update_user_valves_by_id_and_user_id |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.update_tool_by_id |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/tools.py |
ToolsTable.delete_tool_by_id |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/tools.py |
(no function) |
|
100% |
77 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/users.py |
UserModel._ensure_profile_image |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/users.py |
UserModel.normalize_variables |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/users.py |
UpdateProfileForm.check_profile_image_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/users.py |
UserUpdateForm.check_profile_image_url |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.insert_new_user |
|
90% |
10 |
1 |
0 |
|
100% |
0 |
0 |
|
90% |
| open_webui/models/users.py |
UsersTable.get_user_by_id |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/users.py |
UsersTable.get_user_by_api_key |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.get_user_by_email |
|
50% |
8 |
4 |
0 |
|
0% |
2 |
0 |
|
40% |
| open_webui/models/users.py |
UsersTable.get_user_by_oauth_sub |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.get_user_by_scim_external_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.get_scim_users |
|
0% |
22 |
22 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.get_scim_user_by_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.get_users |
|
43% |
72 |
41 |
0 |
|
31% |
54 |
13 |
|
38% |
| open_webui/models/users.py |
UsersTable.get_users_by_group_id |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| open_webui/models/users.py |
UsersTable.get_users_by_user_ids |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/users.py |
UsersTable.get_num_users |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/users.py |
UsersTable.has_users |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/users.py |
UsersTable.get_first_user |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/users.py |
UsersTable.get_num_users_active_today |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.update_user_role_by_id |
|
43% |
7 |
4 |
0 |
|
0% |
2 |
0 |
|
33% |
| open_webui/models/users.py |
UsersTable.update_user_status_by_id |
|
38% |
8 |
5 |
0 |
|
0% |
4 |
0 |
|
25% |
| open_webui/models/users.py |
UsersTable.update_user_profile_image_url_by_id |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.update_last_active_by_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/models/users.py |
UsersTable.update_user_oauth_by_id |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.update_user_scim_by_id |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.update_user_by_id |
|
38% |
8 |
5 |
0 |
|
0% |
4 |
0 |
|
25% |
| open_webui/models/users.py |
UsersTable.update_user_settings_by_id |
|
17% |
18 |
15 |
0 |
|
0% |
8 |
0 |
|
12% |
| open_webui/models/users.py |
UsersTable.delete_user_by_id |
|
80% |
10 |
2 |
0 |
|
50% |
2 |
1 |
|
75% |
| open_webui/models/users.py |
UsersTable.get_user_api_key_by_id |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.update_user_api_key_by_id |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.delete_user_api_key_by_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.get_valid_user_ids |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/models/users.py |
UsersTable.get_super_admin_user |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.get_active_user_count |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/models/users.py |
UsersTable.is_active |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/models/users.py |
UsersTable.is_user_active |
|
33% |
6 |
4 |
0 |
|
0% |
2 |
0 |
|
25% |
| open_webui/models/users.py |
(no function) |
|
100% |
271 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/external.py |
_get_external_connection |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_get_path |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_normalize_result |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_source_config |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_root_field |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_safe_identifier |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_retrieve_qdrant |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_retrieve_qdrant._search |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_retrieve_milvus |
|
0% |
27 |
27 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_retrieve_milvus._search |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_retrieve_pgvector |
|
0% |
26 |
26 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/external.py |
_retrieve_pgvector._search |
|
0% |
12 |
12 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/external.py |
retrieve_external_knowledge |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/external.py |
retrieve_external_knowledge_for_connection |
|
0% |
17 |
17 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/external.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/datalab_marker.py |
DatalabMarkerLoader.__init__ |
|
0% |
12 |
12 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/datalab_marker.py |
DatalabMarkerLoader._get_mime_type |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/datalab_marker.py |
DatalabMarkerLoader.load |
|
0% |
89 |
89 |
0 |
|
0% |
30 |
0 |
|
0% |
| open_webui/retrieval/loaders/datalab_marker.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/external_document.py |
ExternalDocumentLoader.__init__ |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/external_document.py |
ExternalDocumentLoader.load |
|
0% |
35 |
35 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/retrieval/loaders/external_document.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/external_web.py |
ExternalWebLoader.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/external_web.py |
ExternalWebLoader.lazy_load |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/loaders/external_web.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/local.py |
TextLoader.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/local.py |
TextLoader.load |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| open_webui/retrieval/loaders/local.py |
HTMLLoader.load |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/local.py |
DocxLoader.load |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/local.py |
UnstructuredLoader.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/local.py |
UnstructuredLoader.load |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/loaders/local.py |
DocumentIntelligenceLoader.__init__ |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/local.py |
DocumentIntelligenceLoader.load |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/local.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/main.py |
ExcelLoader.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
ExcelLoader.load |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
get_csv_summary |
|
0% |
21 |
21 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
CSVLoaderWithSummary.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
CSVLoaderWithSummary.load |
|
0% |
20 |
20 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
PptxLoader.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
PptxLoader.load |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
TikaLoader.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
TikaLoader.load |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
DoclingLoader.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
DoclingLoader.load |
|
0% |
32 |
32 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
Loader.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/main.py |
Loader.load |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/main.py |
Loader.aload |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/retrieval/loaders/main.py |
Loader._is_text_file |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/main.py |
Loader._detect_text_encoding |
|
16% |
44 |
37 |
0 |
|
8% |
12 |
1 |
|
14% |
| open_webui/retrieval/loaders/main.py |
Loader._has_cjk_characters |
|
0% |
14 |
14 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/loaders/main.py |
Loader._get_loader |
|
22% |
120 |
93 |
0 |
|
34% |
70 |
24 |
|
27% |
| open_webui/retrieval/loaders/main.py |
(no function) |
|
100% |
51 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/microsoft_web_iq.py |
MicrosoftWebIQLoader.__init__ |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/microsoft_web_iq.py |
MicrosoftWebIQLoader.lazy_load |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/loaders/microsoft_web_iq.py |
MicrosoftWebIQLoader._browse_url |
|
0% |
34 |
34 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/loaders/microsoft_web_iq.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader.__init__ |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader.load |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader._load_local_api |
|
0% |
43 |
43 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader._load_cloud_api |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader._request_upload_url |
|
0% |
34 |
34 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader._upload_to_presigned_url |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader._poll_batch_status |
|
0% |
48 |
48 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
MinerULoader._download_and_extract_zip |
|
0% |
64 |
64 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/retrieval/loaders/mineru.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader.__init__ |
|
0% |
20 |
20 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._debug_log |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._handle_response |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._is_retryable_error |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._retry_request_sync |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._upload_file |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._upload_file.upload_request |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._get_signed_url |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._get_signed_url.url_request |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._process_ocr |
|
0% |
13 |
13 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._process_ocr.ocr_request |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._get_file_data_url |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._delete_file |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader._process_results |
|
0% |
28 |
28 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
MistralLoader.load |
|
0% |
24 |
24 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/mistral.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/paddleocr_vl.py |
PaddleOCRVLLoader.__init__ |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/loaders/paddleocr_vl.py |
PaddleOCRVLLoader.load |
|
0% |
38 |
38 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/loaders/paddleocr_vl.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/pdf.py |
PDFLoader.__init__ |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/pdf.py |
PDFLoader.lazy_load |
|
0% |
28 |
28 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/retrieval/loaders/pdf.py |
PDFLoader._merge_image_text |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/loaders/pdf.py |
PDFLoader._extract_images |
|
0% |
26 |
26 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/loaders/pdf.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/tavily.py |
TavilyLoader.__init__ |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/loaders/tavily.py |
TavilyLoader.lazy_load |
|
0% |
26 |
26 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/loaders/tavily.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/loaders/youtube.py |
_transcript_error_message |
|
0% |
12 |
12 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/loaders/youtube.py |
_parse_video_id |
|
0% |
18 |
18 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/loaders/youtube.py |
YoutubeLoader.__init__ |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/loaders/youtube.py |
YoutubeLoader.load |
|
0% |
46 |
46 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/loaders/youtube.py |
YoutubeLoader.aload |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/loaders/youtube.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/utils.py |
BM25Retriever._get_relevant_documents |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
is_youtube_url |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/utils.py |
get_loader_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/utils.py |
get_loader |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
build_loader_from_config |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/utils.py |
_extract_text_from_binary_response |
|
0% |
32 |
32 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
_is_text_content_type |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_content_from_url |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/utils.py |
_get_content_from_url_sync |
|
8% |
25 |
23 |
0 |
|
0% |
6 |
0 |
|
6% |
| open_webui/retrieval/utils.py |
_content_hash |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
VectorSearchRetriever._get_relevant_documents |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
VectorSearchRetriever._aget_relevant_documents |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_doc |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_doc |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_enriched_texts |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
_search_result_to_documents |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
_supports_native_hybrid_search |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_doc_with_native_hybrid_search |
|
0% |
27 |
27 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_doc_with_hybrid_search |
|
0% |
39 |
39 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
merge_get_results |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
merge_and_sort_query_results |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_all_items_from_collections |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_collection |
|
41% |
27 |
16 |
0 |
|
25% |
12 |
1 |
|
36% |
| open_webui/retrieval/utils.py |
query_collection.process_query_collection |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_collection_with_hybrid_search |
|
0% |
26 |
26 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_collection_with_hybrid_search.process_native_query |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_collection_with_hybrid_search._fetch_collection |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
query_collection_with_hybrid_search.process_query |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
generate_openai_batch_embeddings |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
agenerate_openai_batch_embeddings |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
generate_azure_openai_batch_embeddings |
|
0% |
20 |
20 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
agenerate_azure_openai_batch_embeddings |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
generate_ollama_batch_embeddings |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
agenerate_ollama_batch_embeddings |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_embedding_function |
|
16% |
32 |
27 |
0 |
|
19% |
16 |
1 |
|
17% |
| open_webui/retrieval/utils.py |
get_embedding_function.async_embedding_function |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| open_webui/retrieval/utils.py |
get_embedding_function.async_embedding_function.encode |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/utils.py |
generate_embeddings |
|
0% |
23 |
23 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_reranking_function |
|
27% |
11 |
8 |
0 |
|
33% |
6 |
2 |
|
29% |
| open_webui/retrieval/utils.py |
get_reranking_function.unavailable |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
_is_safe_collection_name |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/utils.py |
filter_accessible_collections |
|
24% |
25 |
19 |
0 |
|
12% |
24 |
1 |
|
18% |
| open_webui/retrieval/utils.py |
filter_source_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_sources_from_items |
|
0% |
143 |
143 |
0 |
|
0% |
110 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
get_model_path |
|
91% |
22 |
2 |
0 |
|
62% |
8 |
3 |
|
83% |
| open_webui/retrieval/utils.py |
cosine_similarity |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
RerankCompressor.compress_documents |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
RerankCompressor.acompress_documents |
|
0% |
24 |
24 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/utils.py |
(no function) |
|
100% |
105 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.sync |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.supports_hybrid_search |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.has_collection |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.delete_collection |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.insert |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.upsert |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.search |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.hybrid_search |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.query |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.get |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.delete |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
AsyncVectorDBClient.reset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/async_client.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.__init__ |
|
80% |
10 |
2 |
0 |
|
50% |
8 |
4 |
|
67% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.has_collection |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.delete_collection |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.search |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.query |
|
50% |
8 |
4 |
0 |
|
0% |
2 |
0 |
|
40% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.get |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.insert |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.upsert |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.delete |
|
50% |
10 |
5 |
0 |
|
0% |
6 |
0 |
|
31% |
| open_webui/retrieval/vector/dbs/chroma.py |
ChromaClient.reset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/dbs/chroma.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/factory.py |
Vector.get_vector |
|
28% |
50 |
36 |
0 |
|
34% |
32 |
11 |
|
30% |
| open_webui/retrieval/vector/factory.py |
get_vector_db_client |
|
14% |
14 |
12 |
0 |
|
17% |
6 |
1 |
|
15% |
| open_webui/retrieval/vector/factory.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.has_collection |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.delete_collection |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.insert |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.upsert |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.search |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.hybrid_search |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.query |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.get |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.delete |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
VectorDBBase.reset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/main.py |
(no function) |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/type.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/utils.py |
filter_metadata |
|
50% |
12 |
6 |
0 |
|
50% |
8 |
2 |
|
50% |
| open_webui/retrieval/vector/utils.py |
process_metadata |
|
50% |
16 |
8 |
0 |
|
50% |
12 |
4 |
|
50% |
| open_webui/retrieval/vector/utils.py |
iter_filter_conditions |
|
0% |
6 |
6 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/vector/utils.py |
normalize_filter |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/vector/utils.py |
metadata_matches_filter |
|
0% |
10 |
10 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/vector/utils.py |
merge_hybrid_search_results |
|
0% |
29 |
29 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/vector/utils.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/azure.py |
search_azure |
|
0% |
26 |
26 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/web/azure.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/bing.py |
search_bing |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/bing.py |
main |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/bing.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/bocha.py |
_parse_response |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/bocha.py |
search_bocha |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/bocha.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/brave.py |
search_brave |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/brave.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/brave_llm_context.py |
search_brave_llm_context |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/brave_llm_context.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/duckduckgo.py |
search_duckduckgo |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/duckduckgo.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/exa.py |
search_exa |
|
0% |
13 |
13 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/exa.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/external.py |
search_external |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/external.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/firecrawl.py |
build_firecrawl_url |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
build_firecrawl_headers |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
get_firecrawl_timeout_seconds |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
get_firecrawl_scrape_timeout_ms |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
get_firecrawl_client_timeout_seconds |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
get_firecrawl_retry_delay |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
request_firecrawl_json |
|
0% |
21 |
21 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
get_firecrawl_result_url |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
scrape_firecrawl_url |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
search_firecrawl |
|
0% |
20 |
20 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/firecrawl.py |
(no function) |
|
95% |
22 |
1 |
0 |
|
50% |
2 |
1 |
|
92% |
| open_webui/retrieval/web/google_pse.py |
search_google_pse |
|
0% |
23 |
23 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/web/google_pse.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/jina_search.py |
search_jina |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/jina_search.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/kagi.py |
search_kagi |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/kagi.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/linkup.py |
search_linkup |
|
0% |
20 |
20 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/linkup.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/main.py |
get_filtered_results |
|
0% |
24 |
24 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/web/main.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/microsoft_web_iq.py |
search_microsoft_web_iq |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/microsoft_web_iq.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/mojeek.py |
search_mojeek |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/mojeek.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/ollama.py |
search_ollama_cloud |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/ollama.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/openserp.py |
search_openserp |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/openserp.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/perplexity.py |
search_perplexity |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/web/perplexity.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/perplexity_search.py |
search_perplexity_search |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/perplexity_search.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/searchapi.py |
search_searchapi |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/searchapi.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/searxng.py |
_get_ssl_context |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/searxng.py |
search_searxng |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/searxng.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/serpapi.py |
search_serpapi |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/serpapi.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/serper.py |
search_serper |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/serper.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/serphouse.py |
search_serphouse |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/serphouse.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/serply.py |
search_serply |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/serply.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/serpstack.py |
search_serpstack |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/serpstack.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/sougou.py |
search_sougou |
|
0% |
21 |
21 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/sougou.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/staan.py |
search_staan |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/staan.py |
_build_snippet |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/staan.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/tavily.py |
search_tavily |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/tavily.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/utils.py |
resolve_hostname |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_embedded_ipv4 |
|
0% |
15 |
15 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_assert_host_allowed |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_assert_addresses_allowed |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
validate_url |
|
13% |
23 |
20 |
0 |
|
17% |
12 |
2 |
|
14% |
| open_webui/retrieval/web/utils.py |
safe_validate_urls |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_ssrf_safe_new_conn |
|
0% |
28 |
28 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_SSRFSafeAdapter.init_poolmanager |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_SSRFSafeAdapter.send |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_SSRFSafeConnector.connect |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_SSRFSafeConnector._resolve_host |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
get_ssrf_safe_session |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
get_ssrf_safe_requests_session |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_forwardable_request_headers |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
_fulfillable_response_headers |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
extract_metadata |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
verify_ssl_cert |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
RateLimitMixin._wait_for_rate_limit |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
RateLimitMixin._sync_wait_for_rate_limit |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
URLProcessingMixin._verify_ssl_cert |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
URLProcessingMixin._safe_process_url |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
URLProcessingMixin._safe_process_url_sync |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeFireCrawlLoader.__init__ |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeFireCrawlLoader.lazy_load |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeFireCrawlLoader.alazy_load |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeTavilyLoader.__init__ |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeTavilyLoader.lazy_load |
|
0% |
21 |
21 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeTavilyLoader.alazy_load |
|
0% |
22 |
22 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeMicrosoftWebIQLoader.__init__ |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeMicrosoftWebIQLoader.lazy_load |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeMicrosoftWebIQLoader.alazy_load |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader.__init__ |
|
0% |
23 |
23 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader._extract_html |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader._request_timeout |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader._requests_verify |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader._intercept_navigation_sync |
|
0% |
30 |
30 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader._intercept_navigation_sync.fetch |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader._intercept_navigation |
|
0% |
29 |
29 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader._intercept_navigation.fetch |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader.lazy_load |
|
0% |
28 |
28 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafePlaywrightURLLoader.alazy_load |
|
0% |
28 |
28 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader.__init__ |
|
0% |
12 |
12 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader.fetch_all |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader.fetch_all.fetch |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader._fetch |
|
0% |
21 |
21 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader.lazy_load |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader._document_from_html |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader.alazy_load |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
SafeWebBaseLoader.aload |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
get_web_loader |
|
0% |
61 |
61 |
0 |
|
0% |
28 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
get_web_loader.cfg |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/retrieval/web/utils.py |
(no function) |
|
100% |
100 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/yacy.py |
search_yacy |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/retrieval/web/yacy.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/web/yandex.py |
xml_element_contents_to_string |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/yandex.py |
search_yandex |
|
0% |
36 |
36 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/retrieval/web/yandex.py |
(no function) |
|
81% |
21 |
4 |
0 |
|
50% |
2 |
1 |
|
78% |
| open_webui/retrieval/web/ydc.py |
search_youcom |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/retrieval/web/ydc.py |
_build_snippet |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/retrieval/web/ydc.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/analytics.py |
get_model_analytics |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/analytics.py |
get_user_analytics |
|
70% |
10 |
3 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/analytics.py |
get_messages |
|
100% |
7 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/routers/analytics.py |
get_summary |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/analytics.py |
get_daily_stats |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/analytics.py |
get_token_usage |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/analytics.py |
get_model_chats |
|
100% |
11 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| open_webui/routers/analytics.py |
get_model_overview |
|
72% |
29 |
8 |
0 |
|
50% |
16 |
2 |
|
64% |
| open_webui/routers/analytics.py |
(no function) |
|
100% |
90 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/audio.py |
get_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/audio.py |
config_updates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/audio.py |
is_audio_conversion_required |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/audio.py |
convert_audio_to_mp3 |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/audio.py |
transcode_audio_to_mp3 |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/audio.py |
set_faster_whisper_model |
|
92% |
13 |
1 |
0 |
|
75% |
4 |
1 |
|
88% |
| open_webui/routers/audio.py |
get_audio_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/audio.py |
update_audio_config |
|
62% |
13 |
5 |
0 |
|
38% |
8 |
1 |
|
52% |
| open_webui/routers/audio.py |
load_speech_pipeline |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/audio.py |
_raise_tts_error |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/routers/audio.py |
_write_tts_cache |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/audio.py |
_tts_openai |
|
0% |
28 |
28 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/routers/audio.py |
_tts_elevenlabs |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/audio.py |
_tts_azure |
|
0% |
17 |
17 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/audio.py |
_tts_transformers |
|
0% |
17 |
17 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/audio.py |
_tts_transformers._run_pipeline |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/audio.py |
_tts_mistral |
|
0% |
18 |
18 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/audio.py |
speech |
|
52% |
29 |
14 |
0 |
|
42% |
12 |
3 |
|
49% |
| open_webui/routers/audio.py |
_transcribe_whisper |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/audio.py |
_transcribe_whisper._run |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/audio.py |
_transcribe_openai |
|
0% |
45 |
45 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/routers/audio.py |
_transcribe_deepgram |
|
0% |
40 |
40 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/routers/audio.py |
_transcribe_azure |
|
0% |
57 |
57 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/routers/audio.py |
_transcribe_azure.audio_chunks |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/audio.py |
transcription_handler |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/audio.py |
_transcribe_mistral |
|
0% |
78 |
78 |
0 |
|
0% |
28 |
0 |
|
0% |
| open_webui/routers/audio.py |
transcribe |
|
0% |
32 |
32 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/audio.py |
compress_audio |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/audio.py |
split_audio |
|
0% |
27 |
27 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/routers/audio.py |
transcription |
|
13% |
39 |
34 |
0 |
|
20% |
10 |
2 |
|
14% |
| open_webui/routers/audio.py |
get_available_models |
|
20% |
35 |
28 |
0 |
|
38% |
8 |
3 |
|
23% |
| open_webui/routers/audio.py |
get_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/audio.py |
get_available_voices |
|
12% |
58 |
51 |
0 |
|
22% |
18 |
4 |
|
14% |
| open_webui/routers/audio.py |
get_voices |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/audio.py |
(no function) |
|
100% |
116 |
0 |
0 |
|
50% |
2 |
1 |
|
99% |
| open_webui/routers/auths.py |
get_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
config_updates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
create_session_response |
|
100% |
12 |
0 |
0 |
|
50% |
4 |
2 |
|
88% |
| open_webui/routers/auths.py |
get_session_user |
|
86% |
21 |
3 |
0 |
|
50% |
12 |
6 |
|
73% |
| open_webui/routers/auths.py |
update_profile |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| open_webui/routers/auths.py |
update_timezone |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/routers/auths.py |
update_password |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/routers/auths.py |
_unescape_ldap_dn_value |
|
0% |
18 |
18 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/routers/auths.py |
extract_group_cn_from_dn |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/auths.py |
ldap_auth |
|
2% |
124 |
122 |
0 |
|
2% |
52 |
1 |
|
2% |
| open_webui/routers/auths.py |
signin |
|
17% |
54 |
45 |
0 |
|
16% |
38 |
4 |
|
16% |
| open_webui/routers/auths.py |
signup_handler |
|
91% |
11 |
1 |
0 |
|
50% |
4 |
2 |
|
80% |
| open_webui/routers/auths.py |
signup |
|
54% |
26 |
12 |
0 |
|
50% |
14 |
5 |
|
52% |
| open_webui/routers/auths.py |
signout |
|
10% |
49 |
44 |
0 |
|
0% |
22 |
0 |
|
7% |
| open_webui/routers/auths.py |
delete_oauth_session_by_provider |
|
60% |
5 |
2 |
0 |
|
50% |
2 |
1 |
|
57% |
| open_webui/routers/auths.py |
add_user |
|
21% |
24 |
19 |
0 |
|
50% |
6 |
1 |
|
27% |
| open_webui/routers/auths.py |
get_admin_details |
|
71% |
14 |
4 |
0 |
|
38% |
8 |
3 |
|
59% |
| open_webui/routers/auths.py |
get_admin_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
AdminConfig.validate_i18n |
|
5% |
19 |
18 |
0 |
|
0% |
16 |
0 |
|
3% |
| open_webui/routers/auths.py |
AdminConfig.validate_i18n.placeholders |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/auths.py |
update_admin_config |
|
0% |
18 |
18 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/auths.py |
get_ldap_server |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
update_ldap_server |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/routers/auths.py |
get_ldap_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
update_ldap_config |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/auths.py |
_format_oauth_form_value |
|
80% |
5 |
1 |
0 |
|
75% |
4 |
1 |
|
78% |
| open_webui/routers/auths.py |
_parse_oauth_update_value |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/auths.py |
get_oauth_config_values |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
oauth_config_updates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
get_oauth_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
update_oauth_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/auths.py |
_check_api_key_permission |
|
100% |
2 |
0 |
0 |
|
50% |
2 |
1 |
|
75% |
| open_webui/routers/auths.py |
generate_api_key |
|
14% |
7 |
6 |
0 |
|
0% |
2 |
0 |
|
11% |
| open_webui/routers/auths.py |
delete_api_key |
|
20% |
5 |
4 |
0 |
|
0% |
2 |
0 |
|
14% |
| open_webui/routers/auths.py |
get_api_key |
|
20% |
5 |
4 |
0 |
|
0% |
2 |
0 |
|
14% |
| open_webui/routers/auths.py |
get_token_client_id |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/auths.py |
token_exchange |
|
7% |
59 |
55 |
0 |
|
3% |
36 |
1 |
|
5% |
| open_webui/routers/auths.py |
(no function) |
|
100% |
202 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/automations.py |
check_automations_permission |
|
60% |
5 |
2 |
0 |
|
50% |
4 |
2 |
|
56% |
| open_webui/routers/automations.py |
check_automation_access |
|
100% |
2 |
0 |
0 |
|
50% |
2 |
1 |
|
75% |
| open_webui/routers/automations.py |
check_automation_limits |
|
0% |
15 |
15 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/routers/automations.py |
check_automation_folder_access |
|
100% |
5 |
0 |
0 |
|
75% |
4 |
1 |
|
89% |
| open_webui/routers/automations.py |
check_automation_channel_access |
|
29% |
17 |
12 |
0 |
|
21% |
14 |
1 |
|
26% |
| open_webui/routers/automations.py |
enrich_automation |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/automations.py |
get_automation_items |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/automations.py |
create_new_automation |
|
54% |
13 |
6 |
0 |
|
100% |
0 |
0 |
|
54% |
| open_webui/routers/automations.py |
get_automation_by_id |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/routers/automations.py |
update_automation_by_id |
|
20% |
15 |
12 |
0 |
|
100% |
0 |
0 |
|
20% |
| open_webui/routers/automations.py |
toggle_automation_by_id |
|
43% |
7 |
4 |
0 |
|
100% |
0 |
0 |
|
43% |
| open_webui/routers/automations.py |
run_automation_by_id |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/routers/automations.py |
delete_automation_by_id |
|
38% |
8 |
5 |
0 |
|
0% |
2 |
0 |
|
30% |
| open_webui/routers/automations.py |
get_automation_runs |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| open_webui/routers/automations.py |
(no function) |
|
100% |
41 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/calendar.py |
check_calendar_permission |
|
60% |
5 |
2 |
0 |
|
50% |
4 |
2 |
|
56% |
| open_webui/routers/calendar.py |
_user_has_automations |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| open_webui/routers/calendar.py |
_check_calendar_access |
|
50% |
10 |
5 |
0 |
|
50% |
6 |
1 |
|
50% |
| open_webui/routers/calendar.py |
get_calendars |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| open_webui/routers/calendar.py |
create_calendar |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/calendar.py |
get_events |
|
15% |
40 |
34 |
0 |
|
0% |
16 |
0 |
|
11% |
| open_webui/routers/calendar.py |
create_event |
|
25% |
8 |
6 |
0 |
|
100% |
0 |
0 |
|
25% |
| open_webui/routers/calendar.py |
search_events |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/calendar.py |
get_event |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| open_webui/routers/calendar.py |
update_event |
|
27% |
15 |
11 |
0 |
|
17% |
6 |
1 |
|
24% |
| open_webui/routers/calendar.py |
delete_event |
|
40% |
10 |
6 |
0 |
|
25% |
4 |
1 |
|
36% |
| open_webui/routers/calendar.py |
rsvp_event |
|
38% |
8 |
5 |
0 |
|
25% |
4 |
1 |
|
33% |
| open_webui/routers/calendar.py |
get_calendar_by_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/calendar.py |
update_calendar |
|
82% |
11 |
2 |
0 |
|
67% |
6 |
2 |
|
76% |
| open_webui/routers/calendar.py |
delete_calendar |
|
77% |
13 |
3 |
0 |
|
62% |
8 |
3 |
|
71% |
| open_webui/routers/calendar.py |
set_default_calendar |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/calendar.py |
(no function) |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/channels.py |
channel_has_access |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/channels.py |
get_channel_users_with_access |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/channels.py |
get_channel_permitted_group_and_user_ids |
|
0% |
12 |
12 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/channels.py |
get_channel_member_user_ids |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/channels.py |
check_channels_access |
|
40% |
5 |
3 |
0 |
|
17% |
6 |
1 |
|
27% |
| open_webui/routers/channels.py |
get_channels |
|
6% |
16 |
15 |
0 |
|
0% |
4 |
0 |
|
5% |
| open_webui/routers/channels.py |
get_all_channels |
|
25% |
4 |
3 |
0 |
|
0% |
2 |
0 |
|
17% |
| open_webui/routers/channels.py |
get_dm_channel_by_user_id |
|
5% |
19 |
18 |
0 |
|
0% |
4 |
0 |
|
4% |
| open_webui/routers/channels.py |
create_new_channel |
|
4% |
25 |
24 |
0 |
|
0% |
8 |
0 |
|
3% |
| open_webui/routers/channels.py |
get_channel_by_id |
|
4% |
27 |
26 |
0 |
|
0% |
10 |
0 |
|
3% |
| open_webui/routers/channels.py |
serialize_channel_member |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/channels.py |
get_channel_members_by_id |
|
3% |
30 |
29 |
0 |
|
0% |
16 |
0 |
|
2% |
| open_webui/routers/channels.py |
update_is_active_member_by_id_and_user_id |
|
11% |
9 |
8 |
0 |
|
0% |
4 |
0 |
|
8% |
| open_webui/routers/channels.py |
add_members_by_id |
|
8% |
13 |
12 |
0 |
|
0% |
4 |
0 |
|
6% |
| open_webui/routers/channels.py |
remove_members_by_id |
|
8% |
13 |
12 |
0 |
|
0% |
4 |
0 |
|
6% |
| open_webui/routers/channels.py |
update_channel_by_id |
|
7% |
14 |
13 |
0 |
|
0% |
4 |
0 |
|
6% |
| open_webui/routers/channels.py |
delete_channel_by_id |
|
8% |
13 |
12 |
0 |
|
0% |
4 |
0 |
|
6% |
| open_webui/routers/channels.py |
MessageUserResponse.convert_data_to_bool |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/channels.py |
get_channel_messages |
|
4% |
26 |
25 |
0 |
|
0% |
14 |
0 |
|
2% |
| open_webui/routers/channels.py |
get_pinned_channel_messages |
|
3% |
29 |
28 |
0 |
|
0% |
16 |
0 |
|
2% |
| open_webui/routers/channels.py |
send_notification |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/channels.py |
model_response_handler |
|
0% |
56 |
56 |
0 |
|
0% |
30 |
0 |
|
0% |
| open_webui/routers/channels.py |
new_message_handler |
|
0% |
33 |
33 |
0 |
|
0% |
26 |
0 |
|
0% |
| open_webui/routers/channels.py |
post_new_message |
|
5% |
19 |
18 |
0 |
|
0% |
4 |
0 |
|
4% |
| open_webui/routers/channels.py |
post_new_message.background_handler |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/channels.py |
get_channel_message |
|
6% |
16 |
15 |
0 |
|
0% |
12 |
0 |
|
4% |
| open_webui/routers/channels.py |
get_channel_message_data |
|
7% |
15 |
14 |
0 |
|
0% |
12 |
0 |
|
4% |
| open_webui/routers/channels.py |
pin_channel_message |
|
4% |
25 |
24 |
0 |
|
0% |
12 |
0 |
|
3% |
| open_webui/routers/channels.py |
get_channel_thread_messages |
|
4% |
23 |
22 |
0 |
|
0% |
14 |
0 |
|
3% |
| open_webui/routers/channels.py |
update_message_by_id |
|
4% |
28 |
27 |
0 |
|
0% |
18 |
0 |
|
2% |
| open_webui/routers/channels.py |
add_reaction_to_message |
|
4% |
23 |
22 |
0 |
|
0% |
12 |
0 |
|
3% |
| open_webui/routers/channels.py |
remove_reaction_by_id_and_user_id_and_name |
|
4% |
23 |
22 |
0 |
|
0% |
12 |
0 |
|
3% |
| open_webui/routers/channels.py |
delete_message_by_id |
|
3% |
30 |
29 |
0 |
|
0% |
20 |
0 |
|
2% |
| open_webui/routers/channels.py |
get_webhook_profile_image |
|
4% |
26 |
25 |
0 |
|
0% |
18 |
0 |
|
2% |
| open_webui/routers/channels.py |
get_channel_webhooks |
|
14% |
7 |
6 |
0 |
|
0% |
4 |
0 |
|
9% |
| open_webui/routers/channels.py |
create_channel_webhook |
|
9% |
11 |
10 |
0 |
|
0% |
6 |
0 |
|
6% |
| open_webui/routers/channels.py |
update_channel_webhook |
|
7% |
14 |
13 |
0 |
|
0% |
8 |
0 |
|
5% |
| open_webui/routers/channels.py |
delete_channel_webhook |
|
31% |
13 |
9 |
0 |
|
12% |
8 |
3 |
|
24% |
| open_webui/routers/channels.py |
post_webhook_message |
|
6% |
16 |
15 |
0 |
|
0% |
6 |
0 |
|
5% |
| open_webui/routers/channels.py |
(no function) |
|
100% |
135 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
overlay_response_streams |
|
10% |
20 |
18 |
0 |
|
7% |
14 |
1 |
|
9% |
| open_webui/routers/chats.py |
get_optional_verified_user |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| open_webui/routers/chats.py |
is_open_shared_chat |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
can_read_shared_chat |
|
43% |
7 |
4 |
0 |
|
33% |
6 |
2 |
|
38% |
| open_webui/routers/chats.py |
add_active_state_to_chat_list |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| open_webui/routers/chats.py |
get_folder_unread_counts |
|
46% |
13 |
7 |
0 |
|
17% |
6 |
1 |
|
37% |
| open_webui/routers/chats.py |
chat_search_content_text |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
chat_search_snippet |
|
81% |
27 |
5 |
0 |
|
78% |
18 |
4 |
|
80% |
| open_webui/routers/chats.py |
get_chat_config_values |
|
67% |
9 |
3 |
0 |
|
50% |
6 |
3 |
|
60% |
| open_webui/routers/chats.py |
chat_config_updates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
require_chat_import_permission |
|
50% |
2 |
1 |
0 |
|
50% |
2 |
1 |
|
50% |
| open_webui/routers/chats.py |
get_session_user_chat_list |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/chats.py |
mark_chats_read_by_user_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_session_user_chat_usage_stats |
|
78% |
54 |
12 |
0 |
|
62% |
26 |
6 |
|
72% |
| open_webui/routers/chats.py |
_process_chat_for_export |
|
68% |
57 |
18 |
0 |
|
50% |
24 |
6 |
|
63% |
| open_webui/routers/chats.py |
_process_chat_for_export.get_message_content_length |
|
50% |
6 |
3 |
0 |
|
25% |
4 |
1 |
|
40% |
| open_webui/routers/chats.py |
calculate_chat_stats |
|
89% |
9 |
1 |
0 |
|
67% |
6 |
2 |
|
80% |
| open_webui/routers/chats.py |
generate_chat_stats_jsonl_generator |
|
86% |
14 |
2 |
0 |
|
83% |
6 |
1 |
|
85% |
| open_webui/routers/chats.py |
export_chat_stats |
|
93% |
15 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| open_webui/routers/chats.py |
export_single_chat_stats |
|
65% |
17 |
6 |
0 |
|
62% |
8 |
3 |
|
64% |
| open_webui/routers/chats.py |
delete_all_user_chats |
|
83% |
6 |
1 |
0 |
|
50% |
4 |
2 |
|
70% |
| open_webui/routers/chats.py |
get_user_chat_list_by_user_id |
|
93% |
14 |
1 |
0 |
|
88% |
8 |
1 |
|
91% |
| open_webui/routers/chats.py |
create_new_chat |
|
67% |
9 |
3 |
0 |
|
100% |
2 |
0 |
|
73% |
| open_webui/routers/chats.py |
import_chats |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_chat_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
set_chat_config |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
search_user_chats |
|
69% |
16 |
5 |
0 |
|
50% |
10 |
1 |
|
62% |
| open_webui/routers/chats.py |
get_chats_by_folder_id |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/routers/chats.py |
get_chat_list_by_folder_id |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_user_pinned_chats |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
generate_chat_export_ndjson |
|
77% |
13 |
3 |
0 |
|
83% |
6 |
1 |
|
79% |
| open_webui/routers/chats.py |
get_user_chats |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_user_archived_chats |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_all_user_tags |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| open_webui/routers/chats.py |
get_all_user_chats_in_db |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/routers/chats.py |
get_archived_session_user_chat_list |
|
100% |
13 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_archived_session_user_chat_count |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/chats.py |
archive_all_chats |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| open_webui/routers/chats.py |
unarchive_all_chats |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| open_webui/routers/chats.py |
unshare_all_chats |
|
78% |
9 |
2 |
0 |
|
50% |
4 |
2 |
|
69% |
| open_webui/routers/chats.py |
get_shared_session_user_chat_list |
|
100% |
12 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_shared_chat_by_id |
|
92% |
13 |
1 |
0 |
|
80% |
10 |
2 |
|
87% |
| open_webui/routers/chats.py |
get_user_chat_list_by_tag_name |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/chats.py |
compact_chat_by_id |
|
91% |
22 |
2 |
0 |
|
75% |
12 |
3 |
|
85% |
| open_webui/routers/chats.py |
get_chat_by_id |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/chats.py |
update_chat_by_id |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/routers/chats.py |
update_chat_message_by_id |
|
100% |
11 |
0 |
0 |
|
67% |
6 |
2 |
|
88% |
| open_webui/routers/chats.py |
delete_chat_message_by_id |
|
80% |
10 |
2 |
0 |
|
67% |
6 |
2 |
|
75% |
| open_webui/routers/chats.py |
send_chat_message_event_by_id |
|
71% |
14 |
4 |
0 |
|
67% |
6 |
2 |
|
70% |
| open_webui/routers/chats.py |
delete_chat_by_id |
|
67% |
18 |
6 |
0 |
|
50% |
12 |
4 |
|
60% |
| open_webui/routers/chats.py |
get_pinned_status_by_id |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/chats.py |
pin_chat_by_id |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/chats.py |
fork_chat_by_id |
|
79% |
39 |
8 |
0 |
|
65% |
20 |
5 |
|
75% |
| open_webui/routers/chats.py |
clone_chat_by_id |
|
91% |
11 |
1 |
0 |
|
75% |
4 |
1 |
|
87% |
| open_webui/routers/chats.py |
clone_shared_chat_by_id |
|
76% |
17 |
4 |
0 |
|
50% |
10 |
3 |
|
67% |
| open_webui/routers/chats.py |
archive_chat_by_id |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/chats.py |
share_chat_by_id |
|
84% |
19 |
3 |
0 |
|
67% |
12 |
4 |
|
77% |
| open_webui/routers/chats.py |
delete_shared_chat_by_id |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/chats.py |
update_shared_chat_access_by_id |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| open_webui/routers/chats.py |
get_shared_chat_access_by_id |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| open_webui/routers/chats.py |
mark_chat_unread_by_id |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/chats.py |
update_chat_folder_id_by_id |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/chats.py |
get_chat_tags_by_id |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/chats.py |
add_tag_by_id_and_tag_name |
|
92% |
13 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| open_webui/routers/chats.py |
delete_tag_by_id_and_tag_name |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/chats.py |
(no function) |
|
100% |
180 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
get_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
config_updates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
import_config |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/configs.py |
export_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
get_config_namespace |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
get_connections_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_connections_config |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
register_oauth_client |
|
92% |
12 |
1 |
0 |
|
100% |
4 |
0 |
|
94% |
| open_webui/routers/configs.py |
get_tool_servers_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_tool_servers_config |
|
43% |
30 |
17 |
0 |
|
60% |
10 |
2 |
|
48% |
| open_webui/routers/configs.py |
get_terminal_servers_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_terminal_servers_config |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
verify_terminal_server_connection |
|
74% |
23 |
6 |
0 |
|
50% |
8 |
0 |
|
68% |
| open_webui/routers/configs.py |
put_terminal_server_policy |
|
74% |
19 |
5 |
0 |
|
67% |
6 |
0 |
|
72% |
| open_webui/routers/configs.py |
put_terminal_server_lifecycle |
|
74% |
19 |
5 |
0 |
|
67% |
6 |
0 |
|
72% |
| open_webui/routers/configs.py |
refresh_terminal_server_terminals |
|
79% |
24 |
5 |
0 |
|
80% |
10 |
0 |
|
79% |
| open_webui/routers/configs.py |
verify_tool_servers_config |
|
25% |
77 |
58 |
0 |
|
20% |
40 |
6 |
|
23% |
| open_webui/routers/configs.py |
get_code_execution_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_code_execution_config |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
get_models_defaults |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
get_models_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_models_config |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
get_subagents_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_subagents_config |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_default_suggestions |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
set_banners |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
get_banners |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/configs.py |
(no function) |
|
100% |
174 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
get_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
_get_embedding_model |
|
67% |
9 |
3 |
0 |
|
75% |
4 |
1 |
|
69% |
| open_webui/routers/evaluations.py |
_calculate_elo |
|
43% |
23 |
13 |
0 |
|
38% |
8 |
1 |
|
42% |
| open_webui/routers/evaluations.py |
_calculate_elo.get_or_create_stats |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/evaluations.py |
_get_top_tags |
|
89% |
9 |
1 |
0 |
|
83% |
6 |
1 |
|
87% |
| open_webui/routers/evaluations.py |
_compute_similarities |
|
32% |
19 |
13 |
0 |
|
50% |
4 |
2 |
|
35% |
| open_webui/routers/evaluations.py |
get_leaderboard |
|
64% |
14 |
5 |
0 |
|
75% |
4 |
1 |
|
67% |
| open_webui/routers/evaluations.py |
get_model_history |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
get_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
update_config |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
get_feedback_model_ids |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
get_all_feedback_ids |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
delete_all_feedbacks |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/evaluations.py |
export_all_feedbacks |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
get_user_feedbacks |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
delete_feedbacks |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
get_feedbacks |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/routers/evaluations.py |
create_feedback |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/routers/evaluations.py |
get_feedback_by_id |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| open_webui/routers/evaluations.py |
update_feedback_by_id |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| open_webui/routers/evaluations.py |
delete_feedback_by_id |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| open_webui/routers/evaluations.py |
(no function) |
|
100% |
70 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/files.py |
_is_text_file |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/files.py |
_cleanup_local_cache |
|
20% |
10 |
8 |
0 |
|
25% |
4 |
1 |
|
21% |
| open_webui/routers/files.py |
_matches_configured_mime_type |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/files.py |
_media_supported_for_extraction |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/files.py |
process_uploaded_file |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| open_webui/routers/files.py |
process_uploaded_file._process_handler |
|
40% |
45 |
27 |
0 |
|
18% |
22 |
6 |
|
33% |
| open_webui/routers/files.py |
upload_file |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/files.py |
upload_file_handler |
|
72% |
58 |
16 |
0 |
|
60% |
20 |
4 |
|
69% |
| open_webui/routers/files.py |
list_files |
|
100% |
8 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| open_webui/routers/files.py |
search_files |
|
100% |
9 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| open_webui/routers/files.py |
count_files |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/files.py |
delete_all_files |
|
58% |
12 |
5 |
0 |
|
50% |
2 |
1 |
|
57% |
| open_webui/routers/files.py |
get_file_by_id |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| open_webui/routers/files.py |
get_file_process_status |
|
90% |
10 |
1 |
0 |
|
83% |
6 |
1 |
|
88% |
| open_webui/routers/files.py |
get_file_process_status.event_stream |
|
75% |
16 |
4 |
0 |
|
50% |
10 |
5 |
|
65% |
| open_webui/routers/files.py |
get_file_data_content_by_id |
|
83% |
6 |
1 |
0 |
|
25% |
4 |
1 |
|
60% |
| open_webui/routers/files.py |
update_file_data_content_by_id |
|
62% |
26 |
10 |
0 |
|
60% |
10 |
2 |
|
61% |
| open_webui/routers/files.py |
get_file_content_by_id |
|
10% |
30 |
27 |
0 |
|
8% |
12 |
1 |
|
10% |
| open_webui/routers/files.py |
get_html_file_content_by_id |
|
14% |
21 |
18 |
0 |
|
12% |
8 |
1 |
|
14% |
| open_webui/routers/files.py |
get_file_content_by_id |
|
65% |
20 |
7 |
0 |
|
62% |
8 |
3 |
|
64% |
| open_webui/routers/files.py |
rename_file_by_id |
|
80% |
10 |
2 |
0 |
|
67% |
6 |
2 |
|
75% |
| open_webui/routers/files.py |
delete_file_by_id |
|
42% |
26 |
15 |
0 |
|
20% |
10 |
2 |
|
36% |
| open_webui/routers/files.py |
(no function) |
|
100% |
74 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/folders.py |
get_folder_unread_counts |
|
46% |
13 |
7 |
0 |
|
17% |
6 |
1 |
|
37% |
| open_webui/routers/folders.py |
check_folders_permission |
|
60% |
5 |
2 |
0 |
|
50% |
4 |
2 |
|
56% |
| open_webui/routers/folders.py |
get_folders |
|
75% |
20 |
5 |
0 |
|
60% |
10 |
2 |
|
70% |
| open_webui/routers/folders.py |
get_folders.is_in_parent_cycle |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/folders.py |
create_folder |
|
38% |
32 |
20 |
0 |
|
38% |
16 |
2 |
|
38% |
| open_webui/routers/folders.py |
get_shared_folders |
|
71% |
17 |
5 |
0 |
|
17% |
6 |
1 |
|
57% |
| open_webui/routers/folders.py |
get_folder_by_id |
|
80% |
10 |
2 |
0 |
|
75% |
4 |
1 |
|
79% |
| open_webui/routers/folders.py |
update_folder_name_by_id |
|
80% |
25 |
5 |
0 |
|
56% |
16 |
3 |
|
71% |
| open_webui/routers/folders.py |
update_folder_parent_id_by_id |
|
71% |
17 |
5 |
0 |
|
83% |
6 |
1 |
|
74% |
| open_webui/routers/folders.py |
update_folder_is_expanded_by_id |
|
67% |
15 |
5 |
0 |
|
83% |
6 |
1 |
|
71% |
| open_webui/routers/folders.py |
update_folder_access_by_id |
|
83% |
12 |
2 |
0 |
|
50% |
6 |
1 |
|
72% |
| open_webui/routers/folders.py |
get_shared_folder_chats |
|
63% |
30 |
11 |
0 |
|
43% |
14 |
2 |
|
57% |
| open_webui/routers/folders.py |
mark_folder_chats_read_by_id |
|
91% |
11 |
1 |
0 |
|
75% |
4 |
1 |
|
87% |
| open_webui/routers/folders.py |
delete_folder_by_id |
|
17% |
36 |
30 |
0 |
|
11% |
18 |
2 |
|
15% |
| open_webui/routers/folders.py |
(no function) |
|
100% |
64 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/functions.py |
get_functions |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/routers/functions.py |
get_function_list |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/routers/functions.py |
get_functions |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/routers/functions.py |
github_url_to_raw_url |
|
56% |
9 |
4 |
0 |
|
50% |
4 |
2 |
|
54% |
| open_webui/routers/functions.py |
load_function_from_url |
|
85% |
20 |
3 |
0 |
|
50% |
6 |
3 |
|
77% |
| open_webui/routers/functions.py |
sync_functions |
|
53% |
15 |
7 |
0 |
|
50% |
4 |
0 |
|
53% |
| open_webui/routers/functions.py |
create_new_function |
|
46% |
26 |
14 |
0 |
|
38% |
8 |
1 |
|
44% |
| open_webui/routers/functions.py |
get_function_by_id |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/functions.py |
toggle_function_by_id |
|
27% |
11 |
8 |
0 |
|
25% |
4 |
1 |
|
27% |
| open_webui/routers/functions.py |
toggle_global_by_id |
|
38% |
8 |
5 |
0 |
|
25% |
4 |
1 |
|
33% |
| open_webui/routers/functions.py |
update_function_by_id |
|
32% |
19 |
13 |
0 |
|
0% |
4 |
0 |
|
26% |
| open_webui/routers/functions.py |
delete_function_by_id |
|
100% |
8 |
0 |
0 |
|
50% |
2 |
1 |
|
90% |
| open_webui/routers/functions.py |
get_function_valves_by_id |
|
38% |
8 |
5 |
0 |
|
50% |
2 |
1 |
|
40% |
| open_webui/routers/functions.py |
get_function_valves_spec_by_id |
|
30% |
10 |
7 |
0 |
|
25% |
4 |
1 |
|
29% |
| open_webui/routers/functions.py |
update_function_valves_by_id |
|
18% |
17 |
14 |
0 |
|
25% |
4 |
1 |
|
19% |
| open_webui/routers/functions.py |
get_function_user_valves_by_id |
|
38% |
8 |
5 |
0 |
|
50% |
2 |
1 |
|
40% |
| open_webui/routers/functions.py |
get_function_user_valves_spec_by_id |
|
25% |
12 |
9 |
0 |
|
17% |
6 |
1 |
|
22% |
| open_webui/routers/functions.py |
update_function_user_valves_by_id |
|
16% |
19 |
16 |
0 |
|
17% |
6 |
1 |
|
16% |
| open_webui/routers/functions.py |
(no function) |
|
100% |
59 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/groups.py |
get_groups |
|
57% |
7 |
3 |
0 |
|
25% |
4 |
1 |
|
45% |
| open_webui/routers/groups.py |
create_new_group |
|
45% |
11 |
6 |
0 |
|
50% |
2 |
1 |
|
46% |
| open_webui/routers/groups.py |
get_group_by_id |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/groups.py |
get_group_info_by_id |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/groups.py |
export_group_by_id |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/groups.py |
get_users_in_group |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/routers/groups.py |
update_group_by_id |
|
73% |
11 |
3 |
0 |
|
100% |
2 |
0 |
|
77% |
| open_webui/routers/groups.py |
add_user_to_group |
|
77% |
13 |
3 |
0 |
|
100% |
4 |
0 |
|
82% |
| open_webui/routers/groups.py |
remove_users_from_group |
|
73% |
11 |
3 |
0 |
|
100% |
2 |
0 |
|
77% |
| open_webui/routers/groups.py |
delete_group_by_id |
|
45% |
11 |
6 |
0 |
|
50% |
2 |
1 |
|
46% |
| open_webui/routers/groups.py |
preview_group_access |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/groups.py |
(no function) |
|
100% |
44 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/images.py |
get_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/images.py |
get_image_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/images.py |
config_updates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/images.py |
normalize_openai_edit_image_data_url |
|
4% |
24 |
23 |
0 |
|
0% |
8 |
0 |
|
3% |
| open_webui/routers/images.py |
get_image_file_item |
|
40% |
5 |
3 |
0 |
|
100% |
0 |
0 |
|
40% |
| open_webui/routers/images.py |
set_image_model |
|
38% |
16 |
10 |
0 |
|
25% |
4 |
1 |
|
35% |
| open_webui/routers/images.py |
get_image_model |
|
44% |
16 |
9 |
0 |
|
62% |
8 |
3 |
|
50% |
| open_webui/routers/images.py |
get_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/images.py |
update_config |
|
93% |
15 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| open_webui/routers/images.py |
get_automatic1111_api_auth |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/images.py |
verify_connection |
|
28% |
18 |
13 |
0 |
|
25% |
8 |
2 |
|
27% |
| open_webui/routers/images.py |
get_models |
|
19% |
36 |
29 |
0 |
|
23% |
22 |
3 |
|
21% |
| open_webui/routers/images.py |
_is_same_origin |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/images.py |
_is_same_origin._default_port |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/images.py |
get_image_data |
|
4% |
23 |
22 |
0 |
|
0% |
8 |
0 |
|
3% |
| open_webui/routers/images.py |
upload_image |
|
8% |
12 |
11 |
0 |
|
0% |
6 |
2 |
|
6% |
| open_webui/routers/images.py |
generate_images |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| open_webui/routers/images.py |
image_generations |
|
26% |
100 |
74 |
0 |
|
20% |
56 |
7 |
|
24% |
| open_webui/routers/images.py |
edit_images |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| open_webui/routers/images.py |
image_edits |
|
22% |
118 |
92 |
0 |
|
14% |
64 |
7 |
|
19% |
| open_webui/routers/images.py |
image_edits.load_url_image |
|
24% |
25 |
19 |
0 |
|
30% |
10 |
3 |
|
26% |
| open_webui/routers/images.py |
(no function) |
|
100% |
119 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/knowledge.py |
delete_file_resource |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
embed_knowledge_base_metadata |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/knowledge.py |
remove_knowledge_base_metadata_embedding |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
is_external_knowledge |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
external_knowledge_error |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
_verify_directory_in_knowledge |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
get_knowledge_bases |
|
79% |
14 |
3 |
0 |
|
25% |
4 |
1 |
|
67% |
| open_webui/routers/knowledge.py |
search_knowledge_bases |
|
75% |
24 |
6 |
0 |
|
57% |
14 |
4 |
|
68% |
| open_webui/routers/knowledge.py |
search_knowledge_files |
|
92% |
13 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| open_webui/routers/knowledge.py |
create_new_knowledge |
|
78% |
9 |
2 |
0 |
|
50% |
4 |
2 |
|
69% |
| open_webui/routers/knowledge.py |
reindex_knowledge_files |
|
39% |
44 |
27 |
0 |
|
38% |
16 |
4 |
|
38% |
| open_webui/routers/knowledge.py |
reindex_knowledge_base_metadata_embeddings |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/knowledge.py |
_get_external_connection_provider_and_config |
|
25% |
12 |
9 |
0 |
|
12% |
8 |
1 |
|
20% |
| open_webui/routers/knowledge.py |
_get_external_auth_config |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
_get_normalized_external_source |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
_get_sanitized_external_connection |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
_get_external_connections |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/knowledge.py |
_set_external_connections |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
_get_external_connection_from_form |
|
33% |
3 |
2 |
0 |
|
100% |
0 |
0 |
|
33% |
| open_webui/routers/knowledge.py |
_get_external_connection_update_from_form |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
_get_external_connection_by_id |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/knowledge.py |
_get_knowledge_base_count_for_external_connection |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
get_external_knowledge_connections |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/knowledge.py |
create_external_knowledge_connection |
|
29% |
7 |
5 |
0 |
|
100% |
0 |
0 |
|
29% |
| open_webui/routers/knowledge.py |
get_external_knowledge_connection |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/knowledge.py |
update_external_knowledge_connection |
|
40% |
10 |
6 |
0 |
|
50% |
2 |
1 |
|
42% |
| open_webui/routers/knowledge.py |
delete_external_knowledge_connection |
|
33% |
9 |
6 |
0 |
|
25% |
4 |
1 |
|
31% |
| open_webui/routers/knowledge.py |
test_external_knowledge_connection |
|
25% |
12 |
9 |
0 |
|
17% |
6 |
1 |
|
22% |
| open_webui/routers/knowledge.py |
_get_external_source_test_result |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
test_external_knowledge_source |
|
71% |
7 |
2 |
0 |
|
75% |
4 |
1 |
|
73% |
| open_webui/routers/knowledge.py |
test_external_knowledge_retrieval |
|
60% |
5 |
2 |
0 |
|
50% |
2 |
1 |
|
57% |
| open_webui/routers/knowledge.py |
create_external_knowledge |
|
21% |
14 |
11 |
0 |
|
17% |
6 |
1 |
|
20% |
| open_webui/routers/knowledge.py |
create_external_knowledge_source |
|
20% |
20 |
16 |
0 |
|
33% |
6 |
0 |
|
23% |
| open_webui/routers/knowledge.py |
update_external_knowledge_source |
|
19% |
32 |
26 |
0 |
|
8% |
12 |
1 |
|
16% |
| open_webui/routers/knowledge.py |
get_knowledge_by_id |
|
50% |
6 |
3 |
0 |
|
25% |
4 |
1 |
|
40% |
| open_webui/routers/knowledge.py |
update_knowledge_by_id |
|
23% |
13 |
10 |
0 |
|
17% |
6 |
1 |
|
21% |
| open_webui/routers/knowledge.py |
update_knowledge_access_by_id |
|
40% |
10 |
6 |
0 |
|
25% |
4 |
1 |
|
36% |
| open_webui/routers/knowledge.py |
get_pending_knowledge_files |
|
33% |
9 |
6 |
0 |
|
17% |
6 |
1 |
|
27% |
| open_webui/routers/knowledge.py |
get_pending_knowledge_files.event_stream |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/knowledge.py |
get_knowledge_files_by_id |
|
12% |
24 |
21 |
0 |
|
6% |
18 |
1 |
|
10% |
| open_webui/routers/knowledge.py |
add_file_to_knowledge_by_id |
|
11% |
27 |
24 |
0 |
|
6% |
16 |
1 |
|
9% |
| open_webui/routers/knowledge.py |
update_file_from_knowledge_by_id |
|
14% |
22 |
19 |
0 |
|
8% |
12 |
1 |
|
12% |
| open_webui/routers/knowledge.py |
remove_file_from_knowledge_by_id |
|
18% |
28 |
23 |
0 |
|
6% |
16 |
3 |
|
14% |
| open_webui/routers/knowledge.py |
delete_knowledge_by_id |
|
9% |
32 |
29 |
0 |
|
6% |
16 |
1 |
|
8% |
| open_webui/routers/knowledge.py |
reset_knowledge_by_id |
|
15% |
20 |
17 |
0 |
|
8% |
12 |
1 |
|
12% |
| open_webui/routers/knowledge.py |
sync_knowledge_diff |
|
2% |
48 |
47 |
0 |
|
0% |
24 |
0 |
|
1% |
| open_webui/routers/knowledge.py |
sync_knowledge_cleanup |
|
4% |
23 |
22 |
0 |
|
0% |
14 |
0 |
|
3% |
| open_webui/routers/knowledge.py |
add_files_to_knowledge_batch |
|
7% |
41 |
38 |
0 |
|
4% |
26 |
1 |
|
6% |
| open_webui/routers/knowledge.py |
export_knowledge_by_id |
|
16% |
19 |
16 |
0 |
|
10% |
10 |
1 |
|
14% |
| open_webui/routers/knowledge.py |
_verify_knowledge_write_access |
|
38% |
8 |
5 |
0 |
|
17% |
6 |
1 |
|
29% |
| open_webui/routers/knowledge.py |
create_knowledge_directory |
|
14% |
7 |
6 |
0 |
|
0% |
2 |
0 |
|
11% |
| open_webui/routers/knowledge.py |
update_knowledge_directory |
|
11% |
9 |
8 |
0 |
|
0% |
4 |
0 |
|
8% |
| open_webui/routers/knowledge.py |
delete_knowledge_directory |
|
6% |
18 |
17 |
0 |
|
0% |
8 |
0 |
|
4% |
| open_webui/routers/knowledge.py |
move_file_in_knowledge |
|
11% |
9 |
8 |
0 |
|
0% |
4 |
0 |
|
8% |
| open_webui/routers/knowledge.py |
(no function) |
|
100% |
206 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/memories.py |
check_memories_permission |
|
60% |
5 |
2 |
0 |
|
50% |
4 |
2 |
|
56% |
| open_webui/routers/memories.py |
get_memories |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/memories.py |
_memory_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/memories.py |
reindex_memory_vectors_for_user |
|
83% |
12 |
2 |
0 |
|
100% |
2 |
0 |
|
86% |
| open_webui/routers/memories.py |
upsert_memory_vectors_or_reindex |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/memories.py |
add_memory |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| open_webui/routers/memories.py |
update_memories |
|
81% |
42 |
8 |
0 |
|
71% |
24 |
7 |
|
77% |
| open_webui/routers/memories.py |
query_memory |
|
21% |
24 |
19 |
0 |
|
14% |
14 |
0 |
|
18% |
| open_webui/routers/memories.py |
search_memories |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/memories.py |
list_memory_paths |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/memories.py |
read_memory_path |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/memories.py |
reindex_memories_from_vector_db |
|
83% |
12 |
2 |
0 |
|
75% |
4 |
1 |
|
81% |
| open_webui/routers/memories.py |
reset_memory_from_vector_db |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/memories.py |
delete_memory_by_user_id |
|
90% |
10 |
1 |
0 |
|
50% |
2 |
1 |
|
83% |
| open_webui/routers/memories.py |
update_memory_by_id |
|
92% |
13 |
1 |
0 |
|
100% |
6 |
0 |
|
95% |
| open_webui/routers/memories.py |
delete_memory_by_id |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/memories.py |
(no function) |
|
100% |
83 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/models.py |
add_chat_variables_schema |
|
86% |
7 |
1 |
0 |
|
50% |
4 |
2 |
|
73% |
| open_webui/routers/models.py |
_safe_static_redirect_path |
|
0% |
22 |
22 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/routers/models.py |
is_valid_model_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/models.py |
_verify_background_image |
|
12% |
16 |
14 |
0 |
|
12% |
8 |
1 |
|
12% |
| open_webui/routers/models.py |
_verify_knowledge_file_access |
|
18% |
11 |
9 |
0 |
|
10% |
10 |
1 |
|
14% |
| open_webui/routers/models.py |
get_models |
|
88% |
33 |
4 |
0 |
|
75% |
20 |
3 |
|
83% |
| open_webui/routers/models.py |
get_all_model_records |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/models.py |
get_base_model_tags |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/models.py |
get_base_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/models.py |
get_model_tags |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/models.py |
create_new_model |
|
50% |
28 |
14 |
0 |
|
32% |
22 |
5 |
|
42% |
| open_webui/routers/models.py |
export_models |
|
50% |
28 |
14 |
0 |
|
57% |
14 |
4 |
|
52% |
| open_webui/routers/models.py |
import_models |
|
16% |
100 |
84 |
0 |
|
13% |
46 |
4 |
|
15% |
| open_webui/routers/models.py |
sync_models |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/models.py |
get_model_by_id |
|
27% |
11 |
8 |
0 |
|
17% |
6 |
1 |
|
24% |
| open_webui/routers/models.py |
get_model_profile_image |
|
38% |
39 |
24 |
0 |
|
31% |
26 |
4 |
|
35% |
| open_webui/routers/models.py |
toggle_model_by_id |
|
30% |
10 |
7 |
0 |
|
17% |
6 |
1 |
|
25% |
| open_webui/routers/models.py |
update_model_by_id |
|
89% |
27 |
3 |
0 |
|
78% |
18 |
4 |
|
84% |
| open_webui/routers/models.py |
update_model_access_by_id |
|
80% |
15 |
3 |
0 |
|
62% |
8 |
3 |
|
74% |
| open_webui/routers/models.py |
delete_model_by_id |
|
89% |
9 |
1 |
0 |
|
67% |
6 |
2 |
|
80% |
| open_webui/routers/models.py |
delete_all_models |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| open_webui/routers/models.py |
(no function) |
|
100% |
81 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/notes.py |
_truncate_note_data |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/notes.py |
get_notes |
|
93% |
14 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| open_webui/routers/notes.py |
get_pinned_notes |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| open_webui/routers/notes.py |
search_notes |
|
83% |
29 |
5 |
0 |
|
75% |
20 |
3 |
|
80% |
| open_webui/routers/notes.py |
create_new_note |
|
60% |
10 |
4 |
0 |
|
50% |
2 |
1 |
|
58% |
| open_webui/routers/notes.py |
get_note_by_id |
|
80% |
10 |
2 |
0 |
|
67% |
6 |
2 |
|
75% |
| open_webui/routers/notes.py |
get_note_chat_by_id |
|
66% |
32 |
11 |
0 |
|
56% |
18 |
6 |
|
62% |
| open_webui/routers/notes.py |
get_note_chats_by_id |
|
70% |
23 |
7 |
0 |
|
64% |
14 |
5 |
|
68% |
| open_webui/routers/notes.py |
create_note_chat_by_id |
|
71% |
14 |
4 |
0 |
|
62% |
8 |
3 |
|
68% |
| open_webui/routers/notes.py |
update_note_by_id |
|
77% |
22 |
5 |
0 |
|
80% |
10 |
2 |
|
78% |
| open_webui/routers/notes.py |
update_note_access_by_id |
|
86% |
14 |
2 |
0 |
|
67% |
6 |
2 |
|
80% |
| open_webui/routers/notes.py |
pin_note_by_id |
|
83% |
12 |
2 |
0 |
|
67% |
6 |
2 |
|
78% |
| open_webui/routers/notes.py |
delete_note_by_id |
|
64% |
14 |
5 |
0 |
|
67% |
6 |
2 |
|
65% |
| open_webui/routers/notes.py |
(no function) |
|
100% |
58 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/notifications.py |
_check_notifications_access |
|
50% |
4 |
2 |
0 |
|
25% |
4 |
1 |
|
38% |
| open_webui/routers/notifications.py |
get_notification_events |
|
50% |
2 |
1 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/routers/notifications.py |
get_notification_targets |
|
50% |
2 |
1 |
0 |
|
100% |
0 |
0 |
|
50% |
| open_webui/routers/notifications.py |
create_notification_target |
|
20% |
5 |
4 |
0 |
|
100% |
0 |
0 |
|
20% |
| open_webui/routers/notifications.py |
update_notification_target |
|
20% |
5 |
4 |
0 |
|
100% |
0 |
0 |
|
20% |
| open_webui/routers/notifications.py |
delete_notification_target |
|
25% |
4 |
3 |
0 |
|
0% |
2 |
0 |
|
17% |
| open_webui/routers/notifications.py |
set_default_notification_target |
|
20% |
5 |
4 |
0 |
|
100% |
0 |
0 |
|
20% |
| open_webui/routers/notifications.py |
test_notification_target |
|
17% |
6 |
5 |
0 |
|
100% |
0 |
0 |
|
17% |
| open_webui/routers/notifications.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/ollama.py |
_clean_proxy_headers |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/ollama.py |
send_get_request |
|
75% |
12 |
3 |
0 |
|
50% |
4 |
2 |
|
69% |
| open_webui/routers/ollama.py |
send_request |
|
39% |
41 |
25 |
0 |
|
14% |
14 |
2 |
|
33% |
| open_webui/routers/ollama.py |
get_api_key |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/ollama.py |
get_ollama_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/ollama.py |
get_ollama_runtime_config |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/ollama.py |
get_ollama_connection |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/ollama.py |
get_status |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/ollama.py |
verify_connection |
|
52% |
21 |
10 |
0 |
|
38% |
8 |
1 |
|
48% |
| open_webui/routers/ollama.py |
get_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/ollama.py |
update_config |
|
87% |
15 |
2 |
0 |
|
50% |
4 |
2 |
|
79% |
| open_webui/routers/ollama.py |
merge_models_lists |
|
38% |
13 |
8 |
0 |
|
30% |
10 |
1 |
|
35% |
| open_webui/routers/ollama.py |
resolve_api_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/ollama.py |
get_ollama_connection_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/ollama.py |
get_all_models |
|
50% |
50 |
25 |
0 |
|
32% |
28 |
3 |
|
44% |
| open_webui/routers/ollama.py |
get_filtered_models |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/ollama.py |
get_ollama_tags |
|
25% |
12 |
9 |
0 |
|
25% |
8 |
2 |
|
25% |
| open_webui/routers/ollama.py |
get_ollama_loaded_models |
|
56% |
25 |
11 |
0 |
|
44% |
18 |
2 |
|
51% |
| open_webui/routers/ollama.py |
get_ollama_versions |
|
78% |
18 |
4 |
0 |
|
75% |
12 |
3 |
|
77% |
| open_webui/routers/ollama.py |
unload_model |
|
29% |
28 |
20 |
0 |
|
30% |
10 |
1 |
|
29% |
| open_webui/routers/ollama.py |
pull_model |
|
71% |
7 |
2 |
0 |
|
100% |
2 |
0 |
|
78% |
| open_webui/routers/ollama.py |
push_model |
|
64% |
11 |
4 |
0 |
|
67% |
6 |
2 |
|
65% |
| open_webui/routers/ollama.py |
create_model |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/ollama.py |
copy_model |
|
77% |
13 |
3 |
0 |
|
83% |
6 |
1 |
|
79% |
| open_webui/routers/ollama.py |
delete_model |
|
69% |
16 |
5 |
0 |
|
83% |
6 |
1 |
|
73% |
| open_webui/routers/ollama.py |
show_model_info |
|
71% |
14 |
4 |
0 |
|
75% |
4 |
1 |
|
72% |
| open_webui/routers/ollama.py |
embed |
|
71% |
21 |
6 |
0 |
|
75% |
8 |
2 |
|
72% |
| open_webui/routers/ollama.py |
embeddings |
|
71% |
21 |
6 |
0 |
|
75% |
8 |
2 |
|
72% |
| open_webui/routers/ollama.py |
generate_completion |
|
59% |
17 |
7 |
0 |
|
67% |
6 |
2 |
|
61% |
| open_webui/routers/ollama.py |
ChatMessage.check_at_least_one_field |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/ollama.py |
validate_ollama_backend_idx |
|
25% |
8 |
6 |
0 |
|
17% |
6 |
1 |
|
21% |
| open_webui/routers/ollama.py |
get_ollama_url |
|
25% |
12 |
9 |
0 |
|
17% |
6 |
1 |
|
22% |
| open_webui/routers/ollama.py |
generate_chat_completion |
|
31% |
35 |
24 |
0 |
|
21% |
14 |
1 |
|
29% |
| open_webui/routers/ollama.py |
generate_openai_completion |
|
30% |
23 |
16 |
0 |
|
0% |
6 |
0 |
|
24% |
| open_webui/routers/ollama.py |
generate_openai_embeddings |
|
9% |
22 |
20 |
0 |
|
17% |
6 |
1 |
|
11% |
| open_webui/routers/ollama.py |
generate_openai_chat_completion |
|
24% |
25 |
19 |
0 |
|
0% |
6 |
0 |
|
19% |
| open_webui/routers/ollama.py |
generate_anthropic_messages |
|
25% |
16 |
12 |
0 |
|
17% |
6 |
1 |
|
23% |
| open_webui/routers/ollama.py |
generate_responses |
|
50% |
16 |
8 |
0 |
|
50% |
6 |
1 |
|
50% |
| open_webui/routers/ollama.py |
get_openai_models |
|
59% |
17 |
7 |
0 |
|
67% |
6 |
2 |
|
61% |
| open_webui/routers/ollama.py |
parse_huggingface_url |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/ollama.py |
download_file_stream |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/ollama.py |
download_file_stream.blob_chunks |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/ollama.py |
download_model |
|
33% |
9 |
6 |
0 |
|
25% |
4 |
1 |
|
31% |
| open_webui/routers/ollama.py |
upload_model |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/ollama.py |
upload_model.file_process_stream |
|
55% |
33 |
15 |
0 |
|
33% |
6 |
0 |
|
51% |
| open_webui/routers/ollama.py |
upload_model.file_process_stream.blob_chunks |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/ollama.py |
(no function) |
|
100% |
222 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
_clean_proxy_headers |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/openai.py |
send_get_request |
|
77% |
13 |
3 |
0 |
|
50% |
4 |
2 |
|
71% |
| open_webui/routers/openai.py |
get_models_request |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/routers/openai.py |
openai_reasoning_model_handler |
|
33% |
9 |
6 |
0 |
|
0% |
6 |
2 |
|
20% |
| open_webui/routers/openai.py |
get_headers_and_cookies |
|
42% |
31 |
18 |
0 |
|
27% |
22 |
4 |
|
36% |
| open_webui/routers/openai.py |
get_microsoft_entra_id_access_token |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/openai.py |
get_model_management_root_url |
|
17% |
6 |
5 |
0 |
|
0% |
6 |
0 |
|
8% |
| open_webui/routers/openai.py |
get_provider_model_loaded_state |
|
0% |
21 |
21 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/routers/openai.py |
get_openai_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
get_openai_runtime_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
normalize_openai_api_keys |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/openai.py |
get_openai_connection |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
clear_openai_model_cache |
|
80% |
10 |
2 |
0 |
|
50% |
4 |
2 |
|
71% |
| open_webui/routers/openai.py |
get_model_management_connection |
|
60% |
10 |
4 |
0 |
|
50% |
4 |
0 |
|
57% |
| open_webui/routers/openai.py |
get_model_management_path |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/openai.py |
get_model_management_payload |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/openai.py |
send_model_management_request |
|
4% |
28 |
27 |
0 |
|
0% |
4 |
0 |
|
3% |
| open_webui/routers/openai.py |
get_anthropic_request_target |
|
11% |
27 |
24 |
0 |
|
8% |
12 |
1 |
|
10% |
| open_webui/routers/openai.py |
count_anthropic_tokens |
|
9% |
23 |
21 |
0 |
|
0% |
4 |
0 |
|
7% |
| open_webui/routers/openai.py |
get_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
update_config |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/openai.py |
speech |
|
75% |
40 |
10 |
0 |
|
30% |
10 |
3 |
|
66% |
| open_webui/routers/openai.py |
get_all_models_responses |
|
32% |
47 |
32 |
0 |
|
28% |
32 |
3 |
|
30% |
| open_webui/routers/openai.py |
get_filtered_models |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/openai.py |
get_all_models |
|
100% |
13 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/openai.py |
get_all_models.extract_data |
|
60% |
5 |
2 |
0 |
|
50% |
4 |
2 |
|
56% |
| open_webui/routers/openai.py |
get_all_models.is_supported_openai_models |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/openai.py |
get_all_models.get_merged_models |
|
26% |
19 |
14 |
0 |
|
25% |
12 |
1 |
|
26% |
| open_webui/routers/openai.py |
get_models |
|
21% |
42 |
33 |
0 |
|
30% |
20 |
2 |
|
24% |
| open_webui/routers/openai.py |
get_provider_model_catalog |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
download_provider_model |
|
14% |
7 |
6 |
0 |
|
100% |
0 |
0 |
|
14% |
| open_webui/routers/openai.py |
get_provider_model_download_status |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
load_provider_model |
|
17% |
6 |
5 |
0 |
|
100% |
0 |
0 |
|
17% |
| open_webui/routers/openai.py |
unload_provider_model |
|
17% |
6 |
5 |
0 |
|
100% |
0 |
0 |
|
17% |
| open_webui/routers/openai.py |
stream_provider_model_events |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/openai.py |
delete_provider_model |
|
17% |
6 |
5 |
0 |
|
100% |
0 |
0 |
|
17% |
| open_webui/routers/openai.py |
verify_connection |
|
25% |
48 |
36 |
0 |
|
10% |
20 |
2 |
|
21% |
| open_webui/routers/openai.py |
get_azure_allowed_params |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/openai.py |
is_openai_new_model |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/openai.py |
_sanitize_model_for_url |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/openai.py |
convert_to_azure_payload |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/openai.py |
_normalize_stored_item |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/openai.py |
convert_to_responses_payload |
|
5% |
84 |
80 |
0 |
|
0% |
62 |
0 |
|
3% |
| open_webui/routers/openai.py |
convert_responses_result |
|
0% |
14 |
14 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/routers/openai.py |
generate_chat_completion |
|
17% |
121 |
100 |
0 |
|
10% |
62 |
4 |
|
15% |
| open_webui/routers/openai.py |
embeddings |
|
0% |
47 |
47 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/routers/openai.py |
responses |
|
55% |
53 |
24 |
0 |
|
28% |
18 |
3 |
|
48% |
| open_webui/routers/openai.py |
proxy |
|
3% |
62 |
60 |
0 |
|
5% |
22 |
1 |
|
4% |
| open_webui/routers/openai.py |
(no function) |
|
100% |
136 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/pipelines.py |
get_sorted_filters |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/pipelines.py |
get_openai_connection |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/pipelines.py |
process_pipeline_inlet_filter |
|
0% |
39 |
39 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/pipelines.py |
process_pipeline_outlet_filter |
|
0% |
39 |
39 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/pipelines.py |
get_pipelines_list |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/pipelines.py |
upload_pipeline |
|
11% |
38 |
34 |
0 |
|
12% |
8 |
1 |
|
11% |
| open_webui/routers/pipelines.py |
upload_pipeline.pipeline_chunks |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/pipelines.py |
add_pipeline |
|
76% |
21 |
5 |
0 |
|
50% |
4 |
0 |
|
72% |
| open_webui/routers/pipelines.py |
delete_pipeline |
|
52% |
21 |
10 |
0 |
|
25% |
4 |
1 |
|
48% |
| open_webui/routers/pipelines.py |
get_pipelines |
|
42% |
19 |
11 |
0 |
|
25% |
4 |
1 |
|
39% |
| open_webui/routers/pipelines.py |
get_pipeline_valves |
|
40% |
20 |
12 |
0 |
|
25% |
4 |
1 |
|
38% |
| open_webui/routers/pipelines.py |
get_pipeline_valves_spec |
|
42% |
19 |
11 |
0 |
|
25% |
4 |
1 |
|
39% |
| open_webui/routers/pipelines.py |
update_pipeline_valves |
|
42% |
19 |
11 |
0 |
|
25% |
4 |
1 |
|
39% |
| open_webui/routers/pipelines.py |
(no function) |
|
100% |
44 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/prompts.py |
get_prompts |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/prompts.py |
get_prompt_tags |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/routers/prompts.py |
get_prompt_list |
|
88% |
24 |
3 |
0 |
|
79% |
14 |
1 |
|
84% |
| open_webui/routers/prompts.py |
create_new_prompt |
|
82% |
11 |
2 |
0 |
|
67% |
6 |
2 |
|
76% |
| open_webui/routers/prompts.py |
get_prompt_by_id |
|
100% |
5 |
0 |
0 |
|
75% |
4 |
1 |
|
89% |
| open_webui/routers/prompts.py |
update_prompt_by_id |
|
87% |
15 |
2 |
0 |
|
80% |
10 |
2 |
|
84% |
| open_webui/routers/prompts.py |
update_prompt_metadata |
|
86% |
14 |
2 |
0 |
|
80% |
10 |
2 |
|
83% |
| open_webui/routers/prompts.py |
set_prompt_version |
|
90% |
10 |
1 |
0 |
|
83% |
6 |
1 |
|
88% |
| open_webui/routers/prompts.py |
update_prompt_access_by_id |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| open_webui/routers/prompts.py |
toggle_prompt_active |
|
80% |
10 |
2 |
0 |
|
67% |
6 |
2 |
|
75% |
| open_webui/routers/prompts.py |
delete_prompt_by_id |
|
89% |
9 |
1 |
0 |
|
67% |
6 |
2 |
|
80% |
| open_webui/routers/prompts.py |
get_prompt_history |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| open_webui/routers/prompts.py |
get_prompt_history_entry |
|
78% |
9 |
2 |
0 |
|
67% |
6 |
2 |
|
73% |
| open_webui/routers/prompts.py |
delete_prompt_history_entry |
|
73% |
11 |
3 |
0 |
|
62% |
8 |
3 |
|
68% |
| open_webui/routers/prompts.py |
get_prompt_diff |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/prompts.py |
(no function) |
|
100% |
56 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
get_ef |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
get_rf |
|
6% |
35 |
33 |
0 |
|
0% |
14 |
0 |
|
4% |
| open_webui/routers/retrieval.py |
RetrievalConfig.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
RetrievalConfig.__setattr__ |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| open_webui/routers/retrieval.py |
RetrievalConfig.save |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
get_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
get_retrieval_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
get_embedding_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
unload_embedding_model |
|
70% |
10 |
3 |
0 |
|
33% |
6 |
2 |
|
56% |
| open_webui/routers/retrieval.py |
update_embedding_config |
|
71% |
28 |
8 |
0 |
|
50% |
8 |
4 |
|
67% |
| open_webui/routers/retrieval.py |
get_rag_config |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
update_rag_config |
|
91% |
185 |
17 |
0 |
|
59% |
32 |
3 |
|
86% |
| open_webui/routers/retrieval.py |
can_merge_chunks |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/retrieval.py |
merge_docs_to_target_size |
|
68% |
25 |
8 |
0 |
|
60% |
10 |
2 |
|
66% |
| open_webui/routers/retrieval.py |
merge_docs_to_target_size._merge_backward |
|
20% |
10 |
8 |
0 |
|
17% |
6 |
1 |
|
19% |
| open_webui/routers/retrieval.py |
merge_docs_to_target_size._emit |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/retrieval.py |
get_transformers_tokenizer |
|
10% |
20 |
18 |
0 |
|
0% |
10 |
0 |
|
7% |
| open_webui/routers/retrieval.py |
get_splitter_length_function |
|
43% |
7 |
4 |
0 |
|
50% |
4 |
2 |
|
45% |
| open_webui/routers/retrieval.py |
filter_file_metadata |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| open_webui/routers/retrieval.py |
save_docs_to_vector_db |
|
56% |
63 |
28 |
0 |
|
53% |
32 |
5 |
|
55% |
| open_webui/routers/retrieval.py |
save_docs_to_vector_db._get_docs_info |
|
100% |
11 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
has_vector_results |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/retrieval.py |
process_file |
|
68% |
74 |
24 |
0 |
|
46% |
24 |
7 |
|
62% |
| open_webui/routers/retrieval.py |
process_text |
|
69% |
13 |
4 |
0 |
|
50% |
4 |
0 |
|
65% |
| open_webui/routers/retrieval.py |
_fetch_url |
|
1% |
68 |
67 |
0 |
|
0% |
32 |
0 |
|
1% |
| open_webui/routers/retrieval.py |
process_url |
|
32% |
25 |
17 |
0 |
|
12% |
8 |
1 |
|
27% |
| open_webui/routers/retrieval.py |
process_web |
|
29% |
28 |
20 |
0 |
|
0% |
6 |
0 |
|
24% |
| open_webui/routers/retrieval.py |
search_web |
|
4% |
113 |
109 |
0 |
|
1% |
110 |
5 |
|
2% |
| open_webui/routers/retrieval.py |
process_web_search |
|
6% |
53 |
50 |
0 |
|
5% |
20 |
1 |
|
5% |
| open_webui/routers/retrieval.py |
process_web_search.search_query_with_semaphore |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/retrieval.py |
_validate_collection_access |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
query_doc_handler |
|
75% |
12 |
3 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/routers/retrieval.py |
query_collection_handler |
|
82% |
11 |
2 |
0 |
|
50% |
2 |
1 |
|
77% |
| open_webui/routers/retrieval.py |
delete_entries_from_collection |
|
18% |
17 |
14 |
0 |
|
17% |
6 |
1 |
|
17% |
| open_webui/routers/retrieval.py |
reset_vector_db |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
reset_upload_dir |
|
59% |
17 |
7 |
0 |
|
50% |
8 |
2 |
|
56% |
| open_webui/routers/retrieval.py |
get_embeddings |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/retrieval.py |
process_files_batch |
|
46% |
39 |
21 |
0 |
|
43% |
14 |
2 |
|
45% |
| open_webui/routers/retrieval.py |
(no function) |
|
100% |
349 |
0 |
0 |
|
50% |
2 |
1 |
|
99% |
| open_webui/routers/scim.py |
scim_error |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_scim_auth |
|
0% |
25 |
25 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_external_id |
|
0% |
6 |
6 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_scim_provider |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/scim.py |
find_user_by_external_id |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/scim.py |
user_to_scim |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/scim.py |
group_to_scim |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_service_provider_config |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_resource_types |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_schemas |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_users |
|
0% |
23 |
23 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_user |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/scim.py |
create_user |
|
0% |
31 |
31 |
0 |
|
0% |
22 |
0 |
|
0% |
| open_webui/routers/scim.py |
update_user |
|
0% |
34 |
34 |
0 |
|
0% |
26 |
0 |
|
0% |
| open_webui/routers/scim.py |
patch_user |
|
0% |
53 |
53 |
0 |
|
0% |
40 |
0 |
|
0% |
| open_webui/routers/scim.py |
delete_user |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_groups |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/scim.py |
get_group |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/scim.py |
create_group |
|
0% |
22 |
22 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/routers/scim.py |
update_group |
|
0% |
23 |
23 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/scim.py |
patch_group |
|
0% |
42 |
42 |
0 |
|
0% |
30 |
0 |
|
0% |
| open_webui/routers/scim.py |
delete_group |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/scim.py |
(no function) |
|
100% |
161 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/skills.py |
get_skills |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| open_webui/routers/skills.py |
get_skill_list |
|
90% |
20 |
2 |
0 |
|
90% |
10 |
1 |
|
90% |
| open_webui/routers/skills.py |
export_skills |
|
60% |
5 |
2 |
0 |
|
50% |
4 |
2 |
|
56% |
| open_webui/routers/skills.py |
create_new_skill |
|
80% |
20 |
4 |
0 |
|
88% |
8 |
1 |
|
82% |
| open_webui/routers/skills.py |
get_skill_by_id |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| open_webui/routers/skills.py |
update_skill_by_id |
|
82% |
17 |
3 |
0 |
|
83% |
6 |
1 |
|
83% |
| open_webui/routers/skills.py |
update_skill_access_by_id |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| open_webui/routers/skills.py |
toggle_skill_by_id |
|
80% |
10 |
2 |
0 |
|
67% |
6 |
2 |
|
75% |
| open_webui/routers/skills.py |
delete_skill_by_id |
|
89% |
9 |
1 |
0 |
|
67% |
6 |
2 |
|
80% |
| open_webui/routers/skills.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/tasks.py |
get_config_values |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/tasks.py |
config_updates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/tasks.py |
apply_task_model_params |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/tasks.py |
get_task_model_generation_config |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/tasks.py |
get_task_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/tasks.py |
update_task_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/tasks.py |
generate_title |
|
17% |
29 |
24 |
0 |
|
30% |
10 |
1 |
|
21% |
| open_webui/routers/tasks.py |
generate_follow_ups |
|
19% |
26 |
21 |
0 |
|
38% |
8 |
1 |
|
24% |
| open_webui/routers/tasks.py |
generate_chat_tags |
|
19% |
26 |
21 |
0 |
|
38% |
8 |
1 |
|
24% |
| open_webui/routers/tasks.py |
generate_image_prompt |
|
12% |
24 |
21 |
0 |
|
17% |
6 |
1 |
|
13% |
| open_webui/routers/tasks.py |
generate_queries |
|
21% |
33 |
26 |
0 |
|
25% |
16 |
4 |
|
22% |
| open_webui/routers/tasks.py |
generate_autocompletion |
|
30% |
33 |
23 |
0 |
|
33% |
12 |
2 |
|
31% |
| open_webui/routers/tasks.py |
generate_emoji |
|
15% |
20 |
17 |
0 |
|
25% |
4 |
1 |
|
17% |
| open_webui/routers/tasks.py |
generate_moa_response |
|
18% |
17 |
14 |
0 |
|
25% |
4 |
1 |
|
19% |
| open_webui/routers/tasks.py |
(no function) |
|
100% |
61 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/terminals.py |
_sanitize_proxy_path |
|
0% |
18 |
18 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/routers/terminals.py |
list_terminal_servers |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/terminals.py |
proxy_terminal |
|
5% |
78 |
74 |
0 |
|
3% |
38 |
1 |
|
4% |
| open_webui/routers/terminals.py |
proxy_terminal.cleanup |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/terminals.py |
_resolve_authenticated_connection |
|
0% |
19 |
19 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/terminals.py |
_resolve_terminal_access |
|
0% |
23 |
23 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/routers/terminals.py |
ws_terminal |
|
0% |
57 |
57 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/routers/terminals.py |
ws_terminal._client_to_upstream |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/routers/terminals.py |
ws_terminal._upstream_to_client |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/routers/terminals.py |
ws_terminal._watch_access |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/routers/terminals.py |
(no function) |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/tools.py |
get_tool_module |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/routers/tools.py |
get_tools |
|
38% |
39 |
24 |
0 |
|
50% |
18 |
5 |
|
42% |
| open_webui/routers/tools.py |
get_tool_list |
|
70% |
10 |
3 |
0 |
|
50% |
4 |
2 |
|
64% |
| open_webui/routers/tools.py |
github_url_to_raw_url |
|
56% |
9 |
4 |
0 |
|
50% |
4 |
2 |
|
54% |
| open_webui/routers/tools.py |
load_tool_from_url |
|
85% |
20 |
3 |
0 |
|
50% |
6 |
3 |
|
77% |
| open_webui/routers/tools.py |
export_tools |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/tools.py |
create_new_tools |
|
48% |
29 |
15 |
0 |
|
50% |
8 |
2 |
|
49% |
| open_webui/routers/tools.py |
get_tools_by_id |
|
30% |
10 |
7 |
0 |
|
17% |
6 |
1 |
|
25% |
| open_webui/routers/tools.py |
update_tools_by_id |
|
11% |
28 |
25 |
0 |
|
10% |
10 |
1 |
|
11% |
| open_webui/routers/tools.py |
update_tool_access_by_id |
|
30% |
10 |
7 |
0 |
|
25% |
4 |
1 |
|
29% |
| open_webui/routers/tools.py |
delete_tools_by_id |
|
23% |
13 |
10 |
0 |
|
17% |
6 |
1 |
|
21% |
| open_webui/routers/tools.py |
get_tools_valves_by_id |
|
30% |
10 |
7 |
0 |
|
25% |
4 |
1 |
|
29% |
| open_webui/routers/tools.py |
get_tools_valves_spec_by_id |
|
25% |
12 |
9 |
0 |
|
17% |
6 |
1 |
|
22% |
| open_webui/routers/tools.py |
update_tools_valves_by_id |
|
16% |
19 |
16 |
0 |
|
17% |
6 |
1 |
|
16% |
| open_webui/routers/tools.py |
get_tools_user_valves_by_id |
|
30% |
10 |
7 |
0 |
|
25% |
4 |
1 |
|
29% |
| open_webui/routers/tools.py |
get_tools_user_valves_spec_by_id |
|
25% |
12 |
9 |
0 |
|
17% |
6 |
1 |
|
22% |
| open_webui/routers/tools.py |
update_tools_user_valves_by_id |
|
16% |
19 |
16 |
0 |
|
17% |
6 |
1 |
|
16% |
| open_webui/routers/tools.py |
(no function) |
|
100% |
62 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
merge_user_ui_settings |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/routers/users.py |
get_users |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/users.py |
get_all_users |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
search_users |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_groups |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_permissisions |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
_week_start |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
_build_weekly_heatmap |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/users.py |
_build_cumulative_heatmap |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/users.py |
_calculate_streaks |
|
100% |
13 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| open_webui/routers/users.py |
get_default_user_permissions |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
update_default_user_permissions |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
get_default_user_permissions_defaults |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_settings_by_session_user |
|
56% |
9 |
4 |
0 |
|
75% |
4 |
1 |
|
62% |
| open_webui/routers/users.py |
update_user_settings_by_session_user |
|
59% |
22 |
9 |
0 |
|
44% |
18 |
6 |
|
52% |
| open_webui/routers/users.py |
get_user_status_by_session_user |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/routers/users.py |
update_user_status_by_session_user |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| open_webui/routers/users.py |
get_user_info_by_session_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_variables_by_session_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
update_user_variables_by_session_user |
|
88% |
8 |
1 |
0 |
|
50% |
2 |
1 |
|
80% |
| open_webui/routers/users.py |
update_user_info_by_session_user |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/routers/users.py |
get_user_usage_by_session_user |
|
100% |
22 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_by_id |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_info_by_id |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_oauth_sessions_by_id |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/routers/users.py |
get_user_profile_image_by_id |
|
37% |
19 |
12 |
0 |
|
42% |
12 |
3 |
|
39% |
| open_webui/routers/users.py |
get_user_active_status_by_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
update_user_by_id |
|
6% |
52 |
49 |
0 |
|
0% |
36 |
2 |
|
3% |
| open_webui/routers/users.py |
delete_user_by_id |
|
50% |
16 |
8 |
0 |
|
50% |
6 |
3 |
|
50% |
| open_webui/routers/users.py |
get_user_groups_by_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/users.py |
get_user_preview |
|
100% |
19 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/routers/users.py |
(no function) |
|
100% |
227 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/utils.py |
get_gravatar |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/routers/utils.py |
format_code |
|
86% |
7 |
1 |
0 |
|
100% |
0 |
0 |
|
86% |
| open_webui/routers/utils.py |
execute_code |
|
67% |
6 |
2 |
0 |
|
75% |
4 |
1 |
|
70% |
| open_webui/routers/utils.py |
download_db |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| open_webui/routers/utils.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/socket/main.py |
get_room_sid_map |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/socket/main.py |
JSONOnlyPacket.reconstruct_binary |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/main.py |
get_session_pool_batches |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/socket/main.py |
periodic_session_pool_cleanup |
|
60% |
40 |
16 |
0 |
|
50% |
18 |
5 |
|
57% |
| open_webui/socket/main.py |
periodic_usage_pool_cleanup |
|
39% |
31 |
19 |
0 |
|
25% |
12 |
3 |
|
35% |
| open_webui/socket/main.py |
get_models_in_use |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/socket/main.py |
get_user_id_from_session_pool |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/main.py |
get_socket_session_user |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/main.py |
get_session_ids_from_room |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/socket/main.py |
get_session_ids_by_user_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/socket/main.py |
get_user_ids_from_room |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/main.py |
emit_to_users |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/main.py |
enter_room_for_users |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/main.py |
disconnect_user_sessions |
|
38% |
8 |
5 |
0 |
|
50% |
4 |
2 |
|
42% |
| open_webui/socket/main.py |
usage |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/main.py |
connect |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/main.py |
user_join |
|
0% |
20 |
20 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
heartbeat |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/main.py |
join_channel |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
join_note |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
channel_events |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
get_folder_unread_counts |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/socket/main.py |
chat_events |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
normalize_document_id |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/main.py |
ydoc_document_join |
|
0% |
32 |
32 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/socket/main.py |
document_save_handler |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/socket/main.py |
yjs_document_state |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/socket/main.py |
yjs_document_update |
|
0% |
34 |
34 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/socket/main.py |
yjs_document_update.debounced_save |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/main.py |
yjs_document_leave |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/main.py |
yjs_awareness_update |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/main.py |
disconnect |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
redis_event_listener |
|
0% |
25 |
25 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
socket_event_handler |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/main.py |
_make_channel_emitter |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/main.py |
_make_channel_emitter._emit_channel_update |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/socket/main.py |
_make_channel_emitter.__channel_emitter__ |
|
0% |
44 |
44 |
0 |
|
0% |
26 |
0 |
|
0% |
| open_webui/socket/main.py |
get_event_emitter |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| open_webui/socket/main.py |
get_event_emitter.__event_emitter__ |
|
36% |
45 |
29 |
0 |
|
33% |
30 |
8 |
|
35% |
| open_webui/socket/main.py |
get_event_call |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/main.py |
get_event_call.__event_caller__ |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/main.py |
(no function) |
|
85% |
121 |
18 |
0 |
|
50% |
4 |
2 |
|
84% |
| open_webui/socket/utils.py |
RedisLock.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisLock.aquire_lock |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisLock.renew_lock |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisLock.release_lock |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.__setitem__ |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.__getitem__ |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.__delitem__ |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.__contains__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.__len__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.keys |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.values |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.items |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.scan_batches |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.delete_many |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.set |
|
0% |
24 |
24 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.get |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.clear |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.update |
|
0% |
5 |
5 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/socket/utils.py |
RedisDict.setdefault |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict._refresh_cache |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict.__getitem__ |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict.__contains__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict.__len__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict.keys |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict.values |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
CachedRedisDict.items |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/socket/utils.py |
YdocManager.append_to_updates |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager._compact_updates_redis |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager._compact_updates_memory |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.get_updates |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.document_exists |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.get_users |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.add_user |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.remove_user |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.remove_user_from_all_documents |
|
0% |
15 |
15 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/socket/utils.py |
YdocManager.clear_document |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/socket/utils.py |
(no function) |
|
100% |
58 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/storage/provider.py |
StorageProvider.get_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
StorageProvider.upload_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
StorageProvider.delete_all_files |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
StorageProvider.delete_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
LocalStorageProvider.upload_file |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/storage/provider.py |
LocalStorageProvider.get_file |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/storage/provider.py |
LocalStorageProvider.delete_file |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/storage/provider.py |
LocalStorageProvider.delete_all_files |
|
55% |
11 |
5 |
0 |
|
50% |
8 |
2 |
|
53% |
| open_webui/storage/provider.py |
S3StorageProvider.__init__ |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/storage/provider.py |
S3StorageProvider.sanitize_tag_value |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
S3StorageProvider.upload_file |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/storage/provider.py |
S3StorageProvider.get_file |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
S3StorageProvider.delete_file |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
S3StorageProvider.delete_all_files |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/storage/provider.py |
S3StorageProvider._extract_s3_key |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
S3StorageProvider._get_local_file_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
GCSStorageProvider.__init__ |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/storage/provider.py |
GCSStorageProvider.upload_file |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
GCSStorageProvider.get_file |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
GCSStorageProvider.delete_file |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
GCSStorageProvider.delete_all_files |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/storage/provider.py |
AzureStorageProvider.__init__ |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/storage/provider.py |
AzureStorageProvider.upload_file |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
AzureStorageProvider.get_file |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
AzureStorageProvider.delete_file |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/storage/provider.py |
AzureStorageProvider.delete_all_files |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/storage/provider.py |
get_storage_provider |
|
33% |
12 |
8 |
0 |
|
20% |
10 |
2 |
|
27% |
| open_webui/storage/provider.py |
(no function) |
|
100% |
62 |
0 |
0 |
|
50% |
2 |
1 |
|
98% |
| open_webui/tasks.py |
redis_task_command_listener |
|
0% |
31 |
31 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tasks.py |
redis_task_heartbeat |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tasks.py |
redis_save_task |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tasks.py |
redis_cleanup_task |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tasks.py |
redis_list_tasks |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tasks.py |
redis_send_command |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tasks.py |
cleanup_task |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tasks.py |
create_task |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tasks.py |
list_tasks |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/tasks.py |
list_task_ids_by_item_id |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/tasks.py |
save_response_stream |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tasks.py |
get_response_streams_by_chat_id |
|
18% |
17 |
14 |
0 |
|
10% |
10 |
1 |
|
15% |
| open_webui/tasks.py |
clear_response_stream |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tasks.py |
stop_task |
|
25% |
16 |
12 |
0 |
|
33% |
6 |
2 |
|
27% |
| open_webui/tasks.py |
stop_item_tasks |
|
50% |
6 |
3 |
0 |
|
25% |
4 |
1 |
|
40% |
| open_webui/tasks.py |
has_active_tasks |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/tasks.py |
(no function) |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/tools/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/tools/builtin.py |
_has_write_access_to_note |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_emit_note_updated |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_has_read_access_to_file |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
notify |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
get_current_timestamp |
|
0% |
18 |
18 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
calculate_timestamp |
|
0% |
44 |
44 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_web |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
fetch_url |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/builtin.py |
generate_image |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/builtin.py |
edit_image |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/builtin.py |
ask_user |
|
0% |
45 |
45 |
0 |
|
0% |
30 |
0 |
|
0% |
| open_webui/tools/builtin.py |
execute_code |
|
0% |
59 |
59 |
0 |
|
0% |
32 |
0 |
|
0% |
| open_webui/tools/builtin.py |
list_memory_paths |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/builtin.py |
read_memory_path |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_memories |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
add_memory |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
update_memory |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
replace_memory_content |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
delete_memory |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
list_memories |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_notes |
|
0% |
41 |
41 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/tools/builtin.py |
view_note |
|
0% |
20 |
20 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
write_note |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/builtin.py |
replace_note_content |
|
0% |
74 |
74 |
0 |
|
0% |
46 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_chats |
|
0% |
44 |
44 |
0 |
|
0% |
28 |
0 |
|
0% |
| open_webui/tools/builtin.py |
view_chat |
|
0% |
25 |
25 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
delegate_task |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
timer |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_channels |
|
0% |
20 |
20 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_channel_messages |
|
0% |
30 |
30 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
view_channel_message |
|
0% |
23 |
23 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/tools/builtin.py |
view_channel_thread |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/tools/builtin.py |
list_knowledge_bases |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_knowledge_bases |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_knowledge_files |
|
0% |
60 |
60 |
0 |
|
0% |
38 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_get_accessible_chat_files |
|
0% |
17 |
17 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_grep_file_models |
|
0% |
33 |
33 |
0 |
|
0% |
24 |
0 |
|
0% |
| open_webui/tools/builtin.py |
list_chat_files |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
grep_chat_files |
|
0% |
27 |
27 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/tools/builtin.py |
query_chat_files |
|
0% |
55 |
55 |
0 |
|
0% |
30 |
0 |
|
0% |
| open_webui/tools/builtin.py |
grep_knowledge_files |
|
0% |
61 |
61 |
0 |
|
0% |
44 |
0 |
|
0% |
| open_webui/tools/builtin.py |
view_file |
|
0% |
58 |
58 |
0 |
|
0% |
24 |
0 |
|
0% |
| open_webui/tools/builtin.py |
view_knowledge_file |
|
0% |
78 |
78 |
0 |
|
0% |
34 |
0 |
|
0% |
| open_webui/tools/builtin.py |
list_knowledge |
|
0% |
60 |
60 |
0 |
|
0% |
30 |
0 |
|
0% |
| open_webui/tools/builtin.py |
query_knowledge_files |
|
0% |
93 |
93 |
0 |
|
0% |
56 |
0 |
|
0% |
| open_webui/tools/builtin.py |
query_knowledge_bases |
|
0% |
52 |
52 |
0 |
|
0% |
26 |
0 |
|
0% |
| open_webui/tools/builtin.py |
view_skill |
|
0% |
28 |
28 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_task_summary |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_emit_tasks |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
create_tasks |
|
0% |
24 |
24 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/tools/builtin.py |
update_task |
|
0% |
21 |
21 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_validate_owned_automation_folder |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
create_automation |
|
0% |
36 |
36 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/builtin.py |
update_automation |
|
0% |
46 |
46 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/tools/builtin.py |
list_automations |
|
0% |
26 |
26 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/builtin.py |
toggle_automation |
|
0% |
21 |
21 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/builtin.py |
delete_automation |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_get_user_tz |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_dt_to_ns |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_ns_to_dt |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/builtin.py |
_event_to_dict |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/builtin.py |
search_calendar_events |
|
0% |
34 |
34 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/tools/builtin.py |
create_calendar_event |
|
0% |
56 |
56 |
0 |
|
0% |
28 |
0 |
|
0% |
| open_webui/tools/builtin.py |
update_calendar_event |
|
0% |
54 |
54 |
0 |
|
0% |
28 |
0 |
|
0% |
| open_webui/tools/builtin.py |
delete_calendar_event |
|
0% |
27 |
27 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/tools/builtin.py |
(no function) |
|
100% |
109 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/tools/knowledge_fs.py |
MatchBudget.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
match_budget |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
is_regex_pattern |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
normalize_regex |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
build_matcher |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
build_matcher.matches |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_parse_pipeline |
|
0% |
30 |
30 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_extract_flags |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_extract_numeric_flag |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_build_directory_tree |
|
0% |
18 |
18 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_build_directory_tree._get_dir_path |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_resolve_path |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_files_in_dir |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_subdirs |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_files_under_dir |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_accessible_kb_ids |
|
0% |
29 |
29 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_accessible_kb_ids._has_access |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_accessible_files |
|
0% |
18 |
18 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_resolve_dir_path |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_descendant_dir_ids |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_resolve_file |
|
0% |
29 |
29 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_get_file_content |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_ls |
|
0% |
54 |
54 |
0 |
|
0% |
34 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_sort_files |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_fmt_size |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_fmt_date |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_cat |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_head |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_tail |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_match_lines |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_grep |
|
0% |
97 |
97 |
0 |
|
0% |
68 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_find |
|
0% |
27 |
27 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_wc |
|
0% |
21 |
21 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_stat |
|
0% |
26 |
26 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_sed |
|
0% |
34 |
34 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_tree |
|
0% |
34 |
34 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_kb_tree._render_tree |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
_execute_pipeline |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
kb_exec |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/tools/knowledge_fs.py |
(no function) |
|
100% |
57 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/access_control/__init__.py |
fill_missing_permissions |
|
83% |
6 |
1 |
0 |
|
83% |
6 |
1 |
|
83% |
| open_webui/utils/access_control/__init__.py |
get_permissions |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| open_webui/utils/access_control/__init__.py |
get_permissions.combine_permissions |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/access_control/__init__.py |
has_permission |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/access_control/__init__.py |
has_permission.get_permission |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/access_control/__init__.py |
has_access |
|
0% |
17 |
17 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/access_control/__init__.py |
has_connection_access |
|
33% |
9 |
6 |
0 |
|
17% |
6 |
1 |
|
27% |
| open_webui/utils/access_control/__init__.py |
migrate_access_control |
|
0% |
17 |
17 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/access_control/__init__.py |
filter_allowed_access_grants |
|
38% |
13 |
8 |
0 |
|
33% |
12 |
2 |
|
36% |
| open_webui/utils/access_control/__init__.py |
has_base_model_access |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/access_control/__init__.py |
check_model_access |
|
27% |
15 |
11 |
0 |
|
25% |
12 |
3 |
|
26% |
| open_webui/utils/access_control/__init__.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/access_control/files.py |
has_access_to_file |
|
0% |
26 |
26 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/utils/access_control/files.py |
get_accessible_folder_files |
|
0% |
23 |
23 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/utils/access_control/files.py |
can_read_all_folder_files |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/access_control/files.py |
get_owner_accessible_folder_files |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/access_control/files.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/access_control/folders.py |
has_folder_access |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/access_control/folders.py |
has_folder_write_access |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/utils/access_control/folders.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/actions.py |
chat_action |
|
12% |
58 |
51 |
0 |
|
12% |
34 |
2 |
|
12% |
| open_webui/utils/actions.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/anthropic.py |
is_anthropic_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/anthropic.py |
get_anthropic_models |
|
0% |
32 |
32 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/anthropic.py |
_copy_cache_control |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/anthropic.py |
_has_cache_control |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/anthropic.py |
_finalize_openai_content |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/anthropic.py |
is_anthropic_messages_passthrough |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/anthropic.py |
convert_anthropic_to_openai_payload |
|
14% |
160 |
138 |
0 |
|
11% |
132 |
12 |
|
12% |
| open_webui/utils/anthropic.py |
convert_openai_to_anthropic_response |
|
0% |
71 |
71 |
0 |
|
0% |
40 |
0 |
|
0% |
| open_webui/utils/anthropic.py |
openai_stream_to_anthropic_stream |
|
0% |
191 |
191 |
0 |
|
0% |
110 |
0 |
|
0% |
| open_webui/utils/anthropic.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware.__call__ |
|
90% |
20 |
2 |
0 |
|
75% |
8 |
2 |
|
86% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware._set_token |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware._send_with_headers |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware._send_with_headers.send_with_headers |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware._reject_invalid_websocket |
|
36% |
14 |
9 |
0 |
|
17% |
6 |
3 |
|
30% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware._redirect_legacy_url |
|
33% |
27 |
18 |
0 |
|
19% |
16 |
5 |
|
28% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware._rollback_session |
|
29% |
7 |
5 |
0 |
|
50% |
2 |
1 |
|
33% |
| open_webui/utils/asgi_middleware.py |
AppHTTPMiddleware._commit_session |
|
17% |
12 |
10 |
0 |
|
50% |
2 |
1 |
|
21% |
| open_webui/utils/asgi_middleware.py |
_scope_headers |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/asgi_middleware.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/ask_user.py |
get_ask_user_tool_calls |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/ask_user.py |
normalize_ask_user_request |
|
0% |
35 |
35 |
0 |
|
0% |
22 |
0 |
|
0% |
| open_webui/utils/ask_user.py |
stage_ask_user_tool_calls |
|
0% |
23 |
23 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/ask_user.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/audit.py |
AuditLogger.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLogger.write |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditContext.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditContext.add_request_chunk |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditContext.add_response_chunk |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware.__init__ |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware.__init__.normalize_paths |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware.__call__ |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware.__call__.send_wrapper |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware.__call__.receive_wrapper |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware._audit_context |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware._get_authenticated_user |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware._should_skip_auditing |
|
0% |
15 |
15 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware._capture_request |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware._capture_response |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/audit.py |
AuditLoggingMiddleware._log_audit_entry |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/audit.py |
(no function) |
|
98% |
51 |
1 |
0 |
|
50% |
2 |
1 |
|
96% |
| open_webui/utils/auth.py |
verify_signature |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/auth.py |
override_static |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_license_data |
|
0% |
35 |
35 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_license_data.data_handler |
|
0% |
10 |
10 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_license_data.handler |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_license_data.nt |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_password_hash |
|
50% |
6 |
3 |
0 |
|
50% |
4 |
2 |
|
50% |
| open_webui/utils/auth.py |
validate_password |
|
50% |
6 |
3 |
0 |
|
33% |
6 |
2 |
|
42% |
| open_webui/utils/auth.py |
verify_password |
|
36% |
14 |
9 |
0 |
|
50% |
4 |
2 |
|
39% |
| open_webui/utils/auth.py |
create_token |
|
100% |
8 |
0 |
0 |
|
50% |
2 |
1 |
|
90% |
| open_webui/utils/auth.py |
decode_token |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/auth.py |
RateLimitFilter.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/auth.py |
RateLimitFilter.filter |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/auth.py |
is_valid_token |
|
9% |
22 |
20 |
0 |
|
8% |
12 |
1 |
|
9% |
| open_webui/utils/auth.py |
invalidate_token |
|
0% |
16 |
16 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/auth.py |
revoke_user_tokens |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/auth.py |
extract_token_from_auth_header |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/auth.py |
create_api_key |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_http_authorization_cred |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/auth.py |
get_current_user |
|
48% |
58 |
30 |
0 |
|
50% |
34 |
9 |
|
49% |
| open_webui/utils/auth.py |
get_current_user_by_api_key |
|
7% |
27 |
25 |
0 |
|
0% |
16 |
0 |
|
5% |
| open_webui/utils/auth.py |
get_verified_user |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/utils/auth.py |
get_verified_user_by_token |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_verified_user_by_id |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_optional_verified_user_from_request |
|
0% |
17 |
17 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/auth.py |
get_admin_user |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/utils/auth.py |
create_admin_user |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/auth.py |
(no function) |
|
100% |
64 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/automations.py |
automation_worker_loop |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/automations.py |
scheduler_worker_loop |
|
70% |
33 |
10 |
0 |
|
58% |
12 |
5 |
|
67% |
| open_webui/utils/automations.py |
_build_request |
|
20% |
5 |
4 |
0 |
|
100% |
0 |
0 |
|
20% |
| open_webui/utils/automations.py |
_resolve_model_defaults |
|
39% |
18 |
11 |
0 |
|
0% |
10 |
2 |
|
25% |
| open_webui/utils/automations.py |
_set_terminal_cwd |
|
0% |
28 |
28 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/automations.py |
_execute_channel_automation |
|
41% |
17 |
10 |
0 |
|
0% |
2 |
0 |
|
37% |
| open_webui/utils/automations.py |
execute_automation |
|
2% |
50 |
49 |
0 |
|
0% |
10 |
0 |
|
2% |
| open_webui/utils/automations.py |
_check_calendar_alerts |
|
46% |
24 |
13 |
0 |
|
33% |
6 |
2 |
|
43% |
| open_webui/utils/automations.py |
_record_run |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/automations.py |
(no function) |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/calendar.py |
expand_recurring_event |
|
0% |
32 |
32 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/calendar.py |
expand_recurring_event.to_local_datetime |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/calendar.py |
ns_from_date |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/calendar.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/channels.py |
extract_mentions |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/channels.py |
replace_mentions |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/channels.py |
replace_mentions.replacer |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/channels.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/chat.py |
generate_direct_chat_completion |
|
0% |
30 |
30 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/chat.py |
generate_direct_chat_completion.event_generator |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/chat.py |
generate_direct_chat_completion.background |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/chat.py |
generate_chat_completion |
|
0% |
66 |
66 |
0 |
|
0% |
42 |
0 |
|
0% |
| open_webui/utils/chat.py |
chat_completed |
|
25% |
28 |
21 |
0 |
|
30% |
10 |
3 |
|
26% |
| open_webui/utils/chat.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/chat_fork.py |
build_fork_history |
|
93% |
28 |
2 |
0 |
|
83% |
12 |
2 |
|
90% |
| open_webui/utils/chat_fork.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/chat_id.py |
is_saved_chat_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/chat_id.py |
is_temporary_chat_id |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/chat_id.py |
get_temporary_chat_session_id |
|
75% |
4 |
1 |
0 |
|
75% |
4 |
1 |
|
75% |
| open_webui/utils/chat_id.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/chat_variables.py |
split_properties |
|
0% |
31 |
31 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
parse_json_value |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
parse_variable_definition |
|
0% |
18 |
18 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
_safe_field |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
get_chat_variables_schema |
|
22% |
9 |
7 |
0 |
|
25% |
4 |
1 |
|
23% |
| open_webui/utils/chat_variables.py |
collect_chat_variable_fields |
|
0% |
21 |
21 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
normalize_chat_variables |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
normalize_user_variables |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/utils/chat_variables.py |
validate_user_variables |
|
56% |
18 |
8 |
0 |
|
58% |
12 |
3 |
|
57% |
| open_webui/utils/chat_variables.py |
validate_chat_variables |
|
0% |
31 |
31 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
render_chat_variables |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
render_chat_variables.replace |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
render_user_variables |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
render_user_variables.replace |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/chat_variables.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.__init__ |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.__aenter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.__aexit__ |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.run |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.sign_in |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.init_kernel |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.init_ws |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.execute_code |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
JupyterCodeExecuter.execute_in_jupyter |
|
0% |
33 |
33 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
execute_code_jupyter |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/code_interpreter.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/context_compaction.py |
compact_messages_for_request |
|
0% |
34 |
34 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
compact_chat_branch |
|
13% |
23 |
20 |
0 |
|
8% |
12 |
1 |
|
11% |
| open_webui/utils/context_compaction.py |
_load_config |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/context_compaction.py |
_parse_positive_int |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| open_webui/utils/context_compaction.py |
_clamp_retention_percentage |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| open_webui/utils/context_compaction.py |
_resolve_token_threshold |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_usage_token_count |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
get_chat_context_usage |
|
50% |
28 |
14 |
0 |
|
44% |
16 |
3 |
|
48% |
| open_webui/utils/context_compaction.py |
_build_context_usage |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_apply_latest_summary_checkpoint |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_exceeds_token_threshold |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_find_compaction_boundary |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_generate_summary |
|
0% |
31 |
31 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_response_text |
|
0% |
19 |
19 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_estimate_messages_tokens |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
_estimate_tokens |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/context_compaction.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/embeddings.py |
generate_embeddings |
|
33% |
21 |
14 |
0 |
|
25% |
16 |
4 |
|
30% |
| open_webui/utils/embeddings.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/files.py |
get_image_base64_from_url |
|
0% |
31 |
31 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/files.py |
get_image_url_from_base64 |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/files.py |
convert_markdown_base64_images |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/files.py |
load_b64_audio_data |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/files.py |
upload_audio |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/files.py |
get_audio_url_from_base64 |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/files.py |
get_file_url_from_base64 |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/files.py |
get_image_base64_from_file_id |
|
0% |
22 |
22 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/files.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/filter.py |
FilterContext.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/filter.py |
FilterContext.get_active_filters |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/filter.py |
FilterContext.get_function_valves |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/filter.py |
FilterContext.get_user_valves |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/filter.py |
get_filter_context |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/filter.py |
get_user_valves |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/filter.py |
get_function_module |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/filter.py |
get_model_filter_ids |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/filter.py |
resolve_filter_pipeline |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/filter.py |
resolve_filter_pipeline.get_active_status |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/filter.py |
resolve_filter_pipeline.get_priority |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/filter.py |
get_sorted_filter_ids |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/filter.py |
get_filter_functions |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/filter.py |
apply_filter_valves |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/filter.py |
get_filter_params |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/filter.py |
apply_user_valves |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/filter.py |
run_filter_handler |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/filter.py |
process_filter_function |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/filter.py |
process_filter_functions |
|
0% |
16 |
16 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/filter.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/groups.py |
apply_default_group_assignment |
|
20% |
5 |
4 |
0 |
|
50% |
2 |
1 |
|
29% |
| open_webui/utils/groups.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/headers.py |
normalize_bearer_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/headers.py |
bearer_auth_header |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/headers.py |
get_json_bearer_headers |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/headers.py |
_mint_forward_user_jwt |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/headers.py |
include_user_info_headers |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/headers.py |
custom_headers_require_user_groups |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/utils/headers.py |
get_user_groups_for_custom_headers |
|
29% |
7 |
5 |
0 |
|
50% |
2 |
1 |
|
33% |
| open_webui/utils/headers.py |
get_custom_headers |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/headers.py |
parse_custom_headers |
|
78% |
23 |
5 |
0 |
|
75% |
12 |
3 |
|
77% |
| open_webui/utils/headers.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/images/comfyui.py |
queue_prompt |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
get_image |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
get_image_url |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
get_history |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
_ws_get_images |
|
0% |
21 |
21 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
comfyui_upload_image |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
_apply_workflow_nodes |
|
0% |
36 |
36 |
0 |
|
0% |
48 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
comfyui_create_image |
|
0% |
18 |
18 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
comfyui_edit_image |
|
0% |
18 |
18 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/images/comfyui.py |
(no function) |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/json_codec.py |
ORJSONCodec.dumps |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/json_codec.py |
ORJSONCodec.loads |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/json_codec.py |
dumps_bytes |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/json_codec.py |
(no function) |
|
40% |
20 |
12 |
0 |
|
50% |
2 |
1 |
|
41% |
| open_webui/utils/json_response.py |
apply_orjson_http_json |
|
29% |
7 |
5 |
0 |
|
50% |
2 |
1 |
|
33% |
| open_webui/utils/json_response.py |
apply_orjson_http_json.render |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/json_response.py |
apply_orjson_http_json.request_json |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/json_response.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/logger.py |
stdout_format |
|
60% |
5 |
2 |
0 |
|
50% |
2 |
1 |
|
57% |
| open_webui/utils/logger.py |
_json_sink |
|
0% |
18 |
18 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/logger.py |
InterceptHandler.emit |
|
60% |
15 |
6 |
0 |
|
50% |
6 |
1 |
|
57% |
| open_webui/utils/logger.py |
InterceptHandler._get_extras |
|
22% |
9 |
7 |
0 |
|
25% |
4 |
1 |
|
23% |
| open_webui/utils/logger.py |
file_format |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/logger.py |
start_logger |
|
75% |
20 |
5 |
0 |
|
75% |
8 |
2 |
|
75% |
| open_webui/utils/logger.py |
(no function) |
|
94% |
17 |
1 |
0 |
|
50% |
2 |
1 |
|
89% |
| open_webui/utils/mcp/client.py |
_build_httpx_client |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
create_httpx_client |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
create_insecure_httpx_client |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.connect |
|
0% |
13 |
13 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.list_tool_specs |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.call_tool |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.list_resources |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.read_resource |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.disconnect |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.__aenter__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
MCPClient.__aexit__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/mcp/client.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/memory.py |
clean_memory_content |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/memory.py |
clean_memory_path |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| open_webui/utils/memory.py |
memory_vector_text |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/memory.py |
memory_label |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/memory.py |
_path_parts |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/memory.py |
_parent_path |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/memory.py |
_path_rank |
|
73% |
22 |
6 |
0 |
|
62% |
16 |
6 |
|
68% |
| open_webui/utils/memory.py |
_memory_matches_query |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/memory.py |
search_memory_rows |
|
93% |
15 |
1 |
0 |
|
88% |
8 |
1 |
|
91% |
| open_webui/utils/memory.py |
search_memory_rows.related |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/memory.py |
search_memory_rows.sort_key |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/memory.py |
list_memory_path_groups |
|
83% |
24 |
4 |
0 |
|
75% |
12 |
1 |
|
81% |
| open_webui/utils/memory.py |
read_memory_path_rows |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/memory.py |
read_memory_path_rows.selected |
|
80% |
5 |
1 |
0 |
|
75% |
4 |
1 |
|
78% |
| open_webui/utils/memory.py |
read_memory_path_rows.sort_key |
|
40% |
5 |
3 |
0 |
|
25% |
4 |
1 |
|
33% |
| open_webui/utils/memory.py |
memory_path_hints |
|
0% |
17 |
17 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/memory.py |
validate_memory_operations |
|
96% |
27 |
1 |
0 |
|
90% |
20 |
2 |
|
94% |
| open_webui/utils/memory.py |
model_allows_memory |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/memory.py |
add_memory_context |
|
0% |
83 |
83 |
0 |
|
0% |
50 |
0 |
|
0% |
| open_webui/utils/memory.py |
review_memory_after_turn |
|
0% |
23 |
23 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/memory.py |
review_memory_after_turn.log_failure |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/memory.py |
_review_memory |
|
0% |
27 |
27 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/memory.py |
_generate_memory_operations |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/memory.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/middleware.py |
_is_tool_result_error |
|
0% |
25 |
25 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/middleware.py |
normalize_messages_for_model |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/middleware.py |
publish_chat_finished_event |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
_start_tag_pattern |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
output_id |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/middleware.py |
build_terminal_file_tool_result |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/middleware.py |
tool_result_content |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
append_to_text_field |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
merge_streamed_reasoning_details |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
_split_tool_calls |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/middleware.py |
_split_tool_calls.split_json_objects |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_citation_source_from_tool_result |
|
0% |
43 |
43 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/middleware.py |
deep_merge |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_response_completion_event_data |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
handle_responses_streaming_event |
|
0% |
200 |
200 |
0 |
|
0% |
122 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_source_context |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/middleware.py |
apply_source_context_to_messages |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
extract_base64_images |
|
0% |
12 |
12 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
store_tool_result_image |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
process_tool_result |
|
0% |
103 |
103 |
0 |
|
0% |
72 |
0 |
|
0% |
| open_webui/utils/middleware.py |
parse_terminal_tool_result |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/middleware.py |
terminal_event_handler |
|
0% |
21 |
21 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/middleware.py |
chat_completion_tools_handler |
|
0% |
44 |
44 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/middleware.py |
chat_completion_tools_handler.get_content_from_response |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
chat_completion_tools_handler.get_tools_function_calling_payload |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
chat_completion_tools_handler.tool_call_handler |
|
0% |
39 |
39 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/middleware.py |
chat_web_search_handler |
|
0% |
54 |
54 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_images_from_messages |
|
0% |
11 |
11 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_image_urls |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
add_file_context |
|
0% |
21 |
21 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
add_file_context.format_file_tag |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
chat_image_generation_handler |
|
0% |
87 |
87 |
0 |
|
0% |
34 |
0 |
|
0% |
| open_webui/utils/middleware.py |
chat_completion_files_handler |
|
0% |
45 |
45 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/middleware.py |
convert_url_images_to_base64 |
|
0% |
34 |
34 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/utils/middleware.py |
load_messages_from_db |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_reasoning_format |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
strip_reasoning_details |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/middleware.py |
process_messages_with_output |
|
0% |
14 |
14 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
sanitize_tool_pairs |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
connect_mcp_server |
|
0% |
21 |
21 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/middleware.py |
process_chat_payload |
|
0% |
376 |
376 |
0 |
|
0% |
226 |
0 |
|
0% |
| open_webui/utils/middleware.py |
process_chat_payload.make_tool_function |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/middleware.py |
process_chat_payload.make_tool_function.tool_function |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_event_emitter_and_caller |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
build_chat_response_context |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
execute_tool_call_for_output |
|
0% |
39 |
39 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/middleware.py |
drain_approved_tool_calls |
|
0% |
73 |
73 |
0 |
|
0% |
42 |
0 |
|
0% |
| open_webui/utils/middleware.py |
pause_for_tool_approval |
|
0% |
12 |
12 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_response_data |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/middleware.py |
merge_events_into_response |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
build_response_object |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
update_assistant_message_from_stream |
|
0% |
47 |
47 |
0 |
|
0% |
32 |
0 |
|
0% |
| open_webui/utils/middleware.py |
update_assistant_message_from_stream.append_output_text |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
get_system_oauth_token |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
background_tasks_handler |
|
0% |
88 |
88 |
0 |
|
0% |
52 |
0 |
|
0% |
| open_webui/utils/middleware.py |
outlet_filter_handler |
|
0% |
63 |
63 |
0 |
|
0% |
32 |
0 |
|
0% |
| open_webui/utils/middleware.py |
non_streaming_chat_response_handler |
|
0% |
82 |
82 |
0 |
|
0% |
40 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler |
|
0% |
60 |
60 |
0 |
|
0% |
24 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler |
|
0% |
318 |
318 |
0 |
|
0% |
156 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler |
|
0% |
94 |
94 |
0 |
|
0% |
42 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler.extract_attributes |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler.get_last_text |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler.set_last_text |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler.get_scanned_length |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler.save_scanned_length |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler.clear_scanned_length |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.tag_output_handler.get_tag_boundaries |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.full_output |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.get_message_error_content |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.emit_message_error |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.stream_body_handler |
|
0% |
318 |
318 |
0 |
|
0% |
196 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.stream_body_handler.save_current_response_stream |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.stream_body_handler.get_response_delta_key |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.stream_body_handler.get_response_data_with_full_output_index |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.stream_body_handler.flush_pending_delta_data |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.stream_body_handler.queue_pending_delta_data |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.stream_body_handler.emit_response_completion_event |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.emit_output |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.parse_tool_params |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
streaming_chat_response_handler.response_handler.execute_tool_call |
|
0% |
23 |
23 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/middleware.py |
process_chat_response |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/middleware.py |
(no function) |
|
100% |
122 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/misc.py |
deep_update |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
merge_model_params |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_response_error_detail |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/misc.py |
_strip_filter_entry |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_allow_block_lists |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/misc.py |
is_string_allowed |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/misc.py |
as_network |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
_host_matches_pattern |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
is_host_allowed |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/misc.py |
is_host_blocked |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_message_list |
|
93% |
14 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| open_webui/utils/misc.py |
get_messages_content |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_last_user_message_item |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_content_from_message |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_output_text |
|
15% |
13 |
11 |
0 |
|
10% |
10 |
1 |
|
13% |
| open_webui/utils/misc.py |
reconcile_tool_pairs |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_reasoning_details |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
convert_output_to_messages |
|
0% |
81 |
81 |
0 |
|
0% |
56 |
0 |
|
0% |
| open_webui/utils/misc.py |
convert_output_to_messages.flush_pending |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/misc.py |
convert_output_to_messages.flush_tool_images |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
convert_output_to_messages.flush_tool_outputs |
|
0% |
22 |
22 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_last_user_message |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
set_last_user_message_content |
|
0% |
10 |
10 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_last_assistant_message_item |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_last_assistant_message |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_system_message |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
remove_system_message |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
pop_system_message |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
merge_system_messages |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/misc.py |
update_message_content |
|
0% |
10 |
10 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/misc.py |
replace_system_message_content |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
add_or_update_system_message |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
add_or_update_user_message |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
prepend_to_first_user_message_content |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
append_or_update_assistant_message |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
strip_empty_content_blocks |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/misc.py |
openai_chat_message_template |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
openai_chat_chunk_message_template |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/misc.py |
openai_chat_completion_message_template |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/misc.py |
get_gravatar_url |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/misc.py |
calculate_sha256 |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/misc.py |
calculate_sha256_string |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/misc.py |
validate_email_format |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/utils/misc.py |
sanitize_filename |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
json_text_variants |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/misc.py |
sanitize_text_for_db |
|
80% |
5 |
1 |
0 |
|
75% |
4 |
1 |
|
78% |
| open_webui/utils/misc.py |
_strip_null_bytes_deep |
|
100% |
10 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| open_webui/utils/misc.py |
sanitize_data_for_db |
|
80% |
10 |
2 |
0 |
|
100% |
4 |
0 |
|
86% |
| open_webui/utils/misc.py |
sanitize_metadata |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/utils/misc.py |
sanitize_metadata._sanitize |
|
46% |
13 |
7 |
0 |
|
62% |
8 |
1 |
|
52% |
| open_webui/utils/misc.py |
sanitize_metadata._is_serializable |
|
29% |
7 |
5 |
0 |
|
50% |
2 |
1 |
|
33% |
| open_webui/utils/misc.py |
extract_folders_after_data_docs |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
parse_duration |
|
68% |
22 |
7 |
0 |
|
56% |
18 |
8 |
|
62% |
| open_webui/utils/misc.py |
parse_ollama_modelfile |
|
0% |
42 |
42 |
0 |
|
0% |
26 |
0 |
|
0% |
| open_webui/utils/misc.py |
convert_logit_bias_input_to_json |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/misc.py |
freeze |
|
40% |
5 |
3 |
0 |
|
25% |
4 |
1 |
|
33% |
| open_webui/utils/misc.py |
throttle |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/misc.py |
throttle.decorator |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| open_webui/utils/misc.py |
throttle.decorator.wrapper |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| open_webui/utils/misc.py |
strict_match_mime_type |
|
50% |
18 |
9 |
0 |
|
30% |
10 |
1 |
|
43% |
| open_webui/utils/misc.py |
is_raster_image_content_type |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
extract_urls |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/misc.py |
cleanup_response |
|
0% |
10 |
10 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/misc.py |
stream_wrapper |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
stream_chunks_handler |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/misc.py |
stream_chunks_handler.yield_safe_stream_chunks |
|
0% |
22 |
22 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/misc.py |
(no function) |
|
100% |
78 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/model_ids.py |
strip_provider_model_prefix |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| open_webui/utils/model_ids.py |
(no function) |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/models.py |
fetch_ollama_models |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/models.py |
fetch_openai_models |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/models.py |
get_all_base_models |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/models.py |
get_all_models |
|
10% |
205 |
184 |
0 |
|
7% |
112 |
6 |
|
9% |
| open_webui/utils/models.py |
get_all_models.get_action_items_from_module |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/models.py |
get_all_models.get_filter_items_from_module |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/models.py |
get_all_models.get_action_priority |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/models.py |
check_model_access |
|
0% |
19 |
19 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/models.py |
get_filtered_models |
|
8% |
26 |
24 |
0 |
|
5% |
20 |
1 |
|
7% |
| open_webui/utils/models.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/notifications.py |
_normalize_target |
|
0% |
34 |
34 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/utils/notifications.py |
_public_target |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/notifications.py |
_load_notifications |
|
12% |
25 |
22 |
0 |
|
0% |
14 |
2 |
|
8% |
| open_webui/utils/notifications.py |
list_targets |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/notifications.py |
create_target |
|
12% |
17 |
15 |
0 |
|
0% |
6 |
0 |
|
9% |
| open_webui/utils/notifications.py |
update_target |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/notifications.py |
delete_target |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/notifications.py |
set_default_target |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/notifications.py |
get_notification_event_catalog |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/notifications.py |
_find_target |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/notifications.py |
_send_webhook |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/notifications.py |
_notification_webhook_content |
|
12% |
34 |
30 |
0 |
|
0% |
12 |
0 |
|
9% |
| open_webui/utils/notifications.py |
test_target |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/notifications.py |
notify_target |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/notifications.py |
dispatch_notification_event |
|
11% |
19 |
17 |
0 |
|
8% |
12 |
1 |
|
10% |
| open_webui/utils/notifications.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/oauth.py |
_default_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/oauth.py |
_get_roles_claim |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/oauth.py |
get_oauth_runtime_config |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/oauth.py |
_normalize_token_expiry |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/oauth.py |
encrypt_data |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/oauth.py |
decrypt_data |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/oauth.py |
_build_oauth_callback_error_message |
|
0% |
20 |
20 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/oauth.py |
is_in_blocked_groups |
|
0% |
17 |
17 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/oauth.py |
_parse_blocked_groups |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/oauth.py |
get_parsed_and_base_url |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/oauth.py |
ProtectedResourceMetadata.get_discovery_urls |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| open_webui/utils/oauth.py |
get_protected_resource_metadata |
|
23% |
39 |
30 |
0 |
|
0% |
14 |
0 |
|
17% |
| open_webui/utils/oauth.py |
_build_well_known_urls |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/oauth.py |
get_discovery_urls |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/oauth.py |
get_oauth_client_info_with_dynamic_client_registration |
|
32% |
59 |
40 |
0 |
|
25% |
16 |
2 |
|
31% |
| open_webui/utils/oauth.py |
get_oauth_client_info_with_static_credentials |
|
50% |
30 |
15 |
0 |
|
17% |
6 |
1 |
|
44% |
| open_webui/utils/oauth.py |
resolve_oauth_client_info |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/oauth.py |
normalize_oauth_resource_parameter |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
get_connection_oauth_resource_parameter |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/oauth.py |
apply_connection_oauth_options |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
scope_has_resource_indicator |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
should_send_oauth_resource |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/oauth.py |
build_oauth_request_params |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/oauth.py |
recover_static_oauth_client_metadata |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/oauth.py |
OAuthClientManager.add_client |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager.ensure_client_from_config |
|
22% |
32 |
25 |
0 |
|
29% |
14 |
2 |
|
24% |
| open_webui/utils/oauth.py |
OAuthClientManager.remove_client |
|
0% |
10 |
10 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager._preflight_authorization_url |
|
0% |
38 |
38 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager.get_client |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| open_webui/utils/oauth.py |
OAuthClientManager.get_client_info |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| open_webui/utils/oauth.py |
OAuthClientManager.get_server_metadata_url |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager.get_oauth_token |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager._refresh_token |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager._perform_token_refresh |
|
0% |
44 |
44 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager.handle_authorize |
|
0% |
21 |
21 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthClientManager.handle_callback |
|
6% |
54 |
51 |
0 |
|
4% |
24 |
1 |
|
5% |
| open_webui/utils/oauth.py |
OAuthManager.__init__ |
|
44% |
9 |
5 |
0 |
|
25% |
4 |
1 |
|
38% |
| open_webui/utils/oauth.py |
OAuthManager.get_client |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager.get_server_metadata_url |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager.get_oauth_token |
|
0% |
29 |
29 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager._refresh_token |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager._perform_token_refresh |
|
0% |
42 |
42 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager.get_user_role |
|
0% |
59 |
59 |
0 |
|
0% |
34 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager.update_user_role_from_oauth |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager.update_user_groups |
|
2% |
65 |
64 |
0 |
|
0% |
36 |
2 |
|
1% |
| open_webui/utils/oauth.py |
OAuthManager._process_picture_url |
|
0% |
23 |
23 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/oauth.py |
OAuthManager.handle_login |
|
33% |
15 |
10 |
0 |
|
30% |
10 |
1 |
|
32% |
| open_webui/utils/oauth.py |
OAuthManager.handle_callback |
|
5% |
185 |
176 |
0 |
|
3% |
102 |
1 |
|
4% |
| open_webui/utils/oauth.py |
OAuthManager.handle_backchannel_logout |
|
0% |
90 |
90 |
0 |
|
0% |
38 |
0 |
|
0% |
| open_webui/utils/oauth.py |
(no function) |
|
97% |
129 |
4 |
0 |
|
50% |
2 |
1 |
|
96% |
| open_webui/utils/payload.py |
resolve_system_prompt |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/payload.py |
apply_system_prompt_to_body |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/payload.py |
apply_model_params_to_body |
|
0% |
10 |
10 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/payload.py |
apply_params_to_form_data |
|
0% |
29 |
29 |
0 |
|
0% |
22 |
0 |
|
0% |
| open_webui/utils/payload.py |
remove_open_webui_params |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/payload.py |
apply_model_params_to_body_openai |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/payload.py |
apply_model_params_to_body_ollama |
|
0% |
24 |
24 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/payload.py |
apply_model_params_to_body_ollama.parse_json |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/payload.py |
convert_messages_openai_to_ollama |
|
0% |
38 |
38 |
0 |
|
0% |
28 |
0 |
|
0% |
| open_webui/utils/payload.py |
convert_payload_openai_to_ollama |
|
0% |
43 |
43 |
0 |
|
0% |
24 |
0 |
|
0% |
| open_webui/utils/payload.py |
convert_payload_openai_to_ollama.parse_json |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/payload.py |
convert_embedding_payload_openai_to_ollama |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/payload.py |
convert_embed_payload_openai_to_ollama |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/payload.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/plugin.py |
resolve_valves_schema_options |
|
0% |
50 |
50 |
0 |
|
0% |
28 |
0 |
|
0% |
| open_webui/utils/plugin.py |
extract_frontmatter |
|
35% |
23 |
15 |
0 |
|
8% |
12 |
1 |
|
26% |
| open_webui/utils/plugin.py |
replace_imports |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/plugin.py |
load_tool_module_by_id |
|
73% |
33 |
9 |
0 |
|
40% |
10 |
4 |
|
65% |
| open_webui/utils/plugin.py |
load_function_module_by_id |
|
70% |
40 |
12 |
0 |
|
44% |
16 |
7 |
|
62% |
| open_webui/utils/plugin.py |
_state_cache |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/plugin.py |
get_tools_cache |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/plugin.py |
get_tool_contents_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/plugin.py |
get_functions_cache |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/plugin.py |
get_function_contents_cache |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/plugin.py |
get_tool_module_from_cache |
|
0% |
22 |
22 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/plugin.py |
get_function_module_from_cache |
|
0% |
23 |
23 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/plugin.py |
install_frontmatter_requirements |
|
21% |
19 |
15 |
0 |
|
25% |
8 |
2 |
|
22% |
| open_webui/utils/plugin.py |
install_tool_and_function_dependencies |
|
42% |
19 |
11 |
0 |
|
25% |
12 |
3 |
|
35% |
| open_webui/utils/plugin.py |
(no function) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/rate_limit.py |
RateLimiter.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/rate_limit.py |
RateLimiter._bucket_key |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/rate_limit.py |
RateLimiter._current_bucket |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/rate_limit.py |
RateLimiter._prune_memory_store |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/rate_limit.py |
RateLimiter.is_limited |
|
38% |
8 |
5 |
0 |
|
50% |
4 |
2 |
|
42% |
| open_webui/utils/rate_limit.py |
RateLimiter.get_count |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/rate_limit.py |
RateLimiter.remaining |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/rate_limit.py |
RateLimiter._is_limited_redis |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/rate_limit.py |
RateLimiter._get_count_redis |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/rate_limit.py |
RateLimiter._is_limited_memory |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/rate_limit.py |
RateLimiter._get_count_memory |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/rate_limit.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/recurrence.py |
_resolve_tz |
|
29% |
7 |
5 |
0 |
|
50% |
2 |
1 |
|
33% |
| open_webui/utils/recurrence.py |
_parse_rule |
|
0% |
32 |
32 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/recurrence.py |
_next_occurrences |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/recurrence.py |
_get_next_occurrences |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| open_webui/utils/recurrence.py |
validate_rrule |
|
69% |
13 |
4 |
0 |
|
25% |
4 |
1 |
|
59% |
| open_webui/utils/recurrence.py |
next_run_ns |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/recurrence.py |
next_n_runs_ns |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/recurrence.py |
rrule_interval_seconds |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/recurrence.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/redis.py |
parse_redis_url |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/redis.py |
get_sentinels_from_env |
|
50% |
4 |
2 |
0 |
|
50% |
2 |
1 |
|
50% |
| open_webui/utils/redis.py |
build_sentinel_url |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/redis.py |
get_redis_client |
|
38% |
8 |
5 |
0 |
|
50% |
2 |
1 |
|
40% |
| open_webui/utils/redis.py |
SentinelRedisProxy.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy.__getattr__ |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._resolve_master |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._clear_master |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._should_retry |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._log_retry |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._log_exhausted |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_async |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_async_gen |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_async_gen.wrapper |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_async_gen.wrapper._inner |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_async_call |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_async_call.wrapper |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_sync |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
SentinelRedisProxy._wrap_sync.wrapper |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/redis.py |
_socket_options |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/redis.py |
_build_sentinel |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/redis.py |
get_redis_connection |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/redis.py |
(no function) |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/response.py |
normalize_usage |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/response.py |
_is_numeric_usage_value |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/response.py |
_merge_numeric_usage_map |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/response.py |
merge_usage |
|
0% |
19 |
19 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/response.py |
convert_ollama_tool_call_to_openai |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/response.py |
convert_ollama_usage_to_openai |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/response.py |
convert_response_ollama_to_openai |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/response.py |
convert_streaming_response_ollama_to_openai |
|
0% |
27 |
27 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/response.py |
convert_embedding_response_ollama_to_openai |
|
0% |
13 |
13 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/response.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/sanitize.py |
strip_ansi_codes |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/sanitize.py |
strip_markdown_code_fences |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/sanitize.py |
sanitize_code |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/sanitize.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/security_headers.py |
set_security_headers |
|
67% |
9 |
3 |
0 |
|
50% |
6 |
1 |
|
60% |
| open_webui/utils/security_headers.py |
set_hsts |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_xframe |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_permissions_policy |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_referrer |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_cache_control |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_xdownload_options |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_xcontent_type |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_xpermitted_cross_domain_policies |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_content_security_policy |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_content_security_policy_report_only |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_cross_origin_embedder_policy |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_cross_origin_opener_policy |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_cross_origin_resource_policy |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
set_reporting_endpoints |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/security_headers.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/session_pool.py |
get_client_timeout |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/session_pool.py |
get_session |
|
85% |
13 |
2 |
0 |
|
67% |
6 |
2 |
|
79% |
| open_webui/utils/session_pool.py |
close_session |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| open_webui/utils/session_pool.py |
cleanup_response |
|
20% |
10 |
8 |
0 |
|
17% |
12 |
2 |
|
18% |
| open_webui/utils/session_pool.py |
stream_wrapper |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/session_pool.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/skills.py |
_get_text_parts |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/skills.py |
extract_skill_ids_from_messages |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/skills.py |
_build_skill_create_prompt |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/skills.py |
_message_has_real_content |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/skills.py |
has_prior_real_chat_content |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/skills.py |
_build_skill_create_gate_prompt |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/skills.py |
apply_skills_create_prompt |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/skills.py |
strip_skill_mentions |
|
0% |
11 |
11 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/skills.py |
strip_skill_mentions.label |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/skills.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/task.py |
get_task_model_id |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/task.py |
prompt_variables_template |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/task.py |
prompt_template |
|
0% |
44 |
44 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/task.py |
replace_prompt_variable |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
replace_prompt_variable.replacement_function |
|
0% |
18 |
18 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/task.py |
truncate_content |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/task.py |
apply_content_filter |
|
0% |
26 |
26 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/task.py |
replace_messages_variable |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
replace_messages_variable.replacement_function |
|
0% |
29 |
29 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/task.py |
rag_template |
|
0% |
23 |
23 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/task.py |
title_generation_template |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
follow_up_generation_template |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
tags_generation_template |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
image_prompt_generation_template |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
emoji_generation_template |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
autocomplete_generation_template |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
query_generation_template |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
moa_response_generation_template |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
moa_response_generation_template.replacement_function |
|
0% |
18 |
18 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/task.py |
tools_function_calling_generation_template |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/task.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/terminals.py |
is_terminal_orchestrator |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/terminals.py |
get_terminal_server_url |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| open_webui/utils/terminals.py |
terminal_context_config |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/terminals.py |
terminal_context_available |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/terminals.py |
terminal_context_id |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/terminals.py |
terminal_contexts |
|
29% |
17 |
12 |
0 |
|
21% |
14 |
1 |
|
26% |
| open_webui/utils/terminals.py |
terminal_chat_uploads |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/terminals.py |
get_terminal_request_info |
|
0% |
41 |
41 |
0 |
|
0% |
18 |
0 |
|
0% |
| open_webui/utils/terminals.py |
get_terminal_agents_md |
|
0% |
33 |
33 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/terminals.py |
add_terminal_agents_md |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/terminals.py |
get_terminal_skill |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/terminals.py |
format_terminal_skill_context |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/terminals.py |
format_terminal_skill_manifest_entry |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/terminals.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/timers.py |
parse_timer_at |
|
0% |
20 |
20 |
0 |
|
0% |
10 |
0 |
|
0% |
| open_webui/utils/timers.py |
create_timer |
|
7% |
27 |
25 |
0 |
|
0% |
12 |
0 |
|
5% |
| open_webui/utils/timers.py |
claim_due_timers |
|
64% |
14 |
5 |
0 |
|
50% |
4 |
2 |
|
61% |
| open_webui/utils/timers.py |
cancel_timers_for_chat |
|
9% |
11 |
10 |
0 |
|
0% |
4 |
0 |
|
7% |
| open_webui/utils/timers.py |
execute_due_timer |
|
10% |
98 |
88 |
0 |
|
0% |
34 |
2 |
|
8% |
| open_webui/utils/timers.py |
_set_timer_state |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/timers.py |
(no function) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/tool_approval.py |
resolve_tool_call_output |
|
29% |
38 |
27 |
0 |
|
27% |
22 |
2 |
|
28% |
| open_webui/utils/tool_approval.py |
build_tool_approval_resume_payload |
|
0% |
26 |
26 |
0 |
|
0% |
14 |
0 |
|
0% |
| open_webui/utils/tool_approval.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/tools.py |
build_tool_server_headers |
|
0% |
33 |
33 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_async_tool_function_and_apply_extra_params |
|
0% |
25 |
25 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_async_tool_function_and_apply_extra_params.coerce_kwargs |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_async_tool_function_and_apply_extra_params.new_function |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_updated_tool_function |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_tools |
|
0% |
98 |
98 |
0 |
|
0% |
56 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_attached_knowledge |
|
0% |
23 |
23 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_builtin_tools |
|
0% |
81 |
81 |
0 |
|
0% |
58 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_builtin_tools.get_model_capability |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_builtin_tools.is_builtin_tool_enabled |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_builtin_tools.has_user_permission |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_builtin_tools.has_user_chat_permission |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/tools.py |
parse_description |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/tools.py |
parse_docstring |
|
0% |
20 |
20 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/tools.py |
convert_function_to_pydantic_model |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/tools.py |
clean_properties |
|
0% |
17 |
17 |
0 |
|
0% |
16 |
0 |
|
0% |
| open_webui/utils/tools.py |
clean_openai_tool_schema |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/tools.py |
add_terminal_display_file_inline_param |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_builtin_function_introspection |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
build_builtin_tool_spec_json |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_builtin_tool_spec |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_functions_from_tool |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_tool_specs |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
resolve_schema |
|
0% |
24 |
24 |
0 |
|
0% |
20 |
0 |
|
0% |
| open_webui/utils/tools.py |
convert_openapi_to_tool_payload |
|
0% |
55 |
55 |
0 |
|
0% |
46 |
0 |
|
0% |
| open_webui/utils/tools.py |
set_tool_servers |
|
73% |
11 |
3 |
0 |
|
50% |
2 |
1 |
|
69% |
| open_webui/utils/tools.py |
get_tool_servers |
|
38% |
16 |
10 |
0 |
|
33% |
6 |
2 |
|
36% |
| open_webui/utils/tools.py |
get_terminal_cwd |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_terminal_system_prompt |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/tools.py |
set_terminal_servers |
|
93% |
15 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| open_webui/utils/tools.py |
set_terminal_servers._fetch_system_prompt |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_terminal_servers |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_terminal_tools |
|
0% |
54 |
54 |
0 |
|
0% |
32 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_terminal_tools.make_tool_function |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_terminal_tools.make_tool_function.tool_function |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_tool_server_data |
|
47% |
30 |
16 |
0 |
|
38% |
8 |
1 |
|
45% |
| open_webui/utils/tools.py |
get_tool_servers_data |
|
59% |
51 |
21 |
0 |
|
47% |
30 |
4 |
|
54% |
| open_webui/utils/tools.py |
execute_tool_server |
|
0% |
113 |
113 |
0 |
|
0% |
66 |
0 |
|
0% |
| open_webui/utils/tools.py |
get_tool_server_url |
|
86% |
7 |
1 |
0 |
|
83% |
6 |
1 |
|
85% |
| open_webui/utils/tools.py |
(no function) |
|
100% |
66 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/validate.py |
validate_image_url |
|
61% |
18 |
7 |
0 |
|
56% |
16 |
3 |
|
59% |
| open_webui/utils/validate.py |
validate_background_image |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/validate.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/valves.py |
_fernet |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/valves.py |
encrypt_valves |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| open_webui/utils/valves.py |
decrypt_valves |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| open_webui/utils/valves.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/utils/webhook.py |
_event_text |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| open_webui/utils/webhook.py |
post_webhook |
|
0% |
36 |
36 |
0 |
|
0% |
12 |
0 |
|
0% |
| open_webui/utils/webhook.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |