synapse-layer 1.2.0__tar.gz → 1.2.1__tar.gz

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 (61) hide show
  1. synapse_layer-1.2.1/PKG-INFO +306 -0
  2. synapse_layer-1.2.1/README.md +256 -0
  3. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/pyproject.toml +8 -10
  4. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_layer/__init__.py +1 -1
  5. synapse_layer-1.2.1/synapse_layer.egg-info/PKG-INFO +306 -0
  6. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_layer.egg-info/requires.txt +1 -1
  7. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/__init__.py +2 -2
  8. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/backends/__init__.py +2 -2
  9. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/backends/forge_backend.py +3 -3
  10. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/client.py +1 -1
  11. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/core.py +2 -2
  12. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/integrations/langchain_memory.py +1 -1
  13. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_forge_backend.py +2 -2
  14. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_privacy.py +2 -2
  15. synapse_layer-1.2.0/PKG-INFO +0 -377
  16. synapse_layer-1.2.0/README.md +0 -327
  17. synapse_layer-1.2.0/synapse_layer.egg-info/PKG-INFO +0 -377
  18. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/LICENSE +0 -0
  19. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/setup.cfg +0 -0
  20. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_layer.egg-info/SOURCES.txt +0 -0
  21. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_layer.egg-info/dependency_links.txt +0 -0
  22. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_layer.egg-info/top_level.txt +0 -0
  23. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/autosave/__init__.py +0 -0
  24. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/autosave/engine.py +0 -0
  25. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/autosave/formatter.py +0 -0
  26. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/autosave/policy.py +0 -0
  27. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/autosave/triggers.py +0 -0
  28. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/autosave/types.py +0 -0
  29. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/backends/interface.py +0 -0
  30. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/backends/memory_backend.py +0 -0
  31. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/backends/sqlite_backend.py +0 -0
  32. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/crypto/__init__.py +0 -0
  33. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/crypto/aes.py +0 -0
  34. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/embeddings.py +0 -0
  35. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/engine/__init__.py +0 -0
  36. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/engine/handover.py +0 -0
  37. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/engine/validator.py +0 -0
  38. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/exceptions.py +0 -0
  39. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/integrations/__init__.py +0 -0
  40. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/integrations/autogen_memory.py +0 -0
  41. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/integrations/crewai_memory.py +0 -0
  42. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/integrations/llamaindex.py +0 -0
  43. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/integrations/semantic_kernel.py +0 -0
  44. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/plugins/__init__.py +0 -0
  45. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/plugins/defaults.py +0 -0
  46. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/plugins/interfaces.py +0 -0
  47. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/plugins/plugin_loader.py +0 -0
  48. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/privacy.py +0 -0
  49. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/router.py +0 -0
  50. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/sanitizer.py +0 -0
  51. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/synapse_memory/wrapper.py +0 -0
  52. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_autosave.py +0 -0
  53. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_backends.py +0 -0
  54. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_core_integration.py +0 -0
  55. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_coverage_boost.py +0 -0
  56. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_crypto.py +0 -0
  57. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_handover.py +0 -0
  58. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_plugin_architecture.py +0 -0
  59. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_sanitizer.py +0 -0
  60. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_validator.py +0 -0
  61. {synapse_layer-1.2.0 → synapse_layer-1.2.1}/tests/test_wrapper.py +0 -0
@@ -0,0 +1,306 @@
1
+ Metadata-Version: 2.4
2
+ Name: synapse-layer
3
+ Version: 1.2.1
4
+ Summary: Persistent memory infrastructure for AI agents — AES-256-GCM encrypted at rest, semantic search, MCP-native.
5
+ Author-email: Ismael Marchi <founder.synapselayer@proton.me>
6
+ License: Apache 2.0
7
+ Project-URL: Homepage, https://synapselayer.org
8
+ Project-URL: Repository, https://github.com/SynapseLayer/synapse-layer
9
+ Project-URL: Documentation, https://synapselayer.org/docs
10
+ Project-URL: Issues, https://github.com/SynapseLayer/synapse-layer/issues
11
+ Project-URL: Changelog, https://github.com/SynapseLayer/synapse-layer/blob/main/CHANGELOG.md
12
+ Project-URL: Security, https://github.com/SynapseLayer/synapse-layer/blob/main/SECURITY.md
13
+ Keywords: mcp,memory,ai-agents,pgvector,encryption,persistent-memory,agentic-ai,cross-agent-memory
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: Apache Software License
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
23
+ Classifier: Topic :: Security :: Cryptography
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: cryptography>=46.0.7
28
+ Requires-Dist: pydantic>=2.4.0
29
+ Requires-Dist: httpx>=0.27.0
30
+ Provides-Extra: langchain
31
+ Requires-Dist: langchain-core>=0.3.0; extra == "langchain"
32
+ Provides-Extra: crewai
33
+ Requires-Dist: crewai>=1.14.0; extra == "crewai"
34
+ Provides-Extra: autogen
35
+ Requires-Dist: autogen-core>=0.7.0; extra == "autogen"
36
+ Provides-Extra: llamaindex
37
+ Requires-Dist: llama-index-core>=0.11.0; extra == "llamaindex"
38
+ Provides-Extra: semantic-kernel
39
+ Requires-Dist: semantic-kernel>=1.0.0; extra == "semantic-kernel"
40
+ Provides-Extra: dev
41
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
42
+ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
43
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
44
+ Requires-Dist: respx>=0.21.0; extra == "dev"
45
+ Requires-Dist: black>=24.0.0; extra == "dev"
46
+ Requires-Dist: isort>=5.13.0; extra == "dev"
47
+ Requires-Dist: mypy>=1.8.0; extra == "dev"
48
+ Requires-Dist: ruff>=0.3.0; extra == "dev"
49
+ Dynamic: license-file
50
+
51
+ [![npm version](https://badge.fury.io/js/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
52
+ [![npm version](https://badge.fury.io/js/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
53
+ [![npm downloads](https://img.shields.io/npm/dm/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
54
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
55
+
56
+ [![npm downloads](https://img.shields.io/npm/dm/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
57
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
58
+
59
+ <div align="center">
60
+
61
+ # 🧠 Synapse Layer
62
+
63
+ ### RAG retrieves. Synapse remembers.
64
+
65
+ **Persistent memory infrastructure for AI agents — AES-256-GCM encrypted at rest, semantic search, MCP-native.**
66
+
67
+ Synapse Layer is open-source persistent memory infrastructure for AI agents and assistants. Memories are encrypted at rest with AES-256-GCM, indexed via pgvector HNSW for semantic recall, and exposed through MCP JSON-RPC for native integration with Claude, GPT, Gemini, and any MCP-compatible client. Apache 2.0 licensed.
68
+
69
+ [![PyPI](https://img.shields.io/pypi/v/synapse-layer)](https://pypi.org/project/synapse-layer/)
70
+ [![Python](https://img.shields.io/pypi/pyversions/synapse-layer)](https://pypi.org/project/synapse-layer/)
71
+ [![Downloads](https://img.shields.io/pypi/dm/synapse-layer)](https://pypi.org/project/synapse-layer/)
72
+ [![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-6B4FBB)](https://modelcontextprotocol.io)
73
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
74
+ [![Smithery](https://smithery.ai/badge/synapselayer/synapse-protocol)](https://smithery.ai/servers/synapselayer/synapse-protocol)
75
+
76
+ [Website](https://synapselayer.org) · [Docs](https://forge.synapselayer.org/docs) · [PyPI](https://pypi.org/project/synapse-layer/) · [Forge](https://forge.synapselayer.org)
77
+
78
+ </div>
79
+
80
+ ---
81
+
82
+ ## ⚡ 30-Second Quickstart
83
+
84
+ ```bash
85
+ pip install synapse-layer
86
+ ```
87
+
88
+ ```python
89
+ from synapse_layer import Synapse
90
+
91
+ s = Synapse(token="sk_connect_YOUR_TOKEN")
92
+
93
+ s.save("user likes coffee")
94
+ print(s.recall("what does user like?"))
95
+ ```
96
+
97
+ Get your token at [forge.synapselayer.org](https://forge.synapselayer.org) → Dashboard → Connect
98
+
99
+ ---
100
+
101
+ ## What is Synapse Layer?
102
+
103
+ The **persistent memory layer for AI agents** — the missing piece between stateless LLMs and real continuity of context.
104
+
105
+ Your AI agents forget everything between sessions. Synapse Layer fixes that.
106
+
107
+ | Feature | Description |
108
+ |---------|-------------|
109
+ | 🔐 **Encrypted at rest** | AES-256-GCM with per-operation random IV and HMAC-SHA-256 integrity |
110
+ | 🧩 **One-click connect** | Claude Desktop, Cursor, LangChain, CrewAI, n8n |
111
+ | 🌐 **Cross-agent memory** | Save in ChatGPT, recall in Claude |
112
+ | ⚡ **MCP-native** | Any MCP-compatible agent |
113
+ | 🔒 **Header-first auth** | Tokens never in URLs or logs |
114
+ | 🎯 **Trust Quotient** | Deterministic recall — memories ranked by confidence, not recency alone |
115
+
116
+ ---
117
+
118
+ ## Why Synapse Layer?
119
+
120
+ > Your AI agents forget everything between sessions. Synapse Layer fixes that — in one line.
121
+
122
+ | Without Synapse Layer | With Synapse Layer |
123
+ |---|---|
124
+ | Agent forgets context every session | Persistent memory across all sessions |
125
+ | Memory locked to one model | Cross-agent: save in ChatGPT, recall in Claude |
126
+ | No audit trail | Trust Quotient scoring on every memory |
127
+ | Complex integration | `pip install synapse-layer` + 3 lines of code |
128
+ | Plaintext stored on servers | AES-256-GCM encrypted at rest |
129
+
130
+ ---
131
+
132
+ ## Use Cases
133
+
134
+ - **Long-term assistant memory** — persist user preferences, facts, and prior decisions across sessions.
135
+ - **Cross-agent continuity** — save context in one agent and recall it in another.
136
+ - **Secure memory for MCP clients** — connect Claude Desktop, Cursor, and other MCP-compatible tools to a governed memory layer.
137
+ - **Operational memory for teams** — maintain structured context, trust scoring, and searchable recall for production agents.
138
+
139
+ ---
140
+
141
+ ## Install
142
+
143
+ ```bash
144
+ pip install synapse-layer
145
+ ```
146
+
147
+ ## Quick Start
148
+
149
+ ### Local SDK — in-process memory
150
+
151
+ ```python
152
+ import asyncio
153
+ from synapse_layer import SynapseClient
154
+
155
+ async def main():
156
+ memory = SynapseClient(agent_id="my-agent")
157
+
158
+ # Save
159
+ await memory.store("User prefers dark mode and concise answers")
160
+
161
+ # Recall
162
+ results = await memory.recall("user preferences")
163
+ for r in results:
164
+ print(f"[TQ={r.trust_quotient:.2f}] {r.content}")
165
+
166
+ asyncio.run(main())
167
+ ```
168
+
169
+ ### Cloud — Forge API (persistent, cross-agent)
170
+
171
+ ```python
172
+ from synapse_memory.client import Synapse
173
+
174
+ client = Synapse(token="sk_connect_YOUR_TOKEN")
175
+ client.remember("User prefers dark mode and concise answers")
176
+ results = client.recall("user preferences")
177
+ for r in results:
178
+ print(r["content"])
179
+ ```
180
+
181
+ Get your token at [forge.synapselayer.org](https://forge.synapselayer.org) → Dashboard → Connect
182
+
183
+ ---
184
+
185
+ ## 13 MCP Tools at a Glance
186
+
187
+ Synapse Layer currently exposes 13 MCP tools for persistent memory workflows:
188
+
189
+ - `recall`
190
+ - `save_to_synapse`
191
+ - `process_text`
192
+ - `search`
193
+ - `health_check`
194
+ - `initialize_context`
195
+ - `save_memory`
196
+ - `store_memory`
197
+ - `recall_memory`
198
+ - `list_memories`
199
+ - `memory_feedback`
200
+ - `neural_handover`
201
+ - `slo_report`
202
+
203
+ These tools cover memory capture, semantic recall, structured storage, feedback loops, agent handoff, and operational observability.
204
+
205
+ ---
206
+
207
+ ## Deployment Modes
208
+
209
+ ### Local SDK
210
+ Use the local SDK when you want in-process memory access inside your Python application.
211
+
212
+ Best for:
213
+ - local prototypes
214
+ - Python-native workflows
215
+ - fast integration into existing apps
216
+
217
+ ### Cloud / Forge API
218
+ Use Forge when you need persistent, cross-session, and cross-agent memory with managed access tokens.
219
+
220
+ Best for:
221
+ - production assistants
222
+ - multi-agent systems
223
+ - MCP-based integrations
224
+ - shared memory across tools and sessions
225
+
226
+ ---
227
+
228
+ ## MCP Integration (Claude Desktop / Cursor)
229
+
230
+ Add to `claude_desktop_config.json`:
231
+
232
+ ```json
233
+ {
234
+ "mcpServers": {
235
+ "synapse-layer": {
236
+ "command": "npx",
237
+ "args": [
238
+ "mcp-remote",
239
+ "https://forge.synapselayer.org/mcp",
240
+ "--header",
241
+ "x-connect-token: sk_connect_YOUR_TOKEN"
242
+ ]
243
+ }
244
+ }
245
+ }
246
+ ```
247
+
248
+ Config file location:
249
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
250
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
251
+ - Linux: `~/.config/Claude/claude_desktop_config.json`
252
+
253
+ ---
254
+
255
+ ## API — Header-First Auth
256
+
257
+ ```bash
258
+ # Health check
259
+ curl -H "x-connect-token: sk_connect_YOUR_TOKEN" \
260
+ https://forge.synapselayer.org/api/connect/health
261
+
262
+ # Save memory
263
+ curl -X POST \
264
+ -H "x-connect-token: sk_connect_YOUR_TOKEN" \
265
+ -H "Content-Type: application/json" \
266
+ -d '{"content": "User is a Python developer"}' \
267
+ https://forge.synapselayer.org/api/v1/capture
268
+ ```
269
+
270
+ ---
271
+
272
+ ## Security
273
+
274
+ | Feature | Implementation |
275
+ |---------|---------------|
276
+ | Encryption | AES-256-GCM at rest with per-operation random IV |
277
+ | Integrity | HMAC-SHA-256 on content |
278
+ | Auth | Header-first (`x-connect-token`) — tokens never in URLs or logs |
279
+ | Privacy | Content sanitization + tenant-scoped encrypted storage |
280
+ | Isolation | 1 user = 1 tenant = 1 private mind |
281
+
282
+ See [SECURITY.md](SECURITY.md) for vulnerability reporting.
283
+
284
+ ---
285
+
286
+ ## Related Projects
287
+
288
+ | Project | Description |
289
+ |---------|-------------|
290
+ | [synapse-sdk-python](https://github.com/SynapseLayer/synapse-sdk-python) | Python SDK — LangChain, CrewAI, and A2A protocol adapters |
291
+ | [synapse-layer-skill](https://github.com/SynapseLayer/synapse-layer-skill) | MCP skill configuration for Claude Desktop, Cursor, Windsurf |
292
+ | [synapse-layer-langgraph](https://github.com/SynapseLayer/synapse-layer-langgraph) | LangGraph checkpoint saver with encrypted state persistence |
293
+
294
+ ---
295
+
296
+ ## Governance
297
+
298
+ - All public claims follow the [Public Claims Matrix](docs/PUBLIC_CLAIMS_MATRIX.md).
299
+ - Architecture details that reveal benefits are public; mechanisms that enable them are private.
300
+ - Claim = Reality. If it's not implemented, it's not in the README.
301
+
302
+ ---
303
+
304
+ ## License
305
+
306
+ Apache-2.0 © Synapse Layer
@@ -0,0 +1,256 @@
1
+ [![npm version](https://badge.fury.io/js/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
2
+ [![npm version](https://badge.fury.io/js/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
3
+ [![npm downloads](https://img.shields.io/npm/dm/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
4
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
5
+
6
+ [![npm downloads](https://img.shields.io/npm/dm/synapse-layer.svg)](https://www.npmjs.com/package/synapse-layer)
7
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
8
+
9
+ <div align="center">
10
+
11
+ # 🧠 Synapse Layer
12
+
13
+ ### RAG retrieves. Synapse remembers.
14
+
15
+ **Persistent memory infrastructure for AI agents — AES-256-GCM encrypted at rest, semantic search, MCP-native.**
16
+
17
+ Synapse Layer is open-source persistent memory infrastructure for AI agents and assistants. Memories are encrypted at rest with AES-256-GCM, indexed via pgvector HNSW for semantic recall, and exposed through MCP JSON-RPC for native integration with Claude, GPT, Gemini, and any MCP-compatible client. Apache 2.0 licensed.
18
+
19
+ [![PyPI](https://img.shields.io/pypi/v/synapse-layer)](https://pypi.org/project/synapse-layer/)
20
+ [![Python](https://img.shields.io/pypi/pyversions/synapse-layer)](https://pypi.org/project/synapse-layer/)
21
+ [![Downloads](https://img.shields.io/pypi/dm/synapse-layer)](https://pypi.org/project/synapse-layer/)
22
+ [![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-6B4FBB)](https://modelcontextprotocol.io)
23
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
24
+ [![Smithery](https://smithery.ai/badge/synapselayer/synapse-protocol)](https://smithery.ai/servers/synapselayer/synapse-protocol)
25
+
26
+ [Website](https://synapselayer.org) · [Docs](https://forge.synapselayer.org/docs) · [PyPI](https://pypi.org/project/synapse-layer/) · [Forge](https://forge.synapselayer.org)
27
+
28
+ </div>
29
+
30
+ ---
31
+
32
+ ## ⚡ 30-Second Quickstart
33
+
34
+ ```bash
35
+ pip install synapse-layer
36
+ ```
37
+
38
+ ```python
39
+ from synapse_layer import Synapse
40
+
41
+ s = Synapse(token="sk_connect_YOUR_TOKEN")
42
+
43
+ s.save("user likes coffee")
44
+ print(s.recall("what does user like?"))
45
+ ```
46
+
47
+ Get your token at [forge.synapselayer.org](https://forge.synapselayer.org) → Dashboard → Connect
48
+
49
+ ---
50
+
51
+ ## What is Synapse Layer?
52
+
53
+ The **persistent memory layer for AI agents** — the missing piece between stateless LLMs and real continuity of context.
54
+
55
+ Your AI agents forget everything between sessions. Synapse Layer fixes that.
56
+
57
+ | Feature | Description |
58
+ |---------|-------------|
59
+ | 🔐 **Encrypted at rest** | AES-256-GCM with per-operation random IV and HMAC-SHA-256 integrity |
60
+ | 🧩 **One-click connect** | Claude Desktop, Cursor, LangChain, CrewAI, n8n |
61
+ | 🌐 **Cross-agent memory** | Save in ChatGPT, recall in Claude |
62
+ | ⚡ **MCP-native** | Any MCP-compatible agent |
63
+ | 🔒 **Header-first auth** | Tokens never in URLs or logs |
64
+ | 🎯 **Trust Quotient** | Deterministic recall — memories ranked by confidence, not recency alone |
65
+
66
+ ---
67
+
68
+ ## Why Synapse Layer?
69
+
70
+ > Your AI agents forget everything between sessions. Synapse Layer fixes that — in one line.
71
+
72
+ | Without Synapse Layer | With Synapse Layer |
73
+ |---|---|
74
+ | Agent forgets context every session | Persistent memory across all sessions |
75
+ | Memory locked to one model | Cross-agent: save in ChatGPT, recall in Claude |
76
+ | No audit trail | Trust Quotient scoring on every memory |
77
+ | Complex integration | `pip install synapse-layer` + 3 lines of code |
78
+ | Plaintext stored on servers | AES-256-GCM encrypted at rest |
79
+
80
+ ---
81
+
82
+ ## Use Cases
83
+
84
+ - **Long-term assistant memory** — persist user preferences, facts, and prior decisions across sessions.
85
+ - **Cross-agent continuity** — save context in one agent and recall it in another.
86
+ - **Secure memory for MCP clients** — connect Claude Desktop, Cursor, and other MCP-compatible tools to a governed memory layer.
87
+ - **Operational memory for teams** — maintain structured context, trust scoring, and searchable recall for production agents.
88
+
89
+ ---
90
+
91
+ ## Install
92
+
93
+ ```bash
94
+ pip install synapse-layer
95
+ ```
96
+
97
+ ## Quick Start
98
+
99
+ ### Local SDK — in-process memory
100
+
101
+ ```python
102
+ import asyncio
103
+ from synapse_layer import SynapseClient
104
+
105
+ async def main():
106
+ memory = SynapseClient(agent_id="my-agent")
107
+
108
+ # Save
109
+ await memory.store("User prefers dark mode and concise answers")
110
+
111
+ # Recall
112
+ results = await memory.recall("user preferences")
113
+ for r in results:
114
+ print(f"[TQ={r.trust_quotient:.2f}] {r.content}")
115
+
116
+ asyncio.run(main())
117
+ ```
118
+
119
+ ### Cloud — Forge API (persistent, cross-agent)
120
+
121
+ ```python
122
+ from synapse_memory.client import Synapse
123
+
124
+ client = Synapse(token="sk_connect_YOUR_TOKEN")
125
+ client.remember("User prefers dark mode and concise answers")
126
+ results = client.recall("user preferences")
127
+ for r in results:
128
+ print(r["content"])
129
+ ```
130
+
131
+ Get your token at [forge.synapselayer.org](https://forge.synapselayer.org) → Dashboard → Connect
132
+
133
+ ---
134
+
135
+ ## 13 MCP Tools at a Glance
136
+
137
+ Synapse Layer currently exposes 13 MCP tools for persistent memory workflows:
138
+
139
+ - `recall`
140
+ - `save_to_synapse`
141
+ - `process_text`
142
+ - `search`
143
+ - `health_check`
144
+ - `initialize_context`
145
+ - `save_memory`
146
+ - `store_memory`
147
+ - `recall_memory`
148
+ - `list_memories`
149
+ - `memory_feedback`
150
+ - `neural_handover`
151
+ - `slo_report`
152
+
153
+ These tools cover memory capture, semantic recall, structured storage, feedback loops, agent handoff, and operational observability.
154
+
155
+ ---
156
+
157
+ ## Deployment Modes
158
+
159
+ ### Local SDK
160
+ Use the local SDK when you want in-process memory access inside your Python application.
161
+
162
+ Best for:
163
+ - local prototypes
164
+ - Python-native workflows
165
+ - fast integration into existing apps
166
+
167
+ ### Cloud / Forge API
168
+ Use Forge when you need persistent, cross-session, and cross-agent memory with managed access tokens.
169
+
170
+ Best for:
171
+ - production assistants
172
+ - multi-agent systems
173
+ - MCP-based integrations
174
+ - shared memory across tools and sessions
175
+
176
+ ---
177
+
178
+ ## MCP Integration (Claude Desktop / Cursor)
179
+
180
+ Add to `claude_desktop_config.json`:
181
+
182
+ ```json
183
+ {
184
+ "mcpServers": {
185
+ "synapse-layer": {
186
+ "command": "npx",
187
+ "args": [
188
+ "mcp-remote",
189
+ "https://forge.synapselayer.org/mcp",
190
+ "--header",
191
+ "x-connect-token: sk_connect_YOUR_TOKEN"
192
+ ]
193
+ }
194
+ }
195
+ }
196
+ ```
197
+
198
+ Config file location:
199
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
200
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
201
+ - Linux: `~/.config/Claude/claude_desktop_config.json`
202
+
203
+ ---
204
+
205
+ ## API — Header-First Auth
206
+
207
+ ```bash
208
+ # Health check
209
+ curl -H "x-connect-token: sk_connect_YOUR_TOKEN" \
210
+ https://forge.synapselayer.org/api/connect/health
211
+
212
+ # Save memory
213
+ curl -X POST \
214
+ -H "x-connect-token: sk_connect_YOUR_TOKEN" \
215
+ -H "Content-Type: application/json" \
216
+ -d '{"content": "User is a Python developer"}' \
217
+ https://forge.synapselayer.org/api/v1/capture
218
+ ```
219
+
220
+ ---
221
+
222
+ ## Security
223
+
224
+ | Feature | Implementation |
225
+ |---------|---------------|
226
+ | Encryption | AES-256-GCM at rest with per-operation random IV |
227
+ | Integrity | HMAC-SHA-256 on content |
228
+ | Auth | Header-first (`x-connect-token`) — tokens never in URLs or logs |
229
+ | Privacy | Content sanitization + tenant-scoped encrypted storage |
230
+ | Isolation | 1 user = 1 tenant = 1 private mind |
231
+
232
+ See [SECURITY.md](SECURITY.md) for vulnerability reporting.
233
+
234
+ ---
235
+
236
+ ## Related Projects
237
+
238
+ | Project | Description |
239
+ |---------|-------------|
240
+ | [synapse-sdk-python](https://github.com/SynapseLayer/synapse-sdk-python) | Python SDK — LangChain, CrewAI, and A2A protocol adapters |
241
+ | [synapse-layer-skill](https://github.com/SynapseLayer/synapse-layer-skill) | MCP skill configuration for Claude Desktop, Cursor, Windsurf |
242
+ | [synapse-layer-langgraph](https://github.com/SynapseLayer/synapse-layer-langgraph) | LangGraph checkpoint saver with encrypted state persistence |
243
+
244
+ ---
245
+
246
+ ## Governance
247
+
248
+ - All public claims follow the [Public Claims Matrix](docs/PUBLIC_CLAIMS_MATRIX.md).
249
+ - Architecture details that reveal benefits are public; mechanisms that enable them are private.
250
+ - Claim = Reality. If it's not implemented, it's not in the README.
251
+
252
+ ---
253
+
254
+ ## License
255
+
256
+ Apache-2.0 © Synapse Layer
@@ -4,23 +4,21 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "synapse-layer"
7
- version = "1.2.0"
8
- description = "Zero-Knowledge Memory Layer for AI AgentsCognitive Security Protocol with 4 proprietary seals. Giving Agents a Past. Giving Models a Soul."
7
+ version = "1.2.1"
8
+ description = "Persistent memory infrastructure for AI agentsAES-256-GCM encrypted at rest, semantic search, MCP-native."
9
9
  readme = "README.md"
10
10
  license = {text = "Apache 2.0"}
11
11
  authors = [{name = "Ismael Marchi", email = "founder.synapselayer@proton.me"}]
12
12
 
13
13
  keywords = [
14
- "ai-agents",
14
+ "mcp",
15
15
  "memory",
16
- "zero-knowledge",
16
+ "ai-agents",
17
+ "pgvector",
17
18
  "encryption",
18
- "mcp",
19
+ "persistent-memory",
19
20
  "agentic-ai",
20
- "lgpd",
21
- "cognitive-security",
22
- "differential-privacy",
23
- "neural-handover",
21
+ "cross-agent-memory",
24
22
  ]
25
23
 
26
24
  classifiers = [
@@ -41,7 +39,6 @@ dependencies = [
41
39
  "cryptography>=46.0.7",
42
40
  "pydantic>=2.4.0",
43
41
  "httpx>=0.27.0",
44
- "python-dotenv>=1.0.1",
45
42
  ]
46
43
 
47
44
  [project.optional-dependencies]
@@ -64,6 +61,7 @@ dev = [
64
61
  "pytest>=8.0.0",
65
62
  "pytest-cov>=5.0.0",
66
63
  "pytest-asyncio>=0.23.0",
64
+ "respx>=0.21.0",
67
65
  "black>=24.0.0",
68
66
  "isort>=5.13.0",
69
67
  "mypy>=1.8.0",
@@ -1,5 +1,5 @@
1
1
  """
2
- Synapse Layer — Zero-Knowledge Memory Layer for AI Agents
2
+ Synapse Layer — Persistent Memory Infrastructure for AI Agents
3
3
 
4
4
  This module provides the public API surface matching the package name.
5
5
  ``from synapse_layer import ...`` works as expected after