somtum 2.1.0 → 2.3.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 +37 -10
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +43 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/first_session_check.d.ts +11 -0
- package/dist/cli/first_session_check.d.ts.map +1 -0
- package/dist/cli/first_session_check.js +104 -0
- package/dist/cli/first_session_check.js.map +1 -0
- package/dist/cli/hook.js +2 -2
- package/dist/cli/hook.js.map +1 -1
- package/dist/cli/index.js +7 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +2 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +103 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/suggest_claude_md.js.map +1 -1
- package/dist/core/cache.d.ts +5 -0
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +17 -0
- package/dist/core/cache.js.map +1 -1
- package/dist/core/db.d.ts.map +1 -1
- package/dist/core/db.js +9 -0
- package/dist/core/db.js.map +1 -1
- package/dist/core/extractor.d.ts.map +1 -1
- package/dist/core/extractor.js +7 -2
- package/dist/core/extractor.js.map +1 -1
- package/dist/core/schema.d.ts +13 -0
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +6 -0
- package/dist/core/schema.js.map +1 -1
- package/dist/core/transcript.d.ts.map +1 -1
- package/dist/core/transcript.js +47 -4
- package/dist/core/transcript.js.map +1 -1
- package/dist/hooks/post_session.d.ts.map +1 -1
- package/dist/hooks/post_session.js +32 -5
- package/dist/hooks/post_session.js.map +1 -1
- package/dist/hooks/pre_prompt.d.ts +5 -0
- package/dist/hooks/pre_prompt.d.ts.map +1 -1
- package/dist/hooks/pre_prompt.js +60 -8
- package/dist/hooks/pre_prompt.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -239,6 +239,26 @@ Somtum uses [`better-sqlite3`](https://github.com/WiseLibs/better-sqlite3), whic
|
|
|
239
239
|
|
|
240
240
|
## Quickstart
|
|
241
241
|
|
|
242
|
+
### Before you begin — pick your setup
|
|
243
|
+
|
|
244
|
+
**Using Claude Code (subscription)?**
|
|
245
|
+
You do not need an API key. Somtum calls the `claude` CLI that ships with Claude Code.
|
|
246
|
+
Confirm it is installed: `which claude`
|
|
247
|
+
If nothing prints, reinstall Claude Code or add its binary to your PATH.
|
|
248
|
+
|
|
249
|
+
**Using the Anthropic API directly?**
|
|
250
|
+
Add your key to your shell profile (not just the current terminal tab):
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# Add to ~/.zshrc or ~/.bashrc
|
|
254
|
+
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
255
|
+
source ~/.zshrc
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Both paths work. Most Claude Code users should use Option A.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
242
262
|
### Step 1 — Choose your extraction backend
|
|
243
263
|
|
|
244
264
|
Somtum needs to call a Claude model at session end to extract observations. Pick one:
|
|
@@ -282,11 +302,26 @@ somtum init --all
|
|
|
282
302
|
# - MCP server in .mcp.json (Claude can call recall/remember tools)
|
|
283
303
|
```
|
|
284
304
|
|
|
285
|
-
### Step 3 —
|
|
305
|
+
### Step 3 — Verify your setup
|
|
306
|
+
|
|
307
|
+
Run doctor immediately after init to confirm everything is connected:
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
somtum doctor
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
All checks should show `✓`. The two most important are:
|
|
314
|
+
|
|
315
|
+
- **`api_key`** — confirms Somtum has a way to call Claude for extraction
|
|
316
|
+
- **`hooks_installed`** — confirms the SessionEnd hook is registered
|
|
317
|
+
|
|
318
|
+
Do not start your first session until all checks pass. Each failing check shows an inline fix command.
|
|
319
|
+
|
|
320
|
+
### Step 4 — Use Claude Code normally
|
|
286
321
|
|
|
287
322
|
Open a Claude Code session **from the same directory** where you ran `somtum init`. Work as you normally would. When the session ends, the hook extracts observations automatically in the background (capped at 90 seconds).
|
|
288
323
|
|
|
289
|
-
### Step
|
|
324
|
+
### Step 5 — Check your memory
|
|
290
325
|
|
|
291
326
|
```bash
|
|
292
327
|
# How many observations were captured?
|
|
@@ -302,14 +337,6 @@ somtum serve
|
|
|
302
337
|
|
|
303
338
|
If `somtum stats` shows `memories 0` after a session, see [Troubleshooting](#troubleshooting).
|
|
304
339
|
|
|
305
|
-
### Step 5 — Diagnose any issues
|
|
306
|
-
|
|
307
|
-
```bash
|
|
308
|
-
somtum doctor
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
This checks your API key, DB health, hook installation, migrations, cache, and breakeven ratio — with specific fix instructions for each failing check.
|
|
312
|
-
|
|
313
340
|
---
|
|
314
341
|
|
|
315
342
|
## Verifying the setup
|
package/dist/cli/doctor.d.ts
CHANGED
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,SAAS,CAAC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,SAAS,CAAC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,YAAY,CA8NnE;AAED,wBAAsB,aAAa,CACjC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7C,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
|
package/dist/cli/doctor.js
CHANGED
|
@@ -47,6 +47,7 @@ export function runDoctor(opts = {}) {
|
|
|
47
47
|
name: 'db_file',
|
|
48
48
|
ok: dbExists,
|
|
49
49
|
detail: dbExists ? dbPath : `not found at ${dbPath} — run \`somtum init\` first`,
|
|
50
|
+
...(dbExists ? {} : { fix: ['somtum init'] }),
|
|
50
51
|
});
|
|
51
52
|
if (!dbExists) {
|
|
52
53
|
return { ok: false, checks };
|
|
@@ -97,6 +98,17 @@ export function runDoctor(opts = {}) {
|
|
|
97
98
|
name: 'breakeven_ratio',
|
|
98
99
|
ok,
|
|
99
100
|
detail: `${ratio.toFixed(2)}x${ok ? '' : ' — below 1.5x, extraction cost may exceed savings'}`,
|
|
101
|
+
...(ok
|
|
102
|
+
? {}
|
|
103
|
+
: {
|
|
104
|
+
fix: [
|
|
105
|
+
'somtum config set retrieval.strategy bm25 # match what is actually running',
|
|
106
|
+
'# or, to enable real hybrid retrieval:',
|
|
107
|
+
'somtum config set retrieval.embeddings.enabled true && somtum reindex',
|
|
108
|
+
'# or reduce injection overhead:',
|
|
109
|
+
'somtum config set injection.k 2',
|
|
110
|
+
],
|
|
111
|
+
}),
|
|
100
112
|
});
|
|
101
113
|
}
|
|
102
114
|
else {
|
|
@@ -110,6 +122,14 @@ export function runDoctor(opts = {}) {
|
|
|
110
122
|
detail: staleCount === 0
|
|
111
123
|
? 'no stale memories detected'
|
|
112
124
|
: `${staleCount} memor${staleCount === 1 ? 'y' : 'ies'} older than 90 days with no retrieval — consider \`somtum purge\` or reviewing with \`somtum search\``,
|
|
125
|
+
...(staleCount === 0
|
|
126
|
+
? {}
|
|
127
|
+
: {
|
|
128
|
+
fix: [
|
|
129
|
+
'somtum purge --older-than 90d --dry-run # preview what would be removed',
|
|
130
|
+
'somtum purge --older-than 90d # remove stale memories',
|
|
131
|
+
],
|
|
132
|
+
}),
|
|
113
133
|
});
|
|
114
134
|
// 10. Cache entries
|
|
115
135
|
const cache = new PromptCache(db);
|
|
@@ -136,14 +156,25 @@ export function runDoctor(opts = {}) {
|
|
|
136
156
|
// not in PATH
|
|
137
157
|
}
|
|
138
158
|
}
|
|
159
|
+
const apiKeyOk = hasApiKey || claudeCliAvailable;
|
|
139
160
|
checks.push({
|
|
140
161
|
name: 'api_key',
|
|
141
|
-
ok:
|
|
162
|
+
ok: apiKeyOk,
|
|
142
163
|
detail: hasApiKey
|
|
143
164
|
? 'ANTHROPIC_API_KEY is set'
|
|
144
165
|
: claudeCliAvailable
|
|
145
166
|
? 'No ANTHROPIC_API_KEY — using claude CLI fallback (Claude Code subscription)'
|
|
146
167
|
: 'Neither ANTHROPIC_API_KEY nor claude CLI available — extraction will fail',
|
|
168
|
+
...(apiKeyOk
|
|
169
|
+
? {}
|
|
170
|
+
: {
|
|
171
|
+
fix: [
|
|
172
|
+
'Fix A (Claude Code): which claude',
|
|
173
|
+
' If nothing prints, reinstall Claude Code or add its binary to PATH.',
|
|
174
|
+
'Fix B (API key): export ANTHROPIC_API_KEY="sk-ant-..." >> ~/.zshrc && source ~/.zshrc',
|
|
175
|
+
'Docs: https://riz007.github.io/somtum/troubleshooting.html#memories-0',
|
|
176
|
+
],
|
|
177
|
+
}),
|
|
147
178
|
});
|
|
148
179
|
// 12. Hook files in .claude/settings.json
|
|
149
180
|
const settingsPath = join(cwd, '.claude', 'settings.json');
|
|
@@ -158,6 +189,9 @@ export function runDoctor(opts = {}) {
|
|
|
158
189
|
detail: hasSessionEnd
|
|
159
190
|
? 'somtum hooks found in .claude/settings.json'
|
|
160
191
|
: 'somtum hooks not found — run `somtum init`',
|
|
192
|
+
...(hasSessionEnd
|
|
193
|
+
? {}
|
|
194
|
+
: { fix: ['somtum init --all # run from the project root you open with Claude Code'] }),
|
|
161
195
|
});
|
|
162
196
|
}
|
|
163
197
|
catch {
|
|
@@ -165,6 +199,7 @@ export function runDoctor(opts = {}) {
|
|
|
165
199
|
name: 'hooks_installed',
|
|
166
200
|
ok: false,
|
|
167
201
|
detail: 'could not parse .claude/settings.json',
|
|
202
|
+
fix: ['somtum init --all'],
|
|
168
203
|
});
|
|
169
204
|
}
|
|
170
205
|
}
|
|
@@ -173,6 +208,7 @@ export function runDoctor(opts = {}) {
|
|
|
173
208
|
name: 'hooks_installed',
|
|
174
209
|
ok: false,
|
|
175
210
|
detail: '.claude/settings.json not found — run `somtum init`',
|
|
211
|
+
fix: ['somtum init --all # run from the project root you open with Claude Code'],
|
|
176
212
|
});
|
|
177
213
|
}
|
|
178
214
|
}
|
|
@@ -191,6 +227,12 @@ export async function doctorCommand(options = {}) {
|
|
|
191
227
|
for (const check of result.checks) {
|
|
192
228
|
const icon = check.ok ? '✓' : '✗';
|
|
193
229
|
console.log(`${icon} ${check.name.padEnd(22)} ${check.detail}`);
|
|
230
|
+
if (!check.ok && check.fix && check.fix.length > 0) {
|
|
231
|
+
const indent = ' ';
|
|
232
|
+
for (const line of check.fix) {
|
|
233
|
+
console.log(`${indent}${line}`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
194
236
|
}
|
|
195
237
|
if (!result.ok) {
|
|
196
238
|
console.log('');
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FIX-05: After a zero-memory first session, automatically surface the most
|
|
3
|
+
* important doctor checks on the next somtum command so the user can self-heal
|
|
4
|
+
* without reading the docs.
|
|
5
|
+
*
|
|
6
|
+
* Runs at most once per project. Opt-out: `somtum config set diagnostics.first_session_check false`
|
|
7
|
+
*/
|
|
8
|
+
export declare function checkFirstSession(opts?: {
|
|
9
|
+
cwd?: string;
|
|
10
|
+
}): void;
|
|
11
|
+
//# sourceMappingURL=first_session_check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first_session_check.d.ts","sourceRoot":"","sources":["../../src/cli/first_session_check.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CA2FnE"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { execSync } from 'node:child_process';
|
|
4
|
+
import { loadConfig, projectDir } from '../config.js';
|
|
5
|
+
import { resolveProjectId } from '../core/project_id.js';
|
|
6
|
+
/**
|
|
7
|
+
* FIX-05: After a zero-memory first session, automatically surface the most
|
|
8
|
+
* important doctor checks on the next somtum command so the user can self-heal
|
|
9
|
+
* without reading the docs.
|
|
10
|
+
*
|
|
11
|
+
* Runs at most once per project. Opt-out: `somtum config set diagnostics.first_session_check false`
|
|
12
|
+
*/
|
|
13
|
+
export function checkFirstSession(opts = {}) {
|
|
14
|
+
try {
|
|
15
|
+
const cwd = opts.cwd ?? process.cwd();
|
|
16
|
+
const config = loadConfig({ cwd });
|
|
17
|
+
if (!config.diagnostics.first_session_check)
|
|
18
|
+
return;
|
|
19
|
+
const projectId = resolveProjectId(cwd);
|
|
20
|
+
const flagPath = join(projectDir(projectId), 'first_session.json');
|
|
21
|
+
if (!existsSync(flagPath))
|
|
22
|
+
return;
|
|
23
|
+
let state;
|
|
24
|
+
try {
|
|
25
|
+
state = JSON.parse(readFileSync(flagPath, 'utf8'));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!state.first_session_completed)
|
|
31
|
+
return;
|
|
32
|
+
if (state.diagnostic_shown)
|
|
33
|
+
return;
|
|
34
|
+
if (state.first_session_inserted > 0) {
|
|
35
|
+
// Session produced memories — mark shown and exit silently.
|
|
36
|
+
markDiagnosticShown(flagPath, state);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// First session completed with zero memories — run the key checks.
|
|
40
|
+
const apiKey = process.env['ANTHROPIC_API_KEY'];
|
|
41
|
+
const hasApiKey = Boolean(apiKey && apiKey.trim().length > 0);
|
|
42
|
+
let claudeCliAvailable = false;
|
|
43
|
+
if (!hasApiKey) {
|
|
44
|
+
try {
|
|
45
|
+
execSync('claude --version', { stdio: 'pipe' });
|
|
46
|
+
claudeCliAvailable = true;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// not in PATH
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const settingsPath = join(cwd, '.claude', 'settings.json');
|
|
53
|
+
const hooksInstalled = existsSync(settingsPath) &&
|
|
54
|
+
(() => {
|
|
55
|
+
try {
|
|
56
|
+
const raw = JSON.parse(readFileSync(settingsPath, 'utf8'));
|
|
57
|
+
return JSON.stringify(raw['hooks'] ?? '').includes('somtum');
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
})();
|
|
63
|
+
const apiOk = hasApiKey || claudeCliAvailable;
|
|
64
|
+
process.stderr.write([
|
|
65
|
+
'',
|
|
66
|
+
'Somtum first-session check (run automatically because memories=0 after your first session)',
|
|
67
|
+
'',
|
|
68
|
+
` api_key ${apiOk ? '✓' : '✗ No backend found — claude CLI not in PATH, no ANTHROPIC_API_KEY'}`,
|
|
69
|
+
` hooks_installed ${hooksInstalled ? '✓' : '✗ Hooks not found in .claude/settings.json'}`,
|
|
70
|
+
'',
|
|
71
|
+
].join('\n'));
|
|
72
|
+
if (!apiOk || !hooksInstalled) {
|
|
73
|
+
process.stderr.write([
|
|
74
|
+
'One or more checks failed. See:',
|
|
75
|
+
' https://riz007.github.io/somtum/troubleshooting.html#memories-0',
|
|
76
|
+
'',
|
|
77
|
+
'To suppress this check: somtum config set diagnostics.first_session_check false',
|
|
78
|
+
'',
|
|
79
|
+
].join('\n'));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
process.stderr.write([
|
|
83
|
+
'All key checks pass. If memories are still 0, the session may have been',
|
|
84
|
+
'too short or contained no decisions/bugfixes worth capturing.',
|
|
85
|
+
'',
|
|
86
|
+
'To suppress this check: somtum config set diagnostics.first_session_check false',
|
|
87
|
+
'',
|
|
88
|
+
].join('\n'));
|
|
89
|
+
}
|
|
90
|
+
markDiagnosticShown(flagPath, state);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// Non-fatal: diagnostic check must never crash a user command.
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function markDiagnosticShown(flagPath, state) {
|
|
97
|
+
try {
|
|
98
|
+
writeFileSync(flagPath, JSON.stringify({ ...state, diagnostic_shown: true }), 'utf8');
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// Non-fatal.
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=first_session_check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first_session_check.js","sourceRoot":"","sources":["../../src/cli/first_session_check.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/hook.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Reads a JSON payload on stdin and dispatches to the named hook module.
|
|
6
6
|
import { appendFileSync } from 'node:fs';
|
|
7
|
-
import { homedir } from 'node:os';
|
|
8
7
|
import { join } from 'node:path';
|
|
8
|
+
import { GLOBAL_DIR } from '../config.js';
|
|
9
9
|
import { readToEnd, runPostSession, HookPayloadSchema } from '../hooks/post_session.js';
|
|
10
10
|
import { runPrePrompt, PrePromptPayloadSchema } from '../hooks/pre_prompt.js';
|
|
11
11
|
import { runPreRead, PreReadPayloadSchema } from '../hooks/pre_read.js';
|
|
@@ -22,7 +22,7 @@ function raceTimeout(p, ms, label) {
|
|
|
22
22
|
}
|
|
23
23
|
function hookLog(msg) {
|
|
24
24
|
try {
|
|
25
|
-
const logPath = join(
|
|
25
|
+
const logPath = join(GLOBAL_DIR, 'hook.log');
|
|
26
26
|
appendFileSync(logPath, `${new Date().toISOString()} ${msg}\n`, 'utf8');
|
|
27
27
|
}
|
|
28
28
|
catch {
|
package/dist/cli/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/cli/hook.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,6BAA6B;AAC7B,2BAA2B;AAC3B,EAAE;AACF,yEAAyE;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/cli/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import { configGetCommand, configSetCommand } from './config_cmd.js';
|
|
|
22
22
|
import { serveCommand } from './serve.js';
|
|
23
23
|
import { runMcpServer } from '../mcp/server.js';
|
|
24
24
|
import { printLogo } from './ui.js';
|
|
25
|
+
import { checkFirstSession } from './first_session_check.js';
|
|
25
26
|
const require = createRequire(import.meta.url);
|
|
26
27
|
const { version } = require('../../package.json');
|
|
27
28
|
const program = new Command();
|
|
@@ -33,18 +34,22 @@ program
|
|
|
33
34
|
const isInternal = process.argv.includes('hook') || process.argv.includes('mcp');
|
|
34
35
|
if (!isInternal) {
|
|
35
36
|
printLogo();
|
|
37
|
+
// FIX-05: surface a diagnostic message when the first session produced zero memories.
|
|
38
|
+
checkFirstSession();
|
|
36
39
|
}
|
|
37
40
|
program
|
|
38
41
|
.command('init')
|
|
39
42
|
.description('Install the SessionEnd capture hook (and optional extras) in the current project')
|
|
40
43
|
.option('-f, --force', 'Reinstall even if the hook is already present', false)
|
|
44
|
+
.option('-y, --yes', 'Skip interactive prompts (for scripted installs)', false)
|
|
41
45
|
.option('--cache', 'Also install the UserPromptSubmit cache hook', false)
|
|
42
46
|
.option('--file-gating', 'Also install the PreToolUse file-gating hook', false)
|
|
43
47
|
.option('--no-mcp', 'Do not register the somtum MCP server in .mcp.json')
|
|
44
48
|
.option('--all', 'Enable cache + file-gating + MCP', false)
|
|
45
|
-
.action((opts) => {
|
|
46
|
-
const code = initCommand({
|
|
49
|
+
.action(async (opts) => {
|
|
50
|
+
const code = await initCommand({
|
|
47
51
|
force: opts.force,
|
|
52
|
+
yes: opts.yes,
|
|
48
53
|
cache: opts.cache,
|
|
49
54
|
fileGating: opts.fileGating,
|
|
50
55
|
mcp: opts.mcp,
|
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/cli/init.d.ts
CHANGED
|
@@ -16,9 +16,10 @@ export declare function runInit(options?: InitOptions): InitResult;
|
|
|
16
16
|
export declare function initCommand(options?: {
|
|
17
17
|
cwd?: string;
|
|
18
18
|
force?: boolean;
|
|
19
|
+
yes?: boolean;
|
|
19
20
|
cache?: boolean;
|
|
20
21
|
fileGating?: boolean;
|
|
21
22
|
mcp?: boolean;
|
|
22
23
|
all?: boolean;
|
|
23
|
-
}): number
|
|
24
|
+
}): Promise<number>;
|
|
24
25
|
//# sourceMappingURL=init.d.ts.map
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAyGA,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAmBD,wBAAgB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,UAAU,CAuD7D;AAoBD,wBAAsB,WAAW,CAAC,OAAO,GAAE;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACV,GAAG,OAAO,CAAC,MAAM,CAAC,CAkGvB"}
|
package/dist/cli/init.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { execFileSync } from 'node:child_process';
|
|
3
|
+
import { createInterface } from 'node:readline';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
3
5
|
import { dirname, join, resolve } from 'node:path';
|
|
4
6
|
import { fileURLToPath } from 'node:url';
|
|
5
7
|
import { loadConfig } from '../config.js';
|
|
@@ -22,6 +24,46 @@ function somtumOnPath() {
|
|
|
22
24
|
return false;
|
|
23
25
|
}
|
|
24
26
|
}
|
|
27
|
+
function claudeInPath() {
|
|
28
|
+
try {
|
|
29
|
+
execFileSync('which', ['claude'], { stdio: ['ignore', 'ignore', 'ignore'] });
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function keyInProfile() {
|
|
37
|
+
const home = homedir();
|
|
38
|
+
const profiles = [join(home, '.zshrc'), join(home, '.bashrc'), join(home, '.profile')];
|
|
39
|
+
for (const f of profiles) {
|
|
40
|
+
try {
|
|
41
|
+
if (existsSync(f) && readFileSync(f, 'utf8').includes('ANTHROPIC_API_KEY'))
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// unreadable profile — skip
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
// FIX-07: detect whether cwd looks like a project root.
|
|
51
|
+
const PROJECT_ROOT_INDICATORS = ['package.json', 'pyproject.toml', 'go.mod', 'Cargo.toml', '.git'];
|
|
52
|
+
function isProjectRoot(cwd) {
|
|
53
|
+
return PROJECT_ROOT_INDICATORS.some((ind) => existsSync(join(cwd, ind)));
|
|
54
|
+
}
|
|
55
|
+
async function promptContinue(message) {
|
|
56
|
+
process.stderr.write(message);
|
|
57
|
+
if (!process.stdin.isTTY)
|
|
58
|
+
return;
|
|
59
|
+
const rl = createInterface({ input: process.stdin, output: process.stderr });
|
|
60
|
+
await new Promise((resolve) => {
|
|
61
|
+
rl.question('', () => {
|
|
62
|
+
rl.close();
|
|
63
|
+
resolve();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
25
67
|
function hookCommand(subcommand) {
|
|
26
68
|
if (somtumOnPath())
|
|
27
69
|
return `somtum ${subcommand}`;
|
|
@@ -118,8 +160,27 @@ function writeMcpConfig(cwd) {
|
|
|
118
160
|
writeFileSync(mcpPath, `${JSON.stringify(existing, null, 2)}\n`, 'utf8');
|
|
119
161
|
return mcpPath;
|
|
120
162
|
}
|
|
121
|
-
export function initCommand(options = {}) {
|
|
163
|
+
export async function initCommand(options = {}) {
|
|
122
164
|
const cwd = options.cwd ?? process.cwd();
|
|
165
|
+
const yes = options.yes ?? options.force ?? false;
|
|
166
|
+
// FIX-07: warn when run from outside a project root.
|
|
167
|
+
if (!isProjectRoot(cwd) && !yes) {
|
|
168
|
+
await promptContinue([
|
|
169
|
+
'',
|
|
170
|
+
'NOTICE: No project root indicators found in the current directory.',
|
|
171
|
+
` (checked for: ${PROJECT_ROOT_INDICATORS.join(', ')})`,
|
|
172
|
+
'',
|
|
173
|
+
'Somtum works best when initialized from the root of the project you open',
|
|
174
|
+
'with Claude Code. If you launch Claude Code from a different directory,',
|
|
175
|
+
'it will read a different settings.json and the hooks will not fire.',
|
|
176
|
+
'',
|
|
177
|
+
`Current directory: ${cwd}`,
|
|
178
|
+
'',
|
|
179
|
+
'If this is intentional, continue. Otherwise, cd to your project root first.',
|
|
180
|
+
'Press Enter to continue or Ctrl+C to cancel.',
|
|
181
|
+
'',
|
|
182
|
+
].join('\n'));
|
|
183
|
+
}
|
|
123
184
|
const withCache = options.all === true ? true : (options.cache ?? false);
|
|
124
185
|
const withFileGating = options.all === true ? true : (options.fileGating ?? false);
|
|
125
186
|
const withMcp = options.all === true ? true : (options.mcp ?? true);
|
|
@@ -145,6 +206,47 @@ export function initCommand(options = {}) {
|
|
|
145
206
|
}
|
|
146
207
|
if (result.embeddingsNotice)
|
|
147
208
|
console.log(result.embeddingsNotice);
|
|
209
|
+
// FIX-01: warn when no extraction backend is available.
|
|
210
|
+
const apiKeySet = !!(process.env['ANTHROPIC_API_KEY']?.trim());
|
|
211
|
+
const hasClaude = claudeInPath();
|
|
212
|
+
if (!apiKeySet && !hasClaude) {
|
|
213
|
+
process.stderr.write([
|
|
214
|
+
'',
|
|
215
|
+
'WARNING: No extraction backend found.',
|
|
216
|
+
'',
|
|
217
|
+
' Claude CLI: not found in PATH',
|
|
218
|
+
' ANTHROPIC_API_KEY: not set',
|
|
219
|
+
'',
|
|
220
|
+
'Somtum cannot extract memories without at least one of these.',
|
|
221
|
+
'',
|
|
222
|
+
'To fix:',
|
|
223
|
+
' Option A — Confirm Claude Code is installed: which claude',
|
|
224
|
+
' Option B — Add your API key to ~/.zshrc:',
|
|
225
|
+
' export ANTHROPIC_API_KEY="sk-ant-..."',
|
|
226
|
+
' source ~/.zshrc',
|
|
227
|
+
'',
|
|
228
|
+
'Run `somtum doctor` after fixing to confirm.',
|
|
229
|
+
'',
|
|
230
|
+
].join('\n'));
|
|
231
|
+
}
|
|
232
|
+
// FIX-02: warn when the key is in the env but not in any shell profile.
|
|
233
|
+
if (apiKeySet && !keyInProfile()) {
|
|
234
|
+
process.stderr.write([
|
|
235
|
+
'',
|
|
236
|
+
'NOTICE: ANTHROPIC_API_KEY is set in this terminal session but was not found',
|
|
237
|
+
'in your shell profile (~/.zshrc or ~/.bashrc).',
|
|
238
|
+
'',
|
|
239
|
+
'The SessionEnd hook runs as a subprocess and will not inherit a key that is',
|
|
240
|
+
'only exported in an open terminal tab.',
|
|
241
|
+
'',
|
|
242
|
+
'To fix, add the following to ~/.zshrc (or ~/.bashrc):',
|
|
243
|
+
' export ANTHROPIC_API_KEY="sk-ant-..."',
|
|
244
|
+
'',
|
|
245
|
+
'Then run:',
|
|
246
|
+
' source ~/.zshrc',
|
|
247
|
+
'',
|
|
248
|
+
].join('\n'));
|
|
249
|
+
}
|
|
148
250
|
return 0;
|
|
149
251
|
}
|
|
150
252
|
//# sourceMappingURL=init.js.map
|