crackerjack 0.40.3__tar.gz → 0.41.2__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 (494) hide show
  1. {crackerjack-0.40.3 → crackerjack-0.41.2}/CHANGELOG.md +43 -1
  2. {crackerjack-0.40.3 → crackerjack-0.41.2}/GEMINI.md +5 -1
  3. crackerjack-0.41.2/MIGRATION-0.41.0.md +87 -0
  4. {crackerjack-0.40.3 → crackerjack-0.41.2}/PKG-INFO +17 -5
  5. {crackerjack-0.40.3 → crackerjack-0.41.2}/QWEN.md +1 -1
  6. {crackerjack-0.40.3 → crackerjack-0.41.2}/README.md +16 -4
  7. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/validate_regex_patterns.py +4 -0
  8. {crackerjack-0.40.3 → crackerjack-0.41.2}/pyproject.toml +1 -2
  9. crackerjack-0.41.2/tests/test_error_handling.py +23 -0
  10. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance.py +97 -1
  11. {crackerjack-0.40.3 → crackerjack-0.41.2}/uv.lock +26 -28
  12. {crackerjack-0.40.3 → crackerjack-0.41.2}/.codespell-ignore +0 -0
  13. {crackerjack-0.40.3 → crackerjack-0.41.2}/.codespellrc +0 -0
  14. {crackerjack-0.40.3 → crackerjack-0.41.2}/.github/FUNDING.yml +0 -0
  15. {crackerjack-0.40.3 → crackerjack-0.41.2}/.gitignore +0 -0
  16. {crackerjack-0.40.3 → crackerjack-0.41.2}/.pre-commit-config.yaml +0 -0
  17. {crackerjack-0.40.3 → crackerjack-0.41.2}/AGENTS.md +0 -0
  18. {crackerjack-0.40.3 → crackerjack-0.41.2}/CLAUDE.md +0 -0
  19. {crackerjack-0.40.3 → crackerjack-0.41.2}/LICENSE +0 -0
  20. {crackerjack-0.40.3 → crackerjack-0.41.2}/RULES.md +0 -0
  21. {crackerjack-0.40.3 → crackerjack-0.41.2}/SECURITY.md +0 -0
  22. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/__init__.py +0 -0
  23. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/__main__.py +0 -0
  24. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/__init__.py +0 -0
  25. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/ai/__init__.py +0 -0
  26. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/ai/claude.py +0 -0
  27. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/lsp_client.py +0 -0
  28. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/rust_tool_adapter.py +0 -0
  29. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/rust_tool_manager.py +0 -0
  30. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/skylos_adapter.py +0 -0
  31. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/adapters/zuban_adapter.py +0 -0
  32. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/__init__.py +0 -0
  33. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/architect_agent.py +0 -0
  34. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/base.py +0 -0
  35. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/claude_code_bridge.py +0 -0
  36. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/coordinator.py +0 -0
  37. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/documentation_agent.py +0 -0
  38. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/dry_agent.py +0 -0
  39. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/enhanced_coordinator.py +0 -0
  40. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/enhanced_proactive_agent.py +0 -0
  41. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/formatting_agent.py +0 -0
  42. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/import_optimization_agent.py +0 -0
  43. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/performance_agent.py +0 -0
  44. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/performance_helpers.py +0 -0
  45. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/proactive_agent.py +0 -0
  46. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/refactoring_agent.py +0 -0
  47. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/refactoring_helpers.py +0 -0
  48. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/security_agent.py +0 -0
  49. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/semantic_agent.py +0 -0
  50. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/semantic_helpers.py +0 -0
  51. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/test_creation_agent.py +0 -0
  52. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/test_specialist_agent.py +0 -0
  53. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/agents/tracker.py +0 -0
  54. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/api.py +0 -0
  55. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/__init__.py +0 -0
  56. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/cache_handlers.py +0 -0
  57. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/cache_handlers_enhanced.py +0 -0
  58. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/facade.py +0 -0
  59. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/handlers.py +0 -0
  60. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/interactive.py +0 -0
  61. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/options.py +0 -0
  62. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/semantic_handlers.py +0 -0
  63. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/cli/utils.py +0 -0
  64. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/code_cleaner.py +0 -0
  65. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/config/__init__.py +0 -0
  66. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/config/global_lock_config.py +0 -0
  67. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/config/hooks.py +0 -0
  68. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/__init__.py +0 -0
  69. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/async_workflow_orchestrator.py +0 -0
  70. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/autofix_coordinator.py +0 -0
  71. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/container.py +0 -0
  72. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/enhanced_container.py +0 -0
  73. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/file_lifecycle.py +0 -0
  74. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/performance.py +0 -0
  75. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/performance_monitor.py +0 -0
  76. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/phase_coordinator.py +0 -0
  77. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/proactive_workflow.py +0 -0
  78. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/resource_manager.py +0 -0
  79. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/service_watchdog.py +0 -0
  80. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/session_coordinator.py +0 -0
  81. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/timeout_manager.py +0 -0
  82. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/websocket_lifecycle.py +0 -0
  83. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/core/workflow_orchestrator.py +0 -0
  84. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/INDEX.md +0 -0
  85. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
  86. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
  87. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
  88. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
  89. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/docs/generated/api/SERVICES.md +0 -0
  90. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/__init__.py +0 -0
  91. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/ai_templates.py +0 -0
  92. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/dual_output_generator.py +0 -0
  93. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/mkdocs_integration.py +0 -0
  94. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/documentation/reference_generator.py +0 -0
  95. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/dynamic_config.py +0 -0
  96. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/errors.py +0 -0
  97. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/__init__.py +0 -0
  98. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/async_hook_executor.py +0 -0
  99. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/cached_hook_executor.py +0 -0
  100. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/hook_executor.py +0 -0
  101. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/hook_lock_manager.py +0 -0
  102. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/individual_hook_executor.py +0 -0
  103. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
  104. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/executors/tool_proxy.py +0 -0
  105. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/hooks/lsp_hook.py +0 -0
  106. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/__init__.py +0 -0
  107. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/adaptive_learning.py +0 -0
  108. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/agent_orchestrator.py +0 -0
  109. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/agent_registry.py +0 -0
  110. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/agent_selector.py +0 -0
  111. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/intelligence/integration.py +0 -0
  112. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/interactive.py +0 -0
  113. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/__init__.py +0 -0
  114. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/async_hook_manager.py +0 -0
  115. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/hook_manager.py +0 -0
  116. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/publish_manager.py +0 -0
  117. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_command_builder.py +0 -0
  118. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_executor.py +0 -0
  119. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_manager.py +0 -0
  120. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_manager_backup.py +0 -0
  121. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/managers/test_progress.py +0 -0
  122. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/__init__.py +0 -0
  123. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/cache.py +0 -0
  124. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/client_runner.py +0 -0
  125. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/context.py +0 -0
  126. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/dashboard.py +0 -0
  127. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/enhanced_progress_monitor.py +0 -0
  128. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/enhanced_progress_monitor.tcss +0 -0
  129. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/file_monitor.py +0 -0
  130. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/progress_components.py +0 -0
  131. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/progress_monitor.py +0 -0
  132. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/progress_monitor.tcss +0 -0
  133. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/rate_limiter.py +0 -0
  134. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/server.py +0 -0
  135. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/server_core.py +0 -0
  136. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/service_watchdog.py +0 -0
  137. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/state.py +0 -0
  138. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/task_manager.py +0 -0
  139. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/__init__.py +0 -0
  140. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/core_tools.py +0 -0
  141. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  142. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/execution_tools.py +0 -0
  143. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/execution_tools_backup.py +0 -0
  144. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/intelligence_tool_registry.py +0 -0
  145. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/intelligence_tools.py +0 -0
  146. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  147. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/monitoring_tools.py.backup +0 -0
  148. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  149. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/progress_tools.py +0 -0
  150. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/semantic_tools.py +0 -0
  151. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/utility_tools.py +0 -0
  152. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/tools/workflow_executor.py +0 -0
  153. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/__init__.py +0 -0
  154. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/app.py +0 -0
  155. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/endpoints.py +0 -0
  156. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/jobs.py +0 -0
  157. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/monitoring_endpoints.py +0 -0
  158. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/server.py +0 -0
  159. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket/websocket_handler.py +0 -0
  160. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mcp/websocket_server.py +0 -0
  161. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mixins/__init__.py +0 -0
  162. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/mixins/error_handling.py +0 -0
  163. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/__init__.py +0 -0
  164. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/config.py +0 -0
  165. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/config_adapter.py +0 -0
  166. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/protocols.py +0 -0
  167. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/resource_protocols.py +0 -0
  168. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/semantic_models.py +0 -0
  169. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/models/task.py +0 -0
  170. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/__init__.py +0 -0
  171. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/ai_agent_watchdog.py +0 -0
  172. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/metrics_collector.py +0 -0
  173. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/regression_prevention.py +0 -0
  174. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/monitoring/websocket_server.py +0 -0
  175. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/__init__.py +0 -0
  176. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/advanced_orchestrator.py +0 -0
  177. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/coverage_improvement.py +0 -0
  178. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/execution_strategies.py +0 -0
  179. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/orchestration/test_progress_streamer.py +0 -0
  180. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/__init__.py +0 -0
  181. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/base.py +0 -0
  182. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/hooks.py +0 -0
  183. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/loader.py +0 -0
  184. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/plugins/managers.py +0 -0
  185. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/py313.py +0 -0
  186. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/security/__init__.py +0 -0
  187. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/security/audit.py +0 -0
  188. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/__init__.py +0 -0
  189. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/anomaly_detector.py +0 -0
  190. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/api_extractor.py +0 -0
  191. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/backup_service.py +0 -0
  192. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/bounded_status_operations.py +0 -0
  193. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/cache.py +0 -0
  194. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/changelog_automation.py +0 -0
  195. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config.py +0 -0
  196. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config_integrity.py +0 -0
  197. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config_merge.py +0 -0
  198. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/config_template.py +0 -0
  199. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/contextual_ai_assistant.py +0 -0
  200. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/coverage_badge_service.py +0 -0
  201. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/coverage_ratchet.py +0 -0
  202. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/debug.py +0 -0
  203. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/dependency_analyzer.py +0 -0
  204. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/dependency_monitor.py +0 -0
  205. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/documentation_generator.py +0 -0
  206. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/documentation_service.py +0 -0
  207. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/embeddings.py +0 -0
  208. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/enhanced_filesystem.py +0 -0
  209. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/enterprise_optimizer.py +0 -0
  210. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/error_pattern_analyzer.py +0 -0
  211. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/file_hasher.py +0 -0
  212. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/file_modifier.py +0 -0
  213. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/filesystem.py +0 -0
  214. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/git.py +0 -0
  215. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/health_metrics.py +0 -0
  216. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/heatmap_generator.py +0 -0
  217. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/initialization.py +0 -0
  218. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/input_validator.py +0 -0
  219. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/intelligent_commit.py +0 -0
  220. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/log_manager.py +0 -0
  221. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/logging.py +0 -0
  222. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/lsp_client.py +0 -0
  223. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/memory_optimizer.py +0 -0
  224. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/metrics.py +0 -0
  225. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/parallel_executor.py +0 -0
  226. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/pattern_cache.py +0 -0
  227. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/pattern_detector.py +0 -0
  228. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/performance_benchmarks.py +0 -0
  229. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/performance_cache.py +0 -0
  230. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/performance_monitor.py +0 -0
  231. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/predictive_analytics.py +0 -0
  232. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/quality_baseline.py +0 -0
  233. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/quality_baseline_enhanced.py +0 -0
  234. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/quality_intelligence.py +0 -0
  235. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/regex_patterns.py +0 -0
  236. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/regex_utils.py +0 -0
  237. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/secure_path_utils.py +0 -0
  238. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/secure_status_formatter.py +0 -0
  239. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/secure_subprocess.py +0 -0
  240. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/security.py +0 -0
  241. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/security_logger.py +0 -0
  242. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/server_manager.py +0 -0
  243. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/smart_scheduling.py +0 -0
  244. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/status_authentication.py +0 -0
  245. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/status_security_manager.py +0 -0
  246. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/terminal_utils.py +0 -0
  247. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/thread_safe_status_collector.py +0 -0
  248. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/tool_version_service.py +0 -0
  249. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/unified_config.py +0 -0
  250. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/validation_rate_limiter.py +0 -0
  251. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/vector_store.py +0 -0
  252. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/version_analyzer.py +0 -0
  253. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/version_checker.py +0 -0
  254. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/websocket_resource_limiter.py +0 -0
  255. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/services/zuban_lsp_service.py +0 -0
  256. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/__init__.py +0 -0
  257. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/init.md +0 -0
  258. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/run.md +0 -0
  259. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/slash_commands/status.md +0 -0
  260. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/__init__.py +0 -0
  261. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/fix_terminal.sh +0 -0
  262. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  263. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/ui/__init__.py +0 -0
  264. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/ui/server_panels.py +0 -0
  265. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/workflows/__init__.py +0 -0
  266. {crackerjack-0.40.3 → crackerjack-0.41.2}/crackerjack/workflows/auto_fix.py +0 -0
  267. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/README.md +0 -0
  268. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/AGENT-CAPABILITIES.json +0 -0
  269. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/AGENT_SELECTION.md +0 -0
  270. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/AI-REFERENCE.md +0 -0
  271. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/ai/ERROR-PATTERNS.yaml +0 -0
  272. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/architecture/API_REFERENCE.md +0 -0
  273. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/architecture/ARCHITECTURE.md +0 -0
  274. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/architecture/WORKFLOW-ARCHITECTURE.md +0 -0
  275. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/development/IDE-SETUP.md +0 -0
  276. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/development/RUST_TOOLING_FRAMEWORK.md +0 -0
  277. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/guides/ADVANCED-FEATURES.md +0 -0
  278. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/guides/AUTO_FIX_GUIDE.md +0 -0
  279. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/PROJECT_HISTORY.md +0 -0
  280. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/investigations/ai-fix-flag-bug-fix.md +0 -0
  281. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/investigations/workflow-routing-fix.md +0 -0
  282. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE2-COMPLETION-SUMMARY.md +0 -0
  283. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE2-CROSS-REFERENCE-ANALYSIS.md +0 -0
  284. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE3-COMPLETION-REPORT.md +0 -0
  285. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/PHASE3-OPTIMIZATION-PLAN.md +0 -0
  286. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-1-completion-summary.md +0 -0
  287. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-2-completion-summary.md +0 -0
  288. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-3-completion-summary.md +0 -0
  289. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-4-completion-summary.md +0 -0
  290. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-5-completion-summary.md +0 -0
  291. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-5-implementation-plan.md +0 -0
  292. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/phases/phase-5-task-5.1-completion-summary.md +0 -0
  293. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/CONFIG_MANAGEMENT_REPLACEMENT_PLAN.md +0 -0
  294. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/CONFIG_MERGE_REMOVAL_PLAN.md +0 -0
  295. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/DOCUMENTATION_AUDIT_2025-10-03.md +0 -0
  296. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/DOCUMENTATION_REORGANIZATION_PLAN.md +0 -0
  297. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/DOCUMENTATION_REORGANIZATION_PLAN_2025.md +0 -0
  298. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/PYTORCH-COMPATIBILITY-FIX.md +0 -0
  299. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/REORGANIZATION_SUMMARY.md +0 -0
  300. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/complexipy-refactoring-summary.md +0 -0
  301. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/crackerjack-run-implementation-plan.md +0 -0
  302. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/planning/crackerjack-run-workflow-audit.md +0 -0
  303. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/CLEANUP_SUMMARY.md +0 -0
  304. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/CRACKERJACK_PRECOMMIT_HANDLING_IMPLEMENTATION_SUMMARY.md +0 -0
  305. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/FINAL_PRECOMMIT_HANDLING_VERIFICATION.md +0 -0
  306. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/PRECOMMIT_HANDLING_SUMMARY.md +0 -0
  307. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/precommit/README.md +0 -0
  308. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/INPUT_VALIDATOR_SECURITY_AUDIT.md +0 -0
  309. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY-AUDIT.md +0 -0
  310. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_AUDIT_REPORT.md +0 -0
  311. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_AUDIT_STATUS_DISCLOSURE.md +0 -0
  312. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_HARDENING_REPORT.md +0 -0
  313. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/history/security/SECURITY_SUBPROCESS_HARDENING_REPORT.md +0 -0
  314. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/COMPLEXITY_REFACTORING_PLAN.md +0 -0
  315. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/COVERAGE_BADGE_IMPLEMENTATION_PLAN.md +0 -0
  316. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/CURRENT_IMPLEMENTATION_STATUS.md +0 -0
  317. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/DOCUMENTATION_SYSTEM_ARCHITECTURE.md +0 -0
  318. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/EXPERIMENTAL-EVALUATION.md +0 -0
  319. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/FEATURE_IMPLEMENTATION_PLAN.md +0 -0
  320. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/FUTURE-ENHANCEMENTS.md +0 -0
  321. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_IMPLEMENTATION_SUMMARY.md +0 -0
  322. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/RESILIENT_HOOK_ARCHITECTURE_PLAN.md +0 -0
  323. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/SEMANTIC-SEARCH-IMPLEMENTATION.md +0 -0
  324. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/STAGE_HEADERS_IMPLEMENTATION_PLAN.md +0 -0
  325. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/TIMEOUT_ARCHITECTURE_SOLUTION.md +0 -0
  326. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/TYPE_ANNOTATION_FIXING_PLAN.md +0 -0
  327. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/UVXUSAGE.md +0 -0
  328. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/ZUBAN_LSP_INTEGRATION_PLAN.md +0 -0
  329. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/planning/ZUBAN_TOML_PARSING_BUG_ANALYSIS.md +0 -0
  330. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/security/SECURITY_AUDIT.md +0 -0
  331. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/BACKUP_SYSTEM.md +0 -0
  332. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/CACHING_SYSTEM.md +0 -0
  333. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/DASHBOARD_ARCHITECTURE.md +0 -0
  334. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/MCP_INTEGRATION.md +0 -0
  335. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/MONITORING_INTEGRATION.md +0 -0
  336. {crackerjack-0.40.3 → crackerjack-0.41.2}/docs/systems/UNIFIED_MONITORING_ARCHITECTURE.md +0 -0
  337. {crackerjack-0.40.3 → crackerjack-0.41.2}/example.mcp.json +0 -0
  338. {crackerjack-0.40.3 → crackerjack-0.41.2}/mypy.ini +0 -0
  339. {crackerjack-0.40.3 → crackerjack-0.41.2}/scripts/__init__.py +0 -0
  340. {crackerjack-0.40.3 → crackerjack-0.41.2}/scripts/integrate_resource_management.py +0 -0
  341. {crackerjack-0.40.3 → crackerjack-0.41.2}/scripts/performance_benchmark.py +0 -0
  342. {crackerjack-0.40.3 → crackerjack-0.41.2}/templates/api_reference.md.template +0 -0
  343. {crackerjack-0.40.3 → crackerjack-0.41.2}/templates/changelog_entry.md.template +0 -0
  344. {crackerjack-0.40.3 → crackerjack-0.41.2}/templates/user_guide.md.template +0 -0
  345. {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/api-reference.md +0 -0
  346. {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/getting-started.md +0 -0
  347. {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/index.md +0 -0
  348. {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/docs/stylesheets/extra.css +0 -0
  349. {crackerjack-0.40.3 → crackerjack-0.41.2}/test_docs_site/site/mkdocs.yml +0 -0
  350. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/__init__.py +0 -0
  351. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/base_test.py +0 -0
  352. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/cli/test_command_validation.py +0 -0
  353. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/conftest.py +0 -0
  354. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/coverage.json +0 -0
  355. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/__init__.py +0 -0
  356. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/comments_sample.txt +0 -0
  357. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/docstrings_sample.txt +0 -0
  358. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/expected_comments_sample.txt +0 -0
  359. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/data/init.py +0 -0
  360. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  361. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/docs/TEST_COVERAGE_PLAN.md +0 -0
  362. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
  363. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/run_tests.py +0 -0
  364. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/scripts/__init__.py +0 -0
  365. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/scripts/agent_audit_report.py +0 -0
  366. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/scripts/run_test_suite.py +0 -0
  367. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test___main__.py +0 -0
  368. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_ai_agent_workflow.py +0 -0
  369. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_ai_optimized_documentation.py +0 -0
  370. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_ai_templates.py +0 -0
  371. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_anomaly_detector_service.py +0 -0
  372. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_api.py +0 -0
  373. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_api_comprehensive.py +0 -0
  374. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_async_hook_executor.py +0 -0
  375. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_async_hook_executor_comprehensive.py +0 -0
  376. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_async_workflow_orchestrator.py +0 -0
  377. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_autofix_coordinator.py +0 -0
  378. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_changelog_generation.py +0 -0
  379. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_cli/__init__.py +0 -0
  380. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_cli/test_global_lock_options.py +0 -0
  381. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_cli_semantic_naming.py +0 -0
  382. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_code_cleaner.py +0 -0
  383. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_code_cleaner_comprehensive.py +0 -0
  384. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_container.py +0 -0
  385. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_coordinator_performance.py +0 -0
  386. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_autofix_coordinator.py +0 -0
  387. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_comprehensive.py +0 -0
  388. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_coverage.py +0 -0
  389. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_enhanced_container.py +0 -0
  390. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_modules.py +0 -0
  391. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_core_performance.py +0 -0
  392. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_documentation_agent (1).py +0 -0
  393. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_documentation_agent_simple.py +0 -0
  394. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_dual_output_generator.py +0 -0
  395. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_dynamic_config.py +0 -0
  396. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_dynamic_config_coverage.py +0 -0
  397. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_end_to_end_integration.py +0 -0
  398. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_container.py +0 -0
  399. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_filesystem.py +0 -0
  400. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  401. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_enhanced_filesystem_coverage.py +0 -0
  402. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_errors.py +0 -0
  403. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_execution_speed_optimization.py +0 -0
  404. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_executors/__init__.py +0 -0
  405. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_executors/test_lock_integration.py +0 -0
  406. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_fast_hooks_behavior.py +0 -0
  407. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_file_lifecycle.py +0 -0
  408. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_filesystem_coverage.py +0 -0
  409. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_final_validation.py +0 -0
  410. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_global_lock_config.py +0 -0
  411. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_executor_comprehensive.py +0 -0
  412. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_lock_manager.py +0 -0
  413. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_manager_comprehensive.py +0 -0
  414. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_hook_manager_simple.py +0 -0
  415. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_import_coverage_consolidated.py +0 -0
  416. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_initialization_precommit_integration.py +0 -0
  417. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_initialization_service.py +0 -0
  418. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_input_validation.py +0 -0
  419. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_intelligence_system.py +0 -0
  420. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_interactive.py +0 -0
  421. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_large_modules_coverage.py +0 -0
  422. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_main.py +0 -0
  423. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_main_entry_coverage.py +0 -0
  424. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_main_module.py +0 -0
  425. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_managers_consolidated.py +0 -0
  426. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_mcp_progress_monitor.py +0 -0
  427. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_mcp_server.py +0 -0
  428. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_mkdocs_integration.py +0 -0
  429. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_comprehensive.py +0 -0
  430. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_config_adapter_coverage.py +0 -0
  431. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_focused.py +0 -0
  432. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_models_task_coverage.py +0 -0
  433. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_modernized_code.py +0 -0
  434. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent (1).py +0 -0
  435. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent.py +0 -0
  436. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent_enhanced.py +0 -0
  437. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_agent_simple.py +0 -0
  438. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_benchmarks_focused.py.bak +0 -0
  439. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_helpers.py +0 -0
  440. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_performance_monitor.py +0 -0
  441. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_phase_coordinator.py +0 -0
  442. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_phase_coordinator_simple.py +0 -0
  443. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_plugins_coverage.py +0 -0
  444. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_proactive_agent.py +0 -0
  445. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_proactive_agent_system.py +0 -0
  446. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_proactive_workflow.py +0 -0
  447. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_protocol_compliance.py +0 -0
  448. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_publish_manager_coverage.py +0 -0
  449. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_py313.py +0 -0
  450. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_pytest_features.py +0 -0
  451. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_refactoring_agent.py +0 -0
  452. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_reference_generator.py +0 -0
  453. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_regex_patterns.py +0 -0
  454. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_resource_cleanup_integration.py +0 -0
  455. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_resource_manager.py +0 -0
  456. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_secure_path_utils.py +0 -0
  457. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_secure_status_formatter.py +0 -0
  458. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_security_audit.py +0 -0
  459. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_security_hardening.py +0 -0
  460. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_security_integration.py +0 -0
  461. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_server_panels.py +0 -0
  462. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_service_watchdog.py +0 -0
  463. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_services_coverage.py +0 -0
  464. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_session_coordinator.py +0 -0
  465. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_session_coordinator_comprehensive.py +0 -0
  466. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_session_coordinator_coverage.py +0 -0
  467. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_simple_tool_version_service.py +0 -0
  468. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_simple_workflow.py +0 -0
  469. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_skip_hooks_functionality.py +0 -0
  470. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_skip_hooks_simple.py +0 -0
  471. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_stage_workflow_execution_order.py +0 -0
  472. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_structured_errors.py +0 -0
  473. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_structured_logging.py +0 -0
  474. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_syntax_validation.py +0 -0
  475. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_terminal_restoration.py +0 -0
  476. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_terminal_state.py +0 -0
  477. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_timeout_manager.py +0 -0
  478. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_timeout_system.py +0 -0
  479. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_unified_api.py +0 -0
  480. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_unified_config.py +0 -0
  481. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_unified_monitoring_dashboard.py +0 -0
  482. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_validate_input_validator_patterns.py +0 -0
  483. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_validate_regex_patterns.py +0 -0
  484. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_validate_regex_patterns_tool.py +0 -0
  485. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_version_analyzer.py +0 -0
  486. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_version_bump_analyzer.py +0 -0
  487. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_websocket_endpoints.py +0 -0
  488. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_websocket_lifecycle.py +0 -0
  489. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_fast_hooks.py +0 -0
  490. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_integration.py +0 -0
  491. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_orchestrator.py +0 -0
  492. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_orchestrator_ai_routing.py +0 -0
  493. {crackerjack-0.40.3 → crackerjack-0.41.2}/tests/test_workflow_pipeline.py +0 -0
  494. {crackerjack-0.40.3 → crackerjack-0.41.2}/tools/validate_regex_patterns_standalone.py +0 -0
@@ -1,5 +1,46 @@
1
1
  ______________________________________________________________________
2
2
 
3
+ ## [0.41.2] - 2025-10-04
4
+
5
+ ### Changed
6
+
7
+ - Crackerjack (quality: 69/100) - 2025-10-04 12:48:19
8
+
9
+ ### Testing
10
+
11
+ - tests: Update 5 files
12
+
13
+ ### Internal
14
+
15
+ - Add newline at EOF and update uv.lock
16
+ - Modernize dependency groups and fix pre-commit hook
17
+
18
+ ## [Unreleased] - 2025-10-04
19
+
20
+ ### Added
21
+ - feat: add new feature
22
+
23
+ ### Fixed
24
+ - fix: resolve bug in parser
25
+
26
+
27
+ ## [0.41.0] - 2025-01-10
28
+
29
+ ### BREAKING CHANGES
30
+
31
+ - **Dependency Groups Modernization**: Removed self-reference from `[dependency-groups]`
32
+ - ⚠️ No functional impact - structural improvement only
33
+ - Eliminates circular dependency when installing dev group
34
+ - Follows modern UV and PEP 735 best practices
35
+ - See [MIGRATION-0.41.0.md](<./MIGRATION-0.41.0.md>) for details
36
+
37
+ ### Changed
38
+
39
+ - Removed `"crackerjack"` self-reference from dev dependency group
40
+ - Updated dependency group structure for better UV compatibility
41
+
42
+ ______________________________________________________________________
43
+
3
44
  ## [0.40.3] - 2025-10-04
4
45
 
5
46
  ### Testing
@@ -9,11 +50,12 @@ ______________________________________________________________________
9
50
  ## [Unreleased] - 2025-10-04
10
51
 
11
52
  ### Added
53
+
12
54
  - feat: add new feature
13
55
 
14
56
  ### Fixed
15
- - fix: resolve bug in parser
16
57
 
58
+ - fix: resolve bug in parser
17
59
 
18
60
  ## [0.40.2] - 2025-10-04
19
61
 
@@ -39,11 +39,15 @@ The project follows a modular architecture, with a clear separation of concerns
39
39
 
40
40
  1. Install `uv` (if not already installed):
41
41
  ```bash
42
+ # Recommended: Official installer script
43
+ curl -LsSf https://astral.sh/uv/install.sh | sh
44
+
45
+ # Alternative: Using pipx
42
46
  pipx install uv
43
47
  ```
44
48
  1. Install Crackerjack and its dependencies:
45
49
  ```bash
46
- uv sync --all-groups
50
+ uv sync --group dev
47
51
  ```
48
52
 
49
53
  **Running the Main Workflow:**
@@ -0,0 +1,87 @@
1
+ # Migration Guide: Dependency Groups Modernization (v0.41.0)
2
+
3
+ ## Breaking Change
4
+
5
+ Crackerjack v0.41.0 removes self-reference from `[dependency-groups]` following modern UV and PEP 735 standards.
6
+
7
+ ## What Changed
8
+
9
+ ### Self-Reference Removed
10
+
11
+ **Before (v0.40.3)**:
12
+
13
+ ```toml
14
+ [dependency-groups]
15
+ dev = [
16
+ "crackerjack", # ❌ Self-reference
17
+ "excalidraw-mcp>=0.34.0",
18
+ "session-mgmt-mcp>=0.4.0",
19
+ ]
20
+ ```
21
+
22
+ **After (v0.41.0)**:
23
+
24
+ ```toml
25
+ [dependency-groups]
26
+ dev = [
27
+ "excalidraw-mcp>=0.34.0",
28
+ "session-mgmt-mcp>=0.4.0",
29
+ ]
30
+ ```
31
+
32
+ ## Why This Change?
33
+
34
+ 1. **Eliminates Circular Dependencies**: Self-references create unnecessary complexity
35
+ 1. **UV Best Practices**: Modern UV doesn't require self-installation in dev groups
36
+ 1. **Consistency**: Aligns with ACB v0.24.0+ dependency group standards
37
+ 1. **Cleaner Installation**: Separates tool installation from development dependencies
38
+
39
+ ## Migration Steps
40
+
41
+ ### 1. Update Installation
42
+
43
+ No changes required for normal installation:
44
+
45
+ ```bash
46
+ # Install crackerjack
47
+ uv add crackerjack
48
+
49
+ # Install dev dependencies
50
+ uv add --group dev
51
+ ```
52
+
53
+ ### 2. Reinstall Dev Dependencies (Optional)
54
+
55
+ If you had issues with the old structure:
56
+
57
+ ```bash
58
+ # Clean cache
59
+ uv cache clean
60
+
61
+ # Remove old installation
62
+ uv remove crackerjack
63
+
64
+ # Reinstall
65
+ uv add crackerjack
66
+ uv add --group dev
67
+ ```
68
+
69
+ ## Impact
70
+
71
+ **Low Impact** - This change only affects development dependency installation and does not change any functionality or APIs.
72
+
73
+ - ✅ No code changes required
74
+ - ✅ No configuration changes required
75
+ - ✅ Existing installations continue to work
76
+ - ✅ Only affects fresh installs with `--group dev`
77
+
78
+ ## Questions?
79
+
80
+ - See the main [README.md](<./README.md>) for installation examples
81
+ - Check [CHANGELOG.md](<./CHANGELOG.md>) for detailed release notes
82
+
83
+ ______________________________________________________________________
84
+
85
+ **Version**: 0.41.0
86
+ **Migration Difficulty**: Very Low (structural only)
87
+ **Estimated Time**: 1 minute
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crackerjack
3
- Version: 0.40.3
3
+ Version: 0.41.2
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
@@ -164,14 +164,26 @@ Crackerjack is built on the following core principles:
164
164
  ### Install UV
165
165
 
166
166
  ```bash
167
+ # Recommended: Official installer script
168
+ curl -LsSf https://astral.sh/uv/install.sh | sh
169
+
170
+ # Alternative: Using pipx
167
171
  pipx install uv
172
+
173
+ # Alternative: Using Homebrew (macOS)
174
+ brew install uv
168
175
  ```
169
176
 
170
177
  ### Install Crackerjack
171
178
 
172
179
  ```bash
180
+ # Recommended: Using UV (fastest)
181
+ uv tool install crackerjack
182
+
183
+ # Alternative: Using pip
173
184
  pip install crackerjack
174
- # or
185
+
186
+ # For existing project: Add as dependency
175
187
  uv add crackerjack
176
188
  ```
177
189
 
@@ -557,10 +569,10 @@ Model Context Protocol (MCP) enables AI agents to interact directly with Cracker
557
569
 
558
570
  ### Setup MCP Server
559
571
 
560
- 1. **Install MCP dependencies:**
572
+ 1. **Install development dependencies (includes MCP tools):**
561
573
 
562
574
  ```bash
563
- uv sync --group mcp
575
+ uv sync --group dev
564
576
  ```
565
577
 
566
578
  1. **Start the MCP server:**
@@ -1199,7 +1211,7 @@ python -m crackerjack --start-mcp-server --verbose
1199
1211
  ## Contributing
1200
1212
 
1201
1213
  1. Fork and clone the repository
1202
- 1. Run `uv sync --all-groups` to install dependencies
1214
+ 1. Run `uv sync --group dev` to install dependencies
1203
1215
  1. Ensure `python -m crackerjack` passes all checks
1204
1216
  1. Submit pull request
1205
1217
 
@@ -263,7 +263,7 @@ ls ~/.cache/crackerjack/logs/debug/
263
263
  ## Contributing Guidelines
264
264
 
265
265
  1. Fork and clone the repository
266
- 1. Run `uv sync --all-groups` to install dependencies
266
+ 1. Run `uv sync --group dev` to install dependencies
267
267
  1. Ensure `python -m crackerjack` passes all checks
268
268
  1. Submit pull request
269
269
 
@@ -92,14 +92,26 @@ Crackerjack is built on the following core principles:
92
92
  ### Install UV
93
93
 
94
94
  ```bash
95
+ # Recommended: Official installer script
96
+ curl -LsSf https://astral.sh/uv/install.sh | sh
97
+
98
+ # Alternative: Using pipx
95
99
  pipx install uv
100
+
101
+ # Alternative: Using Homebrew (macOS)
102
+ brew install uv
96
103
  ```
97
104
 
98
105
  ### Install Crackerjack
99
106
 
100
107
  ```bash
108
+ # Recommended: Using UV (fastest)
109
+ uv tool install crackerjack
110
+
111
+ # Alternative: Using pip
101
112
  pip install crackerjack
102
- # or
113
+
114
+ # For existing project: Add as dependency
103
115
  uv add crackerjack
104
116
  ```
105
117
 
@@ -485,10 +497,10 @@ Model Context Protocol (MCP) enables AI agents to interact directly with Cracker
485
497
 
486
498
  ### Setup MCP Server
487
499
 
488
- 1. **Install MCP dependencies:**
500
+ 1. **Install development dependencies (includes MCP tools):**
489
501
 
490
502
  ```bash
491
- uv sync --group mcp
503
+ uv sync --group dev
492
504
  ```
493
505
 
494
506
  1. **Start the MCP server:**
@@ -1127,7 +1139,7 @@ python -m crackerjack --start-mcp-server --verbose
1127
1139
  ## Contributing
1128
1140
 
1129
1141
  1. Fork and clone the repository
1130
- 1. Run `uv sync --all-groups` to install dependencies
1142
+ 1. Run `uv sync --group dev` to install dependencies
1131
1143
  1. Ensure `python -m crackerjack` passes all checks
1132
1144
  1. Submit pull request
1133
1145
 
@@ -145,6 +145,10 @@ def validate_file(file_path: Path) -> list[tuple[int, str]]:
145
145
 
146
146
 
147
147
  def main(file_paths: list[str]) -> int:
148
+ if not file_paths:
149
+ print("✅ No Python files to validate")
150
+ return 0
151
+
148
152
  exit_code = 0
149
153
 
150
154
  for file_path_str in file_paths:
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "crackerjack"
9
- version = "0.40.3"
9
+ version = "0.41.2"
10
10
  description = "Crackerjack Python project management tool"
11
11
  readme = "README.md"
12
12
  authors = [
@@ -397,7 +397,6 @@ real_time_feedback = true
397
397
 
398
398
  [dependency-groups]
399
399
  dev = [
400
- "crackerjack",
401
400
  "excalidraw-mcp>=0.34.0",
402
401
  "session-mgmt-mcp>=0.4.0",
403
402
  ]
@@ -0,0 +1,23 @@
1
+ def test_handle_subprocess_error_basic(self):
2
+ """Test basic functionality of handle_subprocess_error."""
3
+ try:
4
+ result = handle_subprocess_error()
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 handle_subprocess_error: {e}")
12
+
13
+ def test_handle_file_operation_error_basic(self):
14
+ """Test basic functionality of handle_file_operation_error."""
15
+ try:
16
+ result = handle_file_operation_error()
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 handle_file_operation_error: {e}")
@@ -152,4 +152,100 @@ def test_print_stats_basic(self):
152
152
  "Function requires specific arguments - manual implementation needed"
153
153
  )
154
154
  except Exception as e:
155
- pytest.fail(f"Unexpected error in print_stats: {e}")
155
+ pytest.fail(f"Unexpected error in print_stats: {e}")
156
+
157
+ def test_decorator_basic(self):
158
+ """Test basic functionality of decorator."""
159
+ try:
160
+ result = decorator()
161
+ assert result is not None or result is None
162
+ except TypeError:
163
+ pytest.skip(
164
+ "Function requires specific arguments - manual implementation needed"
165
+ )
166
+ except Exception as e:
167
+ pytest.fail(f"Unexpected error in decorator: {e}")
168
+
169
+ def test_get_python_files_basic(self):
170
+ """Test basic functionality of get_python_files."""
171
+ try:
172
+ result = get_python_files()
173
+ assert result is not None or result is None
174
+ except TypeError:
175
+ pytest.skip(
176
+ "Function requires specific arguments - manual implementation needed"
177
+ )
178
+ except Exception as e:
179
+ pytest.fail(f"Unexpected error in get_python_files: {e}")
180
+
181
+ def test_get_modified_files_basic(self):
182
+ """Test basic functionality of get_modified_files."""
183
+ try:
184
+ result = get_modified_files()
185
+ assert result is not None or result is None
186
+ except TypeError:
187
+ pytest.skip(
188
+ "Function requires specific arguments - manual implementation needed"
189
+ )
190
+ except Exception as e:
191
+ pytest.fail(f"Unexpected error in get_modified_files: {e}")
192
+
193
+ def test_clear_cache_basic(self):
194
+ """Test basic functionality of clear_cache."""
195
+ try:
196
+ result = clear_cache()
197
+ assert result is not None or result is None
198
+ except TypeError:
199
+ pytest.skip(
200
+ "Function requires specific arguments - manual implementation needed"
201
+ )
202
+ except Exception as e:
203
+ pytest.fail(f"Unexpected error in clear_cache: {e}")
204
+
205
+ def test_execute_tasks_basic(self):
206
+ """Test basic functionality of execute_tasks."""
207
+ try:
208
+ result = execute_tasks()
209
+ assert result is not None or result is None
210
+ except TypeError:
211
+ pytest.skip(
212
+ "Function requires specific arguments - manual implementation needed"
213
+ )
214
+ except Exception as e:
215
+ pytest.fail(f"Unexpected error in execute_tasks: {e}")
216
+
217
+ def test_run_command_basic(self):
218
+ """Test basic functionality of run_command."""
219
+ try:
220
+ result = run_command()
221
+ assert result is not None or result is None
222
+ except TypeError:
223
+ pytest.skip(
224
+ "Function requires specific arguments - manual implementation needed"
225
+ )
226
+ except Exception as e:
227
+ pytest.fail(f"Unexpected error in run_command: {e}")
228
+
229
+ def test_wrapper_basic(self):
230
+ """Test basic functionality of wrapper."""
231
+ try:
232
+ result = wrapper()
233
+ assert result is not None or result is None
234
+ except TypeError:
235
+ pytest.skip(
236
+ "Function requires specific arguments - manual implementation needed"
237
+ )
238
+ except Exception as e:
239
+ pytest.fail(f"Unexpected error in wrapper: {e}")
240
+
241
+ def test_wrapper_basic(self):
242
+ """Test basic functionality of wrapper."""
243
+ try:
244
+ result = wrapper()
245
+ assert result is not None or result is None
246
+ except TypeError:
247
+ pytest.skip(
248
+ "Function requires specific arguments - manual implementation needed"
249
+ )
250
+ except Exception as e:
251
+ pytest.fail(f"Unexpected error in wrapper: {e}")
@@ -405,7 +405,7 @@ wheels = [
405
405
 
406
406
  [[package]]
407
407
  name = "crackerjack"
408
- version = "0.40.2"
408
+ version = "0.41.1"
409
409
  source = { editable = "." }
410
410
  dependencies = [
411
411
  { name = "aiofiles" },
@@ -462,7 +462,6 @@ dependencies = [
462
462
 
463
463
  [package.dev-dependencies]
464
464
  dev = [
465
- { name = "crackerjack" },
466
465
  { name = "excalidraw-mcp" },
467
466
  { name = "session-mgmt-mcp" },
468
467
  ]
@@ -523,7 +522,6 @@ requires-dist = [
523
522
 
524
523
  [package.metadata.requires-dev]
525
524
  dev = [
526
- { name = "crackerjack" },
527
525
  { name = "excalidraw-mcp", specifier = ">=0.34.0" },
528
526
  { name = "session-mgmt-mcp", specifier = ">=0.4.0" },
529
527
  ]
@@ -2741,7 +2739,7 @@ wheels = [
2741
2739
 
2742
2740
  [[package]]
2743
2741
  name = "session-mgmt-mcp"
2744
- version = "0.7.0"
2742
+ version = "0.7.3"
2745
2743
  source = { registry = "https://pypi.org/simple" }
2746
2744
  dependencies = [
2747
2745
  { name = "crackerjack" },
@@ -2759,9 +2757,9 @@ dependencies = [
2759
2757
  { name = "transformers" },
2760
2758
  { name = "typer" },
2761
2759
  ]
2762
- sdist = { url = "https://files.pythonhosted.org/packages/8b/13/339e2be977131e7a7487084509e121c61ac51fe8d2eac4a8d5a603cefa2e/session_mgmt_mcp-0.7.0.tar.gz", hash = "sha256:f98597d6fff94b5a84990ef11d6a3d08b985e8b273ce47e78a8b49519e0ded94", size = 678207, upload-time = "2025-10-04T11:43:56.813Z" }
2760
+ sdist = { url = "https://files.pythonhosted.org/packages/e0/42/1fe74990c071fcaed2f39399ec8dac56cdf03c1ccab1d5a37d270ffc64cc/session_mgmt_mcp-0.7.3.tar.gz", hash = "sha256:5874c1b94a3b7bfe5144cc676e0413f0082e024be5cfffedb8ec5839062429cd", size = 677906, upload-time = "2025-10-04T19:52:15.679Z" }
2763
2761
  wheels = [
2764
- { url = "https://files.pythonhosted.org/packages/fa/9f/a0a538d2b172a18032b1e013793ed54ad98345ca6dc4d0712910b948b5d8/session_mgmt_mcp-0.7.0-py3-none-any.whl", hash = "sha256:9cf613d79c98291c8565b04fb837a0074fc0d3ba0383e2b45d34fb95064ee65f", size = 273361, upload-time = "2025-10-04T11:43:54.794Z" },
2762
+ { url = "https://files.pythonhosted.org/packages/d9/a7/fb94fee4bcc2dbbaf25c16dc3aa56df35066555089afc778acdd255efe11/session_mgmt_mcp-0.7.3-py3-none-any.whl", hash = "sha256:407a6a7ba0809320ef80a67eedf5162c641451c0d945e40fce68f7da545a541c", size = 273356, upload-time = "2025-10-04T19:52:14.13Z" },
2765
2763
  ]
2766
2764
 
2767
2765
  [[package]]
@@ -3139,28 +3137,28 @@ wheels = [
3139
3137
 
3140
3138
  [[package]]
3141
3139
  name = "uv"
3142
- version = "0.8.22"
3143
- source = { registry = "https://pypi.org/simple" }
3144
- sdist = { url = "https://files.pythonhosted.org/packages/a6/39/231e123458d50dd497cf6d27b592f5d3bc3e2e50f496b56859865a7b22e3/uv-0.8.22.tar.gz", hash = "sha256:e6e1289c411d43e0ca245f46e76457f3807de646d90b656591b6cf46348bed5c", size = 3667007, upload-time = "2025-09-23T20:35:14.736Z" }
3145
- wheels = [
3146
- { url = "https://files.pythonhosted.org/packages/7c/e6/bb440171dd8a36d0f9874b4c71778f7bbc83e62ccf42c62bd1583c802793/uv-0.8.22-py3-none-linux_armv6l.whl", hash = "sha256:7350c5f82d9c38944e6466933edcf96a90e0cb85eae5c0e53a5bc716d6f62332", size = 20554993, upload-time = "2025-09-23T20:34:26.549Z" },
3147
- { url = "https://files.pythonhosted.org/packages/28/e9/813f7eb9fb9694c4024362782c8933e37887b5195e189f80dc40f2da5958/uv-0.8.22-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:89944e99b04cc8542cb5931306f1c593f00c9d6f2b652fffc4d84d12b915f911", size = 19565276, upload-time = "2025-09-23T20:34:30.436Z" },
3148
- { url = "https://files.pythonhosted.org/packages/d7/ca/bf37d86af6e16e45fa2b1a03300784ff3297aa9252a23dfbeaf6e391e72e/uv-0.8.22-py3-none-macosx_11_0_arm64.whl", hash = "sha256:6706b782ad75662df794e186d16b9ffa4946d57c88f21d0eadfd43425794d1b0", size = 18162303, upload-time = "2025-09-23T20:34:32.761Z" },
3149
- { url = "https://files.pythonhosted.org/packages/e4/eb/289b6a59fff1613958499a886283f52403c5ce4f0a8a550b86fbd70e8e4f/uv-0.8.22-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:d6a33bd5309f8fb77d9fc249bb17f77a23426e6153e43b03ca1cd6640f0a423d", size = 19982769, upload-time = "2025-09-23T20:34:34.962Z" },
3150
- { url = "https://files.pythonhosted.org/packages/df/ba/2fcc3ce75be62eecf280f3cbe74d186f371a468fad3167b5a34dee2f904e/uv-0.8.22-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a982bdd5d239dd6dd2b4219165e209c75af1e1819730454ee46d65b3ccf77a3", size = 20163849, upload-time = "2025-09-23T20:34:37.744Z" },
3151
- { url = "https://files.pythonhosted.org/packages/f4/4d/4fc9a508c2c497a80c41710c96f1782a29edecffcac742f3843af061ba8f/uv-0.8.22-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58b6fb191a04b922dc3c8fea6660f58545a651843d7d0efa9ae69164fca9e05d", size = 21130147, upload-time = "2025-09-23T20:34:40.414Z" },
3152
- { url = "https://files.pythonhosted.org/packages/71/79/6bcb3c3c3b7c9cb1a162a76dca2b166752e4ba39ec90e802b252f0a54039/uv-0.8.22-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:8ea724ae9f15c0cb4964e9e2e1b21df65c56ae02a54dc1d8a6ea44a52d819268", size = 22561974, upload-time = "2025-09-23T20:34:42.843Z" },
3153
- { url = "https://files.pythonhosted.org/packages/3f/98/89bb29d82ff7e5ab1b5e862d9bdc12b1d3a4d5201cf558432487e29cc448/uv-0.8.22-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7378127cbd6ebce8ba6d9bdb88aa8ea995b579824abb5ec381c63b3a123a43be", size = 22183189, upload-time = "2025-09-23T20:34:45.57Z" },
3154
- { url = "https://files.pythonhosted.org/packages/95/b0/354c7d7d11fff2ee97bb208f0fec6b09ae885c0d591b6eff2d7b84cc6695/uv-0.8.22-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e761ca7df8a0059b3fae6bc2c1db24583fa00b016e35bd22a5599d7084471a7", size = 21492888, upload-time = "2025-09-23T20:34:48.45Z" },
3155
- { url = "https://files.pythonhosted.org/packages/3a/a9/a83cee9b8cf63e57ce64ba27c77777cc66410e144fd178368f55af1fa18d/uv-0.8.22-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8efec4ef5acddc35f0867998c44e0b15fc4dace1e4c26d01443871a2fbb04bf6", size = 21252972, upload-time = "2025-09-23T20:34:50.862Z" },
3156
- { url = "https://files.pythonhosted.org/packages/0f/0c/71d5d5d3fca7aa788d63297a06ca26d3585270342277b52312bb693b100c/uv-0.8.22-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:9eb3b4abfa25e07d7e1bb4c9bb8dbbdd51878356a37c3c4a2ece3d68d4286f28", size = 20115520, upload-time = "2025-09-23T20:34:53.165Z" },
3157
- { url = "https://files.pythonhosted.org/packages/da/90/57fae2798be1e71692872b8304e2e2c345eacbe2070bdcbba6d5a7675fa1/uv-0.8.22-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:b1fdffc2e71892ce648b66317e478fe8884d0007e20cfa582fff3dcea588a450", size = 21168787, upload-time = "2025-09-23T20:34:55.638Z" },
3158
- { url = "https://files.pythonhosted.org/packages/fe/f6/23c8d8fdd1084603795f6344eee8e763ba06f891e863397fe5b7b532cb58/uv-0.8.22-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:f6ded9bacb31441d788afca397b8b884ebc2e70f903bea0a38806194be4b249c", size = 20170112, upload-time = "2025-09-23T20:34:58.008Z" },
3159
- { url = "https://files.pythonhosted.org/packages/96/23/801d517964a7200014897522ae067bf7111fc2e138b38d13d9df9544bf06/uv-0.8.22-py3-none-musllinux_1_1_i686.whl", hash = "sha256:aefa0cb27a86d2145ca9290a1e99c16a17ea26a4f14a89fb7336bc19388427cc", size = 20537608, upload-time = "2025-09-23T20:35:00.44Z" },
3160
- { url = "https://files.pythonhosted.org/packages/20/8a/1bd4159089f8df0128e4ceb7f4c31c23a451984a5b49c13489c70e721335/uv-0.8.22-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:9757f0b0c7d296f1e354db442ed0ce39721c06d11635ce4ee6638c5e809a9cb4", size = 21471224, upload-time = "2025-09-23T20:35:03.718Z" },
3161
- { url = "https://files.pythonhosted.org/packages/86/ba/262d16059e3b0837728e8aa3590fc2c7bc23e0cefec81d6903b4b6af080a/uv-0.8.22-py3-none-win32.whl", hash = "sha256:36c7aecdb0044caf15ace00da00af172759c49c832f0017b7433d80f46552cd3", size = 19350586, upload-time = "2025-09-23T20:35:06.837Z" },
3162
- { url = "https://files.pythonhosted.org/packages/38/82/94f08992eeb193dc3d5baac437d1867cd37f040f34c7b1a4b1bde2bc4b4b/uv-0.8.22-py3-none-win_amd64.whl", hash = "sha256:cda349c9ea53644d8d9ceae30db71616b733eb5330375ab4259765aef494b74e", size = 21355960, upload-time = "2025-09-23T20:35:09.472Z" },
3163
- { url = "https://files.pythonhosted.org/packages/f9/00/2c7a93bbe93b74dc0496a8e875bac11027cb30c29636c106c6e49038b95f/uv-0.8.22-py3-none-win_arm64.whl", hash = "sha256:2a436b941b6e79fe1e1065b705a5689d72210f4367cbe885e19910cbcde2e4a1", size = 19778983, upload-time = "2025-09-23T20:35:12.188Z" },
3140
+ version = "0.8.23"
3141
+ source = { registry = "https://pypi.org/simple" }
3142
+ sdist = { url = "https://files.pythonhosted.org/packages/dc/85/6ae7e6a003bf815a1774c11e08de56f2037e1dad0bbbe050c7d3bd57be14/uv-0.8.23.tar.gz", hash = "sha256:1d3ee6f88b77429454172048a9672b8058607abcdf66cb8229707f0312a6752c", size = 3667341, upload-time = "2025-10-04T18:23:53.47Z" }
3143
+ wheels = [
3144
+ { url = "https://files.pythonhosted.org/packages/06/50/19a48639b2f61bf3f42d92e556494e3b39ccb58287b8b3244236b9d9df45/uv-0.8.23-py3-none-linux_armv6l.whl", hash = "sha256:58879ab3544ed0d7996dc5d9f87ce6a9770bd8f7886d8504298f62c481ecd9fd", size = 20599279, upload-time = "2025-10-04T18:23:06.64Z" },
3145
+ { url = "https://files.pythonhosted.org/packages/d7/26/36b3b37ca79bfff6998d7e9567465e6e3b4acf3fe1c7b226302272369240/uv-0.8.23-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3a5c6cfad0a7b92e2a2ddf121e86171c7b850ccbdbc82b49afb8014e60d7dd84", size = 19580214, upload-time = "2025-10-04T18:23:10.551Z" },
3146
+ { url = "https://files.pythonhosted.org/packages/97/a1/e64b4c9a4db6c6ce6ee286991ce98e9cbf472402a5d09f216b85f2287465/uv-0.8.23-py3-none-macosx_11_0_arm64.whl", hash = "sha256:092404eb361f2f6cddf2c0a195c3f4bd2bc8baae60ed8b43409f93f672992b40", size = 18193303, upload-time = "2025-10-04T18:23:12.955Z" },
3147
+ { url = "https://files.pythonhosted.org/packages/f4/d7/8dfd344ca878b4de2d6e43636792ecef9d4870dd3735b3cb4951cfc22b0b/uv-0.8.23-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:8d891aa0f82d67ed32811e1f3e6f314c6b0759a01b5b7676b4969196caf74295", size = 19968823, upload-time = "2025-10-04T18:23:15.861Z" },
3148
+ { url = "https://files.pythonhosted.org/packages/02/91/cbf2ebd1642577af2054842fb22cf21f7fa71d59a05ef5bda8f065ea8cc0/uv-0.8.23-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f59f3823750da8187d9b3c65b87eb2436c398f385befa0ec48a1118d2accea51", size = 20178276, upload-time = "2025-10-04T18:23:19.056Z" },
3149
+ { url = "https://files.pythonhosted.org/packages/9d/d3/fefd0589f235c4c1d9b66baaad1472705c4621edc2eb7dabb0d98fc84d72/uv-0.8.23-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96c1abfcd2c44c3ac8dec5079e1e51497f371a04c97978fed2a16d1c7343e471", size = 21059931, upload-time = "2025-10-04T18:23:21.316Z" },
3150
+ { url = "https://files.pythonhosted.org/packages/f7/98/7c7237d891c5d8a350bb9d59593fc103add12269ff983e13bd18bbb52b3e/uv-0.8.23-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:042c2e8b701a55078e0eb6f164c7bf550b6040437036dc572db39115cdaa5a23", size = 22547863, upload-time = "2025-10-04T18:23:24.108Z" },
3151
+ { url = "https://files.pythonhosted.org/packages/03/79/c5043180fc6c1f68e4752e0067ffbb8273fea6bafc3ff4e3e1be9c69d63c/uv-0.8.23-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db02664898449af91a60b4caedc4a18944efc6375d814aa2e424204e975a43d7", size = 22172574, upload-time = "2025-10-04T18:23:26.775Z" },
3152
+ { url = "https://files.pythonhosted.org/packages/f6/73/2c472e40fc31f0fd61a41499bf1559af4d662ffa884b4d575f09c695b52e/uv-0.8.23-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e310bd2b77f0e1cf5d8d31f918292e36d884eb7eed76561198a195baee72f277", size = 21272611, upload-time = "2025-10-04T18:23:28.991Z" },
3153
+ { url = "https://files.pythonhosted.org/packages/c4/2f/4f4e49dd04a90d982e76abbe0b6747187006a42b04f611042b525bb05c4b/uv-0.8.23-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:126ca80b6f72859998e2036679ce21c9b5024df0a09d8112698adc4153c3a1a7", size = 21239185, upload-time = "2025-10-04T18:23:31.258Z" },
3154
+ { url = "https://files.pythonhosted.org/packages/2b/35/2932f49ab0c6991e51e870bbf9fdef2a82f77cb5ed038a15b05dc9ce2c3e/uv-0.8.23-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:1a695477c367cb5568a33c8cf075280853eebbdec387c861e27e7d9201985d5f", size = 20097560, upload-time = "2025-10-04T18:23:33.975Z" },
3155
+ { url = "https://files.pythonhosted.org/packages/53/ef/d34f514d759b3a2068c50d9dd68672fc5b6be9c8cd585eb311ded73a2b20/uv-0.8.23-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:cf4b8b167ff38ebcdc2dbd26b9918a2b3d937f4f2811280cbebdd937a838184e", size = 21187580, upload-time = "2025-10-04T18:23:36.365Z" },
3156
+ { url = "https://files.pythonhosted.org/packages/b0/a9/52ef1b04419d1bb9ba870fc6fae4fa7b217e5dea079fb3dd7f212965fb89/uv-0.8.23-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:2884ab47ac18dcd24e366544ab93938ce8ab1aea38d896e87d92c44f08bb0bc1", size = 20136752, upload-time = "2025-10-04T18:23:38.68Z" },
3157
+ { url = "https://files.pythonhosted.org/packages/15/07/6ab974393935d37c4f6fa05ee27096ba5fd28850ae8ae049fad6f11febf8/uv-0.8.23-py3-none-musllinux_1_1_i686.whl", hash = "sha256:287430978458afbeab22aa2aafbfe3f5ec90f1054e7d4faec4156282930c44cb", size = 20494797, upload-time = "2025-10-04T18:23:40.947Z" },
3158
+ { url = "https://files.pythonhosted.org/packages/1b/f6/250531420babcd2e121c0998611e785335b7766989496ad405d42ef5f580/uv-0.8.23-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:16cbae67231acdd704e5e589d6fd37e16222d9fff32ca117a0cb3213be65fdf8", size = 21432784, upload-time = "2025-10-04T18:23:43.671Z" },
3159
+ { url = "https://files.pythonhosted.org/packages/7a/38/0c65b9c2305cd07e938b19d074dd6db5a7fd0a9dac86813b17d0d53e1759/uv-0.8.23-py3-none-win32.whl", hash = "sha256:f52c8068569d50e1b6d7670f709f5894f0e2f09c094d578d7d12cff0166924ad", size = 19331051, upload-time = "2025-10-04T18:23:46.268Z" },
3160
+ { url = "https://files.pythonhosted.org/packages/f1/1e/46f242f974e4480b157ee8276d8c21fb2a975b842e321b72497e27889f8f/uv-0.8.23-py3-none-win_amd64.whl", hash = "sha256:39bc5cd9310ef7a4f567885ba48fd4f6174029986351321fcfa5887076f82380", size = 21380950, upload-time = "2025-10-04T18:23:48.959Z" },
3161
+ { url = "https://files.pythonhosted.org/packages/82/6b/37f0cfa325bb4a4a462aee8e0e2d1d1f409b7f4dcfa84b19022f28be8a5b/uv-0.8.23-py3-none-win_arm64.whl", hash = "sha256:cc1725b546edae8d66d9b10aa2616ac5f93c3fa62c1ec72087afcb4b4b802e99", size = 19821125, upload-time = "2025-10-04T18:23:51.584Z" },
3164
3162
  ]
3165
3163
 
3166
3164
  [[package]]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes