| src / openenv / __init__.py |
(no function) |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / __main__.py |
(no function) |
|
100.00% |
1 |
0 |
2 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / __init__.py |
(no function) |
|
100.00% |
0 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
BotRecord.display_name |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
BotRecord.role |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
RunningBotRecord.display_name |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
RunningBotRecord.slug |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
bots_root |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
all_bots_compose_path |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_resolve_bot_manifest_path |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_preferred_lockfile_path |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
discover_bots |
|
100.00% |
14 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
create_bot |
|
100.00% |
11 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
update_bot |
|
100.00% |
23 |
0 |
0 |
|
100.00% |
8 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
delete_bot |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
load_bot |
|
100.00% |
6 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
discover_running_bots |
|
90.91% |
11 |
1 |
0 |
|
83.33% |
6 |
1 |
|
88.24% |
| src / openenv / bots / manager.py |
preview_running_bot_logs |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
create_skill_snapshot |
|
93.75% |
16 |
1 |
0 |
|
50.00% |
4 |
2 |
|
85.00% |
| src / openenv / bots / manager.py |
generate_bot_artifacts |
|
100.00% |
19 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
generate_all_bots_stack |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_materialize_all_bots_runtime |
|
96.15% |
26 |
1 |
0 |
|
83.33% |
6 |
1 |
|
93.75% |
| src / openenv / bots / manager.py |
_merge_required_shared_env_values |
|
93.75% |
16 |
1 |
0 |
|
64.29% |
14 |
5 |
|
80.00% |
| src / openenv / bots / manager.py |
_collect_env_placeholders |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
10 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_write_shared_bot_workspace |
|
100.00% |
12 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_sync_shared_agent_state_from_main |
|
91.67% |
12 |
1 |
0 |
|
87.50% |
8 |
1 |
|
90.00% |
| src / openenv / bots / manager.py |
_merge_shared_channel_configs |
|
83.33% |
6 |
1 |
0 |
|
83.33% |
6 |
1 |
|
83.33% |
| src / openenv / bots / manager.py |
_map_shared_host_path |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
improve_bot_markdown_documents |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
improve_bot_markdown_documents.write_document |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
build_bot_manifest |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
interactive_menu |
|
100.00% |
30 |
0 |
0 |
|
100.00% |
12 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_interactive_browse_bots |
|
100.00% |
21 |
0 |
0 |
|
100.00% |
8 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_interactive_browse_running_bots |
|
100.00% |
16 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_show_bots |
|
100.00% |
10 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_show_running_bots |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_interactive_bot_actions |
|
100.00% |
31 |
0 |
0 |
|
100.00% |
8 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_interactive_running_bot_actions |
|
91.18% |
34 |
3 |
0 |
|
92.86% |
14 |
1 |
|
91.67% |
| src / openenv / bots / manager.py |
_interactive_add_bot |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_interactive_edit_bot |
|
100.00% |
16 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_interactive_delete_bot |
|
100.00% |
17 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_prompt_nonempty |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_prompt_with_default |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_prompt_csv |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_prompt_csv_with_default |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_select_bot |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_bot_from_selection |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_running_bot_from_selection |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_select_language |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_normalize_language |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_require_language |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_message |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_answers_from_record |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_write_agent_docs |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_write_agent_doc |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_memory_seed_text |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_resolve_openrouter_api_key |
|
100.00% |
10 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_ensure_bot_agent_documents_materialized |
|
95.24% |
21 |
1 |
0 |
|
90.00% |
10 |
1 |
|
93.55% |
| src / openenv / bots / manager.py |
_bot_document_context |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_bot_documents |
|
100.00% |
6 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_normalize_markdown_content |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_unique_paths |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_render_tools_markdown |
|
100.00% |
19 |
0 |
0 |
|
87.50% |
8 |
1 |
|
96.30% |
| src / openenv / bots / manager.py |
_unique_preserving_order |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_compose_path_for_bot |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_container_name_for_bot |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_load_running_bot |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / bots / manager.py |
_apply_skill_snapshot |
|
100.00% |
12 |
0 |
0 |
|
83.33% |
6 |
1 |
|
94.44% |
| src / openenv / bots / manager.py |
_hydrate_skill_from_snapshot |
|
100.00% |
13 |
0 |
0 |
|
50.00% |
8 |
4 |
|
80.95% |
| src / openenv / bots / manager.py |
(no function) |
|
100.00% |
153 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
build_parser |
|
100.00% |
34 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
main |
|
93.10% |
29 |
2 |
0 |
|
93.75% |
16 |
1 |
|
93.33% |
| src / openenv / cli.py |
_handle_init |
|
100.00% |
6 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / cli.py |
_handle_validate |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
_handle_lock |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
_handle_scan |
|
100.00% |
8 |
0 |
0 |
|
50.00% |
2 |
1 |
|
90.00% |
| src / openenv / cli.py |
_handle_export_dockerfile |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / cli.py |
_handle_build |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
_handle_export_compose |
|
100.00% |
14 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
_configure_logging |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
_render_locked_dockerfile |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
_load_and_verify_lockfile |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / cli.py |
_default_compose_path |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / cli.py |
_resolve_manifest_path_argument |
|
50.00% |
6 |
3 |
0 |
|
25.00% |
4 |
1 |
|
40.00% |
| src / openenv / cli.py |
_resolve_lock_path_argument |
|
84.62% |
13 |
2 |
0 |
|
50.00% |
8 |
4 |
|
71.43% |
| src / openenv / cli.py |
_write_compose_bundle |
|
100.00% |
15 |
0 |
0 |
|
75.00% |
4 |
1 |
|
94.74% |
| src / openenv / cli.py |
_log_manifest_security_advisories |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / cli.py |
_log_runtime_env_advisories |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / cli.py |
(no function) |
|
100.00% |
40 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / __init__.py |
(no function) |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / errors.py |
CommandError.__init__ |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / errors.py |
(no function) |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
_clone_json_value |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / core / models.py |
ProjectConfig.to_dict |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
SecretRef.to_dict |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
AccessConfig.to_dict |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
RuntimeConfig.to_dict |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
AgentConfig.to_dict |
|
100.00% |
6 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / core / models.py |
SkillConfig.to_dict |
|
100.00% |
6 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / core / models.py |
SkillConfig.rendered_content |
|
85.71% |
7 |
1 |
0 |
|
75.00% |
4 |
1 |
|
81.82% |
| src / openenv / core / models.py |
SkillConfig.snapshot |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
SandboxConfig.to_dict |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
OpenClawConfig.config_path |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
OpenClawConfig.agent_dir |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
OpenClawConfig.to_dict |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / core / models.py |
OpenClawConfig.to_openclaw_json |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / core / models.py |
OpenClawConfig.agent_definition |
|
100.00% |
7 |
0 |
0 |
|
50.00% |
4 |
2 |
|
81.82% |
| src / openenv / core / models.py |
OpenClawConfig._openclaw_sandbox |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / core / models.py |
OpenClawConfig._sandbox_mode |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / core / models.py |
OpenClawConfig._workspace_access |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
Manifest.to_dict |
|
75.00% |
4 |
1 |
0 |
|
50.00% |
2 |
1 |
|
66.67% |
| src / openenv / core / models.py |
Manifest.workspace_files |
|
100.00% |
15 |
0 |
0 |
|
100.00% |
10 |
0 |
|
100.00% |
| src / openenv / core / models.py |
Manifest.source_snapshot |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
Lockfile.to_dict |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / models.py |
(no function) |
|
100.00% |
110 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / security.py |
assess_manifest_security |
|
93.75% |
16 |
1 |
0 |
|
92.86% |
14 |
1 |
|
93.33% |
| src / openenv / core / security.py |
assess_runtime_env_security |
|
100.00% |
10 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / core / security.py |
(no function) |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
mandatory_skill_names |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
catalog_install_dir_name |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
skill_name_for_source |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
build_catalog_skill |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
merge_mandatory_skill_sources |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
ensure_mandatory_skills |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
catalog_skill_specs |
|
90.91% |
11 |
1 |
0 |
|
83.33% |
6 |
1 |
|
88.24% |
| src / openenv / core / skills.py |
is_mandatory_skill_reference |
|
0.00% |
1 |
1 |
0 |
|
100.00% |
0 |
0 |
|
0.00% |
| src / openenv / core / skills.py |
is_mandatory_skill |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / core / skills.py |
(no function) |
|
100.00% |
18 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / utils.py |
stable_json_dumps |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / utils.py |
sha256_text |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / utils.py |
slugify_name |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / utils.py |
encode_payload |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / utils.py |
rewrite_openclaw_home_paths |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / core / utils.py |
(no function) |
|
100.00% |
14 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / __init__.py |
(no function) |
|
100.00% |
0 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / builder.py |
default_image_tag |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / builder.py |
build_image |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / builder.py |
build_image_with_args |
|
100.00% |
12 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / builder.py |
(no function) |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
default_compose_filename |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
default_env_filename |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
all_bots_compose_filename |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
all_bots_env_filename |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
gateway_container_name |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
cli_container_name |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
render_compose |
|
100.00% |
20 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
render_all_bots_compose |
|
96.15% |
26 |
1 |
0 |
|
75.00% |
4 |
1 |
|
93.33% |
| src / openenv / docker / compose.py |
write_compose |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
render_env_file |
|
87.80% |
41 |
5 |
0 |
|
80.00% |
20 |
2 |
|
85.25% |
| src / openenv / docker / compose.py |
render_all_bots_env_file |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
write_env_file |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
prepare_runtime_env_values |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
generate_gateway_token |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_gateway_startup_command |
|
100.00% |
6 |
0 |
0 |
|
50.00% |
2 |
1 |
|
87.50% |
| src / openenv / docker / compose.py |
_catalog_skill_bootstrap_commands |
|
90.91% |
22 |
2 |
0 |
|
83.33% |
12 |
2 |
|
88.24% |
| src / openenv / docker / compose.py |
_catalog_skill_placeholder_paths |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_should_preserve_existing_catalog_skill_stub |
|
71.43% |
7 |
2 |
0 |
|
100.00% |
2 |
0 |
|
77.78% |
| src / openenv / docker / compose.py |
_base_service_environment |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_shared_gateway_environment |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_all_bots_cli_service_name |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_all_bots_cli_container_name |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_effective_runtime_user |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_single_bot_runtime_home |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_shared_runtime_user |
|
66.67% |
3 |
1 |
0 |
|
50.00% |
2 |
1 |
|
60.00% |
| src / openenv / docker / compose.py |
_runtime_capability_lines |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_render_environment |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_quoted |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_sh_quote |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_clawhub_post_install_move |
|
0.00% |
3 |
3 |
0 |
|
0.00% |
2 |
0 |
|
0.00% |
| src / openenv / docker / compose.py |
_rm_target_arguments |
|
0.00% |
4 |
4 |
0 |
|
0.00% |
2 |
0 |
|
0.00% |
| src / openenv / docker / compose.py |
materialize_runtime_mount_tree |
|
95.65% |
23 |
1 |
0 |
|
85.71% |
14 |
2 |
|
91.89% |
| src / openenv / docker / compose.py |
_host_mount_path_for_container_path |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
_join_posix_relative |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / compose.py |
(no function) |
|
100.00% |
89 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
render_dockerfile |
|
100.00% |
26 |
0 |
0 |
|
75.00% |
4 |
1 |
|
96.67% |
| src / openenv / docker / dockerfile.py |
render_runtime_payload |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_render_payload |
|
100.00% |
6 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_directories_for |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_python_package_argument |
|
66.67% |
3 |
1 |
0 |
|
50.00% |
2 |
1 |
|
60.00% |
| src / openenv / docker / dockerfile.py |
_system_packages |
|
100.00% |
7 |
0 |
0 |
|
75.00% |
4 |
1 |
|
90.91% |
| src / openenv / docker / dockerfile.py |
_package_install_lines |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_apk_system_packages |
|
100.00% |
7 |
0 |
0 |
|
75.00% |
4 |
1 |
|
90.91% |
| src / openenv / docker / dockerfile.py |
_python_binary_link_lines |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_python_venv_lines |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_optional_browser_install_lines |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_optional_docker_cli_install_lines |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_global_node_requirements |
|
100.00% |
8 |
0 |
0 |
|
75.00% |
4 |
1 |
|
91.67% |
| src / openenv / docker / dockerfile.py |
_payload_writer_script |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_skill_scan_lines |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_state_link_lines |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_catalog_skill_install_lines |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_runtime_permission_lines |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_effective_runtime_user |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_clawhub_install_command |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_catalog_skill_install_script |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_clawhub_post_install_move |
|
0.00% |
3 |
3 |
0 |
|
0.00% |
2 |
0 |
|
0.00% |
| src / openenv / docker / dockerfile.py |
_rm_target_arguments |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
_escape_label |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / dockerfile.py |
(no function) |
|
100.00% |
46 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / runtime.py |
list_running_container_names |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / runtime.py |
fetch_container_logs |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / runtime.py |
snapshot_installed_skills |
|
100.00% |
22 |
0 |
0 |
|
100.00% |
10 |
0 |
|
100.00% |
| src / openenv / docker / runtime.py |
_run_command |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / docker / runtime.py |
_parse_frontmatter |
|
92.31% |
13 |
1 |
0 |
|
75.00% |
8 |
2 |
|
85.71% |
| src / openenv / docker / runtime.py |
(no function) |
|
100.00% |
18 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / envfiles / __init__.py |
(no function) |
|
100.00% |
0 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / envfiles / project_env.py |
project_env_path |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / envfiles / project_env.py |
load_project_env |
|
75.00% |
4 |
1 |
0 |
|
50.00% |
2 |
1 |
|
66.67% |
| src / openenv / envfiles / project_env.py |
get_project_env_value |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / envfiles / project_env.py |
write_project_env_value |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / envfiles / project_env.py |
parse_project_env_text |
|
88.24% |
17 |
2 |
0 |
|
80.00% |
10 |
2 |
|
85.19% |
| src / openenv / envfiles / project_env.py |
upsert_project_env_text |
|
100.00% |
18 |
0 |
0 |
|
100.00% |
10 |
0 |
|
100.00% |
| src / openenv / envfiles / project_env.py |
(no function) |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / envfiles / secret_env.py |
secret_env_path |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / envfiles / secret_env.py |
load_secret_values |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / envfiles / secret_env.py |
load_secret_refs |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / envfiles / secret_env.py |
render_secret_env |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / envfiles / secret_env.py |
write_secret_env |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / envfiles / secret_env.py |
parse_secret_env_text |
|
82.35% |
17 |
3 |
0 |
|
70.00% |
10 |
3 |
|
77.78% |
| src / openenv / envfiles / secret_env.py |
_unique_preserving_order |
|
100.00% |
7 |
0 |
0 |
|
75.00% |
4 |
1 |
|
90.91% |
| src / openenv / envfiles / secret_env.py |
(no function) |
|
100.00% |
14 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / __init__.py |
(no function) |
|
100.00% |
0 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
improve_markdown_documents_with_openrouter |
|
85.00% |
20 |
3 |
0 |
|
66.67% |
12 |
4 |
|
78.12% |
| src / openenv / integrations / openrouter.py |
improve_markdown_documents_with_openrouter.tracked_write_document |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
_improve_markdown_documents_batch |
|
90.48% |
21 |
2 |
0 |
|
80.00% |
10 |
2 |
|
87.10% |
| src / openenv / integrations / openrouter.py |
_clone_context_payload |
|
83.33% |
6 |
1 |
0 |
|
50.00% |
2 |
1 |
|
75.00% |
| src / openenv / integrations / openrouter.py |
_document_batches |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
_context_payload_for_batch |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
_batch_prompt_suffix |
|
88.89% |
9 |
1 |
0 |
|
75.00% |
4 |
1 |
|
84.62% |
| src / openenv / integrations / openrouter.py |
_tool_definitions |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
_openrouter_chat_completion |
|
100.00% |
14 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
_normalize_assistant_message |
|
100.00% |
6 |
0 |
0 |
|
75.00% |
4 |
1 |
|
90.00% |
| src / openenv / integrations / openrouter.py |
_assistant_text |
|
91.67% |
12 |
1 |
0 |
|
80.00% |
10 |
2 |
|
86.36% |
| src / openenv / integrations / openrouter.py |
_decode_tool_arguments |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
_apply_document_updates |
|
100.00% |
17 |
0 |
0 |
|
100.00% |
10 |
0 |
|
100.00% |
| src / openenv / integrations / openrouter.py |
(no function) |
|
100.00% |
24 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / integrations / scanner.py |
materialize_skills |
|
100.00% |
11 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / integrations / scanner.py |
run_skill_scanner |
|
95.65% |
23 |
1 |
0 |
|
83.33% |
6 |
1 |
|
93.10% |
| src / openenv / integrations / scanner.py |
(no function) |
|
100.00% |
10 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / __init__.py |
(no function) |
|
100.00% |
0 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
load_manifest |
|
100.00% |
16 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
parse_manifest |
|
96.88% |
32 |
1 |
0 |
|
91.67% |
12 |
1 |
|
95.45% |
| src / openenv / manifests / loader.py |
_parse_secret_refs |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_parse_agent_config |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_parse_memory_seed |
|
100.00% |
7 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_parse_agent_document |
|
91.67% |
12 |
1 |
0 |
|
87.50% |
8 |
1 |
|
90.00% |
| src / openenv / manifests / loader.py |
_split_memory_seed |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_looks_like_markdown_ref |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_validate_markdown_ref |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_read_markdown_ref |
|
90.00% |
10 |
1 |
0 |
|
75.00% |
4 |
1 |
|
85.71% |
| src / openenv / manifests / loader.py |
_parse_skill |
|
100.00% |
13 |
0 |
0 |
|
100.00% |
10 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_validate_runtime |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
10 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_validate_openclaw |
|
100.00% |
9 |
0 |
0 |
|
100.00% |
6 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_validate_skill_names |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_json_like_mapping |
|
80.00% |
10 |
2 |
0 |
|
75.00% |
8 |
2 |
|
77.78% |
| src / openenv / manifests / loader.py |
_json_like_value |
|
85.71% |
14 |
2 |
0 |
|
83.33% |
12 |
2 |
|
84.62% |
| src / openenv / manifests / loader.py |
_require_table |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_require_string |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_optional_string |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_require_bool |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_optional_bool |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_string_list |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
4 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
_string_map |
|
100.00% |
10 |
0 |
0 |
|
100.00% |
8 |
0 |
|
100.00% |
| src / openenv / manifests / loader.py |
(no function) |
|
100.00% |
33 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
build_lockfile |
|
100.00% |
5 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
resolve_base_image |
|
96.00% |
25 |
1 |
0 |
|
90.00% |
10 |
1 |
|
94.29% |
| src / openenv / manifests / lockfile.py |
_inspect_base_image |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
_pull_and_inspect_base_image |
|
83.33% |
12 |
2 |
0 |
|
100.00% |
0 |
0 |
|
83.33% |
| src / openenv / manifests / lockfile.py |
_is_missing_local_image_error |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
_docker_error_detail |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
_attach_digest |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
_resolve_python_requirement |
|
85.71% |
7 |
1 |
0 |
|
75.00% |
4 |
1 |
|
81.82% |
| src / openenv / manifests / lockfile.py |
_resolve_node_requirement |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
dump_lockfile |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
write_lockfile |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
load_lockfile |
|
100.00% |
8 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
parse_lockfile |
|
73.68% |
19 |
5 |
0 |
|
68.75% |
16 |
5 |
|
71.43% |
| src / openenv / manifests / lockfile.py |
_require_string |
|
100.00% |
4 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / lockfile.py |
(no function) |
|
100.00% |
27 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / writer.py |
render_manifest |
|
94.59% |
74 |
4 |
0 |
|
90.91% |
22 |
2 |
|
93.75% |
| src / openenv / manifests / writer.py |
_render_agent_doc |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
2 |
0 |
|
100.00% |
| src / openenv / manifests / writer.py |
_render_kv |
|
82.35% |
17 |
3 |
0 |
|
78.57% |
14 |
3 |
|
80.65% |
| src / openenv / manifests / writer.py |
_render_inline_table |
|
100.00% |
2 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / writer.py |
_render_table |
|
73.68% |
19 |
5 |
0 |
|
66.67% |
12 |
2 |
|
70.97% |
| src / openenv / manifests / writer.py |
_render_table_array |
|
0.00% |
19 |
19 |
0 |
|
0.00% |
12 |
0 |
|
0.00% |
| src / openenv / manifests / writer.py |
_is_table_array |
|
100.00% |
1 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / manifests / writer.py |
(no function) |
|
100.00% |
10 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / templates / __init__.py |
(no function) |
|
100.00% |
0 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |
| src / openenv / templates / sample.py |
(no function) |
|
100.00% |
3 |
0 |
0 |
|
100.00% |
0 |
0 |
|
100.00% |