claude-mpm 3.9.11__py3-none-any.whl → 4.0.3__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/VERSION +1 -1
- claude_mpm/__init__.py +2 -2
- claude_mpm/__main__.py +3 -2
- claude_mpm/agents/__init__.py +85 -79
- claude_mpm/agents/agent_loader.py +464 -1003
- claude_mpm/agents/agent_loader_integration.py +45 -45
- claude_mpm/agents/agents_metadata.py +29 -30
- claude_mpm/agents/async_agent_loader.py +156 -138
- claude_mpm/agents/base_agent.json +1 -1
- claude_mpm/agents/base_agent_loader.py +179 -151
- claude_mpm/agents/frontmatter_validator.py +229 -130
- claude_mpm/agents/schema/agent_schema.json +1 -1
- claude_mpm/agents/system_agent_config.py +213 -147
- claude_mpm/agents/templates/__init__.py +13 -13
- claude_mpm/agents/templates/code_analyzer.json +2 -2
- claude_mpm/agents/templates/data_engineer.json +1 -1
- claude_mpm/agents/templates/documentation.json +23 -11
- claude_mpm/agents/templates/engineer.json +22 -6
- claude_mpm/agents/templates/memory_manager.json +1 -1
- claude_mpm/agents/templates/ops.json +2 -2
- claude_mpm/agents/templates/project_organizer.json +1 -1
- claude_mpm/agents/templates/qa.json +1 -1
- claude_mpm/agents/templates/refactoring_engineer.json +222 -0
- claude_mpm/agents/templates/research.json +20 -14
- claude_mpm/agents/templates/security.json +1 -1
- claude_mpm/agents/templates/ticketing.json +1 -1
- claude_mpm/agents/templates/version_control.json +1 -1
- claude_mpm/agents/templates/web_qa.json +3 -1
- claude_mpm/agents/templates/web_ui.json +2 -2
- claude_mpm/cli/__init__.py +79 -51
- claude_mpm/cli/__main__.py +3 -2
- claude_mpm/cli/commands/__init__.py +20 -20
- claude_mpm/cli/commands/agents.py +279 -247
- claude_mpm/cli/commands/aggregate.py +138 -157
- claude_mpm/cli/commands/cleanup.py +147 -147
- claude_mpm/cli/commands/config.py +93 -76
- claude_mpm/cli/commands/info.py +17 -16
- claude_mpm/cli/commands/mcp.py +140 -905
- claude_mpm/cli/commands/mcp_command_router.py +139 -0
- claude_mpm/cli/commands/mcp_config_commands.py +20 -0
- claude_mpm/cli/commands/mcp_install_commands.py +20 -0
- claude_mpm/cli/commands/mcp_server_commands.py +175 -0
- claude_mpm/cli/commands/mcp_tool_commands.py +34 -0
- claude_mpm/cli/commands/memory.py +239 -203
- claude_mpm/cli/commands/monitor.py +203 -81
- claude_mpm/cli/commands/run.py +380 -429
- claude_mpm/cli/commands/run_config_checker.py +160 -0
- claude_mpm/cli/commands/socketio_monitor.py +235 -0
- claude_mpm/cli/commands/tickets.py +305 -197
- claude_mpm/cli/parser.py +24 -1156
- claude_mpm/cli/parsers/__init__.py +29 -0
- claude_mpm/cli/parsers/agents_parser.py +136 -0
- claude_mpm/cli/parsers/base_parser.py +331 -0
- claude_mpm/cli/parsers/config_parser.py +85 -0
- claude_mpm/cli/parsers/mcp_parser.py +152 -0
- claude_mpm/cli/parsers/memory_parser.py +138 -0
- claude_mpm/cli/parsers/monitor_parser.py +104 -0
- claude_mpm/cli/parsers/run_parser.py +147 -0
- claude_mpm/cli/parsers/tickets_parser.py +203 -0
- claude_mpm/cli/ticket_cli.py +7 -3
- claude_mpm/cli/utils.py +55 -37
- claude_mpm/cli_module/__init__.py +6 -6
- claude_mpm/cli_module/args.py +188 -140
- claude_mpm/cli_module/commands.py +79 -70
- claude_mpm/cli_module/migration_example.py +38 -60
- claude_mpm/config/__init__.py +32 -25
- claude_mpm/config/agent_config.py +151 -119
- claude_mpm/config/experimental_features.py +71 -73
- claude_mpm/config/paths.py +94 -208
- claude_mpm/config/socketio_config.py +84 -73
- claude_mpm/constants.py +35 -18
- claude_mpm/core/__init__.py +9 -6
- claude_mpm/core/agent_name_normalizer.py +68 -71
- claude_mpm/core/agent_registry.py +372 -521
- claude_mpm/core/agent_session_manager.py +74 -63
- claude_mpm/core/base_service.py +116 -87
- claude_mpm/core/cache.py +119 -153
- claude_mpm/core/claude_runner.py +425 -1120
- claude_mpm/core/config.py +263 -168
- claude_mpm/core/config_aliases.py +69 -61
- claude_mpm/core/config_constants.py +292 -0
- claude_mpm/core/constants.py +57 -99
- claude_mpm/core/container.py +211 -178
- claude_mpm/core/exceptions.py +233 -89
- claude_mpm/core/factories.py +92 -54
- claude_mpm/core/framework_loader.py +378 -220
- claude_mpm/core/hook_manager.py +198 -83
- claude_mpm/core/hook_performance_config.py +136 -0
- claude_mpm/core/injectable_service.py +61 -55
- claude_mpm/core/interactive_session.py +165 -155
- claude_mpm/core/interfaces.py +221 -195
- claude_mpm/core/lazy.py +96 -96
- claude_mpm/core/logger.py +133 -107
- claude_mpm/core/logging_config.py +185 -157
- claude_mpm/core/minimal_framework_loader.py +20 -15
- claude_mpm/core/mixins.py +30 -29
- claude_mpm/core/oneshot_session.py +215 -181
- claude_mpm/core/optimized_agent_loader.py +134 -138
- claude_mpm/core/optimized_startup.py +159 -157
- claude_mpm/core/pm_hook_interceptor.py +85 -72
- claude_mpm/core/service_registry.py +103 -101
- claude_mpm/core/session_manager.py +97 -87
- claude_mpm/core/socketio_pool.py +212 -158
- claude_mpm/core/tool_access_control.py +58 -51
- claude_mpm/core/types.py +46 -24
- claude_mpm/core/typing_utils.py +166 -82
- claude_mpm/core/unified_agent_registry.py +721 -0
- claude_mpm/core/unified_config.py +550 -0
- claude_mpm/core/unified_paths.py +549 -0
- claude_mpm/dashboard/index.html +1 -1
- claude_mpm/dashboard/open_dashboard.py +51 -17
- claude_mpm/dashboard/static/css/dashboard.css +27 -8
- claude_mpm/dashboard/static/dist/components/agent-inference.js +2 -0
- claude_mpm/dashboard/static/dist/components/event-processor.js +2 -0
- claude_mpm/dashboard/static/dist/components/event-viewer.js +2 -0
- claude_mpm/dashboard/static/dist/components/export-manager.js +2 -0
- claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +2 -0
- claude_mpm/dashboard/static/dist/components/hud-library-loader.js +2 -0
- claude_mpm/dashboard/static/dist/components/hud-manager.js +2 -0
- claude_mpm/dashboard/static/dist/components/hud-visualizer.js +2 -0
- claude_mpm/dashboard/static/dist/components/module-viewer.js +2 -0
- claude_mpm/dashboard/static/dist/components/session-manager.js +2 -0
- claude_mpm/dashboard/static/dist/components/socket-manager.js +2 -0
- claude_mpm/dashboard/static/dist/components/ui-state-manager.js +2 -0
- claude_mpm/dashboard/static/dist/components/working-directory.js +2 -0
- claude_mpm/dashboard/static/dist/dashboard.js +2 -0
- claude_mpm/dashboard/static/dist/socket-client.js +2 -0
- claude_mpm/dashboard/static/js/components/agent-inference.js +80 -76
- claude_mpm/dashboard/static/js/components/event-processor.js +71 -67
- claude_mpm/dashboard/static/js/components/event-viewer.js +74 -70
- claude_mpm/dashboard/static/js/components/export-manager.js +31 -28
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +106 -92
- claude_mpm/dashboard/static/js/components/hud-library-loader.js +11 -11
- claude_mpm/dashboard/static/js/components/hud-manager.js +73 -73
- claude_mpm/dashboard/static/js/components/hud-visualizer.js +163 -163
- claude_mpm/dashboard/static/js/components/module-viewer.js +305 -233
- claude_mpm/dashboard/static/js/components/session-manager.js +32 -29
- claude_mpm/dashboard/static/js/components/socket-manager.js +27 -20
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +21 -18
- claude_mpm/dashboard/static/js/components/working-directory.js +74 -71
- claude_mpm/dashboard/static/js/dashboard.js +178 -453
- claude_mpm/dashboard/static/js/extension-error-handler.js +164 -0
- claude_mpm/dashboard/static/js/socket-client.js +120 -54
- claude_mpm/dashboard/templates/index.html +40 -50
- claude_mpm/experimental/cli_enhancements.py +60 -58
- claude_mpm/generators/__init__.py +1 -1
- claude_mpm/generators/agent_profile_generator.py +75 -65
- claude_mpm/hooks/__init__.py +1 -1
- claude_mpm/hooks/base_hook.py +33 -28
- claude_mpm/hooks/claude_hooks/__init__.py +1 -1
- claude_mpm/hooks/claude_hooks/connection_pool.py +120 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +743 -0
- claude_mpm/hooks/claude_hooks/hook_handler.py +415 -1331
- claude_mpm/hooks/claude_hooks/hook_wrapper.sh +4 -4
- claude_mpm/hooks/claude_hooks/memory_integration.py +221 -0
- claude_mpm/hooks/claude_hooks/response_tracking.py +348 -0
- claude_mpm/hooks/claude_hooks/tool_analysis.py +230 -0
- claude_mpm/hooks/memory_integration_hook.py +140 -100
- claude_mpm/hooks/tool_call_interceptor.py +89 -76
- claude_mpm/hooks/validation_hooks.py +57 -49
- claude_mpm/init.py +145 -121
- claude_mpm/models/__init__.py +9 -9
- claude_mpm/models/agent_definition.py +33 -23
- claude_mpm/models/agent_session.py +228 -200
- claude_mpm/scripts/__init__.py +1 -1
- claude_mpm/scripts/socketio_daemon.py +192 -75
- claude_mpm/scripts/socketio_server_manager.py +328 -0
- claude_mpm/scripts/start_activity_logging.py +25 -22
- claude_mpm/services/__init__.py +68 -43
- claude_mpm/services/agent_capabilities_service.py +271 -0
- claude_mpm/services/agents/__init__.py +23 -32
- claude_mpm/services/agents/deployment/__init__.py +3 -3
- claude_mpm/services/agents/deployment/agent_config_provider.py +310 -0
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +359 -0
- claude_mpm/services/agents/deployment/agent_definition_factory.py +84 -0
- claude_mpm/services/agents/deployment/agent_deployment.py +415 -2113
- claude_mpm/services/agents/deployment/agent_discovery_service.py +387 -0
- claude_mpm/services/agents/deployment/agent_environment_manager.py +293 -0
- claude_mpm/services/agents/deployment/agent_filesystem_manager.py +387 -0
- claude_mpm/services/agents/deployment/agent_format_converter.py +453 -0
- claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +161 -0
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +345 -495
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +279 -0
- claude_mpm/services/agents/deployment/agent_restore_handler.py +88 -0
- claude_mpm/services/agents/deployment/agent_template_builder.py +406 -0
- claude_mpm/services/agents/deployment/agent_validator.py +352 -0
- claude_mpm/services/agents/deployment/agent_version_manager.py +313 -0
- claude_mpm/services/agents/deployment/agent_versioning.py +6 -9
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +79 -0
- claude_mpm/services/agents/deployment/async_agent_deployment.py +298 -234
- claude_mpm/services/agents/deployment/config/__init__.py +13 -0
- claude_mpm/services/agents/deployment/config/deployment_config.py +182 -0
- claude_mpm/services/agents/deployment/config/deployment_config_manager.py +200 -0
- claude_mpm/services/agents/deployment/deployment_config_loader.py +54 -0
- claude_mpm/services/agents/deployment/deployment_type_detector.py +124 -0
- claude_mpm/services/agents/deployment/facade/__init__.py +18 -0
- claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +159 -0
- claude_mpm/services/agents/deployment/facade/deployment_executor.py +73 -0
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +270 -0
- claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +178 -0
- claude_mpm/services/agents/deployment/interface_adapter.py +227 -0
- claude_mpm/services/agents/deployment/lifecycle_health_checker.py +85 -0
- claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +100 -0
- claude_mpm/services/agents/deployment/pipeline/__init__.py +32 -0
- claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +158 -0
- claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +159 -0
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +169 -0
- claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +19 -0
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +195 -0
- claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +119 -0
- claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +79 -0
- claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +90 -0
- claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +100 -0
- claude_mpm/services/agents/deployment/processors/__init__.py +15 -0
- claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +98 -0
- claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +235 -0
- claude_mpm/services/agents/deployment/processors/agent_processor.py +258 -0
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +318 -0
- claude_mpm/services/agents/deployment/results/__init__.py +13 -0
- claude_mpm/services/agents/deployment/results/deployment_metrics.py +200 -0
- claude_mpm/services/agents/deployment/results/deployment_result_builder.py +249 -0
- claude_mpm/services/agents/deployment/strategies/__init__.py +25 -0
- claude_mpm/services/agents/deployment/strategies/base_strategy.py +119 -0
- claude_mpm/services/agents/deployment/strategies/project_strategy.py +150 -0
- claude_mpm/services/agents/deployment/strategies/strategy_selector.py +117 -0
- claude_mpm/services/agents/deployment/strategies/system_strategy.py +116 -0
- claude_mpm/services/agents/deployment/strategies/user_strategy.py +137 -0
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +108 -0
- claude_mpm/services/agents/deployment/validation/__init__.py +19 -0
- claude_mpm/services/agents/deployment/validation/agent_validator.py +323 -0
- claude_mpm/services/agents/deployment/validation/deployment_validator.py +238 -0
- claude_mpm/services/agents/deployment/validation/template_validator.py +299 -0
- claude_mpm/services/agents/deployment/validation/validation_result.py +226 -0
- claude_mpm/services/agents/loading/__init__.py +2 -2
- claude_mpm/services/agents/loading/agent_profile_loader.py +259 -229
- claude_mpm/services/agents/loading/base_agent_manager.py +90 -81
- claude_mpm/services/agents/loading/framework_agent_loader.py +154 -129
- claude_mpm/services/agents/management/__init__.py +2 -2
- claude_mpm/services/agents/management/agent_capabilities_generator.py +72 -58
- claude_mpm/services/agents/management/agent_management_service.py +209 -156
- claude_mpm/services/agents/memory/__init__.py +9 -6
- claude_mpm/services/agents/memory/agent_memory_manager.py +218 -1152
- claude_mpm/services/agents/memory/agent_persistence_service.py +20 -16
- claude_mpm/services/agents/memory/analyzer.py +430 -0
- claude_mpm/services/agents/memory/content_manager.py +376 -0
- claude_mpm/services/agents/memory/template_generator.py +468 -0
- claude_mpm/services/agents/registry/__init__.py +7 -10
- claude_mpm/services/agents/registry/deployed_agent_discovery.py +122 -97
- claude_mpm/services/agents/registry/modification_tracker.py +351 -285
- claude_mpm/services/async_session_logger.py +187 -153
- claude_mpm/services/claude_session_logger.py +87 -72
- claude_mpm/services/command_handler_service.py +217 -0
- claude_mpm/services/communication/__init__.py +3 -2
- claude_mpm/services/core/__init__.py +50 -97
- claude_mpm/services/core/base.py +60 -53
- claude_mpm/services/core/interfaces/__init__.py +188 -0
- claude_mpm/services/core/interfaces/agent.py +351 -0
- claude_mpm/services/core/interfaces/communication.py +343 -0
- claude_mpm/services/core/interfaces/infrastructure.py +413 -0
- claude_mpm/services/core/interfaces/service.py +434 -0
- claude_mpm/services/core/interfaces.py +19 -944
- claude_mpm/services/event_aggregator.py +208 -170
- claude_mpm/services/exceptions.py +387 -308
- claude_mpm/services/framework_claude_md_generator/__init__.py +75 -79
- claude_mpm/services/framework_claude_md_generator/content_assembler.py +69 -60
- claude_mpm/services/framework_claude_md_generator/content_validator.py +65 -61
- claude_mpm/services/framework_claude_md_generator/deployment_manager.py +68 -49
- claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +34 -34
- claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +25 -22
- claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +10 -10
- claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +4 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +4 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +4 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +6 -5
- claude_mpm/services/framework_claude_md_generator/section_generators/header.py +8 -7
- claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +4 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +6 -5
- claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +9 -8
- claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +4 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +5 -4
- claude_mpm/services/framework_claude_md_generator/section_manager.py +28 -27
- claude_mpm/services/framework_claude_md_generator/version_manager.py +30 -28
- claude_mpm/services/hook_service.py +106 -114
- claude_mpm/services/infrastructure/__init__.py +7 -5
- claude_mpm/services/infrastructure/context_preservation.py +233 -199
- claude_mpm/services/infrastructure/daemon_manager.py +279 -0
- claude_mpm/services/infrastructure/logging.py +83 -76
- claude_mpm/services/infrastructure/monitoring.py +547 -404
- claude_mpm/services/mcp_gateway/__init__.py +30 -13
- claude_mpm/services/mcp_gateway/config/__init__.py +2 -2
- claude_mpm/services/mcp_gateway/config/config_loader.py +61 -56
- claude_mpm/services/mcp_gateway/config/config_schema.py +50 -41
- claude_mpm/services/mcp_gateway/config/configuration.py +82 -75
- claude_mpm/services/mcp_gateway/core/__init__.py +13 -20
- claude_mpm/services/mcp_gateway/core/base.py +80 -67
- claude_mpm/services/mcp_gateway/core/exceptions.py +60 -46
- claude_mpm/services/mcp_gateway/core/interfaces.py +87 -84
- claude_mpm/services/mcp_gateway/main.py +287 -137
- claude_mpm/services/mcp_gateway/registry/__init__.py +1 -1
- claude_mpm/services/mcp_gateway/registry/service_registry.py +97 -94
- claude_mpm/services/mcp_gateway/registry/tool_registry.py +135 -126
- claude_mpm/services/mcp_gateway/server/__init__.py +2 -2
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +105 -110
- claude_mpm/services/mcp_gateway/server/stdio_handler.py +105 -107
- claude_mpm/services/mcp_gateway/server/stdio_server.py +691 -0
- claude_mpm/services/mcp_gateway/tools/__init__.py +4 -2
- claude_mpm/services/mcp_gateway/tools/base_adapter.py +109 -119
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +283 -215
- claude_mpm/services/mcp_gateway/tools/hello_world.py +122 -120
- claude_mpm/services/mcp_gateway/tools/ticket_tools.py +652 -0
- claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +606 -0
- claude_mpm/services/memory/__init__.py +2 -2
- claude_mpm/services/memory/builder.py +451 -362
- claude_mpm/services/memory/cache/__init__.py +2 -2
- claude_mpm/services/memory/cache/shared_prompt_cache.py +232 -194
- claude_mpm/services/memory/cache/simple_cache.py +107 -93
- claude_mpm/services/memory/indexed_memory.py +195 -193
- claude_mpm/services/memory/optimizer.py +267 -234
- claude_mpm/services/memory/router.py +571 -263
- claude_mpm/services/memory_hook_service.py +237 -0
- claude_mpm/services/port_manager.py +223 -0
- claude_mpm/services/project/__init__.py +3 -3
- claude_mpm/services/project/analyzer.py +451 -305
- claude_mpm/services/project/registry.py +262 -240
- claude_mpm/services/recovery_manager.py +287 -231
- claude_mpm/services/response_tracker.py +87 -67
- claude_mpm/services/runner_configuration_service.py +587 -0
- claude_mpm/services/session_management_service.py +304 -0
- claude_mpm/services/socketio/__init__.py +4 -4
- claude_mpm/services/socketio/client_proxy.py +174 -0
- claude_mpm/services/socketio/handlers/__init__.py +3 -3
- claude_mpm/services/socketio/handlers/base.py +44 -30
- claude_mpm/services/socketio/handlers/connection.py +145 -65
- claude_mpm/services/socketio/handlers/file.py +123 -108
- claude_mpm/services/socketio/handlers/git.py +607 -373
- claude_mpm/services/socketio/handlers/hook.py +170 -0
- claude_mpm/services/socketio/handlers/memory.py +4 -4
- claude_mpm/services/socketio/handlers/project.py +4 -4
- claude_mpm/services/socketio/handlers/registry.py +53 -38
- claude_mpm/services/socketio/server/__init__.py +18 -0
- claude_mpm/services/socketio/server/broadcaster.py +252 -0
- claude_mpm/services/socketio/server/core.py +399 -0
- claude_mpm/services/socketio/server/main.py +323 -0
- claude_mpm/services/socketio_client_manager.py +160 -133
- claude_mpm/services/socketio_server.py +36 -1885
- claude_mpm/services/subprocess_launcher_service.py +316 -0
- claude_mpm/services/system_instructions_service.py +258 -0
- claude_mpm/services/ticket_manager.py +19 -533
- claude_mpm/services/utility_service.py +285 -0
- claude_mpm/services/version_control/__init__.py +18 -21
- claude_mpm/services/version_control/branch_strategy.py +20 -10
- claude_mpm/services/version_control/conflict_resolution.py +37 -13
- claude_mpm/services/version_control/git_operations.py +52 -21
- claude_mpm/services/version_control/semantic_versioning.py +92 -53
- claude_mpm/services/version_control/version_parser.py +145 -125
- claude_mpm/services/version_service.py +270 -0
- claude_mpm/storage/__init__.py +2 -2
- claude_mpm/storage/state_storage.py +177 -181
- claude_mpm/ticket_wrapper.py +2 -2
- claude_mpm/utils/__init__.py +2 -2
- claude_mpm/utils/agent_dependency_loader.py +453 -243
- claude_mpm/utils/config_manager.py +157 -118
- claude_mpm/utils/console.py +1 -1
- claude_mpm/utils/dependency_cache.py +102 -107
- claude_mpm/utils/dependency_manager.py +52 -47
- claude_mpm/utils/dependency_strategies.py +131 -96
- claude_mpm/utils/environment_context.py +110 -102
- claude_mpm/utils/error_handler.py +75 -55
- claude_mpm/utils/file_utils.py +80 -67
- claude_mpm/utils/framework_detection.py +12 -11
- claude_mpm/utils/import_migration_example.py +12 -60
- claude_mpm/utils/imports.py +48 -45
- claude_mpm/utils/path_operations.py +100 -93
- claude_mpm/utils/robust_installer.py +172 -164
- claude_mpm/utils/session_logging.py +30 -23
- claude_mpm/utils/subprocess_utils.py +99 -61
- claude_mpm/validation/__init__.py +1 -1
- claude_mpm/validation/agent_validator.py +151 -111
- claude_mpm/validation/frontmatter_validator.py +92 -71
- {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/METADATA +27 -1
- claude_mpm-4.0.3.dist-info/RECORD +402 -0
- {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/entry_points.txt +1 -0
- {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/licenses/LICENSE +1 -1
- claude_mpm/cli/commands/run_guarded.py +0 -511
- claude_mpm/config/memory_guardian_config.py +0 -325
- claude_mpm/config/memory_guardian_yaml.py +0 -335
- claude_mpm/core/config_paths.py +0 -150
- claude_mpm/core/memory_aware_runner.py +0 -353
- claude_mpm/dashboard/static/js/dashboard-original.js +0 -4134
- claude_mpm/deployment_paths.py +0 -261
- claude_mpm/hooks/claude_hooks/hook_handler_fixed.py +0 -454
- claude_mpm/models/state_models.py +0 -433
- claude_mpm/services/agent/__init__.py +0 -24
- claude_mpm/services/agent/deployment.py +0 -2548
- claude_mpm/services/agent/management.py +0 -598
- claude_mpm/services/agent/registry.py +0 -813
- claude_mpm/services/agents/registry/agent_registry.py +0 -813
- claude_mpm/services/communication/socketio.py +0 -1935
- claude_mpm/services/communication/websocket.py +0 -479
- claude_mpm/services/framework_claude_md_generator.py +0 -624
- claude_mpm/services/health_monitor.py +0 -893
- claude_mpm/services/infrastructure/graceful_degradation.py +0 -616
- claude_mpm/services/infrastructure/health_monitor.py +0 -775
- claude_mpm/services/infrastructure/memory_dashboard.py +0 -479
- claude_mpm/services/infrastructure/memory_guardian.py +0 -944
- claude_mpm/services/infrastructure/restart_protection.py +0 -642
- claude_mpm/services/infrastructure/state_manager.py +0 -774
- claude_mpm/services/mcp_gateway/manager.py +0 -334
- claude_mpm/services/optimized_hook_service.py +0 -542
- claude_mpm/services/project_analyzer.py +0 -864
- claude_mpm/services/project_registry.py +0 -608
- claude_mpm/services/standalone_socketio_server.py +0 -1300
- claude_mpm/services/ticket_manager_di.py +0 -318
- claude_mpm/services/ticketing_service_original.py +0 -510
- claude_mpm/utils/paths.py +0 -395
- claude_mpm/utils/platform_memory.py +0 -524
- claude_mpm-3.9.11.dist-info/RECORD +0 -306
- {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/WHEEL +0 -0
- {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/top_level.txt +0 -0
    
        claude_mpm/core/constants.py
    CHANGED
    
    | @@ -8,57 +8,50 @@ from enum import Enum | |
| 8 8 | 
             
            from typing import Tuple
         | 
| 9 9 |  | 
| 10 10 |  | 
| 11 | 
            -
            # ==============================================================================
         | 
| 12 | 
            -
            # System Limits - Size and count limits
         | 
| 13 | 
            -
            # ==============================================================================
         | 
| 14 | 
            -
             | 
| 15 11 | 
             
            class SystemLimits:
         | 
| 16 12 | 
             
                """System-wide size and count limits."""
         | 
| 17 | 
            -
             | 
| 13 | 
            +
             | 
| 18 14 | 
             
                # Instruction and content limits
         | 
| 19 15 | 
             
                MAX_INSTRUCTION_LENGTH = 8000  # Maximum characters in agent instructions
         | 
| 20 16 | 
             
                MAX_AGENT_CONFIG_SIZE = 1024 * 1024  # 1MB limit for agent config files
         | 
| 21 17 | 
             
                MAX_FILE_SIZE = 1024 * 1024  # 1MB default file read limit
         | 
| 22 | 
            -
             | 
| 18 | 
            +
             | 
| 23 19 | 
             
                # Memory and entry limits
         | 
| 24 20 | 
             
                MAX_MEMORY_ENTRIES = 1000  # Maximum memory entries per agent
         | 
| 25 21 | 
             
                MAX_EVENT_HISTORY = 1000  # Maximum events to keep in history
         | 
| 22 | 
            +
                MAX_EVENTS_BUFFER = 1000  # Maximum events to buffer in SocketIO
         | 
| 26 23 | 
             
                MAX_QUEUE_SIZE = 10000  # Maximum queue size for async operations
         | 
| 27 | 
            -
             | 
| 24 | 
            +
             | 
| 28 25 | 
             
                # File and directory limits
         | 
| 29 26 | 
             
                MAX_FILES_TO_VALIDATE = 100  # Maximum files to validate in batch (DoS prevention)
         | 
| 30 27 | 
             
                MAX_LOG_FILES = 50  # Maximum log files to retain
         | 
| 31 | 
            -
             | 
| 28 | 
            +
             | 
| 32 29 | 
             
                # Content generation limits
         | 
| 33 30 | 
             
                MIN_CONTENT_LENGTH = 1000  # Minimum content length for validation
         | 
| 34 31 | 
             
                MAX_TOKEN_LIMIT = 8192  # Default max tokens for agent responses
         | 
| 35 | 
            -
             | 
| 32 | 
            +
             | 
| 36 33 | 
             
                # Chunk sizes
         | 
| 37 34 | 
             
                CHUNK_SIZE = 1024  # Default chunk size for file operations
         | 
| 38 | 
            -
             | 
| 35 | 
            +
             | 
| 39 36 | 
             
                # Line limits
         | 
| 40 37 | 
             
                MAX_LINES = 2000  # Default maximum lines to read from files
         | 
| 41 38 |  | 
| 42 39 |  | 
| 43 | 
            -
            # ==============================================================================
         | 
| 44 | 
            -
            # Network Configuration - Ports, timeouts, connection settings
         | 
| 45 | 
            -
            # ==============================================================================
         | 
| 46 | 
            -
             | 
| 47 40 | 
             
            class NetworkConfig:
         | 
| 48 41 | 
             
                """Network-related configuration constants."""
         | 
| 49 | 
            -
             | 
| 42 | 
            +
             | 
| 50 43 | 
             
                # Port ranges
         | 
| 51 44 | 
             
                SOCKETIO_PORT_RANGE: Tuple[int, int] = (8080, 8099)
         | 
| 52 45 | 
             
                DEFAULT_SOCKETIO_PORT = 8080
         | 
| 53 46 | 
             
                DEFAULT_DASHBOARD_PORT = 8765
         | 
| 54 | 
            -
             | 
| 47 | 
            +
             | 
| 55 48 | 
             
                # Connection timeouts (seconds)
         | 
| 56 49 | 
             
                CONNECTION_TIMEOUT = 5.0
         | 
| 57 50 | 
             
                SOCKET_WAIT_TIMEOUT = 1.0
         | 
| 58 51 | 
             
                RECONNECTION_DELAY = 0.5
         | 
| 59 52 | 
             
                RECONNECTION_DELAY_MAX = 5.0
         | 
| 60 53 | 
             
                RECONNECTION_ATTEMPTS = 3
         | 
| 61 | 
            -
             | 
| 54 | 
            +
             | 
| 62 55 | 
             
                # Ping/Pong settings
         | 
| 63 56 | 
             
                PING_INTERVAL = 30  # seconds
         | 
| 64 57 | 
             
                PING_TIMEOUT = 120  # seconds
         | 
| @@ -66,95 +59,83 @@ class NetworkConfig: | |
| 66 59 | 
             
                PING_TIMEOUT_FAST = 30  # seconds (debug mode)
         | 
| 67 60 | 
             
                PING_INTERVAL_STANDARD = 25  # seconds (standard mode)
         | 
| 68 61 | 
             
                PING_TIMEOUT_STANDARD = 90  # seconds (standard mode)
         | 
| 69 | 
            -
             | 
| 62 | 
            +
             | 
| 70 63 | 
             
                # HTTP status codes
         | 
| 71 64 | 
             
                HTTP_OK = 200
         | 
| 72 65 | 
             
                HTTP_INTERNAL_ERROR = 500
         | 
| 73 | 
            -
             | 
| 66 | 
            +
             | 
| 74 67 | 
             
                # Batch processing
         | 
| 75 68 | 
             
                BATCH_INTERVAL = 0.1  # seconds between batch processing
         | 
| 76 69 |  | 
| 77 70 |  | 
| 78 | 
            -
            # ==============================================================================
         | 
| 79 | 
            -
            # Timeout Configuration - All timeout values
         | 
| 80 | 
            -
            # ==============================================================================
         | 
| 81 | 
            -
             | 
| 82 71 | 
             
            class TimeoutConfig:
         | 
| 83 72 | 
             
                """Timeout configuration constants."""
         | 
| 84 | 
            -
             | 
| 73 | 
            +
             | 
| 85 74 | 
             
                # Query and operation timeouts (seconds)
         | 
| 86 75 | 
             
                QUERY_TIMEOUT = 600  # 10 minutes for long-running queries
         | 
| 87 76 | 
             
                DEFAULT_TIMEOUT = 600  # Default timeout for operations
         | 
| 88 77 | 
             
                DEPLOYMENT_TIMEOUT = 120  # Timeout for deployment operations
         | 
| 89 78 | 
             
                SUBPROCESS_TIMEOUT = 120000  # 2 minutes in milliseconds
         | 
| 90 79 | 
             
                SUBPROCESS_WAIT = 2  # Seconds to wait for subprocess cleanup
         | 
| 91 | 
            -
             | 
| 80 | 
            +
             | 
| 92 81 | 
             
                # Quick timeouts (seconds)
         | 
| 93 82 | 
             
                QUICK_TIMEOUT = 2.0  # Quick operations timeout
         | 
| 94 83 | 
             
                HEALTH_CHECK_TIMEOUT = 1.0  # Health check timeout
         | 
| 95 84 | 
             
                FILE_OPERATION_TIMEOUT = 5.0  # File operation timeout
         | 
| 96 | 
            -
             | 
| 85 | 
            +
             | 
| 97 86 | 
             
                # Session and thread timeouts
         | 
| 98 87 | 
             
                SESSION_TIMEOUT = 30  # Session initialization timeout
         | 
| 99 88 | 
             
                THREAD_JOIN_TIMEOUT = 5  # Thread join timeout
         | 
| 100 89 | 
             
                WORKER_TIMEOUT = 60  # Worker thread timeout
         | 
| 101 | 
            -
             | 
| 90 | 
            +
             | 
| 102 91 | 
             
                # Async operation timeouts
         | 
| 103 92 | 
             
                QUEUE_GET_TIMEOUT = 0.1  # Queue get operation timeout
         | 
| 104 93 | 
             
                FLUSH_TIMEOUT = 5.0  # Flush operation timeout
         | 
| 105 | 
            -
             | 
| 94 | 
            +
             | 
| 106 95 | 
             
                # Performance monitoring intervals
         | 
| 107 96 | 
             
                CPU_SAMPLE_INTERVAL = 0.1  # CPU sampling interval
         | 
| 108 97 | 
             
                HEARTBEAT_INTERVAL = 100  # Heartbeat log interval (iterations)
         | 
| 109 | 
            -
             | 
| 98 | 
            +
             | 
| 110 99 | 
             
                # Resource tier timeouts (min, max)
         | 
| 111 100 | 
             
                INTENSIVE_TIMEOUT_RANGE = (600, 3600)  # 10 min to 1 hour
         | 
| 112 101 | 
             
                STANDARD_TIMEOUT_RANGE = (300, 1200)  # 5 min to 20 min
         | 
| 113 102 | 
             
                LIGHTWEIGHT_TIMEOUT_RANGE = (30, 600)  # 30 sec to 10 min
         | 
| 114 103 |  | 
| 115 104 |  | 
| 116 | 
            -
            # ==============================================================================
         | 
| 117 | 
            -
            # Resource Limits - Memory, CPU, and resource constraints
         | 
| 118 | 
            -
            # ==============================================================================
         | 
| 119 | 
            -
             | 
| 120 105 | 
             
            class ResourceLimits:
         | 
| 121 106 | 
             
                """Resource limitation constants."""
         | 
| 122 | 
            -
             | 
| 107 | 
            +
             | 
| 123 108 | 
             
                # Memory limits (MB) - (min, max) tuples
         | 
| 124 109 | 
             
                INTENSIVE_MEMORY_RANGE = (4096, 8192)  # 4GB to 8GB
         | 
| 125 110 | 
             
                STANDARD_MEMORY_RANGE = (2048, 4096)  # 2GB to 4GB
         | 
| 126 111 | 
             
                LIGHTWEIGHT_MEMORY_RANGE = (512, 2048)  # 512MB to 2GB
         | 
| 127 | 
            -
             | 
| 112 | 
            +
             | 
| 128 113 | 
             
                # CPU limits (%) - (min, max) tuples
         | 
| 129 114 | 
             
                INTENSIVE_CPU_RANGE = (60, 100)  # 60% to 100%
         | 
| 130 115 | 
             
                STANDARD_CPU_RANGE = (30, 60)  # 30% to 60%
         | 
| 131 116 | 
             
                LIGHTWEIGHT_CPU_RANGE = (10, 30)  # 10% to 30%
         | 
| 132 | 
            -
             | 
| 117 | 
            +
             | 
| 133 118 | 
             
                # Process limits
         | 
| 134 119 | 
             
                MAX_PARALLEL_AGENTS = 10  # Maximum parallel subagents
         | 
| 135 120 | 
             
                MAX_WORKERS = 4  # Maximum worker threads
         | 
| 136 | 
            -
             | 
| 121 | 
            +
             | 
| 137 122 | 
             
                # Memory conversion
         | 
| 138 123 | 
             
                BYTES_TO_MB = 1024 * 1024  # Conversion factor
         | 
| 139 124 |  | 
| 140 125 |  | 
| 141 | 
            -
            # ==============================================================================
         | 
| 142 | 
            -
            # Retry Configuration - Retry attempts and delays
         | 
| 143 | 
            -
            # ==============================================================================
         | 
| 144 | 
            -
             | 
| 145 126 | 
             
            class RetryConfig:
         | 
| 146 127 | 
             
                """Retry configuration constants."""
         | 
| 147 | 
            -
             | 
| 128 | 
            +
             | 
| 148 129 | 
             
                # Retry attempts
         | 
| 149 130 | 
             
                MAX_RETRIES = 3
         | 
| 150 131 | 
             
                MAX_CONNECTION_RETRIES = 3
         | 
| 151 132 | 
             
                MAX_INSTALL_RETRIES = 3
         | 
| 152 | 
            -
             | 
| 133 | 
            +
             | 
| 153 134 | 
             
                # Retry delays (seconds)
         | 
| 154 135 | 
             
                INITIAL_RETRY_DELAY = 0.1  # 100ms initial delay
         | 
| 155 136 | 
             
                MAX_RETRY_DELAY = 5.0  # Maximum retry delay
         | 
| 156 137 | 
             
                EXPONENTIAL_BASE = 2  # Base for exponential backoff
         | 
| 157 | 
            -
             | 
| 138 | 
            +
             | 
| 158 139 | 
             
                # Circuit breaker
         | 
| 159 140 | 
             
                FAILURE_THRESHOLD = 5  # Failures before circuit opens
         | 
| 160 141 | 
             
                SUCCESS_THRESHOLD = 3  # Successes to close circuit
         | 
| @@ -164,32 +145,28 @@ class RetryConfig: | |
| 164 145 | 
             
                CRITICAL_THRESHOLD = 1  # Critical failures threshold
         | 
| 165 146 |  | 
| 166 147 |  | 
| 167 | 
            -
            # ==============================================================================
         | 
| 168 | 
            -
            # Complexity Metrics - Code quality thresholds
         | 
| 169 | 
            -
            # ==============================================================================
         | 
| 170 | 
            -
             | 
| 171 148 | 
             
            class ComplexityMetrics:
         | 
| 172 149 | 
             
                """Code complexity and quality metrics."""
         | 
| 173 | 
            -
             | 
| 150 | 
            +
             | 
| 174 151 | 
             
                # Complexity thresholds
         | 
| 175 152 | 
             
                HIGH_COMPLEXITY = 10  # High cyclomatic complexity
         | 
| 176 153 | 
             
                CRITICAL_COMPLEXITY = 20  # Critical cyclomatic complexity
         | 
| 177 | 
            -
             | 
| 154 | 
            +
             | 
| 178 155 | 
             
                # Size thresholds
         | 
| 179 156 | 
             
                LONG_FUNCTION_LINES = 50  # Function is getting long
         | 
| 180 157 | 
             
                CRITICAL_FUNCTION_LINES = 100  # Function too long
         | 
| 181 158 | 
             
                LARGE_CLASS_LINES = 300  # Class needs refactoring
         | 
| 182 159 | 
             
                CRITICAL_CLASS_LINES = 500  # Class too large
         | 
| 183 160 | 
             
                GOD_CLASS_LINES = 500  # God object threshold
         | 
| 184 | 
            -
             | 
| 161 | 
            +
             | 
| 185 162 | 
             
                # Coupling thresholds
         | 
| 186 163 | 
             
                HIGH_IMPORT_COUNT = 20  # High coupling
         | 
| 187 164 | 
             
                CRITICAL_IMPORT_COUNT = 40  # Critical coupling/fan-out
         | 
| 188 | 
            -
             | 
| 165 | 
            +
             | 
| 189 166 | 
             
                # Duplication thresholds
         | 
| 190 167 | 
             
                DUPLICATION_WARNING = 5  # 5% duplication needs attention
         | 
| 191 168 | 
             
                DUPLICATION_CRITICAL = 10  # 10% duplication is critical
         | 
| 192 | 
            -
             | 
| 169 | 
            +
             | 
| 193 170 | 
             
                # Maintainability grades
         | 
| 194 171 | 
             
                GRADE_A_THRESHOLD = 80
         | 
| 195 172 | 
             
                GRADE_B_THRESHOLD = 60
         | 
| @@ -197,143 +174,124 @@ class ComplexityMetrics: | |
| 197 174 | 
             
                GRADE_D_THRESHOLD = 20
         | 
| 198 175 |  | 
| 199 176 |  | 
| 200 | 
            -
            # ==============================================================================
         | 
| 201 | 
            -
            # Error Messages - Standardized error message templates
         | 
| 202 | 
            -
            # ==============================================================================
         | 
| 203 | 
            -
             | 
| 204 177 | 
             
            class ErrorMessages:
         | 
| 205 178 | 
             
                """Standardized error message templates."""
         | 
| 206 | 
            -
             | 
| 179 | 
            +
             | 
| 207 180 | 
             
                # Validation errors
         | 
| 208 | 
            -
                INSTRUCTION_TOO_LONG =  | 
| 181 | 
            +
                INSTRUCTION_TOO_LONG = (
         | 
| 182 | 
            +
                    "Instructions exceed {limit} character limit: {actual} characters"
         | 
| 183 | 
            +
                )
         | 
| 209 184 | 
             
                CONFIG_TOO_LARGE = "Configuration file exceeds {limit} size limit: {actual} bytes"
         | 
| 210 185 | 
             
                FILE_TOO_LARGE = "File exceeds maximum size of {limit} bytes"
         | 
| 211 186 | 
             
                TOO_MANY_FILES = "Too many files to validate: {count} exceeds limit of {limit}"
         | 
| 212 | 
            -
             | 
| 187 | 
            +
             | 
| 213 188 | 
             
                # Connection errors
         | 
| 214 189 | 
             
                CONNECTION_FAILED = "Failed to connect to {service} on port {port}"
         | 
| 215 190 | 
             
                CONNECTION_TIMEOUT = "Connection to {service} timed out after {timeout} seconds"
         | 
| 216 191 | 
             
                PORT_IN_USE = "Port {port} is already in use"
         | 
| 217 192 | 
             
                PORT_NOT_IN_RANGE = "Port {port} is outside allowed range {range}"
         | 
| 218 | 
            -
             | 
| 193 | 
            +
             | 
| 219 194 | 
             
                # Resource errors
         | 
| 220 195 | 
             
                MEMORY_EXCEEDED = "Memory usage {usage}MB exceeds limit of {limit}MB"
         | 
| 221 196 | 
             
                CPU_EXCEEDED = "CPU usage {usage}% exceeds limit of {limit}%"
         | 
| 222 197 | 
             
                QUEUE_FULL = "Queue is full: {size} items exceeds limit of {limit}"
         | 
| 223 | 
            -
             | 
| 198 | 
            +
             | 
| 224 199 | 
             
                # Timeout errors
         | 
| 225 200 | 
             
                OPERATION_TIMEOUT = "Operation timed out after {timeout} seconds"
         | 
| 226 201 | 
             
                SUBPROCESS_TIMEOUT = "Subprocess timed out after {timeout} milliseconds"
         | 
| 227 | 
            -
             | 
| 202 | 
            +
             | 
| 228 203 | 
             
                # Retry errors
         | 
| 229 204 | 
             
                MAX_RETRIES_EXCEEDED = "Maximum retries ({max_retries}) exceeded for {operation}"
         | 
| 230 205 | 
             
                CIRCUIT_OPEN = "Circuit breaker is open for {service}"
         | 
| 231 206 |  | 
| 232 207 |  | 
| 233 | 
            -
            # ==============================================================================
         | 
| 234 | 
            -
            # Default Values - Default configuration values
         | 
| 235 | 
            -
            # ==============================================================================
         | 
| 236 | 
            -
             | 
| 237 208 | 
             
            class Defaults:
         | 
| 238 209 | 
             
                """Default configuration values."""
         | 
| 239 | 
            -
             | 
| 210 | 
            +
             | 
| 240 211 | 
             
                # Agent defaults
         | 
| 241 212 | 
             
                DEFAULT_AUTHOR = "claude-mpm"
         | 
| 242 213 | 
             
                DEFAULT_VERSION = "1.0.0"
         | 
| 243 214 | 
             
                DEFAULT_PRIORITY = "medium"
         | 
| 244 215 | 
             
                DEFAULT_TEMPERATURE = 0.5
         | 
| 245 | 
            -
             | 
| 216 | 
            +
             | 
| 246 217 | 
             
                # Logging defaults
         | 
| 247 218 | 
             
                DEFAULT_LOG_LEVEL = "INFO"
         | 
| 248 219 | 
             
                DEFAULT_LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
         | 
| 249 | 
            -
             | 
| 220 | 
            +
             | 
| 250 221 | 
             
                # Session defaults
         | 
| 251 222 | 
             
                DEFAULT_SESSION_PREFIX = "session"
         | 
| 252 223 | 
             
                DEFAULT_WORKSPACE = ".claude-mpm"
         | 
| 253 | 
            -
             | 
| 224 | 
            +
             | 
| 254 225 | 
             
                # Dashboard defaults
         | 
| 255 226 | 
             
                DEFAULT_DASHBOARD_HOST = "localhost"
         | 
| 256 227 | 
             
                DEFAULT_DASHBOARD_TITLE = "Claude MPM Dashboard"
         | 
| 257 | 
            -
             | 
| 228 | 
            +
             | 
| 258 229 | 
             
                # Time formats
         | 
| 259 230 | 
             
                TIMESTAMP_FORMAT = "%Y%m%d_%H%M%S"
         | 
| 260 231 | 
             
                LOG_TIMESTAMP_FORMAT = "%Y-%m-%d %H:%M:%S"
         | 
| 261 232 |  | 
| 262 233 |  | 
| 263 | 
            -
            # ==============================================================================
         | 
| 264 | 
            -
            # Performance Configuration - Performance-related settings
         | 
| 265 | 
            -
            # ==============================================================================
         | 
| 266 | 
            -
             | 
| 267 234 | 
             
            class PerformanceConfig:
         | 
| 268 235 | 
             
                """Performance optimization settings."""
         | 
| 269 | 
            -
             | 
| 236 | 
            +
             | 
| 270 237 | 
             
                # Scoring weights for server selection
         | 
| 271 238 | 
             
                VERSION_SCORE_MAJOR = 1000
         | 
| 272 239 | 
             
                VERSION_SCORE_MINOR = 100
         | 
| 273 240 | 
             
                VERSION_SCORE_PATCH = 1
         | 
| 274 | 
            -
             | 
| 241 | 
            +
             | 
| 275 242 | 
             
                # Time conversion
         | 
| 276 243 | 
             
                SECONDS_TO_MS = 1000
         | 
| 277 244 | 
             
                MS_TO_SECONDS = 0.001
         | 
| 278 | 
            -
             | 
| 245 | 
            +
             | 
| 279 246 | 
             
                # Logging frequencies
         | 
| 280 247 | 
             
                LOG_EVERY_N_ITERATIONS = 100  # Log every N iterations
         | 
| 281 248 | 
             
                LOG_EVERY_N_SECONDS = 10  # Log every N seconds
         | 
| 282 | 
            -
             | 
| 249 | 
            +
             | 
| 283 250 | 
             
                # Batch sizes
         | 
| 284 251 | 
             
                DEFAULT_BATCH_SIZE = 100
         | 
| 285 252 | 
             
                MAX_BATCH_SIZE = 1000
         | 
| 286 | 
            -
             | 
| 253 | 
            +
             | 
| 287 254 | 
             
                # Cache settings
         | 
| 288 255 | 
             
                CACHE_CLEANUP_INTERVAL = 60  # seconds
         | 
| 289 256 | 
             
                CACHE_TTL = 3600  # 1 hour default TTL
         | 
| 290 | 
            -
             | 
| 257 | 
            +
             | 
| 291 258 | 
             
                # Memory thresholds
         | 
| 292 259 | 
             
                LOW_MEMORY_THRESHOLD = 100  # MB
         | 
| 293 260 | 
             
                CRITICAL_MEMORY_THRESHOLD = 50  # MB
         | 
| 294 261 |  | 
| 295 262 |  | 
| 296 | 
            -
            # ==============================================================================
         | 
| 297 | 
            -
            # Validation Rules - Validation thresholds and rules
         | 
| 298 | 
            -
            # ==============================================================================
         | 
| 299 | 
            -
             | 
| 300 263 | 
             
            class ValidationRules:
         | 
| 301 264 | 
             
                """Validation rules and thresholds."""
         | 
| 302 | 
            -
             | 
| 265 | 
            +
             | 
| 303 266 | 
             
                # Name validation
         | 
| 304 267 | 
             
                MIN_NAME_LENGTH = 3
         | 
| 305 268 | 
             
                MAX_NAME_LENGTH = 50
         | 
| 306 | 
            -
             | 
| 269 | 
            +
             | 
| 307 270 | 
             
                # Version validation
         | 
| 308 271 | 
             
                MIN_VERSION_PARTS = 3  # major.minor.patch
         | 
| 309 | 
            -
             | 
| 272 | 
            +
             | 
| 310 273 | 
             
                # Description validation
         | 
| 311 274 | 
             
                MIN_DESCRIPTION_LENGTH = 10
         | 
| 312 275 | 
             
                MAX_DESCRIPTION_LENGTH = 500
         | 
| 313 | 
            -
             | 
| 276 | 
            +
             | 
| 314 277 | 
             
                # Tag validation
         | 
| 315 278 | 
             
                MAX_TAGS = 10
         | 
| 316 279 | 
             
                MAX_TAG_LENGTH = 30
         | 
| 317 | 
            -
             | 
| 280 | 
            +
             | 
| 318 281 | 
             
                # Tool validation
         | 
| 319 282 | 
             
                MAX_TOOLS = 20
         | 
| 320 | 
            -
             | 
| 283 | 
            +
             | 
| 321 284 | 
             
                # Priority levels
         | 
| 322 285 | 
             
                VALID_PRIORITIES = ["low", "medium", "high", "critical"]
         | 
| 323 | 
            -
             | 
| 286 | 
            +
             | 
| 324 287 | 
             
                # Resource tiers
         | 
| 325 288 | 
             
                VALID_RESOURCE_TIERS = ["intensive", "standard", "lightweight"]
         | 
| 326 289 |  | 
| 327 290 |  | 
| 328 | 
            -
            # ==============================================================================
         | 
| 329 | 
            -
            # Backwards Compatibility Exports
         | 
| 330 | 
            -
            # ==============================================================================
         | 
| 331 | 
            -
             | 
| 332 | 
            -
            # Export commonly used constants at module level for backwards compatibility
         | 
| 333 291 | 
             
            MAX_INSTRUCTION_LENGTH = SystemLimits.MAX_INSTRUCTION_LENGTH
         | 
| 334 292 | 
             
            MAX_AGENT_CONFIG_SIZE = SystemLimits.MAX_AGENT_CONFIG_SIZE
         | 
| 335 293 | 
             
            MAX_FILE_SIZE = SystemLimits.MAX_FILE_SIZE
         | 
| 336 294 | 
             
            SOCKETIO_PORT_RANGE = NetworkConfig.SOCKETIO_PORT_RANGE
         | 
| 337 295 | 
             
            QUERY_TIMEOUT = TimeoutConfig.QUERY_TIMEOUT
         | 
| 338 296 | 
             
            MAX_RETRIES = RetryConfig.MAX_RETRIES
         | 
| 339 | 
            -
            DEFAULT_TIMEOUT = TimeoutConfig.DEFAULT_TIMEOUT
         | 
| 297 | 
            +
            DEFAULT_TIMEOUT = TimeoutConfig.DEFAULT_TIMEOUT
         |