n2-soul 9.0.1 → 9.0.3
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 +114 -103
- package/README.ko.md +496 -496
- package/README.md +586 -595
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-registry.d.ts +17 -0
- package/dist/lib/agent-registry.js +67 -0
- package/dist/lib/agent-registry.js.map +1 -0
- package/dist/lib/config.d.ts +3 -0
- package/dist/lib/config.default.d.ts +3 -0
- package/dist/lib/config.default.js +66 -0
- package/dist/lib/config.default.js.map +1 -0
- package/dist/lib/config.js +47 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/context.d.ts +15 -0
- package/dist/lib/context.js +35 -0
- package/dist/lib/context.js.map +1 -0
- package/dist/lib/core-memory.d.ts +34 -0
- package/dist/lib/core-memory.js +102 -0
- package/dist/lib/core-memory.js.map +1 -0
- package/dist/lib/entity-memory.d.ts +58 -0
- package/dist/lib/entity-memory.js +190 -0
- package/dist/lib/entity-memory.js.map +1 -0
- package/dist/lib/intercom-log.d.ts +41 -0
- package/dist/lib/intercom-log.js +163 -0
- package/dist/lib/intercom-log.js.map +1 -0
- package/dist/lib/kv-cache/agent-adapter.d.ts +44 -0
- package/dist/lib/kv-cache/agent-adapter.js +132 -0
- package/dist/lib/kv-cache/agent-adapter.js.map +1 -0
- package/dist/lib/kv-cache/backup.d.ts +64 -0
- package/dist/lib/kv-cache/backup.js +335 -0
- package/dist/lib/kv-cache/backup.js.map +1 -0
- package/dist/lib/kv-cache/compressor.d.ts +20 -0
- package/dist/lib/kv-cache/compressor.js +92 -0
- package/dist/lib/kv-cache/compressor.js.map +1 -0
- package/dist/lib/kv-cache/embedding.d.ts +39 -0
- package/dist/lib/kv-cache/embedding.js +164 -0
- package/dist/lib/kv-cache/embedding.js.map +1 -0
- package/dist/lib/kv-cache/index.d.ts +84 -0
- package/dist/lib/kv-cache/index.js +320 -0
- package/dist/lib/kv-cache/index.js.map +1 -0
- package/dist/lib/kv-cache/schema.d.ts +60 -0
- package/dist/lib/kv-cache/schema.js +85 -0
- package/dist/lib/kv-cache/schema.js.map +1 -0
- package/dist/lib/kv-cache/snapshot.d.ts +42 -0
- package/dist/lib/kv-cache/snapshot.js +220 -0
- package/dist/lib/kv-cache/snapshot.js.map +1 -0
- package/dist/lib/kv-cache/sqlite-store.d.ts +66 -0
- package/dist/lib/kv-cache/sqlite-store.js +343 -0
- package/dist/lib/kv-cache/sqlite-store.js.map +1 -0
- package/dist/lib/kv-cache/tier-manager.d.ts +71 -0
- package/dist/lib/kv-cache/tier-manager.js +146 -0
- package/dist/lib/kv-cache/tier-manager.js.map +1 -0
- package/dist/lib/kv-cache/token-saver.d.ts +19 -0
- package/dist/lib/kv-cache/token-saver.js +99 -0
- package/dist/lib/kv-cache/token-saver.js.map +1 -0
- package/dist/lib/paths.d.ts +6 -0
- package/dist/lib/paths.js +33 -0
- package/dist/lib/paths.js.map +1 -0
- package/dist/lib/soul-engine.d.ts +43 -0
- package/dist/lib/soul-engine.js +276 -0
- package/dist/lib/soul-engine.js.map +1 -0
- package/dist/lib/utils.d.ts +16 -0
- package/dist/lib/utils.js +185 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/sequences/boot.d.ts +13 -0
- package/dist/sequences/boot.js +154 -0
- package/dist/sequences/boot.js.map +1 -0
- package/dist/sequences/end.d.ts +3 -0
- package/dist/sequences/end.js +210 -0
- package/dist/sequences/end.js.map +1 -0
- package/dist/sequences/work.d.ts +17 -0
- package/dist/sequences/work.js +244 -0
- package/dist/sequences/work.js.map +1 -0
- package/dist/tools/brain.d.ts +3 -0
- package/dist/tools/brain.js +93 -0
- package/dist/tools/brain.js.map +1 -0
- package/dist/tools/kv-cache.d.ts +3 -0
- package/dist/tools/kv-cache.js +181 -0
- package/dist/tools/kv-cache.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,103 +1,114 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to Soul are documented here.
|
|
4
|
-
|
|
5
|
-
## [9.0.
|
|
6
|
-
|
|
7
|
-
###
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- `
|
|
34
|
-
-
|
|
35
|
-
- `
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## [
|
|
97
|
-
|
|
98
|
-
###
|
|
99
|
-
|
|
100
|
-
- **
|
|
101
|
-
- **
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Soul are documented here.
|
|
4
|
+
|
|
5
|
+
## [9.0.2] — 2026-03-27
|
|
6
|
+
|
|
7
|
+
### Packaging Fix
|
|
8
|
+
|
|
9
|
+
#### Fixed
|
|
10
|
+
- **CRITICAL**: `.npmignore` excluded `dist/lib/`, `dist/sequences/`, `dist/tools/`, and `dist/index.js` — npm installs failed with `Cannot find module './lib/config'` ([#issue](https://github.com/choihyunsus/soul/issues))
|
|
11
|
+
- Root-anchored all ignore patterns with leading `/` so they no longer match inside `dist/`
|
|
12
|
+
- Removed compiled test files (`dist/tests/`) from the published tarball (88 files, down from 100)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## [9.0.0] — 2026-03-26
|
|
17
|
+
|
|
18
|
+
### Strict TypeScript Migration
|
|
19
|
+
|
|
20
|
+
Soul is now fully written in **TypeScript strict mode** with zero `any` usage.
|
|
21
|
+
|
|
22
|
+
#### Added
|
|
23
|
+
- **ESLint strict rules** — automated detection of floating promises, unused vars, type safety violations
|
|
24
|
+
- **30 unit tests** — utils, soul-engine, kv-cache, and dispose pattern verification
|
|
25
|
+
- **`npm run verify`** — one-command pipeline: typecheck + lint + build + test
|
|
26
|
+
- **`SoulKVCache.dispose()`** — proper timer cleanup for backup scheduler
|
|
27
|
+
- **`disposeWorkSequence()`** — GC timer cleanup for test environments
|
|
28
|
+
- **HTTP response size limit** (10MB) for Ollama embedding requests
|
|
29
|
+
- **`sql-js.d.ts`** — custom type declarations for sql.js WASM module
|
|
30
|
+
|
|
31
|
+
#### Fixed
|
|
32
|
+
- **CRITICAL**: `stmt.free()` / `embStmt.free()` now wrapped in `try/finally` blocks (WASM memory leak prevention)
|
|
33
|
+
- **CRITICAL**: `.catch(() => {})` silent error swallowing replaced with `logError()`
|
|
34
|
+
- **HIGH**: Floating promise in auto-backup timer — added `void` + `.catch()` error handling
|
|
35
|
+
- **HIGH**: `Buffer` + `string` concatenation — explicit `.toString()` conversion
|
|
36
|
+
|
|
37
|
+
#### Changed
|
|
38
|
+
- Source code migrated from CommonJS to `import/export` (ESM-style), compiled output remains CJS for compatibility
|
|
39
|
+
- 13 `require()` calls → 9 static `import` + 4 documented lazy `require()` (circular deps, runtime optional)
|
|
40
|
+
- `export =` → `export default` for ESM/CJS interop
|
|
41
|
+
- `tsconfig.json` — `strict: true`, `noUncheckedIndexedAccess`, `noUnusedLocals`, `noUnusedParameters`
|
|
42
|
+
|
|
43
|
+
#### Dependencies Added (devDependencies)
|
|
44
|
+
- `eslint` ^9.x
|
|
45
|
+
- `@eslint/js` ^9.x
|
|
46
|
+
- `typescript-eslint` ^8.x
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## [8.0.0] — 2026-03-26
|
|
51
|
+
|
|
52
|
+
### Forgetting Curve — Intelligent Memory
|
|
53
|
+
|
|
54
|
+
Soul now remembers what matters and forgets what doesn't, inspired by Ebbinghaus' forgetting curve.
|
|
55
|
+
|
|
56
|
+
#### Added
|
|
57
|
+
- **Forgetting Curve GC** — retention formula: `importance × (1 + log₂(1 + accessCount)) × e^(−λ × ageDays)`
|
|
58
|
+
- **3-tier memory lifecycle** — Hot (0–7d, in-memory + disk) → Warm (8–30d, disk) → Cold (30d+, archived)
|
|
59
|
+
- **Async I/O** — all hot-path operations non-blocking (42% faster KV load, 3x+ search throughput)
|
|
60
|
+
- **Schema v2** — `accessCount`, `lastAccessed`, `importance`, `tier` fields (auto-migrated from v1)
|
|
61
|
+
- **SQLite backend** — `sql.js` WASM-based, no native bindings needed
|
|
62
|
+
- **Incremental backups** — portable SQLite backup/restore with configurable retention
|
|
63
|
+
- **Semantic search** — Ollama `nomic-embed-text` embedding integration
|
|
64
|
+
|
|
65
|
+
#### Changed
|
|
66
|
+
- SDK Native Migration — removed legacy `registerTool` shim, direct `server.tool()` API
|
|
67
|
+
- `z.any()` eliminated from all tool schema definitions
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## [7.0.0] — 2026-03
|
|
72
|
+
|
|
73
|
+
### Arachne — Code Context Assembly
|
|
74
|
+
|
|
75
|
+
> **Note**: Arachne has been separated into its own package [`n2-arachne`](https://github.com/choihyunsus/n2-arachne) as of v8.0.
|
|
76
|
+
|
|
77
|
+
- BM25 search + dependency tracking + smart assembly
|
|
78
|
+
- 50,000 file project → 30 most relevant chunks → 30K tokens (instead of 500K+)
|
|
79
|
+
- Ollama semantic search support
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## [6.0.0] — 2026-03
|
|
84
|
+
|
|
85
|
+
### Ark — AI Safety System
|
|
86
|
+
|
|
87
|
+
> **Note**: Ark has been separated into its own package [`n2-ark`](https://github.com/choihyunsus/n2-ark) as of v8.0.
|
|
88
|
+
|
|
89
|
+
- Zero-token-cost safety enforcement via regex pattern matching
|
|
90
|
+
- Multi-layer response system (WARN → MODIFY → BLOCK → LOCKDOWN)
|
|
91
|
+
- `.n2` rule file format with 7 domain templates
|
|
92
|
+
- Full MCP compatibility
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## [5.0.0] — 2026-02
|
|
97
|
+
|
|
98
|
+
### Entity & Core Memory
|
|
99
|
+
|
|
100
|
+
- **Entity Memory** — auto-track people, hardware, projects, concepts
|
|
101
|
+
- **Core Memory** — per-agent always-loaded facts
|
|
102
|
+
- **Auto-extraction** — entities and insights saved automatically at `n2_work_end`
|
|
103
|
+
- **Context Search** — keyword search across Brain + Ledger
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## [4.0.0] — 2026-01
|
|
108
|
+
|
|
109
|
+
### Soul Board & Ledger
|
|
110
|
+
|
|
111
|
+
- **Soul Board** — project state + TODO tracking + cross-agent handoff
|
|
112
|
+
- **Immutable Ledger** — append-only work logs with date-based partitioning
|
|
113
|
+
- **File Ownership** — collision prevention for multi-agent environments
|
|
114
|
+
- **Shared Brain** — file-based shared memory with path traversal protection
|