empathy-framework 3.2.3__py3-none-any.whl → 3.8.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.
- coach_wizards/__init__.py +11 -12
- coach_wizards/accessibility_wizard.py +12 -12
- coach_wizards/api_wizard.py +12 -12
- coach_wizards/base_wizard.py +26 -20
- coach_wizards/cicd_wizard.py +15 -13
- coach_wizards/code_reviewer_README.md +60 -0
- coach_wizards/code_reviewer_wizard.py +180 -0
- coach_wizards/compliance_wizard.py +12 -12
- coach_wizards/database_wizard.py +12 -12
- coach_wizards/debugging_wizard.py +12 -12
- coach_wizards/documentation_wizard.py +12 -12
- coach_wizards/generate_wizards.py +1 -2
- coach_wizards/localization_wizard.py +101 -19
- coach_wizards/migration_wizard.py +12 -12
- coach_wizards/monitoring_wizard.py +12 -12
- coach_wizards/observability_wizard.py +12 -12
- coach_wizards/performance_wizard.py +12 -12
- coach_wizards/prompt_engineering_wizard.py +22 -25
- coach_wizards/refactoring_wizard.py +12 -12
- coach_wizards/scaling_wizard.py +12 -12
- coach_wizards/security_wizard.py +12 -12
- coach_wizards/testing_wizard.py +12 -12
- {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/METADATA +513 -58
- empathy_framework-3.8.2.dist-info/RECORD +333 -0
- empathy_framework-3.8.2.dist-info/entry_points.txt +22 -0
- {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/top_level.txt +5 -1
- empathy_healthcare_plugin/__init__.py +1 -2
- empathy_healthcare_plugin/monitors/__init__.py +9 -0
- empathy_healthcare_plugin/monitors/clinical_protocol_monitor.py +315 -0
- empathy_healthcare_plugin/monitors/monitoring/__init__.py +44 -0
- empathy_healthcare_plugin/monitors/monitoring/protocol_checker.py +300 -0
- empathy_healthcare_plugin/monitors/monitoring/protocol_loader.py +214 -0
- empathy_healthcare_plugin/monitors/monitoring/sensor_parsers.py +306 -0
- empathy_healthcare_plugin/monitors/monitoring/trajectory_analyzer.py +389 -0
- empathy_llm_toolkit/__init__.py +7 -7
- empathy_llm_toolkit/agent_factory/__init__.py +53 -0
- empathy_llm_toolkit/agent_factory/adapters/__init__.py +85 -0
- empathy_llm_toolkit/agent_factory/adapters/autogen_adapter.py +312 -0
- empathy_llm_toolkit/agent_factory/adapters/crewai_adapter.py +454 -0
- empathy_llm_toolkit/agent_factory/adapters/haystack_adapter.py +298 -0
- empathy_llm_toolkit/agent_factory/adapters/langchain_adapter.py +362 -0
- empathy_llm_toolkit/agent_factory/adapters/langgraph_adapter.py +333 -0
- empathy_llm_toolkit/agent_factory/adapters/native.py +228 -0
- empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +426 -0
- empathy_llm_toolkit/agent_factory/base.py +305 -0
- empathy_llm_toolkit/agent_factory/crews/__init__.py +67 -0
- empathy_llm_toolkit/agent_factory/crews/code_review.py +1113 -0
- empathy_llm_toolkit/agent_factory/crews/health_check.py +1246 -0
- empathy_llm_toolkit/agent_factory/crews/refactoring.py +1128 -0
- empathy_llm_toolkit/agent_factory/crews/security_audit.py +1018 -0
- empathy_llm_toolkit/agent_factory/decorators.py +286 -0
- empathy_llm_toolkit/agent_factory/factory.py +558 -0
- empathy_llm_toolkit/agent_factory/framework.py +192 -0
- empathy_llm_toolkit/agent_factory/memory_integration.py +324 -0
- empathy_llm_toolkit/agent_factory/resilient.py +320 -0
- empathy_llm_toolkit/claude_memory.py +14 -15
- empathy_llm_toolkit/cli/__init__.py +8 -0
- empathy_llm_toolkit/cli/sync_claude.py +487 -0
- empathy_llm_toolkit/code_health.py +177 -22
- empathy_llm_toolkit/config/__init__.py +29 -0
- empathy_llm_toolkit/config/unified.py +295 -0
- empathy_llm_toolkit/contextual_patterns.py +11 -12
- empathy_llm_toolkit/core.py +51 -49
- empathy_llm_toolkit/git_pattern_extractor.py +16 -12
- empathy_llm_toolkit/levels.py +6 -13
- empathy_llm_toolkit/pattern_confidence.py +14 -18
- empathy_llm_toolkit/pattern_resolver.py +10 -12
- empathy_llm_toolkit/pattern_summary.py +13 -11
- empathy_llm_toolkit/providers.py +194 -28
- empathy_llm_toolkit/routing/__init__.py +32 -0
- empathy_llm_toolkit/routing/model_router.py +362 -0
- empathy_llm_toolkit/security/IMPLEMENTATION_SUMMARY.md +413 -0
- empathy_llm_toolkit/security/PHASE2_COMPLETE.md +384 -0
- empathy_llm_toolkit/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md +271 -0
- empathy_llm_toolkit/security/QUICK_REFERENCE.md +316 -0
- empathy_llm_toolkit/security/README.md +262 -0
- empathy_llm_toolkit/security/__init__.py +62 -0
- empathy_llm_toolkit/security/audit_logger.py +929 -0
- empathy_llm_toolkit/security/audit_logger_example.py +152 -0
- empathy_llm_toolkit/security/pii_scrubber.py +640 -0
- empathy_llm_toolkit/security/secrets_detector.py +678 -0
- empathy_llm_toolkit/security/secrets_detector_example.py +304 -0
- empathy_llm_toolkit/security/secure_memdocs.py +1192 -0
- empathy_llm_toolkit/security/secure_memdocs_example.py +278 -0
- empathy_llm_toolkit/session_status.py +18 -20
- empathy_llm_toolkit/state.py +20 -21
- empathy_llm_toolkit/wizards/__init__.py +38 -0
- empathy_llm_toolkit/wizards/base_wizard.py +364 -0
- empathy_llm_toolkit/wizards/customer_support_wizard.py +190 -0
- empathy_llm_toolkit/wizards/healthcare_wizard.py +362 -0
- empathy_llm_toolkit/wizards/patient_assessment_README.md +64 -0
- empathy_llm_toolkit/wizards/patient_assessment_wizard.py +193 -0
- empathy_llm_toolkit/wizards/technology_wizard.py +194 -0
- empathy_os/__init__.py +76 -77
- empathy_os/adaptive/__init__.py +13 -0
- empathy_os/adaptive/task_complexity.py +127 -0
- empathy_os/{monitoring.py → agent_monitoring.py} +27 -27
- empathy_os/cache/__init__.py +117 -0
- empathy_os/cache/base.py +166 -0
- empathy_os/cache/dependency_manager.py +253 -0
- empathy_os/cache/hash_only.py +248 -0
- empathy_os/cache/hybrid.py +390 -0
- empathy_os/cache/storage.py +282 -0
- empathy_os/cli.py +515 -109
- empathy_os/cli_unified.py +189 -42
- empathy_os/config/__init__.py +63 -0
- empathy_os/config/xml_config.py +239 -0
- empathy_os/config.py +87 -36
- empathy_os/coordination.py +48 -54
- empathy_os/core.py +90 -99
- empathy_os/cost_tracker.py +20 -23
- empathy_os/dashboard/__init__.py +15 -0
- empathy_os/dashboard/server.py +743 -0
- empathy_os/discovery.py +9 -11
- empathy_os/emergence.py +20 -21
- empathy_os/exceptions.py +18 -30
- empathy_os/feedback_loops.py +27 -30
- empathy_os/levels.py +31 -34
- empathy_os/leverage_points.py +27 -28
- empathy_os/logging_config.py +11 -12
- empathy_os/memory/__init__.py +195 -0
- empathy_os/memory/claude_memory.py +466 -0
- empathy_os/memory/config.py +224 -0
- empathy_os/memory/control_panel.py +1298 -0
- empathy_os/memory/edges.py +179 -0
- empathy_os/memory/graph.py +567 -0
- empathy_os/memory/long_term.py +1194 -0
- empathy_os/memory/nodes.py +179 -0
- empathy_os/memory/redis_bootstrap.py +540 -0
- empathy_os/memory/security/__init__.py +31 -0
- empathy_os/memory/security/audit_logger.py +930 -0
- empathy_os/memory/security/pii_scrubber.py +640 -0
- empathy_os/memory/security/secrets_detector.py +678 -0
- empathy_os/memory/short_term.py +2119 -0
- empathy_os/memory/storage/__init__.py +15 -0
- empathy_os/memory/summary_index.py +583 -0
- empathy_os/memory/unified.py +619 -0
- empathy_os/metrics/__init__.py +12 -0
- empathy_os/metrics/prompt_metrics.py +190 -0
- empathy_os/models/__init__.py +136 -0
- empathy_os/models/__main__.py +13 -0
- empathy_os/models/cli.py +655 -0
- empathy_os/models/empathy_executor.py +354 -0
- empathy_os/models/executor.py +252 -0
- empathy_os/models/fallback.py +671 -0
- empathy_os/models/provider_config.py +563 -0
- empathy_os/models/registry.py +382 -0
- empathy_os/models/tasks.py +302 -0
- empathy_os/models/telemetry.py +548 -0
- empathy_os/models/token_estimator.py +378 -0
- empathy_os/models/validation.py +274 -0
- empathy_os/monitoring/__init__.py +52 -0
- empathy_os/monitoring/alerts.py +23 -0
- empathy_os/monitoring/alerts_cli.py +268 -0
- empathy_os/monitoring/multi_backend.py +271 -0
- empathy_os/monitoring/otel_backend.py +363 -0
- empathy_os/optimization/__init__.py +19 -0
- empathy_os/optimization/context_optimizer.py +272 -0
- empathy_os/pattern_library.py +29 -28
- empathy_os/persistence.py +30 -34
- empathy_os/platform_utils.py +261 -0
- empathy_os/plugins/__init__.py +28 -0
- empathy_os/plugins/base.py +361 -0
- empathy_os/plugins/registry.py +268 -0
- empathy_os/project_index/__init__.py +30 -0
- empathy_os/project_index/cli.py +335 -0
- empathy_os/project_index/crew_integration.py +430 -0
- empathy_os/project_index/index.py +425 -0
- empathy_os/project_index/models.py +501 -0
- empathy_os/project_index/reports.py +473 -0
- empathy_os/project_index/scanner.py +538 -0
- empathy_os/prompts/__init__.py +61 -0
- empathy_os/prompts/config.py +77 -0
- empathy_os/prompts/context.py +177 -0
- empathy_os/prompts/parser.py +285 -0
- empathy_os/prompts/registry.py +313 -0
- empathy_os/prompts/templates.py +208 -0
- empathy_os/redis_config.py +144 -58
- empathy_os/redis_memory.py +53 -56
- empathy_os/resilience/__init__.py +56 -0
- empathy_os/resilience/circuit_breaker.py +256 -0
- empathy_os/resilience/fallback.py +179 -0
- empathy_os/resilience/health.py +300 -0
- empathy_os/resilience/retry.py +209 -0
- empathy_os/resilience/timeout.py +135 -0
- empathy_os/routing/__init__.py +43 -0
- empathy_os/routing/chain_executor.py +433 -0
- empathy_os/routing/classifier.py +217 -0
- empathy_os/routing/smart_router.py +234 -0
- empathy_os/routing/wizard_registry.py +307 -0
- empathy_os/templates.py +12 -11
- empathy_os/trust/__init__.py +28 -0
- empathy_os/trust/circuit_breaker.py +579 -0
- empathy_os/trust_building.py +44 -36
- empathy_os/validation/__init__.py +19 -0
- empathy_os/validation/xml_validator.py +281 -0
- empathy_os/wizard_factory_cli.py +170 -0
- empathy_os/{workflows.py → workflow_commands.py} +123 -31
- empathy_os/workflows/__init__.py +360 -0
- empathy_os/workflows/base.py +1660 -0
- empathy_os/workflows/bug_predict.py +962 -0
- empathy_os/workflows/code_review.py +960 -0
- empathy_os/workflows/code_review_adapters.py +310 -0
- empathy_os/workflows/code_review_pipeline.py +720 -0
- empathy_os/workflows/config.py +600 -0
- empathy_os/workflows/dependency_check.py +648 -0
- empathy_os/workflows/document_gen.py +1069 -0
- empathy_os/workflows/documentation_orchestrator.py +1205 -0
- empathy_os/workflows/health_check.py +679 -0
- empathy_os/workflows/keyboard_shortcuts/__init__.py +39 -0
- empathy_os/workflows/keyboard_shortcuts/generators.py +386 -0
- empathy_os/workflows/keyboard_shortcuts/parsers.py +414 -0
- empathy_os/workflows/keyboard_shortcuts/prompts.py +295 -0
- empathy_os/workflows/keyboard_shortcuts/schema.py +193 -0
- empathy_os/workflows/keyboard_shortcuts/workflow.py +505 -0
- empathy_os/workflows/manage_documentation.py +804 -0
- empathy_os/workflows/new_sample_workflow1.py +146 -0
- empathy_os/workflows/new_sample_workflow1_README.md +150 -0
- empathy_os/workflows/perf_audit.py +687 -0
- empathy_os/workflows/pr_review.py +748 -0
- empathy_os/workflows/progress.py +445 -0
- empathy_os/workflows/progress_server.py +322 -0
- empathy_os/workflows/refactor_plan.py +693 -0
- empathy_os/workflows/release_prep.py +808 -0
- empathy_os/workflows/research_synthesis.py +404 -0
- empathy_os/workflows/secure_release.py +585 -0
- empathy_os/workflows/security_adapters.py +297 -0
- empathy_os/workflows/security_audit.py +1046 -0
- empathy_os/workflows/step_config.py +234 -0
- empathy_os/workflows/test5.py +125 -0
- empathy_os/workflows/test5_README.md +158 -0
- empathy_os/workflows/test_gen.py +1855 -0
- empathy_os/workflows/test_lifecycle.py +526 -0
- empathy_os/workflows/test_maintenance.py +626 -0
- empathy_os/workflows/test_maintenance_cli.py +590 -0
- empathy_os/workflows/test_maintenance_crew.py +821 -0
- empathy_os/workflows/xml_enhanced_crew.py +285 -0
- empathy_software_plugin/__init__.py +1 -2
- empathy_software_plugin/cli/__init__.py +120 -0
- empathy_software_plugin/cli/inspect.py +362 -0
- empathy_software_plugin/cli.py +35 -26
- empathy_software_plugin/plugin.py +4 -8
- empathy_software_plugin/wizards/__init__.py +42 -0
- empathy_software_plugin/wizards/advanced_debugging_wizard.py +392 -0
- empathy_software_plugin/wizards/agent_orchestration_wizard.py +511 -0
- empathy_software_plugin/wizards/ai_collaboration_wizard.py +503 -0
- empathy_software_plugin/wizards/ai_context_wizard.py +441 -0
- empathy_software_plugin/wizards/ai_documentation_wizard.py +503 -0
- empathy_software_plugin/wizards/base_wizard.py +288 -0
- empathy_software_plugin/wizards/book_chapter_wizard.py +519 -0
- empathy_software_plugin/wizards/code_review_wizard.py +606 -0
- empathy_software_plugin/wizards/debugging/__init__.py +50 -0
- empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +414 -0
- empathy_software_plugin/wizards/debugging/config_loaders.py +442 -0
- empathy_software_plugin/wizards/debugging/fix_applier.py +469 -0
- empathy_software_plugin/wizards/debugging/language_patterns.py +383 -0
- empathy_software_plugin/wizards/debugging/linter_parsers.py +470 -0
- empathy_software_plugin/wizards/debugging/verification.py +369 -0
- empathy_software_plugin/wizards/enhanced_testing_wizard.py +537 -0
- empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +816 -0
- empathy_software_plugin/wizards/multi_model_wizard.py +501 -0
- empathy_software_plugin/wizards/pattern_extraction_wizard.py +422 -0
- empathy_software_plugin/wizards/pattern_retriever_wizard.py +400 -0
- empathy_software_plugin/wizards/performance/__init__.py +9 -0
- empathy_software_plugin/wizards/performance/bottleneck_detector.py +221 -0
- empathy_software_plugin/wizards/performance/profiler_parsers.py +278 -0
- empathy_software_plugin/wizards/performance/trajectory_analyzer.py +429 -0
- empathy_software_plugin/wizards/performance_profiling_wizard.py +305 -0
- empathy_software_plugin/wizards/prompt_engineering_wizard.py +425 -0
- empathy_software_plugin/wizards/rag_pattern_wizard.py +461 -0
- empathy_software_plugin/wizards/security/__init__.py +32 -0
- empathy_software_plugin/wizards/security/exploit_analyzer.py +290 -0
- empathy_software_plugin/wizards/security/owasp_patterns.py +241 -0
- empathy_software_plugin/wizards/security/vulnerability_scanner.py +604 -0
- empathy_software_plugin/wizards/security_analysis_wizard.py +322 -0
- empathy_software_plugin/wizards/security_learning_wizard.py +740 -0
- empathy_software_plugin/wizards/tech_debt_wizard.py +726 -0
- empathy_software_plugin/wizards/testing/__init__.py +27 -0
- empathy_software_plugin/wizards/testing/coverage_analyzer.py +459 -0
- empathy_software_plugin/wizards/testing/quality_analyzer.py +531 -0
- empathy_software_plugin/wizards/testing/test_suggester.py +533 -0
- empathy_software_plugin/wizards/testing_wizard.py +274 -0
- hot_reload/README.md +473 -0
- hot_reload/__init__.py +62 -0
- hot_reload/config.py +84 -0
- hot_reload/integration.py +228 -0
- hot_reload/reloader.py +298 -0
- hot_reload/watcher.py +179 -0
- hot_reload/websocket.py +176 -0
- scaffolding/README.md +589 -0
- scaffolding/__init__.py +35 -0
- scaffolding/__main__.py +14 -0
- scaffolding/cli.py +240 -0
- test_generator/__init__.py +38 -0
- test_generator/__main__.py +14 -0
- test_generator/cli.py +226 -0
- test_generator/generator.py +325 -0
- test_generator/risk_analyzer.py +216 -0
- workflow_patterns/__init__.py +33 -0
- workflow_patterns/behavior.py +249 -0
- workflow_patterns/core.py +76 -0
- workflow_patterns/output.py +99 -0
- workflow_patterns/registry.py +255 -0
- workflow_patterns/structural.py +288 -0
- workflow_scaffolding/__init__.py +11 -0
- workflow_scaffolding/__main__.py +12 -0
- workflow_scaffolding/cli.py +206 -0
- workflow_scaffolding/generator.py +265 -0
- agents/code_inspection/patterns/inspection/recurring_B112.json +0 -18
- agents/code_inspection/patterns/inspection/recurring_F541.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -25
- agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -16
- agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -16
- agents/compliance_anticipation_agent.py +0 -1427
- agents/epic_integration_wizard.py +0 -541
- agents/trust_building_behaviors.py +0 -891
- empathy_framework-3.2.3.dist-info/RECORD +0 -104
- empathy_framework-3.2.3.dist-info/entry_points.txt +0 -7
- empathy_llm_toolkit/htmlcov/status.json +0 -1
- empathy_llm_toolkit/security/htmlcov/status.json +0 -1
- {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/WHEEL +0 -0
- {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: empathy-framework
|
|
3
|
-
Version: 3.2
|
|
4
|
-
Summary: AI collaboration framework with
|
|
5
|
-
Author-email: Patrick Roebuck <
|
|
6
|
-
Maintainer-email: Smart-AI-Memory <
|
|
3
|
+
Version: 3.8.2
|
|
4
|
+
Summary: AI collaboration framework with intelligent caching (up to 57% cache hit rate), tier routing (34-86% cost savings depending on task complexity), XML-enhanced prompts, persistent memory, CrewAI integration, and multi-agent orchestration. Includes HIPAA-compliant healthcare wizards.
|
|
5
|
+
Author-email: Patrick Roebuck <admin@smartaimemory.com>
|
|
6
|
+
Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
|
|
7
7
|
License: # Fair Source License, version 0.9
|
|
8
8
|
|
|
9
9
|
**Copyright © 2025 Deep Study AI, LLC**
|
|
@@ -174,24 +174,57 @@ Requires-Dist: structlog<25.0.0,>=23.0.0
|
|
|
174
174
|
Requires-Dist: defusedxml<1.0.0,>=0.7.0
|
|
175
175
|
Requires-Dist: rich<14.0.0,>=13.0.0
|
|
176
176
|
Requires-Dist: typer<1.0.0,>=0.9.0
|
|
177
|
+
Requires-Dist: pyyaml<7.0,>=6.0
|
|
178
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0
|
|
179
|
+
Requires-Dist: crewai<1.0.0,>=0.1.0
|
|
180
|
+
Requires-Dist: langchain<2.0.0,>=0.1.0
|
|
181
|
+
Requires-Dist: langchain-core<2.0.0,>=0.1.0
|
|
177
182
|
Provides-Extra: anthropic
|
|
178
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
183
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "anthropic"
|
|
179
184
|
Provides-Extra: openai
|
|
180
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
185
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "openai"
|
|
186
|
+
Provides-Extra: google
|
|
187
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "google"
|
|
181
188
|
Provides-Extra: llm
|
|
182
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
183
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
189
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "llm"
|
|
190
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "llm"
|
|
191
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "llm"
|
|
184
192
|
Provides-Extra: memdocs
|
|
185
193
|
Requires-Dist: memdocs>=1.0.0; extra == "memdocs"
|
|
186
194
|
Provides-Extra: agents
|
|
187
|
-
Requires-Dist: langchain<0.
|
|
188
|
-
Requires-Dist: langchain-core<0.
|
|
189
|
-
Requires-Dist:
|
|
195
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "agents"
|
|
196
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "agents"
|
|
197
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "agents"
|
|
198
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "agents"
|
|
199
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "agents"
|
|
200
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "agents"
|
|
190
201
|
Provides-Extra: crewai
|
|
191
202
|
Requires-Dist: crewai<1.0.0,>=0.1.0; extra == "crewai"
|
|
203
|
+
Provides-Extra: cache
|
|
204
|
+
Requires-Dist: sentence-transformers<4.0.0,>=2.0.0; extra == "cache"
|
|
205
|
+
Requires-Dist: torch<3.0.0,>=2.0.0; extra == "cache"
|
|
206
|
+
Requires-Dist: numpy<3.0.0,>=1.24.0; extra == "cache"
|
|
192
207
|
Provides-Extra: healthcare
|
|
208
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "healthcare"
|
|
209
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "healthcare"
|
|
210
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "healthcare"
|
|
211
|
+
Requires-Dist: memdocs>=1.0.0; extra == "healthcare"
|
|
212
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "healthcare"
|
|
213
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "healthcare"
|
|
214
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "healthcare"
|
|
215
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "healthcare"
|
|
216
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "healthcare"
|
|
217
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "healthcare"
|
|
193
218
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "healthcare"
|
|
194
219
|
Requires-Dist: pyyaml<7.0,>=6.0; extra == "healthcare"
|
|
220
|
+
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "healthcare"
|
|
221
|
+
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "healthcare"
|
|
222
|
+
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "healthcare"
|
|
223
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "healthcare"
|
|
224
|
+
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "healthcare"
|
|
225
|
+
Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "healthcare"
|
|
226
|
+
Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "healthcare"
|
|
227
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "healthcare"
|
|
195
228
|
Requires-Dist: redis<6.0.0,>=5.0.0; extra == "healthcare"
|
|
196
229
|
Provides-Extra: software
|
|
197
230
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "software"
|
|
@@ -200,12 +233,17 @@ Provides-Extra: backend
|
|
|
200
233
|
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "backend"
|
|
201
234
|
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "backend"
|
|
202
235
|
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "backend"
|
|
236
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "backend"
|
|
203
237
|
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "backend"
|
|
204
238
|
Provides-Extra: lsp
|
|
205
239
|
Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "lsp"
|
|
206
240
|
Requires-Dist: lsprotocol<2024.0.0,>=2023.0.0; extra == "lsp"
|
|
207
241
|
Provides-Extra: windows
|
|
208
242
|
Requires-Dist: colorama<1.0.0,>=0.4.6; extra == "windows"
|
|
243
|
+
Provides-Extra: otel
|
|
244
|
+
Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "otel"
|
|
245
|
+
Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "otel"
|
|
246
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "otel"
|
|
209
247
|
Provides-Extra: docs
|
|
210
248
|
Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "docs"
|
|
211
249
|
Requires-Dist: mkdocs-material<10.0.0,>=9.4.0; extra == "docs"
|
|
@@ -222,30 +260,79 @@ Requires-Dist: ruff<1.0,>=0.1; extra == "dev"
|
|
|
222
260
|
Requires-Dist: coverage<8.0,>=7.0; extra == "dev"
|
|
223
261
|
Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
|
|
224
262
|
Requires-Dist: pre-commit<4.0,>=3.0; extra == "dev"
|
|
263
|
+
Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "dev"
|
|
264
|
+
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "dev"
|
|
265
|
+
Provides-Extra: developer
|
|
266
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "developer"
|
|
267
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "developer"
|
|
268
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "developer"
|
|
269
|
+
Requires-Dist: memdocs>=1.0.0; extra == "developer"
|
|
270
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "developer"
|
|
271
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "developer"
|
|
272
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "developer"
|
|
273
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "developer"
|
|
274
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "developer"
|
|
275
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "developer"
|
|
276
|
+
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "developer"
|
|
277
|
+
Requires-Dist: pyyaml<7.0,>=6.0; extra == "developer"
|
|
278
|
+
Provides-Extra: enterprise
|
|
279
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "enterprise"
|
|
280
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "enterprise"
|
|
281
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "enterprise"
|
|
282
|
+
Requires-Dist: memdocs>=1.0.0; extra == "enterprise"
|
|
283
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "enterprise"
|
|
284
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "enterprise"
|
|
285
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "enterprise"
|
|
286
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "enterprise"
|
|
287
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "enterprise"
|
|
288
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "enterprise"
|
|
289
|
+
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "enterprise"
|
|
290
|
+
Requires-Dist: pyyaml<7.0,>=6.0; extra == "enterprise"
|
|
291
|
+
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "enterprise"
|
|
292
|
+
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "enterprise"
|
|
293
|
+
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "enterprise"
|
|
294
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "enterprise"
|
|
295
|
+
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "enterprise"
|
|
296
|
+
Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "enterprise"
|
|
297
|
+
Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "enterprise"
|
|
298
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "enterprise"
|
|
225
299
|
Provides-Extra: full
|
|
226
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
227
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
300
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "full"
|
|
301
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "full"
|
|
302
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "full"
|
|
228
303
|
Requires-Dist: memdocs>=1.0.0; extra == "full"
|
|
229
|
-
Requires-Dist: langchain<0.
|
|
230
|
-
Requires-Dist: langchain-core<0.
|
|
231
|
-
Requires-Dist:
|
|
304
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "full"
|
|
305
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "full"
|
|
306
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "full"
|
|
307
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "full"
|
|
308
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "full"
|
|
309
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "full"
|
|
232
310
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "full"
|
|
233
311
|
Requires-Dist: pyyaml<7.0,>=6.0; extra == "full"
|
|
234
312
|
Provides-Extra: all
|
|
235
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
236
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
313
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "all"
|
|
314
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "all"
|
|
315
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "all"
|
|
237
316
|
Requires-Dist: memdocs>=1.0.0; extra == "all"
|
|
238
|
-
Requires-Dist: langchain<0.
|
|
239
|
-
Requires-Dist: langchain-core<0.
|
|
240
|
-
Requires-Dist:
|
|
317
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "all"
|
|
318
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "all"
|
|
319
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "all"
|
|
320
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "all"
|
|
321
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "all"
|
|
322
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "all"
|
|
241
323
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "all"
|
|
242
324
|
Requires-Dist: pyyaml<7.0,>=6.0; extra == "all"
|
|
243
325
|
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "all"
|
|
244
326
|
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "all"
|
|
245
327
|
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "all"
|
|
328
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "all"
|
|
329
|
+
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "all"
|
|
246
330
|
Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "all"
|
|
247
331
|
Requires-Dist: lsprotocol<2024.0.0,>=2023.0.0; extra == "all"
|
|
248
332
|
Requires-Dist: colorama<1.0.0,>=0.4.6; extra == "all"
|
|
333
|
+
Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "all"
|
|
334
|
+
Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "all"
|
|
335
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "all"
|
|
249
336
|
Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "all"
|
|
250
337
|
Requires-Dist: mkdocs-material<10.0.0,>=9.4.0; extra == "all"
|
|
251
338
|
Requires-Dist: mkdocstrings[python]<1.0.0,>=0.24.0; extra == "all"
|
|
@@ -271,36 +358,202 @@ Dynamic: license-file
|
|
|
271
358
|
**The AI collaboration framework that predicts problems before they happen.**
|
|
272
359
|
|
|
273
360
|
[](https://pypi.org/project/empathy-framework/)
|
|
274
|
-
[](https://github.com/Smart-AI-Memory/empathy-framework/actions)
|
|
362
|
+
[](https://github.com/Smart-AI-Memory/empathy-framework)
|
|
276
363
|
[](LICENSE)
|
|
277
364
|
[](https://www.python.org)
|
|
278
365
|
|
|
279
366
|
```bash
|
|
280
|
-
pip install empathy-framework[
|
|
367
|
+
pip install empathy-framework[developer] # Lightweight for individual developers
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## What's New in v3.8.0
|
|
371
|
+
|
|
372
|
+
### 🎯 **Transparent Cost Claims: Honest Role-Based Savings (34-86%)**
|
|
373
|
+
|
|
374
|
+
**Real savings depend on your work role.** Architects using 60% PREMIUM tasks see 34% savings, while junior devs see 86%. See [role-based analysis](docs/cost-analysis/COST_SAVINGS_BY_ROLE_AND_PROVIDER.md) for your specific case.
|
|
375
|
+
|
|
376
|
+
### 🚀 **Intelligent Response Caching: Up to 57% Hit Rate (Benchmarked)**
|
|
377
|
+
|
|
378
|
+
**Hash-only cache**: 100% hit rate on identical prompts, ~5μs lookups
|
|
379
|
+
**Hybrid cache**: Up to 57% hit rate on semantically similar prompts (measured on security audit workflow)
|
|
380
|
+
|
|
381
|
+
```python
|
|
382
|
+
from empathy_os.cache import create_cache
|
|
383
|
+
|
|
384
|
+
# Hash-only mode (fast, exact matches)
|
|
385
|
+
cache = create_cache(cache_type="hash")
|
|
386
|
+
|
|
387
|
+
# Hybrid mode (semantic similarity)
|
|
388
|
+
cache = create_cache(cache_type="hybrid", similarity_threshold=0.95)
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
See [caching docs](docs/caching/) for benchmarks and configuration.
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
### Previous Release: v3.7.0
|
|
396
|
+
|
|
397
|
+
#### 🚀 **XML-Enhanced Prompting: 15-35% Token Reduction + Graceful Validation**
|
|
398
|
+
|
|
399
|
+
**Slash your API costs and eliminate response parsing errors with production-ready XML enhancements.**
|
|
400
|
+
|
|
401
|
+
#### Context Window Optimization — **Save 15-35% on Every Request**
|
|
402
|
+
|
|
403
|
+
```python
|
|
404
|
+
from empathy_os.optimization import ContextOptimizer, CompressionLevel
|
|
405
|
+
|
|
406
|
+
optimizer = ContextOptimizer(CompressionLevel.MODERATE)
|
|
407
|
+
optimized_prompt = optimizer.optimize(your_xml_prompt)
|
|
408
|
+
# Achieves 15-25% token reduction automatically
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
- **Tag compression**: `<thinking>` → `<t>`, `<answer>` → `<a>` (15+ common tags)
|
|
412
|
+
- **Whitespace optimization**: Removes excess whitespace while preserving structure
|
|
413
|
+
- **Redundancy elimination**: Strips "Please note that", "Make sure to", etc.
|
|
414
|
+
- **Real-world impact**: Integration tests achieved **49.7% reduction** on typical prompts
|
|
415
|
+
- **Bidirectional**: Full decompression to restore original tag names
|
|
416
|
+
|
|
417
|
+
#### XML Validation — **Never Crash on Malformed Responses Again**
|
|
418
|
+
|
|
419
|
+
```python
|
|
420
|
+
from empathy_os.validation import validate_xml_response
|
|
421
|
+
|
|
422
|
+
result = validate_xml_response(llm_response)
|
|
423
|
+
if result.is_valid:
|
|
424
|
+
data = result.parsed_data
|
|
425
|
+
else:
|
|
426
|
+
# Fallback extraction worked - you still get partial data
|
|
427
|
+
data = result.parsed_data or {}
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
- **Graceful fallback parsing**: Regex extraction when XML is malformed
|
|
431
|
+
- **Optional XSD validation**: Full schema validation with lxml
|
|
432
|
+
- **Schema caching**: Performance optimization for repeated validations
|
|
433
|
+
- **25 comprehensive tests**: Covers edge cases, malformed input, and XSD validation
|
|
434
|
+
|
|
435
|
+
#### Migration Made Easy
|
|
436
|
+
|
|
437
|
+
See [XML_WORKFLOW_MIGRATION_GUIDE.md](XML_WORKFLOW_MIGRATION_GUIDE.md) for complete migration guide with:
|
|
438
|
+
|
|
439
|
+
- XMLAgent/XMLTask patterns with before/after examples
|
|
440
|
+
- Configuration options (`config.xml.use_xml_structure`)
|
|
441
|
+
- Benefits: **40-60% fewer misinterpretations**, **20-30% fewer retries**
|
|
442
|
+
|
|
443
|
+
**Test Coverage**: **229 new tests** (86 XML enhancement + 143 robustness) — **100% passing**
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## What's New in v3.6.0
|
|
448
|
+
|
|
449
|
+
### 💡 **Finally! Error Messages That Actually Help You**
|
|
450
|
+
|
|
451
|
+
**No more cryptic `NotImplementedError` when extending the framework!**
|
|
452
|
+
|
|
453
|
+
We completely rewrote error messages across **5 base classes**. Now when you're building plugins or extensions, you get:
|
|
454
|
+
|
|
455
|
+
✅ **Exactly which method** you need to implement
|
|
456
|
+
✅ **Which base class** to extend
|
|
457
|
+
✅ **Real working examples** from the codebase to copy
|
|
458
|
+
✅ **Clear explanations** of what each method should return
|
|
459
|
+
|
|
460
|
+
**Before** (frustrating 😤):
|
|
461
|
+
|
|
462
|
+
```python
|
|
463
|
+
NotImplementedError
|
|
464
|
+
# ...now what? Time to dig through source code for 30 minutes
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
**After** (helpful 🎯):
|
|
468
|
+
|
|
469
|
+
```python
|
|
470
|
+
NotImplementedError: BaseLinterParser.parse() must be implemented.
|
|
471
|
+
Create a subclass of BaseLinterParser and implement the parse() method.
|
|
472
|
+
See ESLintParser, PylintParser, or MyPyParser for examples.
|
|
473
|
+
# Perfect! Now I know exactly what to do
|
|
281
474
|
```
|
|
282
475
|
|
|
283
|
-
|
|
476
|
+
#### Plus: 9 Integration TODOs Now Link to Working Code
|
|
477
|
+
|
|
478
|
+
- **Want to add compliance tracking?** → See `ComplianceDatabase` class (agents/compliance_db.py)
|
|
479
|
+
- **Need multi-channel notifications?** → See `NotificationService` class (agents/notifications.py)
|
|
480
|
+
- **Wondering about MemDocs integration?** → We documented why local cache works better (with rationale)
|
|
481
|
+
- **Need secure document storage?** → S3/Azure/SharePoint recommendations with HIPAA requirements
|
|
482
|
+
|
|
483
|
+
**Impact**: Onboard new contributors in **minutes instead of hours**. Build your first plugin in **one sitting**.
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
### 🔐 Production-Grade Security & Compliance
|
|
488
|
+
|
|
489
|
+
#### Secure Authentication System ✅ *Deployed in Backend API*
|
|
490
|
+
|
|
491
|
+
- **Bcrypt password hashing** with cost factor 12 (industry standard 2026)
|
|
492
|
+
- **JWT tokens** with 30-minute expiration and automatic refresh
|
|
493
|
+
- **Rate limiting**: 5 failed attempts = 15-minute lockout (prevents brute force)
|
|
494
|
+
- **18 comprehensive security tests** covering all attack vectors
|
|
495
|
+
- **Status**: Fully integrated into `backend/api/wizard_api.py`
|
|
496
|
+
|
|
497
|
+
#### HIPAA/GDPR Compliance Database 🛠️ *Infrastructure Ready*
|
|
498
|
+
|
|
499
|
+
- **Append-only architecture** (INSERT only, no UPDATE/DELETE) - satisfies regulators
|
|
500
|
+
- **Immutable audit trail** for healthcare and enterprise compliance
|
|
501
|
+
- **Compliance gap detection** with severity classification
|
|
502
|
+
- **12 tests** ensuring regulatory compliance
|
|
503
|
+
- **Status**: Production-ready code with [integration points documented](agents/compliance_db.py). See [compliance_anticipation_agent.py](agents/compliance_anticipation_agent.py) for usage examples.
|
|
504
|
+
|
|
505
|
+
#### Multi-Channel Notification System 🛠️ *Infrastructure Ready*
|
|
506
|
+
|
|
507
|
+
- **Email** (SMTP), **Slack** (webhooks), **SMS** (Twilio)
|
|
508
|
+
- **Graceful fallback** when channels unavailable
|
|
509
|
+
- **Smart routing**: SMS only for critical alerts (cost optimization)
|
|
510
|
+
- **10 tests** covering all notification scenarios
|
|
511
|
+
- **Status**: Production-ready code with [integration points documented](agents/notifications.py). See TODOs in compliance agent for usage examples.
|
|
512
|
+
|
|
513
|
+
---
|
|
514
|
+
|
|
515
|
+
### Previous: Project Indexing & Test Suite Expansion (v3.5.4)
|
|
516
|
+
|
|
517
|
+
- **Project Indexing System** — JSON-based file tracking with automatic structure scanning, metadata tracking, and CrewAI integration
|
|
518
|
+
- **5,603 Tests** — Comprehensive test coverage at 64% with 30+ new test modules
|
|
519
|
+
- **BaselineManager Fix** — Resolved test isolation bug affecting suppression system
|
|
520
|
+
|
|
521
|
+
### Memory API Security Hardening (v3.5.0)
|
|
522
|
+
|
|
523
|
+
- **Input Validation** — Pattern IDs, agent IDs, and classifications validated to prevent path traversal and injection attacks
|
|
524
|
+
- **API Key Authentication** — Bearer token and X-API-Key header support with SHA-256 hash comparison
|
|
525
|
+
- **Rate Limiting** — Per-IP sliding window rate limiting (100 req/min default)
|
|
526
|
+
- **HTTPS/TLS Support** — Optional SSL certificate configuration for encrypted connections
|
|
527
|
+
- **CORS Restrictions** — Configurable allowed origins (localhost-only by default)
|
|
528
|
+
- **Request Size Limits** — 1MB body limit to prevent DoS attacks
|
|
529
|
+
|
|
530
|
+
### Previous (v3.4.x)
|
|
284
531
|
|
|
285
|
-
|
|
286
|
-
- **
|
|
287
|
-
- **Memory
|
|
288
|
-
- **Auto-Chaining** — Wizards automatically trigger related wizards based on findings
|
|
289
|
-
- **Prompt Engineering Wizard** — Analyze, generate, and optimize prompts with token cost savings
|
|
532
|
+
- **Trust Circuit Breaker** — Automatic degradation when model reliability drops
|
|
533
|
+
- **Pattern Catalog System** — Searchable pattern library with similarity matching
|
|
534
|
+
- **Memory Control Panel** — VSCode sidebar for Redis and pattern management
|
|
290
535
|
|
|
291
|
-
###
|
|
292
|
-
|
|
293
|
-
- **
|
|
294
|
-
- **
|
|
295
|
-
- **
|
|
536
|
+
### Previous (v3.3.x)
|
|
537
|
+
|
|
538
|
+
- **Formatted Reports** — Every workflow includes `formatted_report` with consistent structure
|
|
539
|
+
- **Enterprise-Safe Doc-Gen** — Auto-scaling tokens, cost guardrails, file export
|
|
540
|
+
- **Unified Typer CLI** — One `empathy` command with Rich output
|
|
541
|
+
- **Python 3.13 Support** — Test matrix covers 3.10-3.13 across all platforms
|
|
542
|
+
|
|
543
|
+
### Previous (v3.1.x)
|
|
544
|
+
|
|
545
|
+
- **Smart Router** — Natural language wizard dispatch: "Fix security in auth.py" → SecurityWizard
|
|
546
|
+
- **Memory Graph** — Cross-wizard knowledge sharing across sessions
|
|
547
|
+
- **Auto-Chaining** — Wizards automatically trigger related wizards
|
|
548
|
+
- **Resilience Patterns** — Retry, Circuit Breaker, Timeout, Health Checks
|
|
296
549
|
|
|
297
550
|
### Previous (v3.0.x)
|
|
298
|
-
|
|
299
|
-
- **Multi-Model Provider System** —
|
|
300
|
-
- **
|
|
551
|
+
|
|
552
|
+
- **Multi-Model Provider System** — Anthropic, OpenAI, Google Gemini, Ollama, or Hybrid mode
|
|
553
|
+
- **34-86% Cost Savings** — Smart tier routing varies by role: architects 34%, senior devs 65%, junior devs 86%*
|
|
301
554
|
- **VSCode Dashboard** — 10 integrated workflows with input history persistence
|
|
302
|
-
|
|
303
|
-
|
|
555
|
+
|
|
556
|
+
*See [Cost Savings Analysis](docs/cost-analysis/COST_SAVINGS_BY_ROLE_AND_PROVIDER.md) for your specific use case
|
|
304
557
|
|
|
305
558
|
---
|
|
306
559
|
|
|
@@ -308,10 +561,37 @@ pip install empathy-framework[full]
|
|
|
308
561
|
|
|
309
562
|
### 1. Install
|
|
310
563
|
|
|
564
|
+
**Individual Developers (Recommended):**
|
|
565
|
+
|
|
311
566
|
```bash
|
|
312
|
-
pip install empathy-framework[
|
|
567
|
+
pip install empathy-framework[developer]
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
**Teams/Enterprises (Backend + Auth):**
|
|
571
|
+
|
|
572
|
+
```bash
|
|
573
|
+
pip install empathy-framework[enterprise]
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
**Healthcare Organizations (HIPAA/GDPR Compliance):**
|
|
577
|
+
|
|
578
|
+
```bash
|
|
579
|
+
pip install empathy-framework[healthcare]
|
|
313
580
|
```
|
|
314
581
|
|
|
582
|
+
<details>
|
|
583
|
+
<summary><b>What's the difference?</b></summary>
|
|
584
|
+
|
|
585
|
+
- **`[developer]`** - Lightweight install for individual developers. Includes CLI tools, VSCode extension, LLM providers, agents. **No backend server needed.**
|
|
586
|
+
|
|
587
|
+
- **`[enterprise]`** - Everything in `[developer]` plus backend API server with authentication (bcrypt, JWT, rate limiting). For teams deploying to production.
|
|
588
|
+
|
|
589
|
+
- **`[healthcare]`** - Everything in `[enterprise]` plus HIPAA/GDPR compliance database, redis, and healthcare-specific plugins. Only needed for regulated industries.
|
|
590
|
+
|
|
591
|
+
**Most developers should use `[developer]`** - it's fast to install and has everything you need for software development.
|
|
592
|
+
|
|
593
|
+
</details>
|
|
594
|
+
|
|
315
595
|
### 2. Configure Provider
|
|
316
596
|
|
|
317
597
|
```bash
|
|
@@ -347,34 +627,153 @@ print(result.prevention_steps) # How to prevent it
|
|
|
347
627
|
|---------|---------|-----------|----------------|
|
|
348
628
|
| **Predicts future issues** | 30-90 days ahead | No | No |
|
|
349
629
|
| **Persistent memory** | Redis + patterns | No | No |
|
|
350
|
-
| **Multi-provider support** | Claude, GPT-4, Ollama | N/A | GPT only |
|
|
351
|
-
| **Cost optimization** |
|
|
630
|
+
| **Multi-provider support** | Claude, GPT-4, Gemini, Ollama | N/A | GPT only |
|
|
631
|
+
| **Cost optimization** | 34-86% savings* | N/A | No |
|
|
352
632
|
| **Your data stays local** | Yes | Cloud | Cloud |
|
|
353
633
|
| **Free for small teams** | ≤5 employees | No | No |
|
|
354
634
|
|
|
355
635
|
---
|
|
356
636
|
|
|
637
|
+
## What's New in v3.8.0
|
|
638
|
+
|
|
639
|
+
### 🚀 **Intelligent Response Caching: Benchmarked Performance**
|
|
640
|
+
|
|
641
|
+
**Stop paying full price for repeated LLM calls. Measured results: up to 99.8% faster, 40% cost reduction on test generation, 57% cache hit rate on security audits.**
|
|
642
|
+
|
|
643
|
+
#### Hybrid Cache: Hash + Semantic Matching
|
|
644
|
+
|
|
645
|
+
```python
|
|
646
|
+
from empathy_os.workflows import SecurityAuditWorkflow
|
|
647
|
+
|
|
648
|
+
# That's it - caching auto-configured!
|
|
649
|
+
workflow = SecurityAuditWorkflow(enable_cache=True)
|
|
650
|
+
result = await workflow.execute(target_path="./src")
|
|
651
|
+
|
|
652
|
+
# Check savings
|
|
653
|
+
print(f"Cost: ${result.cost_report.total_cost:.4f}")
|
|
654
|
+
print(f"Cache hit rate: {result.cost_report.cache_hit_rate:.1f}%")
|
|
655
|
+
print(f"Savings: ${result.cost_report.savings_from_cache:.4f}")
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
**Real Results** (v3.8.0 benchmark - see [CACHING_BENCHMARK_REPORT.md](CACHING_BENCHMARK_REPORT.md)):
|
|
659
|
+
|
|
660
|
+
- **Hash-only cache**: 30.3% average hit rate across 12 workflows, up to 99.8% faster (code review: 17.8s → 0.03s)
|
|
661
|
+
- **Hybrid cache**: Up to 57% hit rate on similar prompts (security audit - benchmarked)
|
|
662
|
+
- **Cost reduction**: 40% on test-generation workflow (measured)
|
|
663
|
+
|
|
664
|
+
#### Two Cache Strategies
|
|
665
|
+
|
|
666
|
+
**Hash-Only Cache** (Default - Zero Dependencies):
|
|
667
|
+
- Perfect for CI/CD and testing
|
|
668
|
+
- 100% hit rate on identical prompts
|
|
669
|
+
- ~5μs lookup time
|
|
670
|
+
- No ML dependencies needed
|
|
671
|
+
|
|
672
|
+
**Hybrid Cache** (Semantic Matching):
|
|
673
|
+
|
|
674
|
+
- Up to 57% hit rate on similar prompts (benchmarked)
|
|
675
|
+
- Understands intent, not just text
|
|
676
|
+
- Install: `pip install empathy-framework[cache]`
|
|
677
|
+
- Best for development and production
|
|
678
|
+
|
|
679
|
+
#### Automatic Setup
|
|
680
|
+
|
|
681
|
+
Framework detects your environment and configures optimal caching:
|
|
682
|
+
|
|
683
|
+
```python
|
|
684
|
+
# First run: Framework checks for sentence-transformers
|
|
685
|
+
# - Found? Uses hybrid cache (semantic matching, up to 57% hit rate)
|
|
686
|
+
# - Missing? Prompts: "Install for semantic matching? (y/n)"
|
|
687
|
+
# - Declined? Falls back to hash-only (100% hit rate on identical prompts)
|
|
688
|
+
# - Any errors? Disables gracefully, workflow continues
|
|
689
|
+
|
|
690
|
+
# Subsequent runs: Cache just works
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
#### The Caching Paradox: Adaptive Workflows
|
|
694
|
+
|
|
695
|
+
**Discovered during v3.8.0 development**: Some workflows (Security Audit, Bug Prediction) cost MORE on Run 2 with cache enabled - and that's a FEATURE.
|
|
696
|
+
|
|
697
|
+
**Why?** Adaptive workflows use cache to free up time for deeper analysis:
|
|
698
|
+
|
|
699
|
+
```
|
|
700
|
+
Security Audit without cache:
|
|
701
|
+
Run 1: $0.11, 45 seconds - surface scan finds 3 issues
|
|
702
|
+
|
|
703
|
+
Security Audit with cache:
|
|
704
|
+
Run 2: $0.13, 15 seconds - cache frees 30s for deep analysis
|
|
705
|
+
→ Uses saved time for PREMIUM tier vulnerability research
|
|
706
|
+
→ Finds 7 issues including critical SQLi we missed
|
|
707
|
+
→ Extra $0.02 cost = prevented security breach
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
**Result**: Cache makes workflows SMARTER, not just cheaper.
|
|
711
|
+
|
|
712
|
+
See [Adaptive Workflows Documentation](docs/caching/ADAPTIVE_WORKFLOWS.md) for full explanation.
|
|
713
|
+
|
|
714
|
+
#### Complete Documentation
|
|
715
|
+
|
|
716
|
+
- **[Quick Reference](docs/caching/QUICK_REFERENCE.md)** - Common scenarios, 1-page cheat sheet
|
|
717
|
+
- **[Configuration Guide](docs/caching/CONFIGURATION_GUIDE.md)** - All options, when to use each
|
|
718
|
+
- **[Adaptive Workflows](docs/caching/ADAPTIVE_WORKFLOWS.md)** - Why Run 2 can cost more (it's good!)
|
|
719
|
+
|
|
720
|
+
**Test it yourself**:
|
|
721
|
+
```bash
|
|
722
|
+
# Quick test (2-3 minutes)
|
|
723
|
+
python benchmark_caching_simple.py
|
|
724
|
+
|
|
725
|
+
# Full benchmark (15-20 minutes, all 12 workflows)
|
|
726
|
+
python benchmark_caching.py
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
---
|
|
730
|
+
|
|
357
731
|
## Become a Power User
|
|
358
732
|
|
|
359
733
|
### Level 1: Basic Usage
|
|
734
|
+
|
|
360
735
|
```bash
|
|
361
|
-
pip install empathy-framework
|
|
736
|
+
pip install empathy-framework[developer]
|
|
362
737
|
```
|
|
738
|
+
|
|
739
|
+
- Lightweight install with CLI tools, LLM providers, and agents
|
|
363
740
|
- Works out of the box with sensible defaults
|
|
364
741
|
- Auto-detects your API keys
|
|
365
742
|
|
|
366
|
-
### Level 2: Cost Optimization
|
|
743
|
+
### Level 2: Cost Optimization (Role-Based Savings)
|
|
744
|
+
|
|
745
|
+
**Tier routing automatically routes tasks to appropriate models, saving 34-86% depending on your work role.**
|
|
746
|
+
|
|
367
747
|
```bash
|
|
368
|
-
# Enable hybrid mode
|
|
748
|
+
# Enable hybrid mode
|
|
369
749
|
python -m empathy_os.models.cli provider --set hybrid
|
|
370
750
|
```
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
|
375
|
-
|
|
751
|
+
|
|
752
|
+
#### Tier Pricing
|
|
753
|
+
|
|
754
|
+
| Tier | Model | Use Case | Cost per Task* |
|
|
755
|
+
|------|-------|----------|----------------|
|
|
756
|
+
| CHEAP | GPT-4o-mini / Haiku | Summarization, formatting, simple tasks | $0.0045-0.0075 |
|
|
757
|
+
| CAPABLE | GPT-4o / Sonnet | Bug fixing, code review, analysis | $0.0725-0.090 |
|
|
758
|
+
| PREMIUM | o1 / Opus | Architecture, complex decisions, design | $0.435-0.450 |
|
|
759
|
+
|
|
760
|
+
*Typical task: 5,000 input tokens, 1,000 output tokens
|
|
761
|
+
|
|
762
|
+
#### Actual Savings by Role
|
|
763
|
+
|
|
764
|
+
| Your Role | PREMIUM % | CAPABLE % | CHEAP % | Actual Savings | Notes |
|
|
765
|
+
|-----------|-----------|-----------|---------|----------------|-------|
|
|
766
|
+
| **Architect / Designer** | 60% | 30% | 10% | **34%** | Design work requires complex reasoning |
|
|
767
|
+
| **Senior Developer** | 25% | 50% | 25% | **65%** | Mix of architecture and implementation |
|
|
768
|
+
| **Mid-Level Developer** | 15% | 60% | 25% | **73%** | Mostly implementation and bug fixes |
|
|
769
|
+
| **Junior Developer** | 5% | 40% | 55% | **86%** | Simple features, tests, documentation |
|
|
770
|
+
| **QA Engineer** | 10% | 35% | 55% | **80%** | Test generation, reports, automation |
|
|
771
|
+
| **DevOps Engineer** | 20% | 50% | 30% | **69%** | Infrastructure planning + automation |
|
|
772
|
+
|
|
773
|
+
**See [Complete Cost Analysis](docs/cost-analysis/COST_SAVINGS_BY_ROLE_AND_PROVIDER.md) for provider comparisons (Anthropic vs OpenAI vs Ollama) and detailed calculations.**
|
|
376
774
|
|
|
377
775
|
### Level 3: Multi-Model Workflows
|
|
776
|
+
|
|
378
777
|
```python
|
|
379
778
|
from empathy_llm_toolkit import EmpathyLLM
|
|
380
779
|
|
|
@@ -387,13 +786,27 @@ await llm.interact(user_id="dev", user_input="Design system", task_type="coordin
|
|
|
387
786
|
```
|
|
388
787
|
|
|
389
788
|
### Level 4: VSCode Integration
|
|
789
|
+
|
|
390
790
|
Install the Empathy VSCode extension for:
|
|
791
|
+
|
|
391
792
|
- **Real-time Dashboard** — Health score, costs, patterns
|
|
392
793
|
- **One-Click Workflows** — Research, code review, debugging
|
|
393
794
|
- **Visual Cost Tracking** — See savings in real-time
|
|
394
|
-
|
|
795
|
+
- See also: `docs/dashboard-costs-by-tier.md` for interpreting the **By tier (7 days)** cost breakdown.
|
|
796
|
+
- **Memory Control Panel (Beta)** — Manage Redis and pattern storage
|
|
797
|
+
- View Redis status and memory usage
|
|
798
|
+
- Browse and export stored patterns
|
|
799
|
+
- Run system health checks
|
|
800
|
+
- Configure auto-start in `empathy.config.yml`
|
|
801
|
+
|
|
802
|
+
```yaml
|
|
803
|
+
memory:
|
|
804
|
+
enabled: true
|
|
805
|
+
auto_start_redis: true
|
|
806
|
+
```
|
|
395
807
|
|
|
396
808
|
### Level 5: Custom Agents
|
|
809
|
+
|
|
397
810
|
```python
|
|
398
811
|
from empathy_os.agents import AgentFactory
|
|
399
812
|
|
|
@@ -410,6 +823,7 @@ security_agent = AgentFactory.create(
|
|
|
410
823
|
## CLI Reference
|
|
411
824
|
|
|
412
825
|
### Provider Configuration
|
|
826
|
+
|
|
413
827
|
```bash
|
|
414
828
|
python -m empathy_os.models.cli provider # Show current config
|
|
415
829
|
python -m empathy_os.models.cli provider --set anthropic # Single provider
|
|
@@ -419,6 +833,7 @@ python -m empathy_os.models.cli provider -f json # JSON output
|
|
|
419
833
|
```
|
|
420
834
|
|
|
421
835
|
### Model Registry
|
|
836
|
+
|
|
422
837
|
```bash
|
|
423
838
|
python -m empathy_os.models.cli registry # Show all models
|
|
424
839
|
python -m empathy_os.models.cli registry --provider openai # Filter by provider
|
|
@@ -426,6 +841,7 @@ python -m empathy_os.models.cli costs --input-tokens 50000 # Estimate costs
|
|
|
426
841
|
```
|
|
427
842
|
|
|
428
843
|
### Telemetry & Analytics
|
|
844
|
+
|
|
429
845
|
```bash
|
|
430
846
|
python -m empathy_os.models.cli telemetry # Summary
|
|
431
847
|
python -m empathy_os.models.cli telemetry --costs # Cost savings report
|
|
@@ -434,6 +850,7 @@ python -m empathy_os.models.cli telemetry --fallbacks # Fallback stats
|
|
|
434
850
|
```
|
|
435
851
|
|
|
436
852
|
### Memory Control
|
|
853
|
+
|
|
437
854
|
```bash
|
|
438
855
|
empathy-memory serve # Start Redis + API server
|
|
439
856
|
empathy-memory status # Check system status
|
|
@@ -442,6 +859,7 @@ empathy-memory patterns # List stored patterns
|
|
|
442
859
|
```
|
|
443
860
|
|
|
444
861
|
### Code Inspection
|
|
862
|
+
|
|
445
863
|
```bash
|
|
446
864
|
empathy-inspect . # Run full inspection
|
|
447
865
|
empathy-inspect . --format sarif # GitHub Actions format
|
|
@@ -488,6 +906,41 @@ print(result.summary, result.findings, result.checklist)
|
|
|
488
906
|
|
|
489
907
|
---
|
|
490
908
|
|
|
909
|
+
## Enterprise Doc-Gen
|
|
910
|
+
|
|
911
|
+
Generate comprehensive documentation for large projects with enterprise-safe defaults:
|
|
912
|
+
|
|
913
|
+
```python
|
|
914
|
+
from empathy_os.workflows import DocumentGenerationWorkflow
|
|
915
|
+
|
|
916
|
+
# Enterprise-safe configuration
|
|
917
|
+
workflow = DocumentGenerationWorkflow(
|
|
918
|
+
export_path="docs/generated", # Auto-save to disk
|
|
919
|
+
max_cost=5.0, # Cost guardrail ($5 default)
|
|
920
|
+
chunked_generation=True, # Handle large projects
|
|
921
|
+
graceful_degradation=True, # Partial results on errors
|
|
922
|
+
)
|
|
923
|
+
|
|
924
|
+
result = await workflow.execute(
|
|
925
|
+
source_code=your_code,
|
|
926
|
+
doc_type="api_reference",
|
|
927
|
+
audience="developers"
|
|
928
|
+
)
|
|
929
|
+
|
|
930
|
+
# Access the formatted report
|
|
931
|
+
print(result.final_output["formatted_report"])
|
|
932
|
+
|
|
933
|
+
# Large outputs are chunked for display
|
|
934
|
+
if "output_chunks" in result.final_output:
|
|
935
|
+
for chunk in result.final_output["output_chunks"]:
|
|
936
|
+
print(chunk)
|
|
937
|
+
|
|
938
|
+
# Full docs saved to disk
|
|
939
|
+
print(f"Saved to: {result.final_output.get('export_path')}")
|
|
940
|
+
```
|
|
941
|
+
|
|
942
|
+
---
|
|
943
|
+
|
|
491
944
|
## Smart Router
|
|
492
945
|
|
|
493
946
|
Route natural language requests to the right wizard automatically:
|
|
@@ -632,9 +1085,10 @@ pip install empathy-framework[full]
|
|
|
632
1085
|
pip install empathy-framework
|
|
633
1086
|
|
|
634
1087
|
# Specific providers
|
|
635
|
-
pip install empathy-framework[anthropic]
|
|
636
|
-
pip install empathy-framework[openai]
|
|
637
|
-
pip install empathy-framework[
|
|
1088
|
+
pip install empathy-framework[anthropic] # Claude
|
|
1089
|
+
pip install empathy-framework[openai] # GPT-4, Ollama (OpenAI-compatible)
|
|
1090
|
+
pip install empathy-framework[google] # Gemini
|
|
1091
|
+
pip install empathy-framework[llm] # All providers
|
|
638
1092
|
|
|
639
1093
|
# Development
|
|
640
1094
|
git clone https://github.com/Smart-AI-Memory/empathy-framework.git
|
|
@@ -654,7 +1108,7 @@ cd empathy-framework && pip install -e .[dev]
|
|
|
654
1108
|
| **Multi-Model Router** | Smart routing across providers and tiers |
|
|
655
1109
|
| **Memory System** | Redis short-term + encrypted long-term patterns |
|
|
656
1110
|
| **17 Coach Wizards** | Security, performance, testing, docs, prompt engineering |
|
|
657
|
-
| **10 Cost-Optimized Workflows** | Multi-tier pipelines with XML prompts |
|
|
1111
|
+
| **10 Cost-Optimized Workflows** | Multi-tier pipelines with formatted reports & XML prompts |
|
|
658
1112
|
| **Healthcare Suite** | SBAR, SOAP notes, clinical protocols (HIPAA) |
|
|
659
1113
|
| **Code Inspection** | Unified pipeline with SARIF/GitHub Actions support |
|
|
660
1114
|
| **VSCode Extension** | Visual dashboard for memory and workflows |
|
|
@@ -680,8 +1134,9 @@ cd empathy-framework && pip install -e .[dev]
|
|
|
680
1134
|
|
|
681
1135
|
```bash
|
|
682
1136
|
# Required: At least one provider
|
|
683
|
-
export ANTHROPIC_API_KEY="sk-ant-..." # For Claude models
|
|
684
|
-
export OPENAI_API_KEY="sk-..." # For GPT models
|
|
1137
|
+
export ANTHROPIC_API_KEY="sk-ant-..." # For Claude models # pragma: allowlist secret
|
|
1138
|
+
export OPENAI_API_KEY="sk-..." # For GPT models # pragma: allowlist secret
|
|
1139
|
+
export GOOGLE_API_KEY="..." # For Gemini models # pragma: allowlist secret
|
|
685
1140
|
|
|
686
1141
|
# Optional: Redis for memory
|
|
687
1142
|
export REDIS_URL="redis://localhost:6379"
|