crackerjack 0.18.2__py3-none-any.whl → 0.45.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. crackerjack/README.md +19 -0
  2. crackerjack/__init__.py +96 -2
  3. crackerjack/__main__.py +637 -138
  4. crackerjack/adapters/README.md +18 -0
  5. crackerjack/adapters/__init__.py +39 -0
  6. crackerjack/adapters/_output_paths.py +167 -0
  7. crackerjack/adapters/_qa_adapter_base.py +309 -0
  8. crackerjack/adapters/_tool_adapter_base.py +706 -0
  9. crackerjack/adapters/ai/README.md +65 -0
  10. crackerjack/adapters/ai/__init__.py +5 -0
  11. crackerjack/adapters/ai/claude.py +853 -0
  12. crackerjack/adapters/complexity/README.md +53 -0
  13. crackerjack/adapters/complexity/__init__.py +10 -0
  14. crackerjack/adapters/complexity/complexipy.py +641 -0
  15. crackerjack/adapters/dependency/__init__.py +22 -0
  16. crackerjack/adapters/dependency/pip_audit.py +418 -0
  17. crackerjack/adapters/format/README.md +72 -0
  18. crackerjack/adapters/format/__init__.py +11 -0
  19. crackerjack/adapters/format/mdformat.py +313 -0
  20. crackerjack/adapters/format/ruff.py +516 -0
  21. crackerjack/adapters/lint/README.md +47 -0
  22. crackerjack/adapters/lint/__init__.py +11 -0
  23. crackerjack/adapters/lint/codespell.py +273 -0
  24. crackerjack/adapters/lsp/README.md +49 -0
  25. crackerjack/adapters/lsp/__init__.py +27 -0
  26. crackerjack/adapters/lsp/_base.py +194 -0
  27. crackerjack/adapters/lsp/_client.py +358 -0
  28. crackerjack/adapters/lsp/_manager.py +193 -0
  29. crackerjack/adapters/lsp/skylos.py +283 -0
  30. crackerjack/adapters/lsp/zuban.py +557 -0
  31. crackerjack/adapters/refactor/README.md +59 -0
  32. crackerjack/adapters/refactor/__init__.py +12 -0
  33. crackerjack/adapters/refactor/creosote.py +318 -0
  34. crackerjack/adapters/refactor/refurb.py +406 -0
  35. crackerjack/adapters/refactor/skylos.py +494 -0
  36. crackerjack/adapters/sast/README.md +132 -0
  37. crackerjack/adapters/sast/__init__.py +32 -0
  38. crackerjack/adapters/sast/_base.py +201 -0
  39. crackerjack/adapters/sast/bandit.py +423 -0
  40. crackerjack/adapters/sast/pyscn.py +405 -0
  41. crackerjack/adapters/sast/semgrep.py +241 -0
  42. crackerjack/adapters/security/README.md +111 -0
  43. crackerjack/adapters/security/__init__.py +17 -0
  44. crackerjack/adapters/security/gitleaks.py +339 -0
  45. crackerjack/adapters/type/README.md +52 -0
  46. crackerjack/adapters/type/__init__.py +12 -0
  47. crackerjack/adapters/type/pyrefly.py +402 -0
  48. crackerjack/adapters/type/ty.py +402 -0
  49. crackerjack/adapters/type/zuban.py +522 -0
  50. crackerjack/adapters/utility/README.md +51 -0
  51. crackerjack/adapters/utility/__init__.py +10 -0
  52. crackerjack/adapters/utility/checks.py +884 -0
  53. crackerjack/agents/README.md +264 -0
  54. crackerjack/agents/__init__.py +66 -0
  55. crackerjack/agents/architect_agent.py +238 -0
  56. crackerjack/agents/base.py +167 -0
  57. crackerjack/agents/claude_code_bridge.py +641 -0
  58. crackerjack/agents/coordinator.py +600 -0
  59. crackerjack/agents/documentation_agent.py +520 -0
  60. crackerjack/agents/dry_agent.py +585 -0
  61. crackerjack/agents/enhanced_coordinator.py +279 -0
  62. crackerjack/agents/enhanced_proactive_agent.py +185 -0
  63. crackerjack/agents/error_middleware.py +53 -0
  64. crackerjack/agents/formatting_agent.py +230 -0
  65. crackerjack/agents/helpers/__init__.py +9 -0
  66. crackerjack/agents/helpers/performance/__init__.py +22 -0
  67. crackerjack/agents/helpers/performance/performance_ast_analyzer.py +357 -0
  68. crackerjack/agents/helpers/performance/performance_pattern_detector.py +909 -0
  69. crackerjack/agents/helpers/performance/performance_recommender.py +572 -0
  70. crackerjack/agents/helpers/refactoring/__init__.py +22 -0
  71. crackerjack/agents/helpers/refactoring/code_transformer.py +536 -0
  72. crackerjack/agents/helpers/refactoring/complexity_analyzer.py +344 -0
  73. crackerjack/agents/helpers/refactoring/dead_code_detector.py +437 -0
  74. crackerjack/agents/helpers/test_creation/__init__.py +19 -0
  75. crackerjack/agents/helpers/test_creation/test_ast_analyzer.py +216 -0
  76. crackerjack/agents/helpers/test_creation/test_coverage_analyzer.py +643 -0
  77. crackerjack/agents/helpers/test_creation/test_template_generator.py +1031 -0
  78. crackerjack/agents/import_optimization_agent.py +1181 -0
  79. crackerjack/agents/performance_agent.py +325 -0
  80. crackerjack/agents/performance_helpers.py +205 -0
  81. crackerjack/agents/proactive_agent.py +55 -0
  82. crackerjack/agents/refactoring_agent.py +511 -0
  83. crackerjack/agents/refactoring_helpers.py +247 -0
  84. crackerjack/agents/security_agent.py +793 -0
  85. crackerjack/agents/semantic_agent.py +479 -0
  86. crackerjack/agents/semantic_helpers.py +356 -0
  87. crackerjack/agents/test_creation_agent.py +570 -0
  88. crackerjack/agents/test_specialist_agent.py +526 -0
  89. crackerjack/agents/tracker.py +110 -0
  90. crackerjack/api.py +647 -0
  91. crackerjack/cli/README.md +394 -0
  92. crackerjack/cli/__init__.py +24 -0
  93. crackerjack/cli/cache_handlers.py +209 -0
  94. crackerjack/cli/cache_handlers_enhanced.py +680 -0
  95. crackerjack/cli/facade.py +162 -0
  96. crackerjack/cli/formatting.py +13 -0
  97. crackerjack/cli/handlers/__init__.py +85 -0
  98. crackerjack/cli/handlers/advanced.py +103 -0
  99. crackerjack/cli/handlers/ai_features.py +62 -0
  100. crackerjack/cli/handlers/analytics.py +479 -0
  101. crackerjack/cli/handlers/changelog.py +271 -0
  102. crackerjack/cli/handlers/config_handlers.py +16 -0
  103. crackerjack/cli/handlers/coverage.py +84 -0
  104. crackerjack/cli/handlers/documentation.py +280 -0
  105. crackerjack/cli/handlers/main_handlers.py +497 -0
  106. crackerjack/cli/handlers/monitoring.py +371 -0
  107. crackerjack/cli/handlers.py +700 -0
  108. crackerjack/cli/interactive.py +488 -0
  109. crackerjack/cli/options.py +1216 -0
  110. crackerjack/cli/semantic_handlers.py +292 -0
  111. crackerjack/cli/utils.py +19 -0
  112. crackerjack/cli/version.py +19 -0
  113. crackerjack/code_cleaner.py +1307 -0
  114. crackerjack/config/README.md +472 -0
  115. crackerjack/config/__init__.py +275 -0
  116. crackerjack/config/global_lock_config.py +207 -0
  117. crackerjack/config/hooks.py +390 -0
  118. crackerjack/config/loader.py +239 -0
  119. crackerjack/config/settings.py +141 -0
  120. crackerjack/config/tool_commands.py +331 -0
  121. crackerjack/core/README.md +393 -0
  122. crackerjack/core/__init__.py +0 -0
  123. crackerjack/core/async_workflow_orchestrator.py +738 -0
  124. crackerjack/core/autofix_coordinator.py +282 -0
  125. crackerjack/core/container.py +105 -0
  126. crackerjack/core/enhanced_container.py +583 -0
  127. crackerjack/core/file_lifecycle.py +472 -0
  128. crackerjack/core/performance.py +244 -0
  129. crackerjack/core/performance_monitor.py +357 -0
  130. crackerjack/core/phase_coordinator.py +1227 -0
  131. crackerjack/core/proactive_workflow.py +267 -0
  132. crackerjack/core/resource_manager.py +425 -0
  133. crackerjack/core/retry.py +275 -0
  134. crackerjack/core/service_watchdog.py +601 -0
  135. crackerjack/core/session_coordinator.py +239 -0
  136. crackerjack/core/timeout_manager.py +563 -0
  137. crackerjack/core/websocket_lifecycle.py +410 -0
  138. crackerjack/core/workflow/__init__.py +21 -0
  139. crackerjack/core/workflow/workflow_ai_coordinator.py +863 -0
  140. crackerjack/core/workflow/workflow_event_orchestrator.py +1107 -0
  141. crackerjack/core/workflow/workflow_issue_parser.py +714 -0
  142. crackerjack/core/workflow/workflow_phase_executor.py +1158 -0
  143. crackerjack/core/workflow/workflow_security_gates.py +400 -0
  144. crackerjack/core/workflow_orchestrator.py +2243 -0
  145. crackerjack/data/README.md +11 -0
  146. crackerjack/data/__init__.py +8 -0
  147. crackerjack/data/models.py +79 -0
  148. crackerjack/data/repository.py +210 -0
  149. crackerjack/decorators/README.md +180 -0
  150. crackerjack/decorators/__init__.py +35 -0
  151. crackerjack/decorators/error_handling.py +649 -0
  152. crackerjack/decorators/error_handling_decorators.py +334 -0
  153. crackerjack/decorators/helpers.py +58 -0
  154. crackerjack/decorators/patterns.py +281 -0
  155. crackerjack/decorators/utils.py +58 -0
  156. crackerjack/docs/INDEX.md +11 -0
  157. crackerjack/docs/README.md +11 -0
  158. crackerjack/docs/generated/api/API_REFERENCE.md +10895 -0
  159. crackerjack/docs/generated/api/CLI_REFERENCE.md +109 -0
  160. crackerjack/docs/generated/api/CROSS_REFERENCES.md +1755 -0
  161. crackerjack/docs/generated/api/PROTOCOLS.md +3 -0
  162. crackerjack/docs/generated/api/SERVICES.md +1252 -0
  163. crackerjack/documentation/README.md +11 -0
  164. crackerjack/documentation/__init__.py +31 -0
  165. crackerjack/documentation/ai_templates.py +756 -0
  166. crackerjack/documentation/dual_output_generator.py +767 -0
  167. crackerjack/documentation/mkdocs_integration.py +518 -0
  168. crackerjack/documentation/reference_generator.py +1065 -0
  169. crackerjack/dynamic_config.py +678 -0
  170. crackerjack/errors.py +378 -0
  171. crackerjack/events/README.md +11 -0
  172. crackerjack/events/__init__.py +16 -0
  173. crackerjack/events/telemetry.py +175 -0
  174. crackerjack/events/workflow_bus.py +346 -0
  175. crackerjack/exceptions/README.md +301 -0
  176. crackerjack/exceptions/__init__.py +5 -0
  177. crackerjack/exceptions/config.py +4 -0
  178. crackerjack/exceptions/tool_execution_error.py +245 -0
  179. crackerjack/executors/README.md +591 -0
  180. crackerjack/executors/__init__.py +13 -0
  181. crackerjack/executors/async_hook_executor.py +938 -0
  182. crackerjack/executors/cached_hook_executor.py +316 -0
  183. crackerjack/executors/hook_executor.py +1295 -0
  184. crackerjack/executors/hook_lock_manager.py +708 -0
  185. crackerjack/executors/individual_hook_executor.py +739 -0
  186. crackerjack/executors/lsp_aware_hook_executor.py +349 -0
  187. crackerjack/executors/progress_hook_executor.py +282 -0
  188. crackerjack/executors/tool_proxy.py +433 -0
  189. crackerjack/hooks/README.md +485 -0
  190. crackerjack/hooks/lsp_hook.py +93 -0
  191. crackerjack/intelligence/README.md +557 -0
  192. crackerjack/intelligence/__init__.py +37 -0
  193. crackerjack/intelligence/adaptive_learning.py +693 -0
  194. crackerjack/intelligence/agent_orchestrator.py +485 -0
  195. crackerjack/intelligence/agent_registry.py +377 -0
  196. crackerjack/intelligence/agent_selector.py +439 -0
  197. crackerjack/intelligence/integration.py +250 -0
  198. crackerjack/interactive.py +719 -0
  199. crackerjack/managers/README.md +369 -0
  200. crackerjack/managers/__init__.py +11 -0
  201. crackerjack/managers/async_hook_manager.py +135 -0
  202. crackerjack/managers/hook_manager.py +585 -0
  203. crackerjack/managers/publish_manager.py +631 -0
  204. crackerjack/managers/test_command_builder.py +391 -0
  205. crackerjack/managers/test_executor.py +474 -0
  206. crackerjack/managers/test_manager.py +1357 -0
  207. crackerjack/managers/test_progress.py +187 -0
  208. crackerjack/mcp/README.md +374 -0
  209. crackerjack/mcp/__init__.py +0 -0
  210. crackerjack/mcp/cache.py +352 -0
  211. crackerjack/mcp/client_runner.py +121 -0
  212. crackerjack/mcp/context.py +802 -0
  213. crackerjack/mcp/dashboard.py +657 -0
  214. crackerjack/mcp/enhanced_progress_monitor.py +493 -0
  215. crackerjack/mcp/file_monitor.py +394 -0
  216. crackerjack/mcp/progress_components.py +607 -0
  217. crackerjack/mcp/progress_monitor.py +1016 -0
  218. crackerjack/mcp/rate_limiter.py +336 -0
  219. crackerjack/mcp/server.py +24 -0
  220. crackerjack/mcp/server_core.py +526 -0
  221. crackerjack/mcp/service_watchdog.py +505 -0
  222. crackerjack/mcp/state.py +407 -0
  223. crackerjack/mcp/task_manager.py +259 -0
  224. crackerjack/mcp/tools/README.md +27 -0
  225. crackerjack/mcp/tools/__init__.py +19 -0
  226. crackerjack/mcp/tools/core_tools.py +469 -0
  227. crackerjack/mcp/tools/error_analyzer.py +283 -0
  228. crackerjack/mcp/tools/execution_tools.py +384 -0
  229. crackerjack/mcp/tools/intelligence_tool_registry.py +46 -0
  230. crackerjack/mcp/tools/intelligence_tools.py +264 -0
  231. crackerjack/mcp/tools/monitoring_tools.py +628 -0
  232. crackerjack/mcp/tools/proactive_tools.py +367 -0
  233. crackerjack/mcp/tools/progress_tools.py +222 -0
  234. crackerjack/mcp/tools/semantic_tools.py +584 -0
  235. crackerjack/mcp/tools/utility_tools.py +358 -0
  236. crackerjack/mcp/tools/workflow_executor.py +699 -0
  237. crackerjack/mcp/websocket/README.md +31 -0
  238. crackerjack/mcp/websocket/__init__.py +14 -0
  239. crackerjack/mcp/websocket/app.py +54 -0
  240. crackerjack/mcp/websocket/endpoints.py +492 -0
  241. crackerjack/mcp/websocket/event_bridge.py +188 -0
  242. crackerjack/mcp/websocket/jobs.py +406 -0
  243. crackerjack/mcp/websocket/monitoring/__init__.py +25 -0
  244. crackerjack/mcp/websocket/monitoring/api/__init__.py +19 -0
  245. crackerjack/mcp/websocket/monitoring/api/dependencies.py +141 -0
  246. crackerjack/mcp/websocket/monitoring/api/heatmap.py +154 -0
  247. crackerjack/mcp/websocket/monitoring/api/intelligence.py +199 -0
  248. crackerjack/mcp/websocket/monitoring/api/metrics.py +203 -0
  249. crackerjack/mcp/websocket/monitoring/api/telemetry.py +101 -0
  250. crackerjack/mcp/websocket/monitoring/dashboard.py +18 -0
  251. crackerjack/mcp/websocket/monitoring/factory.py +109 -0
  252. crackerjack/mcp/websocket/monitoring/filters.py +10 -0
  253. crackerjack/mcp/websocket/monitoring/metrics.py +64 -0
  254. crackerjack/mcp/websocket/monitoring/models.py +90 -0
  255. crackerjack/mcp/websocket/monitoring/utils.py +171 -0
  256. crackerjack/mcp/websocket/monitoring/websocket_manager.py +78 -0
  257. crackerjack/mcp/websocket/monitoring/websockets/__init__.py +17 -0
  258. crackerjack/mcp/websocket/monitoring/websockets/dependencies.py +126 -0
  259. crackerjack/mcp/websocket/monitoring/websockets/heatmap.py +176 -0
  260. crackerjack/mcp/websocket/monitoring/websockets/intelligence.py +291 -0
  261. crackerjack/mcp/websocket/monitoring/websockets/metrics.py +291 -0
  262. crackerjack/mcp/websocket/monitoring_endpoints.py +21 -0
  263. crackerjack/mcp/websocket/server.py +174 -0
  264. crackerjack/mcp/websocket/websocket_handler.py +276 -0
  265. crackerjack/mcp/websocket_server.py +10 -0
  266. crackerjack/models/README.md +308 -0
  267. crackerjack/models/__init__.py +40 -0
  268. crackerjack/models/config.py +730 -0
  269. crackerjack/models/config_adapter.py +265 -0
  270. crackerjack/models/protocols.py +1535 -0
  271. crackerjack/models/pydantic_models.py +320 -0
  272. crackerjack/models/qa_config.py +145 -0
  273. crackerjack/models/qa_results.py +134 -0
  274. crackerjack/models/resource_protocols.py +299 -0
  275. crackerjack/models/results.py +35 -0
  276. crackerjack/models/semantic_models.py +258 -0
  277. crackerjack/models/task.py +173 -0
  278. crackerjack/models/test_models.py +60 -0
  279. crackerjack/monitoring/README.md +11 -0
  280. crackerjack/monitoring/__init__.py +0 -0
  281. crackerjack/monitoring/ai_agent_watchdog.py +405 -0
  282. crackerjack/monitoring/metrics_collector.py +427 -0
  283. crackerjack/monitoring/regression_prevention.py +580 -0
  284. crackerjack/monitoring/websocket_server.py +406 -0
  285. crackerjack/orchestration/README.md +340 -0
  286. crackerjack/orchestration/__init__.py +43 -0
  287. crackerjack/orchestration/advanced_orchestrator.py +894 -0
  288. crackerjack/orchestration/cache/README.md +312 -0
  289. crackerjack/orchestration/cache/__init__.py +37 -0
  290. crackerjack/orchestration/cache/memory_cache.py +338 -0
  291. crackerjack/orchestration/cache/tool_proxy_cache.py +340 -0
  292. crackerjack/orchestration/config.py +297 -0
  293. crackerjack/orchestration/coverage_improvement.py +180 -0
  294. crackerjack/orchestration/execution_strategies.py +361 -0
  295. crackerjack/orchestration/hook_orchestrator.py +1398 -0
  296. crackerjack/orchestration/strategies/README.md +401 -0
  297. crackerjack/orchestration/strategies/__init__.py +39 -0
  298. crackerjack/orchestration/strategies/adaptive_strategy.py +630 -0
  299. crackerjack/orchestration/strategies/parallel_strategy.py +237 -0
  300. crackerjack/orchestration/strategies/sequential_strategy.py +299 -0
  301. crackerjack/orchestration/test_progress_streamer.py +647 -0
  302. crackerjack/plugins/README.md +11 -0
  303. crackerjack/plugins/__init__.py +15 -0
  304. crackerjack/plugins/base.py +200 -0
  305. crackerjack/plugins/hooks.py +254 -0
  306. crackerjack/plugins/loader.py +335 -0
  307. crackerjack/plugins/managers.py +264 -0
  308. crackerjack/py313.py +191 -0
  309. crackerjack/security/README.md +11 -0
  310. crackerjack/security/__init__.py +0 -0
  311. crackerjack/security/audit.py +197 -0
  312. crackerjack/services/README.md +374 -0
  313. crackerjack/services/__init__.py +9 -0
  314. crackerjack/services/ai/README.md +295 -0
  315. crackerjack/services/ai/__init__.py +7 -0
  316. crackerjack/services/ai/advanced_optimizer.py +878 -0
  317. crackerjack/services/ai/contextual_ai_assistant.py +542 -0
  318. crackerjack/services/ai/embeddings.py +444 -0
  319. crackerjack/services/ai/intelligent_commit.py +328 -0
  320. crackerjack/services/ai/predictive_analytics.py +510 -0
  321. crackerjack/services/anomaly_detector.py +392 -0
  322. crackerjack/services/api_extractor.py +617 -0
  323. crackerjack/services/backup_service.py +467 -0
  324. crackerjack/services/bounded_status_operations.py +530 -0
  325. crackerjack/services/cache.py +369 -0
  326. crackerjack/services/changelog_automation.py +399 -0
  327. crackerjack/services/command_execution_service.py +305 -0
  328. crackerjack/services/config_integrity.py +132 -0
  329. crackerjack/services/config_merge.py +546 -0
  330. crackerjack/services/config_service.py +198 -0
  331. crackerjack/services/config_template.py +493 -0
  332. crackerjack/services/coverage_badge_service.py +173 -0
  333. crackerjack/services/coverage_ratchet.py +381 -0
  334. crackerjack/services/debug.py +733 -0
  335. crackerjack/services/dependency_analyzer.py +460 -0
  336. crackerjack/services/dependency_monitor.py +622 -0
  337. crackerjack/services/documentation_generator.py +493 -0
  338. crackerjack/services/documentation_service.py +704 -0
  339. crackerjack/services/enhanced_filesystem.py +497 -0
  340. crackerjack/services/enterprise_optimizer.py +865 -0
  341. crackerjack/services/error_pattern_analyzer.py +676 -0
  342. crackerjack/services/file_filter.py +221 -0
  343. crackerjack/services/file_hasher.py +149 -0
  344. crackerjack/services/file_io_service.py +361 -0
  345. crackerjack/services/file_modifier.py +615 -0
  346. crackerjack/services/filesystem.py +381 -0
  347. crackerjack/services/git.py +422 -0
  348. crackerjack/services/health_metrics.py +615 -0
  349. crackerjack/services/heatmap_generator.py +744 -0
  350. crackerjack/services/incremental_executor.py +380 -0
  351. crackerjack/services/initialization.py +823 -0
  352. crackerjack/services/input_validator.py +668 -0
  353. crackerjack/services/intelligent_commit.py +327 -0
  354. crackerjack/services/log_manager.py +289 -0
  355. crackerjack/services/logging.py +228 -0
  356. crackerjack/services/lsp_client.py +628 -0
  357. crackerjack/services/memory_optimizer.py +414 -0
  358. crackerjack/services/metrics.py +587 -0
  359. crackerjack/services/monitoring/README.md +30 -0
  360. crackerjack/services/monitoring/__init__.py +9 -0
  361. crackerjack/services/monitoring/dependency_monitor.py +678 -0
  362. crackerjack/services/monitoring/error_pattern_analyzer.py +676 -0
  363. crackerjack/services/monitoring/health_metrics.py +716 -0
  364. crackerjack/services/monitoring/metrics.py +587 -0
  365. crackerjack/services/monitoring/performance_benchmarks.py +410 -0
  366. crackerjack/services/monitoring/performance_cache.py +388 -0
  367. crackerjack/services/monitoring/performance_monitor.py +569 -0
  368. crackerjack/services/parallel_executor.py +527 -0
  369. crackerjack/services/pattern_cache.py +333 -0
  370. crackerjack/services/pattern_detector.py +478 -0
  371. crackerjack/services/patterns/__init__.py +142 -0
  372. crackerjack/services/patterns/agents.py +107 -0
  373. crackerjack/services/patterns/code/__init__.py +15 -0
  374. crackerjack/services/patterns/code/detection.py +118 -0
  375. crackerjack/services/patterns/code/imports.py +107 -0
  376. crackerjack/services/patterns/code/paths.py +159 -0
  377. crackerjack/services/patterns/code/performance.py +119 -0
  378. crackerjack/services/patterns/code/replacement.py +36 -0
  379. crackerjack/services/patterns/core.py +212 -0
  380. crackerjack/services/patterns/documentation/__init__.py +14 -0
  381. crackerjack/services/patterns/documentation/badges_markdown.py +96 -0
  382. crackerjack/services/patterns/documentation/comments_blocks.py +83 -0
  383. crackerjack/services/patterns/documentation/docstrings.py +89 -0
  384. crackerjack/services/patterns/formatting.py +226 -0
  385. crackerjack/services/patterns/operations.py +339 -0
  386. crackerjack/services/patterns/security/__init__.py +23 -0
  387. crackerjack/services/patterns/security/code_injection.py +122 -0
  388. crackerjack/services/patterns/security/credentials.py +190 -0
  389. crackerjack/services/patterns/security/path_traversal.py +221 -0
  390. crackerjack/services/patterns/security/unsafe_operations.py +216 -0
  391. crackerjack/services/patterns/templates.py +62 -0
  392. crackerjack/services/patterns/testing/__init__.py +18 -0
  393. crackerjack/services/patterns/testing/error_patterns.py +107 -0
  394. crackerjack/services/patterns/testing/pytest_output.py +126 -0
  395. crackerjack/services/patterns/tool_output/__init__.py +16 -0
  396. crackerjack/services/patterns/tool_output/bandit.py +72 -0
  397. crackerjack/services/patterns/tool_output/other.py +97 -0
  398. crackerjack/services/patterns/tool_output/pyright.py +67 -0
  399. crackerjack/services/patterns/tool_output/ruff.py +44 -0
  400. crackerjack/services/patterns/url_sanitization.py +114 -0
  401. crackerjack/services/patterns/utilities.py +42 -0
  402. crackerjack/services/patterns/utils.py +339 -0
  403. crackerjack/services/patterns/validation.py +46 -0
  404. crackerjack/services/patterns/versioning.py +62 -0
  405. crackerjack/services/predictive_analytics.py +523 -0
  406. crackerjack/services/profiler.py +280 -0
  407. crackerjack/services/quality/README.md +415 -0
  408. crackerjack/services/quality/__init__.py +11 -0
  409. crackerjack/services/quality/anomaly_detector.py +392 -0
  410. crackerjack/services/quality/pattern_cache.py +333 -0
  411. crackerjack/services/quality/pattern_detector.py +479 -0
  412. crackerjack/services/quality/qa_orchestrator.py +491 -0
  413. crackerjack/services/quality/quality_baseline.py +395 -0
  414. crackerjack/services/quality/quality_baseline_enhanced.py +649 -0
  415. crackerjack/services/quality/quality_intelligence.py +949 -0
  416. crackerjack/services/regex_patterns.py +58 -0
  417. crackerjack/services/regex_utils.py +483 -0
  418. crackerjack/services/secure_path_utils.py +524 -0
  419. crackerjack/services/secure_status_formatter.py +450 -0
  420. crackerjack/services/secure_subprocess.py +635 -0
  421. crackerjack/services/security.py +239 -0
  422. crackerjack/services/security_logger.py +495 -0
  423. crackerjack/services/server_manager.py +411 -0
  424. crackerjack/services/smart_scheduling.py +167 -0
  425. crackerjack/services/status_authentication.py +460 -0
  426. crackerjack/services/status_security_manager.py +315 -0
  427. crackerjack/services/terminal_utils.py +0 -0
  428. crackerjack/services/thread_safe_status_collector.py +441 -0
  429. crackerjack/services/tool_filter.py +368 -0
  430. crackerjack/services/tool_version_service.py +43 -0
  431. crackerjack/services/unified_config.py +115 -0
  432. crackerjack/services/validation_rate_limiter.py +220 -0
  433. crackerjack/services/vector_store.py +689 -0
  434. crackerjack/services/version_analyzer.py +461 -0
  435. crackerjack/services/version_checker.py +223 -0
  436. crackerjack/services/websocket_resource_limiter.py +438 -0
  437. crackerjack/services/zuban_lsp_service.py +391 -0
  438. crackerjack/slash_commands/README.md +11 -0
  439. crackerjack/slash_commands/__init__.py +59 -0
  440. crackerjack/slash_commands/init.md +112 -0
  441. crackerjack/slash_commands/run.md +197 -0
  442. crackerjack/slash_commands/status.md +127 -0
  443. crackerjack/tools/README.md +11 -0
  444. crackerjack/tools/__init__.py +30 -0
  445. crackerjack/tools/_git_utils.py +105 -0
  446. crackerjack/tools/check_added_large_files.py +139 -0
  447. crackerjack/tools/check_ast.py +105 -0
  448. crackerjack/tools/check_json.py +103 -0
  449. crackerjack/tools/check_jsonschema.py +297 -0
  450. crackerjack/tools/check_toml.py +103 -0
  451. crackerjack/tools/check_yaml.py +110 -0
  452. crackerjack/tools/codespell_wrapper.py +72 -0
  453. crackerjack/tools/end_of_file_fixer.py +202 -0
  454. crackerjack/tools/format_json.py +128 -0
  455. crackerjack/tools/mdformat_wrapper.py +114 -0
  456. crackerjack/tools/trailing_whitespace.py +198 -0
  457. crackerjack/tools/validate_input_validator_patterns.py +236 -0
  458. crackerjack/tools/validate_regex_patterns.py +188 -0
  459. crackerjack/ui/README.md +11 -0
  460. crackerjack/ui/__init__.py +1 -0
  461. crackerjack/ui/dashboard_renderer.py +28 -0
  462. crackerjack/ui/templates/README.md +11 -0
  463. crackerjack/utils/console_utils.py +13 -0
  464. crackerjack/utils/dependency_guard.py +230 -0
  465. crackerjack/utils/retry_utils.py +275 -0
  466. crackerjack/workflows/README.md +590 -0
  467. crackerjack/workflows/__init__.py +46 -0
  468. crackerjack/workflows/actions.py +811 -0
  469. crackerjack/workflows/auto_fix.py +444 -0
  470. crackerjack/workflows/container_builder.py +499 -0
  471. crackerjack/workflows/definitions.py +443 -0
  472. crackerjack/workflows/engine.py +177 -0
  473. crackerjack/workflows/event_bridge.py +242 -0
  474. crackerjack-0.45.2.dist-info/METADATA +1678 -0
  475. crackerjack-0.45.2.dist-info/RECORD +478 -0
  476. {crackerjack-0.18.2.dist-info → crackerjack-0.45.2.dist-info}/WHEEL +1 -1
  477. crackerjack-0.45.2.dist-info/entry_points.txt +2 -0
  478. crackerjack/.gitignore +0 -14
  479. crackerjack/.libcst.codemod.yaml +0 -18
  480. crackerjack/.pdm.toml +0 -1
  481. crackerjack/.pre-commit-config.yaml +0 -91
  482. crackerjack/.pytest_cache/.gitignore +0 -2
  483. crackerjack/.pytest_cache/CACHEDIR.TAG +0 -4
  484. crackerjack/.pytest_cache/README.md +0 -8
  485. crackerjack/.pytest_cache/v/cache/nodeids +0 -1
  486. crackerjack/.pytest_cache/v/cache/stepwise +0 -1
  487. crackerjack/.ruff_cache/.gitignore +0 -1
  488. crackerjack/.ruff_cache/0.1.11/3256171999636029978 +0 -0
  489. crackerjack/.ruff_cache/0.1.14/602324811142551221 +0 -0
  490. crackerjack/.ruff_cache/0.1.4/10355199064880463147 +0 -0
  491. crackerjack/.ruff_cache/0.1.6/15140459877605758699 +0 -0
  492. crackerjack/.ruff_cache/0.1.7/1790508110482614856 +0 -0
  493. crackerjack/.ruff_cache/0.1.9/17041001205004563469 +0 -0
  494. crackerjack/.ruff_cache/0.11.2/4070660268492669020 +0 -0
  495. crackerjack/.ruff_cache/0.11.3/9818742842212983150 +0 -0
  496. crackerjack/.ruff_cache/0.11.4/9818742842212983150 +0 -0
  497. crackerjack/.ruff_cache/0.11.6/3557596832929915217 +0 -0
  498. crackerjack/.ruff_cache/0.11.7/10386934055395314831 +0 -0
  499. crackerjack/.ruff_cache/0.11.7/3557596832929915217 +0 -0
  500. crackerjack/.ruff_cache/0.11.8/530407680854991027 +0 -0
  501. crackerjack/.ruff_cache/0.2.0/10047773857155985907 +0 -0
  502. crackerjack/.ruff_cache/0.2.1/8522267973936635051 +0 -0
  503. crackerjack/.ruff_cache/0.2.2/18053836298936336950 +0 -0
  504. crackerjack/.ruff_cache/0.3.0/12548816621480535786 +0 -0
  505. crackerjack/.ruff_cache/0.3.3/11081883392474770722 +0 -0
  506. crackerjack/.ruff_cache/0.3.4/676973378459347183 +0 -0
  507. crackerjack/.ruff_cache/0.3.5/16311176246009842383 +0 -0
  508. crackerjack/.ruff_cache/0.5.7/1493622539551733492 +0 -0
  509. crackerjack/.ruff_cache/0.5.7/6231957614044513175 +0 -0
  510. crackerjack/.ruff_cache/0.5.7/9932762556785938009 +0 -0
  511. crackerjack/.ruff_cache/0.6.0/11982804814124138945 +0 -0
  512. crackerjack/.ruff_cache/0.6.0/12055761203849489982 +0 -0
  513. crackerjack/.ruff_cache/0.6.2/1206147804896221174 +0 -0
  514. crackerjack/.ruff_cache/0.6.4/1206147804896221174 +0 -0
  515. crackerjack/.ruff_cache/0.6.5/1206147804896221174 +0 -0
  516. crackerjack/.ruff_cache/0.6.7/3657366982708166874 +0 -0
  517. crackerjack/.ruff_cache/0.6.9/285614542852677309 +0 -0
  518. crackerjack/.ruff_cache/0.7.1/1024065805990144819 +0 -0
  519. crackerjack/.ruff_cache/0.7.1/285614542852677309 +0 -0
  520. crackerjack/.ruff_cache/0.7.3/16061516852537040135 +0 -0
  521. crackerjack/.ruff_cache/0.8.4/16354268377385700367 +0 -0
  522. crackerjack/.ruff_cache/0.9.10/12813592349865671909 +0 -0
  523. crackerjack/.ruff_cache/0.9.10/923908772239632759 +0 -0
  524. crackerjack/.ruff_cache/0.9.3/13948373885254993391 +0 -0
  525. crackerjack/.ruff_cache/0.9.9/12813592349865671909 +0 -0
  526. crackerjack/.ruff_cache/0.9.9/8843823720003377982 +0 -0
  527. crackerjack/.ruff_cache/CACHEDIR.TAG +0 -1
  528. crackerjack/crackerjack.py +0 -855
  529. crackerjack/pyproject.toml +0 -214
  530. crackerjack-0.18.2.dist-info/METADATA +0 -420
  531. crackerjack-0.18.2.dist-info/RECORD +0 -59
  532. crackerjack-0.18.2.dist-info/entry_points.txt +0 -4
  533. {crackerjack-0.18.2.dist-info → crackerjack-0.45.2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1252 @@
1
+ # Service Reference
2
+
3
+ This document describes all service implementations in the codebase.
4
+
5
+ ## api_extractor
6
+
7
+ **Location:** `crackerjack/services/api_extractor.py`
8
+
9
+ **Implements:**
10
+
11
+ - APIExtractorProtocol
12
+
13
+ ### PythonDocstringParser
14
+
15
+ Parser for extracting structured information from Python docstrings.
16
+
17
+ **Public Methods:**
18
+
19
+ - `parse_docstring`: Parse a docstring and extract structured information.
20
+
21
+ ### APIExtractorImpl
22
+
23
+ Implementation of API documentation extraction from source code.
24
+
25
+ **Public Methods:**
26
+
27
+ - `extract_from_python_files`: Extract API documentation from Python files.
28
+ - `extract_protocol_definitions`: Extract protocol definitions from protocols.py file.
29
+ - `extract_service_interfaces`: Extract service interfaces and their methods.
30
+ - `extract_cli_commands`: Extract CLI command definitions and options.
31
+ - `extract_mcp_tools`: Extract MCP tool definitions and their capabilities.
32
+
33
+ ## backup_service
34
+
35
+ **Location:** `crackerjack/services/backup_service.py`
36
+
37
+ ### BackupMetadata
38
+
39
+ ### BackupValidationResult
40
+
41
+ ### PackageBackupService
42
+
43
+ **Public Methods:**
44
+
45
+ - `model_post_init`:
46
+ - `create_package_backup`:
47
+ - `restore_from_backup`:
48
+ - `cleanup_backup`:
49
+
50
+ ## bounded_status_operations
51
+
52
+ **Location:** `crackerjack/services/bounded_status_operations.py`
53
+
54
+ ### OperationState
55
+
56
+ ### OperationLimits
57
+
58
+ ### OperationMetrics
59
+
60
+ **Public Methods:**
61
+
62
+ - `duration`:
63
+ - `is_completed`:
64
+
65
+ ### OperationLimitExceededError
66
+
67
+ ### CircuitBreakerOpenError
68
+
69
+ ### BoundedStatusOperations
70
+
71
+ **Public Methods:**
72
+
73
+ - `get_operation_status`:
74
+ - `reset_circuit_breaker`:
75
+
76
+ ## cache
77
+
78
+ **Location:** `crackerjack/services/cache.py`
79
+
80
+ ### CacheEntry
81
+
82
+ **Public Methods:**
83
+
84
+ - `is_expired`:
85
+ - `age_seconds`:
86
+ - `touch`:
87
+ - `to_dict`:
88
+ - `from_dict`:
89
+
90
+ ### CacheStats
91
+
92
+ **Public Methods:**
93
+
94
+ - `hit_rate`:
95
+ - `to_dict`:
96
+
97
+ ### InMemoryCache
98
+
99
+ **Public Methods:**
100
+
101
+ - `get`:
102
+ - `set`:
103
+ - `invalidate`:
104
+ - `clear`:
105
+ - `cleanup_expired`:
106
+
107
+ ### FileCache
108
+
109
+ **Public Methods:**
110
+
111
+ - `get`:
112
+ - `set`:
113
+ - `invalidate`:
114
+ - `clear`:
115
+ - `cleanup_expired`:
116
+
117
+ ### CrackerjackCache
118
+
119
+ **Public Methods:**
120
+
121
+ - `get_hook_result`:
122
+ - `set_hook_result`:
123
+ - `get_expensive_hook_result`: Get hook result with disk cache fallback for expensive hooks.
124
+ - `set_expensive_hook_result`: Set hook result in both memory and disk cache for expensive hooks.
125
+ - `get_file_hash`:
126
+ - `set_file_hash`:
127
+ - `get_config_data`:
128
+ - `set_config_data`:
129
+ - `get_agent_decision`: Get cached AI agent decision based on issue content.
130
+ - `set_agent_decision`: Cache AI agent decision for future use.
131
+ - `get_quality_baseline`: Get quality baseline metrics for a specific git commit.
132
+ - `set_quality_baseline`: Store quality baseline metrics for a git commit.
133
+ - `invalidate_hook_cache`:
134
+ - `cleanup_all`:
135
+ - `get_cache_stats`:
136
+
137
+ ## changelog_automation
138
+
139
+ **Location:** `crackerjack/services/changelog_automation.py`
140
+
141
+ ### ChangelogEntry
142
+
143
+ Represents a single changelog entry.
144
+
145
+ **Public Methods:**
146
+
147
+ - `to_markdown`: Convert entry to markdown format.
148
+
149
+ ### ChangelogGenerator
150
+
151
+ Generate and update changelogs based on git commits.
152
+
153
+ **Public Methods:**
154
+
155
+ - `parse_commit_message`: Parse a commit message into a changelog entry.
156
+ - `generate_changelog_entries`: Generate changelog entries from git commits.
157
+ - `update_changelog`: Update the changelog file with new entries.
158
+ - `generate_changelog_from_commits`: Generate and update changelog from git commits.
159
+
160
+ ## config
161
+
162
+ **Location:** `crackerjack/services/config.py`
163
+
164
+ ### ConfigurationService
165
+
166
+ **Public Methods:**
167
+
168
+ - `update_precommit_config`:
169
+ - `get_temp_config_path`:
170
+ - `validate_config`:
171
+ - `backup_config`:
172
+ - `restore_config`:
173
+ - `get_config_info`:
174
+ - `update_pyproject_config`:
175
+
176
+ ## config_integrity
177
+
178
+ **Location:** `crackerjack/services/config_integrity.py`
179
+
180
+ ### ConfigIntegrityService
181
+
182
+ **Public Methods:**
183
+
184
+ - `check_config_integrity`:
185
+
186
+ ## config_merge
187
+
188
+ **Location:** `crackerjack/services/config_merge.py`
189
+
190
+ **Implements:**
191
+
192
+ - ConfigMergeServiceProtocol
193
+
194
+ ### ConfigMergeService
195
+
196
+ **Public Methods:**
197
+
198
+ - `smart_merge_pyproject`:
199
+ - `smart_merge_pre_commit_config`:
200
+ - `smart_append_file`:
201
+ - `smart_merge_gitignore`:
202
+ - `write_pyproject_config`:
203
+ - `write_pre_commit_config`:
204
+
205
+ ### ParsedContent
206
+
207
+ ## contextual_ai_assistant
208
+
209
+ **Location:** `crackerjack/services/contextual_ai_assistant.py`
210
+
211
+ ### AIRecommendation
212
+
213
+ ### ProjectContext
214
+
215
+ ### ContextualAIAssistant
216
+
217
+ **Public Methods:**
218
+
219
+ - `get_contextual_recommendations`:
220
+ - `display_recommendations`:
221
+ - `get_quick_help`:
222
+
223
+ ## coverage_ratchet
224
+
225
+ **Location:** `crackerjack/services/coverage_ratchet.py`
226
+
227
+ ### CoverageRatchetService
228
+
229
+ **Public Methods:**
230
+
231
+ - `initialize_baseline`:
232
+ - `get_ratchet_data`:
233
+ - `get_baseline`:
234
+ - `get_baseline_coverage`:
235
+ - `update_baseline_coverage`:
236
+ - `is_coverage_regression`:
237
+ - `get_coverage_improvement_needed`:
238
+ - `update_coverage`:
239
+ - `get_progress_visualization`:
240
+ - `get_status_report`:
241
+ - `display_milestone_celebration`:
242
+ - `show_progress_with_spinner`:
243
+ - `get_coverage_report`:
244
+ - `check_and_update_coverage`:
245
+
246
+ ## debug
247
+
248
+ **Location:** `crackerjack/services/debug.py`
249
+
250
+ ### AIAgentDebugger
251
+
252
+ **Public Methods:**
253
+
254
+ - `debug_operation`:
255
+ - `log_mcp_operation`:
256
+ - `log_agent_activity`:
257
+ - `log_workflow_phase`:
258
+ - `log_error_event`:
259
+ - `print_debug_summary`:
260
+ - `log_iteration_start`:
261
+ - `log_iteration_end`:
262
+ - `log_test_failures`:
263
+ - `log_test_fixes`:
264
+ - `log_hook_failures`:
265
+ - `log_hook_fixes`:
266
+ - `set_workflow_success`:
267
+ - `export_debug_data`:
268
+
269
+ ### NoOpDebugger
270
+
271
+ **Public Methods:**
272
+
273
+ - `debug_operation`:
274
+ - `log_mcp_operation`:
275
+ - `log_agent_activity`:
276
+ - `log_workflow_phase`:
277
+ - `log_error_event`:
278
+ - `print_debug_summary`:
279
+ - `export_debug_data`:
280
+ - `log_iteration_start`:
281
+ - `log_iteration_end`:
282
+ - `log_test_failures`:
283
+ - `log_test_fixes`:
284
+ - `log_hook_failures`:
285
+ - `log_hook_fixes`:
286
+ - `set_workflow_success`:
287
+
288
+ ## dependency_monitor
289
+
290
+ **Location:** `crackerjack/services/dependency_monitor.py`
291
+
292
+ ### DependencyVulnerability
293
+
294
+ ### MajorUpdate
295
+
296
+ ### DependencyMonitorService
297
+
298
+ **Public Methods:**
299
+
300
+ - `check_dependency_updates`:
301
+ - `force_check_updates`:
302
+
303
+ ## documentation_generator
304
+
305
+ **Location:** `crackerjack/services/documentation_generator.py`
306
+
307
+ **Implements:**
308
+
309
+ - DocumentationGeneratorProtocol
310
+
311
+ ### MarkdownTemplateRenderer
312
+
313
+ Simple template renderer for markdown documentation.
314
+
315
+ **Public Methods:**
316
+
317
+ - `render_template`: Render a template with the given context.
318
+
319
+ ### DocumentationGeneratorImpl
320
+
321
+ Implementation of documentation generation from extracted API data.
322
+
323
+ **Public Methods:**
324
+
325
+ - `generate_api_reference`: Generate complete API reference documentation.
326
+ - `generate_user_guide`: Generate user guide documentation.
327
+ - `generate_changelog_update`: Generate changelog entry for a version.
328
+ - `render_template`: Render a template file with the given context.
329
+ - `generate_cross_references`: Generate cross-reference mappings for API components.
330
+
331
+ ## documentation_service
332
+
333
+ **Location:** `crackerjack/services/documentation_service.py`
334
+
335
+ **Implements:**
336
+
337
+ - DocumentationServiceProtocol
338
+
339
+ ### DocumentationServiceImpl
340
+
341
+ Main service for automated documentation generation and maintenance.
342
+
343
+ **Public Methods:**
344
+
345
+ - `extract_api_documentation`: Extract API documentation from source code files.
346
+ - `generate_documentation`: Generate documentation using specified template.
347
+ - `validate_documentation`: Validate documentation for issues and inconsistencies.
348
+ - `update_documentation_index`: Update the main documentation index with links to all docs.
349
+ - `get_documentation_coverage`: Calculate documentation coverage metrics.
350
+ - `generate_full_api_documentation`: Generate complete API documentation for the project.
351
+
352
+ ## enhanced_filesystem
353
+
354
+ **Location:** `crackerjack/services/enhanced_filesystem.py`
355
+
356
+ ### FileCache
357
+
358
+ **Public Methods:**
359
+
360
+ - `get`:
361
+ - `put`:
362
+ - `clear`:
363
+ - `get_stats`:
364
+
365
+ ### BatchFileOperations
366
+
367
+ ### EnhancedFileSystemService
368
+
369
+ **Public Methods:**
370
+
371
+ - `read_file`:
372
+ - `write_file`:
373
+ - `file_exists`:
374
+ - `create_directory`:
375
+ - `delete_file`:
376
+ - `list_files`:
377
+ - `get_cache_stats`:
378
+ - `clear_cache`:
379
+ - `exists`:
380
+ - `mkdir`:
381
+
382
+ ## file_hasher
383
+
384
+ **Location:** `crackerjack/services/file_hasher.py`
385
+
386
+ ### FileHasher
387
+
388
+ **Public Methods:**
389
+
390
+ - `get_file_hash`:
391
+ - `get_directory_hash`:
392
+ - `get_files_hash_list`:
393
+ - `has_files_changed`:
394
+ - `get_project_files_hash`:
395
+ - `invalidate_cache`:
396
+
397
+ ### SmartFileWatcher
398
+
399
+ **Public Methods:**
400
+
401
+ - `register_files`:
402
+ - `check_changes`:
403
+ - `invalidate_changed_files`:
404
+
405
+ ## filesystem
406
+
407
+ **Location:** `crackerjack/services/filesystem.py`
408
+
409
+ ### FileSystemService
410
+
411
+ **Public Methods:**
412
+
413
+ - `clean_trailing_whitespace_and_newlines`:
414
+ - `read_file`:
415
+ - `write_file`:
416
+ - `exists`:
417
+ - `mkdir`:
418
+ - `glob`:
419
+ - `rglob`:
420
+ - `copy_file`:
421
+ - `remove_file`:
422
+ - `get_file_size`:
423
+ - `get_file_mtime`:
424
+ - `read_file_chunked`:
425
+ - `read_lines_streaming`:
426
+
427
+ ## git
428
+
429
+ **Location:** `crackerjack/services/git.py`
430
+
431
+ ### FailedGitResult
432
+
433
+ ### GitService
434
+
435
+ **Public Methods:**
436
+
437
+ - `is_git_repo`:
438
+ - `get_changed_files`:
439
+ - `get_staged_files`:
440
+ - `add_files`:
441
+ - `add_all_files`:
442
+ - `commit`:
443
+ - `push`:
444
+ - `get_current_branch`:
445
+ - `get_commit_message_suggestions`:
446
+ - `get_unpushed_commit_count`:
447
+
448
+ ## health_metrics
449
+
450
+ **Location:** `crackerjack/services/health_metrics.py`
451
+
452
+ ### ProjectHealth
453
+
454
+ **Public Methods:**
455
+
456
+ - `needs_init`:
457
+ - `get_health_score`:
458
+ - `get_recommendations`:
459
+
460
+ ### HealthMetricsService
461
+
462
+ **Public Methods:**
463
+
464
+ - `collect_current_metrics`:
465
+ - `analyze_project_health`:
466
+ - `report_health_status`:
467
+ - `get_health_trend_summary`:
468
+
469
+ ## initialization
470
+
471
+ **Location:** `crackerjack/services/initialization.py`
472
+
473
+ ### InitializationService
474
+
475
+ **Public Methods:**
476
+
477
+ - `initialize_project`:
478
+ - `setup_git_hooks`:
479
+ - `validate_project_structure`:
480
+ - `initialize_project_full`:
481
+ - `check_uv_installed`:
482
+
483
+ ## input_validator
484
+
485
+ **Location:** `crackerjack/services/input_validator.py`
486
+
487
+ ### ValidationConfig
488
+
489
+ ### ValidationResult
490
+
491
+ ### InputSanitizer
492
+
493
+ **Public Methods:**
494
+
495
+ - `sanitize_string`:
496
+ - `sanitize_json`:
497
+ - `sanitize_path`:
498
+
499
+ ### SecureInputValidator
500
+
501
+ **Public Methods:**
502
+
503
+ - `validate_project_name`:
504
+ - `validate_job_id`:
505
+ - `validate_command_args`:
506
+ - `validate_json_payload`:
507
+ - `validate_file_path`:
508
+ - `validate_environment_var`:
509
+
510
+ ## intelligent_commit
511
+
512
+ **Location:** `crackerjack/services/intelligent_commit.py`
513
+
514
+ ### CommitMessageGenerator
515
+
516
+ Generate intelligent commit messages based on changes and context.
517
+
518
+ **Public Methods:**
519
+
520
+ - `generate_commit_message`: Generate an intelligent commit message based on staged changes.
521
+ - `commit_with_generated_message`: Generate commit message and create commit.
522
+
523
+ ## log_manager
524
+
525
+ **Location:** `crackerjack/services/log_manager.py`
526
+
527
+ ### LogManager
528
+
529
+ **Public Methods:**
530
+
531
+ - `log_dir`:
532
+ - `debug_dir`:
533
+ - `error_dir`:
534
+ - `audit_dir`:
535
+ - `create_debug_log_file`:
536
+ - `create_error_log_file`:
537
+ - `rotate_logs`:
538
+ - `cleanup_all_logs`:
539
+ - `migrate_legacy_logs`:
540
+ - `get_log_stats`:
541
+ - `setup_rotating_file_handler`:
542
+ - `print_log_summary`:
543
+
544
+ ## logging
545
+
546
+ **Location:** `crackerjack/services/logging.py`
547
+
548
+ ### LoggingContext
549
+
550
+ ## memory_optimizer
551
+
552
+ **Location:** `crackerjack/services/memory_optimizer.py`
553
+
554
+ ### MemoryStats
555
+
556
+ ### LazyLoader
557
+
558
+ **Public Methods:**
559
+
560
+ - `is_loaded`:
561
+ - `access_count`:
562
+ - `get`:
563
+ - `dispose`:
564
+
565
+ ### ResourcePool
566
+
567
+ **Public Methods:**
568
+
569
+ - `acquire`:
570
+ - `release`:
571
+ - `clear`:
572
+ - `get_stats`:
573
+
574
+ ### MemoryProfiler
575
+
576
+ **Public Methods:**
577
+
578
+ - `start_profiling`:
579
+ - `record_checkpoint`:
580
+ - `get_summary`:
581
+
582
+ ### MemoryOptimizer
583
+
584
+ **Public Methods:**
585
+
586
+ - `get_instance`:
587
+ - `register_lazy_object`:
588
+ - `notify_lazy_load`:
589
+ - `register_resource_pool`:
590
+ - `get_resource_pool`:
591
+ - `start_profiling`:
592
+ - `record_checkpoint`:
593
+ - `get_memory_stats`:
594
+ - `optimize_memory`:
595
+
596
+ ## metrics
597
+
598
+ **Location:** `crackerjack/services/metrics.py`
599
+
600
+ ### MetricsCollector
601
+
602
+ **Public Methods:**
603
+
604
+ - `start_job`:
605
+ - `end_job`:
606
+ - `record_error`:
607
+ - `record_hook_execution`:
608
+ - `record_test_execution`:
609
+ - `record_orchestration_execution`:
610
+ - `record_strategy_decision`:
611
+ - `record_individual_test`:
612
+ - `get_orchestration_stats`:
613
+ - `get_all_time_stats`:
614
+
615
+ ## parallel_executor
616
+
617
+ **Location:** `crackerjack/services/parallel_executor.py`
618
+
619
+ ### ExecutionStrategy
620
+
621
+ ### ExecutionGroup
622
+
623
+ ### ExecutionResult
624
+
625
+ ### ParallelExecutionResult
626
+
627
+ **Public Methods:**
628
+
629
+ - `success_rate`:
630
+ - `overall_success`:
631
+
632
+ ### ParallelHookExecutor
633
+
634
+ **Public Methods:**
635
+
636
+ - `analyze_hook_dependencies`:
637
+ - `can_execute_in_parallel`:
638
+
639
+ ### AsyncCommandExecutor
640
+
641
+ ## pattern_cache
642
+
643
+ **Location:** `crackerjack/services/pattern_cache.py`
644
+
645
+ ### CachedPattern
646
+
647
+ ### PatternCache
648
+
649
+ **Public Methods:**
650
+
651
+ - `cache_successful_pattern`:
652
+ - `get_patterns_for_issue`:
653
+ - `get_best_pattern_for_issue`:
654
+ - `use_pattern`:
655
+ - `update_pattern_success_rate`:
656
+ - `get_pattern_statistics`:
657
+ - `cleanup_old_patterns`:
658
+ - `clear_cache`:
659
+ - `export_patterns`:
660
+ - `import_patterns`:
661
+
662
+ ## pattern_detector
663
+
664
+ **Location:** `crackerjack/services/pattern_detector.py`
665
+
666
+ ### AntiPatternConfig
667
+
668
+ ### AntiPattern
669
+
670
+ ### PatternDetector
671
+
672
+ ### ComplexityVisitor
673
+
674
+ **Public Methods:**
675
+
676
+ - `visit_FunctionDef`:
677
+
678
+ ### PerformanceVisitor
679
+
680
+ **Public Methods:**
681
+
682
+ - `visit_For`:
683
+
684
+ ### SecurityVisitor
685
+
686
+ **Public Methods:**
687
+
688
+ - `visit_Call`:
689
+
690
+ ### ImportVisitor
691
+
692
+ **Public Methods:**
693
+
694
+ - `visit_Import`:
695
+ - `visit_ImportFrom`:
696
+
697
+ ## performance_benchmarks
698
+
699
+ **Location:** `crackerjack/services/performance_benchmarks.py`
700
+
701
+ ### BenchmarkResult
702
+
703
+ **Public Methods:**
704
+
705
+ - `time_improvement_percentage`:
706
+ - `memory_improvement_percentage`:
707
+ - `cache_hit_ratio`:
708
+ - `parallelization_ratio`:
709
+
710
+ ### BenchmarkSuite
711
+
712
+ **Public Methods:**
713
+
714
+ - `average_time_improvement`:
715
+ - `average_memory_improvement`:
716
+ - `overall_cache_hit_ratio`:
717
+ - `add_result`:
718
+
719
+ ### PerformanceBenchmarker
720
+
721
+ **Public Methods:**
722
+
723
+ - `export_benchmark_results`:
724
+
725
+ ## performance_cache
726
+
727
+ **Location:** `crackerjack/services/performance_cache.py`
728
+
729
+ ### CacheEntry
730
+
731
+ **Public Methods:**
732
+
733
+ - `is_expired`:
734
+ - `access`:
735
+
736
+ ### CacheStats
737
+
738
+ **Public Methods:**
739
+
740
+ - `hit_ratio`:
741
+
742
+ ### PerformanceCache
743
+
744
+ **Public Methods:**
745
+
746
+ - `get`:
747
+ - `set`:
748
+ - `invalidate`:
749
+ - `clear`:
750
+ - `get_stats`:
751
+
752
+ ### GitOperationCache
753
+
754
+ **Public Methods:**
755
+
756
+ - `get_branch_info`:
757
+ - `set_branch_info`:
758
+ - `get_file_status`:
759
+ - `set_file_status`:
760
+ - `invalidate_repo`:
761
+
762
+ ### FileSystemCache
763
+
764
+ **Public Methods:**
765
+
766
+ - `get_file_stats`:
767
+ - `set_file_stats`:
768
+ - `invalidate_file`:
769
+
770
+ ### CommandResultCache
771
+
772
+ **Public Methods:**
773
+
774
+ - `get_command_result`:
775
+ - `set_command_result`:
776
+ - `invalidate_commands`:
777
+
778
+ ## performance_monitor
779
+
780
+ **Location:** `crackerjack/services/performance_monitor.py`
781
+
782
+ ### PerformanceMetric
783
+
784
+ ### PhasePerformance
785
+
786
+ **Public Methods:**
787
+
788
+ - `finalize`:
789
+
790
+ ### WorkflowPerformance
791
+
792
+ **Public Methods:**
793
+
794
+ - `add_phase`:
795
+ - `finalize`:
796
+
797
+ ### PerformanceBenchmark
798
+
799
+ ### PerformanceMonitor
800
+
801
+ **Public Methods:**
802
+
803
+ - `start_workflow`:
804
+ - `end_workflow`:
805
+ - `start_phase`:
806
+ - `end_phase`:
807
+ - `record_metric`:
808
+ - `record_parallel_operation`:
809
+ - `record_sequential_operation`:
810
+ - `benchmark_operation`:
811
+ - `get_performance_summary`:
812
+ - `get_benchmark_trends`:
813
+ - `export_performance_data`:
814
+
815
+ ### phase_monitor
816
+
817
+ **Public Methods:**
818
+
819
+ - `record_parallel_op`:
820
+ - `record_sequential_op`:
821
+ - `record_metric`:
822
+
823
+ ## quality_baseline
824
+
825
+ **Location:** `crackerjack/services/quality_baseline.py`
826
+
827
+ ### QualityMetrics
828
+
829
+ Quality metrics for a specific commit/session.
830
+
831
+ **Public Methods:**
832
+
833
+ - `to_dict`:
834
+ - `from_dict`:
835
+
836
+ ### QualityBaselineService
837
+
838
+ Service for tracking and persisting quality baselines across sessions.
839
+
840
+ **Public Methods:**
841
+
842
+ - `get_current_git_hash`: Get current git commit hash.
843
+ - `calculate_quality_score`: Calculate overall quality score (0-100).
844
+ - `record_baseline`: Record quality baseline for current commit.
845
+ - `get_baseline`: Get quality baseline for specific commit (or current commit).
846
+ - `compare_with_baseline`: Compare current metrics with baseline.
847
+ - `get_recent_baselines`: Get recent baselines (requires git log parsing since cache is keyed by hash).
848
+
849
+ ## quality_baseline_enhanced
850
+
851
+ **Location:** `crackerjack/services/quality_baseline_enhanced.py`
852
+
853
+ ### TrendDirection
854
+
855
+ Quality trend direction.
856
+
857
+ ### AlertSeverity
858
+
859
+ Alert severity levels.
860
+
861
+ ### QualityTrend
862
+
863
+ Quality trend analysis over time.
864
+
865
+ **Public Methods:**
866
+
867
+ - `to_dict`:
868
+
869
+ ### QualityAlert
870
+
871
+ Quality alert for significant changes.
872
+
873
+ **Public Methods:**
874
+
875
+ - `to_dict`:
876
+
877
+ ### QualityReport
878
+
879
+ Comprehensive quality report.
880
+
881
+ **Public Methods:**
882
+
883
+ - `to_dict`:
884
+
885
+ ### EnhancedQualityBaselineService
886
+
887
+ Enhanced quality baseline service with advanced analytics.
888
+
889
+ **Public Methods:**
890
+
891
+ - `analyze_quality_trend`: Analyze quality trend over specified period.
892
+ - `check_quality_alerts`: Check for quality alerts based on thresholds.
893
+ - `generate_recommendations`: Generate actionable recommendations.
894
+ - `generate_comprehensive_report`: Generate comprehensive quality report.
895
+ - `export_report`: Export quality report to file.
896
+ - `set_alert_threshold`: Update alert threshold for specific metric.
897
+ - `get_alert_thresholds`: Get current alert thresholds.
898
+
899
+ ## regex_patterns
900
+
901
+ **Location:** `crackerjack/services/regex_patterns.py`
902
+
903
+ ### CompiledPatternCache
904
+
905
+ **Public Methods:**
906
+
907
+ - `get_compiled_pattern`:
908
+ - `get_compiled_pattern_with_flags`:
909
+ - `clear_cache`:
910
+ - `get_cache_stats`:
911
+
912
+ ### ValidatedPattern
913
+
914
+ **Public Methods:**
915
+
916
+ - `apply`:
917
+ - `apply_iteratively`:
918
+ - `apply_with_timeout`:
919
+ - `test`:
920
+ - `search`:
921
+ - `findall`:
922
+ - `get_performance_stats`:
923
+
924
+ ## secure_path_utils
925
+
926
+ **Location:** `crackerjack/services/secure_path_utils.py`
927
+
928
+ ### SecurePathValidator
929
+
930
+ **Public Methods:**
931
+
932
+ - `validate_safe_path`:
933
+ - `validate_file_path`:
934
+ - `secure_path_join`:
935
+ - `normalize_path`:
936
+ - `is_within_directory`:
937
+ - `safe_resolve`:
938
+ - `validate_file_size`:
939
+ - `create_secure_backup_path`:
940
+ - `create_secure_temp_file`:
941
+
942
+ ### AtomicFileOperations
943
+
944
+ **Public Methods:**
945
+
946
+ - `atomic_write`:
947
+ - `atomic_backup_and_write`:
948
+
949
+ ### SubprocessPathValidator
950
+
951
+ **Public Methods:**
952
+
953
+ - `validate_subprocess_cwd`:
954
+ - `validate_executable_path`:
955
+
956
+ ## secure_status_formatter
957
+
958
+ **Location:** `crackerjack/services/secure_status_formatter.py`
959
+
960
+ ### StatusVerbosity
961
+
962
+ ### SecureStatusFormatter
963
+
964
+ **Public Methods:**
965
+
966
+ - `format_status`:
967
+ - `format_error_response`:
968
+
969
+ ## secure_subprocess
970
+
971
+ **Location:** `crackerjack/services/secure_subprocess.py`
972
+
973
+ ### SecurityError
974
+
975
+ ### CommandValidationError
976
+
977
+ ### EnvironmentValidationError
978
+
979
+ ### SubprocessSecurityConfig
980
+
981
+ ### SecureSubprocessExecutor
982
+
983
+ **Public Methods:**
984
+
985
+ - `execute_secure`:
986
+
987
+ ## security
988
+
989
+ **Location:** `crackerjack/services/security.py`
990
+
991
+ ### SecurityService
992
+
993
+ **Public Methods:**
994
+
995
+ - `mask_tokens`:
996
+ - `mask_command_output`:
997
+ - `create_secure_token_file`:
998
+ - `cleanup_token_file`:
999
+ - `get_masked_env_summary`:
1000
+ - `validate_token_format`:
1001
+ - `create_secure_command_env`:
1002
+ - `validate_file_safety`:
1003
+ - `check_hardcoded_secrets`:
1004
+ - `is_safe_subprocess_call`:
1005
+
1006
+ ## security_logger
1007
+
1008
+ **Location:** `crackerjack/services/security_logger.py`
1009
+
1010
+ ### SecurityEventType
1011
+
1012
+ ### SecurityEventLevel
1013
+
1014
+ ### SecurityEvent
1015
+
1016
+ **Public Methods:**
1017
+
1018
+ - `to_dict`:
1019
+
1020
+ ### SecurityLogger
1021
+
1022
+ **Public Methods:**
1023
+
1024
+ - `log_security_event`:
1025
+ - `log_path_traversal_attempt`:
1026
+ - `log_file_size_exceeded`:
1027
+ - `log_dangerous_path_detected`:
1028
+ - `log_backup_created`:
1029
+ - `log_file_cleaned`:
1030
+ - `log_atomic_operation`:
1031
+ - `log_validation_failed`:
1032
+ - `log_temp_file_created`:
1033
+ - `log_rate_limit_exceeded`:
1034
+ - `log_subprocess_execution`:
1035
+ - `log_subprocess_environment_sanitized`:
1036
+ - `log_subprocess_command_validation`:
1037
+ - `log_subprocess_timeout`:
1038
+ - `log_subprocess_failure`:
1039
+ - `log_dangerous_command_blocked`:
1040
+ - `log_environment_variable_filtered`:
1041
+ - `log_status_access_attempt`:
1042
+ - `log_sensitive_data_sanitized`:
1043
+ - `log_status_information_disclosure`:
1044
+
1045
+ ## smart_scheduling
1046
+
1047
+ **Location:** `crackerjack/services/smart_scheduling.py`
1048
+
1049
+ ### SmartSchedulingService
1050
+
1051
+ **Public Methods:**
1052
+
1053
+ - `should_scheduled_init`:
1054
+ - `record_init_timestamp`:
1055
+
1056
+ ## status_authentication
1057
+
1058
+ **Location:** `crackerjack/services/status_authentication.py`
1059
+
1060
+ ### AccessLevel
1061
+
1062
+ ### AuthenticationMethod
1063
+
1064
+ ### AuthCredentials
1065
+
1066
+ **Public Methods:**
1067
+
1068
+ - `is_expired`:
1069
+ - `has_operation_access`:
1070
+
1071
+ ### AuthenticationError
1072
+
1073
+ ### AccessDeniedError
1074
+
1075
+ ### ExpiredCredentialsError
1076
+
1077
+ ### StatusAuthenticator
1078
+
1079
+ **Public Methods:**
1080
+
1081
+ - `authenticate_request`:
1082
+ - `is_operation_allowed`:
1083
+ - `add_api_key`:
1084
+ - `revoke_api_key`:
1085
+ - `get_auth_status`:
1086
+
1087
+ ## status_security_manager
1088
+
1089
+ **Location:** `crackerjack/services/status_security_manager.py`
1090
+
1091
+ ### StatusSecurityError
1092
+
1093
+ ### AccessDeniedError
1094
+
1095
+ ### ResourceLimitExceededError
1096
+
1097
+ ### RateLimitExceededError
1098
+
1099
+ ### StatusSecurityManager
1100
+
1101
+ **Public Methods:**
1102
+
1103
+ - `validate_request`:
1104
+ - `get_security_status`:
1105
+
1106
+ ### RequestLock
1107
+
1108
+ ## thread_safe_status_collector
1109
+
1110
+ **Location:** `crackerjack/services/thread_safe_status_collector.py`
1111
+
1112
+ ### StatusSnapshot
1113
+
1114
+ ### ThreadSafeStatusCollector
1115
+
1116
+ **Public Methods:**
1117
+
1118
+ - `clear_cache`:
1119
+ - `get_collection_status`:
1120
+
1121
+ ## tool_version_service
1122
+
1123
+ **Location:** `crackerjack/services/tool_version_service.py`
1124
+
1125
+ ### ToolVersionService
1126
+
1127
+ **Public Methods:**
1128
+
1129
+ - `check_config_integrity`:
1130
+ - `should_scheduled_init`:
1131
+ - `record_init_timestamp`:
1132
+
1133
+ ## unified_config
1134
+
1135
+ **Location:** `crackerjack/services/unified_config.py`
1136
+
1137
+ ### CrackerjackConfig
1138
+
1139
+ **Public Methods:**
1140
+
1141
+ - `validate_package_path`:
1142
+ - `validate_log_file`:
1143
+ - `validate_test_workers`:
1144
+ - `validate_min_coverage`:
1145
+ - `validate_log_level`:
1146
+
1147
+ ### ConfigSource
1148
+
1149
+ **Public Methods:**
1150
+
1151
+ - `load`:
1152
+ - `is_available`:
1153
+
1154
+ ### EnvironmentConfigSource
1155
+
1156
+ **Public Methods:**
1157
+
1158
+ - `load`:
1159
+
1160
+ ### FileConfigSource
1161
+
1162
+ **Public Methods:**
1163
+
1164
+ - `is_available`:
1165
+ - `load`:
1166
+
1167
+ ### PyprojectConfigSource
1168
+
1169
+ **Public Methods:**
1170
+
1171
+ - `is_available`:
1172
+ - `load`:
1173
+
1174
+ ### OptionsConfigSource
1175
+
1176
+ **Public Methods:**
1177
+
1178
+ - `load`:
1179
+
1180
+ ### UnifiedConfigurationService
1181
+
1182
+ **Public Methods:**
1183
+
1184
+ - `get_config`:
1185
+ - `get_precommit_config_mode`:
1186
+ - `get_logging_config`:
1187
+ - `get_hook_execution_config`:
1188
+ - `get_testing_config`:
1189
+ - `get_cache_config`:
1190
+ - `validate_current_config`:
1191
+
1192
+ ### Config
1193
+
1194
+ ### DefaultConfigSource
1195
+
1196
+ **Public Methods:**
1197
+
1198
+ - `load`:
1199
+
1200
+ ## validation_rate_limiter
1201
+
1202
+ **Location:** `crackerjack/services/validation_rate_limiter.py`
1203
+
1204
+ ### ValidationRateLimit
1205
+
1206
+ ### ValidationRateLimiter
1207
+
1208
+ **Public Methods:**
1209
+
1210
+ - `is_blocked`:
1211
+ - `record_failure`:
1212
+ - `get_remaining_attempts`:
1213
+ - `get_block_time_remaining`:
1214
+ - `get_client_stats`:
1215
+ - `cleanup_expired_data`:
1216
+ - `update_rate_limits`:
1217
+ - `get_all_stats`:
1218
+
1219
+ ## version_checker
1220
+
1221
+ **Location:** `crackerjack/services/version_checker.py`
1222
+
1223
+ ### VersionInfo
1224
+
1225
+ ### VersionChecker
1226
+
1227
+ ## websocket_resource_limiter
1228
+
1229
+ **Location:** `crackerjack/services/websocket_resource_limiter.py`
1230
+
1231
+ ### ConnectionMetrics
1232
+
1233
+ **Public Methods:**
1234
+
1235
+ - `connection_duration`:
1236
+ - `idle_time`:
1237
+
1238
+ ### ResourceLimits
1239
+
1240
+ ### ResourceExhaustedError
1241
+
1242
+ ### WebSocketResourceLimiter
1243
+
1244
+ **Public Methods:**
1245
+
1246
+ - `validate_new_connection`:
1247
+ - `register_connection`:
1248
+ - `unregister_connection`:
1249
+ - `validate_message`:
1250
+ - `track_message`:
1251
+ - `get_resource_status`:
1252
+ - `get_connection_metrics`: