empathy-framework 3.3.2__py3-none-any.whl → 3.3.3__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.
- {empathy_framework-3.3.2.dist-info → empathy_framework-3.3.3.dist-info}/METADATA +1 -1
- {empathy_framework-3.3.2.dist-info → empathy_framework-3.3.3.dist-info}/RECORD +10 -10
- empathy_os/__init__.py +51 -51
- empathy_os/config.py +24 -2
- empathy_os/workflow_commands.py +2 -2
- empathy_software_plugin/cli.py +3 -1
- {empathy_framework-3.3.2.dist-info → empathy_framework-3.3.3.dist-info}/WHEEL +0 -0
- {empathy_framework-3.3.2.dist-info → empathy_framework-3.3.3.dist-info}/entry_points.txt +0 -0
- {empathy_framework-3.3.2.dist-info → empathy_framework-3.3.3.dist-info}/licenses/LICENSE +0 -0
- {empathy_framework-3.3.2.dist-info → empathy_framework-3.3.3.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: empathy-framework
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.3
|
|
4
4
|
Summary: AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration
|
|
5
5
|
Author-email: Patrick Roebuck <patrick.roebuck@smartAImemory.com>
|
|
6
6
|
Maintainer-email: Smart-AI-Memory <patrick.roebuck@smartAImemory.com>
|
|
@@ -32,7 +32,7 @@ coach_wizards/refactoring_wizard.py,sha256=1AuRyX45KI63n_-fvvbRXamqvPbrB-O1B7TPP
|
|
|
32
32
|
coach_wizards/scaling_wizard.py,sha256=yLULCkflLoBKS4hOSBPQuKKGBGHgKExnuEp5WLTIY-8,2596
|
|
33
33
|
coach_wizards/security_wizard.py,sha256=tr1iq0egAMLCM-wOFhTDN5dHQRFuhSshXSkv17Jm7eM,2603
|
|
34
34
|
coach_wizards/testing_wizard.py,sha256=M2RtaTa1WHsk42svJAEZpLySU3PXJJZn2jigouMJrG0,2561
|
|
35
|
-
empathy_framework-3.3.
|
|
35
|
+
empathy_framework-3.3.3.dist-info/licenses/LICENSE,sha256=IJ9eeI5KSrD5P7alsn7sI_6_1bDihxBA5S4Sen4jf2k,4937
|
|
36
36
|
empathy_healthcare_plugin/__init__.py,sha256=FvVcD7WQTlmCCLgSPfM-FPT2l-ma1oAACBZWhtYFAUA,296
|
|
37
37
|
empathy_healthcare_plugin/protocols/cardiac.json,sha256=uShOvI2RQJYLZacLT2R_aHfsjvJdyCu_gYfpMfK3N74,2088
|
|
38
38
|
empathy_healthcare_plugin/protocols/post_operative.json,sha256=nqh3ydPY8FNSLv-Q3QmH8Dsyc1c4LvQxUSP84B8W6xk,2021
|
|
@@ -54,10 +54,10 @@ empathy_llm_toolkit/session_status.py,sha256=pJwqHwbVwR2Q6coRkB_34CWRCMoF-r4-YBt
|
|
|
54
54
|
empathy_llm_toolkit/state.py,sha256=oi8bPqUHkmfgkfT4_4eD1ndIGH_THyLQDYlIWZLUx5s,8051
|
|
55
55
|
empathy_llm_toolkit/htmlcov/status.json,sha256=emOFm_dTJcNl_Bw_lh62qNbnU6yzhne8TWlQkrPVdrk,8544
|
|
56
56
|
empathy_llm_toolkit/security/htmlcov/status.json,sha256=ELS9bn59azqfEyyokI-nV4gQLPQh4bVwHsmhVbdrKYI,4402
|
|
57
|
-
empathy_os/__init__.py,sha256=
|
|
57
|
+
empathy_os/__init__.py,sha256=4WGijLjIQ6xHlSWxl5hb9FxTU-EJB1-Kel7gf3LcQMI,7069
|
|
58
58
|
empathy_os/cli.py,sha256=k3r_0as7mtOPnLyp3cNKRQiLSKYJqFlmYuRuhdiRrwM,87001
|
|
59
59
|
empathy_os/cli_unified.py,sha256=TvfsheONim8ETegZo3KJA2vBtFD0fn0rRikUz83w1Dg,14021
|
|
60
|
-
empathy_os/config.py,sha256=
|
|
60
|
+
empathy_os/config.py,sha256=tPM9gsVE0y8DsC_cxfZxyngq2cKiWN1F6ezKGKON5jI,13709
|
|
61
61
|
empathy_os/coordination.py,sha256=0jKt2DzzJmFjpXJs4pMXBcUktCFHsa9i3rkXzXxykGk,28656
|
|
62
62
|
empathy_os/core.py,sha256=kL_37DajqIV1_b0ldee8rGG0xUTrSzAqYuQ4dowSxuw,53229
|
|
63
63
|
empathy_os/cost_tracker.py,sha256=VwjkyKEm-gbmyO7wQ88t82RNZfc-LCp0vpK699Giqp0,12575
|
|
@@ -76,10 +76,10 @@ empathy_os/redis_config.py,sha256=L8KoHFwhl-_twSswMfELUgOmANOTPRB9Yj8VXuxfSb4,59
|
|
|
76
76
|
empathy_os/redis_memory.py,sha256=lWS_F4FeDkmEI-jIgkPTzs3D8TTDB0627WsOxYMT-XM,23276
|
|
77
77
|
empathy_os/templates.py,sha256=ap4u9i5O9KA83wWLfoUCS7phDHKb6wj8M1Zcm218lN0,17069
|
|
78
78
|
empathy_os/trust_building.py,sha256=8ZvNwJmeDyKeUIkk_331M9jwKcqrsn6K43gnGtnIXbM,18790
|
|
79
|
-
empathy_os/workflow_commands.py,sha256=
|
|
79
|
+
empathy_os/workflow_commands.py,sha256=ZfACBQKjaAfEZER4yRRsFVw9IfGhhPVGwQyBjD1HUAk,21904
|
|
80
80
|
empathy_software_plugin/SOFTWARE_PLUGIN_README.md,sha256=RXIOB9Mt-8JrfGAA3ZUuRPT34sThubrwUgg5iNcSKIc,22591
|
|
81
81
|
empathy_software_plugin/__init__.py,sha256=Ylyj95pSsoN9Zasam96DH61uBHoMJh3kbhO7k_VaCWo,310
|
|
82
|
-
empathy_software_plugin/cli.py,sha256=
|
|
82
|
+
empathy_software_plugin/cli.py,sha256=N48zwVs4EfGX-69PqhiMJ77H5TS_BpCbLVJ6JTTkypw,22414
|
|
83
83
|
empathy_software_plugin/plugin.py,sha256=NNZTILE5Npo4SahA4F_3awIizLHI32_wWTFAutvmsqQ,6700
|
|
84
84
|
wizards/__init__.py,sha256=5JJ6rtS5mwJtuZIgO2sYHZlCy0XJP2eyyCK5zMD6ZAc,2452
|
|
85
85
|
wizards/admission_assessment_wizard.py,sha256=-Th9bwu6Sd6V2jA4fciK35QpoFc40U1quZHDMdOH93U,23609
|
|
@@ -98,8 +98,8 @@ wizards/sbar_wizard.py,sha256=CJ63JAXwcfBf6C3aYyxY2LODbARP9GPl0ZGJWLbx88E,21790
|
|
|
98
98
|
wizards/shift_handoff_wizard.py,sha256=SkoNB0nLQGg92yz4j1j3NBR2mGVe_rw1pTjOFDy-JH0,19092
|
|
99
99
|
wizards/soap_note_wizard.py,sha256=DBzuuuOvIONhwdfn8jaE4PCuGeKsFwM65XTb6gKFIy4,23572
|
|
100
100
|
wizards/treatment_plan.py,sha256=t2Qk5eCa1gobEUaBztnwem_p9OuJK5BKqJ-Po8vXuns,512
|
|
101
|
-
empathy_framework-3.3.
|
|
102
|
-
empathy_framework-3.3.
|
|
103
|
-
empathy_framework-3.3.
|
|
104
|
-
empathy_framework-3.3.
|
|
105
|
-
empathy_framework-3.3.
|
|
101
|
+
empathy_framework-3.3.3.dist-info/METADATA,sha256=RyG6jGb_KTSrLrIT5ueZ5tckAWXXSTToyR37ePnVPh8,28781
|
|
102
|
+
empathy_framework-3.3.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
103
|
+
empathy_framework-3.3.3.dist-info/entry_points.txt,sha256=zMu7sKCiLndbEEXjTecltS-1P_JZoEUKrifuRBBbroc,1268
|
|
104
|
+
empathy_framework-3.3.3.dist-info/top_level.txt,sha256=8zHB-_f0MI2K55LIEjCeaFNcog3_KgLBa_dDfzE8ESI,110
|
|
105
|
+
empathy_framework-3.3.3.dist-info/RECORD,,
|
empathy_os/__init__.py
CHANGED
|
@@ -62,26 +62,26 @@ __email__ = "hello@deepstudy.ai"
|
|
|
62
62
|
|
|
63
63
|
from .config import EmpathyConfig, load_config
|
|
64
64
|
from .coordination import (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
65
|
+
AgentCoordinator,
|
|
66
|
+
AgentTask,
|
|
67
|
+
ConflictResolver,
|
|
68
|
+
ResolutionResult,
|
|
69
|
+
ResolutionStrategy,
|
|
70
|
+
TeamPriorities,
|
|
71
|
+
TeamSession,
|
|
72
72
|
)
|
|
73
73
|
from .core import EmpathyOS
|
|
74
74
|
from .emergence import EmergenceDetector
|
|
75
75
|
from .exceptions import (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
CollaborationStateError,
|
|
77
|
+
ConfidenceThresholdError,
|
|
78
|
+
EmpathyFrameworkError,
|
|
79
|
+
EmpathyLevelError,
|
|
80
|
+
FeedbackLoopError,
|
|
81
|
+
LeveragePointError,
|
|
82
|
+
PatternNotFoundError,
|
|
83
|
+
TrustThresholdError,
|
|
84
|
+
ValidationError,
|
|
85
85
|
)
|
|
86
86
|
from .feedback_loops import FeedbackLoopDetector
|
|
87
87
|
from .levels import Level1Reactive, Level2Guided, Level3Proactive, Level4Anticipatory, Level5Systems
|
|
@@ -90,41 +90,41 @@ from .logging_config import LoggingConfig, get_logger
|
|
|
90
90
|
|
|
91
91
|
# Memory module (unified short-term + long-term + security)
|
|
92
92
|
from .memory import (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
93
|
+
AccessTier,
|
|
94
|
+
AgentCredentials, # Memory module imports
|
|
95
|
+
AuditEvent,
|
|
96
|
+
AuditLogger,
|
|
97
|
+
Classification,
|
|
98
|
+
ClassificationRules,
|
|
99
|
+
ClaudeMemoryConfig,
|
|
100
|
+
ClaudeMemoryLoader,
|
|
101
|
+
ConflictContext,
|
|
102
|
+
EncryptionManager,
|
|
103
|
+
Environment,
|
|
104
|
+
MemDocsStorage,
|
|
105
|
+
MemoryConfig,
|
|
106
|
+
MemoryPermissionError,
|
|
107
|
+
PatternMetadata,
|
|
108
|
+
PIIDetection,
|
|
109
|
+
PIIPattern,
|
|
110
|
+
PIIScrubber,
|
|
111
|
+
RedisShortTermMemory,
|
|
112
|
+
SecretDetection,
|
|
113
|
+
SecretsDetector,
|
|
114
|
+
SecretType,
|
|
115
|
+
SecureMemDocsIntegration,
|
|
116
|
+
SecurePattern,
|
|
117
|
+
SecurityError,
|
|
118
|
+
SecurityViolation,
|
|
119
|
+
Severity,
|
|
120
|
+
StagedPattern,
|
|
121
|
+
TTLStrategy,
|
|
122
|
+
UnifiedMemory,
|
|
123
|
+
check_redis_connection,
|
|
124
|
+
detect_secrets,
|
|
125
|
+
get_railway_redis,
|
|
126
|
+
get_redis_config,
|
|
127
|
+
get_redis_memory,
|
|
128
128
|
)
|
|
129
129
|
from .monitoring import AgentMetrics, AgentMonitor, TeamMetrics
|
|
130
130
|
from .pattern_library import Pattern, PatternLibrary, PatternMatch
|
empathy_os/config.py
CHANGED
|
@@ -95,6 +95,12 @@ class EmpathyConfig:
|
|
|
95
95
|
Example:
|
|
96
96
|
>>> config = EmpathyConfig.from_yaml("empathy.config.yml")
|
|
97
97
|
>>> empathy = EmpathyOS(config=config)
|
|
98
|
+
|
|
99
|
+
Note:
|
|
100
|
+
Unknown fields in the YAML file are silently ignored.
|
|
101
|
+
This allows config files to contain settings for other
|
|
102
|
+
components (e.g., model_preferences, workflows) without
|
|
103
|
+
breaking EmpathyConfig loading.
|
|
98
104
|
"""
|
|
99
105
|
if not YAML_AVAILABLE:
|
|
100
106
|
raise ImportError(
|
|
@@ -104,7 +110,14 @@ class EmpathyConfig:
|
|
|
104
110
|
with open(filepath) as f:
|
|
105
111
|
data = yaml.safe_load(f)
|
|
106
112
|
|
|
107
|
-
|
|
113
|
+
# Filter to only known fields (gracefully ignore unknown fields like
|
|
114
|
+
# 'provider', 'model_preferences', 'workflows', etc.)
|
|
115
|
+
from dataclasses import fields as dataclass_fields
|
|
116
|
+
|
|
117
|
+
valid_fields = {f.name for f in dataclass_fields(cls)}
|
|
118
|
+
filtered_data = {k: v for k, v in data.items() if k in valid_fields}
|
|
119
|
+
|
|
120
|
+
return cls(**filtered_data)
|
|
108
121
|
|
|
109
122
|
@classmethod
|
|
110
123
|
def from_json(cls, filepath: str) -> "EmpathyConfig":
|
|
@@ -120,11 +133,20 @@ class EmpathyConfig:
|
|
|
120
133
|
Example:
|
|
121
134
|
>>> config = EmpathyConfig.from_json("empathy.config.json")
|
|
122
135
|
>>> empathy = EmpathyOS(config=config)
|
|
136
|
+
|
|
137
|
+
Note:
|
|
138
|
+
Unknown fields in the JSON file are silently ignored.
|
|
123
139
|
"""
|
|
124
140
|
with open(filepath) as f:
|
|
125
141
|
data = json.load(f)
|
|
126
142
|
|
|
127
|
-
|
|
143
|
+
# Filter to only known fields (gracefully ignore unknown fields)
|
|
144
|
+
from dataclasses import fields as dataclass_fields
|
|
145
|
+
|
|
146
|
+
valid_fields = {f.name for f in dataclass_fields(cls)}
|
|
147
|
+
filtered_data = {k: v for k, v in data.items() if k in valid_fields}
|
|
148
|
+
|
|
149
|
+
return cls(**filtered_data)
|
|
128
150
|
|
|
129
151
|
@classmethod
|
|
130
152
|
def from_env(cls, prefix: str = "EMPATHY_") -> "EmpathyConfig":
|
empathy_os/workflow_commands.py
CHANGED
|
@@ -346,8 +346,8 @@ def ship_workflow(
|
|
|
346
346
|
print("5. Syncing patterns to Claude Code...")
|
|
347
347
|
# Import here to avoid circular imports
|
|
348
348
|
try:
|
|
349
|
-
from empathy_llm_toolkit.cli.sync_claude import (
|
|
350
|
-
sync_patterns_to_claude,
|
|
349
|
+
from empathy_llm_toolkit.cli.sync_claude import (
|
|
350
|
+
sync_patterns_to_claude, # type: ignore[attr-defined]
|
|
351
351
|
)
|
|
352
352
|
|
|
353
353
|
result = sync_patterns_to_claude(
|
empathy_software_plugin/cli.py
CHANGED
|
@@ -655,7 +655,9 @@ def scan_command():
|
|
|
655
655
|
severity_icon = (
|
|
656
656
|
"🔴"
|
|
657
657
|
if issue.severity == "high"
|
|
658
|
-
else "🟡"
|
|
658
|
+
else "🟡"
|
|
659
|
+
if issue.severity == "medium"
|
|
660
|
+
else "🔵"
|
|
659
661
|
)
|
|
660
662
|
print(f" {severity_icon} Line {issue.line_number}: {issue.message}")
|
|
661
663
|
if len(result.issues) > 3:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|