@hyperlynq/synaptic 0.7.1 → 0.8.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/README.md CHANGED
@@ -13,8 +13,8 @@
13
13
 
14
14
  **Claude forgets everything between sessions. Synaptic fixes that.**
15
15
 
16
- [![Version](https://img.shields.io/badge/version-0.7.0-blue)](https://github.com/HYPERLYNQ/synaptic)
17
- [![Tests](https://img.shields.io/badge/tests-147%20passing-brightgreen)](https://github.com/HYPERLYNQ/synaptic)
16
+ [![Version](https://img.shields.io/badge/version-0.8.0-blue)](https://github.com/HYPERLYNQ/synaptic)
17
+ [![Tests](https://img.shields.io/badge/tests-175%20passing-brightgreen)](https://github.com/HYPERLYNQ/synaptic)
18
18
  [![Node](https://img.shields.io/badge/node-22%2B-339933)](https://nodejs.org)
19
19
  [![License](https://img.shields.io/badge/license-source--available-orange)](LICENSE)
20
20
 
@@ -75,6 +75,8 @@ Claude's auto-memory (`~/.claude/memory/`) saves short notes to files. But there
75
75
  | Memory cleanup | Manual | Grows forever | Auto-decay by tier |
76
76
  | Pattern detection | None | None | Tracks recurring failures |
77
77
  | Auto-capture | None | None | Detects declarations, preferences, corrections |
78
+ | Rule enforcement | None | None | Hard (commit-msg hook) + soft (violation detection) |
79
+ | Transcript scanning | None | None | Passively captures from conversation history |
78
80
  | Predictive context | None | None | Surfaces relevant history at session start |
79
81
 
80
82
  <br>
@@ -107,6 +109,7 @@ That's it. The `init` command auto-detects your environment (Linux, macOS, WSL)
107
109
  - **MCP server** — so Claude can use Synaptic's tools
108
110
  - **3 lifecycle hooks** — auto-load on start, preserve on compress, save on stop
109
111
  - **Git pre-commit hook** — captures test/lint failures into memory
112
+ - **Git commit-msg hook** — blocks commits that violate your rules
110
113
  - **Project directory** — `.synaptic/` for local config
111
114
 
112
115
  > Skip git hook and project dir with `npx synaptic init --global`
@@ -286,6 +289,23 @@ More examples: `"never auto-commit"` · `"use bun instead of npm"` · `"always w
286
289
 
287
290
  <br>
288
291
 
292
+ ### Rule Enforcement
293
+
294
+ Rules aren't just suggestions — Synaptic enforces them at multiple levels:
295
+
296
+ **Hard enforcement** — A `commit-msg` git hook extracts forbidden patterns from your rules (quoted strings, negative directives like "never add X") and blocks commits that contain violations. The commit is rejected with a clear error showing which rule was broken.
297
+
298
+ **Soft enforcement** — The stop hook scans the conversation transcript for `git commit` tool calls and checks their messages against rules. Violations are saved as pinned issues.
299
+
300
+ **Violation surfacing** — At session start, recent violations are shown as warnings above the rules section. Claude sees what it got wrong recently and is reminded to be extra careful.
301
+
302
+ ```
303
+ ⚠ RECENT RULE VIOLATIONS — you broke these rules recently, be extra careful:
304
+ - Rule "no-co-author": commit message contained "Co-Authored-By" (today)
305
+ ```
306
+
307
+ <br>
308
+
289
309
  ### Memory Tiers
290
310
 
291
311
  Not everything lasts forever. Synaptic manages it for you:
@@ -310,6 +330,8 @@ Synaptic doesn't just store what Claude explicitly saves — it **captures what
310
330
 
311
331
  **Consolidation Engine** — Duplicate entries about the same topic are automatically merged during maintenance. The highest-access entry survives with merged tags; the rest are archived. Keeps your memory clean without losing information.
312
332
 
333
+ **Transcript Scanning** — On every Claude response, Synaptic incrementally scans the JSONL conversation transcript. User messages are classified for intent (declarations, preferences, frustrations) and assistant messages for insight categories (decisions, solutions, discoveries). Matching content is auto-saved as working-tier insights — no explicit `context_save` needed. Deduplication via vector similarity prevents redundant entries.
334
+
313
335
  **Handoff Access Bumps** — Entries important enough to appear in session handoffs get their access counts incremented, making them survive longer in the decay system. Important memories are self-reinforcing.
314
336
 
315
337
  <br>
@@ -333,8 +355,8 @@ Three hooks handle the lifecycle automatically:
333
355
  ```
334
356
  ┌─────────────────────────────────────────────────────┐
335
357
  │ │
336
- │ START ──→ Injects rules, predicted focus,
337
- recent context, last handoff
358
+ │ START ──→ Injects rules, violation warnings,
359
+ predicted focus, recent context
338
360
  │ │
339
361
  │ WORK ───→ Claude saves and searches context │
340
362
  │ Git watcher auto-indexes in background │
@@ -342,8 +364,8 @@ Three hooks handle the lifecycle automatically:
342
364
  │ COMPRESS → Preserves important context before │
343
365
  │ conversation is compressed │
344
366
  │ │
345
- │ END ────→ Saves handoff, detects corrections,
346
- auto-captures declarations/preferences
367
+ │ END ────→ Scans transcript, checks rule violations,
368
+ saves handoff, detects corrections
347
369
  │ │
348
370
  └─────────────────────────────────────────────────────┘
349
371
  ```
@@ -403,7 +425,7 @@ Interested in Synaptic for your team? **[Get in touch →](mailto:hyperlynq@gmai
403
425
 
404
426
  ```bash
405
427
  npm run build # Compile TypeScript
406
- npm run smoke-test # Build + run all 147 tests
428
+ npm run smoke-test # Build + run all 175 tests
407
429
  ```
408
430
 
409
431
  <br>
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Synaptic commit-msg hook.
4
+ * Called by .git/hooks/commit-msg with the commit message file path as $1.
5
+ *
6
+ * Reads the commit message, loads rules, extracts forbidden patterns from
7
+ * negative rules, and blocks commits that contain violations.
8
+ */
9
+ export {};
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Synaptic commit-msg hook.
4
+ * Called by .git/hooks/commit-msg with the commit message file path as $1.
5
+ *
6
+ * Reads the commit message, loads rules, extracts forbidden patterns from
7
+ * negative rules, and blocks commits that contain violations.
8
+ */
9
+ import { readFileSync } from "node:fs";
10
+ import { ContextIndex } from "../storage/sqlite.js";
11
+ import { ensureDirs } from "../storage/paths.js";
12
+ import { extractCheckPatterns, checkMessageAgainstPatterns } from "./rule-patterns.js";
13
+ async function main() {
14
+ const commitMsgFile = process.argv[2];
15
+ if (!commitMsgFile) {
16
+ // No file argument — don't block
17
+ process.exit(0);
18
+ }
19
+ let message;
20
+ try {
21
+ message = readFileSync(commitMsgFile, "utf-8");
22
+ }
23
+ catch {
24
+ // Can't read message file — don't block
25
+ process.exit(0);
26
+ }
27
+ let rules;
28
+ try {
29
+ ensureDirs();
30
+ const index = new ContextIndex();
31
+ try {
32
+ rules = index.listRules();
33
+ }
34
+ finally {
35
+ index.close();
36
+ }
37
+ }
38
+ catch {
39
+ // DB error — don't block
40
+ process.exit(0);
41
+ }
42
+ if (rules.length === 0) {
43
+ process.exit(0);
44
+ }
45
+ // Check each rule's patterns against the commit message
46
+ for (const rule of rules) {
47
+ const patterns = extractCheckPatterns(rule.content);
48
+ const violation = checkMessageAgainstPatterns(message, patterns);
49
+ if (violation) {
50
+ console.error(`\n[Synaptic] Commit blocked by rule "${rule.label}":`);
51
+ console.error(` Rule: ${rule.content}`);
52
+ console.error(` Found: "${violation}" in commit message`);
53
+ console.error("");
54
+ process.exit(1);
55
+ }
56
+ }
57
+ process.exit(0);
58
+ }
59
+ main().catch(() => {
60
+ // Unexpected error — don't block
61
+ process.exit(0);
62
+ });
63
+ //# sourceMappingURL=commit-msg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-msg.js","sourceRoot":"","sources":["../../../src/cli/commit-msg.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEvF,KAAK,UAAU,IAAI;IACjB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,iCAAiC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,UAAU,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,aAAa,SAAS,qBAAqB,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAChB,iCAAiC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -45,6 +45,7 @@ export async function initCommand(args) {
45
45
  setupHooks(env);
46
46
  if (!isGlobal) {
47
47
  setupGitHook(env);
48
+ setupCommitMsgHook(env);
48
49
  setupProjectDir();
49
50
  }
50
51
  console.log("\nDone.");
@@ -206,6 +207,33 @@ node --no-warnings ${preCommitPath}
206
207
  chmodSync(hookPath, 0o755);
207
208
  console.log(" [done] Git pre-commit hook installed.");
208
209
  }
210
+ function setupCommitMsgHook(env) {
211
+ const gitDir = join(process.cwd(), ".git");
212
+ if (!existsSync(gitDir)) {
213
+ console.log(" [skip] No .git/ directory found, skipping commit-msg hook.");
214
+ return;
215
+ }
216
+ const hooksDir = join(gitDir, "hooks");
217
+ const hookPath = join(hooksDir, "commit-msg");
218
+ if (existsSync(hookPath)) {
219
+ const existing = readFileSync(hookPath, "utf-8");
220
+ if (existing.includes("synaptic")) {
221
+ console.log(" [skip] Git commit-msg hook already contains synaptic.");
222
+ return;
223
+ }
224
+ console.log(" [skip] Existing commit-msg hook found (not synaptic), leaving untouched.");
225
+ return;
226
+ }
227
+ const commitMsgPath = join(env.buildDir, "src", "cli", "commit-msg.js");
228
+ const script = `#!/bin/sh
229
+ # synaptic commit-msg hook
230
+ node --no-warnings ${commitMsgPath} "$1"
231
+ `;
232
+ mkdirSync(hooksDir, { recursive: true });
233
+ writeFileSync(hookPath, script, "utf-8");
234
+ chmodSync(hookPath, 0o755);
235
+ console.log(" [done] Git commit-msg hook installed.");
236
+ }
209
237
  function setupProjectDir() {
210
238
  const dir = join(process.cwd(), ".synaptic");
211
239
  const configPath = join(dir, "config.json");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared utilities for rule enforcement.
3
+ * Used by commit-msg hook, stop hook, and smoke tests.
4
+ */
5
+ /**
6
+ * Extract check patterns from a rule's content.
7
+ * Looks for:
8
+ * 1. Quoted strings → extract as literal patterns
9
+ * 2. Negative rules ("never/don't/do not [verb] X") → extract the forbidden term
10
+ */
11
+ export declare function extractCheckPatterns(ruleContent: string): string[];
12
+ /**
13
+ * Check a message against extracted patterns (case-insensitive substring match).
14
+ * Returns the first matching pattern, or null if clean.
15
+ */
16
+ export declare function checkMessageAgainstPatterns(message: string, patterns: string[]): string | null;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Shared utilities for rule enforcement.
3
+ * Used by commit-msg hook, stop hook, and smoke tests.
4
+ */
5
+ /**
6
+ * Extract check patterns from a rule's content.
7
+ * Looks for:
8
+ * 1. Quoted strings → extract as literal patterns
9
+ * 2. Negative rules ("never/don't/do not [verb] X") → extract the forbidden term
10
+ */
11
+ export function extractCheckPatterns(ruleContent) {
12
+ const patterns = [];
13
+ // 1. Extract double-quoted strings
14
+ const doubleQuoted = ruleContent.matchAll(/"([^"]+)"/g);
15
+ for (const m of doubleQuoted) {
16
+ const inner = m[1].trim();
17
+ if (inner.length >= 2) {
18
+ patterns.push(inner);
19
+ }
20
+ }
21
+ // 2. Extract single-quoted strings (skip apostrophes in contractions like don't/can't)
22
+ const singleQuoted = ruleContent.matchAll(/(?:^|[\s(])'([^']+)'/g);
23
+ for (const m of singleQuoted) {
24
+ const inner = m[1].trim();
25
+ if (inner.length >= 2 && !patterns.some(p => p.toLowerCase() === inner.toLowerCase())) {
26
+ patterns.push(inner);
27
+ }
28
+ }
29
+ // 3. Extract forbidden terms from negative rules
30
+ // Matches: "never/don't/do not/must not/should not [verb] [term]"
31
+ const negativePattern = /\b(?:never|don't|do\s+not|must\s+not|should\s+not|cannot|can't)\s+(?:\w+\s+)?(.+)/gi;
32
+ let match;
33
+ while ((match = negativePattern.exec(ruleContent)) !== null) {
34
+ const rest = match[1].trim();
35
+ // Take the meaningful noun phrase — stop at sentence boundaries
36
+ const term = rest.replace(/[.!,;].*$/, "").trim();
37
+ if (term.length >= 2 && !patterns.some(p => p.toLowerCase() === term.toLowerCase())) {
38
+ patterns.push(term);
39
+ }
40
+ }
41
+ return patterns;
42
+ }
43
+ /**
44
+ * Check a message against extracted patterns (case-insensitive substring match).
45
+ * Returns the first matching pattern, or null if clean.
46
+ */
47
+ export function checkMessageAgainstPatterns(message, patterns) {
48
+ const lower = message.toLowerCase();
49
+ for (const pattern of patterns) {
50
+ if (lower.includes(pattern.toLowerCase())) {
51
+ return pattern;
52
+ }
53
+ }
54
+ return null;
55
+ }
56
+ //# sourceMappingURL=rule-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-patterns.js","sourceRoot":"","sources":["../../../src/cli/rule-patterns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,mCAAmC;IACnC,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACtF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,kEAAkE;IAClE,MAAM,eAAe,GAAG,qFAAqF,CAAC;IAC9G,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,gEAAgE;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,QAAkB;IAElB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -55,6 +55,20 @@ async function main() {
55
55
  }
56
56
  const lines = [];
57
57
  let charCount = 0;
58
+ // --- SECTION 0: Recent rule violations (always shown, never truncated) ---
59
+ const recentViolations = index.list({ days: 7 })
60
+ .filter(e => e.tags.includes("rule-violation") && !e.archived);
61
+ if (recentViolations.length > 0) {
62
+ lines.push("# ⚠ RECENT RULE VIOLATIONS — you broke these rules recently, be extra careful:");
63
+ for (const v of recentViolations.slice(0, 3)) {
64
+ const ruleTag = v.tags.find(t => t.startsWith("rule:"));
65
+ const ruleLabel = ruleTag ? ruleTag.replace("rule:", "") : "unknown";
66
+ const daysAgo = Math.floor((Date.now() - new Date(v.date).getTime()) / (1000 * 60 * 60 * 24));
67
+ const when = daysAgo === 0 ? "today" : `${daysAgo}d ago`;
68
+ lines.push(`- Rule "${ruleLabel}": ${v.content.split(".")[0]} (${when})`);
69
+ }
70
+ lines.push("");
71
+ }
58
72
  // --- SECTION 1: Rules (always full, never truncated) ---
59
73
  const rules = index.listRules();
60
74
  if (rules.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  /**
2
- * Stop hook: Saves debounced handoff notes when Claude finishes responding.
3
- * Only saves if 5+ minutes have passed since the last handoff note.
2
+ * Stop hook: Scans transcripts and saves debounced handoff notes.
3
+ *
4
+ * Flow: stdin → stop_hook_active? → create index/embedder → TRANSCRIPT SCAN → debounce? → handoff
5
+ *
6
+ * Transcript scanning runs on every response (no debounce).
7
+ * Handoff generation is debounced to 5-minute intervals.
4
8
  *
5
9
  * Receives JSON on stdin: { stop_hook_active: boolean, ... }
6
10
  */
@@ -1,6 +1,10 @@
1
1
  /**
2
- * Stop hook: Saves debounced handoff notes when Claude finishes responding.
3
- * Only saves if 5+ minutes have passed since the last handoff note.
2
+ * Stop hook: Scans transcripts and saves debounced handoff notes.
3
+ *
4
+ * Flow: stdin → stop_hook_active? → create index/embedder → TRANSCRIPT SCAN → debounce? → handoff
5
+ *
6
+ * Transcript scanning runs on every response (no debounce).
7
+ * Handoff generation is debounced to 5-minute intervals.
4
8
  *
5
9
  * Receives JSON on stdin: { stop_hook_active: boolean, ... }
6
10
  */
@@ -12,6 +16,8 @@ import { Embedder } from "../storage/embedder.js";
12
16
  import { ensureDirs, DB_DIR } from "../storage/paths.js";
13
17
  import { detectProject } from "../storage/project.js";
14
18
  import { getSessionId } from "../storage/session.js";
19
+ import { findCurrentTranscript, readCursor, writeCursor, readNewMessages, readToolUseActions, } from "../storage/transcript.js";
20
+ import { extractCheckPatterns, checkMessageAgainstPatterns } from "../cli/rule-patterns.js";
15
21
  const DEBOUNCE_FILE = join(DB_DIR, ".last-handoff");
16
22
  const DEBOUNCE_MS = 5 * 60 * 1000; // 5 minutes
17
23
  function shouldDebounce() {
@@ -28,6 +34,105 @@ function shouldDebounce() {
28
34
  function updateDebounceTimestamp() {
29
35
  writeFileSync(DEBOUNCE_FILE, Date.now().toString(), "utf-8");
30
36
  }
37
+ async function scanTranscript(index, embedder, enrichInsert) {
38
+ // 1. Find current transcript file
39
+ const transcriptFile = findCurrentTranscript();
40
+ if (!transcriptFile)
41
+ return;
42
+ // 2. Read cursor, compute offset (reset to 0 if file changed)
43
+ const cursor = readCursor();
44
+ const offset = (cursor && cursor.file === transcriptFile) ? cursor.offset : 0;
45
+ // 3. Read new messages (cap at 10 per scan)
46
+ const { messages, newOffset } = readNewMessages(transcriptFile, offset);
47
+ const capped = messages.slice(0, 10);
48
+ if (capped.length === 0) {
49
+ // Still update cursor to track position even if no qualifying messages
50
+ writeCursor({ file: transcriptFile, offset: newOffset });
51
+ return;
52
+ }
53
+ // Pre-load templates
54
+ const intentTemplates = await embedder.getIntentTemplates();
55
+ const categoryTemplates = await embedder.getCategoryTemplates();
56
+ for (const msg of capped) {
57
+ let matchResult = null;
58
+ if (msg.role === "user") {
59
+ // 4. Classify user messages with intent templates (threshold 0.3)
60
+ matchResult = await embedder.classifySentence(msg.text, intentTemplates, 0.3);
61
+ }
62
+ else {
63
+ // 5. Classify assistant text with category templates (threshold 0.7)
64
+ matchResult = await embedder.classifySentence(msg.text, categoryTemplates, 0.7);
65
+ }
66
+ if (!matchResult)
67
+ continue;
68
+ // 6. Deduplicate via searchVec — skip if L2 distance < 0.55 (≈ cosine 0.85)
69
+ const msgEmb = await embedder.embed(msg.text);
70
+ const similar = index.searchVec(msgEmb, 1);
71
+ if (similar.length > 0 && similar[0].distance < 0.55) {
72
+ continue; // too similar to existing entry
73
+ }
74
+ // 7. Save as insight with transcript-scan tags
75
+ const tags = [
76
+ "transcript-scan",
77
+ `source:${msg.role}`,
78
+ `intent:${matchResult.category}`,
79
+ ];
80
+ const entry = appendEntry(msg.text, "insight", tags);
81
+ entry.tier = "working";
82
+ const rowid = enrichInsert(entry);
83
+ index.insertVec(rowid, msgEmb);
84
+ }
85
+ // 8. Update cursor
86
+ writeCursor({ file: transcriptFile, offset: newOffset });
87
+ }
88
+ /**
89
+ * Check recent transcript for git commit tool calls that violate rules.
90
+ * Saves violations as pinned issue entries for session-start surfacing.
91
+ */
92
+ function checkRuleViolations(index, enrichInsert) {
93
+ const rules = index.listRules();
94
+ if (rules.length === 0)
95
+ return;
96
+ const transcriptFile = findCurrentTranscript();
97
+ if (!transcriptFile)
98
+ return;
99
+ const cursor = readCursor();
100
+ // Read from start of file to catch everything (violations are rare, cost is low)
101
+ const { actions } = readToolUseActions(transcriptFile, 0);
102
+ for (const action of actions) {
103
+ // Look for Bash tool calls containing git commit
104
+ if (action.tool !== "Bash")
105
+ continue;
106
+ const command = action.input.command ?? "";
107
+ if (!command.includes("git commit"))
108
+ continue;
109
+ // Extract the -m message
110
+ const msgMatch = command.match(/git\s+commit\s+.*?-m\s+(?:"([^"]*(?:\\.[^"]*)*)"|'([^']*)'|(\S+))/);
111
+ if (!msgMatch)
112
+ continue;
113
+ const commitMsg = msgMatch[1] ?? msgMatch[2] ?? msgMatch[3] ?? "";
114
+ // Also handle heredoc-style messages: -m "$(cat <<'EOF'\n...\nEOF\n)"
115
+ const heredocMatch = command.match(/cat\s+<<['"]?EOF['"]?\n([\s\S]*?)\nEOF/);
116
+ const fullMsg = heredocMatch ? heredocMatch[1] : commitMsg;
117
+ if (!fullMsg)
118
+ continue;
119
+ for (const rule of rules) {
120
+ const patterns = extractCheckPatterns(rule.content);
121
+ const violation = checkMessageAgainstPatterns(fullMsg, patterns);
122
+ if (violation) {
123
+ // Check if we already logged this violation recently (dedup)
124
+ const recent = index.list({ days: 1 })
125
+ .filter(e => e.tags.includes("rule-violation") && e.tags.includes(`rule:${rule.label}`));
126
+ if (recent.length > 0)
127
+ continue;
128
+ const entry = appendEntry(`Rule "${rule.label}" violated: commit message contained "${violation}". Rule: ${rule.content}`, "issue", ["rule-violation", `rule:${rule.label}`]);
129
+ entry.tier = "working";
130
+ entry.pinned = true;
131
+ enrichInsert(entry);
132
+ }
133
+ }
134
+ }
135
+ }
31
136
  async function main() {
32
137
  ensureDirs();
33
138
  let input = {};
@@ -48,10 +153,7 @@ async function main() {
48
153
  if (input.stop_hook_active) {
49
154
  return;
50
155
  }
51
- // Debounce: skip if a handoff was saved recently
52
- if (shouldDebounce()) {
53
- return;
54
- }
156
+ // Create index/embedder BEFORE debounce transcript scan needs them
55
157
  const index = new ContextIndex();
56
158
  const embedder = new Embedder();
57
159
  const enrichInsert = (entry) => {
@@ -63,6 +165,24 @@ async function main() {
63
165
  });
64
166
  };
65
167
  try {
168
+ // Transcript scan runs on EVERY response (no debounce)
169
+ try {
170
+ await scanTranscript(index, embedder, enrichInsert);
171
+ }
172
+ catch {
173
+ // Don't fail the hook if transcript scanning errors
174
+ }
175
+ // Rule violation detection (soft enforcement)
176
+ try {
177
+ checkRuleViolations(index, enrichInsert);
178
+ }
179
+ catch {
180
+ // Don't fail the hook if violation checking errors
181
+ }
182
+ // Debounce: skip handoff if one was saved recently
183
+ if (shouldDebounce()) {
184
+ return;
185
+ }
66
186
  // Check if there's been meaningful activity today
67
187
  const todayEntries = index.list({ days: 1 });
68
188
  if (todayEntries.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/hooks/stop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/hooks/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE5F,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAM/C,SAAS,cAAc;IACrB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB;IAC9B,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,KAAmB,EACnB,QAAkB,EAClB,YAA8E;IAE9E,kCAAkC;IAClC,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAC;IAC/C,IAAI,CAAC,cAAc;QAAE,OAAO;IAE5B,8DAA8D;IAC9D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,4CAA4C;IAC5C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,uEAAuE;QACvE,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC5D,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IAEhE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,WAAW,GAAoD,IAAI,CAAC;QAExE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,kEAAkE;YAClE,WAAW,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,WAAW,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,4EAA4E;QAC5E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;YACrD,SAAS,CAAC,gCAAgC;QAC5C,CAAC;QAED,+CAA+C;QAC/C,MAAM,IAAI,GAAG;YACX,iBAAiB;YACjB,UAAU,GAAG,CAAC,IAAI,EAAE;YACpB,UAAU,WAAW,CAAC,QAAQ,EAAE;SACjC,CAAC;QACF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACvB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,mBAAmB;IACnB,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,KAAmB,EACnB,YAA8E;IAE9E,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE/B,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAC;IAC/C,IAAI,CAAC,cAAc;QAAE,OAAO;IAE5B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,iFAAiF;IACjF,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAE1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,iDAAiD;QACjD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACrC,MAAM,OAAO,GAAI,MAAM,CAAC,KAAK,CAAC,OAAkB,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,SAAS;QAE9C,yBAAyB;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,sEAAsE;QACtE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3D,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,SAAS,EAAE,CAAC;gBACd,6DAA6D;gBAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;qBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,SAAS;gBAEhC,MAAM,KAAK,GAAG,WAAW,CACvB,SAAS,IAAI,CAAC,KAAK,yCAAyC,SAAS,YAAY,IAAI,CAAC,OAAO,EAAE,EAC/F,OAAO,EACP,CAAC,gBAAgB,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CACzC,CAAC;gBACF,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;gBACvB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,UAAU,EAAE,CAAC;IAEb,IAAI,KAAK,GAAc,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,yBAAyB;IACzB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,qEAAqE;IACrE,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAEhC,MAAM,YAAY,GAAG,CAAC,KAAoD,EAAU,EAAE;QACpF,OAAO,KAAK,CAAC,MAAM,CAAC;YAClB,GAAG,KAAK;YACR,OAAO,EAAE,aAAa,EAAE,IAAI,SAAS;YACrC,SAAS,EAAE,YAAY,EAAE;YACzB,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC;YACH,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;QAED,mDAAmD;QACnD,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,sCAAsC;QAChD,CAAC;QAED,gDAAgD;QAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,+EAA+E;QAC/E,MAAM,aAAa,GAAG,YAAY;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEf,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,gBAAgB;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,YAAY,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,MAAM,WAAW,UAAU,GAAG,CAAC,CAAC;QAE5E,mDAAmD;QACnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;oBAC1C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;oBACvC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpB,YAAY,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,MAAM,iBAAiB,GAAG,YAAY;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAE7G,iFAAiF;QACjF,IAAI,CAAC;YACH,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;gBAChE,MAAM,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;gBAC3C,MAAM,UAAU,GAAqE,EAAE,CAAC;gBAExF,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;oBACrF,IAAI,KAAK,EAAE,CAAC;wBACV,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAED,iCAAiC;gBACjC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpD,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClC,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;oBACjG,YAAY,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YAClE,MAAM,WAAW,GAAiD,EAAE,CAAC;YAErE,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC5E,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,uDAAuD;YACvD,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBACvF,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;wBACjC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACnD,yCAAyC;wBACzC,IAAI,GAAG,GAAG,CAAC,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACxC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACjC,CAAC;wBACD,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;4BACf,6CAA6C;4BAC7C,MAAM,aAAa,GAAG,WAAW,CAC/B,6BAA6B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAC7H,SAAS,EACT,CAAC,eAAe,EAAE,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,CAClD,CAAC;4BACF,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;4BAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;4BAClD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;4BAChE,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACrG,MAAM,YAAY,GAAG,WAAW,CAC9B,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,CAAC,cAAc,EAAE,kBAAkB,KAAK,EAAE,CAAC,CAC5C,CAAC;oBACF,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;oBAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;oBAC7C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/C,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAClC,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,yBAAyB,WAAW,CAAC,MAAM,kCAAkC,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;QAED,gFAAgF;QAChF,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAqE,EAAE,CAAC;YAE1F,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBACnF,IAAI,KAAK,EAAE,CAAC;oBACV,0EAA0E;oBAC1E,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;yBAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAE5D,IAAI,WAAW,GAAG,KAAK,CAAC;oBACxB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACrD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;wBAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACjD,IAAI,GAAG,GAAG,CAAC,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACjC,CAAC;wBACD,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;4BACf,WAAW,GAAG,IAAI,CAAC;4BACnB,MAAM;wBACR,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;YACjD,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC1E,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;gBAE3E,MAAM,YAAY,GAAG,WAAW,CAC9B,OAAO,CAAC,OAAO,EACf,IAAI,EACJ,CAAC,eAAe,EAAE,UAAU,OAAO,CAAC,QAAQ,EAAE,CAAC,CAChD,CAAC;gBACF,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;gBACzB,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;gBAChD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzD,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAE1C,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC,CAAC;gBAC/F,YAAY,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtD,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAElC,gEAAgE;QAChE,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,oDAAoD;QACpD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,uBAAuB,EAAE,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Transcript reading module for automatic context capture.
3
+ * Reads Claude Code JSONL transcript files incrementally.
4
+ * No embedder/database dependencies — pure file I/O.
5
+ */
6
+ export interface TranscriptMessage {
7
+ role: "user" | "assistant";
8
+ text: string;
9
+ }
10
+ interface CursorData {
11
+ file: string;
12
+ offset: number;
13
+ }
14
+ /**
15
+ * Convert a cwd path to a Claude project directory path.
16
+ * `/home/user/project` → `~/.claude/projects/-home-user-project/`
17
+ */
18
+ export declare function findClaudeProjectDir(cwd?: string): string | null;
19
+ /**
20
+ * Find the most recently modified .jsonl transcript in the project dir.
21
+ */
22
+ export declare function findCurrentTranscript(cwd?: string): string | null;
23
+ /**
24
+ * Read the cursor for incremental transcript scanning.
25
+ */
26
+ export declare function readCursor(): CursorData | null;
27
+ /**
28
+ * Write the cursor for incremental transcript scanning.
29
+ */
30
+ export declare function writeCursor(cursor: CursorData): void;
31
+ /**
32
+ * Extract plain text from message content.
33
+ * Handles string content and array content (text blocks only).
34
+ * Skips tool_use, tool_result, and thinking blocks.
35
+ */
36
+ export declare function extractTextContent(content: unknown): string | null;
37
+ export interface ToolUseAction {
38
+ tool: string;
39
+ input: Record<string, unknown>;
40
+ }
41
+ /**
42
+ * Read tool_use actions from a JSONL transcript file starting at a byte offset.
43
+ * Extracts tool_use blocks from assistant messages.
44
+ */
45
+ export declare function readToolUseActions(filePath: string, byteOffset: number): {
46
+ actions: ToolUseAction[];
47
+ newOffset: number;
48
+ };
49
+ /**
50
+ * Read new messages from a JSONL transcript file starting at a byte offset.
51
+ * Filters to user (string content only) and assistant (text blocks only).
52
+ * Skips messages < 20 chars.
53
+ */
54
+ export declare function readNewMessages(filePath: string, byteOffset: number): {
55
+ messages: TranscriptMessage[];
56
+ newOffset: number;
57
+ };
58
+ export {};
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Transcript reading module for automatic context capture.
3
+ * Reads Claude Code JSONL transcript files incrementally.
4
+ * No embedder/database dependencies — pure file I/O.
5
+ */
6
+ import { existsSync, readFileSync, writeFileSync, readdirSync, statSync } from "node:fs";
7
+ import { join, sep } from "node:path";
8
+ import { homedir } from "node:os";
9
+ import { DB_DIR } from "./paths.js";
10
+ const CURSOR_FILE = join(DB_DIR, ".transcript-cursor");
11
+ /**
12
+ * Convert a cwd path to a Claude project directory path.
13
+ * `/home/user/project` → `~/.claude/projects/-home-user-project/`
14
+ */
15
+ export function findClaudeProjectDir(cwd) {
16
+ const dir = cwd ?? process.cwd();
17
+ // Claude encodes the path by replacing separators with dashes
18
+ const encoded = dir.replace(/^\//, "").replaceAll(sep === "\\" ? /[\\/]/g : /\//g, "-");
19
+ const projectDir = join(homedir(), ".claude", "projects", `-${encoded}`);
20
+ if (existsSync(projectDir))
21
+ return projectDir;
22
+ return null;
23
+ }
24
+ /**
25
+ * Find the most recently modified .jsonl transcript in the project dir.
26
+ */
27
+ export function findCurrentTranscript(cwd) {
28
+ const projectDir = findClaudeProjectDir(cwd);
29
+ if (!projectDir)
30
+ return null;
31
+ let newest = null;
32
+ for (const file of readdirSync(projectDir)) {
33
+ if (!file.endsWith(".jsonl"))
34
+ continue;
35
+ const fullPath = join(projectDir, file);
36
+ try {
37
+ const st = statSync(fullPath);
38
+ if (!newest || st.mtimeMs > newest.mtime) {
39
+ newest = { path: fullPath, mtime: st.mtimeMs };
40
+ }
41
+ }
42
+ catch {
43
+ // skip unreadable files
44
+ }
45
+ }
46
+ return newest?.path ?? null;
47
+ }
48
+ /**
49
+ * Read the cursor for incremental transcript scanning.
50
+ */
51
+ export function readCursor() {
52
+ if (!existsSync(CURSOR_FILE))
53
+ return null;
54
+ try {
55
+ const raw = readFileSync(CURSOR_FILE, "utf-8").trim();
56
+ const data = JSON.parse(raw);
57
+ if (typeof data.file === "string" && typeof data.offset === "number") {
58
+ return data;
59
+ }
60
+ }
61
+ catch {
62
+ // corrupt cursor
63
+ }
64
+ return null;
65
+ }
66
+ /**
67
+ * Write the cursor for incremental transcript scanning.
68
+ */
69
+ export function writeCursor(cursor) {
70
+ writeFileSync(CURSOR_FILE, JSON.stringify(cursor), "utf-8");
71
+ }
72
+ /**
73
+ * Extract plain text from message content.
74
+ * Handles string content and array content (text blocks only).
75
+ * Skips tool_use, tool_result, and thinking blocks.
76
+ */
77
+ export function extractTextContent(content) {
78
+ if (typeof content === "string") {
79
+ return content.trim() || null;
80
+ }
81
+ if (Array.isArray(content)) {
82
+ const textParts = [];
83
+ for (const block of content) {
84
+ if (typeof block === "object" && block !== null) {
85
+ const b = block;
86
+ if (b.type === "text" && typeof b.text === "string") {
87
+ const trimmed = b.text.trim();
88
+ if (trimmed)
89
+ textParts.push(trimmed);
90
+ }
91
+ }
92
+ }
93
+ return textParts.length > 0 ? textParts.join("\n") : null;
94
+ }
95
+ return null;
96
+ }
97
+ /**
98
+ * Read tool_use actions from a JSONL transcript file starting at a byte offset.
99
+ * Extracts tool_use blocks from assistant messages.
100
+ */
101
+ export function readToolUseActions(filePath, byteOffset) {
102
+ const actions = [];
103
+ let buf;
104
+ try {
105
+ buf = readFileSync(filePath);
106
+ }
107
+ catch {
108
+ return { actions, newOffset: byteOffset };
109
+ }
110
+ if (byteOffset >= buf.length) {
111
+ return { actions, newOffset: buf.length };
112
+ }
113
+ const chunk = buf.subarray(byteOffset).toString("utf-8");
114
+ const lines = chunk.split("\n");
115
+ for (const line of lines) {
116
+ const trimmed = line.trim();
117
+ if (!trimmed)
118
+ continue;
119
+ let parsed;
120
+ try {
121
+ parsed = JSON.parse(trimmed);
122
+ }
123
+ catch {
124
+ continue;
125
+ }
126
+ if (parsed.type !== "assistant")
127
+ continue;
128
+ const message = parsed.message;
129
+ if (!message)
130
+ continue;
131
+ const content = message.content;
132
+ if (!Array.isArray(content))
133
+ continue;
134
+ for (const block of content) {
135
+ if (typeof block === "object" && block !== null) {
136
+ const b = block;
137
+ if (b.type === "tool_use" && typeof b.name === "string") {
138
+ actions.push({
139
+ tool: b.name,
140
+ input: b.input ?? {},
141
+ });
142
+ }
143
+ }
144
+ }
145
+ }
146
+ return { actions, newOffset: buf.length };
147
+ }
148
+ /**
149
+ * Read new messages from a JSONL transcript file starting at a byte offset.
150
+ * Filters to user (string content only) and assistant (text blocks only).
151
+ * Skips messages < 20 chars.
152
+ */
153
+ export function readNewMessages(filePath, byteOffset) {
154
+ const messages = [];
155
+ let buf;
156
+ try {
157
+ buf = readFileSync(filePath);
158
+ }
159
+ catch {
160
+ return { messages, newOffset: byteOffset };
161
+ }
162
+ if (byteOffset >= buf.length) {
163
+ return { messages, newOffset: buf.length };
164
+ }
165
+ const chunk = buf.subarray(byteOffset).toString("utf-8");
166
+ const lines = chunk.split("\n");
167
+ for (const line of lines) {
168
+ const trimmed = line.trim();
169
+ if (!trimmed)
170
+ continue;
171
+ let parsed;
172
+ try {
173
+ parsed = JSON.parse(trimmed);
174
+ }
175
+ catch {
176
+ continue;
177
+ }
178
+ const msgType = parsed.type;
179
+ if (msgType === "user") {
180
+ const message = parsed.message;
181
+ if (!message)
182
+ continue;
183
+ const content = message.content;
184
+ // Only string content for user messages (skip tool_result arrays)
185
+ if (typeof content !== "string")
186
+ continue;
187
+ const text = content.trim();
188
+ if (text.length < 20)
189
+ continue;
190
+ messages.push({ role: "user", text });
191
+ }
192
+ else if (msgType === "assistant") {
193
+ const message = parsed.message;
194
+ if (!message)
195
+ continue;
196
+ const content = message.content;
197
+ // Extract text blocks only (skip tool_use, thinking)
198
+ const text = extractTextContent(content);
199
+ if (!text || text.length < 20)
200
+ continue;
201
+ messages.push({ role: "assistant", text });
202
+ }
203
+ }
204
+ return { messages, newOffset: buf.length };
205
+ }
206
+ //# sourceMappingURL=transcript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../../src/storage/transcript.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperlynq/synaptic",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "description": "Persistent local memory for Claude Code — cross-session context recall, semantic search, zero cloud",
5
5
  "type": "module",
6
6
  "main": "build/src/index.js",