| src/ai_shell/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/assets/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/ai_shell/assets/comfyui/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/ai_shell/cache.py |
_cache_path |
|
4 |
0 |
0 |
|
100% |
| src/ai_shell/cache.py |
is_fresh |
|
11 |
6 |
0 |
|
45% |
| src/ai_shell/cache.py |
mark_fresh |
|
5 |
2 |
0 |
|
60% |
| src/ai_shell/cache.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| src/ai_shell/config.py |
AiShellConfig.full_image |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/config.py |
AiShellConfig.dev_ports |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/config.py |
AiShellConfig.models_to_pull |
|
8 |
0 |
0 |
|
100% |
| src/ai_shell/config.py |
load_config |
|
20 |
0 |
0 |
|
100% |
| src/ai_shell/config.py |
_load_config_file |
|
6 |
0 |
0 |
|
100% |
| src/ai_shell/config.py |
_reject_legacy_llm_keys |
|
7 |
0 |
0 |
|
100% |
| src/ai_shell/config.py |
_apply_voice_agent_config |
|
67 |
29 |
0 |
|
57% |
| src/ai_shell/config.py |
_apply_config |
|
76 |
11 |
0 |
|
86% |
| src/ai_shell/config.py |
_apply_env_vars |
|
27 |
1 |
0 |
|
96% |
| src/ai_shell/config.py |
(no function) |
|
112 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
_exec_docker |
|
5 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
_run_docker |
|
7 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
_run_docker_with_typeahead |
|
67 |
67 |
0 |
|
0% |
| src/ai_shell/container.py |
_run_docker_with_typeahead._on_winch |
|
6 |
6 |
0 |
|
0% |
| src/ai_shell/container.py |
ContainerManager.__init__ |
|
6 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.resolve_dev_container |
|
9 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.ensure_dev_container |
|
12 |
1 |
0 |
|
92% |
| src/ai_shell/container.py |
ContainerManager._create_dev_container |
|
18 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.exec_interactive |
|
14 |
2 |
0 |
|
86% |
| src/ai_shell/container.py |
ContainerManager.run_interactive |
|
13 |
3 |
0 |
|
77% |
| src/ai_shell/container.py |
ContainerManager.exec_detached |
|
10 |
10 |
0 |
|
0% |
| src/ai_shell/container.py |
ContainerManager._container_has_gpu |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager._recreate_if_gpu_changed |
|
8 |
5 |
0 |
|
38% |
| src/ai_shell/container.py |
ContainerManager._recreate_if_image_stale |
|
22 |
2 |
0 |
|
91% |
| src/ai_shell/container.py |
ContainerManager._warn_if_image_below_minimum |
|
12 |
2 |
0 |
|
83% |
| src/ai_shell/container.py |
ContainerManager._warn_if_image_below_minimum._parse_version |
|
4 |
2 |
0 |
|
50% |
| src/ai_shell/container.py |
ContainerManager._ensure_llm_network |
|
6 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.ensure_ollama |
|
31 |
6 |
0 |
|
81% |
| src/ai_shell/container.py |
ContainerManager.ensure_webui |
|
40 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.ensure_kokoro |
|
19 |
1 |
0 |
|
95% |
| src/ai_shell/container.py |
ContainerManager.ensure_whisper |
|
20 |
1 |
0 |
|
95% |
| src/ai_shell/container.py |
ContainerManager.ensure_voice_agent |
|
13 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager._voice_agent_build_context |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.ensure_comfyui |
|
31 |
1 |
0 |
|
97% |
| src/ai_shell/container.py |
ContainerManager.ensure_n8n |
|
18 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager._seed_n8n_workflows |
|
30 |
27 |
0 |
|
10% |
| src/ai_shell/container.py |
ContainerManager.exec_in_ollama |
|
8 |
1 |
0 |
|
88% |
| src/ai_shell/container.py |
ContainerManager.stop_container |
|
6 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.remove_container |
|
8 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.remove_volume |
|
7 |
7 |
0 |
|
0% |
| src/ai_shell/container.py |
ContainerManager.container_ports |
|
11 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.container_status |
|
4 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.container_logs |
|
8 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager._get_container |
|
4 |
4 |
0 |
|
0% |
| src/ai_shell/container.py |
ContainerManager._container_matches_project |
|
6 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
ContainerManager.ensure_tool_fresh |
|
20 |
2 |
0 |
|
90% |
| src/ai_shell/container.py |
ContainerManager._build_image_if_needed |
|
12 |
2 |
0 |
|
83% |
| src/ai_shell/container.py |
ContainerManager._pull_image_if_needed |
|
22 |
0 |
0 |
|
100% |
| src/ai_shell/container.py |
(no function) |
|
56 |
0 |
4 |
|
100% |
| src/ai_shell/defaults.py |
uv_venv_path |
|
4 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
node_modules_volume_name |
|
6 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
_sanitize_name |
|
3 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
sanitize_project_name |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
unique_project_name |
|
3 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
dev_container_name |
|
3 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
project_dev_port |
|
3 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
build_dev_mounts |
|
39 |
2 |
0 |
|
95% |
| src/ai_shell/defaults.py |
_find_gh_config_dir |
|
11 |
5 |
0 |
|
55% |
| src/ai_shell/defaults.py |
_load_layered_dotenv |
|
14 |
1 |
0 |
|
93% |
| src/ai_shell/defaults.py |
build_dev_environment |
|
38 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
build_dev_environment._resolve |
|
4 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
_resolve_env |
|
4 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
build_n8n_environment |
|
19 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
build_n8n_mounts |
|
13 |
0 |
0 |
|
100% |
| src/ai_shell/defaults.py |
(no function) |
|
76 |
0 |
2 |
|
100% |
| src/ai_shell/exceptions.py |
ImagePullError.__init__ |
|
3 |
0 |
0 |
|
100% |
| src/ai_shell/exceptions.py |
ContainerNotFoundError.__init__ |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/exceptions.py |
GpuRequiredError.__init__ |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/exceptions.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| src/ai_shell/gpu.py |
detect_gpu |
|
5 |
0 |
0 |
|
100% |
| src/ai_shell/gpu.py |
_check_nvidia_smi |
|
13 |
3 |
0 |
|
77% |
| src/ai_shell/gpu.py |
get_vram_info |
|
15 |
3 |
0 |
|
80% |
| src/ai_shell/gpu.py |
get_vram_processes |
|
19 |
5 |
0 |
|
74% |
| src/ai_shell/gpu.py |
_check_docker_gpu_runtime |
|
18 |
5 |
0 |
|
72% |
| src/ai_shell/gpu.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| src/ai_shell/interactive.py |
InteractiveConfig.pane_count |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/interactive.py |
InteractiveConfig.has_claude_panes |
|
1 |
1 |
0 |
|
0% |
| src/ai_shell/interactive.py |
_build_pane_options |
|
9 |
0 |
0 |
|
100% |
| src/ai_shell/interactive.py |
run_interactive_wizard |
|
31 |
0 |
0 |
|
100% |
| src/ai_shell/interactive.py |
build_interactive_panes |
|
25 |
1 |
0 |
|
96% |
| src/ai_shell/interactive.py |
(no function) |
|
35 |
0 |
2 |
|
100% |
| src/ai_shell/local_chrome.py |
find_chrome |
|
11 |
11 |
0 |
|
0% |
| src/ai_shell/local_chrome.py |
_project_slug |
|
8 |
2 |
0 |
|
75% |
| src/ai_shell/local_chrome.py |
_chrome_profile_dir |
|
5 |
1 |
0 |
|
80% |
| src/ai_shell/local_chrome.py |
_project_debug_port |
|
3 |
0 |
0 |
|
100% |
| src/ai_shell/local_chrome.py |
_build_setup_instructions |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/local_chrome.py |
launch_chrome |
|
11 |
11 |
0 |
|
0% |
| src/ai_shell/local_chrome.py |
probe_chrome_port |
|
8 |
0 |
0 |
|
100% |
| src/ai_shell/local_chrome.py |
probe_host_chrome_port |
|
8 |
0 |
0 |
|
100% |
| src/ai_shell/local_chrome.py |
_wait_until_ready |
|
8 |
8 |
0 |
|
0% |
| src/ai_shell/local_chrome.py |
ensure_host_chrome |
|
13 |
0 |
0 |
|
100% |
| src/ai_shell/local_chrome.py |
start_chrome_proxy |
|
6 |
0 |
0 |
|
100% |
| src/ai_shell/local_chrome.py |
write_mcp_config |
|
8 |
1 |
0 |
|
88% |
| src/ai_shell/local_chrome.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| src/ai_shell/models.py |
lookup |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/models.py |
classify_status |
|
10 |
0 |
0 |
|
100% |
| src/ai_shell/models.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| src/ai_shell/scaffold.py |
_read_template |
|
3 |
0 |
0 |
|
100% |
| src/ai_shell/scaffold.py |
_write_file |
|
8 |
0 |
0 |
|
100% |
| src/ai_shell/scaffold.py |
scaffold_global |
|
4 |
0 |
0 |
|
100% |
| src/ai_shell/scaffold.py |
scaffold_project |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/scaffold.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| src/ai_shell/selector.py |
interactive_multi_select |
|
6 |
2 |
0 |
|
67% |
| src/ai_shell/selector.py |
_rich_multi_select |
|
41 |
4 |
0 |
|
90% |
| src/ai_shell/selector.py |
_curses_main |
|
48 |
48 |
0 |
|
0% |
| src/ai_shell/selector.py |
_safe_addstr |
|
8 |
8 |
0 |
|
0% |
| src/ai_shell/selector.py |
(no function) |
|
21 |
3 |
2 |
|
86% |
| src/ai_shell/templates/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/ai_shell/templates/claude/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/ai_shell/templates/codex/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/ai_shell/templates/opencode/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/ai_shell/templates/pi/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/ai_shell/tmux.py |
_build_dep_sync_prefix |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/tmux.py |
build_claude_pane_command |
|
23 |
2 |
0 |
|
91% |
| src/ai_shell/tmux.py |
build_check_session_command |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/tmux.py |
build_attach_command |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/tmux.py |
select_layout |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/tmux.py |
build_tmux_commands |
|
27 |
0 |
0 |
|
100% |
| src/ai_shell/tmux.py |
build_tmux_commands._exec |
|
1 |
0 |
0 |
|
100% |
| src/ai_shell/tmux.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| src/ai_shell/typeahead.py |
TypeaheadBuffer.__init__ |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/typeahead.py |
TypeaheadBuffer.append |
|
4 |
0 |
0 |
|
100% |
| src/ai_shell/typeahead.py |
TypeaheadBuffer.bytes |
|
2 |
0 |
0 |
|
100% |
| src/ai_shell/typeahead.py |
_capture_disabled |
|
6 |
2 |
0 |
|
67% |
| src/ai_shell/typeahead.py |
capture_typeahead |
|
20 |
16 |
0 |
|
20% |
| src/ai_shell/typeahead.py |
capture_typeahead._drain |
|
13 |
13 |
0 |
|
0% |
| src/ai_shell/typeahead.py |
(no function) |
|
14 |
0 |
2 |
|
100% |