Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
45cd5dc
feat: integrate mem0 for persistent user memory across conversations
BillChirico Feb 16, 2026
cf6d8d1
feat: rewrite mem0 integration to use official SDK with graph memory
BillChirico Feb 16, 2026
cf10242
fix: use splitMessage utility, IDs from search, and parallel deletion…
BillChirico Feb 16, 2026
e1ec32a
fix: add auto-recovery for transient mem0 failures
BillChirico Feb 16, 2026
34b2eaf
fix: verify SDK connectivity in health check instead of just client c…
BillChirico Feb 16, 2026
75caa19
docs: add privacy notice for external memory storage
BillChirico Feb 16, 2026
7961d2e
chore: remove unused extractModel config and document addMemory publi…
BillChirico Feb 16, 2026
232d33a
style: fix Biome formatting in memory module
BillChirico Feb 16, 2026
79c341a
feat: add memory command security features
BillChirico Feb 16, 2026
5a61596
Merge branch 'main' into feat/user-memory-mem0
BillChirico Feb 16, 2026
fcf132f
refactor: persist opt-out state to PostgreSQL instead of JSON file
BillChirico Feb 16, 2026
6d7eef7
Merge branch 'main' into feat/user-memory-mem0
BillChirico Feb 16, 2026
9638b44
fix: call loadOptOuts() on startup to restore opt-out state from DB
BillChirico Feb 16, 2026
8a9deb9
fix: default memory to disabled when config fails to load
BillChirico Feb 16, 2026
3ca854d
fix: add markUnavailable() in delete function error handlers
BillChirico Feb 16, 2026
e612cc2
refactor: extract shared truncation logic into formatMemoryList helper
BillChirico Feb 16, 2026
d5c8a4c
fix: rename test and update expected fallback config values
BillChirico Feb 16, 2026
4c2f297
fix: properly await addMemory promise in auto-recovery test
BillChirico Feb 16, 2026
3ee0f96
fix: classify transient vs permanent errors in memory module
BillChirico Feb 16, 2026
c60d7e4
docs: add JSDoc explaining asymmetric _setMem0Available behavior
BillChirico Feb 16, 2026
3548235
fix: move vi.useRealTimers() to afterEach to prevent timer leaks
BillChirico Feb 16, 2026
b2751b2
fix: use explicit mock for health check connectivity test
BillChirico Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,9 @@ DATABASE_URL=postgresql://user:password@host:5432/database
# Optional: force SSL for DB connections if needed by your host
# DATABASE_SSL=true

# mem0 API key for user memory (optional — memory features disabled without key)
# Get your API key from https://app.mem0.ai — uses the hosted platform with graph memory
MEM0_API_KEY=your_mem0_api_key

# Logging level (optional: debug, info, warn, error)
LOG_LEVEL=info
6 changes: 6 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@
}
}
},
"memory": {
"enabled": true,
"maxContextMemories": 5,
"autoExtract": true
},
"logging": {
"level": "info",
"fileOutput": true
Expand All @@ -73,6 +78,7 @@
"usePermissions": true,
"allowedCommands": {
"ping": "everyone",
"memory": "everyone",
"config": "admin",
"warn": "admin",
"kick": "admin",
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"dependencies": {
"discord.js": "^14.25.1",
"dotenv": "^17.2.4",
"mem0ai": "^2.2.2",
"pg": "^8.18.0",
"winston": "^3.19.0",
"winston-daily-rotate-file": "^5.0.0"
Expand Down
3,212 changes: 3,109 additions & 103 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

Loading
Loading