synapt 0.3.0__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 (45) hide show
  1. synapt-0.3.0/LICENSE +21 -0
  2. synapt-0.3.0/PKG-INFO +165 -0
  3. synapt-0.3.0/README.md +133 -0
  4. synapt-0.3.0/pyproject.toml +42 -0
  5. synapt-0.3.0/setup.cfg +4 -0
  6. synapt-0.3.0/src/synapt/__init__.py +3 -0
  7. synapt-0.3.0/src/synapt/_models/__init__.py +5 -0
  8. synapt-0.3.0/src/synapt/_models/api_vision.py +354 -0
  9. synapt-0.3.0/src/synapt/_models/base.py +21 -0
  10. synapt-0.3.0/src/synapt/_models/mlx_client.py +133 -0
  11. synapt-0.3.0/src/synapt/_models/ollama_client.py +44 -0
  12. synapt-0.3.0/src/synapt/_models/transformers_client.py +125 -0
  13. synapt-0.3.0/src/synapt/cli.py +64 -0
  14. synapt-0.3.0/src/synapt/plugins.py +90 -0
  15. synapt-0.3.0/src/synapt/recall/__init__.py +41 -0
  16. synapt-0.3.0/src/synapt/recall/_llm_util.py +44 -0
  17. synapt-0.3.0/src/synapt/recall/_model_router.py +155 -0
  18. synapt-0.3.0/src/synapt/recall/archive.py +374 -0
  19. synapt-0.3.0/src/synapt/recall/bm25.py +147 -0
  20. synapt-0.3.0/src/synapt/recall/chatgpt.py +233 -0
  21. synapt-0.3.0/src/synapt/recall/cli.py +1840 -0
  22. synapt-0.3.0/src/synapt/recall/clustering.py +609 -0
  23. synapt-0.3.0/src/synapt/recall/consolidate.py +1062 -0
  24. synapt-0.3.0/src/synapt/recall/core.py +2709 -0
  25. synapt-0.3.0/src/synapt/recall/embeddings.py +130 -0
  26. synapt-0.3.0/src/synapt/recall/enrich.py +558 -0
  27. synapt-0.3.0/src/synapt/recall/journal.py +482 -0
  28. synapt-0.3.0/src/synapt/recall/knowledge.py +361 -0
  29. synapt-0.3.0/src/synapt/recall/live.py +316 -0
  30. synapt-0.3.0/src/synapt/recall/promotion.py +213 -0
  31. synapt-0.3.0/src/synapt/recall/reminders.py +169 -0
  32. synapt-0.3.0/src/synapt/recall/scrub.py +190 -0
  33. synapt-0.3.0/src/synapt/recall/server.py +1155 -0
  34. synapt-0.3.0/src/synapt/recall/storage.py +1895 -0
  35. synapt-0.3.0/src/synapt/recall/tagging.py +118 -0
  36. synapt-0.3.0/src/synapt/recall/timeline.py +285 -0
  37. synapt-0.3.0/src/synapt/recall/working_memory.py +116 -0
  38. synapt-0.3.0/src/synapt/server.py +63 -0
  39. synapt-0.3.0/src/synapt.egg-info/PKG-INFO +165 -0
  40. synapt-0.3.0/src/synapt.egg-info/SOURCES.txt +43 -0
  41. synapt-0.3.0/src/synapt.egg-info/dependency_links.txt +1 -0
  42. synapt-0.3.0/src/synapt.egg-info/entry_points.txt +4 -0
  43. synapt-0.3.0/src/synapt.egg-info/requires.txt +25 -0
  44. synapt-0.3.0/src/synapt.egg-info/top_level.txt +1 -0
  45. synapt-0.3.0/tests/test_plugins.py +150 -0
synapt-0.3.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Layne Penney
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
synapt-0.3.0/PKG-INFO ADDED
@@ -0,0 +1,165 @@
1
+ Metadata-Version: 2.4
2
+ Name: synapt
3
+ Version: 0.3.0
4
+ Summary: Persistent conversational memory for AI coding assistants
5
+ Author: Layne Penney
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://synapt.dev
8
+ Project-URL: Repository, https://github.com/laynepenney/synapt
9
+ Requires-Python: >=3.10
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Provides-Extra: mcp
13
+ Requires-Dist: mcp[cli]>=1.0; extra == "mcp"
14
+ Provides-Extra: embeddings
15
+ Requires-Dist: sentence-transformers>=2.0; extra == "embeddings"
16
+ Provides-Extra: hf
17
+ Requires-Dist: huggingface_hub>=0.20; extra == "hf"
18
+ Provides-Extra: transformers
19
+ Requires-Dist: transformers>=4.30; extra == "transformers"
20
+ Requires-Dist: torch>=2.0; extra == "transformers"
21
+ Provides-Extra: all
22
+ Requires-Dist: mcp[cli]>=1.0; extra == "all"
23
+ Requires-Dist: sentence-transformers>=2.0; extra == "all"
24
+ Requires-Dist: huggingface_hub>=0.20; extra == "all"
25
+ Requires-Dist: transformers>=4.30; extra == "all"
26
+ Requires-Dist: torch>=2.0; extra == "all"
27
+ Provides-Extra: test
28
+ Requires-Dist: pytest>=7.0; extra == "test"
29
+ Requires-Dist: numpy; extra == "test"
30
+ Requires-Dist: pytest-benchmark>=4.0; extra == "test"
31
+ Dynamic: license-file
32
+
33
+ # synapt
34
+
35
+ Persistent conversational memory for AI coding assistants. Synapt indexes your past coding sessions and makes them searchable — so your AI assistant remembers what you worked on, decisions you made, and patterns you established.
36
+
37
+ Works as an [MCP server](https://modelcontextprotocol.io/) for Claude Code and other MCP-compatible tools.
38
+
39
+ ## Install
40
+
41
+ ```bash
42
+ pip install synapt
43
+
44
+ # With MCP server support (recommended)
45
+ pip install 'synapt[mcp]'
46
+ ```
47
+
48
+ ## Quick start
49
+
50
+ ### 1. Build the index
51
+
52
+ Synapt discovers Claude Code transcripts automatically:
53
+
54
+ ```bash
55
+ synapt recall build
56
+ ```
57
+
58
+ ### 2. Search past sessions
59
+
60
+ ```bash
61
+ synapt recall search "how did we fix the auth bug"
62
+ ```
63
+
64
+ ### 3. Use as an MCP server
65
+
66
+ Add to your Claude Code config (`.mcp.json`):
67
+
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "synapt": {
72
+ "type": "stdio",
73
+ "command": "synapt",
74
+ "args": ["server"]
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ This gives your AI assistant 13 tools for searching past sessions, managing a journal, setting reminders, and building a durable knowledge base.
81
+
82
+ ## Features
83
+
84
+ - **Transcript indexing** — BM25 full-text search over past coding sessions
85
+ - **Topic clustering** — Jaccard token-overlap clustering groups related chunks
86
+ - **Knowledge consolidation** — Extracts durable knowledge from session journals
87
+ - **Session journal** — Rich entries with focus, decisions, done items, and next steps
88
+ - **Reminders** — Cross-session sticky reminders that surface at session start
89
+ - **Timeline** — Chronological work arcs showing project narrative
90
+ - **LLM enrichment** — Optional LLM-powered summaries and cluster upgrades
91
+ - **Working memory** — Frequency-boosted search results for active topics
92
+ - **Plugin system** — Extend with additional tools via entry-point discovery
93
+
94
+ ## MCP tools
95
+
96
+ | Tool | Description |
97
+ |------|-------------|
98
+ | `recall_search` | Search past sessions by query |
99
+ | `recall_context` | Get context for the current session |
100
+ | `recall_files` | Find sessions that touched specific files |
101
+ | `recall_sessions` | List indexed sessions |
102
+ | `recall_timeline` | View chronological work arcs |
103
+ | `recall_build` | Build or rebuild the transcript index |
104
+ | `recall_setup` | Auto-configure hooks and MCP integration |
105
+ | `recall_stats` | Index statistics |
106
+ | `recall_journal` | Write rich session journal entries |
107
+ | `recall_remind` | Set cross-session reminders |
108
+ | `recall_enrich` | LLM-powered chunk summarization |
109
+ | `recall_consolidate` | Extract knowledge from journals |
110
+ | `recall_contradict` | Flag contradictions in knowledge |
111
+
112
+ ## CLI reference
113
+
114
+ ```bash
115
+ synapt recall build # Build index (discovers transcripts automatically)
116
+ synapt recall build --incremental # Skip already-indexed files
117
+ synapt recall search "query" # Search past sessions
118
+ synapt recall stats # Show index statistics
119
+ synapt recall journal --write # Write a session journal entry
120
+ synapt recall setup # Auto-configure hooks
121
+ synapt server # Start MCP server
122
+ ```
123
+
124
+ ## Optional backends
125
+
126
+ Synapt uses local LLMs for enrichment and summarization. Install optional backends:
127
+
128
+ ```bash
129
+ # MLX (Apple Silicon)
130
+ pip install mlx-lm
131
+
132
+ # Ollama
133
+ # Install from https://ollama.com, then:
134
+ ollama pull qwen2.5:3b
135
+
136
+ # Transformers (GPU/CPU)
137
+ pip install 'synapt[transformers]'
138
+ ```
139
+
140
+ ## Plugins
141
+
142
+ Synapt discovers plugins via Python entry points. To create a plugin:
143
+
144
+ 1. Create a module with a `register_tools(mcp)` function
145
+ 2. Register it in your `pyproject.toml`:
146
+
147
+ ```toml
148
+ [project.entry-points."synapt.plugins"]
149
+ my_plugin = "my_package.server"
150
+ ```
151
+
152
+ The MCP server automatically discovers and loads plugins at startup.
153
+
154
+ ## Development
155
+
156
+ ```bash
157
+ git clone https://github.com/laynepenney/synapt.git
158
+ cd synapt
159
+ pip install -e ".[test]"
160
+ pytest tests/ -v
161
+ ```
162
+
163
+ ## License
164
+
165
+ MIT
synapt-0.3.0/README.md ADDED
@@ -0,0 +1,133 @@
1
+ # synapt
2
+
3
+ Persistent conversational memory for AI coding assistants. Synapt indexes your past coding sessions and makes them searchable — so your AI assistant remembers what you worked on, decisions you made, and patterns you established.
4
+
5
+ Works as an [MCP server](https://modelcontextprotocol.io/) for Claude Code and other MCP-compatible tools.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pip install synapt
11
+
12
+ # With MCP server support (recommended)
13
+ pip install 'synapt[mcp]'
14
+ ```
15
+
16
+ ## Quick start
17
+
18
+ ### 1. Build the index
19
+
20
+ Synapt discovers Claude Code transcripts automatically:
21
+
22
+ ```bash
23
+ synapt recall build
24
+ ```
25
+
26
+ ### 2. Search past sessions
27
+
28
+ ```bash
29
+ synapt recall search "how did we fix the auth bug"
30
+ ```
31
+
32
+ ### 3. Use as an MCP server
33
+
34
+ Add to your Claude Code config (`.mcp.json`):
35
+
36
+ ```json
37
+ {
38
+ "mcpServers": {
39
+ "synapt": {
40
+ "type": "stdio",
41
+ "command": "synapt",
42
+ "args": ["server"]
43
+ }
44
+ }
45
+ }
46
+ ```
47
+
48
+ This gives your AI assistant 13 tools for searching past sessions, managing a journal, setting reminders, and building a durable knowledge base.
49
+
50
+ ## Features
51
+
52
+ - **Transcript indexing** — BM25 full-text search over past coding sessions
53
+ - **Topic clustering** — Jaccard token-overlap clustering groups related chunks
54
+ - **Knowledge consolidation** — Extracts durable knowledge from session journals
55
+ - **Session journal** — Rich entries with focus, decisions, done items, and next steps
56
+ - **Reminders** — Cross-session sticky reminders that surface at session start
57
+ - **Timeline** — Chronological work arcs showing project narrative
58
+ - **LLM enrichment** — Optional LLM-powered summaries and cluster upgrades
59
+ - **Working memory** — Frequency-boosted search results for active topics
60
+ - **Plugin system** — Extend with additional tools via entry-point discovery
61
+
62
+ ## MCP tools
63
+
64
+ | Tool | Description |
65
+ |------|-------------|
66
+ | `recall_search` | Search past sessions by query |
67
+ | `recall_context` | Get context for the current session |
68
+ | `recall_files` | Find sessions that touched specific files |
69
+ | `recall_sessions` | List indexed sessions |
70
+ | `recall_timeline` | View chronological work arcs |
71
+ | `recall_build` | Build or rebuild the transcript index |
72
+ | `recall_setup` | Auto-configure hooks and MCP integration |
73
+ | `recall_stats` | Index statistics |
74
+ | `recall_journal` | Write rich session journal entries |
75
+ | `recall_remind` | Set cross-session reminders |
76
+ | `recall_enrich` | LLM-powered chunk summarization |
77
+ | `recall_consolidate` | Extract knowledge from journals |
78
+ | `recall_contradict` | Flag contradictions in knowledge |
79
+
80
+ ## CLI reference
81
+
82
+ ```bash
83
+ synapt recall build # Build index (discovers transcripts automatically)
84
+ synapt recall build --incremental # Skip already-indexed files
85
+ synapt recall search "query" # Search past sessions
86
+ synapt recall stats # Show index statistics
87
+ synapt recall journal --write # Write a session journal entry
88
+ synapt recall setup # Auto-configure hooks
89
+ synapt server # Start MCP server
90
+ ```
91
+
92
+ ## Optional backends
93
+
94
+ Synapt uses local LLMs for enrichment and summarization. Install optional backends:
95
+
96
+ ```bash
97
+ # MLX (Apple Silicon)
98
+ pip install mlx-lm
99
+
100
+ # Ollama
101
+ # Install from https://ollama.com, then:
102
+ ollama pull qwen2.5:3b
103
+
104
+ # Transformers (GPU/CPU)
105
+ pip install 'synapt[transformers]'
106
+ ```
107
+
108
+ ## Plugins
109
+
110
+ Synapt discovers plugins via Python entry points. To create a plugin:
111
+
112
+ 1. Create a module with a `register_tools(mcp)` function
113
+ 2. Register it in your `pyproject.toml`:
114
+
115
+ ```toml
116
+ [project.entry-points."synapt.plugins"]
117
+ my_plugin = "my_package.server"
118
+ ```
119
+
120
+ The MCP server automatically discovers and loads plugins at startup.
121
+
122
+ ## Development
123
+
124
+ ```bash
125
+ git clone https://github.com/laynepenney/synapt.git
126
+ cd synapt
127
+ pip install -e ".[test]"
128
+ pytest tests/ -v
129
+ ```
130
+
131
+ ## License
132
+
133
+ MIT
@@ -0,0 +1,42 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "synapt"
7
+ version = "0.3.0"
8
+ description = "Persistent conversational memory for AI coding assistants"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ requires-python = ">=3.10"
12
+ dependencies = []
13
+ authors = [
14
+ {name = "Layne Penney"},
15
+ ]
16
+
17
+ [project.urls]
18
+ Homepage = "https://synapt.dev"
19
+ Repository = "https://github.com/laynepenney/synapt"
20
+
21
+ [project.optional-dependencies]
22
+ mcp = ["mcp[cli]>=1.0"]
23
+ embeddings = ["sentence-transformers>=2.0"]
24
+ hf = ["huggingface_hub>=0.20"]
25
+ transformers = ["transformers>=4.30", "torch>=2.0"]
26
+ all = ["mcp[cli]>=1.0", "sentence-transformers>=2.0", "huggingface_hub>=0.20", "transformers>=4.30", "torch>=2.0"]
27
+ test = ["pytest>=7.0", "numpy", "pytest-benchmark>=4.0"]
28
+
29
+ [project.scripts]
30
+ synapt = "synapt.cli:main"
31
+ synapt-recall = "synapt.recall.cli:main"
32
+ synapt-recall-server = "synapt.recall.server:main"
33
+
34
+ [project.entry-points."synapt.plugins"]
35
+ # Plugins register here via their own pyproject.toml. Example:
36
+ # repair = "synapt_repair.server"
37
+
38
+ [tool.pytest.ini_options]
39
+ addopts = "--benchmark-disable"
40
+
41
+ [tool.setuptools.packages.find]
42
+ where = ["src"]
synapt-0.3.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,3 @@
1
+ """Synapt: persistent conversational memory for AI coding assistants."""
2
+
3
+ __version__ = "0.3.0"
@@ -0,0 +1,5 @@
1
+ """synapt._models — shared model client abstractions (MLX, Ollama)."""
2
+
3
+ from synapt._models.base import Message, ModelClient # noqa: F401
4
+
5
+ __all__ = ["Message", "ModelClient"]