@jarkkojs/goosedump 0.12.26 → 0.12.27

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 (2) hide show
  1. package/README.md +26 -95
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # goosedump
2
2
 
3
3
  `goosedump` browses, searches, converts, and compacts saved coding-agent
4
- conversations, and keeps project-scoped durable memory. It supports Claude Code,
4
+ sessions. It also provides project-scoped durable memory for Claude Code,
5
5
  Codex, Crush, Gemini CLI, Goose, OpenCode, and Pi.
6
6
 
7
7
  It builds on ideas from [`lllyasviel/VCC`](https://github.com/lllyasviel/VCC).
8
8
 
9
9
  ## Install
10
10
 
11
- Prebuilt binaries are available for Linux x64 and arm64, macOS arm64, and Windows x64:
11
+ Prebuilt binaries support Linux x64 and arm64, macOS arm64, and Windows x64:
12
12
 
13
13
  ```sh
14
14
  npm install --global @jarkkojs/goosedump
@@ -20,7 +20,7 @@ To build from source:
20
20
  cargo build --release
21
21
  ```
22
22
 
23
- Source builds require a C compiler for the bundled SQLite library.
23
+ Requires Node.js 18 or later. Source builds require Rust 1.95 and a C compiler.
24
24
 
25
25
  ## Quick start
26
26
 
@@ -30,98 +30,34 @@ goosedump session show pi:context-id
30
30
  goosedump session find pi:context-id '*database*'
31
31
  goosedump session search pi:context-id 'database failure'
32
32
  goosedump session compact pi:context-id
33
+ goosedump memory remember pi:context-id
34
+ goosedump memory recall 'database failure'
33
35
  ```
34
36
 
35
- Every command that operates on a saved session takes an explicit
36
- `provider:session-id` target. Use `goosedump --help` or the
37
- [manual page](https://github.com/jarkkojs/goosedump/blob/main/man/man1/goosedump.1)
38
- for complete usage.
39
-
40
- ## Commands
41
-
42
- The command tree mirrors the things it manages:
43
-
44
- ```text
45
- session list [--query QUERY] [--json]
46
- session show PROVIDER:ID [--entry ID] [--all] [--from ID] [--before ID] [--as PROVIDER]
47
- session find PROVIDER:ID GLOB [range options] [--as PROVIDER]
48
- session search PROVIDER:ID QUERY [range options] [--page NUMBER] [--as PROVIDER]
49
- session compact PROVIDER:ID [range options] [--previous-summary SUMMARY] [--summary-max-tokens NUMBER] [--plain] [--as PROVIDER]
50
- session copy PROVIDER:ID --to PROVIDER [--yes]
51
- session remove PROVIDER:ID [--yes]
52
-
53
- memory remember PROVIDER:ID [--all] [--json]
54
- memory recall QUERY [--project PATH | --all-projects] [--type TYPE] [--limit NUMBER] [--max-tokens NUMBER] [--history] [--json]
55
- memory list [--project PATH | --all-projects] [--type TYPE] [--limit NUMBER] [--history] [--json]
56
- memory show MEM_ID [--json]
57
- memory forget MEM_ID|PROVIDER:ID [--yes] [--json]
58
- memory status [--json]
59
- ```
60
-
61
- `session copy`, `session remove`, and `memory forget` print their plan by default.
62
- Pass `--yes` to carry out the change.
63
-
64
- ## Compaction
65
-
66
- `session compact` creates a summary; it never changes durable memory. Summaries are
67
- bounded to an estimated 4,096 tokens by default. Use `--summary-max-tokens` to
68
- change the budget or `0` to disable it. The bound is best-effort when preserved
69
- goals, blockers, decisions, and preferences already exceed it.
70
-
71
- ## Durable memory
37
+ Commands that address a saved session require a `provider:session-id` target.
38
+ See `goosedump --help` and the [manual page](man/man1/goosedump.1) for options.
72
39
 
73
- Memory is explicit and separate from compaction:
40
+ ## Compaction and memory
74
41
 
75
- 1. **Remember:** [`gpt-oss-20b`](docs/models/gpt-oss-20b.md) extracts typed,
76
- atomic statements with source provenance. [`bge-small-en-v1.5`](docs/models/bge-small-en-v1.5.md)
77
- embeds each statement. SQLite stores statements and provenance, while the
78
- bundled [`sqlite-vec`](https://github.com/asg017/sqlite-vec) extension indexes
79
- vectors in the same database.
80
- 2. **Recall:** lexical and entity matches come first. SQLite KNN queries over
81
- cosine-similar BGE vectors fill the remaining slots.
42
+ Compaction creates a summary and does not change durable memory. Summaries have
43
+ an estimated 4,096-token limit by default; pass `--summary-max-tokens 0` to
44
+ disable it.
82
45
 
83
- Memories are classified as decisions, facts, preferences, procedures, or lessons.
46
+ `memory remember` extracts typed statements and provenance from new session
47
+ entries. Recall searches the current project by default, combining lexical,
48
+ entity, and semantic matches. Use `--history` for superseded memories or
49
+ `--all-projects` to search every project.
84
50
 
85
- `memory remember` processes only new session entries, so remembering an unchanged
86
- session is idempotent. A new version of a memory can supersede an older active
87
- statement of the same type.
51
+ The text and embedding models run locally and download on first use. Statements,
52
+ vectors, and provenance are stored together in SQLite.
88
53
 
89
- Recall searches active memories from the current project by default. Use
90
- `--history` for superseded statements or `--all-projects` to search everywhere.
91
- `memory show` displays provenance, and `memory forget` leaves a tombstone so
92
- forgotten content is not learned again accidentally.
93
-
94
- Session-index caches are rebuilt when their format changes. Durable-memory schema
95
- 16 intentionally breaks compatibility with earlier databases. Back up and remove
96
- `memory.sqlite3` when upgrading from schema 15 or older.
97
-
98
- ## Local inference
99
-
100
- Both models run locally and are downloaded automatically when an operation first
101
- needs them. Recall still uses lexical and entity matching when the embedding model
102
- is not cached.
103
-
104
- Text generation uses every logical CPU by default. Sentence embedding caps a
105
- single query at two threads and uses the configured maximum for token-batched
106
- indexing. Override the maximum for both models with `GOOSEDUMP_INFERENCE_THREADS`:
107
-
108
- ```sh
109
- GOOSEDUMP_INFERENCE_THREADS=6 goosedump session compact pi:context-id
110
- ```
111
-
112
- The optional `bench` feature measures `session compact`. Keep the machine,
113
- session range, and model cache unchanged when comparing runs:
114
-
115
- ```sh
116
- # Point benches/bench.txt at a real session first.
117
- cargo bench --features bench
118
- ```
54
+ Durable-memory schema 16 is incompatible with older databases. When upgrading
55
+ from schema 15 or earlier, back up and remove `memory.sqlite3`.
119
56
 
120
57
  ## Pi extension
121
58
 
122
59
  The bundled [pi-goosedump extension](packages/pi-goosedump/README.md) adds
123
- session search, durable memory, session management, and goosedump compaction to
124
- Pi:
60
+ session search, memory, session management, and compaction to Pi:
125
61
 
126
62
  ```sh
127
63
  pi install npm:pi-goosedump
@@ -135,16 +71,11 @@ cargo clippy --all-targets -- -D warnings
135
71
  cargo fmt --check
136
72
  ```
137
73
 
138
- The published Linux x64 and arm64 binaries are static glibc PIEs.
139
-
140
- ## Licensing
141
-
142
- 1. `pi-goosedump`: Apache 2.0
143
- 2. `goosedump`: LGPL 2.1+
144
-
145
- ### Third Party Attribution
74
+ ## License
146
75
 
147
- 1. GPT-OSS-20B: Apache 2.0
148
- 2. bge-small-en-v1.5: MIT
76
+ - `goosedump`: LGPL-2.1-or-later
77
+ - `pi-goosedump`: Apache-2.0
78
+ - GPT-OSS-20B: Apache-2.0
79
+ - bge-small-en-v1.5: MIT
149
80
 
150
- The models are downloaded at run time and are not distributed with goosedump.
81
+ Models are downloaded at run time and are not distributed with goosedump.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jarkkojs/goosedump",
3
- "version": "0.12.26",
3
+ "version": "0.12.27",
4
4
  "description": "Coding agent context data browser",
5
5
  "license": "Apache-2.0 AND LGPL-2.1-or-later",
6
6
  "homepage": "https://github.com/jarkkojs/goosedump#readme",
@@ -21,10 +21,10 @@
21
21
  "LICENSE-LGPL-2.1"
22
22
  ],
23
23
  "optionalDependencies": {
24
- "@jarkkojs/goosedump-darwin-arm64": "0.12.26",
25
- "@jarkkojs/goosedump-linux-arm64": "0.12.26",
26
- "@jarkkojs/goosedump-linux-x64": "0.12.26",
27
- "@jarkkojs/goosedump-win32-x64": "0.12.26"
24
+ "@jarkkojs/goosedump-darwin-arm64": "0.12.27",
25
+ "@jarkkojs/goosedump-linux-arm64": "0.12.27",
26
+ "@jarkkojs/goosedump-linux-x64": "0.12.27",
27
+ "@jarkkojs/goosedump-win32-x64": "0.12.27"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public"