empathy-framework 4.7.0__py3-none-any.whl → 4.8.0__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 (86) hide show
  1. empathy_framework-4.8.0.dist-info/METADATA +753 -0
  2. {empathy_framework-4.7.0.dist-info → empathy_framework-4.8.0.dist-info}/RECORD +83 -37
  3. {empathy_framework-4.7.0.dist-info → empathy_framework-4.8.0.dist-info}/WHEEL +1 -1
  4. {empathy_framework-4.7.0.dist-info → empathy_framework-4.8.0.dist-info}/entry_points.txt +2 -1
  5. empathy_os/__init__.py +2 -0
  6. empathy_os/cache/hash_only.py +6 -3
  7. empathy_os/cache/hybrid.py +6 -3
  8. empathy_os/cli/__init__.py +128 -238
  9. empathy_os/cli/__main__.py +5 -33
  10. empathy_os/cli/commands/__init__.py +1 -8
  11. empathy_os/cli/commands/help.py +331 -0
  12. empathy_os/cli/commands/info.py +140 -0
  13. empathy_os/cli/commands/inspect.py +437 -0
  14. empathy_os/cli/commands/metrics.py +92 -0
  15. empathy_os/cli/commands/orchestrate.py +184 -0
  16. empathy_os/cli/commands/patterns.py +207 -0
  17. empathy_os/cli/commands/provider.py +93 -81
  18. empathy_os/cli/commands/setup.py +96 -0
  19. empathy_os/cli/commands/status.py +235 -0
  20. empathy_os/cli/commands/sync.py +166 -0
  21. empathy_os/cli/commands/tier.py +121 -0
  22. empathy_os/cli/commands/workflow.py +574 -0
  23. empathy_os/cli/parsers/__init__.py +62 -0
  24. empathy_os/cli/parsers/help.py +41 -0
  25. empathy_os/cli/parsers/info.py +26 -0
  26. empathy_os/cli/parsers/inspect.py +66 -0
  27. empathy_os/cli/parsers/metrics.py +42 -0
  28. empathy_os/cli/parsers/orchestrate.py +61 -0
  29. empathy_os/cli/parsers/patterns.py +54 -0
  30. empathy_os/cli/parsers/provider.py +40 -0
  31. empathy_os/cli/parsers/setup.py +42 -0
  32. empathy_os/cli/parsers/status.py +47 -0
  33. empathy_os/cli/parsers/sync.py +31 -0
  34. empathy_os/cli/parsers/tier.py +33 -0
  35. empathy_os/cli/parsers/workflow.py +77 -0
  36. empathy_os/cli/utils/__init__.py +1 -0
  37. empathy_os/cli/utils/data.py +242 -0
  38. empathy_os/cli/utils/helpers.py +68 -0
  39. empathy_os/{cli.py → cli_legacy.py} +27 -27
  40. empathy_os/cli_minimal.py +662 -0
  41. empathy_os/cli_router.py +384 -0
  42. empathy_os/cli_unified.py +38 -2
  43. empathy_os/memory/__init__.py +19 -5
  44. empathy_os/memory/short_term.py +14 -404
  45. empathy_os/memory/types.py +437 -0
  46. empathy_os/memory/unified.py +61 -48
  47. empathy_os/models/fallback.py +1 -1
  48. empathy_os/models/provider_config.py +59 -344
  49. empathy_os/models/registry.py +31 -180
  50. empathy_os/monitoring/alerts.py +14 -20
  51. empathy_os/monitoring/alerts_cli.py +24 -7
  52. empathy_os/project_index/__init__.py +2 -0
  53. empathy_os/project_index/index.py +210 -5
  54. empathy_os/project_index/scanner.py +45 -14
  55. empathy_os/project_index/scanner_parallel.py +291 -0
  56. empathy_os/socratic/ab_testing.py +1 -1
  57. empathy_os/vscode_bridge 2.py +173 -0
  58. empathy_os/workflows/__init__.py +31 -2
  59. empathy_os/workflows/base.py +349 -325
  60. empathy_os/workflows/bug_predict.py +8 -0
  61. empathy_os/workflows/builder.py +273 -0
  62. empathy_os/workflows/caching.py +253 -0
  63. empathy_os/workflows/code_review_pipeline.py +1 -0
  64. empathy_os/workflows/history.py +510 -0
  65. empathy_os/workflows/output.py +410 -0
  66. empathy_os/workflows/perf_audit.py +125 -19
  67. empathy_os/workflows/progress.py +324 -22
  68. empathy_os/workflows/progressive/README 2.md +454 -0
  69. empathy_os/workflows/progressive/__init__ 2.py +92 -0
  70. empathy_os/workflows/progressive/cli 2.py +242 -0
  71. empathy_os/workflows/progressive/core 2.py +488 -0
  72. empathy_os/workflows/progressive/orchestrator 2.py +701 -0
  73. empathy_os/workflows/progressive/reports 2.py +528 -0
  74. empathy_os/workflows/progressive/telemetry 2.py +280 -0
  75. empathy_os/workflows/progressive/test_gen 2.py +514 -0
  76. empathy_os/workflows/progressive/workflow 2.py +628 -0
  77. empathy_os/workflows/routing.py +168 -0
  78. empathy_os/workflows/secure_release.py +1 -0
  79. empathy_os/workflows/security_audit.py +190 -0
  80. empathy_os/workflows/security_audit_phase3.py +328 -0
  81. empathy_os/workflows/telemetry_mixin.py +269 -0
  82. empathy_framework-4.7.0.dist-info/METADATA +0 -1598
  83. empathy_os/dashboard/__init__.py +0 -15
  84. empathy_os/dashboard/server.py +0 -941
  85. {empathy_framework-4.7.0.dist-info → empathy_framework-4.8.0.dist-info}/licenses/LICENSE +0 -0
  86. {empathy_framework-4.7.0.dist-info → empathy_framework-4.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,753 @@
1
+ Metadata-Version: 2.4
2
+ Name: empathy-framework
3
+ Version: 4.8.0
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
+ ## 🎯 Transitioning to Claude-Native Architecture
378
+
379
+ **Empathy Framework is evolving to focus exclusively on Anthropic/Claude** to unlock features impossible with multi-provider abstraction:
380
+
381
+ - **📦 Prompt Caching:** 90% cost reduction on repeated prompts
382
+ - **📖 200K Context:** Largest context window available (vs 128K for competitors)
383
+ - **🧠 Extended Thinking:** See Claude's internal reasoning process
384
+ - **🔧 Advanced Tool Use:** Optimized for agentic workflows
385
+
386
+ **Timeline:**
387
+ - ✅ **v4.8.0 (Jan 2026):** Deprecation warnings for OpenAI/Google/Ollama providers
388
+ - ✅ **v5.0.0 (Jan 26, 2026):** Non-Anthropic providers removed (BREAKING - COMPLETE)
389
+ - 🎯 **v5.1.0 (Feb 2026):** Prompt caching enabled by default
390
+
391
+ **Migration Guide:** [docs/CLAUDE_NATIVE.md](docs/CLAUDE_NATIVE.md)
392
+
393
+ ---
394
+
395
+ ## What's New in v4.8.0
396
+
397
+ **🚀 Scanner Performance Optimizations** - **3.65x faster** project scanning with parallel processing and incremental updates:
398
+
399
+ - **Parallel Processing:** Multi-core scanning enabled by default (2x faster)
400
+ - **Incremental Scanning:** Git diff-based updates (10x faster for typical changes)
401
+ - **Optional Dependencies:** Skip dependency analysis for 27% speedup
402
+
403
+ **📊 Real-World Performance:**
404
+
405
+ - Full scan: 3,472 files in 1.8s (was 3.6s)
406
+ - Incremental: 100 changed files in 0.3s (was 1.0s)
407
+
408
+ [See performance guide](docs/SCANNER_OPTIMIZATIONS.md) | [Examples](examples/scanner_usage.py)
409
+
410
+ ---
411
+
412
+ ## What's New in v4.7.0
413
+
414
+ **$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.
415
+
416
+ **Socratic Workflows** - Interactive discovery through guided questions. Workflows ask what you need rather than requiring upfront configuration.
417
+
418
+ **Security Hardened** - Fixed critical vulnerabilities (path traversal, JWT, SSRF).
419
+
420
+ **Hub-Based Commands** - Organized workflows into intuitive command hubs.
421
+
422
+ ---
423
+
424
+ ## Quick Start
425
+
426
+ ### 1. Install
427
+
428
+ ```bash
429
+ pip install empathy-framework[developer]
430
+ ```
431
+
432
+ ### 2. Configure
433
+
434
+ ```bash
435
+ # Auto-detect API keys
436
+ python -m empathy_os.models.cli provider
437
+
438
+ # Or set explicitly
439
+ python -m empathy_os.models.cli provider --set anthropic
440
+ ```
441
+
442
+ ### 3. Use
443
+
444
+ **In Claude Code:**
445
+
446
+ ```bash
447
+ /dev # Developer tools (debug, commit, PR, review)
448
+ /testing # Run tests, coverage, benchmarks
449
+ /docs # Documentation generation
450
+ /release # Release preparation
451
+ ```
452
+
453
+ **CLI:**
454
+
455
+ ```bash
456
+ empathy workflow run security-audit --path ./src
457
+ empathy workflow run test-coverage --target 90
458
+ empathy telemetry show # View cost savings
459
+ ```
460
+
461
+ **Python:**
462
+
463
+ ```python
464
+ from empathy_os import EmpathyOS
465
+
466
+ async with EmpathyOS() as empathy:
467
+ result = await empathy.level_2_guided(
468
+ "Review this code for security issues"
469
+ )
470
+ print(result["response"])
471
+ ```
472
+
473
+ ---
474
+
475
+ ## Command Hubs
476
+
477
+ Workflows are organized into hubs for easy discovery:
478
+
479
+ | Hub | Command | Description |
480
+ | ----------------- | ------------ | -------------------------------------------- |
481
+ | **Developer** | `/dev` | Debug, commit, PR, code review, quality |
482
+ | **Testing** | `/testing` | Run tests, coverage analysis, benchmarks |
483
+ | **Documentation** | `/docs` | Generate and manage documentation |
484
+ | **Release** | `/release` | Release prep, security scan, publishing |
485
+ | **Workflow** | `/workflow` | Planning, TDD, refactoring workflows |
486
+ | **Utilities** | `/utilities` | Project init, dependencies, profiling |
487
+ | **Learning** | `/learning` | Pattern learning and session evaluation |
488
+ | **Context** | `/context` | State management and memory |
489
+ | **Agent** | `/agent` | Create and manage custom agents |
490
+
491
+ **Example usage:**
492
+
493
+ ```bash
494
+ /dev # Show interactive menu
495
+ /dev "debug auth error" # Jump directly to debugging
496
+ /testing "run coverage" # Run coverage analysis
497
+ /release # Start release preparation
498
+ ```
499
+
500
+ ---
501
+
502
+ ## Socratic Method
503
+
504
+ Workflows guide you through discovery instead of requiring upfront configuration:
505
+
506
+ ```text
507
+ You: /dev
508
+
509
+ Claude: What development task do you need?
510
+ 1. Debug issue
511
+ 2. Create commit
512
+ 3. PR workflow
513
+ 4. Quality check
514
+
515
+ You: 1
516
+
517
+ Claude: What error or unexpected behavior are you seeing?
518
+ ```
519
+
520
+ **How it works:**
521
+
522
+ 1. **Discovery** - Workflow asks targeted questions to understand your needs
523
+ 2. **Context gathering** - Collects relevant code, errors, and constraints
524
+ 3. **Dynamic agent creation** - Assembles the right team based on your answers
525
+ 4. **Execution** - Runs with appropriate tier selection
526
+
527
+ **Create custom agents with Socratic guidance:**
528
+
529
+ ```bash
530
+ /agent create # Guided agent creation
531
+ /agent team # Build multi-agent teams interactively
532
+ ```
533
+
534
+ ---
535
+
536
+ ## Cost Optimization
537
+
538
+ ### Skills = $0 (Claude Code)
539
+
540
+ When using Claude Code, workflows run as skills through the Task tool - **no API costs**:
541
+
542
+ ```bash
543
+ /dev # $0 - uses your Claude subscription
544
+ /testing # $0
545
+ /release # $0
546
+ /agent create # $0
547
+ ```
548
+
549
+ ### API Mode (CI/CD, Automation)
550
+
551
+ For programmatic use, smart tier routing saves 34-86%:
552
+
553
+ | Tier | Model | Use Case | Cost |
554
+ | ------- | ------------------- | --------------------------- | ----------- |
555
+ | CHEAP | Haiku / GPT-4o-mini | Formatting, simple tasks | ~$0.005 |
556
+ | CAPABLE | Sonnet / GPT-4o | Bug fixes, code review | ~$0.08 |
557
+ | PREMIUM | Opus / o1 | Architecture, complex design | ~$0.45 |
558
+
559
+ ```bash
560
+ # Track API usage and savings
561
+ empathy telemetry savings --days 30
562
+ ```
563
+
564
+ ---
565
+
566
+ ## Key Features
567
+
568
+ ### Multi-Agent Workflows
569
+
570
+ ```bash
571
+ # 4 parallel agents check release readiness
572
+ empathy orchestrate release-prep
573
+
574
+ # Sequential coverage improvement
575
+ empathy orchestrate test-coverage --target 90
576
+ ```
577
+
578
+ ### Response Caching
579
+
580
+ Up to 57% cache hit rate on similar prompts. Zero config needed.
581
+
582
+ ```python
583
+ from empathy_os.workflows import SecurityAuditWorkflow
584
+
585
+ workflow = SecurityAuditWorkflow(enable_cache=True)
586
+ result = await workflow.execute(target_path="./src")
587
+ print(f"Cache hit rate: {result.cost_report.cache_hit_rate:.1f}%")
588
+ ```
589
+
590
+ ### Pattern Learning
591
+
592
+ Workflows learn from outcomes and improve over time:
593
+
594
+ ```python
595
+ from empathy_os.orchestration.config_store import ConfigurationStore
596
+
597
+ store = ConfigurationStore()
598
+ best = store.get_best_for_task("release_prep")
599
+ print(f"Success rate: {best.success_rate:.1%}")
600
+ ```
601
+
602
+ ### Multi-Provider Support
603
+
604
+ ```python
605
+ from empathy_llm_toolkit.providers import (
606
+ AnthropicProvider, # Claude
607
+ OpenAIProvider, # GPT-4
608
+ GeminiProvider, # Gemini
609
+ LocalProvider, # Ollama, LM Studio
610
+ )
611
+ ```
612
+
613
+ ---
614
+
615
+ ## CLI Reference
616
+
617
+ ```bash
618
+ # Provider configuration
619
+ python -m empathy_os.models.cli provider
620
+ python -m empathy_os.models.cli provider --set hybrid
621
+
622
+ # Workflows
623
+ empathy workflow list
624
+ empathy workflow run <workflow-name>
625
+
626
+ # Cost tracking
627
+ empathy telemetry show
628
+ empathy telemetry savings --days 30
629
+ empathy telemetry export --format csv
630
+
631
+ # Orchestration
632
+ empathy orchestrate release-prep
633
+ empathy orchestrate test-coverage --target 90
634
+
635
+ # Meta-workflows
636
+ empathy meta-workflow list
637
+ empathy meta-workflow run release-prep --real
638
+ ```
639
+
640
+ ---
641
+
642
+ ## Install Options
643
+
644
+ ```bash
645
+ # Individual developers (recommended)
646
+ pip install empathy-framework[developer]
647
+
648
+ # All LLM providers
649
+ pip install empathy-framework[llm]
650
+
651
+ # With caching (semantic similarity)
652
+ pip install empathy-framework[cache]
653
+
654
+ # Enterprise (auth, rate limiting)
655
+ pip install empathy-framework[enterprise]
656
+
657
+ # Healthcare (HIPAA compliance)
658
+ pip install empathy-framework[healthcare]
659
+
660
+ # Development
661
+ git clone https://github.com/Smart-AI-Memory/empathy-framework.git
662
+ cd empathy-framework && pip install -e .[dev]
663
+ ```
664
+
665
+ ---
666
+
667
+ ## Environment Setup
668
+
669
+ ```bash
670
+ # At least one provider required
671
+ export ANTHROPIC_API_KEY="sk-ant-..."
672
+ export OPENAI_API_KEY="sk-..."
673
+ export GOOGLE_API_KEY="..."
674
+
675
+ # Optional: Redis for memory
676
+ export REDIS_URL="redis://localhost:6379"
677
+ ```
678
+
679
+ ---
680
+
681
+ ## VSCode Extension
682
+
683
+ Install the Empathy VSCode extension for:
684
+
685
+ - **Dashboard** - Health score, costs, patterns
686
+ - **One-Click Workflows** - Run from command palette
687
+ - **Memory Panel** - Manage Redis and patterns
688
+ - **Cost Tracking** - Real-time savings display
689
+
690
+ ---
691
+
692
+ ## Documentation
693
+
694
+ - [Quick Start Guide](docs/quickstart.md)
695
+ - [CLI Reference](docs/cli-reference.md)
696
+ - [Testing Guide](docs/testing-guide.md)
697
+ - [Keyboard Shortcuts](docs/keyboard-shortcuts.md)
698
+ - [Full Documentation](https://smartaimemory.com/framework-docs/)
699
+
700
+ ---
701
+
702
+ ## Security
703
+
704
+ - Path traversal protection on all file operations
705
+ - JWT authentication with rate limiting
706
+ - PII scrubbing in telemetry
707
+ - HIPAA/GDPR compliance options
708
+ - **Automated security scanning** with 82% accuracy (Phase 3 AST-based detection)
709
+
710
+ See [SECURITY.md](SECURITY.md) for vulnerability reporting.
711
+
712
+ ### Security Scanning
713
+
714
+ **Automated security scanning in CI/CD** - 82% accuracy, blocks critical issues:
715
+
716
+ ```bash
717
+ # Run security audit locally
718
+ empathy workflow run security-audit
719
+
720
+ # Scan specific directory
721
+ empathy workflow run security-audit --input '{"path":"./src"}'
722
+ ```
723
+
724
+ **Documentation:**
725
+
726
+ - **[Developer Workflow Guide](docs/DEVELOPER_SECURITY_WORKFLOW.md)** - Quick reference for handling security findings (all developers)
727
+ - **[CI/CD Integration Guide](docs/CI_SECURITY_SCANNING.md)** - Complete setup and troubleshooting (DevOps, developers)
728
+ - **[Scanner Architecture](docs/SECURITY_SCANNER_ARCHITECTURE.md)** - Technical implementation details (engineers, architects)
729
+ - **[Remediation Process](docs/SECURITY_REMEDIATION_PROCESS.md)** - 3-phase methodology for improving scanners (security teams, leadership)
730
+ - **[API Reference](docs/api-reference/security-scanner.md)** - Complete API documentation (developers extending scanner)
731
+
732
+ **Key achievements:**
733
+
734
+ - 82.3% reduction in false positives (350 → 62 findings)
735
+ - 16x improvement in scanner accuracy
736
+ - <15 minute average fix time for critical issues
737
+ - Zero critical vulnerabilities in production code
738
+
739
+ ---
740
+
741
+ ## Contributing
742
+
743
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
744
+
745
+ ---
746
+
747
+ ## License
748
+
749
+ **Fair Source License 0.9** - Free for students, educators, and teams ≤5 employees. Commercial license for larger organizations. [Details →](LICENSE)
750
+
751
+ ---
752
+
753
+ **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)