crackerjack 0.34.2__tar.gz → 0.35.0__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.

Files changed (396) hide show
  1. {crackerjack-0.34.2 → crackerjack-0.35.0}/CHANGELOG.md +10 -0
  2. {crackerjack-0.34.2 → crackerjack-0.35.0}/PKG-INFO +1 -1
  3. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/__main__.py +3 -4
  4. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/documentation_agent.py +2 -2
  5. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/options.py +41 -9
  6. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/publish_manager.py +3 -3
  7. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/progress_components.py +3 -5
  8. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/dependency_monitor.py +2 -2
  9. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/health_metrics.py +2 -2
  10. {crackerjack-0.34.2 → crackerjack-0.35.0}/pyproject.toml +1 -1
  11. {crackerjack-0.34.2 → crackerjack-0.35.0}/uv.lock +13 -13
  12. {crackerjack-0.34.2 → crackerjack-0.35.0}/.github/FUNDING.yml +0 -0
  13. {crackerjack-0.34.2 → crackerjack-0.35.0}/.gitignore +0 -0
  14. {crackerjack-0.34.2 → crackerjack-0.35.0}/.pre-commit-config.yaml +0 -0
  15. {crackerjack-0.34.2 → crackerjack-0.35.0}/AGENTS.md +0 -0
  16. {crackerjack-0.34.2 → crackerjack-0.35.0}/CLAUDE.md +0 -0
  17. {crackerjack-0.34.2 → crackerjack-0.35.0}/LICENSE +0 -0
  18. {crackerjack-0.34.2 → crackerjack-0.35.0}/QWEN.md +0 -0
  19. {crackerjack-0.34.2 → crackerjack-0.35.0}/README.md +0 -0
  20. {crackerjack-0.34.2 → crackerjack-0.35.0}/RULES.md +0 -0
  21. {crackerjack-0.34.2 → crackerjack-0.35.0}/SECURITY.md +0 -0
  22. {crackerjack-0.34.2 → crackerjack-0.35.0}/ai/AGENT-CAPABILITIES.json +0 -0
  23. {crackerjack-0.34.2 → crackerjack-0.35.0}/ai/AGENT_SELECTION.md +0 -0
  24. {crackerjack-0.34.2 → crackerjack-0.35.0}/ai/AI-REFERENCE.md +0 -0
  25. {crackerjack-0.34.2 → crackerjack-0.35.0}/ai/ERROR-PATTERNS.yaml +0 -0
  26. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/__init__.py +0 -0
  27. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/adapters/__init__.py +0 -0
  28. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/adapters/lsp_client.py +0 -0
  29. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/adapters/rust_tool_adapter.py +0 -0
  30. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/adapters/rust_tool_manager.py +0 -0
  31. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/adapters/skylos_adapter.py +0 -0
  32. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/adapters/zuban_adapter.py +0 -0
  33. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/__init__.py +0 -0
  34. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/architect_agent.py +0 -0
  35. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/base.py +0 -0
  36. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/coordinator.py +0 -0
  37. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/dry_agent.py +0 -0
  38. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/formatting_agent.py +0 -0
  39. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/import_optimization_agent.py +0 -0
  40. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/performance_agent.py +0 -0
  41. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/performance_helpers.py +0 -0
  42. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/proactive_agent.py +0 -0
  43. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/refactoring_agent.py +0 -0
  44. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/refactoring_helpers.py +0 -0
  45. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/security_agent.py +0 -0
  46. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/test_creation_agent.py +0 -0
  47. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/test_specialist_agent.py +0 -0
  48. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/agents/tracker.py +0 -0
  49. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/api.py +0 -0
  50. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/__init__.py +0 -0
  51. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/cache_handlers.py +0 -0
  52. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
  53. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/facade.py +0 -0
  54. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/handlers.py +0 -0
  55. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/interactive.py +0 -0
  56. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/cli/utils.py +0 -0
  57. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/code_cleaner.py +0 -0
  58. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/config/__init__.py +0 -0
  59. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/config/global_lock_config.py +0 -0
  60. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/config/hooks.py +0 -0
  61. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/__init__.py +0 -0
  62. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/async_workflow_orchestrator.py +0 -0
  63. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/autofix_coordinator.py +0 -0
  64. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/container.py +0 -0
  65. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/enhanced_container.py +0 -0
  66. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/file_lifecycle.py +0 -0
  67. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/performance.py +0 -0
  68. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/performance_monitor.py +0 -0
  69. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/phase_coordinator.py +0 -0
  70. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/proactive_workflow.py +0 -0
  71. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/resource_manager.py +0 -0
  72. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/service_watchdog.py +0 -0
  73. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/session_coordinator.py +0 -0
  74. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/timeout_manager.py +0 -0
  75. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/websocket_lifecycle.py +0 -0
  76. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/core/workflow_orchestrator.py +0 -0
  77. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/docs/INDEX.md +0 -0
  78. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
  79. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
  80. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
  81. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
  82. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/docs/generated/api/SERVICES.md +0 -0
  83. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/documentation/__init__.py +0 -0
  84. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/documentation/ai_templates.py +0 -0
  85. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/documentation/dual_output_generator.py +0 -0
  86. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/documentation/mkdocs_integration.py +0 -0
  87. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/documentation/reference_generator.py +0 -0
  88. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/dynamic_config.py +0 -0
  89. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/errors.py +0 -0
  90. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/__init__.py +0 -0
  91. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/async_hook_executor.py +0 -0
  92. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/cached_hook_executor.py +0 -0
  93. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/hook_executor.py +0 -0
  94. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/hook_lock_manager.py +0 -0
  95. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/individual_hook_executor.py +0 -0
  96. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
  97. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/executors/tool_proxy.py +0 -0
  98. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/hooks/lsp_hook.py +0 -0
  99. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/intelligence/__init__.py +0 -0
  100. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/intelligence/adaptive_learning.py +0 -0
  101. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/intelligence/agent_orchestrator.py +0 -0
  102. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/intelligence/agent_registry.py +0 -0
  103. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/intelligence/agent_selector.py +0 -0
  104. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/intelligence/integration.py +0 -0
  105. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/interactive.py +0 -0
  106. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/__init__.py +0 -0
  107. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/async_hook_manager.py +0 -0
  108. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/hook_manager.py +0 -0
  109. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/test_command_builder.py +0 -0
  110. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/test_executor.py +0 -0
  111. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/test_manager.py +0 -0
  112. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/test_manager_backup.py +0 -0
  113. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/managers/test_progress.py +0 -0
  114. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/__init__.py +0 -0
  115. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/cache.py +0 -0
  116. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/client_runner.py +0 -0
  117. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/context.py +0 -0
  118. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/dashboard.py +0 -0
  119. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
  120. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  121. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/file_monitor.py +0 -0
  122. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/progress_monitor.py +0 -0
  123. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/progress_monitor.tcss +0 -0
  124. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/rate_limiter.py +0 -0
  125. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/server.py +0 -0
  126. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/server_core.py +0 -0
  127. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/service_watchdog.py +0 -0
  128. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/state.py +0 -0
  129. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/task_manager.py +0 -0
  130. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/__init__.py +0 -0
  131. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/core_tools.py +0 -0
  132. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  133. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/execution_tools.py +0 -0
  134. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
  135. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
  136. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
  137. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  138. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  139. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  140. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/progress_tools.py +0 -0
  141. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/utility_tools.py +0 -0
  142. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/tools/workflow_executor.py +0 -0
  143. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket/__init__.py +0 -0
  144. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket/app.py +0 -0
  145. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket/endpoints.py +0 -0
  146. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket/jobs.py +0 -0
  147. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
  148. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket/server.py +0 -0
  149. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
  150. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mcp/websocket_server.py +0 -0
  151. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mixins/__init__.py +0 -0
  152. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/mixins/error_handling.py +0 -0
  153. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/models/__init__.py +0 -0
  154. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/models/config.py +0 -0
  155. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/models/config_adapter.py +0 -0
  156. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/models/protocols.py +0 -0
  157. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/models/resource_protocols.py +0 -0
  158. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/models/task.py +0 -0
  159. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/monitoring/__init__.py +0 -0
  160. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
  161. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/monitoring/metrics_collector.py +0 -0
  162. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/monitoring/regression_prevention.py +0 -0
  163. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/monitoring/websocket_server.py +0 -0
  164. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/orchestration/__init__.py +0 -0
  165. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
  166. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/orchestration/coverage_improvement.py +0 -0
  167. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/orchestration/execution_strategies.py +0 -0
  168. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/orchestration/test_progress_streamer.py +0 -0
  169. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/plugins/__init__.py +0 -0
  170. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/plugins/base.py +0 -0
  171. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/plugins/hooks.py +0 -0
  172. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/plugins/loader.py +0 -0
  173. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/plugins/managers.py +0 -0
  174. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/pyproject.toml +0 -0
  175. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/security/__init__.py +0 -0
  176. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/security/audit.py +0 -0
  177. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/__init__.py +0 -0
  178. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/anomaly_detector.py +0 -0
  179. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/api_extractor.py +0 -0
  180. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/backup_service.py +0 -0
  181. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/bounded_status_operations.py +0 -0
  182. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/cache.py +0 -0
  183. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/changelog_automation.py +0 -0
  184. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/config.py +0 -0
  185. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/config_integrity.py +0 -0
  186. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/config_merge.py +0 -0
  187. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/config_template.py +0 -0
  188. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/contextual_ai_assistant.py +0 -0
  189. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/coverage_badge_service.py +0 -0
  190. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/coverage_ratchet.py +0 -0
  191. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/debug.py +0 -0
  192. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/dependency_analyzer.py +0 -0
  193. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/documentation_generator.py +0 -0
  194. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/documentation_service.py +0 -0
  195. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/enhanced_filesystem.py +0 -0
  196. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/enterprise_optimizer.py +0 -0
  197. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/error_pattern_analyzer.py +0 -0
  198. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/file_hasher.py +0 -0
  199. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/filesystem.py +0 -0
  200. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/git.py +0 -0
  201. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/heatmap_generator.py +0 -0
  202. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/initialization.py +0 -0
  203. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/input_validator.py +0 -0
  204. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/intelligent_commit.py +0 -0
  205. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/log_manager.py +0 -0
  206. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/logging.py +0 -0
  207. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/lsp_client.py +0 -0
  208. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/memory_optimizer.py +0 -0
  209. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/metrics.py +0 -0
  210. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/parallel_executor.py +0 -0
  211. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/pattern_cache.py +0 -0
  212. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/pattern_detector.py +0 -0
  213. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/performance_benchmarks.py +0 -0
  214. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/performance_cache.py +0 -0
  215. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/performance_monitor.py +0 -0
  216. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/predictive_analytics.py +0 -0
  217. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/quality_baseline.py +0 -0
  218. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/quality_baseline_enhanced.py +0 -0
  219. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/quality_intelligence.py +0 -0
  220. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/regex_patterns.py +0 -0
  221. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/regex_utils.py +0 -0
  222. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/secure_path_utils.py +0 -0
  223. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/secure_status_formatter.py +0 -0
  224. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/secure_subprocess.py +0 -0
  225. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/security.py +0 -0
  226. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/security_logger.py +0 -0
  227. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/server_manager.py +0 -0
  228. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/smart_scheduling.py +0 -0
  229. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/status_authentication.py +0 -0
  230. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/status_security_manager.py +0 -0
  231. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/terminal_utils.py +0 -0
  232. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/thread_safe_status_collector.py +0 -0
  233. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/tool_version_service.py +0 -0
  234. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/unified_config.py +0 -0
  235. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/validation_rate_limiter.py +0 -0
  236. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/version_analyzer.py +0 -0
  237. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/version_checker.py +0 -0
  238. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/websocket_resource_limiter.py +0 -0
  239. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/services/zuban_lsp_service.py +0 -0
  240. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/slash_commands/__init__.py +0 -0
  241. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/slash_commands/init.md +0 -0
  242. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/slash_commands/run.md +0 -0
  243. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/slash_commands/status.md +0 -0
  244. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/tools/__init__.py +0 -0
  245. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/tools/fix_terminal.sh +0 -0
  246. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  247. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/tools/validate_regex_patterns.py +0 -0
  248. {crackerjack-0.34.2 → crackerjack-0.35.0}/crackerjack/uv.lock +0 -0
  249. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/architecture/API_REFERENCE.md +0 -0
  250. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/architecture/ARCHITECTURE.md +0 -0
  251. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/archive/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
  252. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/archive/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
  253. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/archive/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
  254. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/development/IDE-SETUP.md +0 -0
  255. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
  256. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
  257. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
  258. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
  259. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
  260. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
  261. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
  262. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
  263. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
  264. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
  265. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
  266. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
  267. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/UVXUSAGE.md +0 -0
  268. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
  269. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
  270. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
  271. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/security/SECURITY-AUDIT.md +0 -0
  272. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/security/SECURITY_AUDIT_REPORT.md +0 -0
  273. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
  274. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/security/SECURITY_HARDENING_REPORT.md +0 -0
  275. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
  276. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/systems/BACKUP_SYSTEM.md +0 -0
  277. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/systems/CACHING_SYSTEM.md +0 -0
  278. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
  279. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/systems/MCP_INTEGRATION.md +0 -0
  280. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/systems/MONITORING_INTEGRATION.md +0 -0
  281. {crackerjack-0.34.2 → crackerjack-0.35.0}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
  282. {crackerjack-0.34.2 → crackerjack-0.35.0}/example.mcp.json +0 -0
  283. {crackerjack-0.34.2 → crackerjack-0.35.0}/excalidraw.log +0 -0
  284. {crackerjack-0.34.2 → crackerjack-0.35.0}/fix_typing_imports.py +0 -0
  285. {crackerjack-0.34.2 → crackerjack-0.35.0}/mypy.ini +0 -0
  286. {crackerjack-0.34.2 → crackerjack-0.35.0}/scripts/__init__.py +0 -0
  287. {crackerjack-0.34.2 → crackerjack-0.35.0}/scripts/integrate_resource_management.py +0 -0
  288. {crackerjack-0.34.2 → crackerjack-0.35.0}/scripts/performance_benchmark.py +0 -0
  289. {crackerjack-0.34.2 → crackerjack-0.35.0}/templates/api_reference.md.template +0 -0
  290. {crackerjack-0.34.2 → crackerjack-0.35.0}/templates/changelog_entry.md.template +0 -0
  291. {crackerjack-0.34.2 → crackerjack-0.35.0}/templates/user_guide.md.template +0 -0
  292. {crackerjack-0.34.2 → crackerjack-0.35.0}/test_docs_site/site/docs/api-reference.md +0 -0
  293. {crackerjack-0.34.2 → crackerjack-0.35.0}/test_docs_site/site/docs/getting-started.md +0 -0
  294. {crackerjack-0.34.2 → crackerjack-0.35.0}/test_docs_site/site/docs/index.md +0 -0
  295. {crackerjack-0.34.2 → crackerjack-0.35.0}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
  296. {crackerjack-0.34.2 → crackerjack-0.35.0}/test_docs_site/site/mkdocs.yml +0 -0
  297. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/__init__.py +0 -0
  298. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/base_test.py +0 -0
  299. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/conftest.py +0 -0
  300. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/coverage.json +0 -0
  301. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/data/__init__.py +0 -0
  302. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/data/comments_sample.txt +0 -0
  303. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/data/docstrings_sample.txt +0 -0
  304. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/data/expected_comments_sample.txt +0 -0
  305. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/data/init.py +0 -0
  306. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  307. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
  308. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
  309. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/run_tests.py +0 -0
  310. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/scripts/__init__.py +0 -0
  311. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/scripts/agent_audit_report.py +0 -0
  312. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/scripts/run_test_suite.py +0 -0
  313. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test___main__.py +0 -0
  314. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_ai_agent_workflow.py +0 -0
  315. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_ai_optimized_documentation.py +0 -0
  316. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_async_hook_executor.py +0 -0
  317. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_changelog_generation.py +0 -0
  318. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_cli/__init__.py +0 -0
  319. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_cli/test_global_lock_options.py +0 -0
  320. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_cli_semantic_naming.py +0 -0
  321. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_coordinator_performance.py +0 -0
  322. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_core_autofix_coordinator.py +0 -0
  323. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_core_comprehensive.py +0 -0
  324. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_core_coverage.py +0 -0
  325. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_core_enhanced_container.py +0 -0
  326. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_core_modules.py +0 -0
  327. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_core_performance.py +0 -0
  328. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_documentation_agent_simple.py +0 -0
  329. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_dynamic_config.py +0 -0
  330. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_dynamic_config_coverage.py +0 -0
  331. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_end_to_end_integration.py +0 -0
  332. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_enhanced_filesystem.py +0 -0
  333. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  334. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_enhanced_filesystem_coverage.py +0 -0
  335. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_execution_speed_optimization.py +0 -0
  336. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_executors/__init__.py +0 -0
  337. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_executors/test_lock_integration.py +0 -0
  338. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_fast_hooks_behavior.py +0 -0
  339. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_filesystem_coverage.py +0 -0
  340. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_final_validation.py +0 -0
  341. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_global_lock_config.py +0 -0
  342. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_hook_lock_manager.py +0 -0
  343. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_hook_manager_simple.py +0 -0
  344. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_import_coverage_consolidated.py +0 -0
  345. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_input_validation.py +0 -0
  346. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_intelligence_system.py +0 -0
  347. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_large_modules_coverage.py +0 -0
  348. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_main_entry_coverage.py +0 -0
  349. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_main_module.py +0 -0
  350. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_managers_consolidated.py +0 -0
  351. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_mcp_progress_monitor.py +0 -0
  352. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_mcp_server.py +0 -0
  353. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_models_comprehensive.py +0 -0
  354. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_models_config_adapter_coverage.py +0 -0
  355. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_models_focused.py +0 -0
  356. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_models_task_coverage.py +0 -0
  357. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_modernized_code.py +0 -0
  358. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_performance_agent_enhanced.py +0 -0
  359. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_performance_agent_simple.py +0 -0
  360. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_performance_benchmarks_focused.py.bak +0 -0
  361. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_phase_coordinator_simple.py +0 -0
  362. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_plugins_coverage.py +0 -0
  363. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_proactive_agent_system.py +0 -0
  364. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_protocol_compliance.py +0 -0
  365. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_publish_manager_coverage.py +0 -0
  366. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_pytest_features.py +0 -0
  367. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_regex_patterns.py +0 -0
  368. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_resource_cleanup_integration.py +0 -0
  369. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_secure_path_utils.py +0 -0
  370. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_secure_status_formatter.py +0 -0
  371. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_security_audit.py +0 -0
  372. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_security_hardening.py +0 -0
  373. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_security_integration.py +0 -0
  374. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_services_coverage.py +0 -0
  375. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_session_coordinator.py +0 -0
  376. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_session_coordinator_coverage.py +0 -0
  377. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_simple_tool_version_service.py +0 -0
  378. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_simple_workflow.py +0 -0
  379. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_stage_workflow_execution_order.py +0 -0
  380. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_structured_errors.py +0 -0
  381. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_structured_logging.py +0 -0
  382. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_syntax_validation.py +0 -0
  383. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_terminal_restoration.py +0 -0
  384. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_terminal_state.py +0 -0
  385. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_timeout_system.py +0 -0
  386. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_unified_api.py +0 -0
  387. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_unified_config.py +0 -0
  388. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_unified_monitoring_dashboard.py +0 -0
  389. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_validate_regex_patterns_tool.py +0 -0
  390. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_version_analyzer.py +0 -0
  391. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_version_bump_analyzer.py +0 -0
  392. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_websocket_endpoints.py +0 -0
  393. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_workflow_fast_hooks.py +0 -0
  394. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_workflow_integration.py +0 -0
  395. {crackerjack-0.34.2 → crackerjack-0.35.0}/tests/test_workflow_orchestrator.py +0 -0
  396. {crackerjack-0.34.2 → crackerjack-0.35.0}/tools/validate_regex_patterns_standalone.py +0 -0
@@ -5,6 +5,16 @@ 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.35.0] - 2025-09-15
9
+
10
+ ### Fixed
11
+
12
+ - cli: Add 'auto' option to BumpOption enum and fix URL formatting
13
+
14
+ ### Documentation
15
+
16
+ - config: Update CHANGELOG, CLAUDE, pyproject
17
+
8
18
  ## [0.34.2] - 2025-09-15
9
19
 
10
20
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crackerjack
3
- Version: 0.34.2
3
+ Version: 0.35.0
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
@@ -11,7 +11,6 @@ from crackerjack.services.git import GitService
11
11
 
12
12
  from .cli import (
13
13
  CLI_OPTIONS,
14
- BumpOption,
15
14
  create_options,
16
15
  handle_interactive_mode,
17
16
  handle_standard_mode,
@@ -1220,9 +1219,9 @@ def main(
1220
1219
  update_precommit: bool = CLI_OPTIONS["update_precommit"],
1221
1220
  verbose: bool = CLI_OPTIONS["verbose"],
1222
1221
  debug: bool = CLI_OPTIONS["debug"],
1223
- publish: BumpOption | None = CLI_OPTIONS["publish"],
1224
- all: BumpOption | None = CLI_OPTIONS["all"],
1225
- bump: BumpOption | None = CLI_OPTIONS["bump"],
1222
+ publish: str | None = CLI_OPTIONS["publish"],
1223
+ all: str | None = CLI_OPTIONS["all"],
1224
+ bump: str | None = CLI_OPTIONS["bump"],
1226
1225
  strip_code: bool = CLI_OPTIONS["strip_code"],
1227
1226
  run_tests: bool = CLI_OPTIONS["run_tests"],
1228
1227
  benchmark: bool = CLI_OPTIONS["benchmark"],
@@ -325,8 +325,8 @@ class DocumentationAgent(SubAgent):
325
325
 
326
326
  All notable changes to this project will be documented in this file.
327
327
 
328
- The format is based on [Keep a Changelog](https: //keepachangelog.com/en/1.0.0/),
329
- and this project adheres to [Semantic Versioning](https: //semver.org/spec/v2.0.0.html).
328
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
329
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
330
330
 
331
331
  {entry}
332
332
  """
@@ -2,15 +2,36 @@ import typing as t
2
2
  import warnings
3
3
  from enum import Enum
4
4
 
5
+ import click
5
6
  import typer
6
7
  from pydantic import BaseModel, field_validator, model_validator
7
8
 
8
9
 
10
+ def parse_bump_option_with_flag_support(
11
+ ctx: click.Context, param: click.Parameter, value: str | None
12
+ ) -> str | None:
13
+ """Parse bump option that supports both flag usage (-p) and value usage (-p patch)."""
14
+ if value is None:
15
+ return None
16
+
17
+ # If the value starts with a dash, it's likely another flag that typer mistakenly captured
18
+ if value.startswith("-"):
19
+ # Put the value back into the arguments for typer to process
20
+ if hasattr(ctx, "protected_args"):
21
+ ctx.protected_args.insert(0, value)
22
+ elif hasattr(ctx, "args"):
23
+ ctx.args.insert(0, value)
24
+ return "interactive"
25
+
26
+ return value
27
+
28
+
9
29
  class BumpOption(str, Enum):
10
30
  patch = "patch"
11
31
  minor = "minor"
12
32
  major = "major"
13
33
  interactive = "interactive"
34
+ auto = "auto"
14
35
 
15
36
  def __str__(self) -> str:
16
37
  return str(self.value)
@@ -91,7 +112,7 @@ class Options(BaseModel):
91
112
  strip_code: bool | None = None # Replaces clean
92
113
  run_tests: bool = False # Replaces test
93
114
  ai_fix: bool | None = None # Replaces ai_agent
94
- full_release: BumpOption | None = None # Replaces all
115
+ full_release: str | None = None # Replaces all
95
116
  show_progress: bool | None = None # Replaces track_progress
96
117
  advanced_monitor: bool | None = None # Replaces enhanced_monitor
97
118
  coverage_report: bool | None = None # Replaces coverage_status
@@ -223,6 +244,11 @@ class Options(BaseModel):
223
244
  return None
224
245
  if value == "":
225
246
  return BumpOption.interactive
247
+
248
+ # Handle case where typer parsed a flag as the value (e.g., -p -c becomes value="-c")
249
+ if isinstance(value, str) and value.startswith("-"):
250
+ return BumpOption.interactive
251
+
226
252
  try:
227
253
  return BumpOption(value.lower())
228
254
  except ValueError:
@@ -275,9 +301,12 @@ CLI_OPTIONS = {
275
301
  None,
276
302
  "-p",
277
303
  "--publish",
304
+ callback=parse_bump_option_with_flag_support,
278
305
  help=(
279
- "Bump version and publish to PyPI (patch, minor, major). "
280
- "Use 'interactive' to be prompted for version selection."
306
+ "Bump version and publish to PyPI (patch, minor, major, auto). "
307
+ "Use 'interactive' to be prompted for version selection. "
308
+ "Use 'auto' to automatically use AI recommendations. "
309
+ "When used as a flag (-p), defaults to 'interactive'."
281
310
  ),
282
311
  case_sensitive=False,
283
312
  ),
@@ -285,14 +314,16 @@ CLI_OPTIONS = {
285
314
  None,
286
315
  "-a",
287
316
  "--all",
288
- help="Full release workflow: bump version, run quality checks, and publish (patch, minor, major).",
317
+ callback=parse_bump_option_with_flag_support,
318
+ help="Full release workflow: bump version, run quality checks, and publish (patch, minor, major, auto). When used as a flag (-a), defaults to 'interactive'.",
289
319
  case_sensitive=False,
290
320
  ),
291
321
  "bump": typer.Option(
292
322
  None,
293
323
  "-b",
294
324
  "--bump",
295
- help="Bump version (patch, minor, major).",
325
+ callback=parse_bump_option_with_flag_support,
326
+ help="Bump version (patch, minor, major, auto). When used as a flag (-b), defaults to 'interactive'.",
296
327
  case_sensitive=False,
297
328
  ),
298
329
  "benchmark": typer.Option(
@@ -644,7 +675,8 @@ CLI_OPTIONS = {
644
675
  None,
645
676
  "-a",
646
677
  "--full-release",
647
- help="Complete release workflow: strip code, run tests, bump version, and publish. Equivalent to `-x -t -p <version> -c`.",
678
+ callback=parse_bump_option_with_flag_support,
679
+ help="Complete release workflow: strip code, run tests, bump version, and publish (patch, minor, major, auto). Equivalent to `-x -t -p <version> -c`. When used as a flag (-a), defaults to 'interactive'.",
648
680
  case_sensitive=False,
649
681
  ),
650
682
  "show_progress": typer.Option(
@@ -869,8 +901,8 @@ def create_options(
869
901
  update_precommit: bool,
870
902
  verbose: bool,
871
903
  debug: bool,
872
- publish: BumpOption | None,
873
- bump: BumpOption | None,
904
+ publish: str | None,
905
+ bump: str | None,
874
906
  benchmark: bool,
875
907
  test_workers: int,
876
908
  test_timeout: int,
@@ -953,7 +985,7 @@ def create_options(
953
985
  strip_code: bool | None = None,
954
986
  run_tests: bool = False,
955
987
  ai_fix: bool | None = None,
956
- full_release: BumpOption | None = None,
988
+ full_release: str | None = None,
957
989
  show_progress: bool | None = None,
958
990
  advanced_monitor: bool | None = None,
959
991
  coverage_report: bool | None = None,
@@ -284,7 +284,7 @@ class PublishManagerImpl:
284
284
  [
285
285
  "keyring",
286
286
  "get",
287
- "https: //upload.pypi.org/legacy/",
287
+ "https://upload.pypi.org/legacy/",
288
288
  "__token__",
289
289
  ],
290
290
  )
@@ -315,7 +315,7 @@ class PublishManagerImpl:
315
315
  " 1. Set environment variable: export UV_PUBLISH_TOKEN=<your-pypi-token>",
316
316
  )
317
317
  self.console.print(
318
- " 2. Use keyring: keyring set[t.Any] https: //upload.pypi.org/legacy/ __token__",
318
+ " 2. Use keyring: keyring set[t.Any] https://upload.pypi.org/legacy/ __token__",
319
319
  )
320
320
  self.console.print(
321
321
  " 3. Ensure token starts with 'pypi-' and is properly formatted",
@@ -434,7 +434,7 @@ class PublishManagerImpl:
434
434
  package_name = self._get_package_name()
435
435
 
436
436
  if package_name and current_version:
437
- url = f"https: //pypi.org/project/{package_name}/{current_version}/"
437
+ url = f"https://pypi.org/project/{package_name}/{current_version}/"
438
438
  self.console.print(f"[cyan]🔗[/ cyan] Package URL: {url}")
439
439
 
440
440
  def _get_package_name(self) -> str | None:
@@ -157,11 +157,9 @@ class JobDataCollector:
157
157
  "network_operations",
158
158
  timeout=5.0,
159
159
  ):
160
- websocket_base = self.websocket_url.replace(
161
- "ws: //", "http: //"
162
- ).replace(
163
- "wss: //",
164
- "https: //",
160
+ websocket_base = self.websocket_url.replace("ws://", "http://").replace(
161
+ "wss://",
162
+ "https://",
165
163
  )
166
164
 
167
165
  async with (
@@ -452,13 +452,13 @@ class DependencyMonitorService:
452
452
 
453
453
  import requests
454
454
 
455
- url = f"https: //pypi.org/pypi/{package}/json"
455
+ url = f"https://pypi.org/pypi/{package}/json"
456
456
  self._validate_pypi_url(url)
457
457
 
458
458
  parsed = urlparse(url)
459
459
 
460
460
  if parsed.scheme != "https" or parsed.netloc != "pypi.org":
461
- msg = f"Invalid URL: only https: //pypi.org URLs are allowed, got {url}"
461
+ msg = f"Invalid URL: only https://pypi.org URLs are allowed, got {url}"
462
462
  raise ValueError(msg)
463
463
 
464
464
  response = requests.get(url, timeout=10, verify=True)
@@ -347,11 +347,11 @@ class HealthMetricsService:
347
347
  try:
348
348
  from urllib.parse import urlparse
349
349
 
350
- url = f"https: //pypi.org/pypi/{package_name}/json"
350
+ url = f"https://pypi.org/pypi/{package_name}/json"
351
351
 
352
352
  parsed = urlparse(url)
353
353
  if parsed.scheme != "https" or parsed.netloc != "pypi.org":
354
- msg = f"Invalid URL: only https: //pypi.org URLs are allowed, got {url}"
354
+ msg = f"Invalid URL: only https://pypi.org URLs are allowed, got {url}"
355
355
  raise ValueError(msg)
356
356
 
357
357
  if not parsed.path.startswith("/pypi/") or not parsed.path.endswith(
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "crackerjack"
9
- version = "0.34.2"
9
+ version = "0.35.0"
10
10
  description = "Crackerjack Python project management tool"
11
11
  readme = "README.md"
12
12
  authors = [
@@ -165,15 +165,15 @@ css = [
165
165
 
166
166
  [[package]]
167
167
  name = "blessed"
168
- version = "1.21.0"
168
+ version = "1.22.0"
169
169
  source = { registry = "https://pypi.org/simple" }
170
170
  dependencies = [
171
171
  { name = "jinxed", marker = "sys_platform == 'win32'" },
172
172
  { name = "wcwidth" },
173
173
  ]
174
- sdist = { url = "https://files.pythonhosted.org/packages/0c/5e/3cada2f7514ee2a76bb8168c71f9b65d056840ebb711962e1ec08eeaa7b0/blessed-1.21.0.tar.gz", hash = "sha256:ece8bbc4758ab9176452f4e3a719d70088eb5739798cd5582c9e05f2a28337ec", size = 6660011, upload-time = "2025-04-26T21:56:58.199Z" }
174
+ sdist = { url = "https://files.pythonhosted.org/packages/7c/51/a72df7730aa34a94bc43cebecb7b63ffa42f019868637dbeb45e0620d26e/blessed-1.22.0.tar.gz", hash = "sha256:1818efb7c10015478286f21a412fcdd31a3d8b94a18f6d926e733827da7a844b", size = 6660050, upload-time = "2025-09-15T19:15:26.551Z" }
175
175
  wheels = [
176
- { url = "https://files.pythonhosted.org/packages/ea/8e/0a37e44878fd76fac9eff5355a1bf760701f53cb5c38cdcd59a8fd9ab2a2/blessed-1.21.0-py2.py3-none-any.whl", hash = "sha256:f831e847396f5a2eac6c106f4dfadedf46c4f804733574b15fe86d2ed45a9588", size = 84727, upload-time = "2025-04-26T16:58:29.919Z" },
176
+ { url = "https://files.pythonhosted.org/packages/11/b7/a19b55c4cd0b5ca5009ca11d3634994758a1a446976b8e7afa25e719613c/blessed-1.22.0-py2.py3-none-any.whl", hash = "sha256:a1fed52d708a1aa26dfb8d3eaecf6f4714bff590e728baeefcb44f2c16c8de82", size = 85078, upload-time = "2025-09-15T19:15:24.787Z" },
177
177
  ]
178
178
 
179
179
  [[package]]
@@ -398,7 +398,7 @@ wheels = [
398
398
 
399
399
  [[package]]
400
400
  name = "crackerjack"
401
- version = "0.34.1"
401
+ version = "0.34.2"
402
402
  source = { editable = "." }
403
403
  dependencies = [
404
404
  { name = "aiofiles" },
@@ -963,7 +963,7 @@ wheels = [
963
963
 
964
964
  [[package]]
965
965
  name = "huggingface-hub"
966
- version = "0.34.4"
966
+ version = "0.34.5"
967
967
  source = { registry = "https://pypi.org/simple" }
968
968
  dependencies = [
969
969
  { name = "filelock" },
@@ -975,9 +975,9 @@ dependencies = [
975
975
  { name = "tqdm" },
976
976
  { name = "typing-extensions" },
977
977
  ]
978
- sdist = { url = "https://files.pythonhosted.org/packages/45/c9/bdbe19339f76d12985bc03572f330a01a93c04dffecaaea3061bdd7fb892/huggingface_hub-0.34.4.tar.gz", hash = "sha256:a4228daa6fb001be3f4f4bdaf9a0db00e1739235702848df00885c9b5742c85c", size = 459768, upload-time = "2025-08-08T09:14:52.365Z" }
978
+ sdist = { url = "https://files.pythonhosted.org/packages/1f/08/306b0d3db3679b3c07cab9ce117a920de77f3ea4dba6ba27646660518619/huggingface_hub-0.34.5.tar.gz", hash = "sha256:f676c6db41bc3fbd4020f520c842a0548f4c9a3f698dbfa6514bd8e41c3ab52a", size = 460006, upload-time = "2025-09-15T14:24:24.734Z" }
979
979
  wheels = [
980
- { url = "https://files.pythonhosted.org/packages/39/7b/bb06b061991107cd8783f300adff3e7b7f284e330fd82f507f2a1417b11d/huggingface_hub-0.34.4-py3-none-any.whl", hash = "sha256:9b365d781739c93ff90c359844221beef048403f1bc1f1c123c191257c3c890a", size = 561452, upload-time = "2025-08-08T09:14:50.159Z" },
980
+ { url = "https://files.pythonhosted.org/packages/79/3d/55ef77a0539b0124efd47d8b3759bf49e880f57729f7123c0311b41a9bb8/huggingface_hub-0.34.5-py3-none-any.whl", hash = "sha256:fea377adc6e9b6c239c1450e41a1409cbf2c6364d289c04c31d7dbaa222842e3", size = 562219, upload-time = "2025-09-15T14:24:22.851Z" },
981
981
  ]
982
982
 
983
983
  [[package]]
@@ -1003,15 +1003,15 @@ wheels = [
1003
1003
 
1004
1004
  [[package]]
1005
1005
  name = "hypothesis"
1006
- version = "6.138.16"
1006
+ version = "6.138.17"
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/21/2f/3f41181a7054f8049c0c2ef2eb8a86f43c2bfb0da7b0aba69c24019f56eb/hypothesis-6.138.16.tar.gz", hash = "sha256:08f9015dadc877ce5ca04752efc56df797238148a44d1c69db656ed29bfbbf73", size = 466040, upload-time = "2025-09-13T23:26:07.448Z" }
1012
+ sdist = { url = "https://files.pythonhosted.org/packages/d2/d9/933014091e35e849a1555bc87866809dd985bb558d43734e5b9cd2191c1f/hypothesis-6.138.17.tar.gz", hash = "sha256:2419eef387211c63bed091938cf17fa909898f064d320e996bcd90383f5ce3c6", size = 466016, upload-time = "2025-09-15T22:09:21.512Z" }
1013
1013
  wheels = [
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" },
1014
+ { url = "https://files.pythonhosted.org/packages/92/81/fbb1beddafb8bfc1deff69cbf6e2aaba10c1c7bdafe7a323845539ba14af/hypothesis-6.138.17-py3-none-any.whl", hash = "sha256:b2cf91f1926445cf4d44f5ec9a955c7f637f93e34247ac04e4fb44d010141c85", size = 533688, upload-time = "2025-09-15T22:09:18.063Z" },
1015
1015
  ]
1016
1016
 
1017
1017
  [[package]]
@@ -2604,7 +2604,7 @@ wheels = [
2604
2604
 
2605
2605
  [[package]]
2606
2606
  name = "session-mgmt-mcp"
2607
- version = "0.3.6"
2607
+ version = "0.3.7"
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/35/d2/ae271696455f988eee9334874775340799cd1834329ed0b1926cdbec1fc9/session_mgmt_mcp-0.3.6.tar.gz", hash = "sha256:ab83b1010ce9d2230442610b892d9405cb541f38b07539244fecbb1944d1de0f", size = 489393, upload-time = "2025-09-15T10:20:29.602Z" }
2625
+ sdist = { url = "https://files.pythonhosted.org/packages/ed/ce/c062659fbb3b4b05f71ad5c5229b80310d1297aa38abe8f1ca14447272a6/session_mgmt_mcp-0.3.7.tar.gz", hash = "sha256:e8c2a251772ee06d4e8b1d53b7f413af1d745e2886467ca9db96b058adfba23d", size = 491514, upload-time = "2025-09-16T02:27:32.692Z" }
2626
2626
  wheels = [
2627
- { url = "https://files.pythonhosted.org/packages/ce/50/1865f3ad40a7ced8342530729e0fbf494b2fb9a4e2c8dd4a507ef0d2d135/session_mgmt_mcp-0.3.6-py3-none-any.whl", hash = "sha256:219e5e06c589747e1400ba5dd2935e7886707d5ed7ed56eeaf9041d9308f72d0", size = 218158, upload-time = "2025-09-15T10:20:27.697Z" },
2627
+ { url = "https://files.pythonhosted.org/packages/bf/41/ffb2a66455d9fe29efe7c46387295a604f29fc006f522edda0fe7784114e/session_mgmt_mcp-0.3.7-py3-none-any.whl", hash = "sha256:eacf82edd79d9a012642181c5769eb5d9f768d3ad98ee17c06dc16600517d483", size = 219032, upload-time = "2025-09-16T02:27:30.908Z" },
2628
2628
  ]
2629
2629
 
2630
2630
  [[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