mumpix 1.0.17 → 1.0.19
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.
- package/CHANGELOG.md +12 -0
- package/LICENSE +14 -15
- package/README.md +160 -300
- package/bin/mumpix.js +0 -0
- package/examples/langchain-adapter.js +42 -0
- package/examples/llamaindex-adapter.js +32 -0
- package/examples/temporal-memory.js +80 -0
- package/package.json +21 -8
- package/src/core/MumpixDB.js +158 -10
- package/src/core/license.js +16 -21
- package/src/core/store.js +109 -24
- package/src/index.js +8 -0
- package/src/integrations/developer-sdk.js +10 -3
- package/src/temporal/engine.js +1894 -0
- package/src/temporal/indexes.js +178 -0
- package/src/temporal/operators.js +186 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.19 - 2026-04-13
|
|
4
|
+
|
|
5
|
+
### Internal & Sync
|
|
6
|
+
- Synchronized latest temporal engine and operator scripts from core module into the package tree.
|
|
7
|
+
- Configured embedded GGUF agent context window ceilings (8K) to prevent VRAM memory allocation conflicts with local LLMs (e.g., `mumpix-mlc-llm`).
|
|
8
|
+
|
|
9
|
+
## 1.0.18 - 2026-03-30
|
|
10
|
+
- General performance and sync updates
|
|
11
|
+
|
|
12
|
+
## 1.0.17 - 2026-03-24
|
|
13
|
+
- Core temporal sync patches
|
|
14
|
+
|
|
3
15
|
## 1.0.11 - 2026-03-03
|
|
4
16
|
|
|
5
17
|
## 1.0.12 - 2026-03-03
|
package/LICENSE
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
Copyright (c) 2026 Mumpix (
|
|
1
|
+
Mumpix Business Source License 1.1 (BUSL-1.1)
|
|
2
|
+
Copyright (c) 2026 Mumpix (VDSX). All rights reserved.
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Licensed under the Business Source License 1.1 (the "License").
|
|
5
|
+
You may obtain a copy of the License terms from Licensor.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
Use Grant:
|
|
8
|
+
- Non-production use, evaluation, and internal development are permitted.
|
|
9
|
+
- Production use requires a commercial agreement with Licensor.
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
Restrictions:
|
|
12
|
+
- You may not offer the software as a competing hosted or embedded commercial service without a commercial license.
|
|
13
|
+
- You may not remove or alter proprietary notices.
|
|
9
14
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- USING THE SOFTWARE FOR INTERNAL BUSINESS OPERATIONS
|
|
13
|
-
- REDISTRIBUTING THE SOFTWARE FOR PROFIT
|
|
14
|
-
IS STRICTLY PROHIBITED WITHOUT AN EXPLICIT COMMERCIAL LICENSE FROM MUMPIX (vdsx.cloud).
|
|
15
|
+
Change Date:
|
|
16
|
+
- This package remains source-available under BUSL-1.1 unless and until Licensor publishes an updated license grant.
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
4. NO WARRANTY: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY.
|
|
19
|
-
|
|
20
|
-
By using this Software, you agree to these terms. For commercial licensing inquiries, contact license@vdsx.cloud.
|
|
18
|
+
This software is provided "AS IS", without warranty of any kind.
|
|
19
|
+
For commercial licensing: license@vdsx.cloud
|
package/README.md
CHANGED
|
@@ -1,396 +1,256 @@
|
|
|
1
1
|
# Mumpix
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
MumpixDB is the reasoning ledger and structured memory engine for AI systems.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npm install mumpix
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## What this package is
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
The `mumpix` npm package is the Node package for MumpixDB.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
It is built for:
|
|
14
14
|
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
- **LangChain / LlamaIndex adapters** — drop-in integrations
|
|
15
|
+
- durable AI memory
|
|
16
|
+
- ordered reasoning state
|
|
17
|
+
- replayable context
|
|
18
|
+
- local-first storage
|
|
19
|
+
- audit-friendly execution
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
Core thesis:
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
```js
|
|
27
|
-
const { Mumpix } = require('mumpix')
|
|
28
|
-
|
|
29
|
-
// Open (or create) a local database
|
|
30
|
-
const db = await Mumpix.open('./agent.mumpix', { consistency: 'eventual' })
|
|
23
|
+
> Git stores what changed. MumpixDB stores why.
|
|
31
24
|
|
|
32
|
-
|
|
33
|
-
await db.remember('User prefers TypeScript over JavaScript')
|
|
34
|
-
await db.remember('Project uses pnpm workspaces')
|
|
25
|
+
This package is the database layer. It is separate from higher-level products built on top of MumpixDB, including WYD Code.
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
const answer = await db.recall('what language does the user prefer?')
|
|
38
|
-
console.log(answer)
|
|
39
|
-
// → 'User prefers TypeScript over JavaScript'
|
|
27
|
+
## Why MumpixDB
|
|
40
28
|
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
---
|
|
29
|
+
Most AI systems fail at the memory layer, not the model layer.
|
|
45
30
|
|
|
46
|
-
|
|
31
|
+
MumpixDB gives you:
|
|
47
32
|
|
|
48
|
-
|
|
33
|
+
- local-first storage in a `.mumpix` file
|
|
34
|
+
- append-oriented durable state
|
|
35
|
+
- strict and verified execution modes
|
|
36
|
+
- replayable memory and audit surfaces
|
|
37
|
+
- semantic recall and exact recall
|
|
38
|
+
- a structured API for long-running assistants, workflows, and applications
|
|
49
39
|
|
|
50
|
-
|
|
40
|
+
## Quickstart
|
|
51
41
|
|
|
52
42
|
```js
|
|
53
|
-
const {
|
|
43
|
+
const { Mumpix } = require('mumpix');
|
|
54
44
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
})
|
|
45
|
+
async function main() {
|
|
46
|
+
const db = await Mumpix.open('./reasoning.mumpix', { consistency: 'eventual' });
|
|
58
47
|
|
|
59
|
-
|
|
60
|
-
await
|
|
61
|
-
const hit = await client.recall('what does the user like?')
|
|
62
|
-
const stats = await client.stats()
|
|
63
|
-
```
|
|
48
|
+
await db.remember('User prefers short, direct answers');
|
|
49
|
+
await db.remember('Project auth expiry changed from 30min to 15min');
|
|
64
50
|
|
|
65
|
-
|
|
51
|
+
const answer = await db.recall('what style does the user prefer?');
|
|
52
|
+
console.log(answer);
|
|
66
53
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- `recall(query)`
|
|
70
|
-
- `recallMany(query, k)`
|
|
71
|
-
- `memories()`
|
|
72
|
-
- `clear()`
|
|
73
|
-
- `stats()`
|
|
74
|
-
- `settings()`
|
|
75
|
-
- `updateSettings(patch)`
|
|
76
|
-
- `files()`
|
|
77
|
-
- `readFile(file, { atTs, source })`
|
|
78
|
-
- `timeline(file, { source })`
|
|
79
|
-
- `exportUrl(file, format, { atTs, source })`
|
|
80
|
-
- `roms()`
|
|
81
|
-
- `manualForRom(file)`
|
|
82
|
-
- `manualViewUrl(file, { isolate, v })`
|
|
54
|
+
const stats = await db.stats();
|
|
55
|
+
console.log(stats);
|
|
83
56
|
|
|
84
|
-
|
|
57
|
+
await db.close();
|
|
58
|
+
}
|
|
85
59
|
|
|
86
|
-
|
|
60
|
+
main().catch(console.error);
|
|
61
|
+
```
|
|
87
62
|
|
|
88
|
-
|
|
63
|
+
## Core API
|
|
89
64
|
|
|
90
|
-
|
|
65
|
+
### `Mumpix.open(filePath, [opts])`
|
|
91
66
|
|
|
92
|
-
|
|
93
|
-
|---|---|---|---|
|
|
94
|
-
| `consistency` | `string` | `'eventual'` | `'eventual'` / `'strict'` / `'verified'` |
|
|
95
|
-
| `embedFn` | `async fn(texts[]) → number[][]` | — | Custom embedding function (OpenAI, Cohere, etc.) |
|
|
67
|
+
Opens or creates a local MumpixDB file.
|
|
96
68
|
|
|
97
|
-
|
|
69
|
+
```js
|
|
70
|
+
const db = await Mumpix.open('./agent.mumpix', {
|
|
71
|
+
consistency: 'eventual'
|
|
72
|
+
});
|
|
73
|
+
```
|
|
98
74
|
|
|
99
|
-
|
|
75
|
+
Options:
|
|
100
76
|
|
|
101
|
-
|
|
|
77
|
+
| Option | Type | Default | Description |
|
|
102
78
|
|---|---|---|---|
|
|
103
|
-
| `
|
|
104
|
-
| `
|
|
105
|
-
| `verified` | Synced + immutable audit log | Yes | Fintech, healthcare, regulated AI |
|
|
106
|
-
|
|
107
|
-
---
|
|
79
|
+
| `consistency` | `string` | `'eventual'` | `'eventual'`, `'strict'`, or `'verified'` |
|
|
80
|
+
| `embedFn` | `async function` | — | Custom embedding function for semantic recall |
|
|
108
81
|
|
|
109
82
|
### Core methods
|
|
110
83
|
|
|
111
84
|
```js
|
|
112
|
-
|
|
113
|
-
await db.
|
|
114
|
-
// → { written: true, id: 1, consistency: 'strict' }
|
|
85
|
+
await db.remember(text);
|
|
86
|
+
await db.rememberAll(['one', 'two']);
|
|
115
87
|
|
|
116
|
-
|
|
117
|
-
await db.
|
|
118
|
-
// → 'User prefers TypeScript over JavaScript' or null
|
|
88
|
+
await db.recall(query);
|
|
89
|
+
await db.recallMany(query, 5);
|
|
119
90
|
|
|
120
|
-
|
|
121
|
-
await db.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
await db.rememberAll(['pref 1', 'pref 2', 'pref 3'])
|
|
126
|
-
|
|
127
|
-
// Check if any memory matches
|
|
128
|
-
await db.has(query)
|
|
129
|
-
// → true | false
|
|
130
|
-
|
|
131
|
-
// List all memories
|
|
132
|
-
await db.list()
|
|
133
|
-
// → [{ id, content, ts }, ...]
|
|
134
|
-
|
|
135
|
-
// Delete all memories
|
|
136
|
-
await db.clear()
|
|
137
|
-
// → { cleared: true, count: 3 }
|
|
138
|
-
|
|
139
|
-
// Stats
|
|
140
|
-
await db.stats()
|
|
141
|
-
// → { path, consistency, records, sizeBytes, created, version }
|
|
142
|
-
|
|
143
|
-
// Close (releases file handles)
|
|
144
|
-
await db.close()
|
|
91
|
+
await db.has(query);
|
|
92
|
+
await db.list();
|
|
93
|
+
await db.clear();
|
|
94
|
+
await db.stats();
|
|
95
|
+
await db.close();
|
|
145
96
|
```
|
|
146
97
|
|
|
147
|
-
###
|
|
98
|
+
### Temporal API
|
|
148
99
|
|
|
149
|
-
|
|
150
|
-
const db = await Mumpix.open('./compliance.mumpix', { consistency: 'verified' })
|
|
100
|
+
`mumpix` also exposes a deterministic temporal layer built on top of WAL-backed records.
|
|
151
101
|
|
|
152
|
-
|
|
153
|
-
await db.audit()
|
|
154
|
-
// → [{ _type, id, hash, ts, ... }, ...]
|
|
155
|
-
|
|
156
|
-
// Summary for dashboards
|
|
157
|
-
await db.auditSummary()
|
|
158
|
-
// → { totalEntries, writes, recalls, clears, firstEventAt, lastEventAt, auditPath }
|
|
159
|
-
|
|
160
|
-
// Export as NDJSON (for compliance hand-off)
|
|
161
|
-
await db.exportAudit()
|
|
162
|
-
// → NDJSON string
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Recall options
|
|
102
|
+
This is meant to answer timeline questions by computing over normalized events, not by asking a model to guess from raw text.
|
|
166
103
|
|
|
167
104
|
```js
|
|
168
|
-
|
|
169
|
-
mode: 'hybrid', // 'hybrid' | 'exact' | 'semantic'
|
|
170
|
-
filter: r => r.ts > Date.now() - 3600_000, // only last hour
|
|
171
|
-
since: Date.now() - 86400_000, // shorthand for time filter
|
|
172
|
-
})
|
|
105
|
+
const { Mumpix } = require('mumpix');
|
|
173
106
|
|
|
174
|
-
await
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Custom embeddings (OpenAI, Cohere, etc.)
|
|
107
|
+
const db = await Mumpix.open('./agent.mumpix', { consistency: 'eventual' });
|
|
178
108
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
109
|
+
await db.remember({
|
|
110
|
+
content: 'I set up the smart thermostat on March 1st.',
|
|
111
|
+
workspace: 'home',
|
|
112
|
+
repo: 'infra-home',
|
|
113
|
+
source: 'ops-log',
|
|
114
|
+
ts: Date.parse('2026-03-03T09:10:00Z'),
|
|
115
|
+
});
|
|
182
116
|
|
|
183
|
-
|
|
117
|
+
await db.remember({
|
|
118
|
+
content: 'I set up the mesh network system on March 3rd.',
|
|
119
|
+
workspace: 'home',
|
|
120
|
+
repo: 'infra-home',
|
|
121
|
+
source: 'ops-log',
|
|
122
|
+
ts: Date.parse('2026-03-03T09:00:00Z'),
|
|
123
|
+
});
|
|
184
124
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
125
|
+
const events = await db.events();
|
|
126
|
+
const index = await db.eventIndex();
|
|
127
|
+
const result = await db.temporalQuery(
|
|
128
|
+
'Which device did I set up first, the smart thermostat or the mesh network system?'
|
|
129
|
+
);
|
|
189
130
|
|
|
190
|
-
|
|
191
|
-
|
|
131
|
+
console.log(events.length);
|
|
132
|
+
console.log(Array.from(index.byWorkspace.keys()));
|
|
133
|
+
console.log(result.value); // smart thermostat
|
|
192
134
|
```
|
|
193
135
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
## LangChain integration
|
|
197
|
-
|
|
198
|
-
```js
|
|
199
|
-
const { Mumpix } = require('mumpix')
|
|
200
|
-
const { MumpixVectorStore, MumpixChatMemory, MumpixRetriever } = require('mumpix/src/integrations/langchain')
|
|
201
|
-
|
|
202
|
-
const db = await Mumpix.open('./agent.mumpix', { consistency: 'strict' })
|
|
136
|
+
Available temporal package APIs:
|
|
203
137
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const docs = await store.similaritySearch('query', 4)
|
|
138
|
+
- `db.events({ query?, topK? })`
|
|
139
|
+
- `db.eventIndex({ query?, topK? })`
|
|
140
|
+
- `db.temporalQuery(query, { topK?, now? })`
|
|
208
141
|
|
|
209
|
-
|
|
210
|
-
const memory = new MumpixChatMemory({ db, k: 4 })
|
|
211
|
-
|
|
212
|
-
// As a retriever
|
|
213
|
-
const retriever = new MumpixRetriever(db, { k: 5 })
|
|
214
|
-
const results = await retriever.getRelevantDocuments('query')
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## LlamaIndex integration
|
|
142
|
+
Low-level exports are also available for advanced use:
|
|
218
143
|
|
|
219
144
|
```js
|
|
220
|
-
const {
|
|
221
|
-
const { MumpixIndex, MumpixReader } = require('mumpix/src/integrations/llamaindex')
|
|
222
|
-
|
|
223
|
-
const db = await Mumpix.open('./agent.mumpix', { consistency: 'strict' })
|
|
224
|
-
|
|
225
|
-
const index = new MumpixIndex(db)
|
|
226
|
-
const retriever = index.asRetriever({ topK: 5 })
|
|
227
|
-
|
|
228
|
-
await index.insert('User prefers dark mode')
|
|
229
|
-
const nodes = await retriever.retrieve('interface preferences')
|
|
230
|
-
|
|
231
|
-
// Load all memories as documents
|
|
232
|
-
const reader = new MumpixReader(db)
|
|
233
|
-
const docs = await reader.loadData()
|
|
145
|
+
const { temporal, temporalEngine, temporalIndexes } = require('mumpix');
|
|
234
146
|
```
|
|
235
147
|
|
|
236
|
-
|
|
148
|
+
These expose:
|
|
237
149
|
|
|
238
|
-
|
|
150
|
+
- deterministic event operators
|
|
151
|
+
- event materialization
|
|
152
|
+
- event indexing by title, type, workspace, repo, and source
|
|
239
153
|
|
|
240
|
-
|
|
241
|
-
# Global install
|
|
242
|
-
npm install -g mumpix
|
|
154
|
+
Temporal records support scoped metadata on write:
|
|
243
155
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
mumpix clear ./agent.mumpix
|
|
249
|
-
mumpix stats ./agent.mumpix
|
|
250
|
-
mumpix audit ./agent.mumpix # verified mode only
|
|
251
|
-
mumpix shell ./agent.mumpix # interactive REPL
|
|
252
|
-
|
|
253
|
-
# Options
|
|
254
|
-
mumpix recall ./agent.mumpix "query" --consistency=strict
|
|
255
|
-
mumpix shell ./compliance.mumpix --consistency=verified
|
|
256
|
-
```
|
|
156
|
+
- `workspace`
|
|
157
|
+
- `repo`
|
|
158
|
+
- `source`
|
|
159
|
+
- `ts`
|
|
257
160
|
|
|
258
|
-
|
|
161
|
+
### Consistency modes
|
|
259
162
|
|
|
260
|
-
|
|
163
|
+
| Mode | Behavior | Use case |
|
|
164
|
+
|---|---|---|
|
|
165
|
+
| `eventual` | fast local writes | prototypes, local tools, development |
|
|
166
|
+
| `strict` | stronger durability path | production agents and application state |
|
|
167
|
+
| `verified` | durability + audit surfaces | regulated, auditable, or compliance-heavy workloads |
|
|
261
168
|
|
|
262
|
-
|
|
169
|
+
### Verified mode methods
|
|
263
170
|
|
|
264
|
-
|
|
171
|
+
```js
|
|
172
|
+
const db = await Mumpix.open('./verified.mumpix', { consistency: 'verified' });
|
|
265
173
|
|
|
174
|
+
await db.audit();
|
|
175
|
+
await db.auditSummary();
|
|
176
|
+
await db.exportAudit();
|
|
266
177
|
```
|
|
267
|
-
{"v":1,"consistency":"strict","created":1740000000000,"path":"agent.mumpix"}
|
|
268
|
-
{"id":1,"content":"User prefers TypeScript","ts":1740000001000,"h":"hmac256:..."}
|
|
269
|
-
{"id":2,"content":"Use pnpm workspaces","ts":1740000002000,"h":"hmac256:..."}
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
**Crash safety**: Mumpix uses a WAL (`.mumpix.wal`). On write:
|
|
273
|
-
1. Write to WAL
|
|
274
|
-
2. Append to main file and `fdatasync` (strict/verified)
|
|
275
|
-
3. Delete WAL
|
|
276
178
|
|
|
277
|
-
|
|
179
|
+
## Developer SDK
|
|
278
180
|
|
|
279
|
-
|
|
181
|
+
This package also includes a developer client for Mumpix-backed services.
|
|
280
182
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
## Examples
|
|
284
|
-
|
|
285
|
-
```bash
|
|
286
|
-
node examples/basic.js # Zero-config 5-line demo
|
|
287
|
-
node examples/agent-memory.js # Persistent agent preferences (run twice)
|
|
288
|
-
node examples/verified-mode.js # Compliance audit log export
|
|
289
|
-
npm run verify:claims # executable truth-audit for package claims
|
|
290
|
-
```
|
|
183
|
+
```js
|
|
184
|
+
const { MumpixDevClient } = require('mumpix');
|
|
291
185
|
|
|
292
|
-
|
|
186
|
+
const client = new MumpixDevClient({
|
|
187
|
+
baseUrl: 'https://mumpixdb.com/benchmark'
|
|
188
|
+
});
|
|
293
189
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
npm run release:publish-and-deprecate -- --otp=123456
|
|
297
|
-
|
|
298
|
-
# Optional flags:
|
|
299
|
-
# --skip-verify skip verify:claims
|
|
300
|
-
# --skip-publish only deprecate older versions
|
|
301
|
-
# --dry-run no writes to npm
|
|
302
|
-
# --remove-old try to unpublish old versions; deprecate on failure
|
|
190
|
+
const health = await client.health();
|
|
191
|
+
const stats = await client.stats();
|
|
303
192
|
```
|
|
304
193
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
## Requirements
|
|
308
|
-
|
|
309
|
-
- Node.js >= 18
|
|
310
|
-
- Zero runtime dependencies
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
## License
|
|
315
|
-
|
|
316
|
-
Proprietary — COMMERCIAL RESTRICTED. See [LICENSE](LICENSE) for terms.
|
|
317
|
-
Copyright © 2026 Mumpix (vdsx.cloud). All Rights Reserved.
|
|
194
|
+
Available client methods:
|
|
318
195
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
- **Community**: build and prototype with full local development flow.
|
|
336
|
-
- **Developer**: unlock production durability via `strict`.
|
|
337
|
-
- **Teams**: same core durability plus team/commercial operations.
|
|
338
|
-
- **Compliance**: regulated workflows with `verified` audit capabilities.
|
|
339
|
-
|
|
340
|
-
### Offline/Air-gapped expiry policy
|
|
196
|
+
- `health()`
|
|
197
|
+
- `remember(content)`
|
|
198
|
+
- `recall(query)`
|
|
199
|
+
- `recallMany(query, k)`
|
|
200
|
+
- `memories()`
|
|
201
|
+
- `clear()`
|
|
202
|
+
- `stats()`
|
|
203
|
+
- `settings()`
|
|
204
|
+
- `updateSettings(patch)`
|
|
205
|
+
- `files()`
|
|
206
|
+
- `readFile(file, { atTs, source })`
|
|
207
|
+
- `timeline(file, { source })`
|
|
208
|
+
- `exportUrl(file, format, { atTs, source })`
|
|
209
|
+
- `roms()`
|
|
210
|
+
- `manualForRom(file)`
|
|
211
|
+
- `manualViewUrl(file, { isolate, v })`
|
|
341
212
|
|
|
342
|
-
|
|
343
|
-
- Enterprise/government/compliance licenses support long/custom lease windows (for example 5-year, 10-year, or custom).
|
|
344
|
-
- When a paid license is expired, requested paid modes are automatically downgraded to `eventual` until renewal.
|
|
213
|
+
## Integrations
|
|
345
214
|
|
|
346
|
-
|
|
215
|
+
This package includes adapters for:
|
|
347
216
|
|
|
348
|
-
-
|
|
349
|
-
-
|
|
350
|
-
- `MUMPIX_LICENSE_MAX_DAYS_GOVERNMENT` (default `36500`)
|
|
351
|
-
- `MUMPIX_LICENSE_MAX_DAYS_COMPLIANCE` (default `36500`)
|
|
217
|
+
- LangChain
|
|
218
|
+
- LlamaIndex
|
|
352
219
|
|
|
353
|
-
|
|
220
|
+
Examples:
|
|
354
221
|
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
222
|
+
```bash
|
|
223
|
+
node examples/langchain-adapter.js
|
|
224
|
+
node examples/llamaindex-adapter.js
|
|
225
|
+
node examples/temporal-memory.js
|
|
359
226
|
```
|
|
360
227
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
### No-Key account login (recommended)
|
|
364
|
-
|
|
365
|
-
You can link your paid account once and let Mumpix load the local signed license automatically:
|
|
228
|
+
## CLI
|
|
366
229
|
|
|
367
230
|
```bash
|
|
368
|
-
|
|
369
|
-
mumpix auth status
|
|
231
|
+
npm install -g mumpix
|
|
370
232
|
```
|
|
371
233
|
|
|
372
|
-
|
|
234
|
+
Then:
|
|
373
235
|
|
|
374
236
|
```bash
|
|
375
|
-
mumpix
|
|
376
|
-
mumpix auth login --license=<signed-license> # direct import
|
|
377
|
-
mumpix auth logout
|
|
237
|
+
mumpix --help
|
|
378
238
|
```
|
|
379
239
|
|
|
380
|
-
|
|
240
|
+
## Package boundary
|
|
381
241
|
|
|
382
|
-
|
|
242
|
+
The `mumpix` package is the MumpixDB package.
|
|
383
243
|
|
|
384
|
-
|
|
244
|
+
It is not:
|
|
385
245
|
|
|
386
|
-
|
|
246
|
+
- the WYD Code CLI
|
|
247
|
+
- the WYD Code MCP bridge
|
|
248
|
+
- the website product shell
|
|
387
249
|
|
|
388
|
-
|
|
389
|
-
- Press any other key: install continues in `eventual` mode only.
|
|
390
|
-
- If browser auth is cancelled/fails, install continues in `eventual` mode.
|
|
250
|
+
Those are separate layers and separate distributions.
|
|
391
251
|
|
|
392
|
-
|
|
252
|
+
## Links
|
|
393
253
|
|
|
394
|
-
|
|
395
|
-
-
|
|
396
|
-
-
|
|
254
|
+
- Website: [https://mumpixdb.com](https://mumpixdb.com)
|
|
255
|
+
- Benchmark: [https://mumpixdb.com/benchmark](https://mumpixdb.com/benchmark)
|
|
256
|
+
- Docs: [https://mumpixdb.com](https://mumpixdb.com)
|
package/bin/mumpix.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { Mumpix } = require('../src/index');
|
|
4
|
+
const {
|
|
5
|
+
MumpixVectorStore,
|
|
6
|
+
MumpixChatMemory,
|
|
7
|
+
MumpixRetriever,
|
|
8
|
+
} = require('../src/integrations/langchain');
|
|
9
|
+
|
|
10
|
+
async function main() {
|
|
11
|
+
const db = await Mumpix.open('./langchain-adapter-example.mumpix', {
|
|
12
|
+
consistency: 'eventual',
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const store = new MumpixVectorStore(db);
|
|
16
|
+
await store.addTexts([
|
|
17
|
+
'User likes concise answers',
|
|
18
|
+
'Project uses TypeScript',
|
|
19
|
+
]);
|
|
20
|
+
|
|
21
|
+
const docs = await store.similaritySearch('what language is used?', 2);
|
|
22
|
+
console.log('similaritySearch ->', docs);
|
|
23
|
+
|
|
24
|
+
const memory = new MumpixChatMemory({ db, k: 3 });
|
|
25
|
+
await memory.saveContext(
|
|
26
|
+
{ input: 'What stack do we use?' },
|
|
27
|
+
{ output: 'TypeScript and Node.js' },
|
|
28
|
+
);
|
|
29
|
+
const loaded = await memory.loadMemoryVariables({ input: 'language stack' });
|
|
30
|
+
console.log('chatMemory ->', loaded);
|
|
31
|
+
|
|
32
|
+
const retriever = new MumpixRetriever(db, { k: 2 });
|
|
33
|
+
const relevant = await retriever.getRelevantDocuments('concise');
|
|
34
|
+
console.log('retriever ->', relevant);
|
|
35
|
+
|
|
36
|
+
await db.close();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
main().catch((error) => {
|
|
40
|
+
console.error('langchain-adapter example failed:', error?.message || String(error));
|
|
41
|
+
process.exit(1);
|
|
42
|
+
});
|