pi-goosedump 0.12.11 → 0.12.12
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 +32 -37
- package/dist/index.ts +3 -3
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -15,33 +15,38 @@ x64, macOS arm64, and Windows x64. If no compatible binary is available, the
|
|
|
15
15
|
extension keeps Pi's normal compaction behavior and its goosedump features
|
|
16
16
|
report that they are unavailable.
|
|
17
17
|
|
|
18
|
+
## Memory in a nutshell
|
|
19
|
+
|
|
20
|
+
1. **Remember:** [`gpt-oss-20b`](https://github.com/jarkkojs/goosedump/blob/main/docs/models/gpt-oss-20b.md)
|
|
21
|
+
extracts typed, atomic statements with source provenance. [`bge-small-en-v1.5`](https://github.com/jarkkojs/goosedump/blob/main/docs/models/bge-small-en-v1.5.md)
|
|
22
|
+
embeds each statement. SQLite stores the statements, vectors, and provenance.
|
|
23
|
+
2. **Recall:** lexical and entity matches come first. Cosine-similar BGE vectors
|
|
24
|
+
fill the remaining slots. There is no separate vector database.
|
|
25
|
+
|
|
26
|
+
The extension queues remembering after its own successful compactions. Learning
|
|
27
|
+
runs in the background and does not delay compaction.
|
|
28
|
+
|
|
18
29
|
## Tools
|
|
19
30
|
|
|
20
31
|
- **`goose_search`** ranks session messages and returns compact overviews with
|
|
21
32
|
entry IDs.
|
|
22
33
|
- **`goose_get`** expands entry IDs returned by `goose_search` or `goose_grep`.
|
|
23
34
|
- **`goose_grep`** filters session messages with a glob pattern.
|
|
24
|
-
- **`
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
remaining slots with paraphrased matches. Active memories are returned by
|
|
30
|
-
default; set `history` to include superseded statements. Entity-seeded and
|
|
31
|
-
expanded hits are annotated as `related by` (query or shared anchors).
|
|
32
|
-
- **`goose_remember`** asks goosedump to learn durable memory from a session.
|
|
33
|
-
Defaults to the current Pi session; pass `provider`/`session` to target
|
|
34
|
-
another session. After extension-generated compaction, learning is queued in the
|
|
35
|
-
background so compaction does not wait for model extraction.
|
|
35
|
+
- **`goose_remember`** learns durable memory from a session. It defaults to the
|
|
36
|
+
current Pi session.
|
|
37
|
+
- **`goose_recall`** recalls typed memories with source provenance. It searches
|
|
38
|
+
active memories in the current project by default; `history` includes
|
|
39
|
+
superseded statements and `allProjects` searches every project.
|
|
36
40
|
- **`goose_compact`** starts asynchronous compaction of the current Pi session.
|
|
37
|
-
|
|
38
|
-
- **`goose_sessions`** lists or deletes
|
|
39
|
-
|
|
40
|
-
- **`
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
`keep` preserves the last N user turns verbatim.
|
|
42
|
+
- **`goose_sessions`** lists or deletes sessions from the current working
|
|
43
|
+
directory. The active session cannot be deleted.
|
|
44
|
+
- **`goose_forget`** deletes one memory or all retained sources from a session.
|
|
45
|
+
- **`goose_memory_status`** reports storage, embedding coverage, tombstones, and
|
|
46
|
+
type counts.
|
|
47
|
+
|
|
48
|
+
Session-history tools default to the current Pi session and active lineage.
|
|
49
|
+
Non-Pi providers require an explicit session ID.
|
|
45
50
|
|
|
46
51
|
Examples:
|
|
47
52
|
|
|
@@ -52,7 +57,6 @@ goose_get({ ids: ["entry-a", "entry-b"] })
|
|
|
52
57
|
goose_grep({ pattern: "*timeout*" })
|
|
53
58
|
goose_recall({ query: "prior architecture decision" })
|
|
54
59
|
goose_recall({ query: "database", type: "decision" })
|
|
55
|
-
|
|
56
60
|
goose_recall({ query: "database", history: true })
|
|
57
61
|
goose_remember({})
|
|
58
62
|
goose_compact({ keep: 2 })
|
|
@@ -105,22 +109,13 @@ global setting.
|
|
|
105
109
|
|
|
106
110
|
## Compaction behavior
|
|
107
111
|
|
|
108
|
-
The extension
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
N active user turns; it is cancelled when no earlier history is available to summarize.
|
|
116
|
-
|
|
117
|
-
After a successful extension-generated compaction, the extension explicitly asks
|
|
118
|
-
goosedump to remember the compacted session (`memory remember <target> --json`).
|
|
119
|
-
If remembering fails, the summary is kept and a warning is surfaced, so memory
|
|
120
|
-
learning errors never discard the compaction result.
|
|
121
|
-
|
|
122
|
-
Compactions with custom instructions continue to use Pi's normal compactor. If
|
|
123
|
-
goosedump fails, the extension reports the error and falls back to Pi.
|
|
112
|
+
The extension uses `goosedump session compact` for manual, scheduled, and automatic
|
|
113
|
+
compaction. It preserves the previous summary, summarizes only the new range, and
|
|
114
|
+
passes the effective token budget. `keep:N` leaves the last N user turns verbatim.
|
|
115
|
+
|
|
116
|
+
After success, memory learning is queued in the background. A learning failure
|
|
117
|
+
keeps the summary and displays a warning. Custom instructions use Pi's normal
|
|
118
|
+
compactor; other goosedump failures fall back to Pi.
|
|
124
119
|
|
|
125
120
|
## License
|
|
126
121
|
|
package/dist/index.ts
CHANGED
|
@@ -1443,7 +1443,7 @@ function createGoosedumpIntegration(options = {}) {
|
|
|
1443
1443
|
pi.registerTool(defineTool({
|
|
1444
1444
|
name: "goose_remember",
|
|
1445
1445
|
label: "goose_remember",
|
|
1446
|
-
description: "
|
|
1446
|
+
description: "Use local gpt-oss-20b to extract typed memories and provenance from a session; store BGE embeddings in SQLite. Defaults to the current Pi session.",
|
|
1447
1447
|
promptSnippet: "Persist important context from the current or another session into durable memory",
|
|
1448
1448
|
promptGuidelines: [
|
|
1449
1449
|
"Use goose_remember after a milestone when important facts, decisions, preferences, procedures, or lessons should be retained.",
|
|
@@ -1472,7 +1472,7 @@ function createGoosedumpIntegration(options = {}) {
|
|
|
1472
1472
|
pi.registerTool(defineTool({
|
|
1473
1473
|
name: "goose_recall",
|
|
1474
1474
|
label: "goose_recall",
|
|
1475
|
-
description: "Recall
|
|
1475
|
+
description: "Recall project-scoped memory. Lexical and entity matches come first; BGE vector matches fill remaining slots. Returns bounded records with provenance; history includes superseded statements.",
|
|
1476
1476
|
promptSnippet: "Recall durable context from earlier sessions",
|
|
1477
1477
|
promptGuidelines: [
|
|
1478
1478
|
"Use goose_recall for decisions, evidence, and context that may have disappeared from the current session.",
|
|
@@ -1552,7 +1552,7 @@ function createGoosedumpIntegration(options = {}) {
|
|
|
1552
1552
|
pi.registerTool(defineTool({
|
|
1553
1553
|
name: "goose_memory_status",
|
|
1554
1554
|
label: "goose_memory_status",
|
|
1555
|
-
description: "Show durable memory storage and type counts.",
|
|
1555
|
+
description: "Show durable memory storage, embedding coverage, tombstones, and type counts.",
|
|
1556
1556
|
promptSnippet: "Inspect durable memory health and statistics",
|
|
1557
1557
|
promptGuidelines: [
|
|
1558
1558
|
"Use goose_memory_status to inspect memory volume, type counts, and tombstones."
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-goosedump",
|
|
3
|
-
"version": "0.12.
|
|
4
|
-
"description": "Pi extension for goosedump
|
|
3
|
+
"version": "0.12.12",
|
|
4
|
+
"description": "Pi extension for goosedump session search, durable memory, and compaction",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"compaction",
|
|
7
7
|
"goosedump",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@earendil-works/pi-tui": "^0.82.1",
|
|
41
|
-
"@jarkkojs/goosedump": "^0.12.
|
|
41
|
+
"@jarkkojs/goosedump": "^0.12.12",
|
|
42
42
|
"@sinclair/typebox": "^0.34.49"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|