| merco/__init__.py |
(no function) |
|
6 |
2 |
0 |
|
67% |
| merco/agents/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/agents/profile.py |
AgentProfileRegistry.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/agents/profile.py |
AgentProfileRegistry.register |
|
1 |
0 |
0 |
|
100% |
| merco/agents/profile.py |
AgentProfileRegistry.get |
|
1 |
0 |
0 |
|
100% |
| merco/agents/profile.py |
AgentProfileRegistry.list |
|
1 |
0 |
0 |
|
100% |
| merco/agents/profile.py |
ProfilePromptChunk.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/agents/profile.py |
ProfilePromptChunk.enabled |
|
1 |
1 |
0 |
|
0% |
| merco/agents/profile.py |
ProfilePromptChunk.build |
|
1 |
1 |
0 |
|
0% |
| merco/agents/profile.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| merco/agents/subagent.py |
SubAgentManager.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/agents/subagent.py |
SubAgentManager.dispatch |
|
12 |
0 |
0 |
|
100% |
| merco/agents/subagent.py |
SubAgentManager._create_sub_agent |
|
31 |
0 |
0 |
|
100% |
| merco/agents/subagent.py |
SubAgentManager._inject_result_to_parent |
|
1 |
0 |
0 |
|
100% |
| merco/agents/subagent.py |
(no function) |
|
9 |
0 |
3 |
|
100% |
| merco/context/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/context/pipeline.py |
ContextProcessor.process |
|
0 |
0 |
1 |
|
100% |
| merco/context/pipeline.py |
ContextPipeline.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/context/pipeline.py |
ContextPipeline.use |
|
2 |
0 |
0 |
|
100% |
| merco/context/pipeline.py |
ContextPipeline.run |
|
3 |
0 |
0 |
|
100% |
| merco/context/pipeline.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| merco/context/processors/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| merco/context/processors/cache_optimize.py |
CacheOptimizeProcessor.process |
|
7 |
0 |
0 |
|
100% |
| merco/context/processors/cache_optimize.py |
CacheOptimizeProcessor._is_stable |
|
9 |
2 |
0 |
|
78% |
| merco/context/processors/cache_optimize.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| merco/context/processors/compress.py |
CompressProcessor.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/context/processors/compress.py |
CompressProcessor.process |
|
11 |
3 |
0 |
|
73% |
| merco/context/processors/compress.py |
CompressProcessor._sliding |
|
28 |
4 |
0 |
|
86% |
| merco/context/processors/compress.py |
CompressProcessor._truncate |
|
4 |
4 |
0 |
|
0% |
| merco/context/processors/compress.py |
CompressProcessor._extend_to_chain |
|
25 |
25 |
0 |
|
0% |
| merco/context/processors/compress.py |
CompressProcessor._build_summary |
|
8 |
0 |
0 |
|
100% |
| merco/context/processors/compress.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| merco/context/recovery.py |
ContextCompressRecovery.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/context/recovery.py |
ContextCompressRecovery.attempt |
|
12 |
0 |
0 |
|
100% |
| merco/context/recovery.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| merco/core/__init__.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| merco/core/agent.py |
PromptChunk.enabled |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
PromptChunk.build |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
PromptBuilder.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/core/agent.py |
PromptBuilder.use |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
PromptBuilder.disable |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
PromptBuilder.enable |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
PromptBuilder.build |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
BasePromptChunk.build |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
SkillsHintChunk.enabled |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
SkillsHintChunk.build |
|
13 |
1 |
0 |
|
92% |
| merco/core/agent.py |
TimeContextChunk.build |
|
3 |
0 |
0 |
|
100% |
| merco/core/agent.py |
_build_reasoning_panel |
|
1 |
0 |
0 |
|
100% |
| merco/core/agent.py |
ResponseProvider.get_response |
|
0 |
0 |
1 |
|
100% |
| merco/core/agent.py |
NonStreamingProvider.get_response |
|
5 |
1 |
0 |
|
80% |
| merco/core/agent.py |
StreamingProvider.get_response |
|
113 |
13 |
0 |
|
88% |
| merco/core/agent.py |
StreamingProvider.get_response._rebuild_group |
|
3 |
0 |
0 |
|
100% |
| merco/core/agent.py |
StreamingProvider.get_response._refresh_thinking |
|
5 |
3 |
0 |
|
40% |
| merco/core/agent.py |
Agent.__init__ |
|
110 |
1 |
0 |
|
99% |
| merco/core/agent.py |
Agent.create |
|
3 |
0 |
0 |
|
100% |
| merco/core/agent.py |
Agent._initialize_async_plugins |
|
10 |
0 |
0 |
|
100% |
| merco/core/agent.py |
Agent.run |
|
26 |
0 |
0 |
|
100% |
| merco/core/agent.py |
Agent._restore_context |
|
34 |
4 |
0 |
|
88% |
| merco/core/agent.py |
Agent._auto_title |
|
5 |
0 |
0 |
|
100% |
| merco/core/agent.py |
Agent._wrap_up_messages |
|
1 |
1 |
0 |
|
0% |
| merco/core/agent.py |
Agent._wrap_up_call |
|
8 |
8 |
0 |
|
0% |
| merco/core/agent.py |
Agent._agent_loop |
|
95 |
20 |
0 |
|
79% |
| merco/core/agent.py |
Agent._find_orphan_tool_calls |
|
13 |
5 |
0 |
|
62% |
| merco/core/agent.py |
Agent._dispatch_tool_calls |
|
11 |
1 |
0 |
|
91% |
| merco/core/agent.py |
Agent._execute_tool_calls |
|
85 |
32 |
0 |
|
62% |
| merco/core/agent.py |
Agent._build_messages |
|
7 |
1 |
0 |
|
86% |
| merco/core/agent.py |
Agent._build_system_prompt |
|
12 |
0 |
0 |
|
100% |
| merco/core/agent.py |
Agent._llm_summary |
|
15 |
3 |
0 |
|
80% |
| merco/core/agent.py |
Agent._compress_context |
|
23 |
3 |
0 |
|
87% |
| merco/core/agent.py |
Agent._compress_context.llm_summary_wrapper |
|
3 |
0 |
0 |
|
100% |
| merco/core/agent.py |
Agent._ask_guard_confirmation |
|
5 |
5 |
0 |
|
0% |
| merco/core/agent.py |
Agent._render_reasoning |
|
4 |
4 |
0 |
|
0% |
| merco/core/agent.py |
Agent.get_context_stats |
|
5 |
5 |
0 |
|
0% |
| merco/core/agent.py |
Agent.reset |
|
6 |
0 |
0 |
|
100% |
| merco/core/agent.py |
Agent._get_api_key |
|
6 |
6 |
0 |
|
0% |
| merco/core/agent.py |
_get_db_path |
|
9 |
9 |
0 |
|
0% |
| merco/core/agent.py |
AgentLoop.__init__ |
|
2 |
2 |
0 |
|
0% |
| merco/core/agent.py |
AgentLoop.step |
|
3 |
3 |
0 |
|
0% |
| merco/core/agent.py |
AgentLoop.reset |
|
2 |
2 |
0 |
|
0% |
| merco/core/agent.py |
(no function) |
|
75 |
0 |
1 |
|
100% |
| merco/core/config.py |
ProviderInfo.__getitem__ |
|
5 |
5 |
0 |
|
0% |
| merco/core/config.py |
ModelConfig.resolve |
|
8 |
5 |
0 |
|
38% |
| merco/core/config.py |
MercoConfig.load |
|
9 |
1 |
0 |
|
89% |
| merco/core/config.py |
MercoConfig.save |
|
2 |
2 |
0 |
|
0% |
| merco/core/config.py |
MercoConfig.merge |
|
3 |
3 |
0 |
|
0% |
| merco/core/config.py |
MercoConfig._to_dict |
|
1 |
0 |
0 |
|
100% |
| merco/core/config.py |
MercoConfig._from_dict |
|
11 |
1 |
0 |
|
91% |
| merco/core/config.py |
MercoConfig._find_config |
|
5 |
1 |
0 |
|
80% |
| merco/core/config.py |
(no function) |
|
71 |
0 |
0 |
|
100% |
| merco/core/context.py |
estimate_tokens |
|
5 |
0 |
0 |
|
100% |
| merco/core/context.py |
ContextManager.__init__ |
|
5 |
0 |
0 |
|
100% |
| merco/core/context.py |
ContextManager.add |
|
5 |
1 |
0 |
|
80% |
| merco/core/context.py |
ContextManager.set_overhead |
|
1 |
0 |
0 |
|
100% |
| merco/core/context.py |
ContextManager.total_tokens |
|
3 |
1 |
0 |
|
67% |
| merco/core/context.py |
ContextManager.needs_compression |
|
1 |
0 |
0 |
|
100% |
| merco/core/context.py |
ContextManager.get_window |
|
3 |
1 |
0 |
|
67% |
| merco/core/context.py |
msg_tokens |
|
7 |
0 |
0 |
|
100% |
| merco/core/context.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| merco/core/empty_response.py |
CallbackEmptyResponse.attempt |
|
6 |
1 |
0 |
|
83% |
| merco/core/empty_response.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
CleanupProcessor.process |
|
0 |
0 |
1 |
|
100% |
| merco/core/interrupt.py |
InjectCancelMessages.process |
|
14 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
TerminateSubprocesses.process |
|
6 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
CloseMCPConnections.process |
|
3 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
EmitInterruptHooks.process |
|
2 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
SavePartialState.process |
|
5 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
InterruptCleanupPipeline.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
InterruptCleanupPipeline.use |
|
2 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
InterruptCleanupPipeline.process |
|
6 |
0 |
0 |
|
100% |
| merco/core/interrupt.py |
(no function) |
|
34 |
0 |
2 |
|
100% |
| merco/core/llm/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
_clean_surrogates |
|
7 |
7 |
0 |
|
0% |
| merco/core/llm/_client.py |
_build_think_block_re |
|
9 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
_strip_think_tags |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
_clean_content |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
_extract_usage |
|
14 |
5 |
0 |
|
64% |
| merco/core/llm/_client.py |
ThinkingStrategy.extract_from_delta |
|
0 |
0 |
1 |
|
100% |
| merco/core/llm/_client.py |
ThinkingStrategy.extract_from_message |
|
0 |
0 |
1 |
|
100% |
| merco/core/llm/_client.py |
ThinkingStrategy.reset |
|
1 |
1 |
0 |
|
0% |
| merco/core/llm/_client.py |
DirectFieldStrategy.extract_from_delta |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
DirectFieldStrategy.extract_from_message |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
DirectFieldStrategy._check |
|
8 |
3 |
0 |
|
62% |
| merco/core/llm/_client.py |
ModelExtraStrategy.extract_from_delta |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
ModelExtraStrategy.extract_from_message |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
ModelExtraStrategy._extract_from |
|
9 |
5 |
0 |
|
44% |
| merco/core/llm/_client.py |
ThinkTagStrategy.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
ThinkTagStrategy.reset |
|
3 |
3 |
0 |
|
0% |
| merco/core/llm/_client.py |
ThinkTagStrategy.extract_from_delta |
|
29 |
26 |
0 |
|
10% |
| merco/core/llm/_client.py |
ThinkTagStrategy.extract_from_message |
|
13 |
9 |
0 |
|
31% |
| merco/core/llm/_client.py |
ThinkingExtractor.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
ThinkingExtractor.register |
|
1 |
1 |
0 |
|
0% |
| merco/core/llm/_client.py |
ThinkingExtractor.extract_from_delta |
|
9 |
4 |
0 |
|
56% |
| merco/core/llm/_client.py |
ThinkingExtractor.extract_from_message |
|
5 |
1 |
0 |
|
80% |
| merco/core/llm/_client.py |
ThinkingExtractor.reset |
|
2 |
2 |
0 |
|
0% |
| merco/core/llm/_client.py |
LLMClient.__init__ |
|
16 |
1 |
0 |
|
94% |
| merco/core/llm/_client.py |
LLMClient.chat |
|
5 |
5 |
0 |
|
0% |
| merco/core/llm/_client.py |
LLMClient.chat_stream |
|
7 |
7 |
0 |
|
0% |
| merco/core/llm/_client.py |
LLMClient._build_params |
|
12 |
12 |
0 |
|
0% |
| merco/core/llm/_client.py |
LLMClient._ensure_client_ready |
|
4 |
4 |
0 |
|
0% |
| merco/core/llm/_client.py |
LLMClient._request |
|
15 |
15 |
0 |
|
0% |
| merco/core/llm/_client.py |
LLMClient._normalize_tool_calls |
|
8 |
0 |
0 |
|
100% |
| merco/core/llm/_client.py |
LLMClient._parse_response |
|
19 |
4 |
0 |
|
79% |
| merco/core/llm/_client.py |
LLMClient._parse_chunk |
|
22 |
6 |
0 |
|
73% |
| merco/core/llm/_client.py |
(no function) |
|
56 |
0 |
2 |
|
100% |
| merco/core/llm/error_ui.py |
classify_error |
|
25 |
2 |
0 |
|
92% |
| merco/core/llm/error_ui.py |
sanitize_message |
|
7 |
0 |
0 |
|
100% |
| merco/core/llm/error_ui.py |
build_error_panel |
|
5 |
0 |
0 |
|
100% |
| merco/core/llm/error_ui.py |
build_retry_line |
|
2 |
0 |
0 |
|
100% |
| merco/core/llm/error_ui.py |
retry_spinner |
|
18 |
2 |
0 |
|
89% |
| merco/core/llm/error_ui.py |
retry_spinner._tick |
|
9 |
0 |
0 |
|
100% |
| merco/core/llm/error_ui.py |
error_message |
|
2 |
0 |
0 |
|
100% |
| merco/core/llm/error_ui.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| merco/core/llm/errors.py |
llm_error |
|
1 |
0 |
0 |
|
100% |
| merco/core/llm/errors.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| merco/core/loop_policy.py |
LoopPolicy.decide |
|
0 |
0 |
1 |
|
100% |
| merco/core/loop_policy.py |
DefaultLoopPolicy.decide |
|
3 |
0 |
0 |
|
100% |
| merco/core/loop_policy.py |
LoopPolicyRegistry.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/core/loop_policy.py |
LoopPolicyRegistry.register |
|
1 |
0 |
0 |
|
100% |
| merco/core/loop_policy.py |
LoopPolicyRegistry.get |
|
1 |
0 |
0 |
|
100% |
| merco/core/loop_policy.py |
LoopPolicyRegistry.list |
|
1 |
1 |
0 |
|
0% |
| merco/core/loop_policy.py |
LoopPolicyRegistry.set_active |
|
3 |
0 |
0 |
|
100% |
| merco/core/loop_policy.py |
LoopPolicyRegistry.active |
|
1 |
0 |
0 |
|
100% |
| merco/core/loop_policy.py |
(no function) |
|
29 |
0 |
2 |
|
100% |
| merco/core/message.py |
Message.to_dict |
|
6 |
6 |
0 |
|
0% |
| merco/core/message.py |
MessageProcessor.format_for_llm |
|
1 |
1 |
0 |
|
0% |
| merco/core/message.py |
MessageProcessor.parse_response |
|
1 |
1 |
0 |
|
0% |
| merco/core/message.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| merco/core/pipeline.py |
Processor.process |
|
0 |
0 |
1 |
|
100% |
| merco/core/pipeline.py |
ResultPipeline.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/core/pipeline.py |
ResultPipeline.use |
|
3 |
0 |
0 |
|
100% |
| merco/core/pipeline.py |
ResultPipeline.disable |
|
1 |
1 |
0 |
|
0% |
| merco/core/pipeline.py |
ResultPipeline.enable |
|
1 |
1 |
0 |
|
0% |
| merco/core/pipeline.py |
ResultPipeline.process |
|
9 |
4 |
0 |
|
56% |
| merco/core/pipeline.py |
_walk_truncate |
|
15 |
15 |
0 |
|
0% |
| merco/core/pipeline.py |
_is_reading_trunc_file |
|
4 |
4 |
0 |
|
0% |
| merco/core/pipeline.py |
Recovery.attempt |
|
0 |
0 |
1 |
|
100% |
| merco/core/pipeline.py |
RecoveryPipeline.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/core/pipeline.py |
RecoveryPipeline.use |
|
2 |
0 |
0 |
|
100% |
| merco/core/pipeline.py |
RecoveryPipeline.disable |
|
1 |
1 |
0 |
|
0% |
| merco/core/pipeline.py |
RecoveryPipeline.enable |
|
1 |
1 |
0 |
|
0% |
| merco/core/pipeline.py |
RecoveryPipeline.attempt |
|
12 |
5 |
0 |
|
58% |
| merco/core/pipeline.py |
EmptyResponseStrategy.attempt |
|
0 |
0 |
1 |
|
100% |
| merco/core/pipeline.py |
EmptyResponsePipeline.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/core/pipeline.py |
EmptyResponsePipeline.use |
|
2 |
0 |
0 |
|
100% |
| merco/core/pipeline.py |
EmptyResponsePipeline.disable |
|
1 |
1 |
0 |
|
0% |
| merco/core/pipeline.py |
EmptyResponsePipeline.enable |
|
1 |
1 |
0 |
|
0% |
| merco/core/pipeline.py |
EmptyResponsePipeline.attempt |
|
9 |
4 |
0 |
|
56% |
| merco/core/pipeline.py |
(no function) |
|
68 |
0 |
7 |
|
100% |
| merco/core/recovery/__init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| merco/core/recovery/model_fallback.py |
ModelFallbackRecovery.__init__ |
|
1 |
1 |
0 |
|
0% |
| merco/core/recovery/model_fallback.py |
ModelFallbackRecovery.attempt |
|
4 |
4 |
0 |
|
0% |
| merco/core/recovery/model_fallback.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| merco/core/recovery/wait.py |
WaitRecovery.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/core/recovery/wait.py |
WaitRecovery.attempt |
|
24 |
0 |
0 |
|
100% |
| merco/core/recovery/wait.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| merco/core/self_healing.py |
register_handler |
|
1 |
1 |
0 |
|
0% |
| merco/core/self_healing.py |
_apply_custom_handlers |
|
7 |
7 |
0 |
|
0% |
| merco/core/self_healing.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| merco/core/session.py |
Session.__init__ |
|
6 |
0 |
0 |
|
100% |
| merco/core/session.py |
Session.add_message |
|
7 |
1 |
0 |
|
86% |
| merco/core/session.py |
Session.get_history |
|
1 |
0 |
0 |
|
100% |
| merco/core/session.py |
Session.save |
|
7 |
0 |
0 |
|
100% |
| merco/core/session.py |
Session.delete |
|
2 |
2 |
0 |
|
0% |
| merco/core/session.py |
Session.load |
|
8 |
1 |
0 |
|
88% |
| merco/core/session.py |
Session.fork |
|
7 |
0 |
0 |
|
100% |
| merco/core/session.py |
Session.resume_or_create |
|
12 |
3 |
0 |
|
75% |
| merco/core/session.py |
_new_id |
|
1 |
0 |
0 |
|
100% |
| merco/core/session.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| merco/gateway/__init__.py |
(no function) |
|
2 |
2 |
0 |
|
0% |
| merco/gateway/base.py |
BaseGateway.__init__ |
|
2 |
2 |
0 |
|
0% |
| merco/gateway/base.py |
BaseGateway.set_handler |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/base.py |
BaseGateway.start |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/base.py |
BaseGateway.stop |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/base.py |
BaseGateway.send_message |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/base.py |
BaseGateway.handle_message |
|
2 |
2 |
0 |
|
0% |
| merco/gateway/base.py |
(no function) |
|
13 |
13 |
0 |
|
0% |
| merco/gateway/discord.py |
DiscordGateway.__init__ |
|
2 |
2 |
0 |
|
0% |
| merco/gateway/discord.py |
DiscordGateway.start |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/discord.py |
DiscordGateway.stop |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/discord.py |
DiscordGateway.send_message |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/discord.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| merco/gateway/telegram.py |
TelegramGateway.__init__ |
|
3 |
3 |
0 |
|
0% |
| merco/gateway/telegram.py |
TelegramGateway.start |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/telegram.py |
TelegramGateway.stop |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/telegram.py |
TelegramGateway.send_message |
|
1 |
1 |
0 |
|
0% |
| merco/gateway/telegram.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| merco/hooks/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/hooks/chat_hooks.py |
register_chat_hooks |
|
6 |
6 |
0 |
|
0% |
| merco/hooks/chat_hooks.py |
register_chat_hooks.on_message_receive |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/chat_hooks.py |
register_chat_hooks.on_message_send |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/chat_hooks.py |
register_chat_hooks.on_context_compact |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/chat_hooks.py |
(no function) |
|
2 |
2 |
0 |
|
0% |
| merco/hooks/lifecycle.py |
register_lifecycle_hooks |
|
8 |
8 |
0 |
|
0% |
| merco/hooks/lifecycle.py |
register_lifecycle_hooks.on_agent_start |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/lifecycle.py |
register_lifecycle_hooks.on_agent_stop |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/lifecycle.py |
register_lifecycle_hooks.on_session_create |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/lifecycle.py |
register_lifecycle_hooks.on_session_destroy |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/lifecycle.py |
(no function) |
|
2 |
2 |
0 |
|
0% |
| merco/hooks/registry.py |
HookRegistry.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/hooks/registry.py |
HookRegistry.on |
|
3 |
0 |
0 |
|
100% |
| merco/hooks/registry.py |
HookRegistry.off |
|
2 |
2 |
0 |
|
0% |
| merco/hooks/registry.py |
HookRegistry.emit |
|
20 |
0 |
0 |
|
100% |
| merco/hooks/registry.py |
HookRegistry.clear |
|
3 |
3 |
0 |
|
0% |
| merco/hooks/registry.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| merco/hooks/tool_hooks.py |
register_tool_hooks |
|
6 |
6 |
0 |
|
0% |
| merco/hooks/tool_hooks.py |
register_tool_hooks.on_tool_before |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/tool_hooks.py |
register_tool_hooks.on_tool_after |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/tool_hooks.py |
register_tool_hooks.on_tool_error |
|
1 |
1 |
0 |
|
0% |
| merco/hooks/tool_hooks.py |
(no function) |
|
2 |
2 |
0 |
|
0% |
| merco/mcp/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| merco/mcp/config.py |
MCPServerConfig.from_dict |
|
3 |
1 |
0 |
|
67% |
| merco/mcp/config.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| merco/mcp/manager.py |
MCPServerManager.__init__ |
|
4 |
0 |
0 |
|
100% |
| merco/mcp/manager.py |
MCPServerManager.load_config |
|
11 |
0 |
0 |
|
100% |
| merco/mcp/manager.py |
MCPServerManager.connect |
|
23 |
1 |
0 |
|
96% |
| merco/mcp/manager.py |
MCPServerManager._connect_stdio |
|
6 |
6 |
0 |
|
0% |
| merco/mcp/manager.py |
MCPServerManager._connect_http |
|
9 |
9 |
0 |
|
0% |
| merco/mcp/manager.py |
MCPServerManager._unregister_tools |
|
3 |
0 |
0 |
|
100% |
| merco/mcp/manager.py |
MCPServerManager.disconnect |
|
2 |
0 |
0 |
|
100% |
| merco/mcp/manager.py |
MCPServerManager.shutdown |
|
2 |
2 |
0 |
|
0% |
| merco/mcp/manager.py |
MCPServerManager.reload |
|
3 |
0 |
0 |
|
100% |
| merco/mcp/manager.py |
MCPServerManager._call_tool |
|
16 |
4 |
0 |
|
75% |
| merco/mcp/manager.py |
MCPServerManager._call_stdio_tool |
|
6 |
6 |
0 |
|
0% |
| merco/mcp/manager.py |
MCPServerManager._call_http_tool |
|
9 |
9 |
0 |
|
0% |
| merco/mcp/manager.py |
MCPServerManager.status |
|
1 |
0 |
0 |
|
100% |
| merco/mcp/manager.py |
(no function) |
|
27 |
2 |
0 |
|
93% |
| merco/mcp/tool.py |
MCPServerTool.__init__ |
|
7 |
0 |
0 |
|
100% |
| merco/mcp/tool.py |
MCPServerTool.parameters |
|
1 |
0 |
0 |
|
100% |
| merco/mcp/tool.py |
MCPServerTool.execute |
|
8 |
0 |
0 |
|
100% |
| merco/mcp/tool.py |
MCPServerTool.check |
|
1 |
0 |
0 |
|
100% |
| merco/mcp/tool.py |
MCPServerTool.get_definition |
|
1 |
0 |
0 |
|
100% |
| merco/mcp/tool.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| merco/memory/__init__.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| merco/memory/backend.py |
MemoryBackend.save |
|
0 |
0 |
1 |
|
100% |
| merco/memory/backend.py |
MemoryBackend.load |
|
0 |
0 |
1 |
|
100% |
| merco/memory/backend.py |
MemoryBackend.delete |
|
0 |
0 |
1 |
|
100% |
| merco/memory/backend.py |
MemoryBackend.list_keys |
|
0 |
0 |
1 |
|
100% |
| merco/memory/backend.py |
MemoryBackend.search |
|
0 |
0 |
1 |
|
100% |
| merco/memory/backend.py |
MemoryBackendRegistry.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/memory/backend.py |
MemoryBackendRegistry.register |
|
1 |
0 |
0 |
|
100% |
| merco/memory/backend.py |
MemoryBackendRegistry.get |
|
1 |
0 |
0 |
|
100% |
| merco/memory/backend.py |
MemoryBackendRegistry.list |
|
1 |
0 |
0 |
|
100% |
| merco/memory/backend.py |
(no function) |
|
19 |
0 |
6 |
|
100% |
| merco/memory/backends/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/memory/backends/json_backend.py |
JSONBackend.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/memory/backends/json_backend.py |
JSONBackend.save |
|
4 |
0 |
0 |
|
100% |
| merco/memory/backends/json_backend.py |
JSONBackend.load |
|
5 |
0 |
0 |
|
100% |
| merco/memory/backends/json_backend.py |
JSONBackend.delete |
|
3 |
0 |
0 |
|
100% |
| merco/memory/backends/json_backend.py |
JSONBackend.list_keys |
|
9 |
0 |
0 |
|
100% |
| merco/memory/backends/json_backend.py |
JSONBackend.search |
|
9 |
0 |
0 |
|
100% |
| merco/memory/backends/json_backend.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| merco/memory/recall.py |
BaseRecaller.recall |
|
0 |
0 |
1 |
|
100% |
| merco/memory/recall.py |
FTS5Recaller.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/memory/recall.py |
FTS5Recaller.recall |
|
7 |
0 |
0 |
|
100% |
| merco/memory/recall.py |
MemoryRecaller.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/memory/recall.py |
MemoryRecaller.recall |
|
11 |
0 |
0 |
|
100% |
| merco/memory/recall.py |
HybridRecaller.__init__ |
|
4 |
0 |
0 |
|
100% |
| merco/memory/recall.py |
HybridRecaller.add |
|
2 |
0 |
0 |
|
100% |
| merco/memory/recall.py |
HybridRecaller.recall |
|
30 |
4 |
0 |
|
87% |
| merco/memory/recall.py |
MemoryRecall.__init__ |
|
1 |
1 |
0 |
|
0% |
| merco/memory/recall.py |
MemoryRecall.recall |
|
2 |
2 |
0 |
|
0% |
| merco/memory/recall.py |
MemoryRecall.recall_by_tag |
|
7 |
7 |
0 |
|
0% |
| merco/memory/recall.py |
MemoryRecall.get_relevant_context |
|
7 |
7 |
0 |
|
0% |
| merco/memory/recall.py |
(no function) |
|
35 |
0 |
4 |
|
100% |
| merco/memory/save_pipeline.py |
MemorySaveProcessor.process |
|
0 |
0 |
1 |
|
100% |
| merco/memory/save_pipeline.py |
SourceEnricher.process |
|
4 |
0 |
0 |
|
100% |
| merco/memory/save_pipeline.py |
DedupProcessor.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/memory/save_pipeline.py |
DedupProcessor.process |
|
10 |
0 |
0 |
|
100% |
| merco/memory/save_pipeline.py |
DedupProcessor._infer_source |
|
6 |
0 |
0 |
|
100% |
| merco/memory/save_pipeline.py |
MemorySavePipeline.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/memory/save_pipeline.py |
MemorySavePipeline.use |
|
2 |
0 |
0 |
|
100% |
| merco/memory/save_pipeline.py |
MemorySavePipeline.save |
|
22 |
9 |
0 |
|
59% |
| merco/memory/save_pipeline.py |
(no function) |
|
33 |
0 |
2 |
|
100% |
| merco/memory/search.py |
MemorySearch.__init__ |
|
2 |
2 |
0 |
|
0% |
| merco/memory/search.py |
MemorySearch._init_db |
|
2 |
2 |
0 |
|
0% |
| merco/memory/search.py |
MemorySearch.index |
|
2 |
2 |
0 |
|
0% |
| merco/memory/search.py |
MemorySearch.search |
|
3 |
3 |
0 |
|
0% |
| merco/memory/search.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| merco/memory/session_search.py |
SessionSearch.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/memory/session_search.py |
SessionSearch._conn |
|
4 |
0 |
0 |
|
100% |
| merco/memory/session_search.py |
SessionSearch._ensure_index |
|
2 |
0 |
0 |
|
100% |
| merco/memory/session_search.py |
SessionSearch.rebuild |
|
4 |
4 |
0 |
|
0% |
| merco/memory/session_search.py |
SessionSearch.search |
|
16 |
2 |
0 |
|
88% |
| merco/memory/session_search.py |
SessionSearch._sanitize |
|
14 |
2 |
0 |
|
86% |
| merco/memory/session_search.py |
SessionSearch._sanitize._preserve_quoted |
|
2 |
2 |
0 |
|
0% |
| merco/memory/session_search.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore._ensure_db |
|
7 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore._conn |
|
5 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore._backup_path |
|
1 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.backup |
|
9 |
3 |
0 |
|
67% |
| merco/memory/session_store.py |
SessionStore.restore_from_backup |
|
10 |
5 |
0 |
|
50% |
| merco/memory/session_store.py |
SessionStore.delete_backup |
|
9 |
4 |
0 |
|
56% |
| merco/memory/session_store.py |
SessionStore.check_integrity |
|
10 |
4 |
0 |
|
60% |
| merco/memory/session_store.py |
SessionStore.startup_check |
|
11 |
8 |
0 |
|
27% |
| merco/memory/session_store.py |
SessionStore.create_session |
|
5 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.save_message |
|
18 |
2 |
0 |
|
89% |
| merco/memory/session_store.py |
SessionStore.load_session |
|
6 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.list_sessions |
|
3 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.count_messages |
|
3 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.save_metadata |
|
4 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.update_title |
|
3 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.set_title |
|
4 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.delete_session |
|
4 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.clone_session |
|
13 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
SessionStore.get_children |
|
3 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
_now |
|
1 |
0 |
0 |
|
100% |
| merco/memory/session_store.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| merco/memory/store.py |
MemoryStore.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/memory/store.py |
MemoryStore.save |
|
1 |
0 |
0 |
|
100% |
| merco/memory/store.py |
MemoryStore.load |
|
1 |
0 |
0 |
|
100% |
| merco/memory/store.py |
MemoryStore.delete |
|
1 |
0 |
0 |
|
100% |
| merco/memory/store.py |
MemoryStore.list_keys |
|
1 |
0 |
0 |
|
100% |
| merco/memory/store.py |
MemoryStore.search |
|
1 |
0 |
0 |
|
100% |
| merco/memory/store.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
MemorySaveStrategy.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
MemorySaveStrategy.on_event |
|
0 |
0 |
1 |
|
100% |
| merco/memory/strategy.py |
ExplicitRememberStrategy.subscribe |
|
1 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
ExplicitRememberStrategy.on_event |
|
1 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
ExplicitRememberStrategy._on_remember |
|
4 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
ExplicitRememberStrategy._derive_key |
|
3 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
SessionEndExtractStrategy.__init__ |
|
5 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
SessionEndExtractStrategy.subscribe |
|
1 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
SessionEndExtractStrategy.on_event |
|
1 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
SessionEndExtractStrategy._on_destroy |
|
18 |
4 |
0 |
|
78% |
| merco/memory/strategy.py |
SessionEndExtractStrategy._format_messages |
|
7 |
0 |
0 |
|
100% |
| merco/memory/strategy.py |
SessionEndExtractStrategy._parse_llm_output |
|
24 |
6 |
0 |
|
75% |
| merco/memory/strategy.py |
(no function) |
|
28 |
0 |
3 |
|
100% |
| merco/observability/__init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| merco/observability/audit.py |
AuditLogger.__init__ |
|
2 |
2 |
0 |
|
0% |
| merco/observability/audit.py |
AuditLogger.log |
|
3 |
3 |
0 |
|
0% |
| merco/observability/audit.py |
AuditLogger.read |
|
9 |
9 |
0 |
|
0% |
| merco/observability/audit.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| merco/observability/logger.py |
setup_logger |
|
12 |
12 |
0 |
|
0% |
| merco/observability/logger.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| merco/observability/metrics.py |
MetricsCollector.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/observability/metrics.py |
MetricsCollector.increment |
|
1 |
0 |
0 |
|
100% |
| merco/observability/metrics.py |
MetricsCollector.record_timing |
|
1 |
0 |
0 |
|
100% |
| merco/observability/metrics.py |
MetricsCollector.record_event |
|
1 |
1 |
0 |
|
0% |
| merco/observability/metrics.py |
MetricsCollector.get_counter |
|
1 |
0 |
0 |
|
100% |
| merco/observability/metrics.py |
MetricsCollector.get_avg_timing |
|
2 |
0 |
0 |
|
100% |
| merco/observability/metrics.py |
MetricsCollector.get_events |
|
4 |
4 |
0 |
|
0% |
| merco/observability/metrics.py |
MetricsCollector.get_counters |
|
1 |
0 |
0 |
|
100% |
| merco/observability/metrics.py |
MetricsCollector.get_summary |
|
1 |
1 |
0 |
|
0% |
| merco/observability/metrics.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer.__init__ |
|
15 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_llm |
|
9 |
1 |
0 |
|
89% |
| merco/observability/observer.py |
Observer._on_tool |
|
3 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_error |
|
1 |
1 |
0 |
|
0% |
| merco/observability/observer.py |
Observer._on_turn |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_interrupt |
|
5 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_agent_start |
|
2 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_agent_stop |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_context_compact |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_memory_saved |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_plugin_activated |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._on_plugin_error |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer.reset |
|
4 |
1 |
0 |
|
75% |
| merco/observability/observer.py |
Observer.save |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer.snapshot |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer._merge_to_acc |
|
6 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer.restore |
|
1 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
Observer.report |
|
83 |
15 |
0 |
|
82% |
| merco/observability/observer.py |
_fmt_n |
|
3 |
0 |
0 |
|
100% |
| merco/observability/observer.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| merco/observability/tracing.py |
TraceSpan.__init__ |
|
7 |
7 |
0 |
|
0% |
| merco/observability/tracing.py |
TraceSpan.set_attribute |
|
1 |
1 |
0 |
|
0% |
| merco/observability/tracing.py |
TraceSpan.end |
|
1 |
1 |
0 |
|
0% |
| merco/observability/tracing.py |
TraceSpan.duration |
|
3 |
3 |
0 |
|
0% |
| merco/observability/tracing.py |
TraceSpan.to_dict |
|
1 |
1 |
0 |
|
0% |
| merco/observability/tracing.py |
Tracer.__init__ |
|
1 |
1 |
0 |
|
0% |
| merco/observability/tracing.py |
Tracer.start_span |
|
4 |
4 |
0 |
|
0% |
| merco/observability/tracing.py |
Tracer.get_spans |
|
4 |
4 |
0 |
|
0% |
| merco/observability/tracing.py |
(no function) |
|
15 |
15 |
0 |
|
0% |
| merco/plugins/__init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| merco/plugins/base.py |
Plugin.activate |
|
0 |
0 |
1 |
|
100% |
| merco/plugins/base.py |
Plugin.deactivate |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/base.py |
PluginContext.__init__ |
|
19 |
0 |
0 |
|
100% |
| merco/plugins/base.py |
PluginContext.on |
|
1 |
1 |
0 |
|
0% |
| merco/plugins/base.py |
PluginContext.register_tool |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/base.py |
PluginContext.add_prompt_chunk |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/base.py |
PluginContext.add_processor |
|
5 |
0 |
0 |
|
100% |
| merco/plugins/base.py |
PluginContext.add_recaller |
|
1 |
1 |
0 |
|
0% |
| merco/plugins/base.py |
(no function) |
|
18 |
0 |
21 |
|
100% |
| merco/plugins/builtin/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| merco/plugins/builtin/mcp/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/plugins/builtin/mcp/plugin.py |
MCPPlugin.activate |
|
6 |
0 |
0 |
|
100% |
| merco/plugins/builtin/mcp/plugin.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| merco/plugins/builtin/observability/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/plugins/builtin/observability/plugin.py |
ObservabilityPlugin.activate |
|
3 |
0 |
0 |
|
100% |
| merco/plugins/builtin/observability/plugin.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| merco/plugins/builtin/scheduler/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/plugins/builtin/scheduler/plugin.py |
SchedulerPlugin.activate |
|
3 |
0 |
0 |
|
100% |
| merco/plugins/builtin/scheduler/plugin.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| merco/plugins/builtin/skills/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/plugins/builtin/skills/plugin.py |
SkillPlugin.activate |
|
10 |
0 |
0 |
|
100% |
| merco/plugins/builtin/skills/plugin.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| merco/plugins/builtin/subagent/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/plugins/builtin/subagent/plugin.py |
SubAgentPlugin.activate |
|
16 |
0 |
0 |
|
100% |
| merco/plugins/builtin/subagent/plugin.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| merco/plugins/builtin/superpower/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/plugins/builtin/superpower/plugin.py |
SuperpowerHintChunk.enabled |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/builtin/superpower/plugin.py |
SuperpowerHintChunk.build |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/builtin/superpower/plugin.py |
SuperpowerPlugin.activate |
|
4 |
0 |
0 |
|
100% |
| merco/plugins/builtin/superpower/plugin.py |
SuperpowerPlugin.deactivate |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/builtin/superpower/plugin.py |
SuperpowerPlugin._on_start |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/builtin/superpower/plugin.py |
SuperpowerPlugin._on_tool_error |
|
1 |
1 |
0 |
|
0% |
| merco/plugins/builtin/superpower/plugin.py |
(no function) |
|
17 |
0 |
2 |
|
100% |
| merco/plugins/builtin/web/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/plugins/builtin/web/plugin.py |
WebPlugin.activate |
|
4 |
0 |
0 |
|
100% |
| merco/plugins/builtin/web/plugin.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| merco/plugins/manager.py |
PluginManager.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/plugins/manager.py |
PluginManager.register |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/manager.py |
PluginManager.activate |
|
16 |
4 |
0 |
|
75% |
| merco/plugins/manager.py |
PluginManager.deactivate |
|
12 |
5 |
0 |
|
58% |
| merco/plugins/manager.py |
PluginManager.activate_all |
|
5 |
0 |
0 |
|
100% |
| merco/plugins/manager.py |
PluginManager.deactivate_all |
|
2 |
2 |
0 |
|
0% |
| merco/plugins/manager.py |
PluginManager.active_plugins |
|
1 |
0 |
0 |
|
100% |
| merco/plugins/manager.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| merco/sandbox/__init__.py |
create_tool_guard |
|
6 |
0 |
0 |
|
100% |
| merco/sandbox/__init__.py |
(no function) |
|
7 |
2 |
0 |
|
71% |
| merco/sandbox/confirm.py |
_term_width |
|
4 |
4 |
0 |
|
0% |
| merco/sandbox/confirm.py |
_read_config |
|
5 |
5 |
0 |
|
0% |
| merco/sandbox/confirm.py |
_render_unified |
|
2 |
2 |
0 |
|
0% |
| merco/sandbox/confirm.py |
_render_split |
|
78 |
78 |
0 |
|
0% |
| merco/sandbox/confirm.py |
_trunc |
|
3 |
3 |
0 |
|
0% |
| merco/sandbox/confirm.py |
confirm_edit |
|
28 |
28 |
0 |
|
0% |
| merco/sandbox/confirm.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
GuardConfirmationRequired.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
GuardRule.to_dict |
|
1 |
1 |
0 |
|
0% |
| merco/sandbox/guard.py |
GuardRule.from_dict |
|
1 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
ToolGuard.__init__ |
|
4 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
ToolGuard.rule |
|
2 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
ToolGuard.check |
|
1 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
PermissionPolicy.check |
|
0 |
0 |
1 |
|
100% |
| merco/sandbox/guard.py |
PolicyPipeline.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
PolicyPipeline.use |
|
2 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
PolicyPipeline.check |
|
5 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
_SingleRulePolicy.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
_SingleRulePolicy.check |
|
6 |
1 |
0 |
|
83% |
| merco/sandbox/guard.py |
BuiltinDefaultPolicy.__init__ |
|
6 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
BuiltinDefaultPolicy.check |
|
20 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
BuiltinDefaultPolicy._tool_match |
|
1 |
0 |
0 |
|
100% |
| merco/sandbox/guard.py |
(no function) |
|
49 |
0 |
2 |
|
100% |
| merco/sandbox/security.py |
SecurityChecker.check_command |
|
4 |
0 |
0 |
|
100% |
| merco/sandbox/security.py |
SecurityChecker.check_file_path |
|
5 |
0 |
0 |
|
100% |
| merco/sandbox/security.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| merco/sandbox/snapshot.py |
_ensure_dir |
|
2 |
2 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
_session_path |
|
1 |
1 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
set_current_session |
|
1 |
0 |
0 |
|
100% |
| merco/sandbox/snapshot.py |
get_current_session |
|
1 |
1 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
track |
|
7 |
7 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
history |
|
1 |
1 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
list_sessions |
|
8 |
8 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
revert |
|
18 |
18 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
_load |
|
7 |
7 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
_save |
|
2 |
2 |
0 |
|
0% |
| merco/sandbox/snapshot.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| merco/scheduler/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/scheduler/cron.py |
CronJob.__init__ |
|
6 |
6 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler.__init__ |
|
2 |
0 |
0 |
|
100% |
| merco/scheduler/cron.py |
CronScheduler.add_job |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler.remove_job |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler.list_jobs |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler.start |
|
4 |
4 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler.stop |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler._check_jobs |
|
4 |
4 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler._run_job |
|
8 |
8 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler._is_due |
|
6 |
6 |
0 |
|
0% |
| merco/scheduler/cron.py |
CronScheduler._is_due.match |
|
3 |
3 |
0 |
|
0% |
| merco/scheduler/cron.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| merco/scheduler/delivery.py |
DeliveryManager.__init__ |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/delivery.py |
DeliveryManager.register_channel |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/delivery.py |
DeliveryManager.deliver |
|
8 |
8 |
0 |
|
0% |
| merco/scheduler/delivery.py |
DeliveryManager.list_channels |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/delivery.py |
(no function) |
|
6 |
6 |
0 |
|
0% |
| merco/scheduler/jobs.py |
TaskManager.__init__ |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/jobs.py |
TaskManager.create |
|
4 |
4 |
0 |
|
0% |
| merco/scheduler/jobs.py |
TaskManager.get |
|
1 |
1 |
0 |
|
0% |
| merco/scheduler/jobs.py |
TaskManager.update_status |
|
9 |
9 |
0 |
|
0% |
| merco/scheduler/jobs.py |
TaskManager.list_tasks |
|
4 |
4 |
0 |
|
0% |
| merco/scheduler/jobs.py |
(no function) |
|
27 |
27 |
0 |
|
0% |
| merco/setup.py |
run_setup_wizard |
|
7 |
7 |
0 |
|
0% |
| merco/setup.py |
_pick_provider |
|
22 |
22 |
0 |
|
0% |
| merco/setup.py |
_ask_custom_provider |
|
7 |
7 |
0 |
|
0% |
| merco/setup.py |
_ask_api_key |
|
19 |
19 |
0 |
|
0% |
| merco/setup.py |
_ask_model |
|
20 |
20 |
0 |
|
0% |
| merco/setup.py |
_ask_base_url |
|
10 |
10 |
0 |
|
0% |
| merco/setup.py |
_confirm_and_save |
|
27 |
27 |
0 |
|
0% |
| merco/setup.py |
(no function) |
|
16 |
16 |
0 |
|
0% |
| merco/skills/__init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| merco/skills/builtin/__init__.py |
install_builtin_skills |
|
18 |
18 |
0 |
|
0% |
| merco/skills/builtin/__init__.py |
(no function) |
|
6 |
6 |
0 |
|
0% |
| merco/skills/loader.py |
SkillLoader.load_from_path |
|
5 |
1 |
0 |
|
80% |
| merco/skills/loader.py |
SkillLoader.load_from_directory |
|
10 |
1 |
0 |
|
90% |
| merco/skills/loader.py |
SkillLoader._parse_skill |
|
11 |
1 |
0 |
|
91% |
| merco/skills/loader.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| merco/skills/processors.py |
SkillViewProcessor.process |
|
15 |
13 |
0 |
|
13% |
| merco/skills/processors.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| merco/skills/registry.py |
SkillRegistry.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/skills/registry.py |
SkillRegistry.register |
|
1 |
0 |
0 |
|
100% |
| merco/skills/registry.py |
SkillRegistry.unregister |
|
1 |
1 |
0 |
|
0% |
| merco/skills/registry.py |
SkillRegistry.get |
|
1 |
1 |
0 |
|
0% |
| merco/skills/registry.py |
SkillRegistry.list_skills |
|
1 |
0 |
0 |
|
100% |
| merco/skills/registry.py |
SkillRegistry.get_relevant |
|
8 |
0 |
0 |
|
100% |
| merco/skills/registry.py |
SkillRegistry.load_from_paths |
|
5 |
0 |
0 |
|
100% |
| merco/skills/registry.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| merco/todo/__init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| merco/todo/manager.py |
TodoManager.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/todo/manager.py |
TodoManager._init_db |
|
2 |
0 |
0 |
|
100% |
| merco/todo/manager.py |
TodoManager.create |
|
5 |
0 |
0 |
|
100% |
| merco/todo/manager.py |
TodoManager.get |
|
6 |
0 |
0 |
|
100% |
| merco/todo/manager.py |
TodoManager.update |
|
9 |
1 |
0 |
|
89% |
| merco/todo/manager.py |
TodoManager.list |
|
13 |
2 |
0 |
|
85% |
| merco/todo/manager.py |
TodoManager.delete |
|
2 |
0 |
0 |
|
100% |
| merco/todo/manager.py |
TodoManager._row_to_item |
|
1 |
0 |
0 |
|
100% |
| merco/todo/manager.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| merco/todo/models.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| merco/tools/__init__.py |
discover_tools |
|
21 |
21 |
0 |
|
0% |
| merco/tools/__init__.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| merco/tools/base.py |
BaseTool.check |
|
1 |
0 |
0 |
|
100% |
| merco/tools/base.py |
BaseTool.describe |
|
1 |
0 |
0 |
|
100% |
| merco/tools/base.py |
BaseTool.get_definition |
|
1 |
0 |
0 |
|
100% |
| merco/tools/base.py |
BaseTool.execute |
|
1 |
1 |
0 |
|
0% |
| merco/tools/base.py |
BaseTool.validate |
|
2 |
2 |
0 |
|
0% |
| merco/tools/base.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| merco/tools/bash_tools.py |
BashTool.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/tools/bash_tools.py |
BashTool.execute |
|
12 |
5 |
0 |
|
58% |
| merco/tools/bash_tools.py |
BashTool.kill_all |
|
6 |
6 |
0 |
|
0% |
| merco/tools/bash_tools.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| merco/tools/edit.py |
_generate_diff |
|
2 |
0 |
0 |
|
100% |
| merco/tools/edit.py |
_validate_search |
|
6 |
1 |
0 |
|
83% |
| merco/tools/edit.py |
EditFile.execute |
|
12 |
1 |
0 |
|
92% |
| merco/tools/edit.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| merco/tools/errors.py |
classify_error |
|
15 |
7 |
0 |
|
53% |
| merco/tools/errors.py |
tool_error |
|
21 |
9 |
0 |
|
57% |
| merco/tools/errors.py |
empty_response |
|
1 |
0 |
0 |
|
100% |
| merco/tools/errors.py |
_public_message |
|
4 |
1 |
0 |
|
75% |
| merco/tools/errors.py |
_params_hint |
|
7 |
7 |
0 |
|
0% |
| merco/tools/errors.py |
_param_names |
|
2 |
2 |
0 |
|
0% |
| merco/tools/errors.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| merco/tools/file_tools.py |
ReadFile.execute |
|
20 |
20 |
0 |
|
0% |
| merco/tools/file_tools.py |
ReadFile._read_by_lines |
|
18 |
18 |
0 |
|
0% |
| merco/tools/file_tools.py |
ReadFile._read_tail |
|
8 |
8 |
0 |
|
0% |
| merco/tools/file_tools.py |
WriteFile.execute |
|
4 |
4 |
0 |
|
0% |
| merco/tools/file_tools.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| merco/tools/mcp_tools.py |
MCPTool.check |
|
1 |
1 |
0 |
|
0% |
| merco/tools/mcp_tools.py |
MCPTool.execute |
|
1 |
1 |
0 |
|
0% |
| merco/tools/mcp_tools.py |
MCPManager.__init__ |
|
1 |
1 |
0 |
|
0% |
| merco/tools/mcp_tools.py |
MCPManager.connect |
|
1 |
1 |
0 |
|
0% |
| merco/tools/mcp_tools.py |
MCPManager.disconnect |
|
1 |
1 |
0 |
|
0% |
| merco/tools/mcp_tools.py |
MCPManager.list_servers |
|
1 |
1 |
0 |
|
0% |
| merco/tools/mcp_tools.py |
(no function) |
|
15 |
15 |
0 |
|
0% |
| merco/tools/middleware.py |
ToolMiddleware.before |
|
0 |
0 |
1 |
|
100% |
| merco/tools/middleware.py |
ToolMiddleware.after |
|
0 |
0 |
1 |
|
100% |
| merco/tools/middleware.py |
ToolMiddleware.on_error |
|
0 |
0 |
1 |
|
100% |
| merco/tools/middleware.py |
ToolMiddlewareChain.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
ToolMiddlewareChain.use |
|
2 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
ToolMiddlewareChain.execute |
|
25 |
1 |
0 |
|
96% |
| merco/tools/middleware.py |
GuardMiddleware.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
GuardMiddleware.before |
|
7 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
GuardMiddleware.after |
|
1 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
GuardMiddleware.on_error |
|
1 |
1 |
0 |
|
0% |
| merco/tools/middleware.py |
ErrorHandlingMiddleware.before |
|
1 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
ErrorHandlingMiddleware.after |
|
1 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
ErrorHandlingMiddleware.on_error |
|
2 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
EditApplyMiddleware.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
EditApplyMiddleware.before |
|
1 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
EditApplyMiddleware.after |
|
13 |
0 |
0 |
|
100% |
| merco/tools/middleware.py |
EditApplyMiddleware.on_error |
|
1 |
1 |
0 |
|
0% |
| merco/tools/middleware.py |
(no function) |
|
44 |
0 |
4 |
|
100% |
| merco/tools/processors/__init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| merco/tools/processors/truncation.py |
TruncationProcessor.__init__ |
|
4 |
0 |
0 |
|
100% |
| merco/tools/processors/truncation.py |
TruncationProcessor.trunc_dir |
|
3 |
3 |
0 |
|
0% |
| merco/tools/processors/truncation.py |
TruncationProcessor.process |
|
40 |
36 |
0 |
|
10% |
| merco/tools/processors/truncation.py |
TruncationProcessor._maybe_cleanup |
|
22 |
22 |
0 |
|
0% |
| merco/tools/processors/truncation.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| merco/tools/recovery.py |
ToolReduceRecovery.__init__ |
|
1 |
1 |
0 |
|
0% |
| merco/tools/recovery.py |
ToolReduceRecovery.attempt |
|
6 |
6 |
0 |
|
0% |
| merco/tools/recovery.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
ToolRegistry.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
ToolRegistry.use |
|
2 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
ToolRegistry.register |
|
1 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
ToolRegistry.unregister |
|
1 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
ToolRegistry.get |
|
1 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
ToolRegistry.list_tools |
|
1 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
ToolRegistry.set_enabled_toolsets |
|
1 |
1 |
0 |
|
0% |
| merco/tools/registry.py |
ToolRegistry.get_definitions |
|
8 |
1 |
0 |
|
88% |
| merco/tools/registry.py |
ToolRegistry.execute |
|
5 |
0 |
0 |
|
100% |
| merco/tools/registry.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| merco/tools/skill_tools.py |
SkillViewTool.__init__ |
|
1 |
0 |
0 |
|
100% |
| merco/tools/skill_tools.py |
SkillViewTool.set_skill_registry |
|
1 |
0 |
0 |
|
100% |
| merco/tools/skill_tools.py |
SkillViewTool.describe |
|
10 |
0 |
0 |
|
100% |
| merco/tools/skill_tools.py |
SkillViewTool.check |
|
1 |
0 |
0 |
|
100% |
| merco/tools/skill_tools.py |
SkillViewTool.execute |
|
7 |
7 |
0 |
|
0% |
| merco/tools/skill_tools.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| merco/tools/task_tools.py |
TaskTool.__init__ |
|
3 |
0 |
0 |
|
100% |
| merco/tools/task_tools.py |
TaskTool.check |
|
1 |
0 |
0 |
|
100% |
| merco/tools/task_tools.py |
TaskTool.execute |
|
3 |
3 |
0 |
|
0% |
| merco/tools/task_tools.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| merco/tools/web_tools.py |
WebFetch.execute |
|
12 |
12 |
0 |
|
0% |
| merco/tools/web_tools.py |
WebSearch.execute |
|
11 |
11 |
0 |
|
0% |
| merco/tools/web_tools.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| merco/utils/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| merco/utils/helpers.py |
expand_path |
|
1 |
1 |
0 |
|
0% |
| merco/utils/helpers.py |
truncate |
|
3 |
3 |
0 |
|
0% |
| merco/utils/helpers.py |
extract_urls |
|
2 |
2 |
0 |
|
0% |
| merco/utils/helpers.py |
slugify |
|
4 |
4 |
0 |
|
0% |
| merco/utils/helpers.py |
format_bytes |
|
5 |
5 |
0 |
|
0% |
| merco/utils/helpers.py |
(no function) |
|
8 |
8 |
0 |
|
0% |