@chendpoc/pi-memory 0.1.11 → 0.1.13
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 +88 -16
- package/dist/cache/memoryCaches.d.ts +32 -0
- package/dist/cache/memoryCaches.d.ts.map +1 -0
- package/dist/cache/memoryCaches.js +59 -0
- package/dist/cache/memoryCaches.js.map +1 -0
- package/dist/cli.js +123 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +28 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +37 -1
- package/dist/config.js.map +1 -1
- package/dist/consolidation/enqueue.d.ts +33 -0
- package/dist/consolidation/enqueue.d.ts.map +1 -0
- package/dist/consolidation/enqueue.js +145 -0
- package/dist/consolidation/enqueue.js.map +1 -0
- package/dist/consolidation/index.d.ts +19 -0
- package/dist/consolidation/index.d.ts.map +1 -0
- package/dist/consolidation/index.js +15 -0
- package/dist/consolidation/index.js.map +1 -0
- package/dist/consolidation/lock.d.ts +5 -0
- package/dist/consolidation/lock.d.ts.map +1 -0
- package/dist/consolidation/lock.js +33 -0
- package/dist/consolidation/lock.js.map +1 -0
- package/dist/consolidation/log.d.ts +8 -0
- package/dist/consolidation/log.d.ts.map +1 -0
- package/dist/consolidation/log.js +32 -0
- package/dist/consolidation/log.js.map +1 -0
- package/dist/consolidation/memoryIndex.d.ts +18 -0
- package/dist/consolidation/memoryIndex.d.ts.map +1 -0
- package/dist/consolidation/memoryIndex.js +100 -0
- package/dist/consolidation/memoryIndex.js.map +1 -0
- package/dist/consolidation/phase2/runPhase2.d.ts +23 -0
- package/dist/consolidation/phase2/runPhase2.d.ts.map +1 -0
- package/dist/consolidation/phase2/runPhase2.js +196 -0
- package/dist/consolidation/phase2/runPhase2.js.map +1 -0
- package/dist/consolidation/scheduler/launchd.d.ts +5 -0
- package/dist/consolidation/scheduler/launchd.d.ts.map +1 -0
- package/dist/consolidation/scheduler/launchd.js +54 -0
- package/dist/consolidation/scheduler/launchd.js.map +1 -0
- package/dist/consolidation/scheduler/runConsolidate.d.ts +26 -0
- package/dist/consolidation/scheduler/runConsolidate.d.ts.map +1 -0
- package/dist/consolidation/scheduler/runConsolidate.js +83 -0
- package/dist/consolidation/scheduler/runConsolidate.js.map +1 -0
- package/dist/consolidation/scheduler/setupSchedule.d.ts +3 -0
- package/dist/consolidation/scheduler/setupSchedule.d.ts.map +1 -0
- package/dist/consolidation/scheduler/setupSchedule.js +79 -0
- package/dist/consolidation/scheduler/setupSchedule.js.map +1 -0
- package/dist/consolidation/scheduler/systemd.d.ts +9 -0
- package/dist/consolidation/scheduler/systemd.d.ts.map +1 -0
- package/dist/consolidation/scheduler/systemd.js +57 -0
- package/dist/consolidation/scheduler/systemd.js.map +1 -0
- package/dist/consolidation/scheduler/types.d.ts +24 -0
- package/dist/consolidation/scheduler/types.d.ts.map +1 -0
- package/dist/consolidation/scheduler/types.js +2 -0
- package/dist/consolidation/scheduler/types.js.map +1 -0
- package/dist/consolidation/scope.d.ts +12 -0
- package/dist/consolidation/scope.d.ts.map +1 -0
- package/dist/consolidation/scope.js +51 -0
- package/dist/consolidation/scope.js.map +1 -0
- package/dist/consolidation/stage1/deltaExtract.d.ts +3 -0
- package/dist/consolidation/stage1/deltaExtract.d.ts.map +1 -0
- package/dist/consolidation/stage1/deltaExtract.js +19 -0
- package/dist/consolidation/stage1/deltaExtract.js.map +1 -0
- package/dist/consolidation/stage1/drainQueue.d.ts +21 -0
- package/dist/consolidation/stage1/drainQueue.d.ts.map +1 -0
- package/dist/consolidation/stage1/drainQueue.js +113 -0
- package/dist/consolidation/stage1/drainQueue.js.map +1 -0
- package/dist/consolidation/stage1/extractSession.d.ts +6 -0
- package/dist/consolidation/stage1/extractSession.d.ts.map +1 -0
- package/dist/consolidation/stage1/extractSession.js +47 -0
- package/dist/consolidation/stage1/extractSession.js.map +1 -0
- package/dist/consolidation/stage1/store.d.ts +45 -0
- package/dist/consolidation/stage1/store.d.ts.map +1 -0
- package/dist/consolidation/stage1/store.js +297 -0
- package/dist/consolidation/stage1/store.js.map +1 -0
- package/dist/consolidation/types.d.ts +49 -0
- package/dist/consolidation/types.d.ts.map +1 -0
- package/dist/consolidation/types.js +2 -0
- package/dist/consolidation/types.js.map +1 -0
- package/dist/fallback/llmRerank.d.ts.map +1 -1
- package/dist/fallback/llmRerank.js +9 -1
- package/dist/fallback/llmRerank.js.map +1 -1
- package/dist/fallback/sessionIndex.d.ts.map +1 -1
- package/dist/fallback/sessionIndex.js +15 -63
- package/dist/fallback/sessionIndex.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/local/graphQuery.d.ts +10 -0
- package/dist/local/graphQuery.d.ts.map +1 -1
- package/dist/local/graphQuery.js +25 -0
- package/dist/local/graphQuery.js.map +1 -1
- package/dist/pi-extension.d.ts.map +1 -1
- package/dist/pi-extension.js +356 -22
- package/dist/pi-extension.js.map +1 -1
- package/dist/preflight/detectIntents.d.ts.map +1 -1
- package/dist/preflight/detectIntents.js +7 -0
- package/dist/preflight/detectIntents.js.map +1 -1
- package/dist/preflight/hook.d.ts +18 -0
- package/dist/preflight/hook.d.ts.map +1 -1
- package/dist/preflight/hook.js +52 -7
- package/dist/preflight/hook.js.map +1 -1
- package/dist/preflight/render.d.ts +16 -2
- package/dist/preflight/render.d.ts.map +1 -1
- package/dist/preflight/render.js +24 -4
- package/dist/preflight/render.js.map +1 -1
- package/dist/service.d.ts +16 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +57 -0
- package/dist/service.js.map +1 -1
- package/dist/session/activeBranch.d.ts +17 -0
- package/dist/session/activeBranch.d.ts.map +1 -0
- package/dist/session/activeBranch.js +251 -0
- package/dist/session/activeBranch.js.map +1 -0
- package/dist/settings.d.ts +5 -2
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +18 -1
- package/dist/settings.js.map +1 -1
- package/dist/tools/memoryAppend.d.ts +14 -4
- package/dist/tools/memoryAppend.d.ts.map +1 -1
- package/dist/tools/memoryAppend.js +46 -7
- package/dist/tools/memoryAppend.js.map +1 -1
- package/dist/tools/memoryRecall.d.ts +2 -2
- package/dist/tools/memoryRecall.d.ts.map +1 -1
- package/dist/tools/memoryRecall.js +35 -9
- package/dist/tools/memoryRecall.js.map +1 -1
- package/dist/trainer/extractFacts.d.ts +1 -1
- package/dist/trainer/index.d.ts +1 -1
- package/dist/trainer/index.d.ts.map +1 -1
- package/dist/trainer/index.js +1 -1
- package/dist/trainer/index.js.map +1 -1
- package/dist/trainer/scheduler.d.ts +2 -0
- package/dist/trainer/scheduler.d.ts.map +1 -1
- package/dist/trainer/scheduler.js +1 -0
- package/dist/trainer/scheduler.js.map +1 -1
- package/dist/trainer/sessionLoader.d.ts +3 -0
- package/dist/trainer/sessionLoader.d.ts.map +1 -1
- package/dist/trainer/sessionLoader.js +37 -74
- package/dist/trainer/sessionLoader.js.map +1 -1
- package/package.json +17 -4
- package/src/cache/memoryCaches.ts +72 -0
- package/src/cli.ts +144 -0
- package/src/config.ts +89 -1
- package/src/consolidation/enqueue.ts +205 -0
- package/src/consolidation/index.ts +90 -0
- package/src/consolidation/lock.ts +41 -0
- package/src/consolidation/log.ts +43 -0
- package/src/consolidation/memoryIndex.ts +127 -0
- package/src/consolidation/phase2/runPhase2.ts +255 -0
- package/src/consolidation/scheduler/launchd.ts +62 -0
- package/src/consolidation/scheduler/runConsolidate.ts +115 -0
- package/src/consolidation/scheduler/setupSchedule.ts +106 -0
- package/src/consolidation/scheduler/systemd.ts +78 -0
- package/src/consolidation/scheduler/types.ts +27 -0
- package/src/consolidation/scope.ts +58 -0
- package/src/consolidation/stage1/deltaExtract.ts +29 -0
- package/src/consolidation/stage1/drainQueue.ts +143 -0
- package/src/consolidation/stage1/extractSession.ts +58 -0
- package/src/consolidation/stage1/store.ts +411 -0
- package/src/consolidation/types.ts +52 -0
- package/src/fallback/llmRerank.ts +8 -1
- package/src/fallback/sessionIndex.ts +14 -51
- package/src/index.ts +8 -0
- package/src/local/graphQuery.ts +24 -0
- package/src/pi-extension.ts +393 -28
- package/src/preflight/detectIntents.ts +6 -0
- package/src/preflight/hook.ts +84 -7
- package/src/preflight/render.ts +35 -3
- package/src/service.ts +57 -0
- package/src/session/activeBranch.ts +294 -0
- package/src/settings.ts +37 -2
- package/src/tools/memoryAppend.ts +60 -7
- package/src/tools/memoryRecall.ts +33 -9
- package/src/trainer/index.ts +1 -1
- package/src/trainer/scheduler.ts +3 -0
- package/src/trainer/sessionLoader.ts +38 -87
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@chendpoc/pi-memory)
|
|
4
4
|
|
|
5
|
-
Local
|
|
5
|
+
Local long-term memory for [Pi](https://pi.dev) coding agent. It closes the Write → Consolidate → Retrieve loop so past sessions, preferences, projects, and decisions can re-enter future conversations automatically.
|
|
6
6
|
|
|
7
7
|
**No external binaries required** --- pure TypeScript, runs entirely inside Pi.
|
|
8
8
|
|
|
@@ -10,7 +10,9 @@ Local episodic memory for [Pi](https://pi.dev) coding agent. Automatically recal
|
|
|
10
10
|
|
|
11
11
|
- **Implicit memory preflight** --- automatically detects memory-relevant questions (Chinese/English/Japanese) and injects `<private_memory>` context before each LLM call
|
|
12
12
|
- **`memory_recall` tool** --- LLM can explicitly query the knowledge graph by entity/relationship
|
|
13
|
-
- **`memory_append` tool** ---
|
|
13
|
+
- **`memory_append` tool** --- queues explicit user memories into stage1 so Phase2 can merge them safely
|
|
14
|
+
- **Offline consolidation** --- `session_shutdown` only enqueues metadata; `pi-memory consolidate` drains queue, trains graph, and updates memory files
|
|
15
|
+
- **MEMORY.md index** --- session-level cap injection plus scoped project memory files
|
|
14
16
|
- **Local trainer** --- extracts entities, relations, and events from Pi session history (regex or LLM-powered)
|
|
15
17
|
- **FTS5 search** --- SQLite full-text index for keyword fallback
|
|
16
18
|
- **LLM rerank** --- reranks keyword search results using `deepseek-v4-flash` for relevance scoring
|
|
@@ -42,12 +44,17 @@ pi install npm:@chendpoc/pi-memory
|
|
|
42
44
|
# 2. Train a memory bundle from your session history
|
|
43
45
|
npx pi-memory train --full
|
|
44
46
|
|
|
45
|
-
# 3.
|
|
47
|
+
# 3. Run first consolidation and install the daily scheduler
|
|
48
|
+
npx pi-memory consolidate
|
|
49
|
+
npx pi-memory setup-schedule
|
|
50
|
+
|
|
51
|
+
# 4. Restart Pi --- memory is now active
|
|
46
52
|
# Try asking: "What projects have I worked on?"
|
|
47
53
|
```
|
|
48
54
|
|
|
49
55
|
After training, Pi will:
|
|
50
56
|
- Show `status: ready, mode: local_graph` when you type `/memory`
|
|
57
|
+
- Show queue/index details when you type `/memory --verbose`
|
|
51
58
|
- Automatically inject past context when you ask relationship questions
|
|
52
59
|
- Let the LLM call `memory_recall` for explicit lookups
|
|
53
60
|
|
|
@@ -55,18 +62,18 @@ After training, Pi will:
|
|
|
55
62
|
|
|
56
63
|
```
|
|
57
64
|
Pi session files (.jsonl)
|
|
58
|
-
|
|
|
65
|
+
| session_shutdown
|
|
59
66
|
v
|
|
60
|
-
|
|
61
|
-
|
|
|
67
|
+
pending_sessions queue (memories.sqlite)
|
|
68
|
+
| daily / manual consolidate
|
|
62
69
|
v
|
|
63
|
-
|
|
70
|
+
stage1 outputs + graph train
|
|
64
71
|
|
|
|
65
72
|
v
|
|
66
|
-
|
|
73
|
+
MEMORY.md / project memory + graph.json + sessions.db
|
|
67
74
|
|
|
|
68
75
|
v
|
|
69
|
-
memory_recall tool / implicit preflight injection
|
|
76
|
+
memory_recall tool / implicit preflight injection / MEMORY.md cap
|
|
70
77
|
```
|
|
71
78
|
|
|
72
79
|
### Query Backends
|
|
@@ -85,6 +92,7 @@ The default backend is LocalGraphQuerier --- pure TypeScript, no external depend
|
|
|
85
92
|
| Command | Description |
|
|
86
93
|
|---------|-------------|
|
|
87
94
|
| `/memory` | Show service status, query mode, and bundle info |
|
|
95
|
+
| `/memory --verbose` | Show consolidation queue, memory index usage, and recent job logs |
|
|
88
96
|
|
|
89
97
|
## CLI
|
|
90
98
|
|
|
@@ -101,6 +109,19 @@ npx pi-memory query '{"mode":"direct_relation","anchor_mentions":["Alice"]}'
|
|
|
101
109
|
# Service diagnostics
|
|
102
110
|
npx pi-memory health
|
|
103
111
|
npx pi-memory status
|
|
112
|
+
npx pi-memory memory-status
|
|
113
|
+
|
|
114
|
+
# Offline consolidation
|
|
115
|
+
npx pi-memory consolidate
|
|
116
|
+
npx pi-memory consolidate --dry-run
|
|
117
|
+
npx pi-memory consolidate --phase1-only
|
|
118
|
+
npx pi-memory consolidate --phase2-only
|
|
119
|
+
|
|
120
|
+
# OS scheduler
|
|
121
|
+
npx pi-memory setup-schedule
|
|
122
|
+
npx pi-memory setup-schedule --hour 4
|
|
123
|
+
npx pi-memory setup-schedule --status
|
|
124
|
+
npx pi-memory setup-schedule --remove
|
|
104
125
|
|
|
105
126
|
# Manage bundles
|
|
106
127
|
npx pi-memory install-bundle ./path/to/bundle
|
|
@@ -112,6 +133,8 @@ npx pi-memory index
|
|
|
112
133
|
npx pi-memory train --watch
|
|
113
134
|
```
|
|
114
135
|
|
|
136
|
+
`train --watch` is kept for compatibility. The long-term memory path is `pi-memory consolidate` plus the OS scheduler.
|
|
137
|
+
|
|
115
138
|
## Flags
|
|
116
139
|
|
|
117
140
|
| Flag | Description | Default |
|
|
@@ -132,9 +155,13 @@ pi --memory-helper-model deepseek/deepseek-v4-flash
|
|
|
132
155
|
│ │ └── graph.json # entities, edges, events
|
|
133
156
|
│ ├── bundles/ # historical bundles
|
|
134
157
|
│ ├── sessions.db # FTS5 search index
|
|
158
|
+
│ ├── memories.sqlite # pending queue + stage1 outputs
|
|
159
|
+
│ ├── workspace/ # raw memories + rollout summaries
|
|
160
|
+
│ ├── projects/<hash>/ # project-scoped MEMORY.md files
|
|
161
|
+
│ ├── consolidation.log # structured consolidation logs
|
|
135
162
|
│ └── .train_marker # incremental training timestamp
|
|
136
163
|
├── agent/sessions/ # Pi session files (.jsonl)
|
|
137
|
-
└── MEMORY.md #
|
|
164
|
+
└── MEMORY.md # global memory index
|
|
138
165
|
```
|
|
139
166
|
|
|
140
167
|
## Programmatic API
|
|
@@ -183,6 +210,7 @@ export default piMemory;
|
|
|
183
210
|
| `src/local/graphQuery.ts` | In-process graph query engine |
|
|
184
211
|
| `src/adapters/piComplete.ts` | LLM adapter via `@earendil-works/pi-ai/compat` |
|
|
185
212
|
| `src/service.ts` | Service lifecycle and query routing |
|
|
213
|
+
| `src/consolidation/` | Queue, stage1, Phase2, scheduler, memory index, scope |
|
|
186
214
|
| `src/trainer/` | Session loader, fact extraction, entity resolution, bundle builder |
|
|
187
215
|
| `src/fallback/` | FTS5 index, keyword search, LLM rerank |
|
|
188
216
|
| `src/preflight/` | Intent detection, private memory render/inject/strip |
|
|
@@ -194,8 +222,8 @@ On every LLM call, the `context` event:
|
|
|
194
222
|
|
|
195
223
|
1. Detects memory-relevant intents via regex (Chinese/English/Japanese relationship patterns)
|
|
196
224
|
2. Optionally calls a helper LLM (`compile_memory_intents` forced tool_use)
|
|
197
|
-
3. Queries the graph for matching entities/relations
|
|
198
|
-
4. Injects
|
|
225
|
+
3. Queries the graph for matching entities/relations and greps scoped MEMORY.md in parallel
|
|
226
|
+
4. Injects the session memory index and dynamic recall into `<private_memory>` blocks (deep copy, not persisted to session)
|
|
199
227
|
5. Results are cached per agent loop to avoid redundant queries during multi-tool turns
|
|
200
228
|
|
|
201
229
|
## Peer Dependencies
|
|
@@ -211,13 +239,57 @@ These are provided by the Pi host and should not be bundled:
|
|
|
211
239
|
|
|
212
240
|
- `better-sqlite3` --- enables FTS5 session search index (graceful degradation if absent)
|
|
213
241
|
|
|
242
|
+
## Releasing
|
|
243
|
+
|
|
244
|
+
This repo uses [Changesets](https://github.com/changesets/changesets) for semver bumps and `CHANGELOG.md`, and a **tag-triggered** workflow for GitHub Releases (and optional npm publish).
|
|
245
|
+
|
|
246
|
+
1. After a feature/fix PR, add a changeset: `pnpm changeset`
|
|
247
|
+
2. Merge to `main` — GitHub Actions opens a **Version Packages** PR (bumps version + updates `CHANGELOG.md`)
|
|
248
|
+
3. Merge that PR, then tag and push:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
git pull origin main
|
|
252
|
+
git tag v0.1.13
|
|
253
|
+
git push origin v0.1.13
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
4. The **Tag Release** workflow (`tag-release.yml`) runs on `v*` tags: creates a GitHub Release from `CHANGELOG.md`, then publishes to npm via [OIDC trusted publishing](https://docs.npmjs.com/trusted-publishers/) (no long-lived `NPM_TOKEN`).
|
|
257
|
+
|
|
258
|
+
### npm trusted publishing (recommended)
|
|
259
|
+
|
|
260
|
+
npm now recommends **Trusted Publishing** over Granular "bypass 2FA" tokens for CI. GitHub Actions proves its identity with a short-lived OIDC credential; no stored token, no OTP (`EOTP`).
|
|
261
|
+
|
|
262
|
+
**One-time setup on npmjs.com** (package must exist first — see below):
|
|
263
|
+
|
|
264
|
+
1. Open `https://www.npmjs.com/package/@chendpoc/pi-memory/access` (after first publish)
|
|
265
|
+
2. **Trusted Publisher** → GitHub Actions
|
|
266
|
+
3. Set exactly:
|
|
267
|
+
- Organization or user: `chendpoc`
|
|
268
|
+
- Repository: `pi-memory`
|
|
269
|
+
- Workflow filename: `tag-release.yml`
|
|
270
|
+
- Environment: *(leave blank unless you add a GitHub Environment)*
|
|
271
|
+
|
|
272
|
+
**First publish:** npm requires the package to exist before you can configure trusted publishing. Either:
|
|
273
|
+
|
|
274
|
+
- Publish once locally with `npm login` + `npm publish --access public`, or
|
|
275
|
+
- Use [setup-npm-trusted-publish](https://github.com/azu/setup-npm-trusted-publish) to create a placeholder, configure OIDC, then publish real versions from CI.
|
|
276
|
+
|
|
277
|
+
The workflow already sets `id-token: write` and uses Node 24 (npm ≥ 11.5.1). Provenance is automatic with trusted publishing.
|
|
278
|
+
|
|
279
|
+
**Re-run without deleting a tag:** GitHub → Actions → **Tag Release** → **Run workflow**
|
|
280
|
+
|
|
281
|
+
- `tag`: `v0.1.13`
|
|
282
|
+
- `skip_github_release`: ✅ (release already exists)
|
|
283
|
+
- `publish_npm`: ✅
|
|
284
|
+
|
|
214
285
|
## Development
|
|
215
286
|
|
|
216
287
|
```bash
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
288
|
+
pnpm install
|
|
289
|
+
pnpm build
|
|
290
|
+
pnpm test
|
|
291
|
+
pnpm typecheck
|
|
292
|
+
pnpm changeset # before opening a release PR
|
|
221
293
|
```
|
|
222
294
|
|
|
223
295
|
## License
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LRUCache } from "lru-cache";
|
|
2
|
+
import type { QueryIntent } from "../types.js";
|
|
3
|
+
import type { RankedResult } from "../fallback/llmRerank.js";
|
|
4
|
+
import type { SessionSearchHit } from "../fallback/sessionSearch.js";
|
|
5
|
+
/**
|
|
6
|
+
* In-process LRU + TTL caches for pi-memory.
|
|
7
|
+
*
|
|
8
|
+
* - intentCache : helper-LLM compile_memory_intents results, keyed by
|
|
9
|
+
* normalised query text. TTL 15 min, LRU 128 entries.
|
|
10
|
+
* - rerankCache : LLM rerank results, keyed by query + hit fingerprint.
|
|
11
|
+
* TTL 15 min, LRU 256 entries.
|
|
12
|
+
* - negativeCache: queries that recently returned no usable context.
|
|
13
|
+
* TTL 60 s, max 512 entries.
|
|
14
|
+
*
|
|
15
|
+
* All three caches must be invalidated together (`invalidateMemoryCaches()`)
|
|
16
|
+
* after bundle reload so stale negative entries never block fresh graph data.
|
|
17
|
+
*/
|
|
18
|
+
export declare const intentCache: LRUCache<string, QueryIntent[], unknown>;
|
|
19
|
+
export declare const rerankCache: LRUCache<string, RankedResult[], unknown>;
|
|
20
|
+
export declare const negativeCache: LRUCache<string, true, unknown>;
|
|
21
|
+
export declare function cacheKeyForIntents(query: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Rerank cache key combines the query with a fingerprint of the hit set so
|
|
24
|
+
* different FTS results for the same query get their own entry.
|
|
25
|
+
*/
|
|
26
|
+
export declare function cacheKeyForRerank(query: string, hits: SessionSearchHit[]): string;
|
|
27
|
+
export declare function isNegativeCached(query: string): boolean;
|
|
28
|
+
export declare function setNegativeCache(query: string): void;
|
|
29
|
+
export declare function deleteNegativeCache(query: string): void;
|
|
30
|
+
/** Clear all three caches. Call after bundle reload or session shutdown. */
|
|
31
|
+
export declare function invalidateMemoryCaches(): void;
|
|
32
|
+
//# sourceMappingURL=memoryCaches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryCaches.d.ts","sourceRoot":"","sources":["../../src/cache/memoryCaches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,0CAGtB,CAAC;AAEH,eAAO,MAAM,WAAW,2CAGtB,CAAC;AAEH,eAAO,MAAM,aAAa,iCAGxB,CAAC;AAMH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAGjF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { LRUCache } from "lru-cache";
|
|
2
|
+
const INTENT_TTL_MS = 15 * 60_000;
|
|
3
|
+
const RERANK_TTL_MS = 15 * 60_000;
|
|
4
|
+
const NEGATIVE_TTL_MS = 60_000;
|
|
5
|
+
/**
|
|
6
|
+
* In-process LRU + TTL caches for pi-memory.
|
|
7
|
+
*
|
|
8
|
+
* - intentCache : helper-LLM compile_memory_intents results, keyed by
|
|
9
|
+
* normalised query text. TTL 15 min, LRU 128 entries.
|
|
10
|
+
* - rerankCache : LLM rerank results, keyed by query + hit fingerprint.
|
|
11
|
+
* TTL 15 min, LRU 256 entries.
|
|
12
|
+
* - negativeCache: queries that recently returned no usable context.
|
|
13
|
+
* TTL 60 s, max 512 entries.
|
|
14
|
+
*
|
|
15
|
+
* All three caches must be invalidated together (`invalidateMemoryCaches()`)
|
|
16
|
+
* after bundle reload so stale negative entries never block fresh graph data.
|
|
17
|
+
*/
|
|
18
|
+
export const intentCache = new LRUCache({
|
|
19
|
+
max: 128,
|
|
20
|
+
ttl: INTENT_TTL_MS,
|
|
21
|
+
});
|
|
22
|
+
export const rerankCache = new LRUCache({
|
|
23
|
+
max: 256,
|
|
24
|
+
ttl: RERANK_TTL_MS,
|
|
25
|
+
});
|
|
26
|
+
export const negativeCache = new LRUCache({
|
|
27
|
+
max: 512,
|
|
28
|
+
ttl: NEGATIVE_TTL_MS,
|
|
29
|
+
});
|
|
30
|
+
function normalizeQuery(query) {
|
|
31
|
+
return query.trim();
|
|
32
|
+
}
|
|
33
|
+
export function cacheKeyForIntents(query) {
|
|
34
|
+
return normalizeQuery(query);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Rerank cache key combines the query with a fingerprint of the hit set so
|
|
38
|
+
* different FTS results for the same query get their own entry.
|
|
39
|
+
*/
|
|
40
|
+
export function cacheKeyForRerank(query, hits) {
|
|
41
|
+
const hitIds = hits.map((h) => `${h.session_id}:${h.msg_index}`).join("|");
|
|
42
|
+
return `${normalizeQuery(query)}|${hitIds}`;
|
|
43
|
+
}
|
|
44
|
+
export function isNegativeCached(query) {
|
|
45
|
+
return negativeCache.has(cacheKeyForIntents(query));
|
|
46
|
+
}
|
|
47
|
+
export function setNegativeCache(query) {
|
|
48
|
+
negativeCache.set(cacheKeyForIntents(query), true);
|
|
49
|
+
}
|
|
50
|
+
export function deleteNegativeCache(query) {
|
|
51
|
+
negativeCache.delete(cacheKeyForIntents(query));
|
|
52
|
+
}
|
|
53
|
+
/** Clear all three caches. Call after bundle reload or session shutdown. */
|
|
54
|
+
export function invalidateMemoryCaches() {
|
|
55
|
+
intentCache.clear();
|
|
56
|
+
rerankCache.clear();
|
|
57
|
+
negativeCache.clear();
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=memoryCaches.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryCaches.js","sourceRoot":"","sources":["../../src/cache/memoryCaches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKrC,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC;AAClC,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC;AAClC,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAwB;IAC7D,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,aAAa;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAyB;IAC9D,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,aAAa;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAe;IACtD,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,eAAe;CACrB,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAwB;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB;IACpC,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,aAAa,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -3,6 +3,11 @@ import fs from "node:fs";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { createStandaloneLLMClient } from "./adapters/piComplete.js";
|
|
5
5
|
import { installBundle } from "./bundle/install.js";
|
|
6
|
+
import { getMemoryIndexStats } from "./consolidation/memoryIndex.js";
|
|
7
|
+
import { readRecentConsolidationLogs } from "./consolidation/log.js";
|
|
8
|
+
import { getConsolidationStatus } from "./consolidation/enqueue.js";
|
|
9
|
+
import { defaultConsolidationDbPath, runConsolidate, } from "./consolidation/scheduler/runConsolidate.js";
|
|
10
|
+
import { setupSchedule } from "./consolidation/scheduler/setupSchedule.js";
|
|
6
11
|
import { loadMemoryConfig } from "./settings.js";
|
|
7
12
|
import { openSessionIndex } from "./fallback/sessionIndex.js";
|
|
8
13
|
import { SidecarClient } from "./sidecar/client.js";
|
|
@@ -66,6 +71,49 @@ async function main() {
|
|
|
66
71
|
await service.stop();
|
|
67
72
|
return;
|
|
68
73
|
}
|
|
74
|
+
if (cmd === "memory-status") {
|
|
75
|
+
const dbPath = defaultConsolidationDbPath(cfg);
|
|
76
|
+
const status = getConsolidationStatus(dbPath);
|
|
77
|
+
const memoryIndex = getMemoryIndexStats(cfg.memoryMdPaths, {
|
|
78
|
+
maxLines: cfg.consolidation.memory_index_max_lines,
|
|
79
|
+
maxBytes: cfg.consolidation.memory_index_max_bytes,
|
|
80
|
+
});
|
|
81
|
+
const recentLogs = await readRecentConsolidationLogs(cfg.consolidation.schedule.log_path, 5);
|
|
82
|
+
const schedule = await readScheduleStatus(cfg);
|
|
83
|
+
console.log(JSON.stringify({
|
|
84
|
+
db_path: dbPath,
|
|
85
|
+
queue: status,
|
|
86
|
+
memory_index: memoryIndex,
|
|
87
|
+
schedule,
|
|
88
|
+
recent_logs: recentLogs,
|
|
89
|
+
}, null, 2));
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (cmd === "consolidate") {
|
|
93
|
+
const flags = parseConsolidateFlags(rest);
|
|
94
|
+
const result = await runConsolidate({
|
|
95
|
+
config: cfg,
|
|
96
|
+
dryRun: flags.dryRun,
|
|
97
|
+
phase1Only: flags.phase1Only,
|
|
98
|
+
phase2Only: flags.phase2Only,
|
|
99
|
+
});
|
|
100
|
+
console.log(JSON.stringify(result, null, 2));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (cmd === "setup-schedule") {
|
|
104
|
+
const flags = parseScheduleFlags(rest);
|
|
105
|
+
const platform = resolveSchedulePlatform();
|
|
106
|
+
const result = await setupSchedule({
|
|
107
|
+
hour: flags.hour ?? cfg.consolidation.schedule.hour,
|
|
108
|
+
minute: flags.minute ?? cfg.consolidation.schedule.minute,
|
|
109
|
+
logPath: cfg.consolidation.schedule.log_path,
|
|
110
|
+
dryRun: flags.dryRun,
|
|
111
|
+
remove: flags.remove,
|
|
112
|
+
status: flags.status,
|
|
113
|
+
}, platform);
|
|
114
|
+
console.log(JSON.stringify(result, null, 2));
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
69
117
|
if (cmd === "install-bundle") {
|
|
70
118
|
const bundlePath = rest[0];
|
|
71
119
|
if (!bundlePath) {
|
|
@@ -204,12 +252,87 @@ function parseTrainFlags(args) {
|
|
|
204
252
|
}
|
|
205
253
|
return { sessionsDir, full, dryRun, noMerge, extractor, watch, model };
|
|
206
254
|
}
|
|
255
|
+
function parseConsolidateFlags(args) {
|
|
256
|
+
return {
|
|
257
|
+
dryRun: args.includes("--dry-run"),
|
|
258
|
+
phase1Only: args.includes("--phase1-only"),
|
|
259
|
+
phase2Only: args.includes("--phase2-only"),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
function parseScheduleFlags(args) {
|
|
263
|
+
let hour;
|
|
264
|
+
let minute;
|
|
265
|
+
for (let i = 0; i < args.length; i++) {
|
|
266
|
+
const arg = args[i];
|
|
267
|
+
if (arg === "--hour" && i + 1 < args.length) {
|
|
268
|
+
hour = Number(args[++i]);
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
if (arg === "--minute" && i + 1 < args.length) {
|
|
272
|
+
minute = Number(args[++i]);
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return {
|
|
277
|
+
hour,
|
|
278
|
+
minute,
|
|
279
|
+
dryRun: args.includes("--dry-run"),
|
|
280
|
+
remove: args.includes("--remove"),
|
|
281
|
+
status: args.includes("--status"),
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
function resolveSchedulePlatform() {
|
|
285
|
+
if (process.platform === "darwin")
|
|
286
|
+
return "darwin";
|
|
287
|
+
if (process.platform === "linux")
|
|
288
|
+
return "linux";
|
|
289
|
+
throw new Error(`setup-schedule is not supported on ${process.platform}`);
|
|
290
|
+
}
|
|
291
|
+
function tryResolveSchedulePlatform() {
|
|
292
|
+
if (process.platform === "darwin")
|
|
293
|
+
return "darwin";
|
|
294
|
+
if (process.platform === "linux")
|
|
295
|
+
return "linux";
|
|
296
|
+
return null;
|
|
297
|
+
}
|
|
298
|
+
async function readScheduleStatus(cfg) {
|
|
299
|
+
const platform = tryResolveSchedulePlatform();
|
|
300
|
+
if (!platform) {
|
|
301
|
+
return {
|
|
302
|
+
supported: false,
|
|
303
|
+
platform: process.platform,
|
|
304
|
+
files: [],
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
const result = await setupSchedule({
|
|
308
|
+
hour: cfg.consolidation.schedule.hour,
|
|
309
|
+
minute: cfg.consolidation.schedule.minute,
|
|
310
|
+
logPath: cfg.consolidation.schedule.log_path,
|
|
311
|
+
status: true,
|
|
312
|
+
}, platform);
|
|
313
|
+
return {
|
|
314
|
+
supported: true,
|
|
315
|
+
platform,
|
|
316
|
+
files: result.files,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
207
319
|
function printHelp() {
|
|
208
320
|
console.log(`pi-memory — local TLM episodic memory (mode B)
|
|
209
321
|
|
|
210
322
|
Commands:
|
|
211
323
|
health Start sidecar (if bundle present) and print /health
|
|
212
324
|
status Print MemoryService status snapshot
|
|
325
|
+
memory-status Print consolidation queue, MEMORY.md cap, schedule status, and recent job logs
|
|
326
|
+
consolidate Run offline memory consolidation
|
|
327
|
+
--dry-run Report planned work without writing MEMORY.md/stage1
|
|
328
|
+
--phase1-only Drain queue and train graph only
|
|
329
|
+
--phase2-only Consume existing stage1 rows only
|
|
330
|
+
setup-schedule Install/update the OS user scheduler
|
|
331
|
+
--hour Local hour (default from memory.json consolidation.schedule.hour)
|
|
332
|
+
--minute Local minute (default from memory.json consolidation.schedule.minute)
|
|
333
|
+
--dry-run Print files that would be written
|
|
334
|
+
--remove Remove scheduler files
|
|
335
|
+
--status Report scheduler file existence
|
|
213
336
|
query POST /query with JSON QueryIntent
|
|
214
337
|
install-bundle Copy a local bundle dir into ~/.pi/memory/current
|
|
215
338
|
train Build a bundle from session history (delta merge by default)
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -8,6 +8,30 @@ export interface TrainerConfig {
|
|
|
8
8
|
/** Auto-train interval: "1h"|"6h"|"12h"|"24h"|null (default null — disabled). */
|
|
9
9
|
auto_interval: string | null;
|
|
10
10
|
}
|
|
11
|
+
export interface ConsolidationScheduleConfig {
|
|
12
|
+
/** Local hour for the background consolidation job (default 3). */
|
|
13
|
+
hour: number;
|
|
14
|
+
/** Local minute for the background consolidation job (default 0). */
|
|
15
|
+
minute: number;
|
|
16
|
+
/** Structured JSONL log path (default ~/.pi/memory/consolidation.log). */
|
|
17
|
+
log_path: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ConsolidationConfig {
|
|
20
|
+
/** Whether session_shutdown enqueues sessions for offline consolidation. */
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
/** Minimum non-empty user turns before enqueue (default 3). */
|
|
23
|
+
min_user_turns: number;
|
|
24
|
+
/** MEMORY.md session cap by line count (default 200). */
|
|
25
|
+
memory_index_max_lines: number;
|
|
26
|
+
/** MEMORY.md session cap by UTF-8 bytes (default 25KB). */
|
|
27
|
+
memory_index_max_bytes: number;
|
|
28
|
+
/** Maximum stage1 rows selected per Phase2 run (default 20). */
|
|
29
|
+
phase2_top_n: number;
|
|
30
|
+
/** M4 prune threshold by last usage (default 90 days). */
|
|
31
|
+
max_unused_days: number;
|
|
32
|
+
/** Daily OS scheduler defaults. */
|
|
33
|
+
schedule: ConsolidationScheduleConfig;
|
|
34
|
+
}
|
|
11
35
|
export interface MemoryConfig {
|
|
12
36
|
provider: MemoryProvider;
|
|
13
37
|
tlmPath: string;
|
|
@@ -19,8 +43,12 @@ export interface MemoryConfig {
|
|
|
19
43
|
sessionsDir: string;
|
|
20
44
|
memoryMdPaths: string[];
|
|
21
45
|
trainer: TrainerConfig;
|
|
46
|
+
consolidation: ConsolidationConfig;
|
|
22
47
|
}
|
|
23
48
|
export declare const defaultTrainerConfig: TrainerConfig;
|
|
49
|
+
export declare function defaultConsolidationConfig(overrides?: Partial<ConsolidationConfig> & {
|
|
50
|
+
schedule?: Partial<ConsolidationScheduleConfig>;
|
|
51
|
+
}): ConsolidationConfig;
|
|
24
52
|
export declare function defaultMemoryConfig(overrides?: Partial<MemoryConfig>): MemoryConfig;
|
|
25
53
|
/** Normalize user-supplied paths after JSON/env load. */
|
|
26
54
|
export declare function normalizeMemoryConfig(raw: Partial<MemoryConfig> & Record<string, unknown>): MemoryConfig;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,SAAS,EAAE,aAAa,CAAC;IACzB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,SAAS,EAAE,aAAa,CAAC;IACzB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,QAAQ,EAAE,2BAA2B,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,mBAAmB,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,EAAE,aAIlC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,SAAS,GAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC5C,GACL,mBAAmB,CAiBrB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GACpC,YAAY,CAoBd;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,YAAY,CA4Dd"}
|
package/dist/config.js
CHANGED
|
@@ -5,8 +5,26 @@ export const defaultTrainerConfig = {
|
|
|
5
5
|
llm_batch_size: 10,
|
|
6
6
|
auto_interval: null,
|
|
7
7
|
};
|
|
8
|
+
export function defaultConsolidationConfig(overrides = {}) {
|
|
9
|
+
const defaultSchedule = {
|
|
10
|
+
hour: 3,
|
|
11
|
+
minute: 0,
|
|
12
|
+
log_path: path.join(defaultBundleRoot(), "consolidation.log"),
|
|
13
|
+
};
|
|
14
|
+
const { schedule, ...rest } = overrides;
|
|
15
|
+
return {
|
|
16
|
+
enabled: true,
|
|
17
|
+
min_user_turns: 3,
|
|
18
|
+
memory_index_max_lines: 200,
|
|
19
|
+
memory_index_max_bytes: 25_600,
|
|
20
|
+
phase2_top_n: 20,
|
|
21
|
+
max_unused_days: 90,
|
|
22
|
+
schedule: { ...defaultSchedule, ...schedule },
|
|
23
|
+
...rest,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
8
26
|
export function defaultMemoryConfig(overrides = {}) {
|
|
9
|
-
const { trainer: trainerOverrides, ...rest } = overrides;
|
|
27
|
+
const { trainer: trainerOverrides, consolidation: consolidationOverrides, ...rest } = overrides;
|
|
10
28
|
return {
|
|
11
29
|
provider: "local",
|
|
12
30
|
tlmPath: "tlm",
|
|
@@ -18,6 +36,7 @@ export function defaultMemoryConfig(overrides = {}) {
|
|
|
18
36
|
sessionsDir: defaultSessionsDir(),
|
|
19
37
|
memoryMdPaths: [path.join(defaultPiHome(), "MEMORY.md")],
|
|
20
38
|
trainer: { ...defaultTrainerConfig, ...trainerOverrides },
|
|
39
|
+
consolidation: defaultConsolidationConfig(consolidationOverrides),
|
|
21
40
|
...rest,
|
|
22
41
|
};
|
|
23
42
|
}
|
|
@@ -25,6 +44,8 @@ export function defaultMemoryConfig(overrides = {}) {
|
|
|
25
44
|
export function normalizeMemoryConfig(raw) {
|
|
26
45
|
const base = defaultMemoryConfig();
|
|
27
46
|
const rawTrainer = (raw.trainer ?? {});
|
|
47
|
+
const rawConsolidation = (raw.consolidation ?? {});
|
|
48
|
+
const rawSchedule = (rawConsolidation.schedule ?? {});
|
|
28
49
|
return {
|
|
29
50
|
provider: raw.provider ?? base.provider,
|
|
30
51
|
tlmPath: expandPath(String(raw.tlmPath ?? base.tlmPath)),
|
|
@@ -44,6 +65,21 @@ export function normalizeMemoryConfig(raw) {
|
|
|
44
65
|
? rawTrainer.auto_interval
|
|
45
66
|
: base.trainer.auto_interval,
|
|
46
67
|
},
|
|
68
|
+
consolidation: {
|
|
69
|
+
enabled: rawConsolidation.enabled ?? base.consolidation.enabled,
|
|
70
|
+
min_user_turns: Number(rawConsolidation.min_user_turns ?? base.consolidation.min_user_turns),
|
|
71
|
+
memory_index_max_lines: Number(rawConsolidation.memory_index_max_lines ??
|
|
72
|
+
base.consolidation.memory_index_max_lines),
|
|
73
|
+
memory_index_max_bytes: Number(rawConsolidation.memory_index_max_bytes ??
|
|
74
|
+
base.consolidation.memory_index_max_bytes),
|
|
75
|
+
phase2_top_n: Number(rawConsolidation.phase2_top_n ?? base.consolidation.phase2_top_n),
|
|
76
|
+
max_unused_days: Number(rawConsolidation.max_unused_days ?? base.consolidation.max_unused_days),
|
|
77
|
+
schedule: {
|
|
78
|
+
hour: Number(rawSchedule.hour ?? base.consolidation.schedule.hour),
|
|
79
|
+
minute: Number(rawSchedule.minute ?? base.consolidation.schedule.minute),
|
|
80
|
+
log_path: expandPath(String(rawSchedule.log_path ?? base.consolidation.schedule.log_path)),
|
|
81
|
+
},
|
|
82
|
+
},
|
|
47
83
|
};
|
|
48
84
|
}
|
|
49
85
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ConsolidationStatus, JobReport, ConsolidationStatusReport } from "./types.js";
|
|
2
|
+
import { type SqliteDatabase } from "./stage1/store.js";
|
|
3
|
+
export interface EnqueueSessionInput {
|
|
4
|
+
session_id: string;
|
|
5
|
+
session_file: string;
|
|
6
|
+
cwd: string;
|
|
7
|
+
git_root: string | null;
|
|
8
|
+
project_hash: string | null;
|
|
9
|
+
parent_session_id: string | null;
|
|
10
|
+
parent_session_file: string | null;
|
|
11
|
+
user_turn_count: number;
|
|
12
|
+
ended_at: string;
|
|
13
|
+
}
|
|
14
|
+
export interface EnqueueOptions {
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
minUserTurns?: number;
|
|
17
|
+
/** Injected sqlite handle for tests. */
|
|
18
|
+
db?: SqliteDatabase;
|
|
19
|
+
/** Force replacing existing done/skipped sessions. */
|
|
20
|
+
force?: boolean;
|
|
21
|
+
/** Override status for the newly enqueued job (default: pending). */
|
|
22
|
+
status?: ConsolidationStatus;
|
|
23
|
+
/** Optional now source for created_at / updated_at. */
|
|
24
|
+
now?: Date | string;
|
|
25
|
+
/** Test seam: production defaults to checking session file existence. */
|
|
26
|
+
checkFileExists?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function enqueueSession(dbPath: string, meta: EnqueueSessionInput, opts?: EnqueueOptions): JobReport;
|
|
29
|
+
export interface ConsolidationStatusQueryOptions {
|
|
30
|
+
db?: SqliteDatabase;
|
|
31
|
+
}
|
|
32
|
+
export declare function getConsolidationStatus(dbPath: string, opts?: ConsolidationStatusQueryOptions): ConsolidationStatusReport;
|
|
33
|
+
//# sourceMappingURL=enqueue.d.ts.map
|