empathy-framework 4.7.0__py3-none-any.whl → 4.7.1__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 (32) hide show
  1. empathy_framework-4.7.1.dist-info/METADATA +690 -0
  2. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/RECORD +31 -6
  3. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/top_level.txt +1 -0
  4. empathy_os/vscode_bridge 2.py +173 -0
  5. empathy_os/workflows/progressive/README 2.md +454 -0
  6. empathy_os/workflows/progressive/__init__ 2.py +92 -0
  7. empathy_os/workflows/progressive/cli 2.py +242 -0
  8. empathy_os/workflows/progressive/core 2.py +488 -0
  9. empathy_os/workflows/progressive/orchestrator 2.py +701 -0
  10. empathy_os/workflows/progressive/reports 2.py +528 -0
  11. empathy_os/workflows/progressive/telemetry 2.py +280 -0
  12. empathy_os/workflows/progressive/test_gen 2.py +514 -0
  13. empathy_os/workflows/progressive/workflow 2.py +628 -0
  14. patterns/README.md +119 -0
  15. patterns/__init__.py +95 -0
  16. patterns/behavior.py +298 -0
  17. patterns/code_review_memory.json +441 -0
  18. patterns/core.py +97 -0
  19. patterns/debugging.json +3763 -0
  20. patterns/empathy.py +268 -0
  21. patterns/health_check_memory.json +505 -0
  22. patterns/input.py +161 -0
  23. patterns/memory_graph.json +8 -0
  24. patterns/refactoring_memory.json +1113 -0
  25. patterns/registry.py +663 -0
  26. patterns/security_memory.json +8 -0
  27. patterns/structural.py +415 -0
  28. patterns/validation.py +194 -0
  29. empathy_framework-4.7.0.dist-info/METADATA +0 -1598
  30. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/WHEEL +0 -0
  31. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/entry_points.txt +0 -0
  32. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,690 @@
1
+ Metadata-Version: 2.4
2
+ Name: empathy-framework
3
+ Version: 4.7.1
4
+ Summary: AI collaboration framework with real LLM agent execution, AskUserQuestion tool integration, Socratic agent generation, progressive tier escalation (70-85% cost savings), meta-orchestration, dynamic agent composition (6 patterns), intelligent caching (85% hit rate), semantic workflow discovery, visual workflow editor, MCP integration for Claude Code, and multi-agent orchestration.
5
+ Author-email: Patrick Roebuck <admin@smartaimemory.com>
6
+ Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
7
+ License: # Fair Source License, version 0.9
8
+
9
+ **Copyright © 2025 Deep Study AI, LLC**
10
+
11
+ ## Grant of Rights
12
+
13
+ **Licensor:** Deep Study AI, LLC
14
+ **Licensed Work:** Empathy
15
+ **Change Date:** January 1, 2029 (4 years from first release)
16
+ **Change License:** Apache License 2.0
17
+
18
+ ---
19
+
20
+ ## Terms
21
+
22
+ ### Grant of Use
23
+
24
+ Subject to the conditions below, Licensor grants you a non-exclusive, worldwide, royalty-free license to:
25
+
26
+ - Use the Licensed Work
27
+ - Modify the Licensed Work
28
+ - Create derivative works
29
+ - Distribute copies (subject to restrictions)
30
+
31
+ ### Usage Limits - Free Tier
32
+
33
+ You may use the Licensed Work **free of charge** if you meet ANY of these conditions:
34
+
35
+ 1. **Educational Use:** You are a student or educator using the Licensed Work for educational purposes
36
+ 2. **Small Business:** Your organization has **5 or fewer total employees**
37
+ 3. **Personal/Research:** You are using the Licensed Work for personal projects or academic research
38
+ 4. **Evaluation:** You are evaluating the Licensed Work for up to 30 days
39
+
40
+ ### Usage Limits - Commercial License Required
41
+
42
+ A **Commercial License is REQUIRED** if:
43
+
44
+ 1. Your organization has **6 or more employees**, AND
45
+ 2. You are using the Licensed Work in a production environment, OR
46
+ 3. You are using the Licensed Work to provide services to third parties
47
+
48
+ **Commercial License:** $99 USD per developer per year
49
+
50
+ - "Developer" means any employee, contractor, or agent who uses, modifies, or deploys the Licensed Work
51
+ - One license covers all environments (development, staging, production, CI/CD)
52
+ - License includes updates and support
53
+ - Purchase at: https://smartaimemory.com/empathy-framework/pricing
54
+
55
+ ### Restrictions
56
+
57
+ You may NOT:
58
+
59
+ 1. **Remove or modify** licensing, copyright notices, or attribution
60
+ 2. **Circumvent** the usage limits or commercial license requirements
61
+ 3. **Offer as a managed service** without a separate reseller agreement
62
+ 4. **Sublicense, sell, or rent** the Licensed Work to third parties
63
+ 5. **Use the Licensed Work** in violation of applicable laws
64
+
65
+ ### Source Code Availability
66
+
67
+ The source code for the Licensed Work is available at:
68
+ https://github.com/Smart-AI-Memory/empathy
69
+
70
+ You may view, inspect, and audit the source code for:
71
+ - Security review
72
+ - Compliance verification
73
+ - Understanding implementation
74
+ - Creating derivative works (subject to this license)
75
+
76
+ ### Attribution
77
+
78
+ If you distribute the Licensed Work or derivative works, you must:
79
+
80
+ 1. Include this license file
81
+ 2. Provide attribution to "Deep Study AI, LLC - Empathy"
82
+ 3. Include a link to https://github.com/Smart-AI-Memory/empathy
83
+
84
+ ### Warranty Disclaimer
85
+
86
+ THE LICENSED WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
87
+
88
+ ### Liability Limitation
89
+
90
+ IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE LICENSED WORK.
91
+
92
+ ### Change Date Conversion
93
+
94
+ On the Change Date (January 1, 2029), this license automatically converts to the Change License (Apache License 2.0), and all restrictions in this Fair Source License no longer apply.
95
+
96
+ **Rationale:** After 4 years, the Licensed Work becomes fully open source, allowing maximum community benefit while protecting Licensor's commercial interests during the critical growth period.
97
+
98
+ ### Verification Rights
99
+
100
+ Licensor reserves the right to:
101
+
102
+ 1. Request verification of compliance with usage limits
103
+ 2. Audit use of the Licensed Work with reasonable notice
104
+ 3. Terminate licenses for violations after 30-day cure period
105
+
106
+ ### Commercial License Purchase
107
+
108
+ To purchase a Commercial License:
109
+
110
+ 1. Visit: https://smartaimemory.com/empathy-framework/pricing
111
+ 2. Email: admin@smartaimemory.com
112
+ 3. Complete order form and payment
113
+ 4. Receive license key and invoice
114
+
115
+ Volume discounts available for teams of 20+ developers.
116
+
117
+ ### Definitions
118
+
119
+ - **Employee:** Any W-2 employee, 1099 contractor working >20 hours/week, or intern
120
+ - **Production Environment:** Any environment serving end users or customers
121
+ - **Developer:** Any person who uses, modifies, or deploys the Licensed Work
122
+ - **Organization:** The legal entity employing you, or yourself if self-employed
123
+
124
+ ### Questions?
125
+
126
+ For licensing questions, contact: licensing@smartaimemory.com
127
+
128
+ ---
129
+
130
+ ## Why Fair Source?
131
+
132
+ This license balances:
133
+
134
+ ✅ **Free for small teams** - Students, educators, and small businesses (≤5 employees) use free forever
135
+ ✅ **Source code visibility** - Review code for security, compliance, learning
136
+ ✅ **Commercial sustainability** - Larger organizations pay to fund development
137
+ ✅ **Future open source** - Automatically becomes Apache 2.0 in 4 years
138
+
139
+ We believe software should be inspectable and accessible while ensuring sustainable development.
140
+
141
+ ---
142
+
143
+ **Version:** 0.9
144
+ **Last Updated:** November 7, 2025
145
+ **Effective Date:** January 1, 2025
146
+
147
+ Project-URL: Homepage, https://www.smartaimemory.com
148
+ Project-URL: Documentation, https://www.smartaimemory.com/framework-docs/
149
+ Project-URL: Getting Started, https://www.smartaimemory.com/framework-docs/tutorials/quickstart/
150
+ Project-URL: FAQ, https://www.smartaimemory.com/framework-docs/reference/FAQ/
151
+ Project-URL: Book, https://www.smartaimemory.com/book
152
+ Project-URL: Repository, https://github.com/Smart-AI-Memory/empathy-framework
153
+ Project-URL: Issues, https://github.com/Smart-AI-Memory/empathy-framework/issues
154
+ Project-URL: Discussions, https://github.com/Smart-AI-Memory/empathy-framework/discussions
155
+ Project-URL: Changelog, https://github.com/Smart-AI-Memory/empathy-framework/blob/main/CHANGELOG.md
156
+ Keywords: ai,collaboration,empathy,anticipatory-ai,systems-thinking,llm,claude,memdocs,level-5-ai,code-inspection,static-analysis,code-quality,sarif,github-actions,developer-tools
157
+ Classifier: Development Status :: 4 - Beta
158
+ Classifier: Intended Audience :: Developers
159
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
160
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
161
+ Classifier: Programming Language :: Python :: 3
162
+ Classifier: Programming Language :: Python :: 3.10
163
+ Classifier: Programming Language :: Python :: 3.11
164
+ Classifier: Programming Language :: Python :: 3.12
165
+ Classifier: Programming Language :: Python :: 3.13
166
+ Classifier: Operating System :: OS Independent
167
+ Requires-Python: >=3.10
168
+ Description-Content-Type: text/markdown
169
+ License-File: LICENSE
170
+ Requires-Dist: pydantic<3.0.0,>=2.0.0
171
+ Requires-Dist: typing-extensions<5.0.0,>=4.0.0
172
+ Requires-Dist: python-dotenv<2.0.0,>=1.0.0
173
+ Requires-Dist: structlog<25.0.0,>=23.0.0
174
+ Requires-Dist: defusedxml<1.0.0,>=0.7.0
175
+ Requires-Dist: rich<14.0.0,>=13.0.0
176
+ Requires-Dist: typer<1.0.0,>=0.9.0
177
+ Requires-Dist: pyyaml<7.0,>=6.0
178
+ Requires-Dist: anthropic<1.0.0,>=0.25.0
179
+ Provides-Extra: anthropic
180
+ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "anthropic"
181
+ Provides-Extra: openai
182
+ Requires-Dist: openai<2.0.0,>=1.12.0; extra == "openai"
183
+ Provides-Extra: google
184
+ Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "google"
185
+ Provides-Extra: llm
186
+ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "llm"
187
+ Requires-Dist: openai<2.0.0,>=1.12.0; extra == "llm"
188
+ Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "llm"
189
+ Provides-Extra: memdocs
190
+ Requires-Dist: memdocs>=1.0.0; extra == "memdocs"
191
+ Provides-Extra: agents
192
+ Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "agents"
193
+ Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "agents"
194
+ Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "agents"
195
+ Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "agents"
196
+ Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "agents"
197
+ Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "agents"
198
+ Provides-Extra: crewai
199
+ Requires-Dist: crewai<1.0.0,>=0.1.0; extra == "crewai"
200
+ Requires-Dist: langchain<2.0.0,>=0.1.0; extra == "crewai"
201
+ Requires-Dist: langchain-core<2.0.0,>=1.2.6; extra == "crewai"
202
+ Provides-Extra: cache
203
+ Requires-Dist: sentence-transformers<4.0.0,>=2.0.0; extra == "cache"
204
+ Requires-Dist: torch<3.0.0,>=2.0.0; extra == "cache"
205
+ Requires-Dist: numpy<3.0.0,>=1.24.0; extra == "cache"
206
+ Provides-Extra: healthcare
207
+ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "healthcare"
208
+ Requires-Dist: openai<2.0.0,>=1.12.0; extra == "healthcare"
209
+ Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "healthcare"
210
+ Requires-Dist: memdocs>=1.0.0; extra == "healthcare"
211
+ Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "healthcare"
212
+ Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "healthcare"
213
+ Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "healthcare"
214
+ Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "healthcare"
215
+ Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "healthcare"
216
+ Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "healthcare"
217
+ Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "healthcare"
218
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "healthcare"
219
+ Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "healthcare"
220
+ Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "healthcare"
221
+ Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "healthcare"
222
+ Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "healthcare"
223
+ Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "healthcare"
224
+ Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "healthcare"
225
+ Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "healthcare"
226
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "healthcare"
227
+ Requires-Dist: redis<6.0.0,>=5.0.0; extra == "healthcare"
228
+ Provides-Extra: software
229
+ Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "software"
230
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "software"
231
+ Provides-Extra: backend
232
+ Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "backend"
233
+ Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "backend"
234
+ Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "backend"
235
+ Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "backend"
236
+ Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "backend"
237
+ Provides-Extra: lsp
238
+ Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "lsp"
239
+ Requires-Dist: lsprotocol<2024.0.0,>=2023.0.0; extra == "lsp"
240
+ Provides-Extra: windows
241
+ Requires-Dist: colorama<1.0.0,>=0.4.6; extra == "windows"
242
+ Provides-Extra: otel
243
+ Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "otel"
244
+ Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "otel"
245
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "otel"
246
+ Provides-Extra: docs
247
+ Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "docs"
248
+ Requires-Dist: mkdocs-material<10.0.0,>=9.4.0; extra == "docs"
249
+ Requires-Dist: mkdocstrings[python]<1.0.0,>=0.24.0; extra == "docs"
250
+ Requires-Dist: mkdocs-with-pdf<1.0.0,>=0.9.3; extra == "docs"
251
+ Requires-Dist: pymdown-extensions<11.0,>=10.0; extra == "docs"
252
+ Provides-Extra: dev
253
+ Requires-Dist: pytest<10.0,>=7.0; extra == "dev"
254
+ Requires-Dist: pytest-asyncio<2.0,>=0.21; extra == "dev"
255
+ Requires-Dist: pytest-cov<8.0,>=4.0; extra == "dev"
256
+ Requires-Dist: pytest-xdist<4.0,>=3.5.0; extra == "dev"
257
+ Requires-Dist: pytest-testmon<3.0,>=2.1.0; extra == "dev"
258
+ Requires-Dist: pytest-picked<1.0,>=0.5.0; extra == "dev"
259
+ Requires-Dist: black<26.0,>=24.3.0; extra == "dev"
260
+ Requires-Dist: mypy<2.0,>=1.0; extra == "dev"
261
+ Requires-Dist: ruff<1.0,>=0.1; extra == "dev"
262
+ Requires-Dist: coverage<8.0,>=7.0; extra == "dev"
263
+ Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
264
+ Requires-Dist: pre-commit<5.0,>=3.0; extra == "dev"
265
+ Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "dev"
266
+ Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "dev"
267
+ Requires-Dist: requests<3.0.0,>=2.28.0; extra == "dev"
268
+ Provides-Extra: developer
269
+ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "developer"
270
+ Requires-Dist: openai<2.0.0,>=1.12.0; extra == "developer"
271
+ Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "developer"
272
+ Requires-Dist: memdocs>=1.0.0; extra == "developer"
273
+ Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "developer"
274
+ Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "developer"
275
+ Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "developer"
276
+ Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "developer"
277
+ Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "developer"
278
+ Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "developer"
279
+ Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "developer"
280
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "developer"
281
+ Provides-Extra: enterprise
282
+ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "enterprise"
283
+ Requires-Dist: openai<2.0.0,>=1.12.0; extra == "enterprise"
284
+ Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "enterprise"
285
+ Requires-Dist: memdocs>=1.0.0; extra == "enterprise"
286
+ Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "enterprise"
287
+ Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "enterprise"
288
+ Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "enterprise"
289
+ Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "enterprise"
290
+ Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "enterprise"
291
+ Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "enterprise"
292
+ Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "enterprise"
293
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "enterprise"
294
+ Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "enterprise"
295
+ Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "enterprise"
296
+ Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "enterprise"
297
+ Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "enterprise"
298
+ Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "enterprise"
299
+ Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "enterprise"
300
+ Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "enterprise"
301
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "enterprise"
302
+ Provides-Extra: full
303
+ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "full"
304
+ Requires-Dist: openai<2.0.0,>=1.12.0; extra == "full"
305
+ Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "full"
306
+ Requires-Dist: memdocs>=1.0.0; extra == "full"
307
+ Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "full"
308
+ Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "full"
309
+ Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "full"
310
+ Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "full"
311
+ Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "full"
312
+ Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "full"
313
+ Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "full"
314
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "full"
315
+ Provides-Extra: all
316
+ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "all"
317
+ Requires-Dist: openai<2.0.0,>=1.12.0; extra == "all"
318
+ Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "all"
319
+ Requires-Dist: memdocs>=1.0.0; extra == "all"
320
+ Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "all"
321
+ Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "all"
322
+ Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "all"
323
+ Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "all"
324
+ Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "all"
325
+ Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "all"
326
+ Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "all"
327
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == "all"
328
+ Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "all"
329
+ Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "all"
330
+ Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "all"
331
+ Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "all"
332
+ Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "all"
333
+ Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "all"
334
+ Requires-Dist: lsprotocol<2024.0.0,>=2023.0.0; extra == "all"
335
+ Requires-Dist: colorama<1.0.0,>=0.4.6; extra == "all"
336
+ Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "all"
337
+ Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "all"
338
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "all"
339
+ Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "all"
340
+ Requires-Dist: mkdocs-material<10.0.0,>=9.4.0; extra == "all"
341
+ Requires-Dist: mkdocstrings[python]<1.0.0,>=0.24.0; extra == "all"
342
+ Requires-Dist: mkdocs-with-pdf<1.0.0,>=0.9.3; extra == "all"
343
+ Requires-Dist: pymdown-extensions<11.0,>=10.0; extra == "all"
344
+ Requires-Dist: pytest<9.0,>=7.0; extra == "all"
345
+ Requires-Dist: pytest-asyncio<1.0,>=0.21; extra == "all"
346
+ Requires-Dist: pytest-cov<5.0,>=4.0; extra == "all"
347
+ Requires-Dist: black<26.0,>=24.3.0; extra == "all"
348
+ Requires-Dist: mypy<2.0,>=1.0; extra == "all"
349
+ Requires-Dist: ruff<1.0,>=0.1; extra == "all"
350
+ Requires-Dist: coverage<8.0,>=7.0; extra == "all"
351
+ Requires-Dist: bandit<2.0,>=1.7; extra == "all"
352
+ Requires-Dist: pre-commit<4.0,>=3.0; extra == "all"
353
+ Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "all"
354
+ Requires-Dist: urllib3<3.0.0,>=2.3.0; extra == "all"
355
+ Requires-Dist: aiohttp<4.0.0,>=3.10.0; extra == "all"
356
+ Requires-Dist: filelock<4.0.0,>=3.16.0; extra == "all"
357
+ Dynamic: license-file
358
+
359
+ # Empathy Framework
360
+
361
+ **AI-powered developer workflows with cost optimization and pattern learning.**
362
+
363
+ Run code review, debugging, testing, and release workflows from your terminal or Claude Code. Smart tier routing saves 34-86% on LLM costs.
364
+
365
+ [![PyPI](https://img.shields.io/pypi/v/empathy-framework)](https://pypi.org/project/empathy-framework/)
366
+ [![Tests](https://img.shields.io/badge/tests-11%2C000%2B%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
367
+ [![Coverage](https://img.shields.io/badge/coverage-68%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
368
+ [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
369
+ [![License](https://img.shields.io/badge/license-Fair%20Source%200.9-blue)](LICENSE)
370
+
371
+ ```bash
372
+ pip install empathy-framework[developer]
373
+ ```
374
+
375
+ ---
376
+
377
+ ## What's New in v4.7.0
378
+
379
+ **$0 Workflows via Skills** - Multi-agent workflows run through Claude Code's Task tool instead of API calls. No additional cost with your Claude subscription.
380
+
381
+ **Socratic Workflows** - Interactive discovery through guided questions. Workflows ask what you need rather than requiring upfront configuration.
382
+
383
+ **Security Hardened** - Fixed critical vulnerabilities (path traversal, JWT, SSRF).
384
+
385
+ **Hub-Based Commands** - Organized workflows into intuitive command hubs.
386
+
387
+ ---
388
+
389
+ ## Quick Start
390
+
391
+ ### 1. Install
392
+
393
+ ```bash
394
+ pip install empathy-framework[developer]
395
+ ```
396
+
397
+ ### 2. Configure
398
+
399
+ ```bash
400
+ # Auto-detect API keys
401
+ python -m empathy_os.models.cli provider
402
+
403
+ # Or set explicitly
404
+ python -m empathy_os.models.cli provider --set anthropic
405
+ ```
406
+
407
+ ### 3. Use
408
+
409
+ **In Claude Code:**
410
+
411
+ ```bash
412
+ /dev # Developer tools (debug, commit, PR, review)
413
+ /testing # Run tests, coverage, benchmarks
414
+ /docs # Documentation generation
415
+ /release # Release preparation
416
+ ```
417
+
418
+ **CLI:**
419
+
420
+ ```bash
421
+ empathy workflow run security-audit --path ./src
422
+ empathy workflow run test-coverage --target 90
423
+ empathy telemetry show # View cost savings
424
+ ```
425
+
426
+ **Python:**
427
+
428
+ ```python
429
+ from empathy_os import EmpathyOS
430
+
431
+ async with EmpathyOS() as empathy:
432
+ result = await empathy.level_2_guided(
433
+ "Review this code for security issues"
434
+ )
435
+ print(result["response"])
436
+ ```
437
+
438
+ ---
439
+
440
+ ## Command Hubs
441
+
442
+ Workflows are organized into hubs for easy discovery:
443
+
444
+ | Hub | Command | Description |
445
+ | ----------------- | ------------ | -------------------------------------------- |
446
+ | **Developer** | `/dev` | Debug, commit, PR, code review, quality |
447
+ | **Testing** | `/testing` | Run tests, coverage analysis, benchmarks |
448
+ | **Documentation** | `/docs` | Generate and manage documentation |
449
+ | **Release** | `/release` | Release prep, security scan, publishing |
450
+ | **Workflow** | `/workflow` | Planning, TDD, refactoring workflows |
451
+ | **Utilities** | `/utilities` | Project init, dependencies, profiling |
452
+ | **Learning** | `/learning` | Pattern learning and session evaluation |
453
+ | **Context** | `/context` | State management and memory |
454
+ | **Agent** | `/agent` | Create and manage custom agents |
455
+
456
+ **Example usage:**
457
+
458
+ ```bash
459
+ /dev # Show interactive menu
460
+ /dev "debug auth error" # Jump directly to debugging
461
+ /testing "run coverage" # Run coverage analysis
462
+ /release # Start release preparation
463
+ ```
464
+
465
+ ---
466
+
467
+ ## Socratic Method
468
+
469
+ Workflows guide you through discovery instead of requiring upfront configuration:
470
+
471
+ ```text
472
+ You: /dev
473
+
474
+ Claude: What development task do you need?
475
+ 1. Debug issue
476
+ 2. Create commit
477
+ 3. PR workflow
478
+ 4. Quality check
479
+
480
+ You: 1
481
+
482
+ Claude: What error or unexpected behavior are you seeing?
483
+ ```
484
+
485
+ **How it works:**
486
+
487
+ 1. **Discovery** - Workflow asks targeted questions to understand your needs
488
+ 2. **Context gathering** - Collects relevant code, errors, and constraints
489
+ 3. **Dynamic agent creation** - Assembles the right team based on your answers
490
+ 4. **Execution** - Runs with appropriate tier selection
491
+
492
+ **Create custom agents with Socratic guidance:**
493
+
494
+ ```bash
495
+ /agent create # Guided agent creation
496
+ /agent team # Build multi-agent teams interactively
497
+ ```
498
+
499
+ ---
500
+
501
+ ## Cost Optimization
502
+
503
+ ### Skills = $0 (Claude Code)
504
+
505
+ When using Claude Code, workflows run as skills through the Task tool - **no API costs**:
506
+
507
+ ```bash
508
+ /dev # $0 - uses your Claude subscription
509
+ /testing # $0
510
+ /release # $0
511
+ /agent create # $0
512
+ ```
513
+
514
+ ### API Mode (CI/CD, Automation)
515
+
516
+ For programmatic use, smart tier routing saves 34-86%:
517
+
518
+ | Tier | Model | Use Case | Cost |
519
+ | ------- | ------------------- | --------------------------- | ----------- |
520
+ | CHEAP | Haiku / GPT-4o-mini | Formatting, simple tasks | ~$0.005 |
521
+ | CAPABLE | Sonnet / GPT-4o | Bug fixes, code review | ~$0.08 |
522
+ | PREMIUM | Opus / o1 | Architecture, complex design | ~$0.45 |
523
+
524
+ ```bash
525
+ # Track API usage and savings
526
+ empathy telemetry savings --days 30
527
+ ```
528
+
529
+ ---
530
+
531
+ ## Key Features
532
+
533
+ ### Multi-Agent Workflows
534
+
535
+ ```bash
536
+ # 4 parallel agents check release readiness
537
+ empathy orchestrate release-prep
538
+
539
+ # Sequential coverage improvement
540
+ empathy orchestrate test-coverage --target 90
541
+ ```
542
+
543
+ ### Response Caching
544
+
545
+ Up to 57% cache hit rate on similar prompts. Zero config needed.
546
+
547
+ ```python
548
+ from empathy_os.workflows import SecurityAuditWorkflow
549
+
550
+ workflow = SecurityAuditWorkflow(enable_cache=True)
551
+ result = await workflow.execute(target_path="./src")
552
+ print(f"Cache hit rate: {result.cost_report.cache_hit_rate:.1f}%")
553
+ ```
554
+
555
+ ### Pattern Learning
556
+
557
+ Workflows learn from outcomes and improve over time:
558
+
559
+ ```python
560
+ from empathy_os.orchestration.config_store import ConfigurationStore
561
+
562
+ store = ConfigurationStore()
563
+ best = store.get_best_for_task("release_prep")
564
+ print(f"Success rate: {best.success_rate:.1%}")
565
+ ```
566
+
567
+ ### Multi-Provider Support
568
+
569
+ ```python
570
+ from empathy_llm_toolkit.providers import (
571
+ AnthropicProvider, # Claude
572
+ OpenAIProvider, # GPT-4
573
+ GeminiProvider, # Gemini
574
+ LocalProvider, # Ollama, LM Studio
575
+ )
576
+ ```
577
+
578
+ ---
579
+
580
+ ## CLI Reference
581
+
582
+ ```bash
583
+ # Provider configuration
584
+ python -m empathy_os.models.cli provider
585
+ python -m empathy_os.models.cli provider --set hybrid
586
+
587
+ # Workflows
588
+ empathy workflow list
589
+ empathy workflow run <workflow-name>
590
+
591
+ # Cost tracking
592
+ empathy telemetry show
593
+ empathy telemetry savings --days 30
594
+ empathy telemetry export --format csv
595
+
596
+ # Orchestration
597
+ empathy orchestrate release-prep
598
+ empathy orchestrate test-coverage --target 90
599
+
600
+ # Meta-workflows
601
+ empathy meta-workflow list
602
+ empathy meta-workflow run release-prep --real
603
+ ```
604
+
605
+ ---
606
+
607
+ ## Install Options
608
+
609
+ ```bash
610
+ # Individual developers (recommended)
611
+ pip install empathy-framework[developer]
612
+
613
+ # All LLM providers
614
+ pip install empathy-framework[llm]
615
+
616
+ # With caching (semantic similarity)
617
+ pip install empathy-framework[cache]
618
+
619
+ # Enterprise (auth, rate limiting)
620
+ pip install empathy-framework[enterprise]
621
+
622
+ # Healthcare (HIPAA compliance)
623
+ pip install empathy-framework[healthcare]
624
+
625
+ # Development
626
+ git clone https://github.com/Smart-AI-Memory/empathy-framework.git
627
+ cd empathy-framework && pip install -e .[dev]
628
+ ```
629
+
630
+ ---
631
+
632
+ ## Environment Setup
633
+
634
+ ```bash
635
+ # At least one provider required
636
+ export ANTHROPIC_API_KEY="sk-ant-..."
637
+ export OPENAI_API_KEY="sk-..."
638
+ export GOOGLE_API_KEY="..."
639
+
640
+ # Optional: Redis for memory
641
+ export REDIS_URL="redis://localhost:6379"
642
+ ```
643
+
644
+ ---
645
+
646
+ ## VSCode Extension
647
+
648
+ Install the Empathy VSCode extension for:
649
+
650
+ - **Dashboard** - Health score, costs, patterns
651
+ - **One-Click Workflows** - Run from command palette
652
+ - **Memory Panel** - Manage Redis and patterns
653
+ - **Cost Tracking** - Real-time savings display
654
+
655
+ ---
656
+
657
+ ## Documentation
658
+
659
+ - [Quick Start Guide](docs/quickstart.md)
660
+ - [CLI Reference](docs/cli-reference.md)
661
+ - [Testing Guide](docs/testing-guide.md)
662
+ - [Keyboard Shortcuts](docs/keyboard-shortcuts.md)
663
+ - [Full Documentation](https://smartaimemory.com/framework-docs/)
664
+
665
+ ---
666
+
667
+ ## Security
668
+
669
+ - Path traversal protection on all file operations
670
+ - JWT authentication with rate limiting
671
+ - PII scrubbing in telemetry
672
+ - HIPAA/GDPR compliance options
673
+
674
+ See [SECURITY.md](SECURITY.md) for details.
675
+
676
+ ---
677
+
678
+ ## Contributing
679
+
680
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
681
+
682
+ ---
683
+
684
+ ## License
685
+
686
+ **Fair Source License 0.9** - Free for students, educators, and teams ≤5 employees. Commercial license for larger organizations. [Details →](LICENSE)
687
+
688
+ ---
689
+
690
+ **Built by [Smart AI Memory](https://smartaimemory.com)** · [Docs](https://smartaimemory.com/framework-docs/) · [Examples](examples/) · [Issues](https://github.com/Smart-AI-Memory/empathy-framework/issues)