falkordb-memory-server 0.1.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.
- falkordb_memory_server-0.1.0/.claude/settings.local.json +13 -0
- falkordb_memory_server-0.1.0/.claude/skills/memory/SKILL.md +237 -0
- falkordb_memory_server-0.1.0/.env.example +22 -0
- falkordb_memory_server-0.1.0/.gemini/settings.json +11 -0
- falkordb_memory_server-0.1.0/.gitignore +73 -0
- falkordb_memory_server-0.1.0/.omc/project-memory.json +165 -0
- falkordb_memory_server-0.1.0/.omc/sessions/4e98fe33-4c4c-459a-a872-b671f056de6a.json +8 -0
- falkordb_memory_server-0.1.0/.omc/sessions/5e112c9d-71f2-4b9a-91e0-28e1a50e3927.json +8 -0
- falkordb_memory_server-0.1.0/.omc/state/checkpoints/checkpoint-2026-04-09T00-57-54-615Z.json +16 -0
- falkordb_memory_server-0.1.0/.omc/state/checkpoints/checkpoint-2026-04-09T06-04-32-603Z.json +16 -0
- falkordb_memory_server-0.1.0/.omc/state/checkpoints/checkpoint-2026-04-09T07-29-11-288Z.json +16 -0
- falkordb_memory_server-0.1.0/.omc/state/checkpoints/checkpoint-2026-04-10T01-42-08-079Z.json +16 -0
- falkordb_memory_server-0.1.0/.omg/gemini-extension.json +32 -0
- falkordb_memory_server-0.1.0/.omg/hooks/feishu-notify.py +129 -0
- falkordb_memory_server-0.1.0/.omg/notify/README.md +13 -0
- falkordb_memory_server-0.1.0/.omg/notify/templates/compact.md +1 -0
- falkordb_memory_server-0.1.0/.omg/notify/templates/detailed.md +8 -0
- falkordb_memory_server-0.1.0/.omg/notify/templates/incident.md +11 -0
- falkordb_memory_server-0.1.0/.omg/state/active-architecture.md +13 -0
- falkordb_memory_server-0.1.0/.omg/state/audit-baseline.json +102 -0
- falkordb_memory_server-0.1.0/.omg/state/audit-findings-consistency.json +106 -0
- falkordb_memory_server-0.1.0/.omg/state/audit-findings-defects.json +57 -0
- falkordb_memory_server-0.1.0/.omg/state/audit-findings-quality.json +74 -0
- falkordb_memory_server-0.1.0/.omg/state/checkpoint.md +6 -0
- falkordb_memory_server-0.1.0/.omg/state/deep-init.md +16 -0
- falkordb_memory_server-0.1.0/.omg/state/insights_cache_test-session-proactive.json +1 -0
- falkordb_memory_server-0.1.0/.omg/state/learn-watch.json +12 -0
- falkordb_memory_server-0.1.0/.omg/state/notify.json +29 -0
- falkordb_memory_server-0.1.0/.omg/state/project-map.md +17 -0
- falkordb_memory_server-0.1.0/.omg/state/quota-watch.json +12 -0
- falkordb_memory_server-0.1.0/.omg/state/taskboard.json +94 -0
- falkordb_memory_server-0.1.0/.omg/state/taskboard.md +31 -0
- falkordb_memory_server-0.1.0/.omg/state/validation.md +15 -0
- falkordb_memory_server-0.1.0/.omg/state/workflow.md +5 -0
- falkordb_memory_server-0.1.0/PKG-INFO +574 -0
- falkordb_memory_server-0.1.0/README.md +542 -0
- falkordb_memory_server-0.1.0/README_CN.md +531 -0
- falkordb_memory_server-0.1.0/benchmark_perf.py +77 -0
- falkordb_memory_server-0.1.0/check_graph.py +28 -0
- falkordb_memory_server-0.1.0/docker-compose.yml +36 -0
- falkordb_memory_server-0.1.0/docs/AUDIT_REPORT.md +77 -0
- falkordb_memory_server-0.1.0/docs/EXTRACTION.md +335 -0
- falkordb_memory_server-0.1.0/docs/HOOKS.md +390 -0
- falkordb_memory_server-0.1.0/docs/PROACTIVE_INSIGHTS_DESIGN.md +22 -0
- falkordb_memory_server-0.1.0/docs/PRODUCT_DESIGN.md +1004 -0
- falkordb_memory_server-0.1.0/docs/ROADMAP.md +473 -0
- falkordb_memory_server-0.1.0/docs/api.md +84 -0
- falkordb_memory_server-0.1.0/gemini-extension/GEMINI.md +58 -0
- falkordb_memory_server-0.1.0/gemini-extension/README.md +96 -0
- falkordb_memory_server-0.1.0/gemini-extension/gemini-extension.json +81 -0
- falkordb_memory_server-0.1.0/gemini-extension/hooks/gemini-hook.py +93 -0
- falkordb_memory_server-0.1.0/hooks/claude-code-hook.py +89 -0
- falkordb_memory_server-0.1.0/hooks/gemini-cli-hook.py +99 -0
- falkordb_memory_server-0.1.0/integration_test.py +33 -0
- falkordb_memory_server-0.1.0/proactive_insights.py +100 -0
- falkordb_memory_server-0.1.0/pyproject.toml +69 -0
- falkordb_memory_server-0.1.0/repro_injection.py +27 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/__init__.py +7 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/__main__.py +6 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/codex_adapter.py +286 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/config.py +57 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/conversation_miner.py +294 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/embeddings.py +240 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/extractor.py +1481 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/gemini_adapter.py +522 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/graph_ops.py +601 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/__init__.py +31 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/extraction.py +510 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/graph.py +152 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/maintenance.py +63 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/memory.py +533 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/semantic.py +57 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/session.py +90 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/handlers/tier.py +93 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/hook_adapter.py +598 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/memory_tools.py +983 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/omc_sync.py +439 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/schema.py +424 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/semantic_tools.py +510 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/server.py +143 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/session.py +354 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/setup.py +61 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/sharing.py +360 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/tier.py +170 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/ttl.py +312 -0
- falkordb_memory_server-0.1.0/src/falkordb_memory_server/web_viewer.py +451 -0
- falkordb_memory_server-0.1.0/test_cypher_bare.py +35 -0
- falkordb_memory_server-0.1.0/test_cypher_bare_2.py +33 -0
- falkordb_memory_server-0.1.0/test_cypher_injection.py +70 -0
- falkordb_memory_server-0.1.0/test_falkordb_features.py +23 -0
- falkordb_memory_server-0.1.0/test_vector_index.py +7 -0
- falkordb_memory_server-0.1.0/tests/__init__.py +0 -0
- falkordb_memory_server-0.1.0/tests/test_bug_patterns.py +84 -0
- falkordb_memory_server-0.1.0/tests/test_code_patterns.py +88 -0
- falkordb_memory_server-0.1.0/tests/test_conventions.py +83 -0
- falkordb_memory_server-0.1.0/tests/test_conversation_miner.py +101 -0
- falkordb_memory_server-0.1.0/tests/test_decision_chain.py +67 -0
- falkordb_memory_server-0.1.0/tests/test_dependency_memory.py +112 -0
- falkordb_memory_server-0.1.0/tests/test_embeddings.py +171 -0
- falkordb_memory_server-0.1.0/tests/test_endless_mode.py +125 -0
- falkordb_memory_server-0.1.0/tests/test_extractor.py +225 -0
- falkordb_memory_server-0.1.0/tests/test_extractor_pii.py +78 -0
- falkordb_memory_server-0.1.0/tests/test_graph_ops.py +241 -0
- falkordb_memory_server-0.1.0/tests/test_hook_adapter.py +392 -0
- falkordb_memory_server-0.1.0/tests/test_privacy_control.py +136 -0
- falkordb_memory_server-0.1.0/tests/test_progressive_search.py +148 -0
- falkordb_memory_server-0.1.0/tests/test_project_context.py +114 -0
- falkordb_memory_server-0.1.0/tests/test_server.py +223 -0
- falkordb_memory_server-0.1.0/tests/test_session.py +151 -0
- falkordb_memory_server-0.1.0/tests/test_sharing.py +108 -0
- falkordb_memory_server-0.1.0/tests/test_temporal_validity.py +149 -0
- falkordb_memory_server-0.1.0/tests/test_ttl.py +128 -0
- falkordb_memory_server-0.1.0/tests/test_wake_up.py +110 -0
- falkordb_memory_server-0.1.0/tests/test_web_viewer.py +26 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory
|
|
3
|
+
description: "Cross-agent memory operations using FalkorDB graph database. Store, recall, and share persistent memories across Claude, Codex, and Gemini agents."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Memory Skill
|
|
8
|
+
|
|
9
|
+
Access and manage persistent, cross-agent memory using the FalkorDB graph database.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
This skill provides tools for:
|
|
14
|
+
- **Storing memories**: Learning, decisions, code snippets, concepts
|
|
15
|
+
- **Recalling memories**: Semantic search, text search, graph traversal
|
|
16
|
+
- **Sharing memories**: Cross-agent knowledge sharing
|
|
17
|
+
- **Session management**: Track work context across sessions
|
|
18
|
+
- **OMC integration**: Sync with notepad and project-memory
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/memory remember learning "Always use async/await for database operations in this project"
|
|
24
|
+
/memory recall "database operations"
|
|
25
|
+
/memory share <memory_id> with claude codex
|
|
26
|
+
/memory stats
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Commands
|
|
30
|
+
|
|
31
|
+
### Storage Commands
|
|
32
|
+
|
|
33
|
+
| Command | Description |
|
|
34
|
+
|---------|-------------|
|
|
35
|
+
| `/memory remember <type> <content>` | Store a new memory |
|
|
36
|
+
| `/memory recall <query>` | Search memories |
|
|
37
|
+
| `/memory forget <id>` | Remove a memory |
|
|
38
|
+
| `/memory associate <from_id> <relation> <to_id>` | Link two memories |
|
|
39
|
+
|
|
40
|
+
### Session Commands
|
|
41
|
+
|
|
42
|
+
| Command | Description |
|
|
43
|
+
|---------|-------------|
|
|
44
|
+
| `/memory session start` | Start a new session |
|
|
45
|
+
| `/memory session end` | End current session |
|
|
46
|
+
| `/memory session list` | List recent sessions |
|
|
47
|
+
|
|
48
|
+
### Sharing Commands
|
|
49
|
+
|
|
50
|
+
| Command | Description |
|
|
51
|
+
|---------|-------------|
|
|
52
|
+
| `/memory share <id> with <agent>` | Share memory with agent |
|
|
53
|
+
| `/memory query-agent <agent_id>` | Query agent's shared memories |
|
|
54
|
+
|
|
55
|
+
### Utility Commands
|
|
56
|
+
|
|
57
|
+
| Command | Description |
|
|
58
|
+
|---------|-------------|
|
|
59
|
+
| `/memory stats` | Show memory statistics |
|
|
60
|
+
| `/memory cleanup` | Remove expired memories |
|
|
61
|
+
| `/memory sync` | Sync with OMC notepad |
|
|
62
|
+
|
|
63
|
+
## Memory Types
|
|
64
|
+
|
|
65
|
+
| Type | Description | Use Case |
|
|
66
|
+
|------|-------------|----------|
|
|
67
|
+
| `learning` | Patterns, insights, tips | "Always validate input before processing" |
|
|
68
|
+
| `decision` | Architecture/design choices | "Chose Redis for caching because..." |
|
|
69
|
+
| `code` | Code snippets with context | "Utility function for date parsing" |
|
|
70
|
+
| `concept` | Domain concepts | "What is a circuit breaker pattern" |
|
|
71
|
+
| `task` | Work items and objectives | "Implement user authentication" |
|
|
72
|
+
|
|
73
|
+
## Examples
|
|
74
|
+
|
|
75
|
+
### Store a Learning
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
/memory remember learning "Use connection pooling for FalkorDB to handle concurrent requests efficiently" --tags performance,database
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Store a Decision
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
/memory remember decision "Chose FalkorDB over Neo4j because it's Redis-based and we already have Redis infrastructure" --type architecture --confidence 0.9
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Recall Memories
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
/memory recall "database performance"
|
|
91
|
+
/memory recall "circuit breaker" --type concept
|
|
92
|
+
/memory recall "authentication" --limit 5
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Search with Filters
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
/memory recall "API" --filters '{"category": "learning"}'
|
|
99
|
+
/memory recall "error handling" --mode semantic
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Share Knowledge
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
/memory share 123 with codex gemini
|
|
106
|
+
/memory query-agent codex
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Session Tracking
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
/memory session start --objective "Implement user authentication" --ttl 86400
|
|
113
|
+
/memory session end --summary "Completed OAuth2 integration"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## MCP Tools Available
|
|
117
|
+
|
|
118
|
+
The following MCP tools are exposed by the FalkorDB memory server:
|
|
119
|
+
|
|
120
|
+
### Graph Operations
|
|
121
|
+
- `memory_query` - Execute Cypher queries
|
|
122
|
+
- `memory_create_node` - Create graph nodes
|
|
123
|
+
- `memory_create_edge` - Create relationships
|
|
124
|
+
- `memory_delete` - Remove nodes/edges
|
|
125
|
+
|
|
126
|
+
### Memory Primitives
|
|
127
|
+
- `memory_remember` - Store memories
|
|
128
|
+
- `memory_recall` - Retrieve memories
|
|
129
|
+
- `memory_associate` - Link memories
|
|
130
|
+
- `memory_forget` - Remove memories
|
|
131
|
+
|
|
132
|
+
### Session Management
|
|
133
|
+
- `memory_start_session` - Begin session
|
|
134
|
+
- `memory_end_session` - End session
|
|
135
|
+
|
|
136
|
+
### Semantic Search
|
|
137
|
+
- `memory_semantic_search` - Vector similarity search
|
|
138
|
+
- `memory_embed` - Generate embeddings
|
|
139
|
+
|
|
140
|
+
### Cross-Agent
|
|
141
|
+
- `memory_share` - Share with agents
|
|
142
|
+
- `memory_query_agent` - Query shared memories
|
|
143
|
+
|
|
144
|
+
### Maintenance
|
|
145
|
+
- `memory_stats` - Get statistics
|
|
146
|
+
- `memory_cleanup` - Remove expired
|
|
147
|
+
|
|
148
|
+
## Configuration
|
|
149
|
+
|
|
150
|
+
The memory server is configured via environment variables:
|
|
151
|
+
|
|
152
|
+
| Variable | Default | Description |
|
|
153
|
+
|----------|---------|-------------|
|
|
154
|
+
| `FALKORDB_URL` | `redis://localhost:6379` | FalkorDB connection URL |
|
|
155
|
+
| `GRAPH_NAME` | `agent_memory` | Graph database name |
|
|
156
|
+
| `EMBEDDING_MODEL` | `all-MiniLM-L6-v2` | Sentence transformer model |
|
|
157
|
+
| `DEFAULT_TTL` | `604800` | Default TTL (7 days) |
|
|
158
|
+
|
|
159
|
+
## Graph Schema
|
|
160
|
+
|
|
161
|
+
### Node Types
|
|
162
|
+
|
|
163
|
+
- **Session**: Agent work sessions
|
|
164
|
+
- **Agent**: AI agent identities
|
|
165
|
+
- **Decision**: Architectural/implementation choices
|
|
166
|
+
- **Learning**: Patterns, tips, insights
|
|
167
|
+
- **Code**: Code snippets with context
|
|
168
|
+
- **Concept**: Domain concepts
|
|
169
|
+
|
|
170
|
+
### Relationships
|
|
171
|
+
|
|
172
|
+
- `STARTED_BY`: Session → Agent
|
|
173
|
+
- `LED_TO`: Decision → Decision
|
|
174
|
+
- `DERIVED_FROM`: Learning → Source
|
|
175
|
+
- `KNOWS`: Agent → Concept
|
|
176
|
+
- `RELATED_TO`: Concept → Concept
|
|
177
|
+
- `SHARED_WITH`: Memory → Agent
|
|
178
|
+
|
|
179
|
+
## Integration with OMC
|
|
180
|
+
|
|
181
|
+
### Notepad Sync
|
|
182
|
+
|
|
183
|
+
Memories tagged with `notepad` are synced with `.omc/notepad.md`:
|
|
184
|
+
|
|
185
|
+
```python
|
|
186
|
+
# Sync notepad to graph
|
|
187
|
+
/memory sync notepad
|
|
188
|
+
|
|
189
|
+
# Sync graph to notepad
|
|
190
|
+
/memory sync notepad --export
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Project Memory Sync
|
|
194
|
+
|
|
195
|
+
Project-level knowledge syncs with `.omc/project-memory.json`:
|
|
196
|
+
|
|
197
|
+
```python
|
|
198
|
+
# Import project memory
|
|
199
|
+
/memory sync project
|
|
200
|
+
|
|
201
|
+
# Export to project memory
|
|
202
|
+
/memory sync project --export
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Best Practices
|
|
206
|
+
|
|
207
|
+
1. **Tag your memories**: Use consistent tags for easier retrieval
|
|
208
|
+
2. **Set appropriate TTL**: Transient data should have shorter TTLs
|
|
209
|
+
3. **Link related memories**: Use `memory_associate` to build knowledge graphs
|
|
210
|
+
4. **Share useful patterns**: Share learnings that benefit other agents
|
|
211
|
+
5. **Clean up regularly**: Run `memory_cleanup` periodically
|
|
212
|
+
|
|
213
|
+
## Troubleshooting
|
|
214
|
+
|
|
215
|
+
### Semantic search not working
|
|
216
|
+
|
|
217
|
+
Ensure the embedding model is downloaded:
|
|
218
|
+
```bash
|
|
219
|
+
pip install sentence-transformers
|
|
220
|
+
python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('all-MiniLM-L6-v2')"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Connection errors
|
|
224
|
+
|
|
225
|
+
Check FalkorDB is running:
|
|
226
|
+
```bash
|
|
227
|
+
docker-compose up -d falkordb
|
|
228
|
+
redis-cli ping
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Memories not persisting
|
|
232
|
+
|
|
233
|
+
Check TTL settings and run cleanup:
|
|
234
|
+
```
|
|
235
|
+
/memory stats
|
|
236
|
+
/memory cleanup --dry-run
|
|
237
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Environment variables for local development
|
|
2
|
+
# Copy to .env and modify as needed
|
|
3
|
+
|
|
4
|
+
# FalkorDB connection
|
|
5
|
+
FALKORDB_URL=redis://localhost:6379
|
|
6
|
+
FALKORDB_HOST=localhost
|
|
7
|
+
FALKORDB_PORT=6379
|
|
8
|
+
# FALKORDB_PASSWORD=your_password
|
|
9
|
+
|
|
10
|
+
# Graph name
|
|
11
|
+
GRAPH_NAME=agent_memory
|
|
12
|
+
|
|
13
|
+
# Embedding configuration
|
|
14
|
+
EMBEDDING_MODEL=all-MiniLM-L6-v2
|
|
15
|
+
EMBEDDING_DIMENSION=384
|
|
16
|
+
|
|
17
|
+
# Memory defaults
|
|
18
|
+
DEFAULT_TTL=604800
|
|
19
|
+
MAX_RESULTS=100
|
|
20
|
+
|
|
21
|
+
# Logging
|
|
22
|
+
LOG_LEVEL=INFO
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
.installed.cfg
|
|
25
|
+
*.egg
|
|
26
|
+
|
|
27
|
+
# PyInstaller
|
|
28
|
+
*.manifest
|
|
29
|
+
*.spec
|
|
30
|
+
|
|
31
|
+
# Installer logs
|
|
32
|
+
pip-log.txt
|
|
33
|
+
pip-delete-this-directory.txt
|
|
34
|
+
|
|
35
|
+
# Unit test / coverage reports
|
|
36
|
+
htmlcov/
|
|
37
|
+
.tox/
|
|
38
|
+
.nox/
|
|
39
|
+
.coverage
|
|
40
|
+
.coverage.*
|
|
41
|
+
.cache
|
|
42
|
+
nosetests.xml
|
|
43
|
+
coverage.xml
|
|
44
|
+
*.cover
|
|
45
|
+
*.py,cover
|
|
46
|
+
.hypothesis/
|
|
47
|
+
.pytest_cache/
|
|
48
|
+
|
|
49
|
+
# Translations
|
|
50
|
+
*.mo
|
|
51
|
+
*.pot
|
|
52
|
+
|
|
53
|
+
# Environments
|
|
54
|
+
.env
|
|
55
|
+
.venv
|
|
56
|
+
env/
|
|
57
|
+
venv/
|
|
58
|
+
ENV/
|
|
59
|
+
env.bak/
|
|
60
|
+
venv.bak/
|
|
61
|
+
|
|
62
|
+
# IDE
|
|
63
|
+
.vscode/
|
|
64
|
+
.idea/
|
|
65
|
+
*.swp
|
|
66
|
+
*.swo
|
|
67
|
+
|
|
68
|
+
# OS
|
|
69
|
+
.DS_Store
|
|
70
|
+
Thumbs.db
|
|
71
|
+
|
|
72
|
+
# Project specific
|
|
73
|
+
*.log
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"lastScanned": 1775919115302,
|
|
4
|
+
"projectRoot": "/Users/jerry/projects/ai/falkordb-memory",
|
|
5
|
+
"techStack": {
|
|
6
|
+
"languages": [
|
|
7
|
+
{
|
|
8
|
+
"name": "Python",
|
|
9
|
+
"version": null,
|
|
10
|
+
"confidence": "high",
|
|
11
|
+
"markers": [
|
|
12
|
+
"pyproject.toml"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"frameworks": [
|
|
17
|
+
{
|
|
18
|
+
"name": "fastapi",
|
|
19
|
+
"version": null,
|
|
20
|
+
"category": "backend"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "pytest",
|
|
24
|
+
"version": null,
|
|
25
|
+
"category": "testing"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"packageManager": null,
|
|
29
|
+
"runtime": null
|
|
30
|
+
},
|
|
31
|
+
"build": {
|
|
32
|
+
"buildCommand": null,
|
|
33
|
+
"testCommand": "pytest",
|
|
34
|
+
"lintCommand": "ruff check",
|
|
35
|
+
"devCommand": null,
|
|
36
|
+
"scripts": {}
|
|
37
|
+
},
|
|
38
|
+
"conventions": {
|
|
39
|
+
"namingStyle": null,
|
|
40
|
+
"importStyle": null,
|
|
41
|
+
"testPattern": null,
|
|
42
|
+
"fileOrganization": null
|
|
43
|
+
},
|
|
44
|
+
"structure": {
|
|
45
|
+
"isMonorepo": false,
|
|
46
|
+
"workspaces": [],
|
|
47
|
+
"mainDirectories": [
|
|
48
|
+
"docs",
|
|
49
|
+
"src",
|
|
50
|
+
"tests"
|
|
51
|
+
],
|
|
52
|
+
"gitBranches": {
|
|
53
|
+
"defaultBranch": "main",
|
|
54
|
+
"branchingStrategy": null
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"customNotes": [],
|
|
58
|
+
"directoryMap": {
|
|
59
|
+
"__pycache__": {
|
|
60
|
+
"path": "__pycache__",
|
|
61
|
+
"purpose": null,
|
|
62
|
+
"fileCount": 1,
|
|
63
|
+
"lastAccessed": 1775919115284,
|
|
64
|
+
"keyFiles": [
|
|
65
|
+
"test_cypher_injection.cpython-312-pytest-9.0.3.pyc"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"docs": {
|
|
69
|
+
"path": "docs",
|
|
70
|
+
"purpose": "Documentation",
|
|
71
|
+
"fileCount": 7,
|
|
72
|
+
"lastAccessed": 1775919115284,
|
|
73
|
+
"keyFiles": [
|
|
74
|
+
"AUDIT_REPORT.md",
|
|
75
|
+
"EXTRACTION.md",
|
|
76
|
+
"HOOKS.md",
|
|
77
|
+
"PROACTIVE_INSIGHTS_DESIGN.md",
|
|
78
|
+
"PRODUCT_DESIGN.md"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"gemini-extension": {
|
|
82
|
+
"path": "gemini-extension",
|
|
83
|
+
"purpose": null,
|
|
84
|
+
"fileCount": 3,
|
|
85
|
+
"lastAccessed": 1775919115285,
|
|
86
|
+
"keyFiles": [
|
|
87
|
+
"GEMINI.md",
|
|
88
|
+
"README.md",
|
|
89
|
+
"gemini-extension.json"
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"hooks": {
|
|
93
|
+
"path": "hooks",
|
|
94
|
+
"purpose": null,
|
|
95
|
+
"fileCount": 2,
|
|
96
|
+
"lastAccessed": 1775919115285,
|
|
97
|
+
"keyFiles": [
|
|
98
|
+
"claude-code-hook.py",
|
|
99
|
+
"gemini-cli-hook.py"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"src": {
|
|
103
|
+
"path": "src",
|
|
104
|
+
"purpose": "Source code",
|
|
105
|
+
"fileCount": 0,
|
|
106
|
+
"lastAccessed": 1775919115285,
|
|
107
|
+
"keyFiles": []
|
|
108
|
+
},
|
|
109
|
+
"tests": {
|
|
110
|
+
"path": "tests",
|
|
111
|
+
"purpose": "Test files",
|
|
112
|
+
"fileCount": 23,
|
|
113
|
+
"lastAccessed": 1775919115286,
|
|
114
|
+
"keyFiles": [
|
|
115
|
+
"__init__.py",
|
|
116
|
+
"test_bug_patterns.py",
|
|
117
|
+
"test_code_patterns.py",
|
|
118
|
+
"test_conventions.py",
|
|
119
|
+
"test_conversation_miner.py"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"venv": {
|
|
123
|
+
"path": "venv",
|
|
124
|
+
"purpose": null,
|
|
125
|
+
"fileCount": 1,
|
|
126
|
+
"lastAccessed": 1775919115286,
|
|
127
|
+
"keyFiles": [
|
|
128
|
+
"pyvenv.cfg"
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"venv/bin": {
|
|
132
|
+
"path": "venv/bin",
|
|
133
|
+
"purpose": "Executable scripts",
|
|
134
|
+
"fileCount": 41,
|
|
135
|
+
"lastAccessed": 1775919115287,
|
|
136
|
+
"keyFiles": [
|
|
137
|
+
"Activate.ps1",
|
|
138
|
+
"activate",
|
|
139
|
+
"activate.csh"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
"venv/lib": {
|
|
143
|
+
"path": "venv/lib",
|
|
144
|
+
"purpose": "Library code",
|
|
145
|
+
"fileCount": 0,
|
|
146
|
+
"lastAccessed": 1775919115287,
|
|
147
|
+
"keyFiles": []
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"hotPaths": [
|
|
151
|
+
{
|
|
152
|
+
"path": "README.md",
|
|
153
|
+
"accessCount": 1,
|
|
154
|
+
"lastAccessed": 1775919412576,
|
|
155
|
+
"type": "file"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"path": "hooks/claude-code-hook.py",
|
|
159
|
+
"accessCount": 1,
|
|
160
|
+
"lastAccessed": 1775919483752,
|
|
161
|
+
"type": "file"
|
|
162
|
+
}
|
|
163
|
+
],
|
|
164
|
+
"userDirectives": []
|
|
165
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"created_at": "2026-04-09T00:57:54.613Z",
|
|
3
|
+
"trigger": "auto",
|
|
4
|
+
"active_modes": {},
|
|
5
|
+
"todo_summary": {
|
|
6
|
+
"pending": 0,
|
|
7
|
+
"in_progress": 0,
|
|
8
|
+
"completed": 0
|
|
9
|
+
},
|
|
10
|
+
"wisdom_exported": false,
|
|
11
|
+
"background_jobs": {
|
|
12
|
+
"active": [],
|
|
13
|
+
"recent": [],
|
|
14
|
+
"stats": null
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"created_at": "2026-04-09T06:04:32.601Z",
|
|
3
|
+
"trigger": "auto",
|
|
4
|
+
"active_modes": {},
|
|
5
|
+
"todo_summary": {
|
|
6
|
+
"pending": 0,
|
|
7
|
+
"in_progress": 0,
|
|
8
|
+
"completed": 0
|
|
9
|
+
},
|
|
10
|
+
"wisdom_exported": false,
|
|
11
|
+
"background_jobs": {
|
|
12
|
+
"active": [],
|
|
13
|
+
"recent": [],
|
|
14
|
+
"stats": null
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"created_at": "2026-04-09T07:29:11.287Z",
|
|
3
|
+
"trigger": "auto",
|
|
4
|
+
"active_modes": {},
|
|
5
|
+
"todo_summary": {
|
|
6
|
+
"pending": 0,
|
|
7
|
+
"in_progress": 0,
|
|
8
|
+
"completed": 0
|
|
9
|
+
},
|
|
10
|
+
"wisdom_exported": false,
|
|
11
|
+
"background_jobs": {
|
|
12
|
+
"active": [],
|
|
13
|
+
"recent": [],
|
|
14
|
+
"stats": null
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"created_at": "2026-04-10T01:42:08.077Z",
|
|
3
|
+
"trigger": "auto",
|
|
4
|
+
"active_modes": {},
|
|
5
|
+
"todo_summary": {
|
|
6
|
+
"pending": 0,
|
|
7
|
+
"in_progress": 0,
|
|
8
|
+
"completed": 0
|
|
9
|
+
},
|
|
10
|
+
"wisdom_exported": false,
|
|
11
|
+
"background_jobs": {
|
|
12
|
+
"active": [],
|
|
13
|
+
"recent": [],
|
|
14
|
+
"stats": null
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "omg-notify",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "OmG Webhook Bridge for Feishu",
|
|
5
|
+
"hooks": {
|
|
6
|
+
"AfterTool": [
|
|
7
|
+
{
|
|
8
|
+
"matcher": ".*",
|
|
9
|
+
"hooks": [
|
|
10
|
+
{
|
|
11
|
+
"type": "command",
|
|
12
|
+
"command": "python3",
|
|
13
|
+
"args": ["${extensionPath}${/}hooks${/}feishu-notify.py"],
|
|
14
|
+
"timeout": 5000
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"SessionEnd": [
|
|
20
|
+
{
|
|
21
|
+
"hooks": [
|
|
22
|
+
{
|
|
23
|
+
"type": "command",
|
|
24
|
+
"command": "python3",
|
|
25
|
+
"args": ["${extensionPath}${/}hooks${/}feishu-notify.py"],
|
|
26
|
+
"timeout": 5000
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
}
|