crackerjack 0.38.13__tar.gz → 0.38.14__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.38.13 → crackerjack-0.38.14}/.pre-commit-config.yaml +0 -7
- {crackerjack-0.38.13 → crackerjack-0.38.14}/CHANGELOG.md +6 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/PKG-INFO +3 -3
- {crackerjack-0.38.13 → crackerjack-0.38.14}/README.md +2 -2
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/dynamic_config.py +0 -19
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/config_template.py +6 -5
- {crackerjack-0.38.13 → crackerjack-0.38.14}/pyproject.toml +1 -1
- crackerjack-0.38.14/tests/test_ai_templates.py +11 -0
- crackerjack-0.38.14/tests/test_api.py +119 -0
- crackerjack-0.38.13/tests/test_api.py → crackerjack-0.38.14/tests/test_mkdocs_integration.py +16 -28
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_py313.py +13 -1
- crackerjack-0.38.14/tests/test_reference_generator.py +59 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/uv.lock +1 -1
- crackerjack-0.38.13/tests/test_reference_generator.py +0 -11
- {crackerjack-0.38.13 → crackerjack-0.38.14}/.codespell-ignore +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/.codespellrc +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/.github/FUNDING.yml +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/.gitignore +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/AGENTS.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/CLAUDE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/COMPREHENSIVE_ENHANCEMENT_SUMMARY.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/ENHANCEMENT_INITIATIVE_COMPLETION_REPORT.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/FINAL_ENHANCEMENT_SUMMARY.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/GITLEAKS_MIGRATION_SUMMARY.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/LICENSE +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/QWEN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/RULES.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/SECURITY.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/SECURITY_TOOL_MIGRATION_SUMMARY.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/ai/AGENT-CAPABILITIES.json +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/ai/AGENT_SELECTION.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/ai/AI-REFERENCE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/ai/ERROR-PATTERNS.yaml +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/CLAUDE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/__main__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/adapters/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/adapters/lsp_client.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/adapters/rust_tool_adapter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/adapters/rust_tool_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/adapters/skylos_adapter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/adapters/zuban_adapter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/architect_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/base.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/coordinator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/documentation_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/dry_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/formatting_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/import_optimization_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/performance_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/performance_helpers.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/proactive_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/refactoring_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/refactoring_helpers.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/security_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/test_creation_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/test_specialist_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/agents/tracker.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/api.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/cache_handlers.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/facade.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/handlers.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/interactive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/options.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/cli/utils.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/code_cleaner.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/config/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/config/global_lock_config.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/config/hooks.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/async_workflow_orchestrator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/autofix_coordinator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/container.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/enhanced_container.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/file_lifecycle.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/performance.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/performance_monitor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/phase_coordinator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/proactive_workflow.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/resource_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/service_watchdog.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/session_coordinator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/timeout_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/websocket_lifecycle.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/core/workflow_orchestrator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/docs/INDEX.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/docs/generated/api/SERVICES.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/documentation/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/documentation/ai_templates.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/documentation/dual_output_generator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/documentation/mkdocs_integration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/documentation/reference_generator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/errors.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/async_hook_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/cached_hook_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/hook_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/hook_lock_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/individual_hook_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/executors/tool_proxy.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/hooks/lsp_hook.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/intelligence/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/intelligence/adaptive_learning.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/intelligence/agent_orchestrator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/intelligence/agent_registry.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/intelligence/agent_selector.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/intelligence/integration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/interactive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/async_hook_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/hook_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/publish_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/test_command_builder.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/test_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/test_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/test_manager_backup.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/managers/test_progress.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/cache.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/client_runner.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/context.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/dashboard.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/file_monitor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/progress_components.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/progress_monitor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/progress_monitor.tcss +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/rate_limiter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/server.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/server_core.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/service_watchdog.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/state.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/task_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/core_tools.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/error_analyzer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/execution_tools.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/proactive_tools.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/progress_tools.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/utility_tools.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/tools/workflow_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket/app.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket/endpoints.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket/jobs.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket/server.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mcp/websocket_server.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mixins/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/mixins/error_handling.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/models/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/models/config.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/models/config_adapter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/models/protocols.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/models/resource_protocols.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/models/task.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/monitoring/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/monitoring/metrics_collector.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/monitoring/regression_prevention.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/monitoring/websocket_server.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/orchestration/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/orchestration/coverage_improvement.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/orchestration/execution_strategies.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/orchestration/test_progress_streamer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/plugins/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/plugins/base.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/plugins/hooks.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/plugins/loader.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/plugins/managers.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/py313.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/pyproject.toml +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/security/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/security/audit.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/anomaly_detector.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/api_extractor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/backup_service.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/bounded_status_operations.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/cache.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/changelog_automation.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/config.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/config_integrity.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/config_merge.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/contextual_ai_assistant.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/coverage_badge_service.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/coverage_ratchet.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/debug.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/dependency_analyzer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/dependency_monitor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/documentation_generator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/documentation_service.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/enhanced_filesystem.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/enterprise_optimizer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/error_pattern_analyzer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/file_hasher.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/filesystem.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/git.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/health_metrics.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/heatmap_generator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/initialization.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/input_validator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/intelligent_commit.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/log_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/logging.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/lsp_client.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/memory_optimizer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/metrics.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/parallel_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/pattern_cache.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/pattern_detector.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/performance_benchmarks.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/performance_cache.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/performance_monitor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/predictive_analytics.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/quality_baseline.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/quality_baseline_enhanced.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/quality_intelligence.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/regex_patterns.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/regex_utils.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/secure_path_utils.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/secure_status_formatter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/secure_subprocess.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/security.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/security_logger.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/server_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/smart_scheduling.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/status_authentication.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/status_security_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/terminal_utils.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/thread_safe_status_collector.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/tool_version_service.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/unified_config.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/validation_rate_limiter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/version_analyzer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/version_checker.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/websocket_resource_limiter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/services/zuban_lsp_service.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/slash_commands/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/slash_commands/init.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/slash_commands/run.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/slash_commands/status.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/tools/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/tools/fix_terminal.sh +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/tools/validate_regex_patterns.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/ui/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/ui/server_panels.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/crackerjack/uv.lock +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/FUTURE-ENHANCEMENTS.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/architecture/API_REFERENCE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/architecture/ARCHITECTURE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/archive/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/archive/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/archive/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/development/IDE-SETUP.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/UVXUSAGE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/security/SECURITY-AUDIT.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/systems/BACKUP_SYSTEM.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/systems/CACHING_SYSTEM.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/systems/MCP_INTEGRATION.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/systems/MONITORING_INTEGRATION.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/example.mcp.json +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/mypy.ini +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/scripts/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/scripts/integrate_resource_management.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/scripts/performance_benchmark.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/templates/api_reference.md.template +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/templates/changelog_entry.md.template +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/templates/user_guide.md.template +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/test_docs_site/site/docs/api-reference.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/test_docs_site/site/docs/getting-started.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/test_docs_site/site/docs/index.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/test_docs_site/site/mkdocs.yml +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/base_test.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/conftest.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/coverage.json +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/data/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/data/comments_sample.txt +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/data/docstrings_sample.txt +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/data/expected_comments_sample.txt +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/data/init.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/run_tests.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/scripts/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/scripts/agent_audit_report.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/scripts/run_test_suite.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test___main__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_ai_agent_workflow.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_ai_optimized_documentation.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_api_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_architect_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_async_hook_executor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_async_hook_executor_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_base.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_changelog_generation.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_cli/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_cli/test_global_lock_options.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_cli_semantic_naming.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_code_cleaner.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_code_cleaner_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_coordinator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_coordinator_performance.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_core_autofix_coordinator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_core_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_core_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_core_enhanced_container.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_core_modules.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_core_performance.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_documentation_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_documentation_agent_simple.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_dry_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_dual_output_generator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_dynamic_config.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_dynamic_config_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_end_to_end_integration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_enhanced_filesystem.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_enhanced_filesystem_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_errors.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_execution_speed_optimization.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_executors/__init__.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_executors/test_lock_integration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_fast_hooks_behavior.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_filesystem_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_final_validation.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_formatting_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_global_lock_config.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_hook_executor_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_hook_lock_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_hook_manager_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_hook_manager_simple.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_import_coverage_consolidated.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_import_optimization_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_input_validation.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_intelligence_system.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_interactive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_large_modules_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_lsp_client.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_main_entry_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_main_module.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_managers_consolidated.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_mcp_progress_monitor.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_mcp_server.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_models_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_models_config_adapter_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_models_focused.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_models_task_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_modernized_code.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_performance_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_performance_agent_enhanced.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_performance_agent_simple.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_performance_benchmarks_focused.py.bak +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_performance_helpers.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_phase_coordinator_simple.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_plugins_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_proactive_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_proactive_agent_system.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_protocol_compliance.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_publish_manager_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_pytest_features.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_refactoring_agent.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_regex_patterns.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_resource_cleanup_integration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_rust_tool_adapter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_rust_tool_manager.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_secure_path_utils.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_secure_status_formatter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_security_audit.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_security_hardening.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_security_integration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_server_panels.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_services_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_session_coordinator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_session_coordinator_comprehensive.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_session_coordinator_coverage.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_simple_tool_version_service.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_simple_workflow.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_skylos_adapter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_stage_workflow_execution_order.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_structured_errors.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_structured_logging.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_syntax_validation.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_terminal_restoration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_terminal_state.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_timeout_system.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_unified_api.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_unified_config.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_unified_monitoring_dashboard.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_validate_regex_patterns_tool.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_version_analyzer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_version_bump_analyzer.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_websocket_endpoints.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_workflow_fast_hooks.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_workflow_integration.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_workflow_orchestrator.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_workflow_pipeline.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tests/test_zuban_adapter.py +0 -0
- {crackerjack-0.38.13 → crackerjack-0.38.14}/tools/validate_regex_patterns_standalone.py +0 -0
|
@@ -23,13 +23,6 @@ repos:
|
|
|
23
23
|
pass_filenames: false
|
|
24
24
|
exclude: ^tests/|^src/
|
|
25
25
|
stages: ["pre-push", "manual"]
|
|
26
|
-
- id: pyright
|
|
27
|
-
name: pyright-type-checking
|
|
28
|
-
entry: uv run pyright
|
|
29
|
-
language: system
|
|
30
|
-
files: ^crackerjack/.*\.py$
|
|
31
|
-
exclude: ^crackerjack/(mcp|plugins)/.*\.py$|crackerjack/code_cleaner\.py$|^src/
|
|
32
|
-
stages: ["pre-push", "manual"]
|
|
33
26
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
34
27
|
rev: v6.0.0
|
|
35
28
|
hooks:
|
|
@@ -5,6 +5,12 @@ 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.38.14] - 2025-09-22
|
|
9
|
+
|
|
10
|
+
### Testing
|
|
11
|
+
|
|
12
|
+
- test: Update 10 files
|
|
13
|
+
|
|
8
14
|
## [0.38.13] - 2025-09-22
|
|
9
15
|
|
|
10
16
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crackerjack
|
|
3
|
-
Version: 0.38.
|
|
3
|
+
Version: 0.38.14
|
|
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
|
|
@@ -215,7 +215,7 @@ Limited tool-specific auto-fixes for simple formatting issues:
|
|
|
215
215
|
|
|
216
216
|
The AI agent intelligently fixes:
|
|
217
217
|
|
|
218
|
-
- **Type Errors (
|
|
218
|
+
- **Type Errors (zuban)**: Adds missing annotations, fixes type mismatches
|
|
219
219
|
- **🔒 Security Issues (bandit)**: Comprehensive security hardening including:
|
|
220
220
|
- **Shell Injection Prevention**: Removes `shell=True` from subprocess calls
|
|
221
221
|
- **Weak Cryptography**: Replaces MD5/SHA1 with SHA256
|
|
@@ -679,7 +679,7 @@ Crackerjack runs hooks in a two-stage process for optimal development workflow:
|
|
|
679
679
|
|
|
680
680
|
**Comprehensive Hooks (~30 seconds):**
|
|
681
681
|
|
|
682
|
-
-
|
|
682
|
+
- Zuban type checking
|
|
683
683
|
- Bandit security analysis
|
|
684
684
|
- Dead code detection (vulture)
|
|
685
685
|
- Dependency analysis (creosote)
|
|
@@ -148,7 +148,7 @@ Limited tool-specific auto-fixes for simple formatting issues:
|
|
|
148
148
|
|
|
149
149
|
The AI agent intelligently fixes:
|
|
150
150
|
|
|
151
|
-
- **Type Errors (
|
|
151
|
+
- **Type Errors (zuban)**: Adds missing annotations, fixes type mismatches
|
|
152
152
|
- **🔒 Security Issues (bandit)**: Comprehensive security hardening including:
|
|
153
153
|
- **Shell Injection Prevention**: Removes `shell=True` from subprocess calls
|
|
154
154
|
- **Weak Cryptography**: Replaces MD5/SHA1 with SHA256
|
|
@@ -612,7 +612,7 @@ Crackerjack runs hooks in a two-stage process for optimal development workflow:
|
|
|
612
612
|
|
|
613
613
|
**Comprehensive Hooks (~30 seconds):**
|
|
614
614
|
|
|
615
|
-
-
|
|
615
|
+
- Zuban type checking
|
|
616
616
|
- Bandit security analysis
|
|
617
617
|
- Dead code detection (vulture)
|
|
618
618
|
- Dependency analysis (creosote)
|
|
@@ -366,24 +366,6 @@ HOOKS_REGISTRY: dict[str, list[HookMetadata]] = {
|
|
|
366
366
|
"experimental": False,
|
|
367
367
|
"pass_filenames": False,
|
|
368
368
|
},
|
|
369
|
-
{
|
|
370
|
-
"id": "pyright",
|
|
371
|
-
"name": "pyright-type-checking",
|
|
372
|
-
"repo": "local",
|
|
373
|
-
"rev": "",
|
|
374
|
-
"tier": 3,
|
|
375
|
-
"time_estimate": 0.25,
|
|
376
|
-
"stages": ["pre-push", "manual"],
|
|
377
|
-
"args": [],
|
|
378
|
-
"files": "^crackerjack/.*\\.py$",
|
|
379
|
-
"exclude": r"^crackerjack/(mcp|plugins)/.*\.py$|crackerjack/code_cleaner\.py$",
|
|
380
|
-
"additional_dependencies": None,
|
|
381
|
-
"types_or": None,
|
|
382
|
-
"language": "system",
|
|
383
|
-
"entry": "uv run pyright",
|
|
384
|
-
"experimental": False,
|
|
385
|
-
"pass_filenames": None,
|
|
386
|
-
},
|
|
387
369
|
],
|
|
388
370
|
"experimental": [],
|
|
389
371
|
}
|
|
@@ -579,7 +561,6 @@ class DynamicConfigGenerator:
|
|
|
579
561
|
"bandit",
|
|
580
562
|
"refurb",
|
|
581
563
|
"complexipy",
|
|
582
|
-
"pyright",
|
|
583
564
|
):
|
|
584
565
|
hook["exclude"] = r"^tests/|^src/"
|
|
585
566
|
else:
|
|
@@ -95,12 +95,13 @@ class ConfigTemplateService:
|
|
|
95
95
|
"stages": ["pre-push", "manual"],
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
|
-
"id": "
|
|
99
|
-
"name": "
|
|
100
|
-
"entry": "uv run
|
|
98
|
+
"id": "zuban",
|
|
99
|
+
"name": "zuban-type-checking",
|
|
100
|
+
"entry": "uv run zuban check",
|
|
101
101
|
"language": "system",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
102
|
+
"args": ["--config-file", "mypy.ini", "./crackerjack"],
|
|
103
|
+
"pass_filenames": False,
|
|
104
|
+
"exclude": r"^tests/|^src/",
|
|
104
105
|
"stages": ["pre-push", "manual"],
|
|
105
106
|
},
|
|
106
107
|
]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
def test_get_variable_basic(self):
|
|
2
|
+
"""Test basic functionality of get_variable."""
|
|
3
|
+
try:
|
|
4
|
+
result = get_variable()
|
|
5
|
+
assert result is not None or result is None
|
|
6
|
+
except TypeError:
|
|
7
|
+
pytest.skip(
|
|
8
|
+
"Function requires specific arguments - manual implementation needed"
|
|
9
|
+
)
|
|
10
|
+
except Exception as e:
|
|
11
|
+
pytest.fail(f"Unexpected error in get_variable: {e}")
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
from crackerjack.api import (
|
|
3
|
+
run_quality_checks,
|
|
4
|
+
clean_code,
|
|
5
|
+
run_tests,
|
|
6
|
+
publish_package,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_run_quality_checks_basic():
|
|
11
|
+
"""Test basic functionality of run_quality_checks."""
|
|
12
|
+
try:
|
|
13
|
+
result = run_quality_checks()
|
|
14
|
+
assert result is not None or result is None
|
|
15
|
+
except TypeError:
|
|
16
|
+
pytest.skip(
|
|
17
|
+
"Function requires specific arguments - manual implementation needed"
|
|
18
|
+
)
|
|
19
|
+
except Exception as e:
|
|
20
|
+
pytest.fail(f"Unexpected error in run_quality_checks: {e}")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_clean_code_basic():
|
|
24
|
+
"""Test basic functionality of clean_code."""
|
|
25
|
+
try:
|
|
26
|
+
result = clean_code()
|
|
27
|
+
assert result is not None or result is None
|
|
28
|
+
except TypeError:
|
|
29
|
+
pytest.skip(
|
|
30
|
+
"Function requires specific arguments - manual implementation needed"
|
|
31
|
+
)
|
|
32
|
+
except Exception as e:
|
|
33
|
+
pytest.fail(f"Unexpected error in clean_code: {e}")
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_run_tests_basic():
|
|
37
|
+
"""Test basic functionality of run_tests."""
|
|
38
|
+
try:
|
|
39
|
+
result = run_tests()
|
|
40
|
+
assert result is not None or result is None
|
|
41
|
+
except TypeError:
|
|
42
|
+
pytest.skip(
|
|
43
|
+
"Function requires specific arguments - manual implementation needed"
|
|
44
|
+
)
|
|
45
|
+
except Exception as e:
|
|
46
|
+
pytest.fail(f"Unexpected error in run_tests: {e}")
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def test_publish_package_basic():
|
|
50
|
+
"""Test basic functionality of publish_package."""
|
|
51
|
+
try:
|
|
52
|
+
result = publish_package()
|
|
53
|
+
assert result is not None or result is None
|
|
54
|
+
except TypeError:
|
|
55
|
+
pytest.skip(
|
|
56
|
+
"Function requires specific arguments - manual implementation needed"
|
|
57
|
+
)
|
|
58
|
+
except Exception as e:
|
|
59
|
+
pytest.fail(f"Unexpected error in publish_package: {e}")
|
|
60
|
+
|
|
61
|
+
def test_code_cleaner_basic(self):
|
|
62
|
+
"""Test basic functionality of code_cleaner."""
|
|
63
|
+
try:
|
|
64
|
+
result = code_cleaner()
|
|
65
|
+
assert result is not None or result is None
|
|
66
|
+
except TypeError:
|
|
67
|
+
pytest.skip(
|
|
68
|
+
"Function requires specific arguments - manual implementation needed"
|
|
69
|
+
)
|
|
70
|
+
except Exception as e:
|
|
71
|
+
pytest.fail(f"Unexpected error in code_cleaner: {e}")
|
|
72
|
+
|
|
73
|
+
def test_interactive_cli_basic(self):
|
|
74
|
+
"""Test basic functionality of interactive_cli."""
|
|
75
|
+
try:
|
|
76
|
+
result = interactive_cli()
|
|
77
|
+
assert result is not None or result is None
|
|
78
|
+
except TypeError:
|
|
79
|
+
pytest.skip(
|
|
80
|
+
"Function requires specific arguments - manual implementation needed"
|
|
81
|
+
)
|
|
82
|
+
except Exception as e:
|
|
83
|
+
pytest.fail(f"Unexpected error in interactive_cli: {e}")
|
|
84
|
+
|
|
85
|
+
def test_run_interactive_workflow_basic(self):
|
|
86
|
+
"""Test basic functionality of run_interactive_workflow."""
|
|
87
|
+
try:
|
|
88
|
+
result = run_interactive_workflow()
|
|
89
|
+
assert result is not None or result is None
|
|
90
|
+
except TypeError:
|
|
91
|
+
pytest.skip(
|
|
92
|
+
"Function requires specific arguments - manual implementation needed"
|
|
93
|
+
)
|
|
94
|
+
except Exception as e:
|
|
95
|
+
pytest.fail(f"Unexpected error in run_interactive_workflow: {e}")
|
|
96
|
+
|
|
97
|
+
def test_create_workflow_options_basic(self):
|
|
98
|
+
"""Test basic functionality of create_workflow_options."""
|
|
99
|
+
try:
|
|
100
|
+
result = create_workflow_options()
|
|
101
|
+
assert result is not None or result is None
|
|
102
|
+
except TypeError:
|
|
103
|
+
pytest.skip(
|
|
104
|
+
"Function requires specific arguments - manual implementation needed"
|
|
105
|
+
)
|
|
106
|
+
except Exception as e:
|
|
107
|
+
pytest.fail(f"Unexpected error in create_workflow_options: {e}")
|
|
108
|
+
|
|
109
|
+
def test_get_project_info_basic(self):
|
|
110
|
+
"""Test basic functionality of get_project_info."""
|
|
111
|
+
try:
|
|
112
|
+
result = get_project_info()
|
|
113
|
+
assert result is not None or result is None
|
|
114
|
+
except TypeError:
|
|
115
|
+
pytest.skip(
|
|
116
|
+
"Function requires specific arguments - manual implementation needed"
|
|
117
|
+
)
|
|
118
|
+
except Exception as e:
|
|
119
|
+
pytest.fail(f"Unexpected error in get_project_info: {e}")
|
crackerjack-0.38.13/tests/test_api.py → crackerjack-0.38.14/tests/test_mkdocs_integration.py
RENAMED
|
@@ -1,59 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
run_quality_checks,
|
|
4
|
-
clean_code,
|
|
5
|
-
run_tests,
|
|
6
|
-
publish_package,
|
|
7
|
-
)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def test_run_quality_checks_basic():
|
|
11
|
-
"""Test basic functionality of run_quality_checks."""
|
|
1
|
+
def test_generate_site_basic(self):
|
|
2
|
+
"""Test basic functionality of generate_site."""
|
|
12
3
|
try:
|
|
13
|
-
result =
|
|
4
|
+
result = generate_site()
|
|
14
5
|
assert result is not None or result is None
|
|
15
6
|
except TypeError:
|
|
16
7
|
pytest.skip(
|
|
17
8
|
"Function requires specific arguments - manual implementation needed"
|
|
18
9
|
)
|
|
19
10
|
except Exception as e:
|
|
20
|
-
pytest.fail(f"Unexpected error in
|
|
21
|
-
|
|
11
|
+
pytest.fail(f"Unexpected error in generate_site: {e}")
|
|
22
12
|
|
|
23
|
-
def
|
|
24
|
-
"""Test basic functionality of
|
|
13
|
+
def test_build_site_basic(self):
|
|
14
|
+
"""Test basic functionality of build_site."""
|
|
25
15
|
try:
|
|
26
|
-
result =
|
|
16
|
+
result = build_site()
|
|
27
17
|
assert result is not None or result is None
|
|
28
18
|
except TypeError:
|
|
29
19
|
pytest.skip(
|
|
30
20
|
"Function requires specific arguments - manual implementation needed"
|
|
31
21
|
)
|
|
32
22
|
except Exception as e:
|
|
33
|
-
pytest.fail(f"Unexpected error in
|
|
23
|
+
pytest.fail(f"Unexpected error in build_site: {e}")
|
|
34
24
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"""Test basic functionality of run_tests."""
|
|
25
|
+
def test_create_config_from_project_basic(self):
|
|
26
|
+
"""Test basic functionality of create_config_from_project."""
|
|
38
27
|
try:
|
|
39
|
-
result =
|
|
28
|
+
result = create_config_from_project()
|
|
40
29
|
assert result is not None or result is None
|
|
41
30
|
except TypeError:
|
|
42
31
|
pytest.skip(
|
|
43
32
|
"Function requires specific arguments - manual implementation needed"
|
|
44
33
|
)
|
|
45
34
|
except Exception as e:
|
|
46
|
-
pytest.fail(f"Unexpected error in
|
|
47
|
-
|
|
35
|
+
pytest.fail(f"Unexpected error in create_config_from_project: {e}")
|
|
48
36
|
|
|
49
|
-
def
|
|
50
|
-
"""Test basic functionality of
|
|
37
|
+
def test_build_documentation_site_basic(self):
|
|
38
|
+
"""Test basic functionality of build_documentation_site."""
|
|
51
39
|
try:
|
|
52
|
-
result =
|
|
40
|
+
result = build_documentation_site()
|
|
53
41
|
assert result is not None or result is None
|
|
54
42
|
except TypeError:
|
|
55
43
|
pytest.skip(
|
|
56
44
|
"Function requires specific arguments - manual implementation needed"
|
|
57
45
|
)
|
|
58
46
|
except Exception as e:
|
|
59
|
-
pytest.fail(f"Unexpected error in
|
|
47
|
+
pytest.fail(f"Unexpected error in build_documentation_site: {e}")
|
|
@@ -116,4 +116,16 @@ def test_run_basic(self):
|
|
|
116
116
|
"Function requires specific arguments - manual implementation needed"
|
|
117
117
|
)
|
|
118
118
|
except Exception as e:
|
|
119
|
-
pytest.fail(f"Unexpected error in run: {e}")
|
|
119
|
+
pytest.fail(f"Unexpected error in run: {e}")
|
|
120
|
+
|
|
121
|
+
def test_handle_result_basic(self):
|
|
122
|
+
"""Test basic functionality of handle_result."""
|
|
123
|
+
try:
|
|
124
|
+
result = handle_result()
|
|
125
|
+
assert result is not None or result is None
|
|
126
|
+
except TypeError:
|
|
127
|
+
pytest.skip(
|
|
128
|
+
"Function requires specific arguments - manual implementation needed"
|
|
129
|
+
)
|
|
130
|
+
except Exception as e:
|
|
131
|
+
pytest.fail(f"Unexpected error in handle_result: {e}")
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
def test_get_commands_by_category_basic(self):
|
|
2
|
+
"""Test basic functionality of get_commands_by_category."""
|
|
3
|
+
try:
|
|
4
|
+
result = get_commands_by_category()
|
|
5
|
+
assert result is not None or result is None
|
|
6
|
+
except TypeError:
|
|
7
|
+
pytest.skip(
|
|
8
|
+
"Function requires specific arguments - manual implementation needed"
|
|
9
|
+
)
|
|
10
|
+
except Exception as e:
|
|
11
|
+
pytest.fail(f"Unexpected error in get_commands_by_category: {e}")
|
|
12
|
+
|
|
13
|
+
def test_get_command_by_name_basic(self):
|
|
14
|
+
"""Test basic functionality of get_command_by_name."""
|
|
15
|
+
try:
|
|
16
|
+
result = get_command_by_name()
|
|
17
|
+
assert result is not None or result is None
|
|
18
|
+
except TypeError:
|
|
19
|
+
pytest.skip(
|
|
20
|
+
"Function requires specific arguments - manual implementation needed"
|
|
21
|
+
)
|
|
22
|
+
except Exception as e:
|
|
23
|
+
pytest.fail(f"Unexpected error in get_command_by_name: {e}")
|
|
24
|
+
|
|
25
|
+
def test_generate_reference_basic(self):
|
|
26
|
+
"""Test basic functionality of generate_reference."""
|
|
27
|
+
try:
|
|
28
|
+
result = generate_reference()
|
|
29
|
+
assert result is not None or result is None
|
|
30
|
+
except TypeError:
|
|
31
|
+
pytest.skip(
|
|
32
|
+
"Function requires specific arguments - manual implementation needed"
|
|
33
|
+
)
|
|
34
|
+
except Exception as e:
|
|
35
|
+
pytest.fail(f"Unexpected error in generate_reference: {e}")
|
|
36
|
+
|
|
37
|
+
def test_render_reference_basic(self):
|
|
38
|
+
"""Test basic functionality of render_reference."""
|
|
39
|
+
try:
|
|
40
|
+
result = render_reference()
|
|
41
|
+
assert result is not None or result is None
|
|
42
|
+
except TypeError:
|
|
43
|
+
pytest.skip(
|
|
44
|
+
"Function requires specific arguments - manual implementation needed"
|
|
45
|
+
)
|
|
46
|
+
except Exception as e:
|
|
47
|
+
pytest.fail(f"Unexpected error in render_reference: {e}")
|
|
48
|
+
|
|
49
|
+
def test_visit_FunctionDef_basic(self):
|
|
50
|
+
"""Test basic functionality of visit_FunctionDef."""
|
|
51
|
+
try:
|
|
52
|
+
result = visit_FunctionDef()
|
|
53
|
+
assert result is not None or result is None
|
|
54
|
+
except TypeError:
|
|
55
|
+
pytest.skip(
|
|
56
|
+
"Function requires specific arguments - manual implementation needed"
|
|
57
|
+
)
|
|
58
|
+
except Exception as e:
|
|
59
|
+
pytest.fail(f"Unexpected error in visit_FunctionDef: {e}")
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
def test_get_commands_by_category_basic(self):
|
|
2
|
-
"""Test basic functionality of get_commands_by_category."""
|
|
3
|
-
try:
|
|
4
|
-
result = get_commands_by_category()
|
|
5
|
-
assert result is not None or result is None
|
|
6
|
-
except TypeError:
|
|
7
|
-
pytest.skip(
|
|
8
|
-
"Function requires specific arguments - manual implementation needed"
|
|
9
|
-
)
|
|
10
|
-
except Exception as e:
|
|
11
|
-
pytest.fail(f"Unexpected error in get_commands_by_category: {e}")
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|