Choose a package
All three memory packages expose the same API and the same database schema. They differ only in how much platform wiring is done for you.
Are you in Expo / React Native? ├─ yes → @equationalapplications/expo-llm-wiki (adapter + crypto + hooks included) └─ no → Are you using React in the browser? ├─ yes → @equationalapplications/react-llm-wiki + sql.js (hooks included) └─ no → @equationalapplications/core-llm-wiki + a SQLite driver • Node.js: better-sqlite3 • Browser: sql.js • Anything else: write a 6-method adapterWhat each package adds
Section titled “What each package adds”core-llm-wiki |
react-llm-wiki |
expo-llm-wiki |
|
|---|---|---|---|
Memory engine (WikiMemory, createWiki) |
✅ | ✅ re-exported | ✅ re-exported |
React hooks + WikiProvider |
— | ✅ | ✅ re-exported |
| Built-in SQLite adapter | — | — | ✅ expo-sqlite |
| Secure random IDs on Hermes | manual | manual | ✅ via expo-crypto |
Supported SQLite drivers
Section titled “Supported SQLite drivers”Any driver works if you can wrap it in the six-method
SQLiteAdapter interface. Here are the ones we document:
| Platform | Driver | Notes |
|---|---|---|
| Expo / React Native | expo-sqlite |
The adapter is built in. Install with npx expo install. |
| Node.js | better-sqlite3 |
Synchronous and fast. A good default for servers and scripts. |
| Browser | sql.js (WebAssembly) |
Ships without FTS5, so keyword search uses the in-memory MiniSearch index. |
The keyword-index backend (FTS5 or MiniSearch) is detected automatically at setup(). See
Retrieval.