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.
Files changed (328) hide show
  1. coach_wizards/__init__.py +11 -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 +22 -25
  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.2.3.dist-info → empathy_framework-3.8.2.dist-info}/METADATA +513 -58
  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-3.2.3.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 +177 -22
  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 +51 -49
  64. empathy_llm_toolkit/git_pattern_extractor.py +16 -12
  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 +13 -11
  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 +18 -20
  86. empathy_llm_toolkit/state.py +20 -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 +76 -77
  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} +27 -27
  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 +515 -109
  105. empathy_os/cli_unified.py +189 -42
  106. empathy_os/config/__init__.py +63 -0
  107. empathy_os/config/xml_config.py +239 -0
  108. empathy_os/config.py +87 -36
  109. empathy_os/coordination.py +48 -54
  110. empathy_os/core.py +90 -99
  111. empathy_os/cost_tracker.py +20 -23
  112. empathy_os/dashboard/__init__.py +15 -0
  113. empathy_os/dashboard/server.py +743 -0
  114. empathy_os/discovery.py +9 -11
  115. empathy_os/emergence.py +20 -21
  116. empathy_os/exceptions.py +18 -30
  117. empathy_os/feedback_loops.py +27 -30
  118. empathy_os/levels.py +31 -34
  119. empathy_os/leverage_points.py +27 -28
  120. empathy_os/logging_config.py +11 -12
  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 +29 -28
  160. empathy_os/persistence.py +30 -34
  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 +53 -56
  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 +12 -11
  192. empathy_os/trust/__init__.py +28 -0
  193. empathy_os/trust/circuit_breaker.py +579 -0
  194. empathy_os/trust_building.py +44 -36
  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} +123 -31
  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 +35 -26
  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-3.2.3.dist-info/RECORD +0 -104
  324. empathy_framework-3.2.3.dist-info/entry_points.txt +0 -7
  325. empathy_llm_toolkit/htmlcov/status.json +0 -1
  326. empathy_llm_toolkit/security/htmlcov/status.json +0 -1
  327. {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/WHEEL +0 -0
  328. {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__ = "1.0.0-beta"
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 ( # Memory module imports
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
- # Unified Memory Interface
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
- "EmergenceDetector",
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
- # Coordination (Multi-Agent)
153
- "ConflictResolver",
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
- "StateManager",
181
- "MetricsCollector",
182
- # Configuration
183
- "EmpathyConfig",
184
- "load_config",
185
- # Logging
186
- "get_logger",
187
- "LoggingConfig",
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
- "MemoryPermissionError",
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
- # Security - Audit
222
- "AuditLogger",
223
- "AuditEvent",
224
- "SecurityViolation",
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
+ )