empathy-framework 3.7.0__py3-none-any.whl → 3.8.0__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/code_reviewer_README.md +60 -0
- coach_wizards/code_reviewer_wizard.py +180 -0
- {empathy_framework-3.7.0.dist-info → empathy_framework-3.8.0.dist-info}/METADATA +148 -11
- empathy_framework-3.8.0.dist-info/RECORD +333 -0
- {empathy_framework-3.7.0.dist-info → empathy_framework-3.8.0.dist-info}/top_level.txt +5 -1
- 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/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/cli/__init__.py +8 -0
- empathy_llm_toolkit/cli/sync_claude.py +487 -0
- empathy_llm_toolkit/code_health.py +150 -3
- empathy_llm_toolkit/config/__init__.py +29 -0
- empathy_llm_toolkit/config/unified.py +295 -0
- 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/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 +52 -52
- empathy_os/adaptive/__init__.py +13 -0
- empathy_os/adaptive/task_complexity.py +127 -0
- 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 +118 -8
- empathy_os/cli_unified.py +121 -1
- empathy_os/config/__init__.py +63 -0
- empathy_os/config/xml_config.py +239 -0
- empathy_os/config.py +2 -1
- empathy_os/dashboard/__init__.py +15 -0
- empathy_os/dashboard/server.py +743 -0
- 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/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/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/trust/__init__.py +28 -0
- empathy_os/trust/circuit_breaker.py +579 -0
- 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/__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/cli/__init__.py +120 -0
- empathy_software_plugin/cli/inspect.py +362 -0
- empathy_software_plugin/cli.py +3 -1
- 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 -1422
- agents/compliance_db.py +0 -339
- agents/epic_integration_wizard.py +0 -530
- agents/notifications.py +0 -291
- agents/trust_building_behaviors.py +0 -872
- empathy_framework-3.7.0.dist-info/RECORD +0 -105
- {empathy_framework-3.7.0.dist-info → empathy_framework-3.8.0.dist-info}/WHEEL +0 -0
- {empathy_framework-3.7.0.dist-info → empathy_framework-3.8.0.dist-info}/entry_points.txt +0 -0
- {empathy_framework-3.7.0.dist-info → empathy_framework-3.8.0.dist-info}/licenses/LICENSE +0 -0
- /empathy_os/{monitoring.py → agent_monitoring.py} +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""Configuration management for Empathy Framework.
|
|
2
|
+
|
|
3
|
+
This package provides:
|
|
4
|
+
1. Original EmpathyConfig (backward compatible)
|
|
5
|
+
2. XML enhancement configurations (new)
|
|
6
|
+
|
|
7
|
+
Copyright 2026 Smart-AI-Memory
|
|
8
|
+
Licensed under Fair Source License 0.9
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
# Import original config from parent module's config.py for backward compatibility
|
|
12
|
+
import importlib.util
|
|
13
|
+
import sys
|
|
14
|
+
from pathlib import Path
|
|
15
|
+
|
|
16
|
+
# Check if PyYAML is available
|
|
17
|
+
try:
|
|
18
|
+
import yaml # noqa: F401
|
|
19
|
+
|
|
20
|
+
YAML_AVAILABLE = True
|
|
21
|
+
except ImportError:
|
|
22
|
+
YAML_AVAILABLE = False
|
|
23
|
+
|
|
24
|
+
# Load the original config.py module directly
|
|
25
|
+
config_py_path = Path(__file__).parent.parent / "config.py"
|
|
26
|
+
spec = importlib.util.spec_from_file_location("empathy_os_config_legacy", config_py_path)
|
|
27
|
+
if spec and spec.loader:
|
|
28
|
+
legacy_config = importlib.util.module_from_spec(spec)
|
|
29
|
+
spec.loader.exec_module(legacy_config)
|
|
30
|
+
EmpathyConfig = legacy_config.EmpathyConfig
|
|
31
|
+
load_config = legacy_config.load_config
|
|
32
|
+
else:
|
|
33
|
+
# Fallback if import fails
|
|
34
|
+
EmpathyConfig = None
|
|
35
|
+
load_config = None
|
|
36
|
+
|
|
37
|
+
# Import XML enhancement configs
|
|
38
|
+
from empathy_os.config.xml_config import ( # noqa: E402
|
|
39
|
+
AdaptiveConfig,
|
|
40
|
+
EmpathyXMLConfig,
|
|
41
|
+
I18nConfig,
|
|
42
|
+
MetricsConfig,
|
|
43
|
+
OptimizationConfig,
|
|
44
|
+
XMLConfig,
|
|
45
|
+
get_config,
|
|
46
|
+
set_config,
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
__all__ = [
|
|
50
|
+
# Original config (backward compatible)
|
|
51
|
+
"EmpathyConfig",
|
|
52
|
+
"load_config",
|
|
53
|
+
"YAML_AVAILABLE",
|
|
54
|
+
# XML enhancement configs
|
|
55
|
+
"XMLConfig",
|
|
56
|
+
"OptimizationConfig",
|
|
57
|
+
"AdaptiveConfig",
|
|
58
|
+
"I18nConfig",
|
|
59
|
+
"MetricsConfig",
|
|
60
|
+
"EmpathyXMLConfig",
|
|
61
|
+
"get_config",
|
|
62
|
+
"set_config",
|
|
63
|
+
]
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"""Configuration system for XML-enhanced prompting features.
|
|
2
|
+
|
|
3
|
+
Provides feature flags and settings for all 6 XML enhancement options:
|
|
4
|
+
1. Workflow migration settings
|
|
5
|
+
2. XML schema validation
|
|
6
|
+
3. Prompt metrics tracking
|
|
7
|
+
4. Context window optimization
|
|
8
|
+
5. Dynamic prompt adaptation
|
|
9
|
+
6. Multi-language support
|
|
10
|
+
|
|
11
|
+
Copyright 2026 Smart-AI-Memory
|
|
12
|
+
Licensed under Fair Source License 0.9
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import json
|
|
16
|
+
import os
|
|
17
|
+
from dataclasses import asdict, dataclass, field
|
|
18
|
+
from pathlib import Path
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@dataclass
|
|
22
|
+
class XMLConfig:
|
|
23
|
+
"""XML prompting configuration.
|
|
24
|
+
|
|
25
|
+
Controls XML-enhanced prompt behavior and validation.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
use_xml_structure: bool = True # Default to XML prompts
|
|
29
|
+
validate_schemas: bool = False # Feature flag for validation
|
|
30
|
+
schema_dir: str = ".empathy/schemas"
|
|
31
|
+
strict_validation: bool = False # Fail on validation errors
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@dataclass
|
|
35
|
+
class OptimizationConfig:
|
|
36
|
+
"""Context window optimization configuration.
|
|
37
|
+
|
|
38
|
+
Controls prompt compression and token reduction strategies.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
compression_level: str = "moderate" # none, light, moderate, aggressive
|
|
42
|
+
use_short_tags: bool = True
|
|
43
|
+
strip_whitespace: bool = True
|
|
44
|
+
cache_system_prompts: bool = True
|
|
45
|
+
max_context_tokens: int = 8000
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
@dataclass
|
|
49
|
+
class AdaptiveConfig:
|
|
50
|
+
"""Adaptive prompting configuration.
|
|
51
|
+
|
|
52
|
+
Controls dynamic model tier and compression selection based on task complexity.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
enable_adaptation: bool = True
|
|
56
|
+
model_tier_mapping: dict[str, str] = field(
|
|
57
|
+
default_factory=lambda: {
|
|
58
|
+
"simple": "gpt-3.5-turbo",
|
|
59
|
+
"moderate": "gpt-4",
|
|
60
|
+
"complex": "gpt-4",
|
|
61
|
+
"very_complex": "gpt-4-turbo-preview",
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
complexity_thresholds: dict[str, int] = field(
|
|
65
|
+
default_factory=lambda: {
|
|
66
|
+
"simple_tokens": 100,
|
|
67
|
+
"moderate_tokens": 500,
|
|
68
|
+
"complex_tokens": 2000,
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
@dataclass
|
|
74
|
+
class I18nConfig:
|
|
75
|
+
"""Internationalization configuration.
|
|
76
|
+
|
|
77
|
+
Controls multi-language support for XML prompts.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
default_language: str = "en"
|
|
81
|
+
translate_tags: bool = False # Keep tags in English by default
|
|
82
|
+
translate_content: bool = True
|
|
83
|
+
fallback_to_english: bool = True
|
|
84
|
+
translation_dir: str = ".empathy/translations"
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
@dataclass
|
|
88
|
+
class MetricsConfig:
|
|
89
|
+
"""Metrics tracking configuration.
|
|
90
|
+
|
|
91
|
+
Controls prompt performance metrics collection and storage.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
enable_tracking: bool = True
|
|
95
|
+
metrics_file: str = ".empathy/prompt_metrics.json"
|
|
96
|
+
track_token_usage: bool = True
|
|
97
|
+
track_latency: bool = True
|
|
98
|
+
track_retries: bool = True
|
|
99
|
+
track_parsing_success: bool = True
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
@dataclass
|
|
103
|
+
class EmpathyXMLConfig:
|
|
104
|
+
"""Main Empathy XML enhancement configuration.
|
|
105
|
+
|
|
106
|
+
Combines all feature configurations with centralized management.
|
|
107
|
+
|
|
108
|
+
Usage:
|
|
109
|
+
config = EmpathyXMLConfig.load_from_file()
|
|
110
|
+
if config.xml.use_xml_structure:
|
|
111
|
+
use_xml_prompts()
|
|
112
|
+
|
|
113
|
+
# Or create custom config
|
|
114
|
+
config = EmpathyXMLConfig(
|
|
115
|
+
xml=XMLConfig(validate_schemas=True),
|
|
116
|
+
metrics=MetricsConfig(enable_tracking=True)
|
|
117
|
+
)
|
|
118
|
+
config.save_to_file()
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
xml: XMLConfig = field(default_factory=XMLConfig)
|
|
122
|
+
optimization: OptimizationConfig = field(default_factory=OptimizationConfig)
|
|
123
|
+
adaptive: AdaptiveConfig = field(default_factory=AdaptiveConfig)
|
|
124
|
+
i18n: I18nConfig = field(default_factory=I18nConfig)
|
|
125
|
+
metrics: MetricsConfig = field(default_factory=MetricsConfig)
|
|
126
|
+
|
|
127
|
+
@classmethod
|
|
128
|
+
def load_from_file(cls, config_file: str = ".empathy/config.json") -> "EmpathyXMLConfig":
|
|
129
|
+
"""Load configuration from JSON file.
|
|
130
|
+
|
|
131
|
+
Args:
|
|
132
|
+
config_file: Path to config file (default: .empathy/config.json)
|
|
133
|
+
|
|
134
|
+
Returns:
|
|
135
|
+
EmpathyXMLConfig instance loaded from file, or default config if file doesn't exist
|
|
136
|
+
"""
|
|
137
|
+
path = Path(config_file)
|
|
138
|
+
|
|
139
|
+
if not path.exists():
|
|
140
|
+
# Return default config if file doesn't exist
|
|
141
|
+
return cls()
|
|
142
|
+
|
|
143
|
+
try:
|
|
144
|
+
with open(path) as f:
|
|
145
|
+
data = json.load(f)
|
|
146
|
+
|
|
147
|
+
# Reconstruct nested dataclasses
|
|
148
|
+
return cls(
|
|
149
|
+
xml=XMLConfig(**data.get("xml", {})),
|
|
150
|
+
optimization=OptimizationConfig(**data.get("optimization", {})),
|
|
151
|
+
adaptive=AdaptiveConfig(**data.get("adaptive", {})),
|
|
152
|
+
i18n=I18nConfig(**data.get("i18n", {})),
|
|
153
|
+
metrics=MetricsConfig(**data.get("metrics", {})),
|
|
154
|
+
)
|
|
155
|
+
except Exception as e:
|
|
156
|
+
# Return default config on error
|
|
157
|
+
print(f"Warning: Failed to load config from {config_file}: {e}")
|
|
158
|
+
return cls()
|
|
159
|
+
|
|
160
|
+
def save_to_file(self, config_file: str = ".empathy/config.json") -> None:
|
|
161
|
+
"""Save configuration to JSON file.
|
|
162
|
+
|
|
163
|
+
Args:
|
|
164
|
+
config_file: Path to save config (default: .empathy/config.json)
|
|
165
|
+
"""
|
|
166
|
+
path = Path(config_file)
|
|
167
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
168
|
+
|
|
169
|
+
data = {
|
|
170
|
+
"xml": asdict(self.xml),
|
|
171
|
+
"optimization": asdict(self.optimization),
|
|
172
|
+
"adaptive": asdict(self.adaptive),
|
|
173
|
+
"i18n": asdict(self.i18n),
|
|
174
|
+
"metrics": asdict(self.metrics),
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
with open(path, "w") as f:
|
|
178
|
+
json.dump(data, f, indent=2)
|
|
179
|
+
|
|
180
|
+
@classmethod
|
|
181
|
+
def from_env(cls) -> "EmpathyXMLConfig":
|
|
182
|
+
"""Load configuration from environment variables.
|
|
183
|
+
|
|
184
|
+
Environment variables:
|
|
185
|
+
EMPATHY_XML_ENABLED: Enable XML prompts (default: true)
|
|
186
|
+
EMPATHY_VALIDATION_ENABLED: Enable schema validation (default: false)
|
|
187
|
+
EMPATHY_METRICS_ENABLED: Enable metrics tracking (default: true)
|
|
188
|
+
EMPATHY_OPTIMIZATION_LEVEL: Compression level (default: moderate)
|
|
189
|
+
EMPATHY_ADAPTIVE_ENABLED: Enable adaptive prompts (default: true)
|
|
190
|
+
|
|
191
|
+
Returns:
|
|
192
|
+
EmpathyXMLConfig with settings from environment variables
|
|
193
|
+
"""
|
|
194
|
+
return cls(
|
|
195
|
+
xml=XMLConfig(
|
|
196
|
+
use_xml_structure=os.getenv("EMPATHY_XML_ENABLED", "true").lower() == "true",
|
|
197
|
+
validate_schemas=os.getenv("EMPATHY_VALIDATION_ENABLED", "false").lower() == "true",
|
|
198
|
+
),
|
|
199
|
+
optimization=OptimizationConfig(
|
|
200
|
+
compression_level=os.getenv("EMPATHY_OPTIMIZATION_LEVEL", "moderate"),
|
|
201
|
+
),
|
|
202
|
+
adaptive=AdaptiveConfig(
|
|
203
|
+
enable_adaptation=os.getenv("EMPATHY_ADAPTIVE_ENABLED", "true").lower() == "true",
|
|
204
|
+
),
|
|
205
|
+
metrics=MetricsConfig(
|
|
206
|
+
enable_tracking=os.getenv("EMPATHY_METRICS_ENABLED", "true").lower() == "true",
|
|
207
|
+
),
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
# Global default configuration instance
|
|
212
|
+
_global_config: EmpathyXMLConfig | None = None
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def get_config() -> EmpathyXMLConfig:
|
|
216
|
+
"""Get global configuration instance.
|
|
217
|
+
|
|
218
|
+
Returns cached config or loads from file if not yet loaded.
|
|
219
|
+
|
|
220
|
+
Returns:
|
|
221
|
+
Global EmpathyXMLConfig instance
|
|
222
|
+
"""
|
|
223
|
+
global _global_config
|
|
224
|
+
|
|
225
|
+
if _global_config is None:
|
|
226
|
+
# Try to load from file, fall back to defaults
|
|
227
|
+
_global_config = EmpathyXMLConfig.load_from_file()
|
|
228
|
+
|
|
229
|
+
return _global_config
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
def set_config(config: EmpathyXMLConfig) -> None:
|
|
233
|
+
"""Set global configuration instance.
|
|
234
|
+
|
|
235
|
+
Args:
|
|
236
|
+
config: EmpathyXMLConfig to use globally
|
|
237
|
+
"""
|
|
238
|
+
global _global_config
|
|
239
|
+
_global_config = config
|
empathy_os/config.py
CHANGED
|
@@ -475,7 +475,8 @@ def load_config(
|
|
|
475
475
|
try:
|
|
476
476
|
env_config = EmpathyConfig.from_env()
|
|
477
477
|
config = config.merge(env_config)
|
|
478
|
-
except
|
|
478
|
+
except (ValueError, TypeError):
|
|
479
|
+
# Graceful fallback: invalid env var type conversion
|
|
479
480
|
pass # Use current config if environment parsing fails
|
|
480
481
|
|
|
481
482
|
# Validate final configuration
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Visual Dashboard for Empathy Framework
|
|
2
|
+
|
|
3
|
+
Web-based view of patterns, costs, and health trends.
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
empathy dashboard
|
|
7
|
+
# Opens browser to http://localhost:8765
|
|
8
|
+
|
|
9
|
+
Copyright 2025 Smart-AI-Memory
|
|
10
|
+
Licensed under Fair Source License 0.9
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from empathy_os.dashboard.server import cmd_dashboard, run_dashboard
|
|
14
|
+
|
|
15
|
+
__all__ = ["cmd_dashboard", "run_dashboard"]
|