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.
Files changed (56) hide show
  1. package/README.md +179 -114
  2. package/package.json +2 -2
  3. package/CHANGELOG.md +0 -139
  4. package/LICENSE +0 -33
  5. package/TENETS.md +0 -189
  6. package/audn-log.js +0 -143
  7. package/axon.js +0 -389
  8. package/boot-patch.js +0 -33
  9. package/boot-screen.html +0 -210
  10. package/briefing.js +0 -150
  11. package/cerebellum.js +0 -439
  12. package/cloak-behaviour.js +0 -596
  13. package/cloak-captcha.js +0 -541
  14. package/cloak-core.js +0 -499
  15. package/cloak-identity.js +0 -484
  16. package/cloak-index.js +0 -261
  17. package/cloak-llms.js +0 -163
  18. package/cloak-pattern-store.js +0 -471
  19. package/cloak-recorder-auto.js +0 -297
  20. package/cloak-recorder-snippet.js +0 -119
  21. package/cloak-turbo-quant.js +0 -357
  22. package/cloak-warmup.js +0 -240
  23. package/cortex.js +0 -221
  24. package/detect-hardware.js +0 -181
  25. package/entity-resolver.js +0 -298
  26. package/errors.js +0 -66
  27. package/examples/example-claude-mcp.js +0 -220
  28. package/examples/example-langchain-researcher.js +0 -82
  29. package/examples/example-openai-assistant.js +0 -84
  30. package/examples/examples-README.md +0 -161
  31. package/export-import.js +0 -221
  32. package/forget.js +0 -148
  33. package/inspect.js +0 -199
  34. package/mistral/README-mistral.md +0 -123
  35. package/mistral/mistral-bridge.js +0 -218
  36. package/mistral/mistral-setup.js +0 -220
  37. package/mistral/vektor-tool-manifest.json +0 -41
  38. package/models/model_quantized.onnx +0 -0
  39. package/models/vocab.json +0 -1
  40. package/namespace.js +0 -186
  41. package/pin.js +0 -91
  42. package/slipstream-core-extended.js +0 -134
  43. package/slipstream-core.js +0 -1
  44. package/slipstream-db.js +0 -140
  45. package/slipstream-embedder.js +0 -338
  46. package/sovereign.js +0 -142
  47. package/token.js +0 -322
  48. package/types/index.d.ts +0 -269
  49. package/vektor-banner-loader.js +0 -109
  50. package/vektor-cli.js +0 -482
  51. package/vektor-licence-prompt.js +0 -128
  52. package/vektor-licence.js +0 -192
  53. package/vektor-setup.js +0 -266
  54. package/vektor-slipstream.dxt +0 -0
  55. package/vektor-tui.js +0 -373
  56. 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
  [![npm](https://img.shields.io/npm/v/vektor-slipstream)](https://www.npmjs.com/package/vektor-slipstream)
6
+ [![downloads](https://img.shields.io/npm/dw/vektor-slipstream)](https://www.npmjs.com/package/vektor-slipstream)
6
7
  [![license](https://img.shields.io/badge/license-Commercial-blue)](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
- ## CLI
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: npx vektor remember "I prefer TypeScript"
53
- npx vektor ask # Query memory: npx vektor ask "what stack am I using?"
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
- ## CLOAK — Developer Context Layer for Claude Code
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
- CLOAK is a 4-tool MCP layer that gives Claude Code persistent memory of your project.
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
- ### What it does
150
+ **User config fields:**
64
151
 
65
- | Tool | Does exactly one thing |
152
+ | Field | Purpose |
66
153
  |---|---|
67
- | `cloak_cortex` | Scans project files, builds a token-aware anatomy index in Vektor's entity graph |
68
- | `cloak_axon` | Session boundary handler loads last context on start, saves MemCell on stop |
69
- | `cloak_cerebellum` | Pre-write enforcer checks writes against known error patterns, auto-resolves fixes |
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
- ### Import
158
+ Download the latest `.dxt` from [vektormemory.com/docs/dxt](https://vektormemory.com/docs/dxt).
73
159
 
74
- ```js
75
- const { runCortex } = require('vektor-slipstream/cloak/cortex');
76
- const { onSessionStart,
77
- onSessionStop } = require('vektor-slipstream/cloak/axon');
78
- const { checkWrite,
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
- ### Claude Code setup
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
- "cloak": {
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
- ### Usage
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 MCP** — `vektor_recall`, `vektor_store`, `vektor_graph`, `vektor_delta`
181
- - **Claude Code** — CLOAK 4-tool developer context layer (see above)
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
- ### Cloak (Sovereign Identity)
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",
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.2"
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