omni-cortex 1.0.1__py3-none-any.whl → 1.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {omni_cortex-1.0.1.data → omni_cortex-1.0.3.data}/data/share/omni-cortex/hooks/post_tool_use.py +9 -3
- {omni_cortex-1.0.1.data → omni_cortex-1.0.3.data}/data/share/omni-cortex/hooks/pre_tool_use.py +18 -3
- {omni_cortex-1.0.1.dist-info → omni_cortex-1.0.3.dist-info}/METADATA +42 -2
- omni_cortex-1.0.3.dist-info/RECORD +9 -0
- omni_cortex-1.0.1.dist-info/RECORD +0 -9
- {omni_cortex-1.0.1.data → omni_cortex-1.0.3.data}/data/share/omni-cortex/hooks/stop.py +0 -0
- {omni_cortex-1.0.1.data → omni_cortex-1.0.3.data}/data/share/omni-cortex/hooks/subagent_stop.py +0 -0
- {omni_cortex-1.0.1.dist-info → omni_cortex-1.0.3.dist-info}/WHEEL +0 -0
- {omni_cortex-1.0.1.dist-info → omni_cortex-1.0.3.dist-info}/entry_points.txt +0 -0
- {omni_cortex-1.0.1.dist-info → omni_cortex-1.0.3.dist-info}/licenses/LICENSE +0 -0
{omni_cortex-1.0.1.data → omni_cortex-1.0.3.data}/data/share/omni-cortex/hooks/post_tool_use.py
RENAMED
|
@@ -87,8 +87,13 @@ def truncate(text: str, max_length: int = 10000) -> str:
|
|
|
87
87
|
def main():
|
|
88
88
|
"""Process PostToolUse hook."""
|
|
89
89
|
try:
|
|
90
|
-
# Read input
|
|
91
|
-
|
|
90
|
+
# Read all input at once (more reliable than json.load on stdin)
|
|
91
|
+
raw_input = sys.stdin.read()
|
|
92
|
+
if not raw_input or not raw_input.strip():
|
|
93
|
+
print(json.dumps({}))
|
|
94
|
+
return
|
|
95
|
+
|
|
96
|
+
input_data = json.loads(raw_input)
|
|
92
97
|
|
|
93
98
|
# Extract data from hook input
|
|
94
99
|
tool_name = input_data.get("tool_name")
|
|
@@ -103,7 +108,8 @@ def main():
|
|
|
103
108
|
error_message = tool_output.get("error") or tool_output.get("message")
|
|
104
109
|
|
|
105
110
|
# Skip logging our own tools to prevent recursion
|
|
106
|
-
|
|
111
|
+
# MCP tools are named like "mcp__omni-cortex__cortex_remember"
|
|
112
|
+
if tool_name and ("cortex_" in tool_name or "omni-cortex" in tool_name):
|
|
107
113
|
print(json.dumps({}))
|
|
108
114
|
return
|
|
109
115
|
|
{omni_cortex-1.0.1.data → omni_cortex-1.0.3.data}/data/share/omni-cortex/hooks/pre_tool_use.py
RENAMED
|
@@ -87,8 +87,22 @@ def truncate(text: str, max_length: int = 10000) -> str:
|
|
|
87
87
|
def main():
|
|
88
88
|
"""Process PreToolUse hook."""
|
|
89
89
|
try:
|
|
90
|
-
# Read input from stdin
|
|
91
|
-
|
|
90
|
+
# Read input from stdin with timeout protection
|
|
91
|
+
import select
|
|
92
|
+
if sys.platform != "win32":
|
|
93
|
+
# Unix: use select for timeout
|
|
94
|
+
ready, _, _ = select.select([sys.stdin], [], [], 5.0)
|
|
95
|
+
if not ready:
|
|
96
|
+
print(json.dumps({}))
|
|
97
|
+
return
|
|
98
|
+
|
|
99
|
+
# Read all input at once
|
|
100
|
+
raw_input = sys.stdin.read()
|
|
101
|
+
if not raw_input or not raw_input.strip():
|
|
102
|
+
print(json.dumps({}))
|
|
103
|
+
return
|
|
104
|
+
|
|
105
|
+
input_data = json.loads(raw_input)
|
|
92
106
|
|
|
93
107
|
# Extract data from hook input
|
|
94
108
|
tool_name = input_data.get("tool_name")
|
|
@@ -96,7 +110,8 @@ def main():
|
|
|
96
110
|
agent_id = input_data.get("agent_id")
|
|
97
111
|
|
|
98
112
|
# Skip logging our own tools to prevent recursion
|
|
99
|
-
|
|
113
|
+
# MCP tools are named like "mcp__omni-cortex__cortex_remember"
|
|
114
|
+
if tool_name and ("cortex_" in tool_name or "omni-cortex" in tool_name):
|
|
100
115
|
print(json.dumps({}))
|
|
101
116
|
return
|
|
102
117
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omni-cortex
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.3
|
|
4
4
|
Summary: Universal Memory MCP for Claude Code - dual-layer activity logging and knowledge storage
|
|
5
5
|
Project-URL: Homepage, https://github.com/AllCytes/Omni-Cortex
|
|
6
6
|
Project-URL: Repository, https://github.com/AllCytes/Omni-Cortex
|
|
@@ -43,7 +43,7 @@ A universal memory system for Claude Code that combines activity logging with in
|
|
|
43
43
|
|
|
44
44
|
- **Zero Configuration**: Works out of the box - just install and run setup
|
|
45
45
|
- **Dual-Layer Storage**: Activity logging (audit trail) + Knowledge store (memories)
|
|
46
|
-
- **
|
|
46
|
+
- **18 MCP Tools**: Full-featured API for memory management, activity tracking, session continuity, and cross-project search
|
|
47
47
|
- **Semantic Search**: AI-powered search using sentence-transformers (optional)
|
|
48
48
|
- **Hybrid Search**: Combines keyword (FTS5) + semantic search for best results
|
|
49
49
|
- **Full-Text Search**: SQLite FTS5-powered keyword search with smart ranking
|
|
@@ -163,6 +163,14 @@ pip uninstall omni-cortex
|
|
|
163
163
|
| `cortex_review_memories` | Review and update memory freshness |
|
|
164
164
|
| `cortex_export` | Export data to markdown or JSON |
|
|
165
165
|
|
|
166
|
+
### Global Tools (3)
|
|
167
|
+
|
|
168
|
+
| Tool | Description |
|
|
169
|
+
|------|-------------|
|
|
170
|
+
| `cortex_global_search` | Search memories across all projects |
|
|
171
|
+
| `cortex_global_stats` | Get global index statistics |
|
|
172
|
+
| `cortex_sync_to_global` | Manually sync to global index |
|
|
173
|
+
|
|
166
174
|
## Memory Types
|
|
167
175
|
|
|
168
176
|
Memories are automatically categorized into:
|
|
@@ -197,6 +205,30 @@ auto_provide_context: true
|
|
|
197
205
|
context_depth: 3
|
|
198
206
|
```
|
|
199
207
|
|
|
208
|
+
## Documentation
|
|
209
|
+
|
|
210
|
+
- [Tool Reference](docs/TOOLS.md) - Complete documentation for all 18 tools with examples
|
|
211
|
+
- [Configuration Guide](docs/CONFIGURATION.md) - Configuration options and troubleshooting
|
|
212
|
+
- **Teaching Materials** (PDF):
|
|
213
|
+
- `docs/OmniCortex_QuickStart.pdf` - 3-page quick start guide
|
|
214
|
+
- `docs/OmniCortex_FeatureComparison.pdf` - Comparison with basic memory MCPs
|
|
215
|
+
- `docs/OmniCortex_Philosophy.pdf` - Design principles and inspiration
|
|
216
|
+
- `docs/OmniCortex_CommandReference.pdf` - All tools with parameters
|
|
217
|
+
|
|
218
|
+
### Regenerating PDFs
|
|
219
|
+
|
|
220
|
+
To regenerate the teaching material PDFs:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# Requires reportlab
|
|
224
|
+
pip install reportlab
|
|
225
|
+
|
|
226
|
+
# Generate all 4 PDFs
|
|
227
|
+
python docs/create_pdfs.py
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
The PDFs use a light theme with blue/purple/green accents. Edit `docs/create_pdfs.py` to customize colors or content.
|
|
231
|
+
|
|
200
232
|
## Development
|
|
201
233
|
|
|
202
234
|
```bash
|
|
@@ -211,6 +243,14 @@ black src tests
|
|
|
211
243
|
ruff check src tests
|
|
212
244
|
```
|
|
213
245
|
|
|
246
|
+
## Security
|
|
247
|
+
|
|
248
|
+
Omni Cortex v1.0.3 has been security reviewed:
|
|
249
|
+
- All SQL queries use parameterized statements
|
|
250
|
+
- Input validation via Pydantic models
|
|
251
|
+
- Model name validation prevents code injection
|
|
252
|
+
- YAML loading uses `safe_load()`
|
|
253
|
+
|
|
214
254
|
## License
|
|
215
255
|
|
|
216
256
|
MIT
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
omni_cortex-1.0.3.data/data/share/omni-cortex/hooks/post_tool_use.py,sha256=zXy30KNDW6UoWP0nwq5n320r1wFa-tE6V4QuSdDzx8w,5106
|
|
2
|
+
omni_cortex-1.0.3.data/data/share/omni-cortex/hooks/pre_tool_use.py,sha256=SlvvEKsIkolDG5Y_35VezY2e7kRpbj1GiDlBW-naj2g,4900
|
|
3
|
+
omni_cortex-1.0.3.data/data/share/omni-cortex/hooks/stop.py,sha256=T1bwcmbTLj0gzjrVvFBT1zB6wff4J2YkYBAY-ZxZI5g,5336
|
|
4
|
+
omni_cortex-1.0.3.data/data/share/omni-cortex/hooks/subagent_stop.py,sha256=V9HQSFGNOfkg8ZCstPEy4h5V8BP4AbrVr8teFzN1kNk,3314
|
|
5
|
+
omni_cortex-1.0.3.dist-info/METADATA,sha256=H4cNSAWpDqGwa2ZsUTQWiFCuIhgapLLP0kstQGKGV5Q,7442
|
|
6
|
+
omni_cortex-1.0.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
7
|
+
omni_cortex-1.0.3.dist-info/entry_points.txt,sha256=eRePHG-7dXr4ZAHwI1l-GY5rgVrpa1wZPL3sYBeC5QU,99
|
|
8
|
+
omni_cortex-1.0.3.dist-info/licenses/LICENSE,sha256=oG_397owMmi-Umxp5sYocJ6RPohp9_bDNnnEu9OUphg,1072
|
|
9
|
+
omni_cortex-1.0.3.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
omni_cortex-1.0.1.data/data/share/omni-cortex/hooks/post_tool_use.py,sha256=J9NDtoPE4MbCacAX9XYhqRXF2Agaw_SRbik8U0jlovs,4828
|
|
2
|
-
omni_cortex-1.0.1.data/data/share/omni-cortex/hooks/pre_tool_use.py,sha256=jLkoleRSb_MJ0iy-uNwKVi8-gS49vlmLaF--riJoff0,4351
|
|
3
|
-
omni_cortex-1.0.1.data/data/share/omni-cortex/hooks/stop.py,sha256=T1bwcmbTLj0gzjrVvFBT1zB6wff4J2YkYBAY-ZxZI5g,5336
|
|
4
|
-
omni_cortex-1.0.1.data/data/share/omni-cortex/hooks/subagent_stop.py,sha256=V9HQSFGNOfkg8ZCstPEy4h5V8BP4AbrVr8teFzN1kNk,3314
|
|
5
|
-
omni_cortex-1.0.1.dist-info/METADATA,sha256=c8fZ85JhUH8PR2y8FyNmhKUU8FLyWzSfX8ohZZPy5uI,6130
|
|
6
|
-
omni_cortex-1.0.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
7
|
-
omni_cortex-1.0.1.dist-info/entry_points.txt,sha256=eRePHG-7dXr4ZAHwI1l-GY5rgVrpa1wZPL3sYBeC5QU,99
|
|
8
|
-
omni_cortex-1.0.1.dist-info/licenses/LICENSE,sha256=oG_397owMmi-Umxp5sYocJ6RPohp9_bDNnnEu9OUphg,1072
|
|
9
|
-
omni_cortex-1.0.1.dist-info/RECORD,,
|
|
File without changes
|
{omni_cortex-1.0.1.data → omni_cortex-1.0.3.data}/data/share/omni-cortex/hooks/subagent_stop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|