empathy-framework 2.4.0__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.
Files changed (329) hide show
  1. coach_wizards/__init__.py +13 -12
  2. coach_wizards/accessibility_wizard.py +12 -12
  3. coach_wizards/api_wizard.py +12 -12
  4. coach_wizards/base_wizard.py +26 -20
  5. coach_wizards/cicd_wizard.py +15 -13
  6. coach_wizards/code_reviewer_README.md +60 -0
  7. coach_wizards/code_reviewer_wizard.py +180 -0
  8. coach_wizards/compliance_wizard.py +12 -12
  9. coach_wizards/database_wizard.py +12 -12
  10. coach_wizards/debugging_wizard.py +12 -12
  11. coach_wizards/documentation_wizard.py +12 -12
  12. coach_wizards/generate_wizards.py +1 -2
  13. coach_wizards/localization_wizard.py +101 -19
  14. coach_wizards/migration_wizard.py +12 -12
  15. coach_wizards/monitoring_wizard.py +12 -12
  16. coach_wizards/observability_wizard.py +12 -12
  17. coach_wizards/performance_wizard.py +12 -12
  18. coach_wizards/prompt_engineering_wizard.py +661 -0
  19. coach_wizards/refactoring_wizard.py +12 -12
  20. coach_wizards/scaling_wizard.py +12 -12
  21. coach_wizards/security_wizard.py +12 -12
  22. coach_wizards/testing_wizard.py +12 -12
  23. empathy_framework-3.8.2.dist-info/METADATA +1176 -0
  24. empathy_framework-3.8.2.dist-info/RECORD +333 -0
  25. empathy_framework-3.8.2.dist-info/entry_points.txt +22 -0
  26. {empathy_framework-2.4.0.dist-info → empathy_framework-3.8.2.dist-info}/top_level.txt +5 -1
  27. empathy_healthcare_plugin/__init__.py +1 -2
  28. empathy_healthcare_plugin/monitors/__init__.py +9 -0
  29. empathy_healthcare_plugin/monitors/clinical_protocol_monitor.py +315 -0
  30. empathy_healthcare_plugin/monitors/monitoring/__init__.py +44 -0
  31. empathy_healthcare_plugin/monitors/monitoring/protocol_checker.py +300 -0
  32. empathy_healthcare_plugin/monitors/monitoring/protocol_loader.py +214 -0
  33. empathy_healthcare_plugin/monitors/monitoring/sensor_parsers.py +306 -0
  34. empathy_healthcare_plugin/monitors/monitoring/trajectory_analyzer.py +389 -0
  35. empathy_llm_toolkit/__init__.py +7 -7
  36. empathy_llm_toolkit/agent_factory/__init__.py +53 -0
  37. empathy_llm_toolkit/agent_factory/adapters/__init__.py +85 -0
  38. empathy_llm_toolkit/agent_factory/adapters/autogen_adapter.py +312 -0
  39. empathy_llm_toolkit/agent_factory/adapters/crewai_adapter.py +454 -0
  40. empathy_llm_toolkit/agent_factory/adapters/haystack_adapter.py +298 -0
  41. empathy_llm_toolkit/agent_factory/adapters/langchain_adapter.py +362 -0
  42. empathy_llm_toolkit/agent_factory/adapters/langgraph_adapter.py +333 -0
  43. empathy_llm_toolkit/agent_factory/adapters/native.py +228 -0
  44. empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +426 -0
  45. empathy_llm_toolkit/agent_factory/base.py +305 -0
  46. empathy_llm_toolkit/agent_factory/crews/__init__.py +67 -0
  47. empathy_llm_toolkit/agent_factory/crews/code_review.py +1113 -0
  48. empathy_llm_toolkit/agent_factory/crews/health_check.py +1246 -0
  49. empathy_llm_toolkit/agent_factory/crews/refactoring.py +1128 -0
  50. empathy_llm_toolkit/agent_factory/crews/security_audit.py +1018 -0
  51. empathy_llm_toolkit/agent_factory/decorators.py +286 -0
  52. empathy_llm_toolkit/agent_factory/factory.py +558 -0
  53. empathy_llm_toolkit/agent_factory/framework.py +192 -0
  54. empathy_llm_toolkit/agent_factory/memory_integration.py +324 -0
  55. empathy_llm_toolkit/agent_factory/resilient.py +320 -0
  56. empathy_llm_toolkit/claude_memory.py +14 -15
  57. empathy_llm_toolkit/cli/__init__.py +8 -0
  58. empathy_llm_toolkit/cli/sync_claude.py +487 -0
  59. empathy_llm_toolkit/code_health.py +186 -28
  60. empathy_llm_toolkit/config/__init__.py +29 -0
  61. empathy_llm_toolkit/config/unified.py +295 -0
  62. empathy_llm_toolkit/contextual_patterns.py +11 -12
  63. empathy_llm_toolkit/core.py +168 -53
  64. empathy_llm_toolkit/git_pattern_extractor.py +17 -13
  65. empathy_llm_toolkit/levels.py +6 -13
  66. empathy_llm_toolkit/pattern_confidence.py +14 -18
  67. empathy_llm_toolkit/pattern_resolver.py +10 -12
  68. empathy_llm_toolkit/pattern_summary.py +16 -14
  69. empathy_llm_toolkit/providers.py +194 -28
  70. empathy_llm_toolkit/routing/__init__.py +32 -0
  71. empathy_llm_toolkit/routing/model_router.py +362 -0
  72. empathy_llm_toolkit/security/IMPLEMENTATION_SUMMARY.md +413 -0
  73. empathy_llm_toolkit/security/PHASE2_COMPLETE.md +384 -0
  74. empathy_llm_toolkit/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md +271 -0
  75. empathy_llm_toolkit/security/QUICK_REFERENCE.md +316 -0
  76. empathy_llm_toolkit/security/README.md +262 -0
  77. empathy_llm_toolkit/security/__init__.py +62 -0
  78. empathy_llm_toolkit/security/audit_logger.py +929 -0
  79. empathy_llm_toolkit/security/audit_logger_example.py +152 -0
  80. empathy_llm_toolkit/security/pii_scrubber.py +640 -0
  81. empathy_llm_toolkit/security/secrets_detector.py +678 -0
  82. empathy_llm_toolkit/security/secrets_detector_example.py +304 -0
  83. empathy_llm_toolkit/security/secure_memdocs.py +1192 -0
  84. empathy_llm_toolkit/security/secure_memdocs_example.py +278 -0
  85. empathy_llm_toolkit/session_status.py +20 -22
  86. empathy_llm_toolkit/state.py +28 -21
  87. empathy_llm_toolkit/wizards/__init__.py +38 -0
  88. empathy_llm_toolkit/wizards/base_wizard.py +364 -0
  89. empathy_llm_toolkit/wizards/customer_support_wizard.py +190 -0
  90. empathy_llm_toolkit/wizards/healthcare_wizard.py +362 -0
  91. empathy_llm_toolkit/wizards/patient_assessment_README.md +64 -0
  92. empathy_llm_toolkit/wizards/patient_assessment_wizard.py +193 -0
  93. empathy_llm_toolkit/wizards/technology_wizard.py +194 -0
  94. empathy_os/__init__.py +125 -84
  95. empathy_os/adaptive/__init__.py +13 -0
  96. empathy_os/adaptive/task_complexity.py +127 -0
  97. empathy_os/{monitoring.py → agent_monitoring.py} +28 -28
  98. empathy_os/cache/__init__.py +117 -0
  99. empathy_os/cache/base.py +166 -0
  100. empathy_os/cache/dependency_manager.py +253 -0
  101. empathy_os/cache/hash_only.py +248 -0
  102. empathy_os/cache/hybrid.py +390 -0
  103. empathy_os/cache/storage.py +282 -0
  104. empathy_os/cli.py +1516 -70
  105. empathy_os/cli_unified.py +597 -0
  106. empathy_os/config/__init__.py +63 -0
  107. empathy_os/config/xml_config.py +239 -0
  108. empathy_os/config.py +95 -37
  109. empathy_os/coordination.py +72 -68
  110. empathy_os/core.py +94 -107
  111. empathy_os/cost_tracker.py +74 -55
  112. empathy_os/dashboard/__init__.py +15 -0
  113. empathy_os/dashboard/server.py +743 -0
  114. empathy_os/discovery.py +17 -14
  115. empathy_os/emergence.py +21 -22
  116. empathy_os/exceptions.py +18 -30
  117. empathy_os/feedback_loops.py +30 -33
  118. empathy_os/levels.py +32 -35
  119. empathy_os/leverage_points.py +31 -32
  120. empathy_os/logging_config.py +19 -16
  121. empathy_os/memory/__init__.py +195 -0
  122. empathy_os/memory/claude_memory.py +466 -0
  123. empathy_os/memory/config.py +224 -0
  124. empathy_os/memory/control_panel.py +1298 -0
  125. empathy_os/memory/edges.py +179 -0
  126. empathy_os/memory/graph.py +567 -0
  127. empathy_os/memory/long_term.py +1194 -0
  128. empathy_os/memory/nodes.py +179 -0
  129. empathy_os/memory/redis_bootstrap.py +540 -0
  130. empathy_os/memory/security/__init__.py +31 -0
  131. empathy_os/memory/security/audit_logger.py +930 -0
  132. empathy_os/memory/security/pii_scrubber.py +640 -0
  133. empathy_os/memory/security/secrets_detector.py +678 -0
  134. empathy_os/memory/short_term.py +2119 -0
  135. empathy_os/memory/storage/__init__.py +15 -0
  136. empathy_os/memory/summary_index.py +583 -0
  137. empathy_os/memory/unified.py +619 -0
  138. empathy_os/metrics/__init__.py +12 -0
  139. empathy_os/metrics/prompt_metrics.py +190 -0
  140. empathy_os/models/__init__.py +136 -0
  141. empathy_os/models/__main__.py +13 -0
  142. empathy_os/models/cli.py +655 -0
  143. empathy_os/models/empathy_executor.py +354 -0
  144. empathy_os/models/executor.py +252 -0
  145. empathy_os/models/fallback.py +671 -0
  146. empathy_os/models/provider_config.py +563 -0
  147. empathy_os/models/registry.py +382 -0
  148. empathy_os/models/tasks.py +302 -0
  149. empathy_os/models/telemetry.py +548 -0
  150. empathy_os/models/token_estimator.py +378 -0
  151. empathy_os/models/validation.py +274 -0
  152. empathy_os/monitoring/__init__.py +52 -0
  153. empathy_os/monitoring/alerts.py +23 -0
  154. empathy_os/monitoring/alerts_cli.py +268 -0
  155. empathy_os/monitoring/multi_backend.py +271 -0
  156. empathy_os/monitoring/otel_backend.py +363 -0
  157. empathy_os/optimization/__init__.py +19 -0
  158. empathy_os/optimization/context_optimizer.py +272 -0
  159. empathy_os/pattern_library.py +30 -29
  160. empathy_os/persistence.py +35 -37
  161. empathy_os/platform_utils.py +261 -0
  162. empathy_os/plugins/__init__.py +28 -0
  163. empathy_os/plugins/base.py +361 -0
  164. empathy_os/plugins/registry.py +268 -0
  165. empathy_os/project_index/__init__.py +30 -0
  166. empathy_os/project_index/cli.py +335 -0
  167. empathy_os/project_index/crew_integration.py +430 -0
  168. empathy_os/project_index/index.py +425 -0
  169. empathy_os/project_index/models.py +501 -0
  170. empathy_os/project_index/reports.py +473 -0
  171. empathy_os/project_index/scanner.py +538 -0
  172. empathy_os/prompts/__init__.py +61 -0
  173. empathy_os/prompts/config.py +77 -0
  174. empathy_os/prompts/context.py +177 -0
  175. empathy_os/prompts/parser.py +285 -0
  176. empathy_os/prompts/registry.py +313 -0
  177. empathy_os/prompts/templates.py +208 -0
  178. empathy_os/redis_config.py +144 -58
  179. empathy_os/redis_memory.py +79 -77
  180. empathy_os/resilience/__init__.py +56 -0
  181. empathy_os/resilience/circuit_breaker.py +256 -0
  182. empathy_os/resilience/fallback.py +179 -0
  183. empathy_os/resilience/health.py +300 -0
  184. empathy_os/resilience/retry.py +209 -0
  185. empathy_os/resilience/timeout.py +135 -0
  186. empathy_os/routing/__init__.py +43 -0
  187. empathy_os/routing/chain_executor.py +433 -0
  188. empathy_os/routing/classifier.py +217 -0
  189. empathy_os/routing/smart_router.py +234 -0
  190. empathy_os/routing/wizard_registry.py +307 -0
  191. empathy_os/templates.py +19 -14
  192. empathy_os/trust/__init__.py +28 -0
  193. empathy_os/trust/circuit_breaker.py +579 -0
  194. empathy_os/trust_building.py +67 -58
  195. empathy_os/validation/__init__.py +19 -0
  196. empathy_os/validation/xml_validator.py +281 -0
  197. empathy_os/wizard_factory_cli.py +170 -0
  198. empathy_os/{workflows.py → workflow_commands.py} +131 -37
  199. empathy_os/workflows/__init__.py +360 -0
  200. empathy_os/workflows/base.py +1660 -0
  201. empathy_os/workflows/bug_predict.py +962 -0
  202. empathy_os/workflows/code_review.py +960 -0
  203. empathy_os/workflows/code_review_adapters.py +310 -0
  204. empathy_os/workflows/code_review_pipeline.py +720 -0
  205. empathy_os/workflows/config.py +600 -0
  206. empathy_os/workflows/dependency_check.py +648 -0
  207. empathy_os/workflows/document_gen.py +1069 -0
  208. empathy_os/workflows/documentation_orchestrator.py +1205 -0
  209. empathy_os/workflows/health_check.py +679 -0
  210. empathy_os/workflows/keyboard_shortcuts/__init__.py +39 -0
  211. empathy_os/workflows/keyboard_shortcuts/generators.py +386 -0
  212. empathy_os/workflows/keyboard_shortcuts/parsers.py +414 -0
  213. empathy_os/workflows/keyboard_shortcuts/prompts.py +295 -0
  214. empathy_os/workflows/keyboard_shortcuts/schema.py +193 -0
  215. empathy_os/workflows/keyboard_shortcuts/workflow.py +505 -0
  216. empathy_os/workflows/manage_documentation.py +804 -0
  217. empathy_os/workflows/new_sample_workflow1.py +146 -0
  218. empathy_os/workflows/new_sample_workflow1_README.md +150 -0
  219. empathy_os/workflows/perf_audit.py +687 -0
  220. empathy_os/workflows/pr_review.py +748 -0
  221. empathy_os/workflows/progress.py +445 -0
  222. empathy_os/workflows/progress_server.py +322 -0
  223. empathy_os/workflows/refactor_plan.py +693 -0
  224. empathy_os/workflows/release_prep.py +808 -0
  225. empathy_os/workflows/research_synthesis.py +404 -0
  226. empathy_os/workflows/secure_release.py +585 -0
  227. empathy_os/workflows/security_adapters.py +297 -0
  228. empathy_os/workflows/security_audit.py +1046 -0
  229. empathy_os/workflows/step_config.py +234 -0
  230. empathy_os/workflows/test5.py +125 -0
  231. empathy_os/workflows/test5_README.md +158 -0
  232. empathy_os/workflows/test_gen.py +1855 -0
  233. empathy_os/workflows/test_lifecycle.py +526 -0
  234. empathy_os/workflows/test_maintenance.py +626 -0
  235. empathy_os/workflows/test_maintenance_cli.py +590 -0
  236. empathy_os/workflows/test_maintenance_crew.py +821 -0
  237. empathy_os/workflows/xml_enhanced_crew.py +285 -0
  238. empathy_software_plugin/__init__.py +1 -2
  239. empathy_software_plugin/cli/__init__.py +120 -0
  240. empathy_software_plugin/cli/inspect.py +362 -0
  241. empathy_software_plugin/cli.py +49 -27
  242. empathy_software_plugin/plugin.py +4 -8
  243. empathy_software_plugin/wizards/__init__.py +42 -0
  244. empathy_software_plugin/wizards/advanced_debugging_wizard.py +392 -0
  245. empathy_software_plugin/wizards/agent_orchestration_wizard.py +511 -0
  246. empathy_software_plugin/wizards/ai_collaboration_wizard.py +503 -0
  247. empathy_software_plugin/wizards/ai_context_wizard.py +441 -0
  248. empathy_software_plugin/wizards/ai_documentation_wizard.py +503 -0
  249. empathy_software_plugin/wizards/base_wizard.py +288 -0
  250. empathy_software_plugin/wizards/book_chapter_wizard.py +519 -0
  251. empathy_software_plugin/wizards/code_review_wizard.py +606 -0
  252. empathy_software_plugin/wizards/debugging/__init__.py +50 -0
  253. empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +414 -0
  254. empathy_software_plugin/wizards/debugging/config_loaders.py +442 -0
  255. empathy_software_plugin/wizards/debugging/fix_applier.py +469 -0
  256. empathy_software_plugin/wizards/debugging/language_patterns.py +383 -0
  257. empathy_software_plugin/wizards/debugging/linter_parsers.py +470 -0
  258. empathy_software_plugin/wizards/debugging/verification.py +369 -0
  259. empathy_software_plugin/wizards/enhanced_testing_wizard.py +537 -0
  260. empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +816 -0
  261. empathy_software_plugin/wizards/multi_model_wizard.py +501 -0
  262. empathy_software_plugin/wizards/pattern_extraction_wizard.py +422 -0
  263. empathy_software_plugin/wizards/pattern_retriever_wizard.py +400 -0
  264. empathy_software_plugin/wizards/performance/__init__.py +9 -0
  265. empathy_software_plugin/wizards/performance/bottleneck_detector.py +221 -0
  266. empathy_software_plugin/wizards/performance/profiler_parsers.py +278 -0
  267. empathy_software_plugin/wizards/performance/trajectory_analyzer.py +429 -0
  268. empathy_software_plugin/wizards/performance_profiling_wizard.py +305 -0
  269. empathy_software_plugin/wizards/prompt_engineering_wizard.py +425 -0
  270. empathy_software_plugin/wizards/rag_pattern_wizard.py +461 -0
  271. empathy_software_plugin/wizards/security/__init__.py +32 -0
  272. empathy_software_plugin/wizards/security/exploit_analyzer.py +290 -0
  273. empathy_software_plugin/wizards/security/owasp_patterns.py +241 -0
  274. empathy_software_plugin/wizards/security/vulnerability_scanner.py +604 -0
  275. empathy_software_plugin/wizards/security_analysis_wizard.py +322 -0
  276. empathy_software_plugin/wizards/security_learning_wizard.py +740 -0
  277. empathy_software_plugin/wizards/tech_debt_wizard.py +726 -0
  278. empathy_software_plugin/wizards/testing/__init__.py +27 -0
  279. empathy_software_plugin/wizards/testing/coverage_analyzer.py +459 -0
  280. empathy_software_plugin/wizards/testing/quality_analyzer.py +531 -0
  281. empathy_software_plugin/wizards/testing/test_suggester.py +533 -0
  282. empathy_software_plugin/wizards/testing_wizard.py +274 -0
  283. hot_reload/README.md +473 -0
  284. hot_reload/__init__.py +62 -0
  285. hot_reload/config.py +84 -0
  286. hot_reload/integration.py +228 -0
  287. hot_reload/reloader.py +298 -0
  288. hot_reload/watcher.py +179 -0
  289. hot_reload/websocket.py +176 -0
  290. scaffolding/README.md +589 -0
  291. scaffolding/__init__.py +35 -0
  292. scaffolding/__main__.py +14 -0
  293. scaffolding/cli.py +240 -0
  294. test_generator/__init__.py +38 -0
  295. test_generator/__main__.py +14 -0
  296. test_generator/cli.py +226 -0
  297. test_generator/generator.py +325 -0
  298. test_generator/risk_analyzer.py +216 -0
  299. workflow_patterns/__init__.py +33 -0
  300. workflow_patterns/behavior.py +249 -0
  301. workflow_patterns/core.py +76 -0
  302. workflow_patterns/output.py +99 -0
  303. workflow_patterns/registry.py +255 -0
  304. workflow_patterns/structural.py +288 -0
  305. workflow_scaffolding/__init__.py +11 -0
  306. workflow_scaffolding/__main__.py +12 -0
  307. workflow_scaffolding/cli.py +206 -0
  308. workflow_scaffolding/generator.py +265 -0
  309. agents/code_inspection/patterns/inspection/recurring_B112.json +0 -18
  310. agents/code_inspection/patterns/inspection/recurring_F541.json +0 -16
  311. agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -25
  312. agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -16
  313. agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -16
  314. agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -16
  315. agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -16
  316. agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -16
  317. agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -16
  318. agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -16
  319. agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -16
  320. agents/compliance_anticipation_agent.py +0 -1427
  321. agents/epic_integration_wizard.py +0 -541
  322. agents/trust_building_behaviors.py +0 -891
  323. empathy_framework-2.4.0.dist-info/METADATA +0 -485
  324. empathy_framework-2.4.0.dist-info/RECORD +0 -102
  325. empathy_framework-2.4.0.dist-info/entry_points.txt +0 -6
  326. empathy_llm_toolkit/htmlcov/status.json +0 -1
  327. empathy_llm_toolkit/security/htmlcov/status.json +0 -1
  328. {empathy_framework-2.4.0.dist-info → empathy_framework-3.8.2.dist-info}/WHEEL +0 -0
  329. {empathy_framework-2.4.0.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,17 +1,65 @@
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.
6
5
 
6
+ QUICK START:
7
+ from empathy_os import EmpathyOS
8
+
9
+ # Create an EmpathyOS instance
10
+ empathy = EmpathyOS(user_id="developer@company.com")
11
+
12
+ # Use Level 4 (Anticipatory) for predictions
13
+ response = empathy.level_4_anticipatory(
14
+ user_input="How do I optimize database queries?",
15
+ context={"domain": "software"},
16
+ history=[]
17
+ )
18
+
19
+ print(f"Response: {response['response']}")
20
+ print(f"Predictions: {response.get('predictions', [])}")
21
+
22
+ # Store patterns in memory
23
+ empathy.stash("session_context", {"topic": "database optimization"})
24
+ empathy.persist_pattern(
25
+ content="Query optimization technique",
26
+ pattern_type="technique"
27
+ )
28
+
29
+ MEMORY OPERATIONS:
30
+ from empathy_os import UnifiedMemory, Classification
31
+
32
+ # Initialize unified memory (auto-detects environment)
33
+ memory = UnifiedMemory(user_id="agent@company.com")
34
+
35
+ # Short-term (Redis-backed, TTL-based)
36
+ memory.stash("working_data", {"status": "processing"})
37
+ data = memory.retrieve("working_data")
38
+
39
+ # Long-term (persistent, classified)
40
+ result = memory.persist_pattern(
41
+ content="Optimization algorithm for X",
42
+ pattern_type="algorithm",
43
+ classification=Classification.INTERNAL,
44
+ )
45
+ pattern = memory.recall_pattern(result["pattern_id"])
46
+
47
+ KEY EXPORTS:
48
+ - EmpathyOS: Main orchestration class
49
+ - UnifiedMemory: Two-tier memory (short + long term)
50
+ - MemoryConfig, Environment: Memory configuration
51
+ - Classification, AccessTier: Security/access enums
52
+ - Level1-5 classes: Empathy level implementations
53
+
7
54
  Copyright 2025 Smart AI Memory, LLC
8
55
  Licensed under Fair Source 0.9
9
56
  """
10
57
 
11
- __version__ = "1.0.0-beta"
58
+ __version__ = "3.8.2"
12
59
  __author__ = "Patrick Roebuck"
13
60
  __email__ = "hello@deepstudy.ai"
14
61
 
62
+ from .agent_monitoring import AgentMetrics, AgentMonitor, TeamMetrics
15
63
  from .config import EmpathyConfig, load_config
16
64
  from .coordination import (
17
65
  AgentCoordinator,
@@ -36,20 +84,14 @@ from .exceptions import (
36
84
  ValidationError,
37
85
  )
38
86
  from .feedback_loops import FeedbackLoopDetector
39
- from .levels import (
40
- Level1Reactive,
41
- Level2Guided,
42
- Level3Proactive,
43
- Level4Anticipatory,
44
- Level5Systems,
45
- )
87
+ from .levels import Level1Reactive, Level2Guided, Level3Proactive, Level4Anticipatory, Level5Systems
46
88
  from .leverage_points import LeveragePointAnalyzer
47
89
  from .logging_config import LoggingConfig, get_logger
48
90
 
49
91
  # Memory module (unified short-term + long-term + security)
50
- from .memory import ( # Short-term (Redis); Security - Audit; Claude Memory; Security - PII; Security - Secrets; Long-term (Persistent); Unified Memory Interface (recommended); Configuration
92
+ from .memory import (
51
93
  AccessTier,
52
- AgentCredentials,
94
+ AgentCredentials, # Memory module imports
53
95
  AuditEvent,
54
96
  AuditLogger,
55
97
  Classification,
@@ -84,100 +126,99 @@ from .memory import ( # Short-term (Redis); Security - Audit; Claude Memory; Se
84
126
  get_redis_config,
85
127
  get_redis_memory,
86
128
  )
87
- from .monitoring import AgentMetrics, AgentMonitor, TeamMetrics
88
129
  from .pattern_library import Pattern, PatternLibrary, PatternMatch
89
130
  from .persistence import MetricsCollector, PatternPersistence, StateManager
90
131
  from .trust_building import TrustBuildingBehaviors
91
132
 
92
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",
93
160
  "EmpathyOS",
94
- # Unified Memory Interface
95
- "UnifiedMemory",
96
- "MemoryConfig",
161
+ "EncryptionManager",
97
162
  "Environment",
163
+ "FeedbackLoopDetector",
164
+ "FeedbackLoopError",
98
165
  "Level1Reactive",
99
166
  "Level2Guided",
100
167
  "Level3Proactive",
101
168
  "Level4Anticipatory",
102
169
  "Level5Systems",
103
- "FeedbackLoopDetector",
104
170
  "LeveragePointAnalyzer",
105
- "EmergenceDetector",
171
+ "LeveragePointError",
172
+ "LoggingConfig",
173
+ "MemDocsStorage",
174
+ "MemoryConfig",
175
+ "MemoryPermissionError",
176
+ "MetricsCollector",
177
+ "PIIDetection",
178
+ "PIIPattern",
179
+ # Security - PII
180
+ "PIIScrubber",
181
+ "Pattern",
106
182
  # Pattern Library
107
183
  "PatternLibrary",
108
- "Pattern",
109
184
  "PatternMatch",
110
- # Coordination (Multi-Agent)
111
- "ConflictResolver",
112
- "ResolutionResult",
113
- "ResolutionStrategy",
114
- "TeamPriorities",
115
- "AgentCoordinator",
116
- "AgentTask",
117
- "TeamSession",
118
- # Monitoring (Multi-Agent)
119
- "AgentMonitor",
120
- "AgentMetrics",
121
- "TeamMetrics",
122
- # Redis Short-Term Memory
123
- "RedisShortTermMemory",
124
- "AccessTier",
125
- "AgentCredentials",
126
- "StagedPattern",
127
- "ConflictContext",
128
- "TTLStrategy",
129
- # Redis Configuration
130
- "get_redis_memory",
131
- "get_redis_config",
132
- "get_railway_redis",
133
- "check_redis_connection",
134
- # Trust
135
- "TrustBuildingBehaviors",
185
+ "PatternMetadata",
186
+ "PatternNotFoundError",
136
187
  # Persistence
137
188
  "PatternPersistence",
138
- "StateManager",
139
- "MetricsCollector",
140
- # Configuration
141
- "EmpathyConfig",
142
- "load_config",
143
- # Logging
144
- "get_logger",
145
- "LoggingConfig",
146
- # Exceptions
147
- "EmpathyFrameworkError",
148
- "ValidationError",
149
- "PatternNotFoundError",
150
- "TrustThresholdError",
151
- "ConfidenceThresholdError",
152
- "EmpathyLevelError",
153
- "LeveragePointError",
154
- "FeedbackLoopError",
155
- "CollaborationStateError",
189
+ # Redis Short-Term Memory
190
+ "RedisShortTermMemory",
191
+ "ResolutionResult",
192
+ "ResolutionStrategy",
193
+ "SecretDetection",
194
+ "SecretType",
195
+ # Security - Secrets
196
+ "SecretsDetector",
156
197
  # Long-term Memory
157
198
  "SecureMemDocsIntegration",
158
- "Classification",
159
- "ClassificationRules",
160
- "PatternMetadata",
161
199
  "SecurePattern",
162
- "MemDocsStorage",
163
- "EncryptionManager",
164
200
  "SecurityError",
165
- "MemoryPermissionError",
166
- # Claude Memory
167
- "ClaudeMemoryConfig",
168
- "ClaudeMemoryLoader",
169
- # Security - PII
170
- "PIIScrubber",
171
- "PIIDetection",
172
- "PIIPattern",
173
- # Security - Secrets
174
- "SecretsDetector",
175
- "SecretDetection",
176
- "SecretType",
201
+ "SecurityViolation",
177
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",
178
216
  "detect_secrets",
179
- # Security - Audit
180
- "AuditLogger",
181
- "AuditEvent",
182
- "SecurityViolation",
217
+ # Logging
218
+ "get_logger",
219
+ "get_railway_redis",
220
+ "get_redis_config",
221
+ # Redis Configuration
222
+ "get_redis_memory",
223
+ "load_config",
183
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
+ )