@tyroneross/bookmark 0.1.0 → 0.2.0
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/CLAUDE.md +20 -30
- package/dist/cli/index.js +39 -33
- package/dist/cli/index.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -5
- package/dist/config.js.map +1 -1
- package/dist/restore/index.d.ts.map +1 -1
- package/dist/restore/index.js +231 -9
- package/dist/restore/index.js.map +1 -1
- package/dist/setup/auto-setup.js +6 -1
- package/dist/setup/auto-setup.js.map +1 -1
- package/dist/snapshot/capture.d.ts +9 -7
- package/dist/snapshot/capture.d.ts.map +1 -1
- package/dist/snapshot/capture.js +27 -78
- package/dist/snapshot/capture.js.map +1 -1
- package/dist/snapshot/compress.d.ts +1 -1
- package/dist/snapshot/compress.d.ts.map +1 -1
- package/dist/snapshot/compress.js +51 -48
- package/dist/snapshot/compress.js.map +1 -1
- package/dist/snapshot/storage.d.ts +6 -0
- package/dist/snapshot/storage.d.ts.map +1 -1
- package/dist/snapshot/storage.js +24 -0
- package/dist/snapshot/storage.js.map +1 -1
- package/dist/trails/reader.d.ts +7 -0
- package/dist/trails/reader.d.ts.map +1 -0
- package/dist/trails/reader.js +22 -0
- package/dist/trails/reader.js.map +1 -0
- package/dist/trails/writer.d.ts +15 -0
- package/dist/trails/writer.d.ts.map +1 -0
- package/dist/trails/writer.js +268 -0
- package/dist/trails/writer.js.map +1 -0
- package/dist/transcript/extractor.d.ts +15 -1
- package/dist/transcript/extractor.d.ts.map +1 -1
- package/dist/transcript/extractor.js +277 -47
- package/dist/transcript/extractor.js.map +1 -1
- package/dist/transcript/parser.d.ts.map +1 -1
- package/dist/transcript/parser.js +69 -7
- package/dist/transcript/parser.js.map +1 -1
- package/dist/types.d.ts +8 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -4
package/CLAUDE.md
CHANGED
|
@@ -8,29 +8,45 @@ Bookmark automatically captures, compresses, and restores session context so you
|
|
|
8
8
|
|
|
9
9
|
**Automatic hooks** (zero context window tax):
|
|
10
10
|
- **PreCompact** — Snapshots before compaction (async, external process)
|
|
11
|
-
- **SessionStart** — Restores context from
|
|
11
|
+
- **SessionStart** — Restores context from CONTEXT.md (trailhead)
|
|
12
12
|
- **UserPromptSubmit** — Checks time/threshold intervals (fast no-op when nothing triggers)
|
|
13
13
|
- **Stop** — Final snapshot before session ends
|
|
14
14
|
|
|
15
|
+
**Trail-routed memory** — Context stored in a hierarchy of navigable files:
|
|
16
|
+
- `CONTEXT.md` — Compact trailhead (~400 tokens), always restored on session start
|
|
17
|
+
- `trails/decisions.md` — Timestamped decision chain, newer overrides older on same topic
|
|
18
|
+
- `trails/files.md` — Cumulative file activity sorted by impact
|
|
19
|
+
|
|
20
|
+
**No external API calls** — You (Claude Code) are the interpreter. Pattern matching captures structured data during snapshots. You interpret the trails on restore.
|
|
21
|
+
|
|
15
22
|
**Adaptive thresholds** — Snapshots trigger earlier as compaction happens more:
|
|
16
23
|
- 1st compaction: snapshot at 20% remaining
|
|
17
24
|
- 2nd: 30% remaining
|
|
18
25
|
- 3rd+: 40-50% remaining
|
|
19
26
|
|
|
20
|
-
**Time-based intervals** — Default every 20 minutes (configurable).
|
|
21
|
-
|
|
22
27
|
## Storage Location
|
|
23
28
|
|
|
24
29
|
All data lives in `<project>/.claude/bookmarks/`:
|
|
25
30
|
```
|
|
26
31
|
.claude/bookmarks/
|
|
27
|
-
├──
|
|
32
|
+
├── CONTEXT.md ← Trailhead — read this on restore (~400 tokens)
|
|
33
|
+
├── trails/
|
|
34
|
+
│ ├── decisions.md ← Follow for decision history
|
|
35
|
+
│ └── files.md ← Follow for file change details
|
|
36
|
+
├── LATEST.md ← Flat markdown backup
|
|
28
37
|
├── index.json ← Snapshot index
|
|
29
38
|
├── state.json ← Plugin state
|
|
30
39
|
├── snapshots/ ← Full snapshot files (SNAP_*.json)
|
|
31
40
|
└── archive/ ← Old snapshots
|
|
32
41
|
```
|
|
33
42
|
|
|
43
|
+
## How to Use Trails
|
|
44
|
+
|
|
45
|
+
When CONTEXT.md is restored, it contains routing pointers to trail files. If you need more detail:
|
|
46
|
+
1. Read the trailhead (CONTEXT.md) — usually enough to resume
|
|
47
|
+
2. Follow `trails/decisions.md` if you need decision history or rationale
|
|
48
|
+
3. Follow `trails/files.md` if you need to know what files were modified and how much
|
|
49
|
+
|
|
34
50
|
## Available Commands
|
|
35
51
|
|
|
36
52
|
| Command | Purpose |
|
|
@@ -40,30 +56,4 @@ All data lives in `<project>/.claude/bookmarks/`:
|
|
|
40
56
|
| `/bookmark:status` | Show snapshot inventory and stats |
|
|
41
57
|
| `/bookmark:list` | List all snapshots |
|
|
42
58
|
|
|
43
|
-
## CLI Quick Reference
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
npx @tyroneross/bookmark status # Stats
|
|
47
|
-
npx @tyroneross/bookmark list # List snapshots
|
|
48
|
-
npx @tyroneross/bookmark show --latest # Show latest snapshot
|
|
49
|
-
npx @tyroneross/bookmark show <SNAP_ID> # Show specific snapshot
|
|
50
|
-
npx @tyroneross/bookmark config # Show/set configuration
|
|
51
|
-
npx @tyroneross/bookmark init # Initialize in project
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## What Gets Captured
|
|
55
|
-
|
|
56
|
-
Each snapshot extracts from the transcript:
|
|
57
|
-
- **Current status** — What was being worked on
|
|
58
|
-
- **Decisions made** — Key choices with rationale
|
|
59
|
-
- **Open items** — TODOs with priority
|
|
60
|
-
- **Unknowns/blockers** — Uncertainties and blockers
|
|
61
|
-
- **Files changed** — With operation types
|
|
62
|
-
- **Errors encountered** — Resolved vs unresolved
|
|
63
|
-
- **Tool usage summary** — Aggregate tool call counts
|
|
64
|
-
|
|
65
|
-
## Smart Mode
|
|
66
|
-
|
|
67
|
-
Pass `--smart` to use Claude Haiku for higher-quality extraction (~$0.001/snapshot). Requires `ANTHROPIC_API_KEY`.
|
|
68
|
-
|
|
69
59
|
*bookmark — context snapshot*
|
package/dist/cli/index.js
CHANGED
|
@@ -24,7 +24,6 @@ program
|
|
|
24
24
|
.command('snapshot')
|
|
25
25
|
.description('Capture a context snapshot')
|
|
26
26
|
.option('--trigger <type>', 'Trigger type: pre_compact|time_interval|manual|session_end', 'manual')
|
|
27
|
-
.option('--smart', 'Use Claude Haiku for enhanced extraction')
|
|
28
27
|
.option('--transcript <path>', 'Path to transcript JSONL')
|
|
29
28
|
.option('--session-id <id>', 'Session ID')
|
|
30
29
|
.option('--cwd <path>', 'Working directory')
|
|
@@ -48,7 +47,6 @@ program
|
|
|
48
47
|
transcriptPath,
|
|
49
48
|
cwd,
|
|
50
49
|
sessionId,
|
|
51
|
-
smart: opts.smart,
|
|
52
50
|
});
|
|
53
51
|
console.log(`Snapshot captured: ${snapshot.snapshot_id}`);
|
|
54
52
|
console.log(` Trigger: ${snapshot.trigger}`);
|
|
@@ -228,8 +226,6 @@ program
|
|
|
228
226
|
.command('config')
|
|
229
227
|
.description('Show or set configuration')
|
|
230
228
|
.option('--interval <minutes>', 'Set time-based interval')
|
|
231
|
-
.option('--smart-default', 'Enable LLM-enhanced extraction by default')
|
|
232
|
-
.option('--no-smart-default', 'Disable LLM-enhanced extraction')
|
|
233
229
|
.option('--cwd <path>', 'Working directory')
|
|
234
230
|
.action((opts) => {
|
|
235
231
|
const cwd = opts.cwd ?? process.cwd();
|
|
@@ -249,13 +245,12 @@ program
|
|
|
249
245
|
console.log(` Interval: ${config.intervalMinutes} minutes`);
|
|
250
246
|
console.log(` Thresholds: ${config.thresholds.map(t => `${Math.round(t * 100)}%`).join(', ')}`);
|
|
251
247
|
console.log(` Context limit: ${config.contextLimitTokens.toLocaleString()} tokens`);
|
|
252
|
-
console.log(` Smart default: ${config.smartDefault}`);
|
|
253
248
|
console.log(` Max snapshots: ${config.maxActiveSnapshots}`);
|
|
254
249
|
console.log(` Archive after: ${config.archiveAfterDays} days`);
|
|
255
250
|
console.log('');
|
|
256
251
|
console.log('Environment overrides:');
|
|
257
252
|
console.log(' BOOKMARK_INTERVAL, BOOKMARK_THRESHOLD, BOOKMARK_STORAGE_PATH');
|
|
258
|
-
console.log(' BOOKMARK_CONTEXT_LIMIT,
|
|
253
|
+
console.log(' BOOKMARK_CONTEXT_LIMIT, BOOKMARK_VERBOSE');
|
|
259
254
|
console.log('');
|
|
260
255
|
});
|
|
261
256
|
program
|
|
@@ -300,6 +295,9 @@ const RESET = '\x1b[0m';
|
|
|
300
295
|
/**
|
|
301
296
|
* Discover the most recent transcript file for the given working directory.
|
|
302
297
|
* Claude Code stores transcripts in ~/.claude/projects/<encoded-path>/*.jsonl
|
|
298
|
+
*
|
|
299
|
+
* Uses CLAUDE_SESSION_ID env var if available (set by Claude Code hooks),
|
|
300
|
+
* otherwise falls back to finding the most recent JSONL by file size + recency.
|
|
303
301
|
*/
|
|
304
302
|
function discoverTranscriptPath(cwd) {
|
|
305
303
|
const claudeProjectsDir = join(homedir(), '.claude', 'projects');
|
|
@@ -310,21 +308,46 @@ function discoverTranscriptPath(cwd) {
|
|
|
310
308
|
// Claude Code encodes paths by replacing / with -
|
|
311
309
|
// e.g., /Users/tyroneross/myproject → -Users-tyroneross-myproject
|
|
312
310
|
const encodedCwd = cwd.replace(/\//g, '-');
|
|
313
|
-
|
|
311
|
+
// Prefer exact match, then longest match (most specific path)
|
|
312
|
+
let matchingDir = projectDirs.find(d => d === encodedCwd);
|
|
313
|
+
if (!matchingDir) {
|
|
314
|
+
// Find the most specific (longest) matching directory
|
|
315
|
+
const candidates = projectDirs.filter(d => d === encodedCwd || encodedCwd.startsWith(d) || d.startsWith(encodedCwd));
|
|
316
|
+
if (candidates.length > 0) {
|
|
317
|
+
// Sort by length descending — most specific match first
|
|
318
|
+
candidates.sort((a, b) => b.length - a.length);
|
|
319
|
+
matchingDir = candidates[0];
|
|
320
|
+
}
|
|
321
|
+
}
|
|
314
322
|
if (!matchingDir)
|
|
315
323
|
return null;
|
|
316
324
|
const transcriptDir = join(claudeProjectsDir, matchingDir);
|
|
317
|
-
const
|
|
318
|
-
if (!
|
|
325
|
+
const dirStat = statSync(transcriptDir);
|
|
326
|
+
if (!dirStat.isDirectory())
|
|
319
327
|
return null;
|
|
320
|
-
|
|
328
|
+
const sessionId = process.env.CLAUDE_SESSION_ID;
|
|
329
|
+
// If we have a session ID, look for that specific file first
|
|
330
|
+
if (sessionId) {
|
|
331
|
+
const sessionFile = join(transcriptDir, `${sessionId}.jsonl`);
|
|
332
|
+
if (existsSync(sessionFile))
|
|
333
|
+
return sessionFile;
|
|
334
|
+
}
|
|
335
|
+
// Fall back: find the most recent .jsonl file by modification time,
|
|
336
|
+
// but skip tiny files (likely just file-history-snapshot entries)
|
|
321
337
|
const files = readdirSync(transcriptDir)
|
|
322
338
|
.filter(f => f.endsWith('.jsonl'))
|
|
323
|
-
.map(f =>
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
})
|
|
327
|
-
|
|
339
|
+
.map(f => {
|
|
340
|
+
const s = statSync(join(transcriptDir, f));
|
|
341
|
+
return { name: f, mtime: s.mtimeMs, size: s.size };
|
|
342
|
+
})
|
|
343
|
+
// Prefer files >10KB (actual conversations, not just metadata)
|
|
344
|
+
.sort((a, b) => {
|
|
345
|
+
const aSubstantial = a.size > 10_000 ? 1 : 0;
|
|
346
|
+
const bSubstantial = b.size > 10_000 ? 1 : 0;
|
|
347
|
+
if (aSubstantial !== bSubstantial)
|
|
348
|
+
return bSubstantial - aSubstantial;
|
|
349
|
+
return b.mtime - a.mtime;
|
|
350
|
+
});
|
|
328
351
|
return files[0] ? join(transcriptDir, files[0].name) : null;
|
|
329
352
|
}
|
|
330
353
|
catch {
|
|
@@ -348,7 +371,6 @@ function askQuestion(question) {
|
|
|
348
371
|
*/
|
|
349
372
|
async function runSetup(cwd, useDefaults) {
|
|
350
373
|
let intervalMinutes = 20;
|
|
351
|
-
let smartDefault = false;
|
|
352
374
|
console.log('');
|
|
353
375
|
console.log(`${BOLD}Bookmark — Context Snapshot Setup${RESET}`);
|
|
354
376
|
console.log('═════════════════════════════════');
|
|
@@ -365,26 +387,11 @@ async function runSetup(cwd, useDefaults) {
|
|
|
365
387
|
const intervalMap = { '1': 10, '2': 15, '3': 20, '4': 30 };
|
|
366
388
|
intervalMinutes = intervalMap[intervalAnswer] ?? 20;
|
|
367
389
|
console.log('');
|
|
368
|
-
// Prompt for smart mode
|
|
369
|
-
const hasApiKey = !!process.env.ANTHROPIC_API_KEY;
|
|
370
|
-
console.log('Smart mode (uses Claude Haiku for better extraction, ~$0.001/snapshot)?');
|
|
371
|
-
if (hasApiKey) {
|
|
372
|
-
console.log(` ${GREEN}ANTHROPIC_API_KEY detected.${RESET}`);
|
|
373
|
-
}
|
|
374
|
-
else {
|
|
375
|
-
console.log(` ${DIM}No ANTHROPIC_API_KEY found — smart mode requires it.${RESET}`);
|
|
376
|
-
}
|
|
377
|
-
console.log(' 1) Enable smart mode');
|
|
378
|
-
console.log(` 2) Pattern-matching only ${DIM}(recommended)${RESET}`);
|
|
379
|
-
console.log('');
|
|
380
|
-
const smartAnswer = await askQuestion(`${DIM}> ${RESET}`);
|
|
381
|
-
smartDefault = smartAnswer === '1';
|
|
382
|
-
console.log('');
|
|
383
390
|
}
|
|
384
391
|
// Run core setup (dirs, hooks, gitignore, CLAUDE.md)
|
|
385
392
|
const steps = setupProject(cwd);
|
|
386
393
|
// Write user preferences
|
|
387
|
-
writeConfig(cwd, { intervalMinutes
|
|
394
|
+
writeConfig(cwd, { intervalMinutes });
|
|
388
395
|
steps.push('Saved config to .claude/bookmarks/config.json');
|
|
389
396
|
// Initialize state with user preferences
|
|
390
397
|
const sp = getStoragePath(cwd);
|
|
@@ -400,7 +407,6 @@ async function runSetup(cwd, useDefaults) {
|
|
|
400
407
|
console.log('Defaults:');
|
|
401
408
|
console.log(` Interval: ${intervalMinutes} minutes`);
|
|
402
409
|
console.log(` Thresholds: 20% → 30% → 40% → 50% (adaptive)`);
|
|
403
|
-
console.log(` Smart mode: ${smartDefault ? 'on' : 'off'}`);
|
|
404
410
|
console.log('');
|
|
405
411
|
console.log(`${GREEN}Ready.${RESET} Start a Claude Code session — snapshots will be captured automatically.`);
|
|
406
412
|
console.log('');
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqBnE,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAmCvD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAG3E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAsBtE"}
|
package/dist/config.js
CHANGED
|
@@ -16,7 +16,6 @@ const DEFAULTS = {
|
|
|
16
16
|
archiveAfterDays: 30,
|
|
17
17
|
snapshotOnSessionEnd: true,
|
|
18
18
|
restoreOnSessionStart: true,
|
|
19
|
-
smartDefault: false,
|
|
20
19
|
verboseLogging: false,
|
|
21
20
|
};
|
|
22
21
|
export function loadConfig(cwd) {
|
|
@@ -49,9 +48,6 @@ export function loadConfig(cwd) {
|
|
|
49
48
|
if (process.env.BOOKMARK_CONTEXT_LIMIT) {
|
|
50
49
|
config.contextLimitTokens = parseInt(process.env.BOOKMARK_CONTEXT_LIMIT, 10) || config.contextLimitTokens;
|
|
51
50
|
}
|
|
52
|
-
if (process.env.BOOKMARK_SMART === 'true') {
|
|
53
|
-
config.smartDefault = true;
|
|
54
|
-
}
|
|
55
51
|
if (process.env.BOOKMARK_VERBOSE === 'true') {
|
|
56
52
|
config.verboseLogging = true;
|
|
57
53
|
}
|
|
@@ -79,7 +75,6 @@ export function writeConfig(cwd, prefs) {
|
|
|
79
75
|
const merged = {
|
|
80
76
|
...existing,
|
|
81
77
|
intervalMinutes: prefs.intervalMinutes,
|
|
82
|
-
smartDefault: prefs.smartDefault,
|
|
83
78
|
};
|
|
84
79
|
writeFileSync(configPath, JSON.stringify(merged, null, 2), 'utf-8');
|
|
85
80
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,QAAQ,GAAmB;IAC/B,WAAW,EAAE,mBAAmB;IAChC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC1C,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,EAAE;IACnB,kBAAkB,EAAE,OAAO;IAC3B,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;IACnB,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,EAAE;IACtB,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,IAAI;IAC1B,qBAAqB,EAAE,IAAI;IAC3B,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/restore/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/restore/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAA6D,MAAM,aAAa,CAAC;AAEzG,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAoElE"}
|
package/dist/restore/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { readLatestMd, loadLatestSnapshot, getSnapshotCount } from '../snapshot/storage.js';
|
|
2
|
+
import { readLatestMd, loadLatestSnapshot, getSnapshotCount, loadSnapshotChain } from '../snapshot/storage.js';
|
|
3
|
+
import { readContextMd } from '../trails/reader.js';
|
|
3
4
|
import { loadState, saveState, resetForNewSession, incrementCompaction } from '../threshold/state.js';
|
|
4
5
|
import { loadConfig, getStoragePath } from '../config.js';
|
|
5
6
|
/**
|
|
@@ -46,22 +47,243 @@ export function restoreContext(options) {
|
|
|
46
47
|
systemMessage: latestMd,
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
|
-
// Default: system_message format
|
|
50
|
-
|
|
50
|
+
// Default: system_message format — structured for fast LLM pickup
|
|
51
|
+
// Prefer trail-routed CONTEXT.md (compact trailhead with routing pointers)
|
|
52
|
+
const contextMd = readContextMd(storagePath);
|
|
53
|
+
if (contextMd) {
|
|
54
|
+
return { systemMessage: contextMd };
|
|
55
|
+
}
|
|
56
|
+
// Fallback: chain-aware restoration from raw snapshots
|
|
57
|
+
const chain = loadSnapshotChain(storagePath);
|
|
58
|
+
if (chain.length > 1) {
|
|
59
|
+
const merged = mergeSnapshotChain(chain);
|
|
60
|
+
return { systemMessage: buildChainRestoration(merged, chain.length, snapshotCount) };
|
|
61
|
+
}
|
|
62
|
+
const snapshot = loadLatestSnapshot(storagePath);
|
|
63
|
+
const systemMessage = snapshot
|
|
64
|
+
? buildSmartRestoration(snapshot, snapshotCount)
|
|
65
|
+
: buildFallbackRestoration(latestMd, snapshotCount);
|
|
51
66
|
return { systemMessage };
|
|
52
67
|
}
|
|
53
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Merge a chain of snapshots into one unified context.
|
|
70
|
+
* Chain is in chronological order (oldest first).
|
|
71
|
+
*
|
|
72
|
+
* Strategy:
|
|
73
|
+
* - Intent/progress: Latest non-Unknown wins (most current)
|
|
74
|
+
* - Files: Union by path, merge operations, sum line counts
|
|
75
|
+
* - Decisions: Accumulate unique across chain, cap at 6
|
|
76
|
+
* - Open items: Latest snapshot only (prior items are done or superseded)
|
|
77
|
+
* - Sentiment: Latest non-neutral wins
|
|
78
|
+
*/
|
|
79
|
+
function mergeSnapshotChain(chain) {
|
|
80
|
+
const latest = chain[chain.length - 1];
|
|
81
|
+
const oldest = chain[0];
|
|
82
|
+
// Intent/progress: walk backward, take first non-Unknown
|
|
83
|
+
let intent = 'Unknown';
|
|
84
|
+
let progress = 'Unknown';
|
|
85
|
+
let sentiment = 'neutral';
|
|
86
|
+
for (let i = chain.length - 1; i >= 0; i--) {
|
|
87
|
+
if (intent === 'Unknown' && chain[i].intent && chain[i].intent !== 'Unknown') {
|
|
88
|
+
intent = chain[i].intent;
|
|
89
|
+
}
|
|
90
|
+
if (progress === 'Unknown' && chain[i].progress && chain[i].progress !== 'Unknown') {
|
|
91
|
+
progress = chain[i].progress;
|
|
92
|
+
}
|
|
93
|
+
if (sentiment === 'neutral' && chain[i].user_sentiment && chain[i].user_sentiment !== 'neutral') {
|
|
94
|
+
sentiment = chain[i].user_sentiment;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Files: merge by path across all snapshots
|
|
98
|
+
const fileMap = new Map();
|
|
99
|
+
for (const snap of chain) {
|
|
100
|
+
for (const f of snap.files_changed) {
|
|
101
|
+
const existing = fileMap.get(f.path);
|
|
102
|
+
if (existing) {
|
|
103
|
+
// Merge operations (union)
|
|
104
|
+
const ops = new Set([...existing.operations, ...f.operations]);
|
|
105
|
+
existing.operations = [...ops];
|
|
106
|
+
// Sum line counts
|
|
107
|
+
existing.lines_changed = (existing.lines_changed ?? 0) + (f.lines_changed ?? 0);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
fileMap.set(f.path, { ...f });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Decisions: accumulate unique across chain
|
|
115
|
+
const decisionSet = new Set();
|
|
116
|
+
const allDecisions = [];
|
|
117
|
+
for (const snap of chain) {
|
|
118
|
+
for (const d of snap.decisions) {
|
|
119
|
+
// Deduplicate by normalized prefix (first 60 chars, lowered)
|
|
120
|
+
const key = d.description.slice(0, 60).toLowerCase().trim();
|
|
121
|
+
if (!decisionSet.has(key)) {
|
|
122
|
+
decisionSet.add(key);
|
|
123
|
+
allDecisions.push(d);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Open items: latest snapshot only
|
|
128
|
+
const openItems = latest.open_items;
|
|
129
|
+
const files = [...fileMap.values()];
|
|
130
|
+
const totalLinesChanged = files.reduce((sum, f) => sum + (f.lines_changed ?? 0), 0);
|
|
131
|
+
return {
|
|
132
|
+
intent,
|
|
133
|
+
progress,
|
|
134
|
+
sentiment,
|
|
135
|
+
files,
|
|
136
|
+
decisions: allDecisions.slice(0, 6),
|
|
137
|
+
openItems,
|
|
138
|
+
projectPath: latest.project_path,
|
|
139
|
+
compactionCycle: latest.compaction_cycle,
|
|
140
|
+
totalLinesChanged,
|
|
141
|
+
chainSpan: { oldest: oldest.timestamp, newest: latest.timestamp },
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Build restoration from merged chain context.
|
|
146
|
+
* Target: <600 tokens — covers multiple compaction cycles efficiently.
|
|
147
|
+
*/
|
|
148
|
+
function buildChainRestoration(merged, chainLength, snapshotCount) {
|
|
54
149
|
const lines = [];
|
|
55
|
-
|
|
150
|
+
const spanMinutes = Math.round((merged.chainSpan.newest - merged.chainSpan.oldest) / 60000);
|
|
151
|
+
const spanStr = spanMinutes > 60
|
|
152
|
+
? `${Math.round(spanMinutes / 60)}h ${spanMinutes % 60}m`
|
|
153
|
+
: `${spanMinutes}m`;
|
|
154
|
+
lines.push(`[Bookmark: Context recovered — ${chainLength} snapshots merged across ${spanStr}]`);
|
|
56
155
|
lines.push('');
|
|
57
|
-
|
|
156
|
+
// Intent
|
|
157
|
+
if (merged.intent !== 'Unknown') {
|
|
158
|
+
lines.push(`**User intent:** ${merged.intent}`);
|
|
159
|
+
}
|
|
160
|
+
// Progress
|
|
161
|
+
if (merged.progress !== 'Unknown') {
|
|
162
|
+
lines.push(`**Progress:** ${merged.progress}`);
|
|
163
|
+
}
|
|
164
|
+
// Sentiment
|
|
165
|
+
if (merged.sentiment !== 'neutral') {
|
|
166
|
+
lines.push(`**User feedback:** ${merged.sentiment}`);
|
|
167
|
+
}
|
|
58
168
|
lines.push('');
|
|
59
|
-
|
|
169
|
+
// Files — show cumulative work
|
|
170
|
+
if (merged.files.length > 0) {
|
|
171
|
+
lines.push(`**Files modified:** ${merged.files.length} files (~${merged.totalLinesChanged} lines total)`);
|
|
172
|
+
// Sort by lines changed descending — most important files first
|
|
173
|
+
const sorted = [...merged.files].sort((a, b) => (b.lines_changed ?? 0) - (a.lines_changed ?? 0));
|
|
174
|
+
for (const f of sorted.slice(0, 10)) {
|
|
175
|
+
const shortPath = f.path.includes(merged.projectPath)
|
|
176
|
+
? f.path.slice(merged.projectPath.length).replace(/^\//, '')
|
|
177
|
+
: f.path;
|
|
178
|
+
const lc = f.lines_changed ? ` ~${f.lines_changed}L` : '';
|
|
179
|
+
lines.push(`- \`${shortPath}\` (${f.operations.join('/')}${lc})`);
|
|
180
|
+
}
|
|
181
|
+
if (merged.files.length > 10) {
|
|
182
|
+
lines.push(`- ...+${merged.files.length - 10} more`);
|
|
183
|
+
}
|
|
184
|
+
lines.push('');
|
|
185
|
+
}
|
|
186
|
+
// Decisions — accumulated across chain
|
|
187
|
+
if (merged.decisions.length > 0) {
|
|
188
|
+
lines.push('**Key decisions (across session):**');
|
|
189
|
+
for (const d of merged.decisions) {
|
|
190
|
+
lines.push(`- ${d.description.slice(0, 120)}`);
|
|
191
|
+
}
|
|
192
|
+
lines.push('');
|
|
193
|
+
}
|
|
194
|
+
// Open items — from latest snapshot only
|
|
195
|
+
if (merged.openItems.length > 0) {
|
|
196
|
+
lines.push('**Remaining:**');
|
|
197
|
+
for (const item of merged.openItems.slice(0, 4)) {
|
|
198
|
+
lines.push(`- ${item.description.slice(0, 120)}`);
|
|
199
|
+
}
|
|
200
|
+
lines.push('');
|
|
201
|
+
}
|
|
202
|
+
// Chain metadata
|
|
203
|
+
if (merged.compactionCycle > 0) {
|
|
204
|
+
lines.push(`> Compaction cycle ${merged.compactionCycle} — context compressed ${merged.compactionCycle} time(s), this merges all recovered state.`);
|
|
205
|
+
}
|
|
206
|
+
if (snapshotCount > chainLength) {
|
|
207
|
+
lines.push(`> ${snapshotCount} total snapshots. \`/bookmark:list\` for full history.`);
|
|
208
|
+
}
|
|
60
209
|
lines.push('');
|
|
61
|
-
lines.push(
|
|
210
|
+
lines.push('Resume working on the task above. Do not re-read files you already modified unless the user asks.');
|
|
211
|
+
return lines.join('\n');
|
|
212
|
+
}
|
|
213
|
+
// ─── Single Snapshot Restoration ───
|
|
214
|
+
/**
|
|
215
|
+
* Build a restoration message optimized for LLM context recovery.
|
|
216
|
+
* Structured as a briefing: intent → progress → what changed → what's next.
|
|
217
|
+
* Target: <500 tokens — every token here saves 10+ tokens of re-exploration.
|
|
218
|
+
*/
|
|
219
|
+
function buildSmartRestoration(snapshot, snapshotCount) {
|
|
220
|
+
const lines = [];
|
|
221
|
+
lines.push('[Bookmark: Context recovered — pick up where you left off]');
|
|
62
222
|
lines.push('');
|
|
223
|
+
// Intent — what the user is trying to do
|
|
224
|
+
if (snapshot.intent && snapshot.intent !== 'Unknown') {
|
|
225
|
+
lines.push(`**User intent:** ${snapshot.intent}`);
|
|
226
|
+
}
|
|
227
|
+
// Progress — how far along
|
|
228
|
+
if (snapshot.progress && snapshot.progress !== 'Unknown') {
|
|
229
|
+
lines.push(`**Progress:** ${snapshot.progress}`);
|
|
230
|
+
}
|
|
231
|
+
// Sentiment — user's reaction to work so far
|
|
232
|
+
if (snapshot.user_sentiment && snapshot.user_sentiment !== 'neutral') {
|
|
233
|
+
lines.push(`**User feedback:** ${snapshot.user_sentiment}`);
|
|
234
|
+
}
|
|
235
|
+
lines.push('');
|
|
236
|
+
// Files changed — concrete work done
|
|
237
|
+
if (snapshot.files_changed.length > 0) {
|
|
238
|
+
const totalLines = snapshot.files_changed.reduce((sum, f) => sum + (f.lines_changed ?? 0), 0);
|
|
239
|
+
lines.push(`**Files modified:** ${snapshot.files_changed.length} files (~${totalLines} lines)`);
|
|
240
|
+
for (const f of snapshot.files_changed.slice(0, 8)) {
|
|
241
|
+
const shortPath = f.path.includes(snapshot.project_path)
|
|
242
|
+
? f.path.slice(snapshot.project_path.length).replace(/^\//, '')
|
|
243
|
+
: f.path;
|
|
244
|
+
const lc = f.lines_changed ? ` ~${f.lines_changed}L` : '';
|
|
245
|
+
lines.push(`- \`${shortPath}\` (${f.operations.join('/')}${lc})`);
|
|
246
|
+
}
|
|
247
|
+
if (snapshot.files_changed.length > 8) {
|
|
248
|
+
lines.push(`- ...+${snapshot.files_changed.length - 8} more`);
|
|
249
|
+
}
|
|
250
|
+
lines.push('');
|
|
251
|
+
}
|
|
252
|
+
// Key decisions — only if LLM-extracted (high quality)
|
|
253
|
+
if (snapshot.decisions.length > 0) {
|
|
254
|
+
lines.push('**Key decisions:**');
|
|
255
|
+
for (const d of snapshot.decisions.slice(0, 4)) {
|
|
256
|
+
lines.push(`- ${d.description.slice(0, 120)}`);
|
|
257
|
+
}
|
|
258
|
+
lines.push('');
|
|
259
|
+
}
|
|
260
|
+
// Open items — what's left
|
|
261
|
+
if (snapshot.open_items.length > 0) {
|
|
262
|
+
lines.push('**Remaining:**');
|
|
263
|
+
for (const item of snapshot.open_items.slice(0, 4)) {
|
|
264
|
+
lines.push(`- ${item.description.slice(0, 120)}`);
|
|
265
|
+
}
|
|
266
|
+
lines.push('');
|
|
267
|
+
}
|
|
268
|
+
// Compaction chain info
|
|
269
|
+
if (snapshot.compaction_cycle > 0) {
|
|
270
|
+
lines.push(`> Compaction cycle ${snapshot.compaction_cycle} — context was compressed, this is the recovered state.`);
|
|
271
|
+
}
|
|
272
|
+
if (snapshotCount > 1) {
|
|
273
|
+
lines.push(`> ${snapshotCount} snapshots in history. \`/bookmark:list\` for full chain.`);
|
|
274
|
+
}
|
|
275
|
+
lines.push('');
|
|
276
|
+
lines.push('Resume working on the task above. Do not re-read files you already modified unless the user asks.');
|
|
277
|
+
return lines.join('\n');
|
|
278
|
+
}
|
|
279
|
+
function buildFallbackRestoration(latestMd, snapshotCount) {
|
|
280
|
+
const lines = [];
|
|
281
|
+
lines.push('[Bookmark: Context recovered from previous session]');
|
|
282
|
+
lines.push('');
|
|
283
|
+
lines.push(latestMd);
|
|
63
284
|
if (snapshotCount > 1) {
|
|
64
|
-
lines.push(
|
|
285
|
+
lines.push('');
|
|
286
|
+
lines.push(`> ${snapshotCount} snapshots available. \`/bookmark:list\` for history.`);
|
|
65
287
|
}
|
|
66
288
|
return lines.join('\n');
|
|
67
289
|
}
|