crackerjack 0.33.7__tar.gz → 0.33.9__tar.gz
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.
Potentially problematic release.
This version of crackerjack might be problematic. Click here for more details.
- {crackerjack-0.33.7 → crackerjack-0.33.9}/CHANGELOG.md +12 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/PKG-INFO +1 -1
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/config_merge.py +55 -2
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/initialization.py +6 -2
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/input_validator.py +1 -1
- {crackerjack-0.33.7 → crackerjack-0.33.9}/pyproject.toml +1 -1
- {crackerjack-0.33.7 → crackerjack-0.33.9}/uv.lock +16 -16
- {crackerjack-0.33.7 → crackerjack-0.33.9}/.github/FUNDING.yml +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/.gitignore +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/.pre-commit-config.yaml +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/AGENTS.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/CLAUDE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/LICENSE +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/QWEN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/README.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/RULES.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/SECURITY.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/ai/AGENT-CAPABILITIES.json +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/ai/AGENT_SELECTION.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/ai/AI-REFERENCE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/ai/ERROR-PATTERNS.yaml +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/__main__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/adapters/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/adapters/lsp_client.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/adapters/rust_tool_adapter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/adapters/rust_tool_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/adapters/skylos_adapter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/adapters/zuban_adapter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/architect_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/base.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/coordinator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/documentation_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/dry_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/formatting_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/import_optimization_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/performance_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/performance_helpers.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/proactive_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/refactoring_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/refactoring_helpers.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/security_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/test_creation_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/test_specialist_agent.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/agents/tracker.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/api.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/cache_handlers.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/facade.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/handlers.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/interactive.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/options.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/cli/utils.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/code_cleaner.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/config/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/config/global_lock_config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/config/hooks.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/async_workflow_orchestrator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/autofix_coordinator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/container.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/enhanced_container.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/file_lifecycle.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/performance.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/performance_monitor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/phase_coordinator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/proactive_workflow.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/resource_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/service_watchdog.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/session_coordinator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/timeout_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/websocket_lifecycle.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/core/workflow_orchestrator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/docs/INDEX.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/docs/generated/api/SERVICES.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/documentation/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/documentation/ai_templates.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/documentation/dual_output_generator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/documentation/mkdocs_integration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/documentation/reference_generator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/dynamic_config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/errors.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/async_hook_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/cached_hook_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/hook_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/hook_lock_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/individual_hook_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/executors/tool_proxy.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/hooks/lsp_hook.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/intelligence/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/intelligence/adaptive_learning.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/intelligence/agent_orchestrator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/intelligence/agent_registry.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/intelligence/agent_selector.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/intelligence/integration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/interactive.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/async_hook_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/hook_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/publish_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/test_command_builder.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/test_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/test_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/test_manager_backup.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/managers/test_progress.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/cache.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/client_runner.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/context.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/dashboard.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/file_monitor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/progress_components.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/progress_monitor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/progress_monitor.tcss +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/rate_limiter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/server.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/server_core.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/service_watchdog.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/state.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/task_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/core_tools.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/error_analyzer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/execution_tools.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/proactive_tools.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/progress_tools.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/utility_tools.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/workflow_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket/app.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket/endpoints.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket/jobs.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket/server.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/websocket_server.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mixins/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mixins/error_handling.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/models/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/models/config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/models/config_adapter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/models/protocols.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/models/resource_protocols.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/models/task.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/monitoring/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/monitoring/metrics_collector.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/monitoring/regression_prevention.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/monitoring/websocket_server.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/orchestration/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/orchestration/coverage_improvement.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/orchestration/execution_strategies.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/orchestration/test_progress_streamer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/plugins/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/plugins/base.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/plugins/hooks.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/plugins/loader.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/plugins/managers.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/pyproject.toml +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/security/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/security/audit.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/anomaly_detector.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/api_extractor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/backup_service.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/bounded_status_operations.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/cache.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/changelog_automation.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/config_integrity.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/config_template.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/contextual_ai_assistant.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/coverage_badge_service.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/coverage_ratchet.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/debug.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/dependency_analyzer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/dependency_monitor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/documentation_generator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/documentation_service.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/enhanced_filesystem.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/enterprise_optimizer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/error_pattern_analyzer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/file_hasher.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/filesystem.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/git.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/health_metrics.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/heatmap_generator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/intelligent_commit.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/log_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/logging.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/lsp_client.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/memory_optimizer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/metrics.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/parallel_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/pattern_cache.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/pattern_detector.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/performance_benchmarks.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/performance_cache.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/performance_monitor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/predictive_analytics.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/quality_baseline.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/quality_baseline_enhanced.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/quality_intelligence.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/regex_patterns.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/regex_utils.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/secure_path_utils.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/secure_status_formatter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/secure_subprocess.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/security.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/security_logger.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/server_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/smart_scheduling.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/status_authentication.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/status_security_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/terminal_utils.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/thread_safe_status_collector.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/tool_version_service.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/unified_config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/validation_rate_limiter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/version_analyzer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/version_checker.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/websocket_resource_limiter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/services/zuban_lsp_service.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/slash_commands/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/slash_commands/init.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/slash_commands/run.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/slash_commands/status.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/tools/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/tools/fix_terminal.sh +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/tools/validate_regex_patterns.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/uv.lock +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/architecture/API_REFERENCE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/architecture/ARCHITECTURE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/archive/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/archive/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/archive/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/development/IDE-SETUP.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/UVXUSAGE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/security/SECURITY-AUDIT.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/systems/BACKUP_SYSTEM.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/systems/CACHING_SYSTEM.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/systems/MCP_INTEGRATION.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/systems/MONITORING_INTEGRATION.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/example.mcp.json +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/excalidraw.log +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/fix_typing_imports.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/mypy.ini +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/scripts/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/scripts/integrate_resource_management.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/scripts/performance_benchmark.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/templates/api_reference.md.template +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/templates/changelog_entry.md.template +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/templates/user_guide.md.template +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/test_docs_site/site/docs/api-reference.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/test_docs_site/site/docs/getting-started.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/test_docs_site/site/docs/index.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/test_docs_site/site/mkdocs.yml +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/base_test.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/conftest.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/coverage.json +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/data/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/data/comments_sample.txt +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/data/docstrings_sample.txt +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/data/expected_comments_sample.txt +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/data/init.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/run_tests.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/scripts/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/scripts/agent_audit_report.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/scripts/run_test_suite.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test___main__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_ai_agent_workflow.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_ai_optimized_documentation.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_async_hook_executor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_changelog_generation.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_cli/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_cli/test_global_lock_options.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_cli_semantic_naming.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_coordinator_performance.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_core_autofix_coordinator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_core_comprehensive.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_core_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_core_enhanced_container.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_core_modules.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_core_performance.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_documentation_agent_simple.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_dynamic_config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_dynamic_config_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_end_to_end_integration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_enhanced_filesystem.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_enhanced_filesystem_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_execution_speed_optimization.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_executors/__init__.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_executors/test_lock_integration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_fast_hooks_behavior.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_filesystem_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_final_validation.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_global_lock_config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_hook_lock_manager.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_hook_manager_simple.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_import_coverage_consolidated.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_input_validation.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_intelligence_system.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_large_modules_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_main_entry_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_main_module.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_managers_consolidated.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_mcp_progress_monitor.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_mcp_server.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_models_comprehensive.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_models_config_adapter_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_models_focused.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_models_task_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_modernized_code.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_performance_agent_enhanced.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_performance_agent_simple.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_performance_benchmarks_focused.py.bak +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_phase_coordinator_simple.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_plugins_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_proactive_agent_system.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_protocol_compliance.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_publish_manager_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_pytest_features.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_regex_patterns.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_resource_cleanup_integration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_secure_path_utils.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_secure_status_formatter.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_security_audit.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_security_hardening.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_security_integration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_services_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_session_coordinator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_session_coordinator_coverage.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_simple_tool_version_service.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_simple_workflow.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_stage_workflow_execution_order.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_structured_errors.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_structured_logging.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_syntax_validation.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_terminal_restoration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_terminal_state.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_timeout_system.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_unified_api.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_unified_config.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_unified_monitoring_dashboard.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_validate_regex_patterns_tool.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_version_analyzer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_version_bump_analyzer.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_websocket_endpoints.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_workflow_fast_hooks.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_workflow_integration.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tests/test_workflow_orchestrator.py +0 -0
- {crackerjack-0.33.7 → crackerjack-0.33.9}/tools/validate_regex_patterns_standalone.py +0 -0
|
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.33.9] - 2025-09-15
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Update config, deps, docs
|
|
13
|
+
|
|
14
|
+
## [0.33.8] - 2025-09-14
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Update config, deps, docs
|
|
19
|
+
|
|
8
20
|
## [0.33.7] - 2025-09-14
|
|
9
21
|
|
|
10
22
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crackerjack
|
|
3
|
-
Version: 0.33.
|
|
3
|
+
Version: 0.33.9
|
|
4
4
|
Summary: Crackerjack Python project management tool
|
|
5
5
|
Project-URL: documentation, https://github.com/lesleslie/crackerjack
|
|
6
6
|
Project-URL: homepage, https://github.com/lesleslie/crackerjack
|
|
@@ -65,7 +65,13 @@ class ConfigMergeService(ConfigMergeServiceProtocol):
|
|
|
65
65
|
target_path = Path(target_path)
|
|
66
66
|
|
|
67
67
|
if not target_path.exists():
|
|
68
|
-
|
|
68
|
+
# Process source content for project-specific references
|
|
69
|
+
processed_source = copy.deepcopy(source_content)
|
|
70
|
+
source_repos = processed_source.get("repos", [])
|
|
71
|
+
processed_source["repos"] = self._process_pre_commit_repos_for_project(
|
|
72
|
+
source_repos, project_name
|
|
73
|
+
)
|
|
74
|
+
return processed_source
|
|
69
75
|
|
|
70
76
|
with target_path.open() as f:
|
|
71
77
|
loaded_config = yaml.safe_load(f)
|
|
@@ -96,7 +102,11 @@ class ConfigMergeService(ConfigMergeServiceProtocol):
|
|
|
96
102
|
]
|
|
97
103
|
|
|
98
104
|
if new_repos:
|
|
99
|
-
|
|
105
|
+
# Replace project-specific references in new repos before adding them
|
|
106
|
+
processed_new_repos = self._process_pre_commit_repos_for_project(
|
|
107
|
+
new_repos, project_name
|
|
108
|
+
)
|
|
109
|
+
target_repos.extend(processed_new_repos)
|
|
100
110
|
target_content["repos"] = target_repos
|
|
101
111
|
self.logger.info(
|
|
102
112
|
"Merged .pre-commit-config.yaml",
|
|
@@ -485,3 +495,46 @@ class ConfigMergeService(ConfigMergeServiceProtocol):
|
|
|
485
495
|
for key, val in value.items()
|
|
486
496
|
}
|
|
487
497
|
return value
|
|
498
|
+
|
|
499
|
+
def _process_pre_commit_repos_for_project(
|
|
500
|
+
self, repos: list[dict[str, t.Any]], project_name: str
|
|
501
|
+
) -> list[dict[str, t.Any]]:
|
|
502
|
+
"""Process pre-commit repos to replace project-specific references."""
|
|
503
|
+
if project_name == "crackerjack":
|
|
504
|
+
return repos # No changes needed for crackerjack itself
|
|
505
|
+
|
|
506
|
+
processed_repos = []
|
|
507
|
+
for repo in repos:
|
|
508
|
+
processed_repo = copy.deepcopy(repo)
|
|
509
|
+
|
|
510
|
+
# Process hooks within each repo
|
|
511
|
+
hooks = processed_repo.get("hooks", [])
|
|
512
|
+
for hook in hooks:
|
|
513
|
+
if isinstance(hook, dict):
|
|
514
|
+
# Replace crackerjack directory references in args
|
|
515
|
+
if "args" in hook:
|
|
516
|
+
hook["args"] = [
|
|
517
|
+
arg.replace("crackerjack", project_name)
|
|
518
|
+
if isinstance(arg, str)
|
|
519
|
+
else arg
|
|
520
|
+
for arg in hook["args"]
|
|
521
|
+
]
|
|
522
|
+
|
|
523
|
+
# Replace crackerjack directory references in files pattern
|
|
524
|
+
if "files" in hook:
|
|
525
|
+
files_pattern = hook["files"]
|
|
526
|
+
if isinstance(files_pattern, str):
|
|
527
|
+
hook["files"] = files_pattern.replace(
|
|
528
|
+
"^crackerjack/", f"^{project_name}/"
|
|
529
|
+
)
|
|
530
|
+
|
|
531
|
+
# Special handling for validate-regex-patterns hook - keep it pointing to crackerjack package
|
|
532
|
+
if hook.get("id") == "validate-regex-patterns":
|
|
533
|
+
# This should reference the installed crackerjack package, not the current project
|
|
534
|
+
# The entry already uses "uv run python -m crackerjack.tools.validate_regex_patterns"
|
|
535
|
+
# which is correct - it runs from the installed crackerjack package
|
|
536
|
+
pass
|
|
537
|
+
|
|
538
|
+
processed_repos.append(processed_repo)
|
|
539
|
+
|
|
540
|
+
return processed_repos
|
|
@@ -138,7 +138,9 @@ class InitializationService:
|
|
|
138
138
|
self._process_mcp_config(target_path, force, results)
|
|
139
139
|
return
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
# Use crackerjack's project root for template files
|
|
142
|
+
crackerjack_project_root = Path(__file__).parent.parent.parent
|
|
143
|
+
source_file = crackerjack_project_root / file_name
|
|
142
144
|
target_file = target_path / file_name
|
|
143
145
|
|
|
144
146
|
if not source_file.exists():
|
|
@@ -304,7 +306,9 @@ class InitializationService:
|
|
|
304
306
|
force: bool,
|
|
305
307
|
results: dict[str, t.Any],
|
|
306
308
|
) -> None:
|
|
307
|
-
|
|
309
|
+
# Use crackerjack's project root for template files
|
|
310
|
+
crackerjack_project_root = Path(__file__).parent.parent.parent
|
|
311
|
+
source_file = crackerjack_project_root / "example.mcp.json"
|
|
308
312
|
|
|
309
313
|
target_file = target_path / ".mcp.json"
|
|
310
314
|
|
|
@@ -644,7 +644,7 @@ def validate_and_sanitize_string(value: str, **kwargs: t.Any) -> str:
|
|
|
644
644
|
|
|
645
645
|
def validate_and_sanitize_path(value: str | Path, **kwargs: t.Any) -> Path:
|
|
646
646
|
validator = SecureInputValidator()
|
|
647
|
-
result = validator.sanitizer.
|
|
647
|
+
result = validator.sanitizer.sanitize_path(value, **kwargs)
|
|
648
648
|
|
|
649
649
|
if not result.valid:
|
|
650
650
|
raise ExecutionError(
|
|
@@ -398,7 +398,7 @@ wheels = [
|
|
|
398
398
|
|
|
399
399
|
[[package]]
|
|
400
400
|
name = "crackerjack"
|
|
401
|
-
version = "0.33.
|
|
401
|
+
version = "0.33.9"
|
|
402
402
|
source = { editable = "." }
|
|
403
403
|
dependencies = [
|
|
404
404
|
{ name = "aiofiles" },
|
|
@@ -1003,15 +1003,15 @@ wheels = [
|
|
|
1003
1003
|
|
|
1004
1004
|
[[package]]
|
|
1005
1005
|
name = "hypothesis"
|
|
1006
|
-
version = "6.138.
|
|
1006
|
+
version = "6.138.16"
|
|
1007
1007
|
source = { registry = "https://pypi.org/simple" }
|
|
1008
1008
|
dependencies = [
|
|
1009
1009
|
{ name = "attrs" },
|
|
1010
1010
|
{ name = "sortedcontainers" },
|
|
1011
1011
|
]
|
|
1012
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1012
|
+
sdist = { url = "https://files.pythonhosted.org/packages/21/2f/3f41181a7054f8049c0c2ef2eb8a86f43c2bfb0da7b0aba69c24019f56eb/hypothesis-6.138.16.tar.gz", hash = "sha256:08f9015dadc877ce5ca04752efc56df797238148a44d1c69db656ed29bfbbf73", size = 466040, upload-time = "2025-09-13T23:26:07.448Z" }
|
|
1013
1013
|
wheels = [
|
|
1014
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1014
|
+
{ url = "https://files.pythonhosted.org/packages/ac/f3/6aa509411e72828ad1c6ed107e9efe7b3e1464e8ef620bb39338954bff58/hypothesis-6.138.16-py3-none-any.whl", hash = "sha256:63dde4b45a04caef2a59ccae5541083cbadfe7605435e7a23454fe7c2113577c", size = 533690, upload-time = "2025-09-13T23:26:03.93Z" },
|
|
1015
1015
|
]
|
|
1016
1016
|
|
|
1017
1017
|
[[package]]
|
|
@@ -1921,7 +1921,7 @@ wheels = [
|
|
|
1921
1921
|
|
|
1922
1922
|
[[package]]
|
|
1923
1923
|
name = "pydantic"
|
|
1924
|
-
version = "2.11.
|
|
1924
|
+
version = "2.11.9"
|
|
1925
1925
|
source = { registry = "https://pypi.org/simple" }
|
|
1926
1926
|
dependencies = [
|
|
1927
1927
|
{ name = "annotated-types" },
|
|
@@ -1929,9 +1929,9 @@ dependencies = [
|
|
|
1929
1929
|
{ name = "typing-extensions" },
|
|
1930
1930
|
{ name = "typing-inspection" },
|
|
1931
1931
|
]
|
|
1932
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1932
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ff/5d/09a551ba512d7ca404d785072700d3f6727a02f6f3c24ecfd081c7cf0aa8/pydantic-2.11.9.tar.gz", hash = "sha256:6b8ffda597a14812a7975c90b82a8a2e777d9257aba3453f973acd3c032a18e2", size = 788495, upload-time = "2025-09-13T11:26:39.325Z" }
|
|
1933
1933
|
wheels = [
|
|
1934
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1934
|
+
{ url = "https://files.pythonhosted.org/packages/3e/d3/108f2006987c58e76691d5ae5d200dd3e0f532cb4e5fa3560751c3a1feba/pydantic-2.11.9-py3-none-any.whl", hash = "sha256:c42dd626f5cfc1c6950ce6205ea58c93efa406da65f479dcb4029d5934857da2", size = 444855, upload-time = "2025-09-13T11:26:36.909Z" },
|
|
1935
1935
|
]
|
|
1936
1936
|
|
|
1937
1937
|
[package.optional-dependencies]
|
|
@@ -2013,11 +2013,11 @@ wheels = [
|
|
|
2013
2013
|
|
|
2014
2014
|
[[package]]
|
|
2015
2015
|
name = "pyparsing"
|
|
2016
|
-
version = "3.2.
|
|
2016
|
+
version = "3.2.4"
|
|
2017
2017
|
source = { registry = "https://pypi.org/simple" }
|
|
2018
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2018
|
+
sdist = { url = "https://files.pythonhosted.org/packages/98/c9/b4594e6a81371dfa9eb7a2c110ad682acf985d96115ae8b25a1d63b4bf3b/pyparsing-3.2.4.tar.gz", hash = "sha256:fff89494f45559d0f2ce46613b419f632bbb6afbdaed49696d322bcf98a58e99", size = 1098809, upload-time = "2025-09-13T05:47:19.732Z" }
|
|
2019
2019
|
wheels = [
|
|
2020
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2020
|
+
{ url = "https://files.pythonhosted.org/packages/53/b8/fbab973592e23ae313042d450fc26fa24282ebffba21ba373786e1ce63b4/pyparsing-3.2.4-py3-none-any.whl", hash = "sha256:91d0fcde680d42cd031daf3a6ba20da3107e08a75de50da58360e7d94ab24d36", size = 113869, upload-time = "2025-09-13T05:47:17.863Z" },
|
|
2021
2021
|
]
|
|
2022
2022
|
|
|
2023
2023
|
[[package]]
|
|
@@ -2604,7 +2604,7 @@ wheels = [
|
|
|
2604
2604
|
|
|
2605
2605
|
[[package]]
|
|
2606
2606
|
name = "session-mgmt-mcp"
|
|
2607
|
-
version = "0.3.
|
|
2607
|
+
version = "0.3.4"
|
|
2608
2608
|
source = { registry = "https://pypi.org/simple" }
|
|
2609
2609
|
dependencies = [
|
|
2610
2610
|
{ name = "crackerjack" },
|
|
@@ -2622,9 +2622,9 @@ dependencies = [
|
|
|
2622
2622
|
{ name = "transformers" },
|
|
2623
2623
|
{ name = "typer" },
|
|
2624
2624
|
]
|
|
2625
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2625
|
+
sdist = { url = "https://files.pythonhosted.org/packages/4d/30/87e43eb5fba1229e1531ef4c8ea140cc7c6ac6b51707c866446c633853e7/session_mgmt_mcp-0.3.4.tar.gz", hash = "sha256:f4c6e816c7ec0274f0f80a29e45a040d9e6baa6b78417af91565d352f78f44cb", size = 489527, upload-time = "2025-09-15T06:19:28.114Z" }
|
|
2626
2626
|
wheels = [
|
|
2627
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2627
|
+
{ url = "https://files.pythonhosted.org/packages/a4/07/9c5d3b018df90bacce15185f463fff0384767c041348eb35a70753324889/session_mgmt_mcp-0.3.4-py3-none-any.whl", hash = "sha256:c6d95c3aa080ebd21598cc595b588cc6bda7b885abcdbf42190f4a8a11c0ffd5", size = 218155, upload-time = "2025-09-15T06:19:26.354Z" },
|
|
2628
2628
|
]
|
|
2629
2629
|
|
|
2630
2630
|
[[package]]
|
|
@@ -2945,11 +2945,11 @@ wheels = [
|
|
|
2945
2945
|
|
|
2946
2946
|
[[package]]
|
|
2947
2947
|
name = "types-pyyaml"
|
|
2948
|
-
version = "6.0.12.
|
|
2948
|
+
version = "6.0.12.20250915"
|
|
2949
2949
|
source = { registry = "https://pypi.org/simple" }
|
|
2950
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2950
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz", hash = "sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", size = 17522, upload-time = "2025-09-15T03:01:00.728Z" }
|
|
2951
2951
|
wheels = [
|
|
2952
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2952
|
+
{ url = "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl", hash = "sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", size = 20338, upload-time = "2025-09-15T03:00:59.218Z" },
|
|
2953
2953
|
]
|
|
2954
2954
|
|
|
2955
2955
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/docs/generated/api/CROSS_REFERENCES.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/documentation/dual_output_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crackerjack-0.33.7 → crackerjack-0.33.9}/crackerjack/mcp/tools/intelligence_tool_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|