claude-memory-admin 1.4.0 → 1.5.1
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 +26 -5
- package/package.json +1 -1
- package/public/app.mjs +479 -289
- package/public/dialog.mjs +84 -0
- package/public/dom.mjs +15 -0
- package/public/index.html +1 -1
- package/public/styles.css +1 -1
- package/public/ui.mjs +20 -6
- package/server.mjs +9 -0
- package/src/checks.mjs +58 -0
- package/src/model.mjs +40 -1
- package/src/projects.mjs +6 -2
- package/src/sessions.mjs +174 -0
package/README.md
CHANGED
|
@@ -19,8 +19,6 @@ and this README were written by Claude Code, with a human directing the design
|
|
|
19
19
|
and reviewing what landed. Fitting for a tool about what Claude writes for
|
|
20
20
|
itself, and worth saying out loud.
|
|
21
21
|
|
|
22
|
-
<sub>Brought to you by [BitSpire](https://bitspire.ch/).</sub>
|
|
23
|
-
|
|
24
22
|
---
|
|
25
23
|
|
|
26
24
|
### Prune: see what MEMORY.md actually costs you
|
|
@@ -80,7 +78,9 @@ project is to the cliff, and makes it quick to get back under it.
|
|
|
80
78
|
session transcripts on a retention period but never touches `memory/`, so a
|
|
81
79
|
project eventually loses the only proof of what it was called. **Remember
|
|
82
80
|
path** records one you confirm, and is the single thing this app writes
|
|
83
|
-
outside a `memory/` directory.
|
|
81
|
+
outside a `memory/` directory. It is now offered *before* that happens: the
|
|
82
|
+
project header counts down the days until the last transcript naming the
|
|
83
|
+
project is swept, rather than waiting until the name is already gone.
|
|
84
84
|
- **Where the store is** is read the way Claude Code reads it: `autoMemoryDirectory`
|
|
85
85
|
from any settings layer, managed policy through project and local, not just
|
|
86
86
|
`~/.claude/settings.json`. A value that is neither absolute nor `~/`-prefixed
|
|
@@ -96,13 +96,28 @@ project is to the cliff, and makes it quick to get back under it.
|
|
|
96
96
|
- **Prune** (see below).
|
|
97
97
|
- **Graph** the wikilinks between memories. Hovering dims everything that is not
|
|
98
98
|
a neighbour, which is the only practical way to read a dense cluster.
|
|
99
|
+
- **Where each memory came from.** Claude Code stamps `originSessionId` into a
|
|
100
|
+
memory's frontmatter, and the transcript it names sits next to the store until
|
|
101
|
+
the sweep takes it. The memory reads *written in "Release process notes", on
|
|
102
|
+
`main`* while that transcript is there, and says so plainly once it is gone:
|
|
103
|
+
a swept id is struck through in red, like a dead wikilink, because why the
|
|
104
|
+
memory exists can no longer be traced from anything on disk.
|
|
105
|
+
- **Sessions**: the transcripts beside a store, with the retention window drawn
|
|
106
|
+
the way MEMORY.md's cutoff is - each session a tick, the sweep line where it
|
|
107
|
+
falls. Titles are the ones Claude Code generated, falling back to the session
|
|
108
|
+
slug and then the opening prompt; a session that names itself nowhere in the
|
|
109
|
+
part read is shown by id rather than given an invented name. Only the head of
|
|
110
|
+
each file is ever read, so a 200MB store of transcripts costs a quarter of a
|
|
111
|
+
second, and nothing on this tab deletes one.
|
|
99
112
|
- **Health**: orphans, dangling pointers, broken wikilinks, files linked only
|
|
100
113
|
mid-sentence, `name` fields that disagree with the filename, two files claiming
|
|
101
114
|
one `name`, a file bulleted twice, a blank `description`, a `type` outside the
|
|
102
115
|
four documented ones, a memory that is frontmatter and little else, a hook that
|
|
103
116
|
only restates the description it points at, a heading with nothing under it, and
|
|
104
|
-
entries that spill onto a second line
|
|
105
|
-
|
|
117
|
+
entries that spill onto a second line, a memory whose origin transcript has
|
|
118
|
+
been swept, a project whose last proof of its own path is about to be, and
|
|
119
|
+
sessions that produced no memory at all while auto memory was on. An orphan
|
|
120
|
+
can be given the `MEMORY.md` bullet it is missing without leaving the page.
|
|
106
121
|
- **Every count is visible before you click.** Each tab carries a badge, coloured
|
|
107
122
|
amber for something to tidy and red for something actively broken, and the
|
|
108
123
|
sidebar gives each store a dot of its worst severity - memory, instructions and
|
|
@@ -312,6 +327,11 @@ claude-memory-admin --root /tmp/memory-snapshot
|
|
|
312
327
|
chain, unless you switch on the path check above, which then also walks that one
|
|
313
328
|
project's directory. It only ever reads: no path a memory names is opened, only
|
|
314
329
|
looked up in an index built from the project itself.
|
|
330
|
+
- Session transcripts are read at the head only, 16KB and then at most 128KB, and
|
|
331
|
+
never deleted or rewritten. A transcript here reaches 13MB and the app has no
|
|
332
|
+
reason to hold one in memory. A session id read out of frontmatter is matched
|
|
333
|
+
against a strict id shape before it is joined to a path, and only ever looked
|
|
334
|
+
for in the store's own directory.
|
|
315
335
|
- Every write target must resolve to a plain `.md` file inside that project's own
|
|
316
336
|
`memory/` directory. `..`, absolute paths and subdirectories are refused.
|
|
317
337
|
- One exception, and only when you ask for it: **Remember path** writes
|
|
@@ -355,6 +375,7 @@ ready to serve and never builds anything. After editing the source, run
|
|
|
355
375
|
| `src/projects.mjs` | Project discovery, slug → real path resolution |
|
|
356
376
|
| `src/settings.mjs` | Layered reads of Claude Code's settings files, and the report behind the Settings tab |
|
|
357
377
|
| `src/pathcache.mjs` | The opt-in record of confirmed project paths |
|
|
378
|
+
| `src/sessions.mjs` | Session transcripts: bounded head reads, retention, provenance |
|
|
358
379
|
| `src/stores.mjs` | Store discovery: the user scope, auto memory and the three agent scopes |
|
|
359
380
|
| `src/instructions.mjs` | CLAUDE.md chain, `@` imports and rules resolution |
|
|
360
381
|
| `src/parse.mjs` | `MEMORY.md` and frontmatter parsers, wikilinks |
|