claude-mpm 4.1.1__py3-none-any.whl → 4.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- claude_mpm/BUILD_NUMBER +1 -1
- claude_mpm/VERSION +1 -1
- claude_mpm/__main__.py +1 -1
- claude_mpm/agents/BASE_PM.md +74 -46
- claude_mpm/agents/INSTRUCTIONS.md +11 -153
- claude_mpm/agents/WORKFLOW.md +61 -321
- claude_mpm/agents/__init__.py +11 -11
- claude_mpm/agents/agent_loader.py +23 -20
- claude_mpm/agents/agent_loader_integration.py +1 -1
- claude_mpm/agents/agents_metadata.py +27 -0
- claude_mpm/agents/async_agent_loader.py +5 -8
- claude_mpm/agents/base_agent_loader.py +36 -25
- claude_mpm/agents/frontmatter_validator.py +6 -6
- claude_mpm/agents/schema/agent_schema.json +1 -1
- claude_mpm/agents/system_agent_config.py +9 -9
- claude_mpm/agents/templates/api_qa.json +47 -2
- claude_mpm/agents/templates/imagemagick.json +256 -0
- claude_mpm/agents/templates/qa.json +41 -2
- claude_mpm/agents/templates/ticketing.json +5 -5
- claude_mpm/agents/templates/web_qa.json +50 -2
- claude_mpm/cli/__init__.py +51 -46
- claude_mpm/cli/__main__.py +1 -1
- claude_mpm/cli/commands/__init__.py +10 -12
- claude_mpm/cli/commands/agent_manager.py +186 -181
- claude_mpm/cli/commands/agents.py +271 -268
- claude_mpm/cli/commands/aggregate.py +30 -29
- claude_mpm/cli/commands/cleanup.py +50 -44
- claude_mpm/cli/commands/cleanup_orphaned_agents.py +25 -25
- claude_mpm/cli/commands/config.py +162 -127
- claude_mpm/cli/commands/doctor.py +52 -62
- claude_mpm/cli/commands/info.py +37 -25
- claude_mpm/cli/commands/mcp.py +3 -7
- claude_mpm/cli/commands/mcp_command_router.py +14 -18
- claude_mpm/cli/commands/mcp_install_commands.py +28 -23
- claude_mpm/cli/commands/mcp_pipx_config.py +58 -49
- claude_mpm/cli/commands/mcp_server_commands.py +23 -17
- claude_mpm/cli/commands/memory.py +192 -141
- claude_mpm/cli/commands/monitor.py +117 -88
- claude_mpm/cli/commands/run.py +120 -84
- claude_mpm/cli/commands/run_config_checker.py +4 -5
- claude_mpm/cli/commands/socketio_monitor.py +17 -19
- claude_mpm/cli/commands/tickets.py +92 -92
- claude_mpm/cli/parser.py +1 -5
- claude_mpm/cli/parsers/__init__.py +1 -1
- claude_mpm/cli/parsers/agent_manager_parser.py +50 -98
- claude_mpm/cli/parsers/agents_parser.py +2 -3
- claude_mpm/cli/parsers/base_parser.py +7 -5
- claude_mpm/cli/parsers/mcp_parser.py +4 -2
- claude_mpm/cli/parsers/monitor_parser.py +26 -18
- claude_mpm/cli/shared/__init__.py +10 -10
- claude_mpm/cli/shared/argument_patterns.py +57 -71
- claude_mpm/cli/shared/base_command.py +61 -53
- claude_mpm/cli/shared/error_handling.py +62 -58
- claude_mpm/cli/shared/output_formatters.py +78 -77
- claude_mpm/cli/startup_logging.py +204 -172
- claude_mpm/cli/utils.py +10 -11
- claude_mpm/cli_module/__init__.py +1 -1
- claude_mpm/cli_module/args.py +1 -1
- claude_mpm/cli_module/migration_example.py +5 -5
- claude_mpm/config/__init__.py +9 -9
- claude_mpm/config/agent_config.py +15 -14
- claude_mpm/config/experimental_features.py +4 -4
- claude_mpm/config/paths.py +0 -1
- claude_mpm/config/socketio_config.py +5 -6
- claude_mpm/constants.py +1 -2
- claude_mpm/core/__init__.py +8 -8
- claude_mpm/core/agent_name_normalizer.py +1 -1
- claude_mpm/core/agent_registry.py +20 -23
- claude_mpm/core/agent_session_manager.py +3 -3
- claude_mpm/core/base_service.py +7 -15
- claude_mpm/core/cache.py +4 -6
- claude_mpm/core/claude_runner.py +85 -113
- claude_mpm/core/config.py +43 -28
- claude_mpm/core/config_aliases.py +0 -9
- claude_mpm/core/config_constants.py +52 -30
- claude_mpm/core/constants.py +0 -1
- claude_mpm/core/container.py +18 -27
- claude_mpm/core/exceptions.py +2 -2
- claude_mpm/core/factories.py +10 -12
- claude_mpm/core/framework_loader.py +581 -280
- claude_mpm/core/hook_manager.py +26 -22
- claude_mpm/core/hook_performance_config.py +58 -47
- claude_mpm/core/injectable_service.py +1 -1
- claude_mpm/core/interactive_session.py +61 -152
- claude_mpm/core/interfaces.py +1 -100
- claude_mpm/core/lazy.py +5 -5
- claude_mpm/core/log_manager.py +587 -0
- claude_mpm/core/logger.py +125 -8
- claude_mpm/core/logging_config.py +15 -15
- claude_mpm/core/minimal_framework_loader.py +5 -8
- claude_mpm/core/oneshot_session.py +15 -33
- claude_mpm/core/optimized_agent_loader.py +4 -6
- claude_mpm/core/optimized_startup.py +2 -1
- claude_mpm/core/output_style_manager.py +147 -106
- claude_mpm/core/pm_hook_interceptor.py +0 -1
- claude_mpm/core/service_registry.py +11 -8
- claude_mpm/core/session_manager.py +1 -2
- claude_mpm/core/shared/__init__.py +1 -1
- claude_mpm/core/shared/config_loader.py +101 -97
- claude_mpm/core/shared/path_resolver.py +72 -68
- claude_mpm/core/shared/singleton_manager.py +56 -50
- claude_mpm/core/socketio_pool.py +26 -6
- claude_mpm/core/tool_access_control.py +4 -5
- claude_mpm/core/typing_utils.py +50 -59
- claude_mpm/core/unified_agent_registry.py +14 -19
- claude_mpm/core/unified_config.py +4 -6
- claude_mpm/core/unified_paths.py +197 -109
- claude_mpm/dashboard/open_dashboard.py +2 -4
- claude_mpm/experimental/cli_enhancements.py +51 -36
- claude_mpm/generators/agent_profile_generator.py +2 -4
- claude_mpm/hooks/base_hook.py +1 -2
- claude_mpm/hooks/claude_hooks/connection_pool.py +72 -26
- claude_mpm/hooks/claude_hooks/event_handlers.py +93 -38
- claude_mpm/hooks/claude_hooks/hook_handler.py +130 -76
- claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +104 -77
- claude_mpm/hooks/claude_hooks/memory_integration.py +2 -4
- claude_mpm/hooks/claude_hooks/response_tracking.py +15 -11
- claude_mpm/hooks/claude_hooks/tool_analysis.py +12 -18
- claude_mpm/hooks/memory_integration_hook.py +5 -5
- claude_mpm/hooks/tool_call_interceptor.py +1 -1
- claude_mpm/hooks/validation_hooks.py +4 -4
- claude_mpm/init.py +4 -9
- claude_mpm/models/__init__.py +2 -2
- claude_mpm/models/agent_session.py +11 -14
- claude_mpm/scripts/mcp_server.py +20 -11
- claude_mpm/scripts/mcp_wrapper.py +5 -5
- claude_mpm/scripts/mpm_doctor.py +321 -0
- claude_mpm/scripts/socketio_daemon.py +28 -25
- claude_mpm/scripts/socketio_daemon_hardened.py +298 -258
- claude_mpm/scripts/socketio_server_manager.py +116 -95
- claude_mpm/services/__init__.py +49 -49
- claude_mpm/services/agent_capabilities_service.py +12 -18
- claude_mpm/services/agents/__init__.py +22 -22
- claude_mpm/services/agents/agent_builder.py +140 -119
- claude_mpm/services/agents/deployment/__init__.py +3 -3
- claude_mpm/services/agents/deployment/agent_config_provider.py +9 -9
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +19 -20
- claude_mpm/services/agents/deployment/agent_definition_factory.py +1 -5
- claude_mpm/services/agents/deployment/agent_deployment.py +136 -106
- claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -8
- claude_mpm/services/agents/deployment/agent_environment_manager.py +2 -7
- claude_mpm/services/agents/deployment/agent_filesystem_manager.py +6 -10
- claude_mpm/services/agents/deployment/agent_format_converter.py +11 -15
- claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +2 -3
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +5 -5
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +13 -19
- claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -1
- claude_mpm/services/agents/deployment/agent_template_builder.py +26 -35
- claude_mpm/services/agents/deployment/agent_validator.py +0 -1
- claude_mpm/services/agents/deployment/agent_version_manager.py +7 -9
- claude_mpm/services/agents/deployment/agent_versioning.py +3 -3
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +6 -7
- claude_mpm/services/agents/deployment/async_agent_deployment.py +51 -38
- claude_mpm/services/agents/deployment/config/__init__.py +1 -1
- claude_mpm/services/agents/deployment/config/deployment_config.py +7 -8
- claude_mpm/services/agents/deployment/deployment_type_detector.py +1 -1
- claude_mpm/services/agents/deployment/deployment_wrapper.py +18 -18
- claude_mpm/services/agents/deployment/facade/__init__.py +1 -1
- claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -3
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -4
- claude_mpm/services/agents/deployment/interface_adapter.py +5 -7
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +345 -276
- claude_mpm/services/agents/deployment/pipeline/__init__.py +2 -2
- claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +6 -4
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +3 -3
- claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +2 -2
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +14 -13
- claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -1
- claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +8 -9
- claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +1 -1
- claude_mpm/services/agents/deployment/processors/__init__.py +1 -1
- claude_mpm/services/agents/deployment/processors/agent_processor.py +20 -16
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +5 -12
- claude_mpm/services/agents/deployment/results/__init__.py +1 -1
- claude_mpm/services/agents/deployment/results/deployment_result_builder.py +1 -1
- claude_mpm/services/agents/deployment/strategies/__init__.py +2 -2
- claude_mpm/services/agents/deployment/strategies/base_strategy.py +1 -7
- claude_mpm/services/agents/deployment/strategies/project_strategy.py +1 -4
- claude_mpm/services/agents/deployment/strategies/system_strategy.py +2 -3
- claude_mpm/services/agents/deployment/strategies/user_strategy.py +3 -7
- claude_mpm/services/agents/deployment/validation/__init__.py +1 -1
- claude_mpm/services/agents/deployment/validation/agent_validator.py +1 -1
- claude_mpm/services/agents/deployment/validation/template_validator.py +2 -2
- claude_mpm/services/agents/deployment/validation/validation_result.py +2 -6
- claude_mpm/services/agents/loading/__init__.py +1 -1
- claude_mpm/services/agents/loading/agent_profile_loader.py +6 -12
- claude_mpm/services/agents/loading/base_agent_manager.py +5 -5
- claude_mpm/services/agents/loading/framework_agent_loader.py +2 -4
- claude_mpm/services/agents/management/__init__.py +1 -1
- claude_mpm/services/agents/management/agent_capabilities_generator.py +1 -3
- claude_mpm/services/agents/management/agent_management_service.py +5 -9
- claude_mpm/services/agents/memory/__init__.py +4 -4
- claude_mpm/services/agents/memory/agent_memory_manager.py +280 -160
- claude_mpm/services/agents/memory/agent_persistence_service.py +0 -2
- claude_mpm/services/agents/memory/content_manager.py +44 -38
- claude_mpm/services/agents/memory/template_generator.py +4 -6
- claude_mpm/services/agents/registry/__init__.py +10 -6
- claude_mpm/services/agents/registry/deployed_agent_discovery.py +30 -27
- claude_mpm/services/agents/registry/modification_tracker.py +3 -6
- claude_mpm/services/async_session_logger.py +1 -2
- claude_mpm/services/claude_session_logger.py +1 -2
- claude_mpm/services/command_deployment_service.py +173 -0
- claude_mpm/services/command_handler_service.py +20 -22
- claude_mpm/services/core/__init__.py +25 -25
- claude_mpm/services/core/base.py +0 -5
- claude_mpm/services/core/interfaces/__init__.py +32 -32
- claude_mpm/services/core/interfaces/agent.py +0 -21
- claude_mpm/services/core/interfaces/communication.py +0 -27
- claude_mpm/services/core/interfaces/infrastructure.py +0 -56
- claude_mpm/services/core/interfaces/service.py +0 -29
- claude_mpm/services/diagnostics/__init__.py +1 -1
- claude_mpm/services/diagnostics/checks/__init__.py +6 -6
- claude_mpm/services/diagnostics/checks/agent_check.py +89 -80
- claude_mpm/services/diagnostics/checks/base_check.py +12 -16
- claude_mpm/services/diagnostics/checks/claude_desktop_check.py +84 -81
- claude_mpm/services/diagnostics/checks/common_issues_check.py +99 -91
- claude_mpm/services/diagnostics/checks/configuration_check.py +82 -77
- claude_mpm/services/diagnostics/checks/filesystem_check.py +67 -68
- claude_mpm/services/diagnostics/checks/installation_check.py +254 -94
- claude_mpm/services/diagnostics/checks/mcp_check.py +90 -88
- claude_mpm/services/diagnostics/checks/monitor_check.py +75 -76
- claude_mpm/services/diagnostics/checks/startup_log_check.py +67 -73
- claude_mpm/services/diagnostics/diagnostic_runner.py +67 -59
- claude_mpm/services/diagnostics/doctor_reporter.py +107 -70
- claude_mpm/services/diagnostics/models.py +21 -19
- claude_mpm/services/event_aggregator.py +10 -17
- claude_mpm/services/event_bus/__init__.py +1 -1
- claude_mpm/services/event_bus/config.py +54 -35
- claude_mpm/services/event_bus/event_bus.py +76 -71
- claude_mpm/services/event_bus/relay.py +74 -64
- claude_mpm/services/events/__init__.py +11 -11
- claude_mpm/services/events/consumers/__init__.py +3 -3
- claude_mpm/services/events/consumers/dead_letter.py +71 -63
- claude_mpm/services/events/consumers/logging.py +39 -37
- claude_mpm/services/events/consumers/metrics.py +56 -57
- claude_mpm/services/events/consumers/socketio.py +82 -81
- claude_mpm/services/events/core.py +110 -99
- claude_mpm/services/events/interfaces.py +56 -72
- claude_mpm/services/events/producers/__init__.py +1 -1
- claude_mpm/services/events/producers/hook.py +38 -38
- claude_mpm/services/events/producers/system.py +46 -44
- claude_mpm/services/exceptions.py +81 -80
- claude_mpm/services/framework_claude_md_generator/__init__.py +2 -4
- claude_mpm/services/framework_claude_md_generator/content_assembler.py +3 -5
- claude_mpm/services/framework_claude_md_generator/content_validator.py +1 -1
- claude_mpm/services/framework_claude_md_generator/deployment_manager.py +4 -4
- claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -1
- claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -2
- claude_mpm/services/framework_claude_md_generator/version_manager.py +4 -5
- claude_mpm/services/hook_service.py +6 -9
- claude_mpm/services/infrastructure/__init__.py +1 -1
- claude_mpm/services/infrastructure/context_preservation.py +8 -12
- claude_mpm/services/infrastructure/monitoring.py +21 -23
- claude_mpm/services/mcp_gateway/__init__.py +37 -37
- claude_mpm/services/mcp_gateway/auto_configure.py +95 -103
- claude_mpm/services/mcp_gateway/config/__init__.py +1 -1
- claude_mpm/services/mcp_gateway/config/config_loader.py +23 -25
- claude_mpm/services/mcp_gateway/config/config_schema.py +5 -5
- claude_mpm/services/mcp_gateway/config/configuration.py +9 -6
- claude_mpm/services/mcp_gateway/core/__init__.py +10 -10
- claude_mpm/services/mcp_gateway/core/base.py +0 -3
- claude_mpm/services/mcp_gateway/core/interfaces.py +1 -38
- claude_mpm/services/mcp_gateway/core/process_pool.py +99 -93
- claude_mpm/services/mcp_gateway/core/singleton_manager.py +65 -62
- claude_mpm/services/mcp_gateway/core/startup_verification.py +75 -74
- claude_mpm/services/mcp_gateway/main.py +2 -1
- claude_mpm/services/mcp_gateway/registry/service_registry.py +5 -8
- claude_mpm/services/mcp_gateway/registry/tool_registry.py +1 -1
- claude_mpm/services/mcp_gateway/server/__init__.py +1 -1
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +12 -19
- claude_mpm/services/mcp_gateway/server/stdio_handler.py +4 -3
- claude_mpm/services/mcp_gateway/server/stdio_server.py +79 -71
- claude_mpm/services/mcp_gateway/tools/__init__.py +2 -2
- claude_mpm/services/mcp_gateway/tools/base_adapter.py +5 -6
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +13 -22
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +79 -78
- claude_mpm/services/mcp_gateway/tools/hello_world.py +12 -14
- claude_mpm/services/mcp_gateway/tools/ticket_tools.py +42 -49
- claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +51 -55
- claude_mpm/services/memory/__init__.py +3 -3
- claude_mpm/services/memory/builder.py +3 -6
- claude_mpm/services/memory/cache/__init__.py +1 -1
- claude_mpm/services/memory/cache/shared_prompt_cache.py +3 -5
- claude_mpm/services/memory/cache/simple_cache.py +1 -1
- claude_mpm/services/memory/indexed_memory.py +5 -7
- claude_mpm/services/memory/optimizer.py +7 -10
- claude_mpm/services/memory/router.py +8 -9
- claude_mpm/services/memory_hook_service.py +48 -34
- claude_mpm/services/monitor_build_service.py +77 -73
- claude_mpm/services/port_manager.py +130 -108
- claude_mpm/services/project/analyzer.py +12 -10
- claude_mpm/services/project/registry.py +11 -11
- claude_mpm/services/recovery_manager.py +10 -19
- claude_mpm/services/response_tracker.py +0 -1
- claude_mpm/services/runner_configuration_service.py +19 -20
- claude_mpm/services/session_management_service.py +7 -11
- claude_mpm/services/shared/__init__.py +1 -1
- claude_mpm/services/shared/async_service_base.py +58 -50
- claude_mpm/services/shared/config_service_base.py +73 -67
- claude_mpm/services/shared/lifecycle_service_base.py +82 -78
- claude_mpm/services/shared/manager_base.py +94 -82
- claude_mpm/services/shared/service_factory.py +96 -98
- claude_mpm/services/socketio/__init__.py +3 -3
- claude_mpm/services/socketio/client_proxy.py +5 -5
- claude_mpm/services/socketio/event_normalizer.py +199 -181
- claude_mpm/services/socketio/handlers/__init__.py +3 -3
- claude_mpm/services/socketio/handlers/base.py +5 -4
- claude_mpm/services/socketio/handlers/connection.py +163 -136
- claude_mpm/services/socketio/handlers/file.py +13 -14
- claude_mpm/services/socketio/handlers/git.py +12 -7
- claude_mpm/services/socketio/handlers/hook.py +49 -44
- claude_mpm/services/socketio/handlers/memory.py +0 -1
- claude_mpm/services/socketio/handlers/project.py +0 -1
- claude_mpm/services/socketio/handlers/registry.py +37 -19
- claude_mpm/services/socketio/migration_utils.py +98 -84
- claude_mpm/services/socketio/server/__init__.py +1 -1
- claude_mpm/services/socketio/server/broadcaster.py +81 -87
- claude_mpm/services/socketio/server/core.py +65 -54
- claude_mpm/services/socketio/server/eventbus_integration.py +95 -56
- claude_mpm/services/socketio/server/main.py +64 -38
- claude_mpm/services/socketio_client_manager.py +10 -12
- claude_mpm/services/subprocess_launcher_service.py +4 -7
- claude_mpm/services/system_instructions_service.py +13 -14
- claude_mpm/services/ticket_manager.py +2 -2
- claude_mpm/services/utility_service.py +5 -13
- claude_mpm/services/version_control/__init__.py +16 -16
- claude_mpm/services/version_control/branch_strategy.py +5 -8
- claude_mpm/services/version_control/conflict_resolution.py +9 -23
- claude_mpm/services/version_control/git_operations.py +5 -7
- claude_mpm/services/version_control/semantic_versioning.py +16 -17
- claude_mpm/services/version_control/version_parser.py +13 -18
- claude_mpm/services/version_service.py +10 -11
- claude_mpm/storage/__init__.py +1 -1
- claude_mpm/storage/state_storage.py +22 -28
- claude_mpm/utils/__init__.py +6 -6
- claude_mpm/utils/agent_dependency_loader.py +47 -33
- claude_mpm/utils/config_manager.py +11 -14
- claude_mpm/utils/dependency_cache.py +1 -1
- claude_mpm/utils/dependency_manager.py +13 -17
- claude_mpm/utils/dependency_strategies.py +8 -10
- claude_mpm/utils/environment_context.py +3 -9
- claude_mpm/utils/error_handler.py +3 -13
- claude_mpm/utils/file_utils.py +1 -1
- claude_mpm/utils/path_operations.py +8 -12
- claude_mpm/utils/robust_installer.py +110 -33
- claude_mpm/utils/subprocess_utils.py +5 -6
- claude_mpm/validation/agent_validator.py +3 -6
- claude_mpm/validation/frontmatter_validator.py +1 -1
- {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/METADATA +1 -1
- claude_mpm-4.1.2.dist-info/RECORD +498 -0
- claude_mpm-4.1.1.dist-info/RECORD +0 -494
- {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.1.dist-info → claude_mpm-4.1.2.dist-info}/top_level.txt +0 -0
|
@@ -35,27 +35,22 @@ class IServiceContainer(ABC):
|
|
|
35
35
|
self, service_type: type, implementation: type, singleton: bool = True
|
|
36
36
|
) -> None:
|
|
37
37
|
"""Register a service implementation"""
|
|
38
|
-
pass
|
|
39
38
|
|
|
40
39
|
@abstractmethod
|
|
41
40
|
def register_instance(self, service_type: type, instance: Any) -> None:
|
|
42
41
|
"""Register a service instance"""
|
|
43
|
-
pass
|
|
44
42
|
|
|
45
43
|
@abstractmethod
|
|
46
44
|
def resolve(self, service_type: type) -> Any:
|
|
47
45
|
"""Resolve a service by type"""
|
|
48
|
-
pass
|
|
49
46
|
|
|
50
47
|
@abstractmethod
|
|
51
48
|
def resolve_all(self, service_type: type) -> List[Any]:
|
|
52
49
|
"""Resolve all implementations of a service type"""
|
|
53
|
-
pass
|
|
54
50
|
|
|
55
51
|
@abstractmethod
|
|
56
52
|
def is_registered(self, service_type: type) -> bool:
|
|
57
53
|
"""Check if a service type is registered"""
|
|
58
|
-
pass
|
|
59
54
|
|
|
60
55
|
|
|
61
56
|
# Configuration management interfaces
|
|
@@ -65,22 +60,18 @@ class IConfigurationService(ABC):
|
|
|
65
60
|
@abstractmethod
|
|
66
61
|
def get(self, key: str, default: Any = None) -> Any:
|
|
67
62
|
"""Get configuration value by key"""
|
|
68
|
-
pass
|
|
69
63
|
|
|
70
64
|
@abstractmethod
|
|
71
65
|
def set(self, key: str, value: Any) -> None:
|
|
72
66
|
"""Set configuration value"""
|
|
73
|
-
pass
|
|
74
67
|
|
|
75
68
|
@abstractmethod
|
|
76
69
|
def reload(self) -> None:
|
|
77
70
|
"""Reload configuration from source"""
|
|
78
|
-
pass
|
|
79
71
|
|
|
80
72
|
@abstractmethod
|
|
81
73
|
def shutdown(self) -> None:
|
|
82
74
|
"""Shutdown configuration service"""
|
|
83
|
-
pass
|
|
84
75
|
|
|
85
76
|
|
|
86
77
|
class IConfigurationManager(ABC):
|
|
@@ -89,32 +80,26 @@ class IConfigurationManager(ABC):
|
|
|
89
80
|
@abstractmethod
|
|
90
81
|
def get(self, key: str, default: Any = None) -> Any:
|
|
91
82
|
"""Get configuration value by key"""
|
|
92
|
-
pass
|
|
93
83
|
|
|
94
84
|
@abstractmethod
|
|
95
85
|
def set(self, key: str, value: Any) -> None:
|
|
96
86
|
"""Set configuration value"""
|
|
97
|
-
pass
|
|
98
87
|
|
|
99
88
|
@abstractmethod
|
|
100
89
|
def validate_config(self, config: Dict[str, Any]) -> Tuple[bool, List[str]]:
|
|
101
90
|
"""Validate configuration structure and values"""
|
|
102
|
-
pass
|
|
103
91
|
|
|
104
92
|
@abstractmethod
|
|
105
93
|
def load_from_file(self, config_path: Path) -> None:
|
|
106
94
|
"""Load configuration from file"""
|
|
107
|
-
pass
|
|
108
95
|
|
|
109
96
|
@abstractmethod
|
|
110
97
|
def save_to_file(self, config_path: Path) -> None:
|
|
111
98
|
"""Save configuration to file"""
|
|
112
|
-
pass
|
|
113
99
|
|
|
114
100
|
@abstractmethod
|
|
115
101
|
def watch_changes(self, callback: callable) -> None:
|
|
116
102
|
"""Watch for configuration changes"""
|
|
117
|
-
pass
|
|
118
103
|
|
|
119
104
|
|
|
120
105
|
# Cache service interface
|
|
@@ -124,32 +109,26 @@ class ICacheService(ABC):
|
|
|
124
109
|
@abstractmethod
|
|
125
110
|
def get(self, key: str) -> Any:
|
|
126
111
|
"""Get value from cache"""
|
|
127
|
-
pass
|
|
128
112
|
|
|
129
113
|
@abstractmethod
|
|
130
114
|
def set(self, key: str, value: Any, ttl: Optional[int] = None) -> None:
|
|
131
115
|
"""Set value in cache with optional TTL"""
|
|
132
|
-
pass
|
|
133
116
|
|
|
134
117
|
@abstractmethod
|
|
135
118
|
def delete(self, key: str) -> bool:
|
|
136
119
|
"""Delete key from cache"""
|
|
137
|
-
pass
|
|
138
120
|
|
|
139
121
|
@abstractmethod
|
|
140
122
|
def invalidate(self, pattern: str) -> int:
|
|
141
123
|
"""Invalidate keys matching pattern"""
|
|
142
|
-
pass
|
|
143
124
|
|
|
144
125
|
@abstractmethod
|
|
145
126
|
def clear(self) -> None:
|
|
146
127
|
"""Clear all cache entries"""
|
|
147
|
-
pass
|
|
148
128
|
|
|
149
129
|
@abstractmethod
|
|
150
130
|
def get_cache_metrics(self) -> Dict[str, Any]:
|
|
151
131
|
"""Get cache performance metrics"""
|
|
152
|
-
pass
|
|
153
132
|
|
|
154
133
|
|
|
155
134
|
# Health monitoring interface
|
|
@@ -170,22 +149,18 @@ class IHealthMonitor(ABC):
|
|
|
170
149
|
@abstractmethod
|
|
171
150
|
async def check_health(self, service_name: str) -> HealthStatus:
|
|
172
151
|
"""Check health of a specific service"""
|
|
173
|
-
pass
|
|
174
152
|
|
|
175
153
|
@abstractmethod
|
|
176
154
|
async def check_all_services(self) -> Dict[str, HealthStatus]:
|
|
177
155
|
"""Check health of all registered services"""
|
|
178
|
-
pass
|
|
179
156
|
|
|
180
157
|
@abstractmethod
|
|
181
158
|
def register_health_check(self, service_name: str, check_func: callable) -> None:
|
|
182
159
|
"""Register a health check function for a service"""
|
|
183
|
-
pass
|
|
184
160
|
|
|
185
161
|
@abstractmethod
|
|
186
162
|
def get_health_summary(self) -> Dict[str, Any]:
|
|
187
163
|
"""Get overall health summary"""
|
|
188
|
-
pass
|
|
189
164
|
|
|
190
165
|
|
|
191
166
|
# Prompt cache interface
|
|
@@ -211,27 +186,22 @@ class IPromptCache(ABC):
|
|
|
211
186
|
@abstractmethod
|
|
212
187
|
def get(self, key: str) -> Optional[Any]:
|
|
213
188
|
"""Get cached value by key"""
|
|
214
|
-
pass
|
|
215
189
|
|
|
216
190
|
@abstractmethod
|
|
217
191
|
def set(self, key: str, value: Any, ttl: Optional[int] = None) -> None:
|
|
218
192
|
"""Set cached value with optional TTL"""
|
|
219
|
-
pass
|
|
220
193
|
|
|
221
194
|
@abstractmethod
|
|
222
195
|
def invalidate(self, pattern: str) -> int:
|
|
223
196
|
"""Invalidate cache entries matching pattern"""
|
|
224
|
-
pass
|
|
225
197
|
|
|
226
198
|
@abstractmethod
|
|
227
199
|
def get_stats(self) -> Dict[str, Any]:
|
|
228
200
|
"""Get cache statistics"""
|
|
229
|
-
pass
|
|
230
201
|
|
|
231
202
|
@abstractmethod
|
|
232
203
|
def clear(self) -> None:
|
|
233
204
|
"""Clear all cache entries"""
|
|
234
|
-
pass
|
|
235
205
|
|
|
236
206
|
|
|
237
207
|
# Template management interface
|
|
@@ -253,17 +223,14 @@ class ITemplateManager(ABC):
|
|
|
253
223
|
self, template_content: str, context: TemplateRenderContext
|
|
254
224
|
) -> str:
|
|
255
225
|
"""Render template with given context"""
|
|
256
|
-
pass
|
|
257
226
|
|
|
258
227
|
@abstractmethod
|
|
259
228
|
async def load_template(self, template_path: Path) -> str:
|
|
260
229
|
"""Load template from file"""
|
|
261
|
-
pass
|
|
262
230
|
|
|
263
231
|
@abstractmethod
|
|
264
232
|
def register_function(self, name: str, func: callable) -> None:
|
|
265
233
|
"""Register custom template function"""
|
|
266
|
-
pass
|
|
267
234
|
|
|
268
235
|
|
|
269
236
|
# Service factory interface
|
|
@@ -273,17 +240,14 @@ class IServiceFactory(Generic[ServiceType], ABC):
|
|
|
273
240
|
@abstractmethod
|
|
274
241
|
def create(self, **kwargs) -> ServiceType:
|
|
275
242
|
"""Create service instance"""
|
|
276
|
-
pass
|
|
277
243
|
|
|
278
244
|
@abstractmethod
|
|
279
245
|
def get_service_type(self) -> type:
|
|
280
246
|
"""Get the service type this factory creates"""
|
|
281
|
-
pass
|
|
282
247
|
|
|
283
248
|
@abstractmethod
|
|
284
249
|
def supports(self, service_type: type) -> bool:
|
|
285
250
|
"""Check if factory supports service type"""
|
|
286
|
-
pass
|
|
287
251
|
|
|
288
252
|
|
|
289
253
|
# Logging interface
|
|
@@ -293,27 +257,22 @@ class IStructuredLogger(ABC):
|
|
|
293
257
|
@abstractmethod
|
|
294
258
|
def debug(self, message: str, **kwargs) -> None:
|
|
295
259
|
"""Log debug message with structured data"""
|
|
296
|
-
pass
|
|
297
260
|
|
|
298
261
|
@abstractmethod
|
|
299
262
|
def info(self, message: str, **kwargs) -> None:
|
|
300
263
|
"""Log info message with structured data"""
|
|
301
|
-
pass
|
|
302
264
|
|
|
303
265
|
@abstractmethod
|
|
304
266
|
def warning(self, message: str, **kwargs) -> None:
|
|
305
267
|
"""Log warning message with structured data"""
|
|
306
|
-
pass
|
|
307
268
|
|
|
308
269
|
@abstractmethod
|
|
309
270
|
def error(self, message: str, **kwargs) -> None:
|
|
310
271
|
"""Log error message with structured data"""
|
|
311
|
-
pass
|
|
312
272
|
|
|
313
273
|
@abstractmethod
|
|
314
274
|
def set_context(self, **kwargs) -> None:
|
|
315
275
|
"""Set logging context for all subsequent messages"""
|
|
316
|
-
pass
|
|
317
276
|
|
|
318
277
|
|
|
319
278
|
# Service lifecycle interface
|
|
@@ -323,27 +282,22 @@ class IServiceLifecycle(ABC):
|
|
|
323
282
|
@abstractmethod
|
|
324
283
|
async def initialize(self) -> None:
|
|
325
284
|
"""Initialize the service"""
|
|
326
|
-
pass
|
|
327
285
|
|
|
328
286
|
@abstractmethod
|
|
329
287
|
async def start(self) -> None:
|
|
330
288
|
"""Start the service"""
|
|
331
|
-
pass
|
|
332
289
|
|
|
333
290
|
@abstractmethod
|
|
334
291
|
async def stop(self) -> None:
|
|
335
292
|
"""Stop the service"""
|
|
336
|
-
pass
|
|
337
293
|
|
|
338
294
|
@abstractmethod
|
|
339
295
|
async def restart(self) -> None:
|
|
340
296
|
"""Restart the service"""
|
|
341
|
-
pass
|
|
342
297
|
|
|
343
298
|
@abstractmethod
|
|
344
299
|
def is_running(self) -> bool:
|
|
345
300
|
"""Check if service is running"""
|
|
346
|
-
pass
|
|
347
301
|
|
|
348
302
|
|
|
349
303
|
# Error handling interface
|
|
@@ -353,12 +307,10 @@ class IErrorHandler(ABC):
|
|
|
353
307
|
@abstractmethod
|
|
354
308
|
def handle_error(self, error: Exception, context: Dict[str, Any]) -> None:
|
|
355
309
|
"""Handle error with context"""
|
|
356
|
-
pass
|
|
357
310
|
|
|
358
311
|
@abstractmethod
|
|
359
312
|
def get_error_stats(self) -> Dict[str, Any]:
|
|
360
313
|
"""Get error statistics"""
|
|
361
|
-
pass
|
|
362
314
|
|
|
363
315
|
|
|
364
316
|
# Performance monitoring interface
|
|
@@ -368,24 +320,20 @@ class IPerformanceMonitor(ABC):
|
|
|
368
320
|
@abstractmethod
|
|
369
321
|
def start_timer(self, operation: str) -> str:
|
|
370
322
|
"""Start timing an operation"""
|
|
371
|
-
pass
|
|
372
323
|
|
|
373
324
|
@abstractmethod
|
|
374
325
|
def end_timer(self, timer_id: str) -> float:
|
|
375
326
|
"""End timing and return duration"""
|
|
376
|
-
pass
|
|
377
327
|
|
|
378
328
|
@abstractmethod
|
|
379
329
|
def record_metric(
|
|
380
330
|
self, name: str, value: float, tags: Optional[Dict[str, str]] = None
|
|
381
331
|
) -> None:
|
|
382
332
|
"""Record a performance metric"""
|
|
383
|
-
pass
|
|
384
333
|
|
|
385
334
|
@abstractmethod
|
|
386
335
|
def get_metrics(self) -> Dict[str, Any]:
|
|
387
336
|
"""Get performance metrics"""
|
|
388
|
-
pass
|
|
389
337
|
|
|
390
338
|
|
|
391
339
|
# Event system interface
|
|
@@ -395,19 +343,15 @@ class IEventBus(ABC):
|
|
|
395
343
|
@abstractmethod
|
|
396
344
|
def publish(self, event_type: str, data: Any) -> None:
|
|
397
345
|
"""Publish an event"""
|
|
398
|
-
pass
|
|
399
346
|
|
|
400
347
|
@abstractmethod
|
|
401
348
|
def subscribe(self, event_type: str, handler: callable) -> str:
|
|
402
349
|
"""Subscribe to an event type"""
|
|
403
|
-
pass
|
|
404
350
|
|
|
405
351
|
@abstractmethod
|
|
406
352
|
def unsubscribe(self, subscription_id: str) -> None:
|
|
407
353
|
"""Unsubscribe from events"""
|
|
408
|
-
pass
|
|
409
354
|
|
|
410
355
|
@abstractmethod
|
|
411
356
|
async def publish_async(self, event_type: str, data: Any) -> None:
|
|
412
357
|
"""Publish an event asynchronously"""
|
|
413
|
-
pass
|
|
@@ -41,7 +41,6 @@ class VersionServiceInterface(ABC):
|
|
|
41
41
|
Returns:
|
|
42
42
|
Version string in semantic version format
|
|
43
43
|
"""
|
|
44
|
-
pass
|
|
45
44
|
|
|
46
45
|
@abstractmethod
|
|
47
46
|
def get_version_info(self) -> Dict[str, Any]:
|
|
@@ -50,7 +49,6 @@ class VersionServiceInterface(ABC):
|
|
|
50
49
|
Returns:
|
|
51
50
|
Dictionary with version details and metadata
|
|
52
51
|
"""
|
|
53
|
-
pass
|
|
54
52
|
|
|
55
53
|
@abstractmethod
|
|
56
54
|
def format_version_display(self, include_build: bool = False) -> str:
|
|
@@ -62,7 +60,6 @@ class VersionServiceInterface(ABC):
|
|
|
62
60
|
Returns:
|
|
63
61
|
Formatted version string for display
|
|
64
62
|
"""
|
|
65
|
-
pass
|
|
66
63
|
|
|
67
64
|
@abstractmethod
|
|
68
65
|
def check_for_updates(self) -> Dict[str, Any]:
|
|
@@ -71,7 +68,6 @@ class VersionServiceInterface(ABC):
|
|
|
71
68
|
Returns:
|
|
72
69
|
Dictionary with update information
|
|
73
70
|
"""
|
|
74
|
-
pass
|
|
75
71
|
|
|
76
72
|
|
|
77
73
|
# Command handler interface
|
|
@@ -97,7 +93,6 @@ class CommandHandlerInterface(ABC):
|
|
|
97
93
|
Returns:
|
|
98
94
|
Dictionary with command execution results
|
|
99
95
|
"""
|
|
100
|
-
pass
|
|
101
96
|
|
|
102
97
|
@abstractmethod
|
|
103
98
|
def get_available_commands(self) -> List[str]:
|
|
@@ -106,7 +101,6 @@ class CommandHandlerInterface(ABC):
|
|
|
106
101
|
Returns:
|
|
107
102
|
List of available command names
|
|
108
103
|
"""
|
|
109
|
-
pass
|
|
110
104
|
|
|
111
105
|
@abstractmethod
|
|
112
106
|
def get_command_help(self, command: str) -> str:
|
|
@@ -118,7 +112,6 @@ class CommandHandlerInterface(ABC):
|
|
|
118
112
|
Returns:
|
|
119
113
|
Help text for the command
|
|
120
114
|
"""
|
|
121
|
-
pass
|
|
122
115
|
|
|
123
116
|
|
|
124
117
|
# Memory hook interface
|
|
@@ -136,12 +129,10 @@ class MemoryHookInterface(ABC):
|
|
|
136
129
|
@abstractmethod
|
|
137
130
|
def register_memory_hooks(self):
|
|
138
131
|
"""Register memory-related hooks with the hook service."""
|
|
139
|
-
pass
|
|
140
132
|
|
|
141
133
|
@abstractmethod
|
|
142
134
|
def unregister_memory_hooks(self):
|
|
143
135
|
"""Unregister memory-related hooks from the hook service."""
|
|
144
|
-
pass
|
|
145
136
|
|
|
146
137
|
@abstractmethod
|
|
147
138
|
def get_hook_status(self) -> Dict[str, Any]:
|
|
@@ -150,7 +141,6 @@ class MemoryHookInterface(ABC):
|
|
|
150
141
|
Returns:
|
|
151
142
|
Dictionary with hook status information
|
|
152
143
|
"""
|
|
153
|
-
pass
|
|
154
144
|
|
|
155
145
|
|
|
156
146
|
# Session management interface
|
|
@@ -175,7 +165,6 @@ class SessionManagementInterface(ABC):
|
|
|
175
165
|
Returns:
|
|
176
166
|
Session ID
|
|
177
167
|
"""
|
|
178
|
-
pass
|
|
179
168
|
|
|
180
169
|
@abstractmethod
|
|
181
170
|
def end_session(self, session_id: str) -> bool:
|
|
@@ -187,7 +176,6 @@ class SessionManagementInterface(ABC):
|
|
|
187
176
|
Returns:
|
|
188
177
|
True if session ended successfully
|
|
189
178
|
"""
|
|
190
|
-
pass
|
|
191
179
|
|
|
192
180
|
@abstractmethod
|
|
193
181
|
def get_session_status(self, session_id: str) -> Dict[str, Any]:
|
|
@@ -199,7 +187,6 @@ class SessionManagementInterface(ABC):
|
|
|
199
187
|
Returns:
|
|
200
188
|
Dictionary with session status information
|
|
201
189
|
"""
|
|
202
|
-
pass
|
|
203
190
|
|
|
204
191
|
@abstractmethod
|
|
205
192
|
def list_active_sessions(self) -> List[str]:
|
|
@@ -208,7 +195,6 @@ class SessionManagementInterface(ABC):
|
|
|
208
195
|
Returns:
|
|
209
196
|
List of active session IDs
|
|
210
197
|
"""
|
|
211
|
-
pass
|
|
212
198
|
|
|
213
199
|
@abstractmethod
|
|
214
200
|
async def cleanup_sessions(self) -> int:
|
|
@@ -217,7 +203,6 @@ class SessionManagementInterface(ABC):
|
|
|
217
203
|
Returns:
|
|
218
204
|
Number of sessions cleaned up
|
|
219
205
|
"""
|
|
220
|
-
pass
|
|
221
206
|
|
|
222
207
|
|
|
223
208
|
# Utility service interface
|
|
@@ -242,7 +227,6 @@ class UtilityServiceInterface(ABC):
|
|
|
242
227
|
Returns:
|
|
243
228
|
Formatted size string (e.g., "1.5 MB")
|
|
244
229
|
"""
|
|
245
|
-
pass
|
|
246
230
|
|
|
247
231
|
@abstractmethod
|
|
248
232
|
def format_duration(self, seconds: float) -> str:
|
|
@@ -254,7 +238,6 @@ class UtilityServiceInterface(ABC):
|
|
|
254
238
|
Returns:
|
|
255
239
|
Formatted duration string (e.g., "2m 30s")
|
|
256
240
|
"""
|
|
257
|
-
pass
|
|
258
241
|
|
|
259
242
|
@abstractmethod
|
|
260
243
|
def sanitize_filename(self, filename: str) -> str:
|
|
@@ -266,7 +249,6 @@ class UtilityServiceInterface(ABC):
|
|
|
266
249
|
Returns:
|
|
267
250
|
Sanitized filename
|
|
268
251
|
"""
|
|
269
|
-
pass
|
|
270
252
|
|
|
271
253
|
@abstractmethod
|
|
272
254
|
def generate_unique_id(self, prefix: str = "") -> str:
|
|
@@ -278,7 +260,6 @@ class UtilityServiceInterface(ABC):
|
|
|
278
260
|
Returns:
|
|
279
261
|
Unique identifier string
|
|
280
262
|
"""
|
|
281
|
-
pass
|
|
282
263
|
|
|
283
264
|
@abstractmethod
|
|
284
265
|
def validate_path(self, path: Path) -> Tuple[bool, Optional[str]]:
|
|
@@ -290,7 +271,6 @@ class UtilityServiceInterface(ABC):
|
|
|
290
271
|
Returns:
|
|
291
272
|
Tuple of (is_valid, error_message)
|
|
292
273
|
"""
|
|
293
|
-
pass
|
|
294
274
|
|
|
295
275
|
|
|
296
276
|
# Memory service interface
|
|
@@ -315,7 +295,6 @@ class MemoryServiceInterface(ABC):
|
|
|
315
295
|
Returns:
|
|
316
296
|
Memory content as string or None if not found
|
|
317
297
|
"""
|
|
318
|
-
pass
|
|
319
298
|
|
|
320
299
|
@abstractmethod
|
|
321
300
|
def save_memory(self, agent_id: str, content: str) -> bool:
|
|
@@ -328,7 +307,6 @@ class MemoryServiceInterface(ABC):
|
|
|
328
307
|
Returns:
|
|
329
308
|
True if save successful
|
|
330
309
|
"""
|
|
331
|
-
pass
|
|
332
310
|
|
|
333
311
|
@abstractmethod
|
|
334
312
|
def validate_memory_size(self, content: str) -> Tuple[bool, Optional[str]]:
|
|
@@ -340,7 +318,6 @@ class MemoryServiceInterface(ABC):
|
|
|
340
318
|
Returns:
|
|
341
319
|
Tuple of (is_valid, error_message)
|
|
342
320
|
"""
|
|
343
|
-
pass
|
|
344
321
|
|
|
345
322
|
@abstractmethod
|
|
346
323
|
def optimize_memory(self, agent_id: str) -> bool:
|
|
@@ -352,7 +329,6 @@ class MemoryServiceInterface(ABC):
|
|
|
352
329
|
Returns:
|
|
353
330
|
True if optimization successful
|
|
354
331
|
"""
|
|
355
|
-
pass
|
|
356
332
|
|
|
357
333
|
@abstractmethod
|
|
358
334
|
def get_memory_stats(self, agent_id: str) -> Dict[str, Any]:
|
|
@@ -364,7 +340,6 @@ class MemoryServiceInterface(ABC):
|
|
|
364
340
|
Returns:
|
|
365
341
|
Dictionary with memory statistics
|
|
366
342
|
"""
|
|
367
|
-
pass
|
|
368
343
|
|
|
369
344
|
|
|
370
345
|
# Hook service interface
|
|
@@ -393,7 +368,6 @@ class HookServiceInterface(ABC):
|
|
|
393
368
|
Returns:
|
|
394
369
|
Hook registration ID
|
|
395
370
|
"""
|
|
396
|
-
pass
|
|
397
371
|
|
|
398
372
|
@abstractmethod
|
|
399
373
|
def unregister_hook(self, registration_id: str) -> bool:
|
|
@@ -405,7 +379,6 @@ class HookServiceInterface(ABC):
|
|
|
405
379
|
Returns:
|
|
406
380
|
True if unregistration successful
|
|
407
381
|
"""
|
|
408
|
-
pass
|
|
409
382
|
|
|
410
383
|
@abstractmethod
|
|
411
384
|
def execute_hook(self, hook_name: str, *args, **kwargs) -> List[Any]:
|
|
@@ -419,7 +392,6 @@ class HookServiceInterface(ABC):
|
|
|
419
392
|
Returns:
|
|
420
393
|
List of callback return values
|
|
421
394
|
"""
|
|
422
|
-
pass
|
|
423
395
|
|
|
424
396
|
@abstractmethod
|
|
425
397
|
def get_hook_info(self, hook_name: str) -> Dict[str, Any]:
|
|
@@ -431,4 +403,3 @@ class HookServiceInterface(ABC):
|
|
|
431
403
|
Returns:
|
|
432
404
|
Dictionary with hook information
|
|
433
405
|
"""
|
|
434
|
-
pass
|
|
@@ -15,4 +15,4 @@ from .diagnostic_runner import DiagnosticRunner
|
|
|
15
15
|
from .doctor_reporter import DoctorReporter
|
|
16
16
|
from .models import DiagnosticResult, DiagnosticStatus
|
|
17
17
|
|
|
18
|
-
__all__ = ["
|
|
18
|
+
__all__ = ["DiagnosticResult", "DiagnosticRunner", "DiagnosticStatus", "DoctorReporter"]
|
|
@@ -17,14 +17,14 @@ from .monitor_check import MonitorCheck
|
|
|
17
17
|
from .startup_log_check import StartupLogCheck
|
|
18
18
|
|
|
19
19
|
__all__ = [
|
|
20
|
+
"AgentCheck",
|
|
20
21
|
"BaseDiagnosticCheck",
|
|
21
|
-
"InstallationCheck",
|
|
22
|
-
"ConfigurationCheck",
|
|
23
22
|
"ClaudeDesktopCheck",
|
|
24
|
-
"
|
|
23
|
+
"CommonIssuesCheck",
|
|
24
|
+
"ConfigurationCheck",
|
|
25
|
+
"FilesystemCheck",
|
|
26
|
+
"InstallationCheck",
|
|
25
27
|
"MCPCheck",
|
|
26
28
|
"MonitorCheck",
|
|
27
|
-
"FilesystemCheck",
|
|
28
|
-
"CommonIssuesCheck",
|
|
29
29
|
"StartupLogCheck",
|
|
30
|
-
]
|
|
30
|
+
]
|