empathy-framework 3.5.2__tar.gz → 3.5.5__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.
Files changed (417) hide show
  1. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/CHANGELOG.md +50 -0
  2. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/PKG-INFO +15 -6
  3. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/README.md +12 -5
  4. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_framework.egg-info/PKG-INFO +15 -6
  5. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_framework.egg-info/SOURCES.txt +32 -0
  6. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_framework.egg-info/requires.txt +2 -0
  7. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/__init__.py +2 -1
  8. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/core.py +9 -1
  9. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/providers.py +177 -0
  10. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/pyproject.toml +5 -4
  11. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/cli.py +140 -12
  12. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/cli_unified.py +1 -1
  13. empathy_framework-3.5.5/src/empathy_os/redis_config.py +303 -0
  14. empathy_framework-3.5.5/tests/test_agent_orchestration_wizard.py +517 -0
  15. empathy_framework-3.5.5/tests/test_ai_collaboration_wizard.py +810 -0
  16. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_all_wizards.py +10 -2
  17. empathy_framework-3.5.5/tests/test_base.py +603 -0
  18. empathy_framework-3.5.5/tests/test_baseline.py +997 -0
  19. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_book_chapter_wizard.py +10 -0
  20. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_book_production_agents.py +19 -1
  21. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_bug_predict_workflow.py +3 -69
  22. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_claude_memory_extended.py +2 -1
  23. empathy_framework-3.5.5/tests/test_code_review.py +477 -0
  24. empathy_framework-3.5.5/tests/test_code_review_wizard.py +761 -0
  25. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_code_review_workflow.py +0 -82
  26. empathy_framework-3.5.5/tests/test_config_loaders.py +1217 -0
  27. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_cost_tracker.py +8 -8
  28. empathy_framework-3.5.5/tests/test_dependency_check.py +451 -0
  29. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_dependency_check_workflow.py +0 -73
  30. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_discovery.py +8 -11
  31. empathy_framework-3.5.5/tests/test_document_gen.py +543 -0
  32. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_document_gen_workflow.py +1 -49
  33. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_empathy_os_cli_extended.py +4 -4
  34. empathy_framework-3.5.5/tests/test_graph.py +1141 -0
  35. empathy_framework-3.5.5/tests/test_health_check.py +635 -0
  36. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_intelligence_integration.py +6 -2
  37. empathy_framework-3.5.5/tests/test_linter_parsers.py +1134 -0
  38. empathy_framework-3.5.5/tests/test_long_term.py +475 -0
  39. empathy_framework-3.5.5/tests/test_multi_model_wizard.py +599 -0
  40. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_perf_audit_workflow.py +1 -48
  41. empathy_framework-3.5.5/tests/test_performance_profiling_wizard.py +788 -0
  42. empathy_framework-3.5.5/tests/test_pr_review.py +981 -0
  43. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_production_smoke.py +6 -0
  44. empathy_framework-3.5.5/tests/test_provider_config.py +477 -0
  45. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_redis_bootstrap.py +16 -3
  46. empathy_framework-3.5.5/tests/test_redis_config.py +262 -0
  47. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_refactor_plan_workflow.py +1 -48
  48. empathy_framework-3.5.5/tests/test_refactoring.py +974 -0
  49. empathy_framework-3.5.5/tests/test_registry.py +417 -0
  50. empathy_framework-3.5.5/tests/test_release_prep.py +1154 -0
  51. empathy_framework-3.5.5/tests/test_reporting.py +373 -0
  52. empathy_framework-3.5.5/tests/test_reports.py +1169 -0
  53. empathy_framework-3.5.5/tests/test_sbar_wizard.py +174 -0
  54. empathy_framework-3.5.5/tests/test_scanner.py +771 -0
  55. empathy_framework-3.5.5/tests/test_secure_release.py +362 -0
  56. empathy_framework-3.5.5/tests/test_security_audit.py +1084 -0
  57. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_security_audit_workflow.py +1 -49
  58. empathy_framework-3.5.5/tests/test_security_learning_wizard.py +446 -0
  59. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_security_negative_cases.py +39 -36
  60. empathy_framework-3.5.5/tests/test_short_term.py +709 -0
  61. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_smart_router.py +9 -1
  62. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_summary_index.py +3 -0
  63. empathy_framework-3.5.5/tests/test_sync_claude.py +292 -0
  64. empathy_framework-3.5.5/tests/test_tech_debt_wizard.py +471 -0
  65. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_templates.py +3 -6
  66. empathy_framework-3.5.5/tests/test_timeout.py +523 -0
  67. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_token_estimator.py +2 -0
  68. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_wizard_api.py +111 -132
  69. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_workflow_wizard_integration.py +22 -19
  70. empathy_framework-3.5.2/src/empathy_os/redis_config.py +0 -216
  71. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/.bandit +0 -0
  72. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/CODE_OF_CONDUCT.md +0 -0
  73. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/CONTRIBUTING.md +0 -0
  74. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/LICENSE +0 -0
  75. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/MANIFEST.in +0 -0
  76. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/QUICKSTART.md +0 -0
  77. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/SECURITY.md +0 -0
  78. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
  79. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
  80. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
  81. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
  82. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
  83. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
  84. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
  85. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
  86. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
  87. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
  88. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
  89. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/compliance_anticipation_agent.py +0 -0
  90. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/epic_integration_wizard.py +0 -0
  91. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/agents/trust_building_behaviors.py +0 -0
  92. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/__init__.py +0 -0
  93. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/accessibility_wizard.py +0 -0
  94. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/api_wizard.py +0 -0
  95. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/base_wizard.py +0 -0
  96. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/cicd_wizard.py +0 -0
  97. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/compliance_wizard.py +0 -0
  98. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/database_wizard.py +0 -0
  99. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/debugging_wizard.py +0 -0
  100. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/documentation_wizard.py +0 -0
  101. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/generate_wizards.py +0 -0
  102. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/localization_wizard.py +0 -0
  103. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/migration_wizard.py +0 -0
  104. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/monitoring_wizard.py +0 -0
  105. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/observability_wizard.py +0 -0
  106. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/performance_wizard.py +0 -0
  107. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/prompt_engineering_wizard.py +0 -0
  108. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/refactoring_wizard.py +0 -0
  109. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/scaling_wizard.py +0 -0
  110. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/security_wizard.py +0 -0
  111. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/coach_wizards/testing_wizard.py +0 -0
  112. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/ai-wizards.md +0 -0
  113. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/config.md +0 -0
  114. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/core.md +0 -0
  115. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/empathy-os.md +0 -0
  116. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/index.md +0 -0
  117. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/llm-toolkit.md +0 -0
  118. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/multi-agent.md +0 -0
  119. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/pattern-library.md +0 -0
  120. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/persistence.md +0 -0
  121. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/software-wizards.md +0 -0
  122. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/api-reference/wizards.md +0 -0
  123. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/examples/adaptive-learning-system.md +0 -0
  124. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/examples/multi-agent-team-coordination.md +0 -0
  125. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/examples/sbar-clinical-handoff.md +0 -0
  126. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/examples/simple-chatbot.md +0 -0
  127. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/examples/webhook-event-integration.md +0 -0
  128. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/getting-started/redis-setup.md +0 -0
  129. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/DISTRIBUTION_POLICY.md +0 -0
  130. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +0 -0
  131. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/MKDOCS_TUTORIAL.md +0 -0
  132. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/PUBLISHING.md +0 -0
  133. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/claude-memory-integration.md +0 -0
  134. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/foreword.md +0 -0
  135. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/healthcare-wizards.md +0 -0
  136. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/how-to-read-this-book.md +0 -0
  137. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/multi-model-workflows.md +0 -0
  138. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/pattern-catalog.md +0 -0
  139. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/preface.md +0 -0
  140. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/software-development-wizards.md +0 -0
  141. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/guides/trust-circuit-breaker.md +0 -0
  142. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/docs/index.md +0 -0
  143. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy.config.example.json +0 -0
  144. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy.config.example.yml +0 -0
  145. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_framework.egg-info/dependency_links.txt +0 -0
  146. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_framework.egg-info/entry_points.txt +0 -0
  147. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_framework.egg-info/top_level.txt +0 -0
  148. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_healthcare_plugin/__init__.py +0 -0
  149. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_healthcare_plugin/protocols/cardiac.json +0 -0
  150. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_healthcare_plugin/protocols/post_operative.json +0 -0
  151. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_healthcare_plugin/protocols/respiratory.json +0 -0
  152. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_healthcare_plugin/protocols/sepsis.json +0 -0
  153. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/README.md +0 -0
  154. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/claude_memory.py +0 -0
  155. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/code_health.py +0 -0
  156. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/contextual_patterns.py +0 -0
  157. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/git_pattern_extractor.py +0 -0
  158. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/levels.py +0 -0
  159. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/pattern_confidence.py +0 -0
  160. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/pattern_resolver.py +0 -0
  161. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/pattern_summary.py +0 -0
  162. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/session_status.py +0 -0
  163. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_llm_toolkit/state.py +0 -0
  164. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_software_plugin/SOFTWARE_PLUGIN_README.md +0 -0
  165. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_software_plugin/__init__.py +0 -0
  166. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_software_plugin/cli.py +0 -0
  167. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/empathy_software_plugin/plugin.py +0 -0
  168. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/README.md +0 -0
  169. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/WIZARDS_MASTER_GUIDE.md +0 -0
  170. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
  171. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
  172. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
  173. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/ai_wizards/all_ai_wizards_demo.py +0 -0
  174. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/ai_wizards/tests/test_ai_wizards.py +0 -0
  175. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/ai_wizards/tests/test_performance_wizard.py +0 -0
  176. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/ai_wizards/tests/test_security_wizard.py +0 -0
  177. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/claude_memory/README-SECURITY.md +0 -0
  178. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
  179. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/claude_memory/example-with-imports.md +0 -0
  180. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/claude_memory/project-CLAUDE.md +0 -0
  181. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/claude_memory/user-CLAUDE.md +0 -0
  182. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/ALL_DOCUMENTATION_COMPLETE.md +0 -0
  183. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/ALPHA_TESTER_RECRUITMENT.md +0 -0
  184. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/CHANGELOG.md +0 -0
  185. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/COMPLETE_IMPLEMENTATION_REPORT.md +0 -0
  186. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/CONTRIBUTING.md +0 -0
  187. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/DISCORD_SETUP_GUIDE.md +0 -0
  188. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/DOCUMENTATION_COMPLETE.md +0 -0
  189. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/FINAL_DELIVERABLES_SUMMARY.md +0 -0
  190. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/IDE_INTEGRATION_PLAN.md +0 -0
  191. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/IDE_INTEGRATION_SETUP_COMPLETE.md +0 -0
  192. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/IMPLEMENTATION_COMPLETE.md +0 -0
  193. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/JETBRAINS_PLUGIN_COMPLETE.md +0 -0
  194. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/MARKETPLACE_READINESS.md +0 -0
  195. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/PHASE_1_COMPLETE_AND_NEXT_STEPS.md +0 -0
  196. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/PRIVACY.md +0 -0
  197. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/README.md +0 -0
  198. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/TODO.md +0 -0
  199. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/VSCODE_EXTENSION_COMPLETE.md +0 -0
  200. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/WIZARD_IMPLEMENTATION_COMPLETE.md +0 -0
  201. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/__init__.py +0 -0
  202. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/coach-lsp-server/README.md +0 -0
  203. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/coach-lsp-server/server.py +0 -0
  204. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/coach.py +0 -0
  205. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/demo.py +0 -0
  206. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/demo_all_wizards.py +0 -0
  207. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/docs/API.md +0 -0
  208. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/docs/CUSTOM_WIZARDS.md +0 -0
  209. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/docs/FAQ.md +0 -0
  210. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/docs/INSTALLATION.md +0 -0
  211. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/docs/TROUBLESHOOTING.md +0 -0
  212. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/docs/USER_MANUAL.md +0 -0
  213. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/docs/WIZARDS.md +0 -0
  214. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/health_check.py +0 -0
  215. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/jetbrains-plugin/README.md +0 -0
  216. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/jetbrains-plugin-complete/README.md +0 -0
  217. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/README.md +0 -0
  218. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/__init__.py +0 -0
  219. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/cache.py +0 -0
  220. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/context_collector.py +0 -0
  221. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/error_handler.py +0 -0
  222. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/logging_config.py +0 -0
  223. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/protocol/__init__.py +0 -0
  224. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/protocol/messages.py +0 -0
  225. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/server.py +0 -0
  226. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/tests/__init__.py +0 -0
  227. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/tests/test_e2e.py +0 -0
  228. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/lsp/tests/test_server.py +0 -0
  229. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/setup/DISCORD_SETUP_INSTRUCTIONS.md +0 -0
  230. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/setup/GITHUB_SETUP_GUIDE.md +0 -0
  231. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/setup/README.md +0 -0
  232. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/setup/SETUP_COMPLETE.md +0 -0
  233. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/shared_learning.py +0 -0
  234. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/tests/__init__.py +0 -0
  235. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/tests/test_all_wizards.py +0 -0
  236. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/tests/test_coach_wizards.py +0 -0
  237. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/tests/test_new_wizards.py +0 -0
  238. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/vscode-extension/README.md +0 -0
  239. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/vscode-extension-complete/README.md +0 -0
  240. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/__init__.py +0 -0
  241. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/accessibility_wizard.py +0 -0
  242. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/api_wizard.py +0 -0
  243. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/base_wizard.py +0 -0
  244. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/compliance_wizard.py +0 -0
  245. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/database_wizard.py +0 -0
  246. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/debugging_wizard.py +0 -0
  247. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/design_review_wizard.py +0 -0
  248. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/devops_wizard.py +0 -0
  249. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/documentation_wizard.py +0 -0
  250. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/localization_wizard.py +0 -0
  251. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/monitoring_wizard.py +0 -0
  252. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/onboarding_wizard.py +0 -0
  253. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/performance_wizard.py +0 -0
  254. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/refactoring_wizard.py +0 -0
  255. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/retrospective_wizard.py +0 -0
  256. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/security_wizard.py +0 -0
  257. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/coach/wizards/testing_wizard.py +0 -0
  258. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/debugging_demo.py +0 -0
  259. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/domain_wizards/all_domain_wizards_demo.py +0 -0
  260. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/domain_wizards/healthcare_example.py +0 -0
  261. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/domain_wizards/tests/test_healthcare_wizard.py +0 -0
  262. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/level_5_transformative/BLOG_POST.md +0 -0
  263. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/level_5_transformative/README.md +0 -0
  264. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/level_5_transformative/data/deployment_pipeline.py +0 -0
  265. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/level_5_transformative/data/healthcare_handoff_code.py +0 -0
  266. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/level_5_transformative/run_full_demo.py +0 -0
  267. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/llm_toolkit_demo.py +0 -0
  268. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/multi_llm_usage.py +0 -0
  269. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/performance_demo.py +0 -0
  270. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/quickstart/README.md +0 -0
  271. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/quickstart/minimal_example.py +0 -0
  272. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/quickstart.py +0 -0
  273. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/redis_exploration.py +0 -0
  274. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/security_demo.py +0 -0
  275. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/security_integration_example.py +0 -0
  276. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/simple_usage.py +0 -0
  277. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/smart_team_quickstart.py +0 -0
  278. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/software_plugin_complete_demo.py +0 -0
  279. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/streamlit_debug_wizard.py +0 -0
  280. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/test_debugging_wizard.py +0 -0
  281. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/test_short_term_memory_full.py +0 -0
  282. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/testing_demo.py +0 -0
  283. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/wizard-dashboard/README.md +0 -0
  284. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/wizard-dashboard/SETUP.md +0 -0
  285. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/workflows/README.md +0 -0
  286. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/workflows/code_review_example.py +0 -0
  287. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/workflows/doc_gen_example.py +0 -0
  288. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/workflows/multi_model_example.py +0 -0
  289. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/examples/workflows/research_example.py +0 -0
  290. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/requirements.txt +0 -0
  291. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/setup.cfg +0 -0
  292. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/__init__.py +0 -0
  293. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/config.py +0 -0
  294. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/coordination.py +0 -0
  295. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/core.py +0 -0
  296. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/cost_tracker.py +0 -0
  297. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/discovery.py +0 -0
  298. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/emergence.py +0 -0
  299. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/exceptions.py +0 -0
  300. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/feedback_loops.py +0 -0
  301. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/levels.py +0 -0
  302. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/leverage_points.py +0 -0
  303. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/logging_config.py +0 -0
  304. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/monitoring.py +0 -0
  305. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/pattern_library.py +0 -0
  306. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/persistence.py +0 -0
  307. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/platform_utils.py +0 -0
  308. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/redis_memory.py +0 -0
  309. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/templates.py +0 -0
  310. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/trust_building.py +0 -0
  311. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/src/empathy_os/workflow_commands.py +0 -0
  312. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_advanced_debugging.py +0 -0
  313. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_agent_factory.py +0 -0
  314. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_agent_factory_memory.py +0 -0
  315. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_agent_factory_resilience.py +0 -0
  316. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_audit_logger.py +0 -0
  317. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_audit_logger_extended.py +0 -0
  318. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_base_wizard.py +0 -0
  319. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_claude_memory.py +0 -0
  320. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_cli.py +0 -0
  321. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_clinical_protocol_monitor.py +0 -0
  322. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_code_health.py +0 -0
  323. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_code_review_crew_integration.py +0 -0
  324. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_code_review_pipeline.py +0 -0
  325. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_code_review_pipeline_workflow.py +0 -0
  326. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_config.py +0 -0
  327. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_control_panel.py +0 -0
  328. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_control_panel_security.py +0 -0
  329. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_coordination.py +0 -0
  330. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_core.py +0 -0
  331. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_core_reliability.py +0 -0
  332. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_coverage_analyzer.py +0 -0
  333. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_crewai_adapter.py +0 -0
  334. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_emergence.py +0 -0
  335. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_empathy_llm_core.py +0 -0
  336. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_empathy_llm_security.py +0 -0
  337. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_empathy_os.py +0 -0
  338. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_enhanced_testing.py +0 -0
  339. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_exceptions.py +0 -0
  340. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_executor_integration.py +0 -0
  341. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_fallback.py +0 -0
  342. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_feedback_loops.py +0 -0
  343. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_health_check_workflow.py +0 -0
  344. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_levels.py +0 -0
  345. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_leverage_points.py +0 -0
  346. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_llm_integration.py +0 -0
  347. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_llm_toolkit_levels.py +0 -0
  348. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_logging_config.py +0 -0
  349. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_memory_graph.py +0 -0
  350. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_model_registry.py +0 -0
  351. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_model_router.py +0 -0
  352. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_monitoring.py +0 -0
  353. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_pattern_library.py +0 -0
  354. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_persistence.py +0 -0
  355. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_pii_scrubber.py +0 -0
  356. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_pii_scrubber_extended.py +0 -0
  357. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_platform_compat_ci.py +0 -0
  358. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_platform_utils.py +0 -0
  359. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_plugin_base.py +0 -0
  360. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_plugin_registry.py +0 -0
  361. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_pr_review_workflow.py +0 -0
  362. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_progress.py +0 -0
  363. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_prompt_engineering_wizard.py +0 -0
  364. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_protocol_checker.py +0 -0
  365. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_protocol_loader.py +0 -0
  366. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_providers.py +0 -0
  367. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_quality_analyzer.py +0 -0
  368. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_redis_integration.py +0 -0
  369. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_redis_memory.py +0 -0
  370. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_refactor_golden.py +0 -0
  371. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_refactoring_crew.py +0 -0
  372. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_resilience.py +0 -0
  373. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_secrets_detector.py +0 -0
  374. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_secure_memdocs.py +0 -0
  375. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_secure_memdocs_extended.py +0 -0
  376. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_secure_release_workflow.py +0 -0
  377. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_security_audit_crew.py +0 -0
  378. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_security_crew_integration.py +0 -0
  379. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_security_integration.py +0 -0
  380. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_security_scan.py +0 -0
  381. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_sensor_parsers.py +0 -0
  382. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_session_status.py +0 -0
  383. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_software_cli.py +0 -0
  384. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_software_integration.py +0 -0
  385. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_software_plugin.py +0 -0
  386. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_software_plugin_cli.py +0 -0
  387. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_state.py +0 -0
  388. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_step_config.py +0 -0
  389. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_telemetry.py +0 -0
  390. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_test_suggester.py +0 -0
  391. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_trajectory_analyzer.py +0 -0
  392. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_trust_building.py +0 -0
  393. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_trust_circuit_breaker.py +0 -0
  394. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_unified_memory.py +0 -0
  395. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_validation.py +0 -0
  396. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_wizard_outputs.py +0 -0
  397. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_wizard_site_comprehensive.py +0 -0
  398. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_workflow_base.py +0 -0
  399. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_workflow_commands.py +0 -0
  400. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/tests/test_xml_prompts.py +0 -0
  401. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/__init__.py +0 -0
  402. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/admission_assessment_wizard.py +0 -0
  403. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/care_plan.py +0 -0
  404. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/clinical_assessment.py +0 -0
  405. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/discharge_planning.py +0 -0
  406. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/discharge_summary_wizard.py +0 -0
  407. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/dosage_calculation.py +0 -0
  408. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/incident_report_wizard.py +0 -0
  409. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/medication_reconciliation.py +0 -0
  410. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/nursing_assessment.py +0 -0
  411. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/patient_education.py +0 -0
  412. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/quality_improvement.py +0 -0
  413. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/sbar_report.py +0 -0
  414. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/sbar_wizard.py +0 -0
  415. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/shift_handoff_wizard.py +0 -0
  416. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/soap_note_wizard.py +0 -0
  417. {empathy_framework-3.5.2 → empathy_framework-3.5.5}/wizards/treatment_plan.py +0 -0
@@ -5,6 +5,56 @@ All notable changes to the Empathy Framework will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.5.4] - 2025-12-29
9
+
10
+ ### Added
11
+
12
+ #### Comprehensive Test Suite Expansion
13
+
14
+ - Added 30+ new test files with comprehensive coverage
15
+ - New test modules:
16
+ - `test_baseline.py` - 71 tests for BaselineManager suppression system
17
+ - `test_graph.py` - Memory graph knowledge base tests
18
+ - `test_linter_parsers.py` - Multi-linter parser tests (ESLint, Pylint, MyPy, TypeScript, Clippy)
19
+ - `test_agent_orchestration_wizard.py` - 54 tests for agent orchestration
20
+ - `test_code_review_wizard.py` - 52 tests for code review wizard
21
+ - `test_tech_debt_wizard.py` - 39 tests for tech debt tracking
22
+ - `test_security_learning_wizard.py` - 35 tests for security learning
23
+ - `test_secure_release.py` - 31 tests for secure release pipeline
24
+ - `test_sync_claude.py` - 27 tests for Claude sync functionality
25
+ - `test_reporting.py` - 27 tests for reporting concepts
26
+ - `test_sbar_wizard.py` - Healthcare SBAR wizard tests
27
+ - Integration and performance test directories (`tests/integration/`, `tests/performance/`)
28
+ - **Project Indexing System** (`src/empathy_os/project_index/`) — JSON-based file tracking with:
29
+ - Automatic project structure scanning and indexing
30
+ - File metadata tracking (size, type, last modified)
31
+ - Codebase statistics and reports
32
+ - CrewAI integration for AI-powered analysis
33
+ - Test maintenance workflows (`test_lifecycle.py`, `test_maintenance.py`)
34
+
35
+ ### Fixed
36
+
37
+ - **BaselineManager**: Fixed test isolation bug where `BASELINE_SCHEMA.copy()` created shallow copies, causing nested dictionaries to be shared across test instances. Changed to `copy.deepcopy(BASELINE_SCHEMA)` for proper isolation.
38
+ - **ESLint Parser Test**: Fixed `test_parse_eslint_text_multiple_files` - rule names must be lowercase letters and hyphens only (changed `rule-1` to `no-unused-vars`)
39
+ - **Lint Warnings**: Fixed ambiguous variable name `l` → `line` in scanner.py
40
+ - **Lint Warnings**: Fixed unused loop variable `pkg` → `_pkg` in test_dependency_check.py
41
+
42
+ ### Tests
43
+
44
+ - Total tests: 5,603 passed, 72 skipped
45
+ - Coverage: 63.65% (exceeds 25% target)
46
+ - All workflow tests now pass with proper mocking
47
+ - Fixed 31+ previously failing workflow tests
48
+
49
+ ---
50
+
51
+ ## [3.5.3] - 2025-12-29
52
+
53
+ ### Documentation
54
+
55
+ - Updated Install Options with all provider extras (anthropic, openai, google)
56
+ - Added clarifying comments for each provider install option
57
+
8
58
  ## [3.5.2] - 2025-12-29
9
59
 
10
60
  ### Documentation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: empathy-framework
3
- Version: 3.5.2
3
+ Version: 3.5.5
4
4
  Summary: AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration
5
5
  Author-email: Patrick Roebuck <patrick.roebuck@smartAImemory.com>
6
6
  Maintainer-email: Smart-AI-Memory <patrick.roebuck@smartAImemory.com>
@@ -225,6 +225,8 @@ Requires-Dist: ruff<1.0,>=0.1; extra == "dev"
225
225
  Requires-Dist: coverage<8.0,>=7.0; extra == "dev"
226
226
  Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
227
227
  Requires-Dist: pre-commit<4.0,>=3.0; extra == "dev"
228
+ Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "dev"
229
+ Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "dev"
228
230
  Provides-Extra: full
229
231
  Requires-Dist: anthropic<1.0.0,>=0.8.0; extra == "full"
230
232
  Requires-Dist: openai<2.0.0,>=1.6.0; extra == "full"
@@ -276,8 +278,8 @@ Dynamic: license-file
276
278
  **The AI collaboration framework that predicts problems before they happen.**
277
279
 
278
280
  [![PyPI](https://img.shields.io/pypi/v/empathy-framework)](https://pypi.org/project/empathy-framework/)
279
- [![Tests](https://img.shields.io/badge/tests-3%2C564%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
280
- [![Coverage](https://img.shields.io/badge/coverage-55%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
281
+ [![Tests](https://img.shields.io/badge/tests-5%2C603%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
282
+ [![Coverage](https://img.shields.io/badge/coverage-64%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
281
283
  [![License](https://img.shields.io/badge/license-Fair%20Source%200.9-blue)](LICENSE)
282
284
  [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
283
285
 
@@ -287,6 +289,12 @@ pip install empathy-framework[full]
287
289
 
288
290
  ## What's New in v3.5.x
289
291
 
292
+ ### Project Indexing & Test Suite Expansion (v3.5.4)
293
+
294
+ - **Project Indexing System** — JSON-based file tracking with automatic structure scanning, metadata tracking, and CrewAI integration
295
+ - **5,603 Tests** — Comprehensive test coverage at 64% with 30+ new test modules
296
+ - **BaselineManager Fix** — Resolved test isolation bug affecting suppression system
297
+
290
298
  ### Memory API Security Hardening (v3.5.0)
291
299
 
292
300
  - **Input Validation** — Pattern IDs, agent IDs, and classifications validated to prevent path traversal and injection attacks
@@ -711,9 +719,10 @@ pip install empathy-framework[full]
711
719
  pip install empathy-framework
712
720
 
713
721
  # Specific providers
714
- pip install empathy-framework[anthropic]
715
- pip install empathy-framework[openai]
716
- pip install empathy-framework[llm] # Both
722
+ pip install empathy-framework[anthropic] # Claude
723
+ pip install empathy-framework[openai] # GPT-4, Ollama (OpenAI-compatible)
724
+ pip install empathy-framework[google] # Gemini
725
+ pip install empathy-framework[llm] # All providers
717
726
 
718
727
  # Development
719
728
  git clone https://github.com/Smart-AI-Memory/empathy-framework.git
@@ -3,8 +3,8 @@
3
3
  **The AI collaboration framework that predicts problems before they happen.**
4
4
 
5
5
  [![PyPI](https://img.shields.io/pypi/v/empathy-framework)](https://pypi.org/project/empathy-framework/)
6
- [![Tests](https://img.shields.io/badge/tests-3%2C564%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
7
- [![Coverage](https://img.shields.io/badge/coverage-55%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
6
+ [![Tests](https://img.shields.io/badge/tests-5%2C603%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
7
+ [![Coverage](https://img.shields.io/badge/coverage-64%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
8
8
  [![License](https://img.shields.io/badge/license-Fair%20Source%200.9-blue)](LICENSE)
9
9
  [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
10
10
 
@@ -14,6 +14,12 @@ pip install empathy-framework[full]
14
14
 
15
15
  ## What's New in v3.5.x
16
16
 
17
+ ### Project Indexing & Test Suite Expansion (v3.5.4)
18
+
19
+ - **Project Indexing System** — JSON-based file tracking with automatic structure scanning, metadata tracking, and CrewAI integration
20
+ - **5,603 Tests** — Comprehensive test coverage at 64% with 30+ new test modules
21
+ - **BaselineManager Fix** — Resolved test isolation bug affecting suppression system
22
+
17
23
  ### Memory API Security Hardening (v3.5.0)
18
24
 
19
25
  - **Input Validation** — Pattern IDs, agent IDs, and classifications validated to prevent path traversal and injection attacks
@@ -438,9 +444,10 @@ pip install empathy-framework[full]
438
444
  pip install empathy-framework
439
445
 
440
446
  # Specific providers
441
- pip install empathy-framework[anthropic]
442
- pip install empathy-framework[openai]
443
- pip install empathy-framework[llm] # Both
447
+ pip install empathy-framework[anthropic] # Claude
448
+ pip install empathy-framework[openai] # GPT-4, Ollama (OpenAI-compatible)
449
+ pip install empathy-framework[google] # Gemini
450
+ pip install empathy-framework[llm] # All providers
444
451
 
445
452
  # Development
446
453
  git clone https://github.com/Smart-AI-Memory/empathy-framework.git
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: empathy-framework
3
- Version: 3.5.2
3
+ Version: 3.5.5
4
4
  Summary: AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration
5
5
  Author-email: Patrick Roebuck <patrick.roebuck@smartAImemory.com>
6
6
  Maintainer-email: Smart-AI-Memory <patrick.roebuck@smartAImemory.com>
@@ -225,6 +225,8 @@ Requires-Dist: ruff<1.0,>=0.1; extra == "dev"
225
225
  Requires-Dist: coverage<8.0,>=7.0; extra == "dev"
226
226
  Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
227
227
  Requires-Dist: pre-commit<4.0,>=3.0; extra == "dev"
228
+ Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "dev"
229
+ Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "dev"
228
230
  Provides-Extra: full
229
231
  Requires-Dist: anthropic<1.0.0,>=0.8.0; extra == "full"
230
232
  Requires-Dist: openai<2.0.0,>=1.6.0; extra == "full"
@@ -276,8 +278,8 @@ Dynamic: license-file
276
278
  **The AI collaboration framework that predicts problems before they happen.**
277
279
 
278
280
  [![PyPI](https://img.shields.io/pypi/v/empathy-framework)](https://pypi.org/project/empathy-framework/)
279
- [![Tests](https://img.shields.io/badge/tests-3%2C564%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
280
- [![Coverage](https://img.shields.io/badge/coverage-55%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
281
+ [![Tests](https://img.shields.io/badge/tests-5%2C603%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
282
+ [![Coverage](https://img.shields.io/badge/coverage-64%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
281
283
  [![License](https://img.shields.io/badge/license-Fair%20Source%200.9-blue)](LICENSE)
282
284
  [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
283
285
 
@@ -287,6 +289,12 @@ pip install empathy-framework[full]
287
289
 
288
290
  ## What's New in v3.5.x
289
291
 
292
+ ### Project Indexing & Test Suite Expansion (v3.5.4)
293
+
294
+ - **Project Indexing System** — JSON-based file tracking with automatic structure scanning, metadata tracking, and CrewAI integration
295
+ - **5,603 Tests** — Comprehensive test coverage at 64% with 30+ new test modules
296
+ - **BaselineManager Fix** — Resolved test isolation bug affecting suppression system
297
+
290
298
  ### Memory API Security Hardening (v3.5.0)
291
299
 
292
300
  - **Input Validation** — Pattern IDs, agent IDs, and classifications validated to prevent path traversal and injection attacks
@@ -711,9 +719,10 @@ pip install empathy-framework[full]
711
719
  pip install empathy-framework
712
720
 
713
721
  # Specific providers
714
- pip install empathy-framework[anthropic]
715
- pip install empathy-framework[openai]
716
- pip install empathy-framework[llm] # Both
722
+ pip install empathy-framework[anthropic] # Claude
723
+ pip install empathy-framework[openai] # GPT-4, Ollama (OpenAI-compatible)
724
+ pip install empathy-framework[google] # Gemini
725
+ pip install empathy-framework[llm] # All providers
717
726
 
718
727
  # Development
719
728
  git clone https://github.com/Smart-AI-Memory/empathy-framework.git
@@ -254,10 +254,14 @@ tests/test_advanced_debugging.py
254
254
  tests/test_agent_factory.py
255
255
  tests/test_agent_factory_memory.py
256
256
  tests/test_agent_factory_resilience.py
257
+ tests/test_agent_orchestration_wizard.py
258
+ tests/test_ai_collaboration_wizard.py
257
259
  tests/test_all_wizards.py
258
260
  tests/test_audit_logger.py
259
261
  tests/test_audit_logger_extended.py
262
+ tests/test_base.py
260
263
  tests/test_base_wizard.py
264
+ tests/test_baseline.py
261
265
  tests/test_book_chapter_wizard.py
262
266
  tests/test_book_production_agents.py
263
267
  tests/test_bug_predict_workflow.py
@@ -266,11 +270,14 @@ tests/test_claude_memory_extended.py
266
270
  tests/test_cli.py
267
271
  tests/test_clinical_protocol_monitor.py
268
272
  tests/test_code_health.py
273
+ tests/test_code_review.py
269
274
  tests/test_code_review_crew_integration.py
270
275
  tests/test_code_review_pipeline.py
271
276
  tests/test_code_review_pipeline_workflow.py
277
+ tests/test_code_review_wizard.py
272
278
  tests/test_code_review_workflow.py
273
279
  tests/test_config.py
280
+ tests/test_config_loaders.py
274
281
  tests/test_control_panel.py
275
282
  tests/test_control_panel_security.py
276
283
  tests/test_coordination.py
@@ -279,8 +286,10 @@ tests/test_core_reliability.py
279
286
  tests/test_cost_tracker.py
280
287
  tests/test_coverage_analyzer.py
281
288
  tests/test_crewai_adapter.py
289
+ tests/test_dependency_check.py
282
290
  tests/test_dependency_check_workflow.py
283
291
  tests/test_discovery.py
292
+ tests/test_document_gen.py
284
293
  tests/test_document_gen_workflow.py
285
294
  tests/test_emergence.py
286
295
  tests/test_empathy_llm_core.py
@@ -292,19 +301,25 @@ tests/test_exceptions.py
292
301
  tests/test_executor_integration.py
293
302
  tests/test_fallback.py
294
303
  tests/test_feedback_loops.py
304
+ tests/test_graph.py
305
+ tests/test_health_check.py
295
306
  tests/test_health_check_workflow.py
296
307
  tests/test_intelligence_integration.py
297
308
  tests/test_levels.py
298
309
  tests/test_leverage_points.py
310
+ tests/test_linter_parsers.py
299
311
  tests/test_llm_integration.py
300
312
  tests/test_llm_toolkit_levels.py
301
313
  tests/test_logging_config.py
314
+ tests/test_long_term.py
302
315
  tests/test_memory_graph.py
303
316
  tests/test_model_registry.py
304
317
  tests/test_model_router.py
305
318
  tests/test_monitoring.py
319
+ tests/test_multi_model_wizard.py
306
320
  tests/test_pattern_library.py
307
321
  tests/test_perf_audit_workflow.py
322
+ tests/test_performance_profiling_wizard.py
308
323
  tests/test_persistence.py
309
324
  tests/test_pii_scrubber.py
310
325
  tests/test_pii_scrubber_extended.py
@@ -312,33 +327,47 @@ tests/test_platform_compat_ci.py
312
327
  tests/test_platform_utils.py
313
328
  tests/test_plugin_base.py
314
329
  tests/test_plugin_registry.py
330
+ tests/test_pr_review.py
315
331
  tests/test_pr_review_workflow.py
316
332
  tests/test_production_smoke.py
317
333
  tests/test_progress.py
318
334
  tests/test_prompt_engineering_wizard.py
319
335
  tests/test_protocol_checker.py
320
336
  tests/test_protocol_loader.py
337
+ tests/test_provider_config.py
321
338
  tests/test_providers.py
322
339
  tests/test_quality_analyzer.py
323
340
  tests/test_redis_bootstrap.py
341
+ tests/test_redis_config.py
324
342
  tests/test_redis_integration.py
325
343
  tests/test_redis_memory.py
326
344
  tests/test_refactor_golden.py
327
345
  tests/test_refactor_plan_workflow.py
346
+ tests/test_refactoring.py
328
347
  tests/test_refactoring_crew.py
348
+ tests/test_registry.py
349
+ tests/test_release_prep.py
350
+ tests/test_reporting.py
351
+ tests/test_reports.py
329
352
  tests/test_resilience.py
353
+ tests/test_sbar_wizard.py
354
+ tests/test_scanner.py
330
355
  tests/test_secrets_detector.py
331
356
  tests/test_secure_memdocs.py
332
357
  tests/test_secure_memdocs_extended.py
358
+ tests/test_secure_release.py
333
359
  tests/test_secure_release_workflow.py
360
+ tests/test_security_audit.py
334
361
  tests/test_security_audit_crew.py
335
362
  tests/test_security_audit_workflow.py
336
363
  tests/test_security_crew_integration.py
337
364
  tests/test_security_integration.py
365
+ tests/test_security_learning_wizard.py
338
366
  tests/test_security_negative_cases.py
339
367
  tests/test_security_scan.py
340
368
  tests/test_sensor_parsers.py
341
369
  tests/test_session_status.py
370
+ tests/test_short_term.py
342
371
  tests/test_smart_router.py
343
372
  tests/test_software_cli.py
344
373
  tests/test_software_integration.py
@@ -347,9 +376,12 @@ tests/test_software_plugin_cli.py
347
376
  tests/test_state.py
348
377
  tests/test_step_config.py
349
378
  tests/test_summary_index.py
379
+ tests/test_sync_claude.py
380
+ tests/test_tech_debt_wizard.py
350
381
  tests/test_telemetry.py
351
382
  tests/test_templates.py
352
383
  tests/test_test_suggester.py
384
+ tests/test_timeout.py
353
385
  tests/test_token_estimator.py
354
386
  tests/test_trajectory_analyzer.py
355
387
  tests/test_trust_building.py
@@ -68,6 +68,8 @@ ruff<1.0,>=0.1
68
68
  coverage<8.0,>=7.0
69
69
  bandit<2.0,>=1.7
70
70
  pre-commit<4.0,>=3.0
71
+ httpx<1.0.0,>=0.27.0
72
+ fastapi<1.0.0,>=0.109.1
71
73
 
72
74
  [docs]
73
75
  mkdocs<2.0.0,>=1.5.0
@@ -12,7 +12,7 @@ Licensed under Fair Source 0.9
12
12
 
13
13
  from .core import EmpathyLLM
14
14
  from .levels import EmpathyLevel
15
- from .providers import AnthropicProvider, LocalProvider, OpenAIProvider
15
+ from .providers import AnthropicProvider, GeminiProvider, LocalProvider, OpenAIProvider
16
16
  from .state import CollaborationState, UserPattern
17
17
 
18
18
  __version__ = "1.9.5"
@@ -21,6 +21,7 @@ __all__ = [
21
21
  "EmpathyLLM",
22
22
  "OpenAIProvider",
23
23
  "AnthropicProvider",
24
+ "GeminiProvider",
24
25
  "LocalProvider",
25
26
  "CollaborationState",
26
27
  "UserPattern",
@@ -23,7 +23,13 @@ from empathy_os.memory import (
23
23
  )
24
24
 
25
25
  from .levels import EmpathyLevel
26
- from .providers import AnthropicProvider, BaseLLMProvider, LocalProvider, OpenAIProvider
26
+ from .providers import (
27
+ AnthropicProvider,
28
+ BaseLLMProvider,
29
+ GeminiProvider,
30
+ LocalProvider,
31
+ OpenAIProvider,
32
+ )
27
33
  from .routing import ModelRouter
28
34
  from .state import CollaborationState, PatternType, UserPattern
29
35
 
@@ -218,6 +224,8 @@ class EmpathyLLM:
218
224
  )
219
225
  elif provider == "openai":
220
226
  return OpenAIProvider(api_key=api_key, model=model or "gpt-4-turbo-preview", **kwargs)
227
+ elif provider in ("google", "gemini"):
228
+ return GeminiProvider(api_key=api_key, model=model or "gemini-1.5-pro", **kwargs)
221
229
  elif provider == "local":
222
230
  return LocalProvider(
223
231
  endpoint=kwargs.get("endpoint", "http://localhost:11434"),
@@ -372,6 +372,183 @@ class OpenAIProvider(BaseLLMProvider):
372
372
  )
373
373
 
374
374
 
375
+ class GeminiProvider(BaseLLMProvider):
376
+ """
377
+ Google Gemini provider with cost tracking integration.
378
+
379
+ Supports Gemini models:
380
+ - gemini-2.0-flash-exp: Fast, cheap tier (1M context)
381
+ - gemini-1.5-pro: Balanced, capable tier (2M context)
382
+ - gemini-2.5-pro: Premium reasoning tier
383
+ """
384
+
385
+ def __init__(
386
+ self,
387
+ api_key: str | None = None,
388
+ model: str = "gemini-1.5-pro",
389
+ **kwargs,
390
+ ):
391
+ super().__init__(api_key, **kwargs)
392
+ self.model = model
393
+
394
+ # Validate API key is provided
395
+ if not api_key or not api_key.strip():
396
+ raise ValueError(
397
+ "API key is required for Gemini provider. "
398
+ "Provide via api_key parameter or GOOGLE_API_KEY environment variable"
399
+ )
400
+
401
+ # Lazy import to avoid requiring google-generativeai if not used
402
+ try:
403
+ import google.generativeai as genai
404
+
405
+ genai.configure(api_key=api_key)
406
+ self.genai = genai
407
+ self.client = genai.GenerativeModel(model)
408
+ except ImportError as e:
409
+ raise ImportError(
410
+ "google-generativeai package required. Install with: pip install google-generativeai"
411
+ ) from e
412
+
413
+ async def generate(
414
+ self,
415
+ messages: list[dict[str, str]],
416
+ system_prompt: str | None = None,
417
+ temperature: float = 0.7,
418
+ max_tokens: int = 1024,
419
+ **kwargs,
420
+ ) -> LLMResponse:
421
+ """
422
+ Generate response using Google Gemini API.
423
+
424
+ Gemini-specific features:
425
+ - Large context windows (1M-2M tokens)
426
+ - Multimodal support
427
+ - Grounding with Google Search
428
+ """
429
+ import asyncio
430
+
431
+ # Convert messages to Gemini format
432
+ gemini_messages = []
433
+ for msg in messages:
434
+ role = "user" if msg["role"] == "user" else "model"
435
+ gemini_messages.append({"role": role, "parts": [msg["content"]]})
436
+
437
+ # Build generation config
438
+ generation_config = self.genai.GenerationConfig(
439
+ temperature=temperature,
440
+ max_output_tokens=max_tokens,
441
+ )
442
+
443
+ # Create model with system instruction if provided
444
+ if system_prompt:
445
+ model = self.genai.GenerativeModel(
446
+ self.model,
447
+ system_instruction=system_prompt,
448
+ )
449
+ else:
450
+ model = self.client
451
+
452
+ # Call Gemini API (run sync in thread pool for async compatibility)
453
+ loop = asyncio.get_event_loop()
454
+ response = await loop.run_in_executor(
455
+ None,
456
+ lambda: model.generate_content(
457
+ gemini_messages,
458
+ generation_config=generation_config,
459
+ ),
460
+ )
461
+
462
+ # Extract token counts from usage metadata
463
+ input_tokens = 0
464
+ output_tokens = 0
465
+ if hasattr(response, "usage_metadata"):
466
+ input_tokens = getattr(response.usage_metadata, "prompt_token_count", 0)
467
+ output_tokens = getattr(response.usage_metadata, "candidates_token_count", 0)
468
+
469
+ # Log to cost tracker
470
+ try:
471
+ from empathy_os.cost_tracker import log_request
472
+
473
+ tier = self._get_tier()
474
+ log_request(
475
+ model=self.model,
476
+ input_tokens=input_tokens,
477
+ output_tokens=output_tokens,
478
+ task_type=kwargs.get("task_type", "gemini_generate"),
479
+ tier=tier,
480
+ )
481
+ except ImportError:
482
+ pass # Cost tracking not available
483
+
484
+ # Convert to standardized format
485
+ content = ""
486
+ if response.candidates:
487
+ content = response.candidates[0].content.parts[0].text
488
+
489
+ finish_reason = "stop"
490
+ if response.candidates and hasattr(response.candidates[0], "finish_reason"):
491
+ finish_reason = str(response.candidates[0].finish_reason.name).lower()
492
+
493
+ return LLMResponse(
494
+ content=content,
495
+ model=self.model,
496
+ tokens_used=input_tokens + output_tokens,
497
+ finish_reason=finish_reason,
498
+ metadata={
499
+ "input_tokens": input_tokens,
500
+ "output_tokens": output_tokens,
501
+ "provider": "google",
502
+ "model_family": "gemini",
503
+ },
504
+ )
505
+
506
+ def _get_tier(self) -> str:
507
+ """Determine tier from model name."""
508
+ if "flash" in self.model.lower():
509
+ return "cheap"
510
+ elif "2.5" in self.model or "ultra" in self.model.lower():
511
+ return "premium"
512
+ else:
513
+ return "capable"
514
+
515
+ def get_model_info(self) -> dict[str, Any]:
516
+ """Get Gemini model information"""
517
+ model_info = {
518
+ "gemini-2.0-flash-exp": {
519
+ "max_tokens": 1000000,
520
+ "cost_per_1m_input": 0.075,
521
+ "cost_per_1m_output": 0.30,
522
+ "supports_vision": True,
523
+ "ideal_for": "Fast responses, simple tasks, large context",
524
+ },
525
+ "gemini-1.5-pro": {
526
+ "max_tokens": 2000000,
527
+ "cost_per_1m_input": 1.25,
528
+ "cost_per_1m_output": 5.00,
529
+ "supports_vision": True,
530
+ "ideal_for": "Complex reasoning, large codebases",
531
+ },
532
+ "gemini-2.5-pro": {
533
+ "max_tokens": 1000000,
534
+ "cost_per_1m_input": 2.50,
535
+ "cost_per_1m_output": 10.00,
536
+ "supports_vision": True,
537
+ "ideal_for": "Advanced reasoning, complex tasks",
538
+ },
539
+ }
540
+
541
+ return model_info.get(
542
+ self.model,
543
+ {
544
+ "max_tokens": 1000000,
545
+ "cost_per_1m_input": 1.25,
546
+ "cost_per_1m_output": 5.00,
547
+ "supports_vision": True,
548
+ },
549
+ )
550
+
551
+
375
552
  class LocalProvider(BaseLLMProvider):
376
553
  """
377
554
  Local model provider (Ollama, LM Studio, etc.).
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "empathy-framework"
7
- version = "3.5.2"
7
+ version = "3.5.5"
8
8
  description = "AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration"
9
9
  readme = {file = "README.md", content-type = "text/markdown"}
10
10
  requires-python = ">=3.10"
@@ -137,6 +137,9 @@ dev = [
137
137
  "coverage>=7.0,<8.0",
138
138
  "bandit>=1.7,<2.0",
139
139
  "pre-commit>=3.0,<4.0",
140
+ # Test dependencies for API and integration tests
141
+ "httpx>=0.27.0,<1.0.0", # For API testing
142
+ "fastapi>=0.109.1,<1.0.0", # For wizard API tests
140
143
  ]
141
144
 
142
145
  # Complete installation with Claude Code + MemDocs transformative stack
@@ -358,6 +361,7 @@ markers = [
358
361
  "security: marks tests as security-focused",
359
362
  "performance: marks tests as performance benchmarks",
360
363
  "llm: marks tests that require LLM API access",
364
+ "network: marks tests that require network/internet access (skip in CI with '-m \"not network\"')",
361
365
  ]
362
366
  filterwarnings = [
363
367
  "ignore::DeprecationWarning",
@@ -391,6 +395,3 @@ exclude_lines = [
391
395
  "class .*\\bProtocol\\):",
392
396
  "@(abc\\.)?abstractmethod",
393
397
  ]
394
-
395
- [tool.coverage.html]
396
- directory = "htmlcov"