somtum 3.1.0 → 3.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.
Files changed (95) hide show
  1. package/README.md +31 -3
  2. package/dist/cli/backfill.d.ts +23 -0
  3. package/dist/cli/backfill.d.ts.map +1 -0
  4. package/dist/cli/backfill.js +134 -0
  5. package/dist/cli/backfill.js.map +1 -0
  6. package/dist/cli/doctor.d.ts.map +1 -1
  7. package/dist/cli/doctor.js +16 -11
  8. package/dist/cli/doctor.js.map +1 -1
  9. package/dist/cli/first_session_check.js +4 -4
  10. package/dist/cli/first_session_check.js.map +1 -1
  11. package/dist/cli/forget.d.ts +10 -0
  12. package/dist/cli/forget.d.ts.map +1 -1
  13. package/dist/cli/forget.js +30 -0
  14. package/dist/cli/forget.js.map +1 -1
  15. package/dist/cli/import.d.ts.map +1 -1
  16. package/dist/cli/import.js +21 -4
  17. package/dist/cli/import.js.map +1 -1
  18. package/dist/cli/index.js +24 -3
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/cli/list.d.ts.map +1 -1
  21. package/dist/cli/list.js +4 -2
  22. package/dist/cli/list.js.map +1 -1
  23. package/dist/cli/search.d.ts.map +1 -1
  24. package/dist/cli/search.js +3 -0
  25. package/dist/cli/search.js.map +1 -1
  26. package/dist/cli/stats.d.ts.map +1 -1
  27. package/dist/cli/stats.js +4 -3
  28. package/dist/cli/stats.js.map +1 -1
  29. package/dist/config.d.ts +1 -0
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +6 -1
  32. package/dist/config.js.map +1 -1
  33. package/dist/core/dedup.d.ts +5 -9
  34. package/dist/core/dedup.d.ts.map +1 -1
  35. package/dist/core/dedup.js +19 -8
  36. package/dist/core/dedup.js.map +1 -1
  37. package/dist/core/embeddings_xenova.d.ts +3 -0
  38. package/dist/core/embeddings_xenova.d.ts.map +1 -1
  39. package/dist/core/embeddings_xenova.js +18 -2
  40. package/dist/core/embeddings_xenova.js.map +1 -1
  41. package/dist/core/extractor.d.ts +1 -0
  42. package/dist/core/extractor.d.ts.map +1 -1
  43. package/dist/core/extractor.js +11 -1
  44. package/dist/core/extractor.js.map +1 -1
  45. package/dist/core/git_context.d.ts +20 -0
  46. package/dist/core/git_context.d.ts.map +1 -0
  47. package/dist/core/git_context.js +108 -0
  48. package/dist/core/git_context.js.map +1 -0
  49. package/dist/core/recall_filter.d.ts +9 -0
  50. package/dist/core/recall_filter.d.ts.map +1 -0
  51. package/dist/core/recall_filter.js +30 -0
  52. package/dist/core/recall_filter.js.map +1 -0
  53. package/dist/core/retriever/bm25.d.ts +2 -0
  54. package/dist/core/retriever/bm25.d.ts.map +1 -1
  55. package/dist/core/retriever/bm25.js +32 -7
  56. package/dist/core/retriever/bm25.js.map +1 -1
  57. package/dist/core/retriever/factory.d.ts.map +1 -1
  58. package/dist/core/retriever/factory.js +10 -6
  59. package/dist/core/retriever/factory.js.map +1 -1
  60. package/dist/core/schema.d.ts +129 -456
  61. package/dist/core/schema.d.ts.map +1 -1
  62. package/dist/core/schema.js +20 -11
  63. package/dist/core/schema.js.map +1 -1
  64. package/dist/core/session_discovery.d.ts +12 -0
  65. package/dist/core/session_discovery.d.ts.map +1 -0
  66. package/dist/core/session_discovery.js +111 -0
  67. package/dist/core/session_discovery.js.map +1 -0
  68. package/dist/core/store.d.ts.map +1 -1
  69. package/dist/core/store.js +6 -3
  70. package/dist/core/store.js.map +1 -1
  71. package/dist/db/migrations/007_git_branch.sql +15 -0
  72. package/dist/hooks/post_session.d.ts +19 -30
  73. package/dist/hooks/post_session.d.ts.map +1 -1
  74. package/dist/hooks/post_session.js +51 -24
  75. package/dist/hooks/post_session.js.map +1 -1
  76. package/dist/hooks/pre_prompt.d.ts +2 -30
  77. package/dist/hooks/pre_prompt.d.ts.map +1 -1
  78. package/dist/hooks/pre_prompt.js +40 -13
  79. package/dist/hooks/pre_prompt.js.map +1 -1
  80. package/dist/hooks/pre_read.d.ts +2 -36
  81. package/dist/hooks/pre_read.d.ts.map +1 -1
  82. package/dist/hooks/pre_read.js +1 -1
  83. package/dist/hooks/pre_read.js.map +1 -1
  84. package/dist/mcp/server.d.ts.map +1 -1
  85. package/dist/mcp/server.js +3 -2
  86. package/dist/mcp/server.js.map +1 -1
  87. package/dist/mcp/tools.d.ts +34 -67
  88. package/dist/mcp/tools.d.ts.map +1 -1
  89. package/dist/mcp/tools.js +14 -2
  90. package/dist/mcp/tools.js.map +1 -1
  91. package/dist/version.d.ts +2 -0
  92. package/dist/version.d.ts.map +1 -0
  93. package/dist/version.js +6 -0
  94. package/dist/version.js.map +1 -0
  95. package/package.json +13 -5
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,mFAO1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,gBAAgB,+CAA6C,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAMrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB,sDAAoD,CAAC;AACnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4FvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;EAO1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,gBAAgB;;;;EAA6C,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoB5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;iBAe3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;;;;iBAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;iBAMrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;iBAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;EAAoD,CAAC;AACnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+FvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -25,6 +25,9 @@ export const ObservationSchema = z.object({
25
25
  deleted_at: z.number().int().nullable(),
26
26
  scope: ObservationScope.default('project'),
27
27
  last_confirmed_at: z.number().int().nullable(),
28
+ git_branch: z.string().nullable().default(null),
29
+ git_commit: z.string().nullable().default(null),
30
+ git_before_first_commit: z.boolean().default(false),
28
31
  });
29
32
  export const ObservationInputSchema = z.object({
30
33
  id: z.string().min(1).optional(),
@@ -39,6 +42,9 @@ export const ObservationInputSchema = z.object({
39
42
  tokens_saved: z.number().int().nonnegative().default(0),
40
43
  tokens_spent: z.number().int().nonnegative().default(0),
41
44
  scope: ObservationScope.default('project'),
45
+ git_branch: z.string().nullable().optional(),
46
+ git_commit: z.string().nullable().optional(),
47
+ git_before_first_commit: z.boolean().optional(),
42
48
  });
43
49
  export const ObservationUpdateSchema = z.object({
44
50
  title: z.string().min(1).max(80).optional(),
@@ -105,7 +111,7 @@ export const ConfigSchema = z.object({
105
111
  // smaller than this. The turns are kept and sent with the next extraction.
106
112
  min_new_tokens: z.number().int().nonnegative().default(500),
107
113
  })
108
- .default({}),
114
+ .prefault({}),
109
115
  cache: z
110
116
  .object({
111
117
  enabled: z.boolean().default(true),
@@ -114,27 +120,27 @@ export const ConfigSchema = z.object({
114
120
  max_entries: z.number().int().positive().default(10_000),
115
121
  ttl_days: z.number().int().positive().default(90),
116
122
  })
117
- .default({}),
123
+ .prefault({}),
118
124
  retrieval: z
119
125
  .object({
120
126
  strategy: RetrievalStrategy.default('bm25'),
121
127
  k: z.number().int().positive().default(8),
122
128
  rerank_model: z.string().default('claude-haiku-4-5-20251001'),
123
- bm25: z.object({ enabled: z.boolean().default(true) }).default({}),
129
+ bm25: z.object({ enabled: z.boolean().default(true) }).prefault({}),
124
130
  embeddings: z
125
131
  .object({
126
132
  enabled: z.boolean().default(false),
127
133
  model: z.string().default('Xenova/bge-small-en-v1.5'),
128
134
  })
129
- .default({}),
135
+ .prefault({}),
130
136
  index: z
131
137
  .object({
132
138
  enabled: z.boolean().default(false),
133
139
  model: z.string().default('claude-haiku-4-5-20251001'),
134
140
  })
135
- .default({}),
141
+ .prefault({}),
136
142
  })
137
- .default({}),
143
+ .prefault({}),
138
144
  file_gating: z
139
145
  .object({
140
146
  // Opt-in: summaries cost extraction tokens and only pay off when the
@@ -143,7 +149,7 @@ export const ConfigSchema = z.object({
143
149
  min_file_size_tokens: z.number().int().positive().default(300),
144
150
  exclude_globs: z.array(z.string()).default(['**/*.env', '**/secrets/**']),
145
151
  })
146
- .default({}),
152
+ .prefault({}),
147
153
  privacy: z
148
154
  .object({
149
155
  telemetry: z.boolean().default(false),
@@ -157,14 +163,14 @@ export const ConfigSchema = z.object({
157
163
  'AKIA[0-9A-Z]{16}',
158
164
  ]),
159
165
  })
160
- .default({}),
166
+ .prefault({}),
161
167
  sync: z
162
168
  .object({
163
169
  enabled: z.boolean().default(false),
164
170
  backend: z.string().default('ssh'),
165
171
  remote: z.string().nullable().default(null),
166
172
  })
167
- .default({}),
173
+ .prefault({}),
168
174
  injection: z
169
175
  .object({
170
176
  enabled: z.boolean().default(true),
@@ -172,15 +178,18 @@ export const ConfigSchema = z.object({
172
178
  max_chars: z.number().int().positive().default(1500),
173
179
  // Minimum BM25 relevance score to inject a memory (0 = inject all results).
174
180
  min_relevance_score: z.number().min(0).default(0),
181
+ // Distinct prompt words a memory must contain to be injected, once the
182
+ // prompt has at least 3 content words (shorter prompts need 1).
183
+ min_matched_terms: z.number().int().positive().default(2),
175
184
  // Prepend a one-line token budget summary to every injection.
176
185
  show_budget: z.boolean().default(true),
177
186
  })
178
- .default({}),
187
+ .prefault({}),
179
188
  diagnostics: z
180
189
  .object({
181
190
  // Set false to suppress the auto-doctor check after a zero-memory first session.
182
191
  first_session_check: z.boolean().default(true),
183
192
  })
184
- .default({}),
193
+ .prefault({}),
185
194
  });
186
195
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { AgentId } from '../agents/types.js';
2
+ export interface PastSession {
3
+ agent: AgentId;
4
+ path: string;
5
+ sessionId: string;
6
+ mtime: number;
7
+ bytes: number;
8
+ branch: string | null;
9
+ commit: string | null;
10
+ }
11
+ export declare function findPastSessions(cwd: string, agents: readonly AgentId[]): PastSession[];
12
+ //# sourceMappingURL=session_discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_discovery.d.ts","sourceRoot":"","sources":["../../src/core/session_discovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAoGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,WAAW,EAAE,CAMvF"}
@@ -0,0 +1,111 @@
1
+ import { closeSync, existsSync, openSync, readSync, readdirSync, statSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ function readSlice(path, from, bytes) {
5
+ const fd = openSync(path, 'r');
6
+ try {
7
+ const size = statSync(path).size;
8
+ const length = Math.min(bytes, size);
9
+ const buf = Buffer.alloc(length);
10
+ readSync(fd, buf, 0, length, from === 'start' ? 0 : size - length);
11
+ return buf.toString('utf8');
12
+ }
13
+ finally {
14
+ closeSync(fd);
15
+ }
16
+ }
17
+ // Claude Code names a project's transcript folder after its path with every
18
+ // non-alphanumeric character replaced by "-". Worktrees of the project live
19
+ // under <project>/.claude/worktrees/<name>, which becomes "<slug>--claude-worktrees-<name>".
20
+ function claudeSessions(cwd) {
21
+ const root = join(process.env['CLAUDE_CONFIG_DIR'] ?? join(homedir(), '.claude'), 'projects');
22
+ if (!existsSync(root))
23
+ return [];
24
+ const slug = cwd.replace(/[^A-Za-z0-9]/g, '-');
25
+ const out = [];
26
+ for (const dir of readdirSync(root)) {
27
+ if (dir !== slug && !dir.startsWith(`${slug}--claude-worktrees-`))
28
+ continue;
29
+ for (const file of readdirSync(join(root, dir))) {
30
+ if (!file.endsWith('.jsonl'))
31
+ continue;
32
+ const path = join(root, dir, file);
33
+ const st = statSync(path);
34
+ if (!st.isFile())
35
+ continue;
36
+ // The branch can change mid-session; the one it ended on is the one
37
+ // the extracted decisions describe.
38
+ let branch = null;
39
+ for (const line of readSlice(path, 'end', 64 * 1024)
40
+ .split('\n')
41
+ .reverse()) {
42
+ const m = /"gitBranch":"([^"]*)"/.exec(line);
43
+ if (m) {
44
+ // "HEAD" means detached: no branch to attribute the session to.
45
+ branch = m[1] && m[1] !== 'HEAD' ? m[1] : null;
46
+ break;
47
+ }
48
+ }
49
+ out.push({
50
+ agent: 'claude-code',
51
+ path,
52
+ sessionId: file.slice(0, -'.jsonl'.length),
53
+ mtime: st.mtimeMs,
54
+ bytes: st.size,
55
+ branch,
56
+ commit: null,
57
+ });
58
+ }
59
+ }
60
+ return out;
61
+ }
62
+ function codexSessions(cwd) {
63
+ const root = join(process.env['CODEX_HOME'] ?? join(homedir(), '.codex'), 'sessions');
64
+ if (!existsSync(root))
65
+ return [];
66
+ const out = [];
67
+ const walk = (dir) => {
68
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
69
+ const path = join(dir, entry.name);
70
+ if (entry.isDirectory()) {
71
+ walk(path);
72
+ continue;
73
+ }
74
+ if (!entry.name.endsWith('.jsonl'))
75
+ continue;
76
+ let meta;
77
+ try {
78
+ meta = JSON.parse(readSlice(path, 'start', 64 * 1024).split('\n')[0] ?? '');
79
+ }
80
+ catch {
81
+ continue;
82
+ }
83
+ const p = meta.payload;
84
+ if (meta.type !== 'session_meta' || !p?.id || !p.cwd)
85
+ continue;
86
+ if (p.cwd !== cwd && !p.cwd.startsWith(`${cwd}/`))
87
+ continue;
88
+ const st = statSync(path);
89
+ out.push({
90
+ agent: 'codex',
91
+ path,
92
+ sessionId: p.id,
93
+ mtime: st.mtimeMs,
94
+ bytes: st.size,
95
+ branch: p.git?.branch ?? null,
96
+ commit: p.git?.commit_hash ?? null,
97
+ });
98
+ }
99
+ };
100
+ walk(root);
101
+ return out;
102
+ }
103
+ // Past Claude Code and Codex sessions for this project, newest first.
104
+ export function findPastSessions(cwd, agents) {
105
+ const found = [
106
+ ...(agents.includes('claude-code') ? claudeSessions(cwd) : []),
107
+ ...(agents.includes('codex') ? codexSessions(cwd) : []),
108
+ ];
109
+ return found.sort((a, b) => b.mtime - a.mtime);
110
+ }
111
+ //# sourceMappingURL=session_discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_discovery.js","sourceRoot":"","sources":["../../src/core/session_discovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AA4CrB,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAEnC,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW;IAwCzE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW,GAAG,IAAI;IA0B7F,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI;IAO5D,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC5B,WAAW,EAAE;IAahB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAa5D,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,SAAK,GAAG,WAAW,EAAE;IAW/D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAOnC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMtD,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GACtF,WAAW,EAAE;IAYhB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAO/B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAUzC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIjD,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAa,GAAG,WAAW,EAAE;IAW7E,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IAU1E,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC;IAoB/D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAU3C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAY3C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAWrD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,WAAW,EAAE;IAa1E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,SAAK,GAAG,WAAW,EAAE;IAa/E,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,GACT;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;CAwBpD"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAkDrB,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAEnC,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW;IA2CzE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW,GAAG,IAAI;IA0B7F,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI;IAO5D,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC5B,WAAW,EAAE;IAahB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAa5D,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,SAAK,GAAG,WAAW,EAAE;IAW/D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAOnC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMtD,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GACtF,WAAW,EAAE;IAYhB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAO/B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAUzC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIjD,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAa,GAAG,WAAW,EAAE;IAW7E,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IAU1E,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC;IAoB/D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAU3C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAY3C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAWrD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,WAAW,EAAE;IAa1E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,SAAK,GAAG,WAAW,EAAE;IAa/E,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,GACT;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;CAwBpD"}
@@ -19,6 +19,9 @@ function rowToObservation(row) {
19
19
  deleted_at: row.deleted_at,
20
20
  scope: row.scope ?? 'project',
21
21
  last_confirmed_at: row.last_confirmed_at ?? null,
22
+ git_branch: row.git_branch ?? null,
23
+ git_commit: row.git_commit ?? null,
24
+ git_before_first_commit: row.git_before_first_commit === 1,
22
25
  });
23
26
  }
24
27
  export class MemoryStore {
@@ -39,9 +42,9 @@ export class MemoryStore {
39
42
  .prepare(`INSERT INTO observations
40
43
  (id, project_id, session_id, kind, title, body, files, tags,
41
44
  created_at, tokens_saved, tokens_spent, superseded_by, embedding, deleted_at,
42
- scope, last_confirmed_at)
43
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, NULL, ?, NULL)`)
44
- .run(id, parsed.project_id, parsed.session_id, parsed.kind, title, body, JSON.stringify(parsed.files), JSON.stringify(parsed.tags), created_at, parsed.tokens_saved, parsed.tokens_spent, scope);
45
+ scope, last_confirmed_at, git_branch, git_commit, git_before_first_commit)
46
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, NULL, ?, NULL, ?, ?, ?)`)
47
+ .run(id, parsed.project_id, parsed.session_id, parsed.kind, title, body, JSON.stringify(parsed.files), JSON.stringify(parsed.tags), created_at, parsed.tokens_saved, parsed.tokens_spent, scope, parsed.git_branch ?? null, parsed.git_commit ?? null, parsed.git_before_first_commit ? 1 : 0);
45
48
  });
46
49
  txn.immediate();
47
50
  return this.get(id);
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ -- 007_git_branch.sql
2
+ -- The branch and commit a memory was captured on. Memories from another
3
+ -- branch that still exists and is not merged into the current one are not
4
+ -- recalled, so parallel branches can't feed each other conflicting decisions.
5
+ -- NULL for memories captured before 3.2 or outside a git repository: those
6
+ -- stay visible everywhere.
7
+
8
+ ALTER TABLE observations ADD COLUMN git_branch TEXT;
9
+ ALTER TABLE observations ADD COLUMN git_commit TEXT;
10
+ -- 1 when the branch had no commits of its own yet. Git then sees the branch as
11
+ -- already merged into its base, so ancestry can't tell an untouched experiment
12
+ -- from finished work; such memories stay with their branch until it's deleted.
13
+ ALTER TABLE observations ADD COLUMN git_before_first_commit INTEGER NOT NULL DEFAULT 0;
14
+
15
+ CREATE INDEX IF NOT EXISTS idx_observations_branch ON observations(project_id, git_branch);
@@ -1,46 +1,34 @@
1
1
  import { z } from 'zod';
2
2
  import { type DB } from '../core/db.js';
3
3
  import { type LlmCaller } from '../core/extractor.js';
4
+ import { type GitCapture } from '../core/git_context.js';
4
5
  import type { Config } from '../core/schema.js';
5
- export declare const HookPayloadSchema: z.ZodEffects<z.ZodObject<{
6
+ import { parseTranscript } from '../core/transcript.js';
7
+ export declare const HookPayloadSchema: z.ZodObject<{
6
8
  session_id: z.ZodOptional<z.ZodString>;
7
9
  cwd: z.ZodOptional<z.ZodString>;
8
10
  project_id: z.ZodOptional<z.ZodString>;
9
11
  transcript: z.ZodOptional<z.ZodString>;
10
12
  transcript_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
13
  hook_event_name: z.ZodOptional<z.ZodString>;
12
- }, "strip", z.ZodTypeAny, {
13
- project_id?: string | undefined;
14
- session_id?: string | undefined;
15
- cwd?: string | undefined;
16
- transcript?: string | undefined;
17
- transcript_path?: string | null | undefined;
18
- hook_event_name?: string | undefined;
19
- }, {
20
- project_id?: string | undefined;
21
- session_id?: string | undefined;
22
- cwd?: string | undefined;
23
- transcript?: string | undefined;
24
- transcript_path?: string | null | undefined;
25
- hook_event_name?: string | undefined;
26
- }>, {
27
- project_id?: string | undefined;
28
- session_id?: string | undefined;
29
- cwd?: string | undefined;
30
- transcript?: string | undefined;
31
- transcript_path?: string | null | undefined;
32
- hook_event_name?: string | undefined;
33
- }, {
34
- project_id?: string | undefined;
35
- session_id?: string | undefined;
36
- cwd?: string | undefined;
37
- transcript?: string | undefined;
38
- transcript_path?: string | null | undefined;
39
- hook_event_name?: string | undefined;
40
- }>;
14
+ }, z.core.$strip>;
41
15
  export type HookPayload = z.infer<typeof HookPayloadSchema>;
42
16
  export declare function readToEnd(stream: NodeJS.ReadableStream): Promise<string>;
17
+ interface ResolvedTranscript {
18
+ text: string;
19
+ turns: ReturnType<typeof parseTranscript>;
20
+ }
21
+ export interface ExtractionPlan {
22
+ transcript: string;
23
+ tokens: number;
24
+ resumeAt: number;
25
+ truncatedFrom: number | null;
26
+ }
27
+ export declare function planExtraction(db: DB, sessionId: string, resolved: ResolvedTranscript): ExtractionPlan;
28
+ export declare function readTranscript(raw: string): ResolvedTranscript;
43
29
  export interface RunOptions {
30
+ git?: GitCapture;
31
+ capturedAt?: number;
44
32
  cwd?: string;
45
33
  config?: Config;
46
34
  caller?: LlmCaller;
@@ -64,4 +52,5 @@ export interface RunResult {
64
52
  }
65
53
  export declare function runPostSession(payload: HookPayload, opts?: RunOptions): Promise<RunResult>;
66
54
  export declare function main(): Promise<void>;
55
+ export {};
67
56
  //# sourceMappingURL=post_session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post_session.d.ts","sourceRoot":"","sources":["../../src/hooks/post_session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAU,KAAK,EAAE,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMhD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa1B,CAAC;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ9E;AAuLD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,EAAE,CAAC,EAAE,EAAE,CAAC;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,SAAS,CAAC,CAyLpB;AAwCD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA+B1C"}
1
+ {"version":3,"file":"post_session.d.ts","sourceRoot":"","sources":["../../src/hooks/post_session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAU,KAAK,EAAE,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAWpF,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAA8B,eAAe,EAAe,MAAM,uBAAuB,CAAC;AAEjG,eAAO,MAAM,iBAAiB;;;;;;;iBAa1B,CAAC;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ9E;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CAC3C;AAqLD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAKD,wBAAgB,cAAc,CAC5B,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,GAC3B,cAAc,CAmBhB;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAG9D;AAED,MAAM,WAAW,UAAU;IAGzB,GAAG,CAAC,EAAE,UAAU,CAAC;IAGjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,EAAE,CAAC,EAAE,EAAE,CAAC;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,SAAS,CAAC,CAoLpB;AAwCD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA+B1C"}
@@ -14,6 +14,8 @@ import { FileFingerprintStore, matchesAnyGlob, statFile, summarizeFile, summaryH
14
14
  import { fingerprintFiles } from '../core/fingerprint.js';
15
15
  import { generateIndex } from '../core/index_gen.js';
16
16
  import { TokenLedger } from '../core/ledger.js';
17
+ import { captureGit } from '../core/git_context.js';
18
+ import { scopeToBranch, newestOfDuplicates } from '../core/recall_filter.js';
17
19
  import { callerFor, NO_BACKEND_MESSAGE, pickBackend } from '../core/llm_backend.js';
18
20
  import { memoriesDir, writeMemoryMarkdown } from '../core/memory_files.js';
19
21
  import { projectNameFromCwd, resolveProjectId } from '../core/project_id.js';
@@ -54,10 +56,7 @@ function resolveTranscript(payload) {
54
56
  throw new Error(`No transcript found for session ${payload.session_id ?? '?'}`);
55
57
  raw = readFileSync(path, 'utf8');
56
58
  }
57
- const turns = parseTranscript(raw);
58
- // If the parser found structured turns, render them compactly for the extractor.
59
- // Otherwise fall back to the raw string (plain-text transcript fixtures etc.).
60
- return { text: turns.length > 0 ? renderTurns(turns) : raw, turns };
59
+ return readTranscript(raw);
61
60
  }
62
61
  function populateCache(db, turns, opts) {
63
62
  const cache = new PromptCache(db);
@@ -157,18 +156,19 @@ async function populateFileSummaries(db, turns, opts) {
157
156
  }
158
157
  // Write top-k memories to a warm-start file after PreCompact so the next
159
158
  // UserPromptSubmit can restore context into the fresh post-compaction session.
160
- function writeWarmStart(db, projectId, k = 8) {
159
+ function writeWarmStart(db, projectId, cwd, k = 8) {
161
160
  try {
162
161
  const retriever = new Bm25Retriever(db);
163
162
  // Use a broad "recent" query — we want the most useful memories overall, not
164
163
  // query-specific ones, because we don't know what comes next.
165
164
  const results = retriever.search('recent decisions learnings bugs commands', {
166
- k,
165
+ k: k * 2,
167
166
  projectId,
168
167
  });
169
168
  // retriever.search is async but Bm25Retriever is synchronous under the hood;
170
169
  // we await-via-then to stay non-blocking.
171
- void Promise.resolve(results).then((hits) => {
170
+ void Promise.resolve(results).then((found) => {
171
+ const hits = newestOfDuplicates(scopeToBranch(found, cwd)).slice(0, k);
172
172
  if (hits.length === 0)
173
173
  return;
174
174
  const lines = hits
@@ -187,6 +187,36 @@ function writeWarmStart(db, projectId, k = 8) {
187
187
  // Non-fatal: warm-start is a best-effort enhancement.
188
188
  }
189
189
  }
190
+ // Cap transcript size to stay within model context limits.
191
+ // At ~4 chars/token, 60k tokens ≈ 240 KB of text. Anything beyond that
192
+ // risks a context-limit error in Haiku; we take the tail (most recent turns).
193
+ const MAX_TRANSCRIPT_TOKENS = 60_000;
194
+ // What an extraction of this session would send right now: only the turns not
195
+ // yet extracted, capped to the most recent MAX_TRANSCRIPT_TOKENS. Shared with
196
+ // `somtum backfill` so its cost preview matches what is actually sent.
197
+ export function planExtraction(db, sessionId, resolved) {
198
+ const resumeAt = new SessionProgressStore(db).resumeIndex(sessionId, resolved.turns);
199
+ const pendingText = resolved.turns.length > 0 ? renderTurns(resolved.turns.slice(resumeAt)) : resolved.text;
200
+ const pendingTokens = countTokens(pendingText);
201
+ if (pendingTokens <= MAX_TRANSCRIPT_TOKENS) {
202
+ return { transcript: pendingText, tokens: pendingTokens, resumeAt, truncatedFrom: null };
203
+ }
204
+ // Characters per token varies with content (code is denser than prose), so
205
+ // shrink from the estimate until the measured count is under the cap.
206
+ let transcript = pendingText.slice(-MAX_TRANSCRIPT_TOKENS * 4);
207
+ let tokens = countTokens(transcript);
208
+ while (tokens > MAX_TRANSCRIPT_TOKENS) {
209
+ transcript = transcript.slice(-Math.floor(transcript.length * (MAX_TRANSCRIPT_TOKENS / tokens) * 0.98));
210
+ tokens = countTokens(transcript);
211
+ }
212
+ return { transcript, tokens, resumeAt, truncatedFrom: pendingText.length };
213
+ }
214
+ // If the parser found structured turns, render them compactly for the extractor.
215
+ // Otherwise fall back to the raw string (plain-text transcript fixtures etc.).
216
+ export function readTranscript(raw) {
217
+ const turns = parseTranscript(raw);
218
+ return { text: turns.length > 0 ? renderTurns(turns) : raw, turns };
219
+ }
190
220
  export async function runPostSession(payload, opts = {}) {
191
221
  const startedAt = Date.now();
192
222
  const parsed = HookPayloadSchema.parse(payload);
@@ -208,21 +238,11 @@ export async function runPostSession(payload, opts = {}) {
208
238
  const progress = new SessionProgressStore(db);
209
239
  // Only the turns not yet extracted for this session are sent: a session
210
240
  // that compacts and then ends is extracted once, not twice.
211
- const resumeAt = progress.resumeIndex(sessionId, resolved.turns);
212
- const pending = resolved.turns.slice(resumeAt);
213
- const pendingText = resolved.turns.length > 0 ? renderTurns(pending) : resolved.text;
214
- // Cap transcript size to stay within model context limits.
215
- // At ~4 chars/token, 60k tokens ≈ 240 KB of text. Anything beyond that
216
- // risks a context-limit error in Haiku; we take the tail (most recent turns).
217
- const MAX_TRANSCRIPT_TOKENS = 60_000;
218
- const transcript = countTokens(pendingText) > MAX_TRANSCRIPT_TOKENS
219
- ? (() => {
220
- const charBudget = MAX_TRANSCRIPT_TOKENS * 4;
221
- hookLog(`[post_session] WARN: transcript truncated to last ~${charBudget} chars (was ${pendingText.length})`);
222
- return pendingText.slice(-charBudget);
223
- })()
224
- : pendingText;
225
- const transcriptTokens = countTokens(transcript);
241
+ const plan = planExtraction(db, sessionId, resolved);
242
+ const { transcript, resumeAt, tokens: transcriptTokens } = plan;
243
+ if (plan.truncatedFrom !== null) {
244
+ hookLog(`[post_session] WARN: transcript truncated to last ~${MAX_TRANSCRIPT_TOKENS * 4} chars (was ${plan.truncatedFrom})`);
245
+ }
226
246
  let extraction = resumeAt > 0 ? 'incremental' : 'full';
227
247
  let outcome = {
228
248
  observations: [],
@@ -256,6 +276,7 @@ export async function runPostSession(payload, opts = {}) {
256
276
  progress.markExtracted(sessionId, projectId, resolved.turns);
257
277
  }
258
278
  const total = outcome.observations.length;
279
+ const gitInfo = opts.git ?? captureGit(cwd);
259
280
  // Divide extraction cost across observations so per-observation tokens_spent adds up.
260
281
  const perObsSpend = total > 0 ? Math.floor(outcome.tokensSpent / total) : 0;
261
282
  const memDir = memoriesDir(opts.dbPath ? opts.dbPath.replace(/db\.sqlite$/, '') : projectDir(projectId));
@@ -273,6 +294,10 @@ export async function runPostSession(payload, opts = {}) {
273
294
  tags: obs.tags,
274
295
  tokens_saved: saved,
275
296
  tokens_spent: perObsSpend,
297
+ git_branch: gitInfo.branch,
298
+ git_commit: gitInfo.commit,
299
+ git_before_first_commit: gitInfo.beforeFirstCommit,
300
+ ...(opts.capturedAt !== undefined ? { created_at: Math.round(opts.capturedAt) } : {}),
276
301
  }, { redactPatterns: config.privacy.redact_patterns });
277
302
  // Write the human-readable markdown mirror alongside the SQLite row.
278
303
  try {
@@ -285,7 +310,9 @@ export async function runPostSession(payload, opts = {}) {
285
310
  inserted += 1;
286
311
  }
287
312
  // M10: deduplicate — mark near-duplicate observations from prior sessions as superseded.
288
- const dedupResult = deduplicateObservations(db, projectId, insertedIds);
313
+ const dedupResult = deduplicateObservations(db, projectId, insertedIds, {
314
+ defaultBranch: gitInfo.defaultBranch,
315
+ });
289
316
  const tokensSavedTotal = store.totalTokensSaved(projectId);
290
317
  const cacheEntriesAdded = config.cache.enabled
291
318
  ? populateCache(db, resolved.turns, {
@@ -314,7 +341,7 @@ export async function runPostSession(payload, opts = {}) {
314
341
  now: opts.now ?? Date.now(),
315
342
  });
316
343
  if (parsed.hook_event_name === 'PreCompact') {
317
- writeWarmStart(db, projectId);
344
+ writeWarmStart(db, projectId, cwd);
318
345
  }
319
346
  // Summaries are optional work: run them last, and only while the hook's
320
347
  // time budget lasts, so they can never cost us the index or warm-start.