@theokit/sdk-memory 0.1.0 → 0.2.0
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 +22 -1
- package/dist/index.cjs +297 -207
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +34 -33
- package/dist/index.d.ts +34 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +300 -211
- package/dist/index.js.map +1 -1
- package/dist/internal/active-memory/active-memory-cache.d.ts.map +1 -0
- package/dist/internal/{active-memory-types.d.ts → active-memory/active-memory-types.d.ts} +1 -1
- package/dist/internal/active-memory/active-memory-types.d.ts.map +1 -0
- package/dist/internal/{active-memory.d.ts → active-memory/active-memory.d.ts} +2 -2
- package/dist/internal/active-memory/active-memory.d.ts.map +1 -0
- package/dist/internal/active-memory/composite-scorer.d.ts.map +1 -0
- package/dist/internal/active-memory/query-analyzer.d.ts.map +1 -0
- package/dist/internal/adapter-catalog.d.ts +6 -6
- package/dist/internal/categorized-memory.d.ts +56 -0
- package/dist/internal/categorized-memory.d.ts.map +1 -0
- package/dist/internal/dreaming/dreaming-diary.d.ts.map +1 -0
- package/dist/internal/{dreaming-phases.d.ts → dreaming/dreaming-phases.d.ts} +2 -2
- package/dist/internal/dreaming/dreaming-phases.d.ts.map +1 -0
- package/dist/internal/{dreaming-run.d.ts → dreaming/dreaming-run.d.ts} +1 -1
- package/dist/internal/dreaming/dreaming-run.d.ts.map +1 -0
- package/dist/internal/embedding/batch-encoder.d.ts.map +1 -0
- package/dist/internal/embedding/deepinfra-embedding.d.ts.map +1 -0
- package/dist/internal/embedding/embedding-adapter.d.ts.map +1 -0
- package/dist/internal/embedding/embedding-cache.d.ts.map +1 -0
- package/dist/internal/embedding/mistral-embedding.d.ts.map +1 -0
- package/dist/internal/embedding/ollama-embedding.d.ts.map +1 -0
- package/dist/internal/embedding/openai-compatible.d.ts.map +1 -0
- package/dist/internal/embedding/openai-embedding.d.ts.map +1 -0
- package/dist/internal/embedding/openrouter-embedding.d.ts.map +1 -0
- package/dist/internal/embedding/voyage-embedding.d.ts.map +1 -0
- package/dist/internal/index/index-db.d.ts.map +1 -0
- package/dist/internal/{index-manager-contract.d.ts → index/index-manager-contract.d.ts} +1 -1
- package/dist/internal/index/index-manager-contract.d.ts.map +1 -0
- package/dist/internal/index/index-manager-dispatch.d.ts.map +1 -0
- package/dist/internal/{index-manager.d.ts → index/index-manager.d.ts} +1 -1
- package/dist/internal/index/index-manager.d.ts.map +1 -0
- package/dist/internal/index/index-schema.d.ts.map +1 -0
- package/dist/internal/{lance-index.d.ts → index/lance-index.d.ts} +1 -1
- package/dist/internal/index/lance-index.d.ts.map +1 -0
- package/dist/internal/index/lance-memory-adapter.d.ts.map +1 -0
- package/dist/internal/index/memory-index.d.ts.map +1 -0
- package/dist/internal/index/migrate-sqlite-to-lance.d.ts.map +1 -0
- package/dist/internal/{migration.d.ts → index/migration.d.ts} +1 -1
- package/dist/internal/index/migration.d.ts.map +1 -0
- package/dist/internal/index/sqlite-vec-loader.d.ts.map +1 -0
- package/dist/internal/{vec-index.d.ts → index/vec-index.d.ts} +1 -1
- package/dist/internal/index/vec-index.d.ts.map +1 -0
- package/dist/internal/memory-types.d.ts +5 -0
- package/dist/internal/memory-types.d.ts.map +1 -1
- package/dist/internal/store/chunk-markdown.d.ts.map +1 -0
- package/dist/internal/{markdown-store.d.ts → store/markdown-store.d.ts} +1 -1
- package/dist/internal/store/markdown-store.d.ts.map +1 -0
- package/dist/internal/store/reader.d.ts.map +1 -0
- package/dist/internal/store/session-loader.d.ts.map +1 -0
- package/dist/internal/store/session-summary-writer.d.ts.map +1 -0
- package/dist/internal/store/transcript-store.d.ts.map +1 -0
- package/dist/internal/store/wiki-loader.d.ts.map +1 -0
- package/dist/internal/tools.d.ts +1 -1
- package/dist/internal/tools.d.ts.map +1 -1
- package/package.json +9 -9
- package/dist/internal/active-memory-cache.d.ts.map +0 -1
- package/dist/internal/active-memory-types.d.ts.map +0 -1
- package/dist/internal/active-memory.d.ts.map +0 -1
- package/dist/internal/batch-encoder.d.ts.map +0 -1
- package/dist/internal/chunk-markdown.d.ts.map +0 -1
- package/dist/internal/composite-scorer.d.ts.map +0 -1
- package/dist/internal/deepinfra-embedding.d.ts.map +0 -1
- package/dist/internal/dreaming-diary.d.ts.map +0 -1
- package/dist/internal/dreaming-phases.d.ts.map +0 -1
- package/dist/internal/dreaming-run.d.ts.map +0 -1
- package/dist/internal/embedding-adapter.d.ts.map +0 -1
- package/dist/internal/embedding-cache.d.ts.map +0 -1
- package/dist/internal/index-db.d.ts.map +0 -1
- package/dist/internal/index-manager-contract.d.ts.map +0 -1
- package/dist/internal/index-manager-dispatch.d.ts.map +0 -1
- package/dist/internal/index-manager.d.ts.map +0 -1
- package/dist/internal/index-schema.d.ts.map +0 -1
- package/dist/internal/lance-index.d.ts.map +0 -1
- package/dist/internal/lance-memory-adapter.d.ts.map +0 -1
- package/dist/internal/markdown-store.d.ts.map +0 -1
- package/dist/internal/memory-index.d.ts.map +0 -1
- package/dist/internal/migrate-sqlite-to-lance.d.ts.map +0 -1
- package/dist/internal/migration.d.ts.map +0 -1
- package/dist/internal/mistral-embedding.d.ts.map +0 -1
- package/dist/internal/ollama-embedding.d.ts.map +0 -1
- package/dist/internal/openai-compatible.d.ts.map +0 -1
- package/dist/internal/openai-embedding.d.ts.map +0 -1
- package/dist/internal/openrouter-embedding.d.ts.map +0 -1
- package/dist/internal/query-analyzer.d.ts.map +0 -1
- package/dist/internal/reader.d.ts.map +0 -1
- package/dist/internal/session-loader.d.ts.map +0 -1
- package/dist/internal/session-summary-writer.d.ts.map +0 -1
- package/dist/internal/sqlite-vec-loader.d.ts.map +0 -1
- package/dist/internal/transcript-store.d.ts.map +0 -1
- package/dist/internal/vec-index.d.ts.map +0 -1
- package/dist/internal/voyage-embedding.d.ts.map +0 -1
- package/dist/internal/wiki-loader.d.ts.map +0 -1
- /package/dist/internal/{active-memory-cache.d.ts → active-memory/active-memory-cache.d.ts} +0 -0
- /package/dist/internal/{composite-scorer.d.ts → active-memory/composite-scorer.d.ts} +0 -0
- /package/dist/internal/{query-analyzer.d.ts → active-memory/query-analyzer.d.ts} +0 -0
- /package/dist/internal/{dreaming-diary.d.ts → dreaming/dreaming-diary.d.ts} +0 -0
- /package/dist/internal/{batch-encoder.d.ts → embedding/batch-encoder.d.ts} +0 -0
- /package/dist/internal/{deepinfra-embedding.d.ts → embedding/deepinfra-embedding.d.ts} +0 -0
- /package/dist/internal/{embedding-adapter.d.ts → embedding/embedding-adapter.d.ts} +0 -0
- /package/dist/internal/{embedding-cache.d.ts → embedding/embedding-cache.d.ts} +0 -0
- /package/dist/internal/{mistral-embedding.d.ts → embedding/mistral-embedding.d.ts} +0 -0
- /package/dist/internal/{ollama-embedding.d.ts → embedding/ollama-embedding.d.ts} +0 -0
- /package/dist/internal/{openai-compatible.d.ts → embedding/openai-compatible.d.ts} +0 -0
- /package/dist/internal/{openai-embedding.d.ts → embedding/openai-embedding.d.ts} +0 -0
- /package/dist/internal/{openrouter-embedding.d.ts → embedding/openrouter-embedding.d.ts} +0 -0
- /package/dist/internal/{voyage-embedding.d.ts → embedding/voyage-embedding.d.ts} +0 -0
- /package/dist/internal/{index-db.d.ts → index/index-db.d.ts} +0 -0
- /package/dist/internal/{index-manager-dispatch.d.ts → index/index-manager-dispatch.d.ts} +0 -0
- /package/dist/internal/{index-schema.d.ts → index/index-schema.d.ts} +0 -0
- /package/dist/internal/{lance-memory-adapter.d.ts → index/lance-memory-adapter.d.ts} +0 -0
- /package/dist/internal/{memory-index.d.ts → index/memory-index.d.ts} +0 -0
- /package/dist/internal/{migrate-sqlite-to-lance.d.ts → index/migrate-sqlite-to-lance.d.ts} +0 -0
- /package/dist/internal/{sqlite-vec-loader.d.ts → index/sqlite-vec-loader.d.ts} +0 -0
- /package/dist/internal/{chunk-markdown.d.ts → store/chunk-markdown.d.ts} +0 -0
- /package/dist/internal/{reader.d.ts → store/reader.d.ts} +0 -0
- /package/dist/internal/{session-loader.d.ts → store/session-loader.d.ts} +0 -0
- /package/dist/internal/{session-summary-writer.d.ts → store/session-summary-writer.d.ts} +0 -0
- /package/dist/internal/{transcript-store.d.ts → store/transcript-store.d.ts} +0 -0
- /package/dist/internal/{wiki-loader.d.ts → store/wiki-loader.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
# Changelog — @theokit/sdk-memory
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 809418a: M4-3 — typed categorized memory store (plan `m4-categorized-memory`).
|
|
8
|
+
|
|
9
|
+
- `createCategorizedMemory({ root, categories })` — a typed, category-partitioned markdown memory store. `add(category, text)` validates `category` against the closed `categories` taxonomy (fail-loud `ConfigurationError(code: "unknown_category")` before any I/O), redacts secrets, and appends a bullet to `<root>/<category>.md` (frontmatter header + `## Facts`) atomically and serialized per category file (`withCwdMutex` — no lost update under concurrent adds). `list(category?)` returns `CategorizedFact[]` for one category or all; never throws (a missing file → no facts). Construction validates the taxonomy is non-empty, unique, sanitizable, and sanitized-unique.
|
|
10
|
+
- `MemoryFact` gains an optional `category?: string` (backward-compatible — flat-store facts omit it).
|
|
11
|
+
|
|
12
|
+
Composes the shipped `safePathJoin`/`sanitizeIdentifier` (`@theokit/sdk/path-safety`), `redactSecrets`, and `replaceFileAtomic`/`withCwdMutex` (`@theokit/sdk/internal/persistence`). Zero new dependencies — explicitly NOT adding `zod` (the closed `categories` set is the runtime-checked schema).
|
|
13
|
+
|
|
3
14
|
## [Unreleased]
|
|
4
15
|
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Reorganized the flat 43-file `src/internal/` god folder into 5 sub-concern folders (arch-review M5): `embedding/` (10), `index/` (12), `active-memory/` (5), `dreaming/` (3), `store/` (7); 6 cross-cutting files (`adapter-catalog`, `adapter-http-error`, `circuit-breaker`, `memory-scope`, `memory-types`, `tools`) remain at the `internal/` root. Pure file moves + import-path updates — no behavior/API change (the package barrel `index.ts` re-exports identically); all 324 tests GREEN, `madge --circular` clean.
|
|
19
|
+
|
|
5
20
|
### Security (drift sync — iter 112/114/115, 2026-06-09)
|
|
6
21
|
|
|
7
22
|
Three security/perf hardenings shipped in `@theokit/sdk`'s
|
|
@@ -28,7 +43,7 @@ they have now been synced. Consumers routing through
|
|
|
28
43
|
- **T5.2 — Lance SQL escape hardening (iter 115)** —
|
|
29
44
|
`lance-index.ts`'s `escapeSqlValue` now rejects NUL bytes,
|
|
30
45
|
C0 control chars, and DEL via `ConfigurationError({code:
|
|
31
|
-
|
|
46
|
+
'sql_injection_blocked'})`, and escapes backslashes (`\` →
|
|
32
47
|
`\\`) in addition to single quotes. Pre-sync, only `'` → `''`
|
|
33
48
|
was applied — `\'` could escape the closing quote on engines
|
|
34
49
|
that interpret backslash-escapes.
|
|
@@ -41,6 +56,7 @@ for v1.x back-compat; consumers installing this package get the
|
|
|
41
56
|
canonical surface that sdk-core's Stage 4 routing delegates to.
|
|
42
57
|
|
|
43
58
|
**Closed clusters:**
|
|
59
|
+
|
|
44
60
|
- Dreaming (iter 54+59+60): `dreaming-phases.ts`, `dreaming-diary.ts`,
|
|
45
61
|
`dreaming-run.ts` + `active-memory-types.ts` (iter 48)
|
|
46
62
|
- Sessions (iter 61+62): `session-summary-writer.ts`, `session-loader.ts`
|
|
@@ -62,6 +78,7 @@ canonical surface that sdk-core's Stage 4 routing delegates to.
|
|
|
62
78
|
`active-memory.ts`
|
|
63
79
|
|
|
64
80
|
**Optional peers** (sdk-memory dynamically loads when present):
|
|
81
|
+
|
|
65
82
|
- `better-sqlite3` (iter 65)
|
|
66
83
|
- `sqlite-vec` (iter 66)
|
|
67
84
|
- `@lancedb/lancedb` (iter 68)
|
|
@@ -71,6 +88,7 @@ canonical surface that sdk-core's Stage 4 routing delegates to.
|
|
|
71
88
|
(verified by the Stage 3 drift detector, iter 93).
|
|
72
89
|
|
|
73
90
|
### Added (Phase 1 Stage 3 prep — iter 33-35, 2026-06-08)
|
|
91
|
+
|
|
74
92
|
- `createInMemoryMarkdownProvider.recordSessionSummary` ships REAL
|
|
75
93
|
filesystem-backed impl (was no-op). Writes
|
|
76
94
|
`${cwd}/.theokit/memory/sessions/${sanitizeRunId(runId)}.md` via
|
|
@@ -89,6 +107,7 @@ canonical surface that sdk-core's Stage 4 routing delegates to.
|
|
|
89
107
|
conversations. Returns JSON `{ok, count, results: [{id, snippet}]}`.
|
|
90
108
|
|
|
91
109
|
### Changed (Phase 1 physical Stage 1 — iter 19, 2026-06-08)
|
|
110
|
+
|
|
92
111
|
- `createInMemoryMarkdownProvider` now implements the new optional
|
|
93
112
|
`sync(handle)` port method (no-op for the in-process impl — facts
|
|
94
113
|
are written synchronously to the Map at handler-call time; nothing
|
|
@@ -99,6 +118,7 @@ canonical surface that sdk-core's Stage 4 routing delegates to.
|
|
|
99
118
|
## [0.1.0] — 2026-06-08
|
|
100
119
|
|
|
101
120
|
### Added
|
|
121
|
+
|
|
102
122
|
- Initial release. Consumes the `MemoryProvider` port from `@theokit/sdk@>=1.7.0`
|
|
103
123
|
(SDK 2.0 Phase 1 / T1.6).
|
|
104
124
|
- `createInMemoryMarkdownProvider()` — first concrete impl. In-process
|
|
@@ -106,6 +126,7 @@ canonical surface that sdk-core's Stage 4 routing delegates to.
|
|
|
106
126
|
`systemPromptAdditions` for recalled facts; full lifecycle compliance.
|
|
107
127
|
|
|
108
128
|
### Notes
|
|
129
|
+
|
|
109
130
|
- LanceDB / embeddings / circuit-breaker / dreaming-sweep deferred to future
|
|
110
131
|
versions. This release ships the package foundation + a working impl so
|
|
111
132
|
the SDK 2.0 cohort can publish (Phase 7).
|