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
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"""Technology/IT Wizard - System Security Compliant AI Assistant
|
|
2
|
+
|
|
3
|
+
Specialized wizard for IT and technology operations with system security,
|
|
4
|
+
infrastructure data protection, and comprehensive audit logging.
|
|
5
|
+
|
|
6
|
+
Key Features:
|
|
7
|
+
- System and infrastructure data protection
|
|
8
|
+
- Secrets detection (API keys, credentials, tokens)
|
|
9
|
+
- Security log analysis
|
|
10
|
+
- Comprehensive audit trail
|
|
11
|
+
- DevOps and infrastructure security
|
|
12
|
+
- Automatic classification as INTERNAL
|
|
13
|
+
|
|
14
|
+
Copyright 2025 Smart AI Memory, LLC
|
|
15
|
+
Licensed under Fair Source 0.9
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import logging
|
|
19
|
+
|
|
20
|
+
from empathy_llm_toolkit import EmpathyLLM
|
|
21
|
+
|
|
22
|
+
from .base_wizard import BaseWizard, WizardConfig
|
|
23
|
+
|
|
24
|
+
logger = logging.getLogger(__name__)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# Technology/IT PII patterns
|
|
28
|
+
TECHNOLOGY_PII_PATTERNS = [
|
|
29
|
+
# Standard PII
|
|
30
|
+
"email",
|
|
31
|
+
"phone",
|
|
32
|
+
"ip_address",
|
|
33
|
+
# Technology-specific
|
|
34
|
+
"api_key",
|
|
35
|
+
"access_token",
|
|
36
|
+
"ssh_key",
|
|
37
|
+
"database_credential",
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class TechnologyWizard(BaseWizard):
|
|
42
|
+
"""System security compliant technology and IT AI assistant
|
|
43
|
+
|
|
44
|
+
Implements data protection for IT operations:
|
|
45
|
+
1. Infrastructure data detection and protection
|
|
46
|
+
2. Enhanced secrets detection (API keys, credentials)
|
|
47
|
+
3. Encryption for sensitive system data
|
|
48
|
+
4. Comprehensive audit logging
|
|
49
|
+
5. 1-year retention
|
|
50
|
+
6. Access control enforcement
|
|
51
|
+
|
|
52
|
+
Example:
|
|
53
|
+
>>> from empathy_llm_toolkit import EmpathyLLM
|
|
54
|
+
>>> from empathy_llm_toolkit.wizards import TechnologyWizard
|
|
55
|
+
>>>
|
|
56
|
+
>>> llm = EmpathyLLM(
|
|
57
|
+
... provider="anthropic",
|
|
58
|
+
... api_key=os.getenv("ANTHROPIC_API_KEY"),
|
|
59
|
+
... enable_security=True,
|
|
60
|
+
... )
|
|
61
|
+
>>>
|
|
62
|
+
>>> wizard = TechnologyWizard(llm)
|
|
63
|
+
>>>
|
|
64
|
+
>>> result = await wizard.process(
|
|
65
|
+
... user_input="Help me troubleshoot this infrastructure issue",
|
|
66
|
+
... user_id="sysadmin@company.com"
|
|
67
|
+
... )
|
|
68
|
+
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
def __init__(
|
|
72
|
+
self,
|
|
73
|
+
llm: EmpathyLLM,
|
|
74
|
+
custom_pii_patterns: list[str] | None = None,
|
|
75
|
+
):
|
|
76
|
+
"""Initialize technology/IT wizard
|
|
77
|
+
|
|
78
|
+
Args:
|
|
79
|
+
llm: EmpathyLLM instance (security should be enabled)
|
|
80
|
+
custom_pii_patterns: Additional organization-specific patterns
|
|
81
|
+
|
|
82
|
+
"""
|
|
83
|
+
pii_patterns = TECHNOLOGY_PII_PATTERNS.copy()
|
|
84
|
+
|
|
85
|
+
if custom_pii_patterns:
|
|
86
|
+
pii_patterns.extend(custom_pii_patterns)
|
|
87
|
+
|
|
88
|
+
config = WizardConfig(
|
|
89
|
+
name="Technology & IT Assistant",
|
|
90
|
+
description="System security compliant AI assistant for IT operations",
|
|
91
|
+
domain="technology",
|
|
92
|
+
default_empathy_level=3, # Proactive
|
|
93
|
+
enable_security=True,
|
|
94
|
+
pii_patterns=pii_patterns,
|
|
95
|
+
enable_secrets_detection=True,
|
|
96
|
+
block_on_secrets=True, # CRITICAL for IT security
|
|
97
|
+
audit_all_access=True,
|
|
98
|
+
retention_days=365, # 1 year for system logs
|
|
99
|
+
default_classification="INTERNAL",
|
|
100
|
+
auto_classify=True,
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
super().__init__(llm, config)
|
|
104
|
+
|
|
105
|
+
if not llm.enable_security:
|
|
106
|
+
logger.warning(
|
|
107
|
+
"TechnologyWizard initialized with security DISABLED. "
|
|
108
|
+
"IT security requires enable_security=True in EmpathyLLM.",
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
logger.info(
|
|
112
|
+
f"TechnologyWizard initialized: {len(pii_patterns)} PII patterns, "
|
|
113
|
+
f"empathy level={config.default_empathy_level}, security={llm.enable_security}",
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
def _build_system_prompt(self, user_input: str = "") -> str:
|
|
117
|
+
"""Build technology/IT system prompt
|
|
118
|
+
|
|
119
|
+
Uses XML-enhanced prompts if enabled for improved precision
|
|
120
|
+
and reduced errors in critical IT operations.
|
|
121
|
+
"""
|
|
122
|
+
# Check if XML prompts are enabled
|
|
123
|
+
if self._is_xml_enabled():
|
|
124
|
+
# Use XML-enhanced prompt for better structure
|
|
125
|
+
return self._render_xml_prompt(
|
|
126
|
+
role="system security compliant AI technology and IT assistant for infrastructure operations",
|
|
127
|
+
goal="Assist IT professionals with secure, reliable system administration, infrastructure design, and DevOps automation",
|
|
128
|
+
instructions=[
|
|
129
|
+
"Assist IT professionals with system administration, troubleshooting, and operations",
|
|
130
|
+
"Support infrastructure design, optimization, and scalability planning",
|
|
131
|
+
"Provide security analysis, incident response guidance, and threat mitigation",
|
|
132
|
+
"Help with DevOps automation, CI/CD pipelines, and deployment strategies",
|
|
133
|
+
"Base recommendations on industry best practices (NIST, CIS, OWASP)",
|
|
134
|
+
"Acknowledge compliance requirements (SOC2, ISO 27001, PCI-DSS, GDPR)",
|
|
135
|
+
],
|
|
136
|
+
constraints=[
|
|
137
|
+
"CRITICAL: System data automatically protected - never request or display API keys, credentials, passwords, tokens",
|
|
138
|
+
"You are an IT support tool, NOT a replacement for sysadmin or security expert judgment",
|
|
139
|
+
"CANNOT make production deployment, security policy, or infrastructure decisions autonomously",
|
|
140
|
+
"Always defer to IT leadership for critical infrastructure changes",
|
|
141
|
+
"Maintain strict confidentiality of infrastructure data",
|
|
142
|
+
"System security and data protection paramount - all interactions logged for audit",
|
|
143
|
+
],
|
|
144
|
+
input_type="it_query",
|
|
145
|
+
input_payload=user_input if user_input else "[IT professional query]",
|
|
146
|
+
extra={
|
|
147
|
+
"domain": "Technology / IT Operations / DevOps / Infrastructure",
|
|
148
|
+
"empathy_level": self.config.default_empathy_level,
|
|
149
|
+
"secrets_detection_enabled": self.config.enable_secrets_detection,
|
|
150
|
+
"retention_days": self.config.retention_days,
|
|
151
|
+
},
|
|
152
|
+
)
|
|
153
|
+
else:
|
|
154
|
+
# Fallback to legacy plain text prompt
|
|
155
|
+
return """You are a system security compliant AI technology and IT assistant.
|
|
156
|
+
|
|
157
|
+
**Domain**: Technology / IT Operations / DevOps / Infrastructure
|
|
158
|
+
|
|
159
|
+
**Your Role**:
|
|
160
|
+
- Assist IT professionals with system administration and troubleshooting
|
|
161
|
+
- Support infrastructure design and optimization
|
|
162
|
+
- Help with security analysis and incident response
|
|
163
|
+
- Provide guidance on DevOps and automation
|
|
164
|
+
|
|
165
|
+
**Security**:
|
|
166
|
+
- All system information is automatically protected before you see it
|
|
167
|
+
- Never request or display API keys, credentials, passwords, or tokens
|
|
168
|
+
- Maintain strict confidentiality of infrastructure data
|
|
169
|
+
- All interactions comply with IT security policies
|
|
170
|
+
|
|
171
|
+
**Technology Guidelines**:
|
|
172
|
+
- Base recommendations on industry best practices and security standards
|
|
173
|
+
- Acknowledge compliance requirements (SOC2, ISO 27001, etc.)
|
|
174
|
+
- Provide practical technical guidance
|
|
175
|
+
- Follow DevOps and SRE principles
|
|
176
|
+
|
|
177
|
+
**Communication Style**:
|
|
178
|
+
- Technical and precise
|
|
179
|
+
- Clear and actionable
|
|
180
|
+
- Security-focused
|
|
181
|
+
- Problem-solving oriented
|
|
182
|
+
|
|
183
|
+
**Important Disclaimers**:
|
|
184
|
+
- You are an IT support tool, not a replacement for sysadmin judgment
|
|
185
|
+
- Cannot make production deployment or security policy decisions
|
|
186
|
+
- Not a substitute for qualified IT professionals and security experts
|
|
187
|
+
- Always defer to IT leadership for critical infrastructure decisions
|
|
188
|
+
|
|
189
|
+
Remember: System security and data protection are paramount. Interactions are logged.
|
|
190
|
+
"""
|
|
191
|
+
|
|
192
|
+
def get_pii_patterns(self) -> list[str]:
|
|
193
|
+
"""Get list of technology PII patterns being detected"""
|
|
194
|
+
return self.config.pii_patterns.copy()
|
empathy_os/__init__.py
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Empathy Framework - AI-Human Collaboration Library
|
|
1
|
+
"""Empathy Framework - AI-Human Collaboration Library
|
|
3
2
|
|
|
4
3
|
A five-level maturity model for building AI systems that progress from
|
|
5
4
|
reactive responses to anticipatory problem prevention.
|
|
@@ -56,10 +55,11 @@ Copyright 2025 Smart AI Memory, LLC
|
|
|
56
55
|
Licensed under Fair Source 0.9
|
|
57
56
|
"""
|
|
58
57
|
|
|
59
|
-
__version__ = "
|
|
58
|
+
__version__ = "3.8.2"
|
|
60
59
|
__author__ = "Patrick Roebuck"
|
|
61
60
|
__email__ = "hello@deepstudy.ai"
|
|
62
61
|
|
|
62
|
+
from .agent_monitoring import AgentMetrics, AgentMonitor, TeamMetrics
|
|
63
63
|
from .config import EmpathyConfig, load_config
|
|
64
64
|
from .coordination import (
|
|
65
65
|
AgentCoordinator,
|
|
@@ -89,9 +89,9 @@ from .leverage_points import LeveragePointAnalyzer
|
|
|
89
89
|
from .logging_config import LoggingConfig, get_logger
|
|
90
90
|
|
|
91
91
|
# Memory module (unified short-term + long-term + security)
|
|
92
|
-
from .memory import (
|
|
92
|
+
from .memory import (
|
|
93
93
|
AccessTier,
|
|
94
|
-
AgentCredentials,
|
|
94
|
+
AgentCredentials, # Memory module imports
|
|
95
95
|
AuditEvent,
|
|
96
96
|
AuditLogger,
|
|
97
97
|
Classification,
|
|
@@ -126,100 +126,99 @@ from .memory import ( # Memory module imports
|
|
|
126
126
|
get_redis_config,
|
|
127
127
|
get_redis_memory,
|
|
128
128
|
)
|
|
129
|
-
from .monitoring import AgentMetrics, AgentMonitor, TeamMetrics
|
|
130
129
|
from .pattern_library import Pattern, PatternLibrary, PatternMatch
|
|
131
130
|
from .persistence import MetricsCollector, PatternPersistence, StateManager
|
|
132
131
|
from .trust_building import TrustBuildingBehaviors
|
|
133
132
|
|
|
134
133
|
__all__ = [
|
|
134
|
+
"AccessTier",
|
|
135
|
+
"AgentCoordinator",
|
|
136
|
+
"AgentCredentials",
|
|
137
|
+
"AgentMetrics",
|
|
138
|
+
# Monitoring (Multi-Agent)
|
|
139
|
+
"AgentMonitor",
|
|
140
|
+
"AgentTask",
|
|
141
|
+
"AuditEvent",
|
|
142
|
+
# Security - Audit
|
|
143
|
+
"AuditLogger",
|
|
144
|
+
"Classification",
|
|
145
|
+
"ClassificationRules",
|
|
146
|
+
# Claude Memory
|
|
147
|
+
"ClaudeMemoryConfig",
|
|
148
|
+
"ClaudeMemoryLoader",
|
|
149
|
+
"CollaborationStateError",
|
|
150
|
+
"ConfidenceThresholdError",
|
|
151
|
+
"ConflictContext",
|
|
152
|
+
# Coordination (Multi-Agent)
|
|
153
|
+
"ConflictResolver",
|
|
154
|
+
"EmergenceDetector",
|
|
155
|
+
# Configuration
|
|
156
|
+
"EmpathyConfig",
|
|
157
|
+
# Exceptions
|
|
158
|
+
"EmpathyFrameworkError",
|
|
159
|
+
"EmpathyLevelError",
|
|
135
160
|
"EmpathyOS",
|
|
136
|
-
|
|
137
|
-
"UnifiedMemory",
|
|
138
|
-
"MemoryConfig",
|
|
161
|
+
"EncryptionManager",
|
|
139
162
|
"Environment",
|
|
163
|
+
"FeedbackLoopDetector",
|
|
164
|
+
"FeedbackLoopError",
|
|
140
165
|
"Level1Reactive",
|
|
141
166
|
"Level2Guided",
|
|
142
167
|
"Level3Proactive",
|
|
143
168
|
"Level4Anticipatory",
|
|
144
169
|
"Level5Systems",
|
|
145
|
-
"FeedbackLoopDetector",
|
|
146
170
|
"LeveragePointAnalyzer",
|
|
147
|
-
"
|
|
171
|
+
"LeveragePointError",
|
|
172
|
+
"LoggingConfig",
|
|
173
|
+
"MemDocsStorage",
|
|
174
|
+
"MemoryConfig",
|
|
175
|
+
"MemoryPermissionError",
|
|
176
|
+
"MetricsCollector",
|
|
177
|
+
"PIIDetection",
|
|
178
|
+
"PIIPattern",
|
|
179
|
+
# Security - PII
|
|
180
|
+
"PIIScrubber",
|
|
181
|
+
"Pattern",
|
|
148
182
|
# Pattern Library
|
|
149
183
|
"PatternLibrary",
|
|
150
|
-
"Pattern",
|
|
151
184
|
"PatternMatch",
|
|
152
|
-
|
|
153
|
-
"
|
|
154
|
-
"ResolutionResult",
|
|
155
|
-
"ResolutionStrategy",
|
|
156
|
-
"TeamPriorities",
|
|
157
|
-
"AgentCoordinator",
|
|
158
|
-
"AgentTask",
|
|
159
|
-
"TeamSession",
|
|
160
|
-
# Monitoring (Multi-Agent)
|
|
161
|
-
"AgentMonitor",
|
|
162
|
-
"AgentMetrics",
|
|
163
|
-
"TeamMetrics",
|
|
164
|
-
# Redis Short-Term Memory
|
|
165
|
-
"RedisShortTermMemory",
|
|
166
|
-
"AccessTier",
|
|
167
|
-
"AgentCredentials",
|
|
168
|
-
"StagedPattern",
|
|
169
|
-
"ConflictContext",
|
|
170
|
-
"TTLStrategy",
|
|
171
|
-
# Redis Configuration
|
|
172
|
-
"get_redis_memory",
|
|
173
|
-
"get_redis_config",
|
|
174
|
-
"get_railway_redis",
|
|
175
|
-
"check_redis_connection",
|
|
176
|
-
# Trust
|
|
177
|
-
"TrustBuildingBehaviors",
|
|
185
|
+
"PatternMetadata",
|
|
186
|
+
"PatternNotFoundError",
|
|
178
187
|
# Persistence
|
|
179
188
|
"PatternPersistence",
|
|
180
|
-
|
|
181
|
-
"
|
|
182
|
-
|
|
183
|
-
"
|
|
184
|
-
"
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
"
|
|
188
|
-
# Exceptions
|
|
189
|
-
"EmpathyFrameworkError",
|
|
190
|
-
"ValidationError",
|
|
191
|
-
"PatternNotFoundError",
|
|
192
|
-
"TrustThresholdError",
|
|
193
|
-
"ConfidenceThresholdError",
|
|
194
|
-
"EmpathyLevelError",
|
|
195
|
-
"LeveragePointError",
|
|
196
|
-
"FeedbackLoopError",
|
|
197
|
-
"CollaborationStateError",
|
|
189
|
+
# Redis Short-Term Memory
|
|
190
|
+
"RedisShortTermMemory",
|
|
191
|
+
"ResolutionResult",
|
|
192
|
+
"ResolutionStrategy",
|
|
193
|
+
"SecretDetection",
|
|
194
|
+
"SecretType",
|
|
195
|
+
# Security - Secrets
|
|
196
|
+
"SecretsDetector",
|
|
198
197
|
# Long-term Memory
|
|
199
198
|
"SecureMemDocsIntegration",
|
|
200
|
-
"Classification",
|
|
201
|
-
"ClassificationRules",
|
|
202
|
-
"PatternMetadata",
|
|
203
199
|
"SecurePattern",
|
|
204
|
-
"MemDocsStorage",
|
|
205
|
-
"EncryptionManager",
|
|
206
200
|
"SecurityError",
|
|
207
|
-
"
|
|
208
|
-
# Claude Memory
|
|
209
|
-
"ClaudeMemoryConfig",
|
|
210
|
-
"ClaudeMemoryLoader",
|
|
211
|
-
# Security - PII
|
|
212
|
-
"PIIScrubber",
|
|
213
|
-
"PIIDetection",
|
|
214
|
-
"PIIPattern",
|
|
215
|
-
# Security - Secrets
|
|
216
|
-
"SecretsDetector",
|
|
217
|
-
"SecretDetection",
|
|
218
|
-
"SecretType",
|
|
201
|
+
"SecurityViolation",
|
|
219
202
|
"Severity",
|
|
203
|
+
"StagedPattern",
|
|
204
|
+
"StateManager",
|
|
205
|
+
"TTLStrategy",
|
|
206
|
+
"TeamMetrics",
|
|
207
|
+
"TeamPriorities",
|
|
208
|
+
"TeamSession",
|
|
209
|
+
# Trust
|
|
210
|
+
"TrustBuildingBehaviors",
|
|
211
|
+
"TrustThresholdError",
|
|
212
|
+
# Unified Memory Interface
|
|
213
|
+
"UnifiedMemory",
|
|
214
|
+
"ValidationError",
|
|
215
|
+
"check_redis_connection",
|
|
220
216
|
"detect_secrets",
|
|
221
|
-
#
|
|
222
|
-
"
|
|
223
|
-
"
|
|
224
|
-
"
|
|
217
|
+
# Logging
|
|
218
|
+
"get_logger",
|
|
219
|
+
"get_railway_redis",
|
|
220
|
+
"get_redis_config",
|
|
221
|
+
# Redis Configuration
|
|
222
|
+
"get_redis_memory",
|
|
223
|
+
"load_config",
|
|
225
224
|
]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Adaptive prompting system for dynamic model and compression selection.
|
|
2
|
+
|
|
3
|
+
Copyright 2026 Smart-AI-Memory
|
|
4
|
+
Licensed under Fair Source License 0.9
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from empathy_os.adaptive.task_complexity import (
|
|
8
|
+
ComplexityScore,
|
|
9
|
+
TaskComplexity,
|
|
10
|
+
TaskComplexityScorer,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
__all__ = ["TaskComplexity", "ComplexityScore", "TaskComplexityScorer"]
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"""Task complexity scoring for adaptive prompt selection.
|
|
2
|
+
|
|
3
|
+
Uses simple heuristics (token count, LOC) to classify tasks as
|
|
4
|
+
simple, moderate, complex, or very complex, enabling dynamic
|
|
5
|
+
model tier and compression level selection.
|
|
6
|
+
|
|
7
|
+
Copyright 2026 Smart-AI-Memory
|
|
8
|
+
Licensed under Fair Source License 0.9
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from dataclasses import dataclass
|
|
12
|
+
from enum import Enum
|
|
13
|
+
|
|
14
|
+
try:
|
|
15
|
+
import tiktoken
|
|
16
|
+
except ImportError:
|
|
17
|
+
tiktoken = None # type: ignore[assignment]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class TaskComplexity(Enum):
|
|
21
|
+
"""Task complexity levels for adaptive prompting."""
|
|
22
|
+
|
|
23
|
+
SIMPLE = "simple" # <100 tokens, <50 LOC
|
|
24
|
+
MODERATE = "moderate" # 100-500 tokens, 50-200 LOC
|
|
25
|
+
COMPLEX = "complex" # 500-2000 tokens, 200-1000 LOC
|
|
26
|
+
VERY_COMPLEX = "very_complex" # >2000 tokens, >1000 LOC
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@dataclass
|
|
30
|
+
class ComplexityScore:
|
|
31
|
+
"""Task complexity scoring result.
|
|
32
|
+
|
|
33
|
+
Attributes:
|
|
34
|
+
token_count: Estimated input tokens
|
|
35
|
+
line_count: Lines of code in context
|
|
36
|
+
file_count: Number of files involved
|
|
37
|
+
complexity_level: Classified complexity
|
|
38
|
+
confidence: Confidence in classification (0-1)
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
token_count: int
|
|
42
|
+
line_count: int
|
|
43
|
+
file_count: int
|
|
44
|
+
complexity_level: TaskComplexity
|
|
45
|
+
confidence: float
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class TaskComplexityScorer:
|
|
49
|
+
"""Scores task complexity using simple heuristics.
|
|
50
|
+
|
|
51
|
+
Uses token counting (via tiktoken if available) and line counting
|
|
52
|
+
to estimate task complexity for adaptive prompt selection.
|
|
53
|
+
|
|
54
|
+
Usage:
|
|
55
|
+
scorer = TaskComplexityScorer()
|
|
56
|
+
score = scorer.score_task(
|
|
57
|
+
description="Refactor authentication module",
|
|
58
|
+
context=source_code,
|
|
59
|
+
files=["auth.py", "session.py"]
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
if score.complexity_level == TaskComplexity.VERY_COMPLEX:
|
|
63
|
+
use_premium_model()
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
def __init__(self):
|
|
67
|
+
"""Initialize complexity scorer."""
|
|
68
|
+
if tiktoken:
|
|
69
|
+
self.tokenizer = tiktoken.get_encoding("cl100k_base")
|
|
70
|
+
else:
|
|
71
|
+
self.tokenizer = None
|
|
72
|
+
|
|
73
|
+
def score_task(
|
|
74
|
+
self,
|
|
75
|
+
description: str,
|
|
76
|
+
context: str | None = None,
|
|
77
|
+
files: list[str] | None = None,
|
|
78
|
+
) -> ComplexityScore:
|
|
79
|
+
"""Score task complexity.
|
|
80
|
+
|
|
81
|
+
Args:
|
|
82
|
+
description: Task description
|
|
83
|
+
context: Optional context (code, docs, etc.)
|
|
84
|
+
files: Optional list of file paths
|
|
85
|
+
|
|
86
|
+
Returns:
|
|
87
|
+
ComplexityScore with classification and metrics
|
|
88
|
+
"""
|
|
89
|
+
# Count tokens
|
|
90
|
+
if self.tokenizer:
|
|
91
|
+
token_count = len(self.tokenizer.encode(description))
|
|
92
|
+
if context:
|
|
93
|
+
token_count += len(self.tokenizer.encode(context))
|
|
94
|
+
else:
|
|
95
|
+
# Fallback: rough estimate (4 chars per token)
|
|
96
|
+
token_count = len(description) // 4
|
|
97
|
+
if context:
|
|
98
|
+
token_count += len(context) // 4
|
|
99
|
+
|
|
100
|
+
# Count lines of code
|
|
101
|
+
line_count = 0
|
|
102
|
+
if context:
|
|
103
|
+
line_count = len(context.split("\n"))
|
|
104
|
+
|
|
105
|
+
# Count files
|
|
106
|
+
file_count = len(files) if files else 0
|
|
107
|
+
|
|
108
|
+
# Determine complexity level using thresholds
|
|
109
|
+
if token_count < 100 and line_count < 50:
|
|
110
|
+
complexity = TaskComplexity.SIMPLE
|
|
111
|
+
elif token_count < 500 and line_count < 200:
|
|
112
|
+
complexity = TaskComplexity.MODERATE
|
|
113
|
+
elif token_count < 2000 and line_count < 1000:
|
|
114
|
+
complexity = TaskComplexity.COMPLEX
|
|
115
|
+
else:
|
|
116
|
+
complexity = TaskComplexity.VERY_COMPLEX
|
|
117
|
+
|
|
118
|
+
# Confidence is moderate for simple heuristics
|
|
119
|
+
confidence = 0.8 if self.tokenizer else 0.6
|
|
120
|
+
|
|
121
|
+
return ComplexityScore(
|
|
122
|
+
token_count=token_count,
|
|
123
|
+
line_count=line_count,
|
|
124
|
+
file_count=file_count,
|
|
125
|
+
complexity_level=complexity,
|
|
126
|
+
confidence=confidence,
|
|
127
|
+
)
|