Repository navigation
v0.4.0
-
Search,
vmem_search, spec grep and writer duplicate hints match a Hangul or other CJK term of 2+ characters inside particle and compound forms (사업단finds사업단은,사업단장,해외사업단) through a side FTS5 bigram table. Latin terms keep token matching and their ranking; standalone-word and title/description hits rank before substring-only body hits. The index file name gains a schema version (-links2-schema2.sqlite), so the first run builds a new index once and older vmem versions keep their own file (#59). -
vmem_patchtakesedits(1 to 32{oldString, newString}pairs) as an alternative to the single pair, andvmem patch --edits file|-takes the same JSON array. EacholdStringmust match exactly once in the original note, edits must not overlap or start in frontmatter, and all apply or none do, with one receipt, one log event and the 256 KiB bound checked on the combined result. Several rows of one note no longer need one SHA round trip per edit (#63). -
Every MCP write tool takes the optional
logevent:vmem_patch,vmem_append,vmem_set_frontmatter,vmem_moveandvmem_deletejoinvmem_create,vmem_linkandvmem_supersede(move and delete use it on the confirm call). CLI writers keep--log JSONas the one form, now shown in each command's usage and checked against the same closed schema as the MCP field. A given event is validated and screened likelog appendbefore any note changes, so an invalid event (bad JSON, unknown key, bad type, unknown project, screened secret) refuses the whole write instead of saving the note and logging nothing; the event is no longer part of the move/delete fingerprint (#60). -
vmem_listtakes acursorand returns the filteredtotal, a per-rowmtimefrom the index andnextCursor, so a full vault can be paged in stable path order. New read-onlyvmem stats <vault>andvmem_statscount notes by type, domain and status, notes modified in the last 7 and 30 days, and log events by type over a bounded window (default 30 days), without writing or locking the vault or its log.vmem statusandvmem doctorno longer print the obsoletestage: "foundation"field; scripts that read it should drop that check (#62). -
vmem manifest --jsonlists read-only MCP tools as{name, readOnly: true}(taken from each tool'sreadOnlyHint), so installers can approve new read tools without a hard-coded list; other tools stay plain names. The release workflow states N-1 per minor line; patch releases carry no N-1 line (#106). -
Add MCP
vmem_read_fileandvmem_list_files, bounded read-only access toops/,reports/,self/,templates/,AGENTS.mdandREADME.mdwithvmem_readpaging and limits;notes/,log, dot paths, symlinked components, non-UTF-8 and over-limit files are refused with the tool to use instead. Addvmem_report, the MCP form ofvmem reportwith the same receipt and log event (#61). -
N-1: 0.3.3 runs beside this release. The derived index moves to
<sha>-links2-schema2.sqlite(spec caches likewise), so 0.3.3 keeps its own-links2.sqliteand the first 0.4.0 run builds its index once. The config format, note format and log line format are unchanged, so each version reads what the other writes. MCP and CLI changes are additive for 0.3.3 clients: new tools (vmem_read_file,vmem_list_files,vmem_report,vmem_stats), optionallogandeditsarguments, andvmem_listaddstotal,nextCursorand per-rowmtimebesidenotes. Two behaviors differ:vmem statusno longer printsstage, and a write with an invalid log event is refused instead of saved without its event.
Install
npm i -g @staix/vault-mem@0.4.0
Published to npm with provenance through GitHub OIDC trusted publishing. The validated tarball (SHA-256 3dad1b40936d08a7cbe283403de019c70f5fc66d1452c0b59664c12bf2870114) and its manifest (tag, commit, SHA-256) from this run are attached.
Full changelog: v0.3.3...v0.4.0