vektor-slipstream 1.4.3 → 1.4.5
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/README.md +179 -114
- package/package.json +2 -2
- package/CHANGELOG.md +0 -139
- package/LICENSE +0 -33
- package/TENETS.md +0 -189
- package/audn-log.js +0 -143
- package/axon.js +0 -389
- package/boot-patch.js +0 -33
- package/boot-screen.html +0 -210
- package/briefing.js +0 -150
- package/cerebellum.js +0 -439
- package/cloak-behaviour.js +0 -596
- package/cloak-captcha.js +0 -541
- package/cloak-core.js +0 -499
- package/cloak-identity.js +0 -484
- package/cloak-index.js +0 -261
- package/cloak-llms.js +0 -163
- package/cloak-pattern-store.js +0 -471
- package/cloak-recorder-auto.js +0 -297
- package/cloak-recorder-snippet.js +0 -119
- package/cloak-turbo-quant.js +0 -357
- package/cloak-warmup.js +0 -240
- package/cortex.js +0 -221
- package/detect-hardware.js +0 -181
- package/entity-resolver.js +0 -298
- package/errors.js +0 -66
- package/examples/example-claude-mcp.js +0 -220
- package/examples/example-langchain-researcher.js +0 -82
- package/examples/example-openai-assistant.js +0 -84
- package/examples/examples-README.md +0 -161
- package/export-import.js +0 -221
- package/forget.js +0 -148
- package/inspect.js +0 -199
- package/mistral/README-mistral.md +0 -123
- package/mistral/mistral-bridge.js +0 -218
- package/mistral/mistral-setup.js +0 -220
- package/mistral/vektor-tool-manifest.json +0 -41
- package/models/model_quantized.onnx +0 -0
- package/models/vocab.json +0 -1
- package/namespace.js +0 -186
- package/pin.js +0 -91
- package/slipstream-core-extended.js +0 -134
- package/slipstream-core.js +0 -1
- package/slipstream-db.js +0 -140
- package/slipstream-embedder.js +0 -338
- package/sovereign.js +0 -142
- package/token.js +0 -322
- package/types/index.d.ts +0 -269
- package/vektor-banner-loader.js +0 -109
- package/vektor-cli.js +0 -482
- package/vektor-licence-prompt.js +0 -128
- package/vektor-licence.js +0 -192
- package/vektor-setup.js +0 -266
- package/vektor-slipstream.dxt +0 -0
- package/vektor-tui.js +0 -373
- package/visualize.js +0 -235
package/README.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Hardware-accelerated persistent memory for AI agents. Local-first. No cloud. One-time payment.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/vektor-slipstream)
|
|
6
|
+
[](https://www.npmjs.com/package/vektor-slipstream)
|
|
6
7
|
[](https://vektormemory.com/product#pricing)
|
|
7
8
|
|
|
8
9
|
## Install
|
|
@@ -39,7 +40,83 @@ const delta = await memory.delta('project decisions', 7);
|
|
|
39
40
|
const brief = await memory.briefing();
|
|
40
41
|
```
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## CLI Chat — Persistent Memory Terminal
|
|
46
|
+
|
|
47
|
+
Chat with any LLM with full memory across every session. Zero configuration.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx vektor chat # start chat (auto-detects Ollama)
|
|
51
|
+
npx vektor chat --provider claude # use Anthropic Claude
|
|
52
|
+
npx vektor chat --provider groq --model llama-3.3-70b-versatile
|
|
53
|
+
npx vektor chat --provider gemini
|
|
54
|
+
npx vektor chat --provider openai
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Providers
|
|
58
|
+
|
|
59
|
+
| Provider | Details |
|
|
60
|
+
|---|---|
|
|
61
|
+
| `ollama` | Default — free, local, no API key. Auto-detects best installed model. |
|
|
62
|
+
| `claude` | Anthropic Claude — set `ANTHROPIC_API_KEY` |
|
|
63
|
+
| `openai` | OpenAI GPT — set `OPENAI_API_KEY` |
|
|
64
|
+
| `groq` | Groq LLaMA — set `GROQ_API_KEY` (free tier available) |
|
|
65
|
+
| `gemini` | Google Gemini — set `GEMINI_API_KEY` |
|
|
66
|
+
|
|
67
|
+
Set a permanent default:
|
|
68
|
+
```bash
|
|
69
|
+
# Windows
|
|
70
|
+
$env:VEKTOR_PROVIDER = "claude"
|
|
71
|
+
|
|
72
|
+
# macOS/Linux
|
|
73
|
+
export VEKTOR_PROVIDER=claude
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### In-chat commands
|
|
77
|
+
|
|
78
|
+
Type `/` to see available commands with autocomplete. Tab to select, arrow keys to navigate.
|
|
79
|
+
|
|
80
|
+
| Command | Action |
|
|
81
|
+
|---|---|
|
|
82
|
+
| `/recall <query>` | Search MAGMA memory mid-conversation |
|
|
83
|
+
| `/stats` | Show memory node count, edges, pinned |
|
|
84
|
+
| `/briefing` | Generate memory briefing inline |
|
|
85
|
+
| `/exit` | Exit chat (Ctrl+C also works) |
|
|
86
|
+
|
|
87
|
+
### One-liner commands
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Store a fact
|
|
91
|
+
npx vektor remember "I prefer TypeScript over JavaScript"
|
|
92
|
+
npx vektor remember "deadline is Friday" --importance 5
|
|
93
|
+
|
|
94
|
+
# Pipe support
|
|
95
|
+
cat meeting-notes.txt | npx vektor remember
|
|
96
|
+
|
|
97
|
+
# One-shot recall + LLM answer
|
|
98
|
+
npx vektor ask "what stack am I using?"
|
|
99
|
+
npx vektor ask "what did we decide about the database?"
|
|
100
|
+
|
|
101
|
+
# Autonomous goal executor
|
|
102
|
+
npx vektor agent "summarise everything I know about project Alpha"
|
|
103
|
+
npx vektor agent "research AI memory tools" --steps 15 --provider groq
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Ollama auto-detection
|
|
107
|
+
|
|
108
|
+
VEKTOR queries `http://localhost:11434/api/tags` and picks the best available model:
|
|
109
|
+
`qwen3` → `qwen2` → `llama` → `mistral` → first available.
|
|
110
|
+
|
|
111
|
+
Override:
|
|
112
|
+
```bash
|
|
113
|
+
$env:OLLAMA_MODEL = "qwen3.5:4b"
|
|
114
|
+
export OLLAMA_MODEL=qwen3.5:4b
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## All CLI Commands
|
|
43
120
|
|
|
44
121
|
```bash
|
|
45
122
|
npx vektor setup # First-run wizard — licence, hardware, integrations
|
|
@@ -48,49 +125,110 @@ npx vektor test # Test memory engine with progress bar
|
|
|
48
125
|
npx vektor status # System health check
|
|
49
126
|
npx vektor mcp # Start Claude Desktop MCP server
|
|
50
127
|
npx vektor rem # Run REM dream cycle
|
|
51
|
-
npx vektor chat # Persistent memory chat (all LLMs)
|
|
52
|
-
npx vektor remember # Store a fact
|
|
53
|
-
npx vektor ask # Query memory
|
|
54
|
-
npx vektor agent # Autonomous goal executor
|
|
128
|
+
npx vektor chat # Persistent memory chat (all LLMs)
|
|
129
|
+
npx vektor remember # Store a fact
|
|
130
|
+
npx vektor ask # Query memory + LLM answer
|
|
131
|
+
npx vektor agent # Autonomous goal executor
|
|
55
132
|
npx vektor help # All commands
|
|
56
133
|
```
|
|
57
134
|
|
|
58
|
-
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Claude Desktop Extension (DXT)
|
|
138
|
+
|
|
139
|
+
Install the `.dxt` extension for zero-config memory in every Claude Desktop session.
|
|
140
|
+
|
|
141
|
+
**Install:** drag `vektor-slipstream.dxt` onto the Claude Desktop Extensions page.
|
|
142
|
+
|
|
143
|
+
Once installed, Claude automatically:
|
|
144
|
+
- Recalls relevant context at session start
|
|
145
|
+
- Stores facts and decisions during conversation
|
|
146
|
+
- Summarises at session end
|
|
59
147
|
|
|
60
|
-
|
|
61
|
-
Every session starts with full context. Every error is remembered. Every wasted token is tracked.
|
|
148
|
+
All 28 tools are available in Claude Desktop — no configuration needed beyond your licence key.
|
|
62
149
|
|
|
63
|
-
|
|
150
|
+
**User config fields:**
|
|
64
151
|
|
|
65
|
-
|
|
|
152
|
+
| Field | Purpose |
|
|
66
153
|
|---|---|
|
|
67
|
-
| `
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
70
|
-
| `cloak_token` | Token ledger — detects repeated reads and waste, one summary write per session |
|
|
154
|
+
| `licence_key` | Your Polar licence key (required) |
|
|
155
|
+
| `db_path` | Memory DB path (defaults to `~/vektor-slipstream-memory.db`) |
|
|
156
|
+
| `project_path` | Default path for `cloak_cortex` project scanning (optional) |
|
|
71
157
|
|
|
72
|
-
|
|
158
|
+
Download the latest `.dxt` from [vektormemory.com/docs/dxt](https://vektormemory.com/docs/dxt).
|
|
73
159
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
recordError } = require('vektor-slipstream/cloak/cerebellum');
|
|
80
|
-
const { getSessionSummary} = require('vektor-slipstream/cloak/token');
|
|
81
|
-
|
|
82
|
-
// Clean terminal output (replaces emoji with box-drawing chars)
|
|
83
|
-
const { createMemory } = require('vektor-slipstream/boot');
|
|
84
|
-
```
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## MCP Tools — All 28
|
|
163
|
+
|
|
164
|
+
### Memory Tools
|
|
85
165
|
|
|
86
|
-
|
|
166
|
+
| Tool | Function |
|
|
167
|
+
|---|---|
|
|
168
|
+
| `vektor_recall` | Semantic search across MAGMA graph |
|
|
169
|
+
| `vektor_store` | Store memory with importance score |
|
|
170
|
+
| `vektor_graph` | Traverse associative memory graph |
|
|
171
|
+
| `vektor_delta` | See what changed on a topic over time |
|
|
172
|
+
| `vektor_briefing` | Generate morning briefing from recent memories |
|
|
173
|
+
|
|
174
|
+
### CLOAK Core
|
|
175
|
+
|
|
176
|
+
| Tool | Function |
|
|
177
|
+
|---|---|
|
|
178
|
+
| `cloak_fetch` | Stealth headless browser fetch via Playwright |
|
|
179
|
+
| `cloak_fetch_smart` | Checks `llms.txt` first, falls back to stealth browser |
|
|
180
|
+
| `cloak_render` | Full CSS/DOM layout sensor |
|
|
181
|
+
| `cloak_diff` | Semantic diff of URL since last fetch |
|
|
182
|
+
| `cloak_diff_text` | Structural diff between two text blobs |
|
|
183
|
+
| `cloak_passport` | AES-256-GCM credential vault (get/set/delete/list) |
|
|
184
|
+
| `tokens_saved` | Token efficiency ROI calculator |
|
|
185
|
+
|
|
186
|
+
### Identity Tools
|
|
187
|
+
|
|
188
|
+
| Tool | Function |
|
|
189
|
+
|---|---|
|
|
190
|
+
| `cloak_identity_create` | Create persistent browser fingerprint identity |
|
|
191
|
+
| `cloak_identity_use` | Apply saved identity to a fetch call |
|
|
192
|
+
| `cloak_identity_list` | List all saved identities with trust summary |
|
|
193
|
+
|
|
194
|
+
### Behaviour Tools
|
|
195
|
+
|
|
196
|
+
| Tool | Function |
|
|
197
|
+
|---|---|
|
|
198
|
+
| `cloak_inject_behaviour` | Human mouse/scroll injection for reCAPTCHA/Cloudflare bypass |
|
|
199
|
+
| `cloak_behaviour_stats` | List available patterns and categories |
|
|
200
|
+
| `cloak_load_pattern` | Load custom recorded behaviour pattern |
|
|
201
|
+
| `cloak_pattern_stats` | Self-improving pattern store tier breakdown |
|
|
202
|
+
| `cloak_pattern_list` | List patterns with scores and tier |
|
|
203
|
+
| `cloak_pattern_prune` | Remove stale/low-scoring patterns |
|
|
204
|
+
| `cloak_pattern_seed` | Seed store with built-in patterns |
|
|
205
|
+
|
|
206
|
+
### CAPTCHA Tools
|
|
207
|
+
|
|
208
|
+
| Tool | Function |
|
|
209
|
+
|---|---|
|
|
210
|
+
| `cloak_detect_captcha` | Detect CAPTCHA type and sitekey |
|
|
211
|
+
| `cloak_solve_captcha` | Solve via vision AI (Claude/GPT-4o/2captcha) |
|
|
212
|
+
|
|
213
|
+
### Compression & Cortex Tools
|
|
214
|
+
|
|
215
|
+
| Tool | Function |
|
|
216
|
+
|---|---|
|
|
217
|
+
| `turbo_quant_compress` | PolarQuant vector compression (~75% smaller) |
|
|
218
|
+
| `turbo_quant_stats` | Compression ratio and savings stats |
|
|
219
|
+
| `cloak_cortex` | Scan project directory into MAGMA entity graph |
|
|
220
|
+
| `cloak_cortex_anatomy` | Get cached file anatomy without rescanning |
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Claude Code Setup
|
|
87
225
|
|
|
88
226
|
Add to `.claude/settings.json` in your project:
|
|
89
227
|
|
|
90
228
|
```json
|
|
91
229
|
{
|
|
92
230
|
"mcpServers": {
|
|
93
|
-
"
|
|
231
|
+
"vektor": {
|
|
94
232
|
"command": "node",
|
|
95
233
|
"args": ["/path/to/node_modules/vektor-slipstream/index.js"],
|
|
96
234
|
"env": {
|
|
@@ -98,70 +236,11 @@ Add to `.claude/settings.json` in your project:
|
|
|
98
236
|
"CLOAK_PROJECT_PATH": "/path/to/your/project"
|
|
99
237
|
}
|
|
100
238
|
}
|
|
101
|
-
},
|
|
102
|
-
"hooks": {
|
|
103
|
-
"SessionStart": [{ "type": "command", "command": "node /path/to/node_modules/vektor-slipstream/index.js --hook SessionStart" }],
|
|
104
|
-
"Stop": [{ "type": "command", "command": "node /path/to/node_modules/vektor-slipstream/index.js --hook Stop" }],
|
|
105
|
-
"PreToolUse": [{ "type": "command", "command": "node /path/to/node_modules/vektor-slipstream/index.js --hook PreToolUse" }],
|
|
106
|
-
"PostToolUse": [{ "type": "command", "command": "node /path/to/node_modules/vektor-slipstream/index.js --hook PostToolUse" }]
|
|
107
239
|
}
|
|
108
240
|
}
|
|
109
241
|
```
|
|
110
242
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
```js
|
|
114
|
-
// Scan project files into Vektor entity graph (call once on init)
|
|
115
|
-
await cloak_cortex({})
|
|
116
|
-
|
|
117
|
-
// Start session — loads last context automatically
|
|
118
|
-
await cloak_axon({ action: 'start' })
|
|
119
|
-
|
|
120
|
-
// Check before a risky write
|
|
121
|
-
await cloak_cerebellum({
|
|
122
|
-
action: 'check',
|
|
123
|
-
content: '...code...',
|
|
124
|
-
filePath: 'src/auth.ts'
|
|
125
|
-
})
|
|
126
|
-
|
|
127
|
-
// Record a bug you just hit
|
|
128
|
-
await cloak_cerebellum({
|
|
129
|
-
action: 'record_error',
|
|
130
|
-
description: 'Null ref on user.id when DB returns empty',
|
|
131
|
-
filePath: 'src/auth.ts',
|
|
132
|
-
errorType: 'null_reference',
|
|
133
|
-
fix: 'Add guard: if (user && user.id)'
|
|
134
|
-
})
|
|
135
|
-
|
|
136
|
-
// Save session with intent — the "why" not just the "what"
|
|
137
|
-
await cloak_axon({
|
|
138
|
-
action: 'stop',
|
|
139
|
-
narrative: 'Fixed null reference in auth module'
|
|
140
|
-
})
|
|
141
|
-
|
|
142
|
-
// Check token waste
|
|
143
|
-
await cloak_token({ action: 'summary' })
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Architecture
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
Claude Code
|
|
150
|
-
↓ hooks + MCP tool calls
|
|
151
|
-
CLOAK (4 tools, ~800 lines Node.js)
|
|
152
|
-
↓ memory.remember() / memory.recall()
|
|
153
|
-
Vektor / MAGMA
|
|
154
|
-
↓ 4-layer graph (semantic, temporal, causal, entity)
|
|
155
|
-
SQLite-vec (local, no cloud)
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### DB growth
|
|
159
|
-
|
|
160
|
-
CLOAK writes 3-5 nodes per session — not per operation.
|
|
161
|
-
At 1 year of daily use: ~1,000 nodes. Sub-millisecond recall throughout.
|
|
162
|
-
|
|
163
|
-
> ⚠️ **Concurrency warning**: Use stdio MCP (default). The HTTP mode
|
|
164
|
-
> (`CLOAK_HTTP=1`) does not support concurrent multi-agent sessions.
|
|
243
|
+
All 28 tools are available in Claude Code via this config.
|
|
165
244
|
|
|
166
245
|
---
|
|
167
246
|
|
|
@@ -177,37 +256,19 @@ At 1 year of daily use: ~1,000 nodes. Sub-millisecond recall throughout.
|
|
|
177
256
|
|
|
178
257
|
### Integrations
|
|
179
258
|
|
|
180
|
-
- **Claude
|
|
181
|
-
- **Claude Code** —
|
|
259
|
+
- **Claude Desktop** — DXT extension, 28 tools, auto-memory system prompt
|
|
260
|
+
- **Claude Code** — MCP server, all 28 tools
|
|
261
|
+
- **CLI** — `chat`, `remember`, `ask`, `agent` commands
|
|
182
262
|
- **LangChain** — v1 + v2 adapter included
|
|
183
263
|
- **OpenAI Agents SDK** — drop-in integration
|
|
184
|
-
- **Mistral** — `vektor_memoire` HTTP tool, localhost bridge
|
|
185
264
|
- **Gemini · Groq · Ollama** — provider agnostic
|
|
186
265
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
- `cloak_fetch` — stealth headless browser fetch
|
|
190
|
-
- `cloak_render` — computed CSS · post-JS DOM sensor
|
|
191
|
-
- `cloak_passport` — AES-256-GCM credential vault, machine-bound
|
|
192
|
-
- `cloak_diff` — semantic diff since last fetch
|
|
193
|
-
- `tokens_saved` — ROI audit per session
|
|
194
|
-
|
|
195
|
-
```js
|
|
196
|
-
const { cloak_passport, cloak_fetch, tokens_saved } = require('vektor-slipstream/cloak');
|
|
197
|
-
|
|
198
|
-
cloak_passport('GITHUB_TOKEN', 'ghp_xxxx');
|
|
199
|
-
const token = cloak_passport('GITHUB_TOKEN');
|
|
200
|
-
|
|
201
|
-
const { text, tokensSaved } = await cloak_fetch('https://example.com');
|
|
202
|
-
|
|
203
|
-
const roi = tokens_saved({ raw_tokens: 10000, actual_tokens: 3000 });
|
|
204
|
-
// → { reduction_pct: 70, cost_saved_usd: 0.0175, roi_multiple: 2.3 }
|
|
205
|
-
```
|
|
266
|
+
---
|
|
206
267
|
|
|
207
268
|
## Performance
|
|
208
269
|
|
|
209
270
|
| Metric | Value |
|
|
210
|
-
|
|
271
|
+
|---|---|
|
|
211
272
|
| Recall latency | ~8ms avg (local SQLite) |
|
|
212
273
|
| Embedding cost | $0 — fully local ONNX |
|
|
213
274
|
| Embedding latency | ~10ms GPU / ~25ms CPU |
|
|
@@ -222,15 +283,19 @@ Zero config. VEKTOR detects and uses the best available accelerator:
|
|
|
222
283
|
- **Apple Silicon** — CoreML
|
|
223
284
|
- **CPU** — optimised fallback, works everywhere
|
|
224
285
|
|
|
286
|
+
---
|
|
287
|
+
|
|
225
288
|
## Licence
|
|
226
289
|
|
|
227
290
|
Commercial licence. One-time payment of $159. Activates on up to 3 machines.
|
|
228
291
|
Manage at [polar.sh](https://polar.sh).
|
|
229
292
|
|
|
230
|
-
Purchase: [vektormemory.com/product#pricing](https://vektormemory.com/product#pricing)
|
|
231
|
-
Docs: [vektormemory.com/docs](https://vektormemory.com/docs)
|
|
293
|
+
Purchase: [vektormemory.com/product#pricing](https://vektormemory.com/product#pricing)
|
|
294
|
+
Docs: [vektormemory.com/docs](https://vektormemory.com/docs)
|
|
232
295
|
Support: hello@vektormemory.com
|
|
233
296
|
|
|
297
|
+
---
|
|
298
|
+
|
|
234
299
|
## Research
|
|
235
300
|
|
|
236
301
|
Built on peer-reviewed research:
|
|
@@ -238,4 +303,4 @@ Built on peer-reviewed research:
|
|
|
238
303
|
- [MAGMA (arxiv:2601.03236)](https://arxiv.org/abs/2601.03236) — Multi-Graph Agentic Memory Architecture
|
|
239
304
|
- [EverMemOS (arxiv:2601.02163)](https://arxiv.org/abs/2601.02163) — Self-Organizing Memory OS
|
|
240
305
|
- [HippoRAG (arxiv:2405.14831)](https://arxiv.org/abs/2405.14831) — Neurobiologically Inspired Long-Term Memory (NeurIPS 2024)
|
|
241
|
-
- [Mem0 (arxiv:2504.19413)](https://arxiv.org/abs/2504.19413) — Production-Ready Agent Memory
|
|
306
|
+
- [Mem0 (arxiv:2504.19413)](https://arxiv.org/abs/2504.19413) — Production-Ready Agent Memory
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vektor-slipstream",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.5",
|
|
4
4
|
"description": "Hardware-accelerated persistent memory for AI agents. Local-first, zero cloud dependency, $0 embedding cost.",
|
|
5
5
|
"main": "slipstream-core-extended.js",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"better-sqlite3": "^12.8.0",
|
|
74
74
|
"onnxruntime-node": "^1.17.3",
|
|
75
|
-
"vektor-slipstream": "^1.4.
|
|
75
|
+
"vektor-slipstream": "^1.4.5"
|
|
76
76
|
},
|
|
77
77
|
"optionalDependencies": {
|
|
78
78
|
"@anthropic-ai/sdk": "^0.82.0",
|
package/CHANGELOG.md
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
# VEKTOR v1.3.7 — Changelog
|
|
2
|
-
|
|
3
|
-
Released: 2026-04-05
|
|
4
|
-
|
|
5
|
-
## New features
|
|
6
|
-
|
|
7
|
-
### memory.forget(id)
|
|
8
|
-
Hard-deletes a memory and cascades to all graph edges. Throws if memory is pinned — must unpin first.
|
|
9
|
-
```js
|
|
10
|
-
await memory.forget('mem_abc123');
|
|
11
|
-
// → { deleted: true, edgesRemoved: 4 }
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
### memory.forgetWhere(query, opts)
|
|
15
|
-
Semantic bulk-delete. Preview with `dryRun: true` before committing.
|
|
16
|
-
```js
|
|
17
|
-
await memory.forgetWhere('Project Atlas', { dryRun: true });
|
|
18
|
-
await memory.forgetWhere('Project Atlas', { minScore: 0.9, limit: 5 });
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### memory.pin(id) / memory.unpin(id) / memory.listPinned()
|
|
22
|
-
Mark memories as permanent — REM cycle will never compress or delete them.
|
|
23
|
-
```js
|
|
24
|
-
const { id } = await memory.remember('User is allergic to peanuts');
|
|
25
|
-
await memory.pin(id);
|
|
26
|
-
await memory.listPinned(); // → all pinned memories
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### memory.inspect()
|
|
30
|
-
Full diagnostic snapshot — no more raw SQLite queries to debug state.
|
|
31
|
-
```js
|
|
32
|
-
const state = memory.inspect();
|
|
33
|
-
state.counts // → { memories: 247, pinned: 3, edges: 7180 }
|
|
34
|
-
state.rem // → { totalDreams: 11, compressionRatio: '0.06' }
|
|
35
|
-
state.graph.topNodes // → 5 most-connected memories
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### memory.auditLog(opts) / memory.auditStats()
|
|
39
|
-
Full AUDN decision history. Nothing disappears silently.
|
|
40
|
-
```js
|
|
41
|
-
memory.auditLog({ action: 'DELETE', since: '7d' });
|
|
42
|
-
// → [{ action, memory_id, content, reason, similarity, ran_at }]
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### memory.briefing({ since }) — scoped date filtering
|
|
46
|
-
```js
|
|
47
|
-
await memory.briefing({ since: '7d' });
|
|
48
|
-
await memory.briefing({ since: '12h', minImportance: 0.7 });
|
|
49
|
-
await memory.briefing({ since: '2026-01-01', raw: true });
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### memory.export() / memory.import()
|
|
53
|
-
Full graph serialisation with checksum integrity.
|
|
54
|
-
```js
|
|
55
|
-
const bundle = memory.export();
|
|
56
|
-
fs.writeFileSync('backup.vektor.json', JSON.stringify(bundle));
|
|
57
|
-
|
|
58
|
-
memory.import(bundle);
|
|
59
|
-
// → { imported: 244, skipped: 3, edgesAdded: 7100 }
|
|
60
|
-
|
|
61
|
-
memory.import(bundle, { dryRun: true }); // preview
|
|
62
|
-
memory.import(bundle, { mode: 'replace' }); // wipe and restore
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Namespace support
|
|
66
|
-
Scope all reads/writes to prevent project bleed.
|
|
67
|
-
```js
|
|
68
|
-
const memory = await createMemory({ agentId: 'my-agent', namespace: 'project-atlas' });
|
|
69
|
-
memory.listNamespaces();
|
|
70
|
-
// → [{ namespace: 'project-atlas', memories: 18 }, ...]
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### TypeScript types
|
|
74
|
-
Full `.d.ts` declarations for all public API methods. No more flying blind in your IDE.
|
|
75
|
-
Add to `tsconfig.json`: `"types": ["vektor-slipstream"]`
|
|
76
|
-
|
|
77
|
-
### Structured error codes
|
|
78
|
-
Replace string catch blocks with reliable `VektorError.code` switching.
|
|
79
|
-
```js
|
|
80
|
-
import { VektorError, ERR } from 'vektor-slipstream/errors';
|
|
81
|
-
|
|
82
|
-
try {
|
|
83
|
-
await memory.remember(...)
|
|
84
|
-
} catch (e) {
|
|
85
|
-
if (e instanceof VektorError) {
|
|
86
|
-
switch (e.code) {
|
|
87
|
-
case ERR.LICENCE_INVALID: // handle
|
|
88
|
-
case ERR.EMBED_FAILED: // retry
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Schema changes
|
|
95
|
-
Run `npx vektor migrate` after updating, or migration runs automatically on startup.
|
|
96
|
-
|
|
97
|
-
New columns:
|
|
98
|
-
- `memories.pinned` INTEGER DEFAULT 0
|
|
99
|
-
- `memories.namespace` TEXT DEFAULT 'default'
|
|
100
|
-
- `memories.updated_at` INTEGER
|
|
101
|
-
|
|
102
|
-
New tables:
|
|
103
|
-
- `audn_log` — AUDN decision audit trail
|
|
104
|
-
- `rem_log` — REM cycle run history (if not already present)
|
|
105
|
-
- `vektor_meta` — schema version tracking
|
|
106
|
-
|
|
107
|
-
## Bug fixes
|
|
108
|
-
- REM cycle now skips pinned memories (previously could compress critical facts)
|
|
109
|
-
- AUDN deletions now logged before execution (previously silent)
|
|
110
|
-
- briefing() no longer returns stale summary when no memories exist in window
|
|
111
|
-
|
|
112
|
-
## Breaking changes
|
|
113
|
-
None. All new methods are additive. Existing code works unchanged.
|
|
114
|
-
Migration is backward-compatible — new columns have safe defaults.
|
|
115
|
-
|
|
116
|
-
## Gemini security review fixes (round 1 — applied)
|
|
117
|
-
- `briefing.js` — pinned memory query now has LIMIT 50 (context bomb prevention)
|
|
118
|
-
- `briefing.js` — `parseSince()` guards against `Date.now()` ms being passed as unix seconds
|
|
119
|
-
- `forget.js` — `forgetWhere()` selective error catching — infra errors re-thrown, only expected skips swallowed
|
|
120
|
-
- `namespace.js` — O(N) JS delete loop replaced with bulk SQL subquery (2 statements vs N*2)
|
|
121
|
-
- `inspect.js` — all `SUM()` aggregations wrapped in `IFNULL(..., 0)` — no more `null` in charts
|
|
122
|
-
- `migrate-137.js` — `PRAGMA table_info()` replaces brittle error-message string matching
|
|
123
|
-
|
|
124
|
-
## Gemini security review fixes (round 2 — applied)
|
|
125
|
-
- `export-import.js` — Fix 1: `IN (...memIds)` placeholders replaced with SQL subqueries — no more 32,766 param limit crash on large exports
|
|
126
|
-
- `export-import.js` — Fix 2: O(N) loop in `replace` mode replaced with bulk subquery deletes
|
|
127
|
-
- `export-import.js` — Fix 3: checksum now hashes full memories payload — content/importance tampering now detectable
|
|
128
|
-
- `export-import.js` — Fix 4: dangling edge guard — edges only inserted if both source and target exist in destination (`WHERE EXISTS`)
|
|
129
|
-
- `export-import.js` — `edgesSkipped` added to import return value with console.warn for partial imports
|
|
130
|
-
|
|
131
|
-
## Gemini security review fixes (round 3 — applied)
|
|
132
|
-
- `forget.js` — pinned edge orphan guard: blocks deleting a memory that shares
|
|
133
|
-
a graph edge with a pinned memory — prevents silent MAGMA traversal corruption
|
|
134
|
-
- `namespace.js` — SQLITE_BUSY retry loop: 3 attempts × 100ms using
|
|
135
|
-
`Atomics.wait` (correct sync sleep for better-sqlite3) before propagating error
|
|
136
|
-
- `export-import.js` — confirmed: empty bundle guard (line 103) already sits
|
|
137
|
-
before checksum computation (line 107) — correct order, no change needed
|
|
138
|
-
|
|
139
|
-
## Total fixes across 3 Gemini review rounds: 13
|
package/LICENSE
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
VEKTOR SLIPSTREAM — COMMERCIAL LICENCE
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 VEKTOR Memory (vektormemory.com)
|
|
4
|
-
|
|
5
|
-
This software is licensed, not sold. Purchase of a Vektor Slipstream licence
|
|
6
|
-
grants you a non-exclusive, non-transferable right to use this software in
|
|
7
|
-
accordance with the following terms:
|
|
8
|
-
|
|
9
|
-
PERMITTED:
|
|
10
|
-
- Use in personal, commercial, and client projects
|
|
11
|
-
- Embed in products you sell or SaaS platforms
|
|
12
|
-
- Deploy on up to 3 machines per licence key
|
|
13
|
-
- Modify for your own use (modifications are not redistributable)
|
|
14
|
-
|
|
15
|
-
NOT PERMITTED:
|
|
16
|
-
- Redistribute, resell, or sublicense this software
|
|
17
|
-
- Remove or modify licence enforcement mechanisms
|
|
18
|
-
- Share your licence key with others
|
|
19
|
-
- Use in projects that compete directly with VEKTOR Memory
|
|
20
|
-
|
|
21
|
-
LICENCE ENFORCEMENT:
|
|
22
|
-
This software requires a valid licence key from vektormemory.com.
|
|
23
|
-
Licence keys are validated via Polar (polar.sh) and cached locally.
|
|
24
|
-
Each key activates on up to 3 machines.
|
|
25
|
-
|
|
26
|
-
SOVEREIGNTY GUARANTEE:
|
|
27
|
-
Core SDK functionality remains a one-time purchase permanently.
|
|
28
|
-
No mandatory subscription will ever be required for the memory core,
|
|
29
|
-
AUDN loop, REM cycle, or integration adapters included in this package.
|
|
30
|
-
|
|
31
|
-
Purchase: https://vektormemory.com/product#pricing
|
|
32
|
-
Support: hello@vektormemory.com
|
|
33
|
-
Docs: https://vektormemory.com/docs
|