agent-working-memory 0.14.5 → 0.14.6
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 +118 -122
- package/dist/adapters/claude-code.d.ts.map +1 -1
- package/dist/adapters/claude-code.js +234 -131
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/common.d.ts +44 -5
- package/dist/adapters/common.d.ts.map +1 -1
- package/dist/adapters/common.js +111 -41
- package/dist/adapters/common.js.map +1 -1
- package/dist/adapters/hook-scripts.d.ts +54 -0
- package/dist/adapters/hook-scripts.d.ts.map +1 -0
- package/dist/adapters/hook-scripts.js +340 -0
- package/dist/adapters/hook-scripts.js.map +1 -0
- package/dist/adapters/types.d.ts +13 -3
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/cli.js +21 -5
- package/dist/cli.js.map +1 -1
- package/dist/core/agent-id.d.ts +19 -0
- package/dist/core/agent-id.d.ts.map +1 -0
- package/dist/core/agent-id.js +28 -0
- package/dist/core/agent-id.js.map +1 -0
- package/dist/hooks/prime.d.ts +10 -4
- package/dist/hooks/prime.d.ts.map +1 -1
- package/dist/hooks/prime.js +16 -6
- package/dist/hooks/prime.js.map +1 -1
- package/dist/mcp.js +5 -12
- package/dist/mcp.js.map +1 -1
- package/package.json +94 -90
- package/src/adapters/claude-code.ts +223 -125
- package/src/adapters/common.ts +117 -42
- package/src/adapters/hook-scripts.ts +370 -0
- package/src/adapters/types.ts +14 -3
- package/src/cli.ts +19 -5
- package/src/core/agent-id.ts +28 -0
- package/src/hooks/prime.ts +22 -7
- package/src/mcp.ts +5 -11
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
10
10
|
import { join, dirname, basename } from 'node:path';
|
|
11
11
|
import { resolveMcpCommand, homedir, AWM_INSTRUCTION_CONTENT, upsertAwmSection } from './common.js';
|
|
12
|
+
import { HOOK_SCRIPTS, AWM_HOOKS_VERSION, PRIME_DISABLE_FILE } from './hook-scripts.js';
|
|
13
|
+
import { request as httpRequest } from 'node:http';
|
|
12
14
|
/**
|
|
13
15
|
* DB-mutation reminder hook (PostToolUse on Bash|PowerShell).
|
|
14
16
|
* Fires when a shell command runs sqlcmd/mysql/psql with mutation keywords and
|
|
@@ -43,37 +45,101 @@ process.stdin.on('end', () => {
|
|
|
43
45
|
process.exit(0);
|
|
44
46
|
});
|
|
45
47
|
`;
|
|
48
|
+
const SERVER_NAME = 'agent-working-memory';
|
|
49
|
+
/** Where this adapter keeps the AWM server entry for a scope. */
|
|
50
|
+
function mcpJsonPathFor(isGlobal, cwd) {
|
|
51
|
+
// Global: ~/.mcp.json (standard MCP location, all projects)
|
|
52
|
+
// Project: .claude/mcp.json (Claude Code's native project scope)
|
|
53
|
+
return isGlobal ? join(homedir(), '.mcp.json') : join(cwd, '.claude', 'mcp.json');
|
|
54
|
+
}
|
|
55
|
+
function readJson(path) {
|
|
56
|
+
if (!existsSync(path))
|
|
57
|
+
return null;
|
|
58
|
+
try {
|
|
59
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Exactly the hook scripts `awm setup` installs. Used to recognise our own groups in
|
|
67
|
+
* settings.json so they can be replaced on a re-run.
|
|
68
|
+
*
|
|
69
|
+
* This list must stay TIGHT. It was briefly a loose `awm-*.cjs` pattern, and on a real
|
|
70
|
+
* install that silently deleted the owner's own `awm-dev-log.cjs` and
|
|
71
|
+
* `awm-recall-stamp.cjs` hooks, which merely share the prefix. Anything not installed by
|
|
72
|
+
* this adapter belongs to the user.
|
|
73
|
+
*/
|
|
74
|
+
const OWNED_HOOK_FILES = [
|
|
75
|
+
...HOOK_SCRIPTS.map(h => h.file),
|
|
76
|
+
'awm-db-mutation-reminder.cjs',
|
|
77
|
+
];
|
|
78
|
+
/** True for a settings.json hook group that `awm setup` wrote, in any version. */
|
|
79
|
+
function isAwmHookGroup(group) {
|
|
80
|
+
const text = JSON.stringify(group ?? {});
|
|
81
|
+
return OWNED_HOOK_FILES.some(f => text.includes(f)) // 0.14.6 scripts
|
|
82
|
+
|| /curl[^"]*\/hooks\/checkpoint/.test(text) // pre-0.14.6 inline curl
|
|
83
|
+
|| text.includes('MEMORY: (1) Did you learn'); // the Stop reminder
|
|
84
|
+
}
|
|
85
|
+
/** Merge one hook group for `event`: drop every AWM-owned group, keep the user's, append ours. */
|
|
86
|
+
function setHookGroup(settings, event, group) {
|
|
87
|
+
const others = (settings.hooks[event] || []).filter((g) => !isAwmHookGroup(g));
|
|
88
|
+
settings.hooks[event] = group ? [...others, group] : others;
|
|
89
|
+
if (settings.hooks[event].length === 0)
|
|
90
|
+
delete settings.hooks[event];
|
|
91
|
+
}
|
|
92
|
+
/** GET /health on one sidecar port; null when nothing answers or it is not a sidecar. */
|
|
93
|
+
function probeSidecar(port, timeoutMs = 400) {
|
|
94
|
+
return new Promise(resolve => {
|
|
95
|
+
const req = httpRequest({ host: '127.0.0.1', port, path: '/health', method: 'GET', timeout: timeoutMs }, res => {
|
|
96
|
+
let data = '';
|
|
97
|
+
res.on('data', c => { data += c; });
|
|
98
|
+
res.on('end', () => {
|
|
99
|
+
try {
|
|
100
|
+
const j = JSON.parse(data);
|
|
101
|
+
resolve(j && j.sidecar ? { port, agentId: j.agentId ?? null, version: j.version ?? '0.0.0', pid: j.pid ?? null } : null);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
resolve(null);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
req.on('error', () => resolve(null));
|
|
109
|
+
req.on('timeout', () => { req.destroy(); resolve(null); });
|
|
110
|
+
req.end();
|
|
111
|
+
});
|
|
112
|
+
}
|
|
46
113
|
const adapter = {
|
|
47
114
|
id: 'claude-code',
|
|
48
115
|
name: 'Claude Code',
|
|
49
116
|
supportsProjectScope: true,
|
|
50
117
|
supportsGlobalScope: true,
|
|
118
|
+
readExistingEnv(isGlobal, cwd) {
|
|
119
|
+
const entry = readJson(mcpJsonPathFor(isGlobal, cwd))?.mcpServers?.[SERVER_NAME];
|
|
120
|
+
return entry?.env && typeof entry.env === 'object' ? { ...entry.env } : null;
|
|
121
|
+
},
|
|
51
122
|
writeMcpConfig(ctx) {
|
|
52
123
|
const mcpCmd = resolveMcpCommand(ctx);
|
|
53
|
-
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
const mcpJsonPath = ctx.isGlobal
|
|
57
|
-
? join(homedir(), '.mcp.json')
|
|
58
|
-
: join(ctx.cwd, '.claude', 'mcp.json');
|
|
124
|
+
// ctx.envVars already layers recommended defaults < the user's existing env < owned keys
|
|
125
|
+
// (buildEnvVars). Only the env and the command are ours; anything else the user put on
|
|
126
|
+
// the entry (e.g. a `type`, a `cwd`) is carried across.
|
|
127
|
+
const mcpJsonPath = mcpJsonPathFor(ctx.isGlobal, ctx.cwd);
|
|
59
128
|
const mcpDir = dirname(mcpJsonPath);
|
|
60
|
-
if (!existsSync(mcpDir))
|
|
129
|
+
if (!existsSync(mcpDir))
|
|
61
130
|
mkdirSync(mcpDir, { recursive: true });
|
|
62
|
-
}
|
|
63
|
-
let existing = {};
|
|
64
|
-
if (existsSync(mcpJsonPath)) {
|
|
65
|
-
try {
|
|
66
|
-
existing = JSON.parse(readFileSync(mcpJsonPath, 'utf-8'));
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
existing = {};
|
|
70
|
-
}
|
|
71
|
-
}
|
|
131
|
+
const existing = readJson(mcpJsonPath) ?? {};
|
|
72
132
|
if (!existing.mcpServers)
|
|
73
133
|
existing.mcpServers = {};
|
|
74
|
-
existing.mcpServers[
|
|
134
|
+
const prior = existing.mcpServers[SERVER_NAME] ?? {};
|
|
135
|
+
const priorEnv = prior.env ?? {};
|
|
136
|
+
const preserved = Object.keys(priorEnv).filter(k => ctx.envVars[k] === priorEnv[k]);
|
|
137
|
+
existing.mcpServers[SERVER_NAME] = { ...prior, ...mcpCmd, env: ctx.envVars };
|
|
75
138
|
writeFileSync(mcpJsonPath, JSON.stringify(existing, null, 2) + '\n');
|
|
76
|
-
|
|
139
|
+
const kept = Object.keys(priorEnv).length
|
|
140
|
+
? ` (${preserved.length} of ${Object.keys(priorEnv).length} existing env values carried over)`
|
|
141
|
+
: '';
|
|
142
|
+
return `MCP config: ${mcpJsonPath}${kept}`;
|
|
77
143
|
},
|
|
78
144
|
writeInstructions(ctx, skip) {
|
|
79
145
|
const claudeMdPath = ctx.isGlobal
|
|
@@ -88,122 +154,111 @@ const adapter = {
|
|
|
88
154
|
if (skip)
|
|
89
155
|
return 'Hooks: skipped (--no-hooks)';
|
|
90
156
|
const settingsPath = join(homedir(), '.claude', 'settings.json');
|
|
91
|
-
|
|
92
|
-
if (existsSync(settingsPath)) {
|
|
93
|
-
try {
|
|
94
|
-
settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
settings = {};
|
|
98
|
-
}
|
|
99
|
-
}
|
|
157
|
+
const settings = readJson(settingsPath) ?? {};
|
|
100
158
|
if (!settings.hooks)
|
|
101
159
|
settings.hooks = {};
|
|
102
|
-
|
|
103
|
-
//
|
|
104
|
-
settings.hooks.Stop = [{
|
|
105
|
-
matcher: '',
|
|
106
|
-
hooks: [{
|
|
107
|
-
type: 'command',
|
|
108
|
-
command: 'echo "MEMORY: (1) Did you learn anything new? Call memory_write. (2) Are you about to work on a topic you might have prior knowledge about? Call memory_recall. (3) Switching tasks? Call memory_task_begin."',
|
|
109
|
-
timeout: 5,
|
|
110
|
-
async: true,
|
|
111
|
-
}],
|
|
112
|
-
}];
|
|
113
|
-
// Multi-port fallback for separate memory pools
|
|
114
|
-
const altPort = ctx.hookPort === '8401' ? '8402' : '8401';
|
|
115
|
-
const hookUrlAlt = `http://127.0.0.1:${altPort}/hooks/checkpoint`;
|
|
116
|
-
const buildHookCmd = (event, maxTime) => {
|
|
117
|
-
const primary = `curl -sf -X POST ${hookUrl} -H "Content-Type: application/json" -H "Authorization: Bearer ${ctx.hookSecret}" -d "{\\"hook_event_name\\":\\"${event}\\"}" --max-time ${maxTime}`;
|
|
118
|
-
const fallback = `curl -sf -X POST ${hookUrlAlt} -H "Content-Type: application/json" -H "Authorization: Bearer ${ctx.hookSecret}" -d "{\\"hook_event_name\\":\\"${event}\\"}" --max-time ${maxTime}`;
|
|
119
|
-
return `${primary} || ${fallback}`;
|
|
120
|
-
};
|
|
121
|
-
// PreCompact — auto-checkpoint before context compaction
|
|
122
|
-
settings.hooks.PreCompact = [{
|
|
123
|
-
matcher: '',
|
|
124
|
-
hooks: [{
|
|
125
|
-
type: 'command',
|
|
126
|
-
command: buildHookCmd('PreCompact', 5),
|
|
127
|
-
timeout: 10,
|
|
128
|
-
}],
|
|
129
|
-
}];
|
|
130
|
-
// SessionEnd — auto-checkpoint on session close
|
|
131
|
-
settings.hooks.SessionEnd = [{
|
|
132
|
-
matcher: '',
|
|
133
|
-
hooks: [{
|
|
134
|
-
type: 'command',
|
|
135
|
-
command: buildHookCmd('SessionEnd', 2),
|
|
136
|
-
timeout: 5,
|
|
137
|
-
}],
|
|
138
|
-
}];
|
|
139
|
-
// PostToolUse — DB-mutation reminder: a production data change is not
|
|
140
|
-
// complete until it is memory_written. Deploy the script, then merge the
|
|
141
|
-
// hook entry (preserve any unrelated PostToolUse groups the user has).
|
|
160
|
+
// 0.14.6: hooks are scripts that resolve the sidecar, the agent and the secret at run
|
|
161
|
+
// time (see hook-scripts.ts). Nothing about ports or secrets is baked into settings.json.
|
|
142
162
|
const hooksDir = join(homedir(), '.claude', 'hooks');
|
|
143
|
-
if (!existsSync(hooksDir))
|
|
163
|
+
if (!existsSync(hooksDir))
|
|
144
164
|
mkdirSync(hooksDir, { recursive: true });
|
|
165
|
+
for (const { file, source } of HOOK_SCRIPTS) {
|
|
166
|
+
writeFileSync(join(hooksDir, file), source);
|
|
145
167
|
}
|
|
168
|
+
const record = {
|
|
169
|
+
version: AWM_HOOKS_VERSION,
|
|
170
|
+
agentId: ctx.agentId,
|
|
171
|
+
dbPath: ctx.envVars.AWM_DB_PATH,
|
|
172
|
+
secretPath: join(dirname(ctx.dbPath), '.awm-hook-secret').replace(/\\/g, '/'),
|
|
173
|
+
hookPort: ctx.hookPort,
|
|
174
|
+
hookPortRange: ctx.hookPortRange,
|
|
175
|
+
installedAt: new Date().toISOString(),
|
|
176
|
+
};
|
|
177
|
+
writeFileSync(join(hooksDir, 'awm-hooks.json'), JSON.stringify(record, null, 2) + '\n');
|
|
178
|
+
const script = (file) => `node "${join(hooksDir, file).replace(/\\/g, '/')}"`;
|
|
179
|
+
// Stop — remind Claude to write/recall/switch tasks
|
|
180
|
+
setHookGroup(settings, 'Stop', {
|
|
181
|
+
matcher: '',
|
|
182
|
+
hooks: [{
|
|
183
|
+
type: 'command',
|
|
184
|
+
command: 'echo "MEMORY: (1) Did you learn anything new? Call memory_write. (2) Are you about to work on a topic you might have prior knowledge about? Call memory_recall. (3) Switching tasks? Call memory_task_begin."',
|
|
185
|
+
timeout: 5,
|
|
186
|
+
async: true,
|
|
187
|
+
}],
|
|
188
|
+
});
|
|
189
|
+
// PreCompact — auto-checkpoint before context compaction
|
|
190
|
+
setHookGroup(settings, 'PreCompact', {
|
|
191
|
+
matcher: '',
|
|
192
|
+
hooks: [{ type: 'command', command: script('awm-checkpoint.cjs'), timeout: 10 }],
|
|
193
|
+
});
|
|
194
|
+
// SessionEnd — auto-checkpoint on session close (+ consolidation in the sidecar)
|
|
195
|
+
setHookGroup(settings, 'SessionEnd', {
|
|
196
|
+
matcher: '',
|
|
197
|
+
hooks: [{ type: 'command', command: script('awm-checkpoint.cjs'), timeout: 8 }],
|
|
198
|
+
});
|
|
199
|
+
// UserPromptSubmit — PRIME: inject relevant memories, or nothing (0.14.6)
|
|
200
|
+
setHookGroup(settings, 'UserPromptSubmit', ctx.installPrime ? {
|
|
201
|
+
matcher: '',
|
|
202
|
+
hooks: [{ type: 'command', command: script('awm-prime.cjs'), timeout: 6 }],
|
|
203
|
+
} : null);
|
|
204
|
+
// PostToolUse — DB-mutation reminder: a production data change is not
|
|
205
|
+
// complete until it is memory_written.
|
|
146
206
|
const mutationHookPath = join(hooksDir, 'awm-db-mutation-reminder.cjs');
|
|
147
207
|
writeFileSync(mutationHookPath, DB_MUTATION_HOOK_SCRIPT);
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
{
|
|
153
|
-
matcher: 'Bash|PowerShell',
|
|
154
|
-
hooks: [{
|
|
155
|
-
type: 'command',
|
|
156
|
-
command: mutationHookCmd,
|
|
157
|
-
timeout: 10,
|
|
158
|
-
}],
|
|
159
|
-
},
|
|
160
|
-
];
|
|
208
|
+
setHookGroup(settings, 'PostToolUse', {
|
|
209
|
+
matcher: 'Bash|PowerShell',
|
|
210
|
+
hooks: [{ type: 'command', command: script('awm-db-mutation-reminder.cjs'), timeout: 10 }],
|
|
211
|
+
});
|
|
161
212
|
const settingsDir = dirname(settingsPath);
|
|
162
|
-
if (!existsSync(settingsDir))
|
|
213
|
+
if (!existsSync(settingsDir))
|
|
163
214
|
mkdirSync(settingsDir, { recursive: true });
|
|
164
|
-
}
|
|
165
215
|
writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
166
|
-
|
|
216
|
+
const lastPort = Number(ctx.hookPort) + Number(ctx.hookPortRange) - 1;
|
|
217
|
+
const primeNote = ctx.installPrime
|
|
218
|
+
? `UserPromptSubmit prime (off switch: create ${join(hooksDir, PRIME_DISABLE_FILE).replace(/\\/g, '/')})`
|
|
219
|
+
: 'prime skipped (--no-prime)';
|
|
220
|
+
return `Hooks: Stop + PreCompact/SessionEnd checkpoint + ${primeNote} + PostToolUse DB-mutation reminder\n` +
|
|
221
|
+
` scripts in ${hooksDir.replace(/\\/g, '/')} find this session's sidecar on ports ${ctx.hookPort}–${lastPort} at run time`;
|
|
167
222
|
},
|
|
168
|
-
diagnose(ctx) {
|
|
223
|
+
async diagnose(ctx) {
|
|
169
224
|
const results = [];
|
|
225
|
+
const rerun = `Re-run: awm setup claude-code${ctx.isGlobal ? ' --global' : ''}`;
|
|
170
226
|
// Check MCP config — Claude Code reads from both locations, check all
|
|
171
227
|
const globalPath = join(homedir(), '.mcp.json');
|
|
172
228
|
const projectPath = join(ctx.cwd, '.claude', 'mcp.json');
|
|
173
229
|
const candidates = [projectPath, globalPath];
|
|
174
230
|
let foundConfig = false;
|
|
231
|
+
let configuredEnv = {};
|
|
175
232
|
for (const mcpJsonPath of candidates) {
|
|
176
|
-
|
|
233
|
+
const entry = readJson(mcpJsonPath)?.mcpServers?.[SERVER_NAME];
|
|
234
|
+
if (!entry)
|
|
177
235
|
continue;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
236
|
+
configuredEnv = entry.env ?? {};
|
|
237
|
+
const agentNote = configuredEnv.AWM_AGENT_ID
|
|
238
|
+
? ` (agent ${configuredEnv.AWM_AGENT_ID})`
|
|
239
|
+
: ' (no AWM_AGENT_ID — the server derives it from the directory)';
|
|
240
|
+
results.push({ check: 'MCP config', status: 'ok', message: `AWM registered in ${mcpJsonPath}${agentNote}` });
|
|
241
|
+
const missing = ['AWM_RERANK2', 'AWM_RERANK_WINDOW', 'AWM_RERANK_TAGS'].filter(k => !(k in configuredEnv));
|
|
242
|
+
if (missing.length) {
|
|
243
|
+
results.push({
|
|
244
|
+
check: 'Recommended env',
|
|
245
|
+
status: 'warn',
|
|
246
|
+
message: `not set: ${missing.join(', ')} (the measured-good retrieval configuration)`,
|
|
247
|
+
fix: `${rerun} — adds them; every other env value you have is kept`,
|
|
248
|
+
});
|
|
185
249
|
}
|
|
186
|
-
|
|
250
|
+
foundConfig = true;
|
|
251
|
+
break;
|
|
187
252
|
}
|
|
188
253
|
if (!foundConfig) {
|
|
189
|
-
results.push({
|
|
190
|
-
check: 'MCP config',
|
|
191
|
-
status: 'fail',
|
|
192
|
-
message: 'No AWM MCP config found',
|
|
193
|
-
fix: `Run: awm setup claude-code${ctx.isGlobal ? ' --global' : ''}`,
|
|
194
|
-
});
|
|
254
|
+
results.push({ check: 'MCP config', status: 'fail', message: 'No AWM MCP config found', fix: `Run: awm setup claude-code${ctx.isGlobal ? ' --global' : ''}` });
|
|
195
255
|
}
|
|
196
256
|
// Check MCP entrypoint
|
|
197
257
|
if (ctx.hasDist) {
|
|
198
258
|
results.push({ check: 'MCP entrypoint', status: 'ok', message: `dist/mcp.js exists` });
|
|
199
259
|
}
|
|
200
260
|
else {
|
|
201
|
-
results.push({
|
|
202
|
-
check: 'MCP entrypoint',
|
|
203
|
-
status: 'warn',
|
|
204
|
-
message: 'dist/mcp.js not found — using dev mode (npx tsx)',
|
|
205
|
-
fix: 'Run: npm run build',
|
|
206
|
-
});
|
|
261
|
+
results.push({ check: 'MCP entrypoint', status: 'warn', message: 'dist/mcp.js not found — using dev mode (npx tsx)', fix: 'Run: npm run build' });
|
|
207
262
|
}
|
|
208
263
|
// Check database
|
|
209
264
|
if (existsSync(ctx.dbPath)) {
|
|
@@ -219,43 +274,91 @@ const adapter = {
|
|
|
219
274
|
if (existsSync(claudeMdPath)) {
|
|
220
275
|
const content = readFileSync(claudeMdPath, 'utf-8');
|
|
221
276
|
if (content.includes('## Memory (AWM)')) {
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
277
|
+
const marked = content.includes('AWM:GENERATED:BEGIN');
|
|
225
278
|
results.push({
|
|
226
279
|
check: 'Instructions',
|
|
227
|
-
status: '
|
|
228
|
-
message: `CLAUDE.md
|
|
229
|
-
fix: `Run: awm setup claude-code${ctx.isGlobal ? ' --global' : ''}`,
|
|
280
|
+
status: 'ok',
|
|
281
|
+
message: `CLAUDE.md has AWM section${marked ? '' : ' (hand-maintained, predates generated markers — awm setup leaves it alone)'}`,
|
|
230
282
|
});
|
|
231
283
|
}
|
|
284
|
+
else {
|
|
285
|
+
results.push({ check: 'Instructions', status: 'warn', message: `CLAUDE.md exists but missing AWM section`, fix: rerun });
|
|
286
|
+
}
|
|
232
287
|
}
|
|
233
288
|
else {
|
|
234
289
|
results.push({ check: 'Instructions', status: 'warn', message: `CLAUDE.md not found` });
|
|
235
290
|
}
|
|
236
|
-
// Check hooks
|
|
291
|
+
// Check hooks — scripts present and current, settings pointing at them, no legacy curl
|
|
292
|
+
const hooksDir = join(homedir(), '.claude', 'hooks');
|
|
237
293
|
const settingsPath = join(homedir(), '.claude', 'settings.json');
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
294
|
+
const settings = readJson(settingsPath);
|
|
295
|
+
if (!settings) {
|
|
296
|
+
results.push({
|
|
297
|
+
check: 'Hooks',
|
|
298
|
+
status: 'warn',
|
|
299
|
+
message: existsSync(settingsPath) ? 'settings.json is not valid JSON' : 'No hooks configured (auto-checkpoint and prime disabled)',
|
|
300
|
+
fix: rerun,
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
const hooksText = JSON.stringify(settings.hooks ?? {});
|
|
305
|
+
const has = (ev, needle) => JSON.stringify(settings.hooks?.[ev] ?? []).includes(needle);
|
|
306
|
+
const legacyCurl = /curl[^"]*\/hooks\/checkpoint/.test(hooksText);
|
|
307
|
+
const record = readJson(join(hooksDir, 'awm-hooks.json'));
|
|
308
|
+
const scriptsPresent = HOOK_SCRIPTS.every(h => existsSync(join(hooksDir, h.file)));
|
|
309
|
+
const checkpointWired = has('PreCompact', 'awm-checkpoint.cjs') && has('SessionEnd', 'awm-checkpoint.cjs');
|
|
310
|
+
const primeWired = has('UserPromptSubmit', 'awm-prime.cjs');
|
|
311
|
+
const primeDisabled = existsSync(join(hooksDir, PRIME_DISABLE_FILE));
|
|
312
|
+
const mutationWired = has('PostToolUse', 'awm-db-mutation-reminder');
|
|
313
|
+
if (legacyCurl || !scriptsPresent || !checkpointWired) {
|
|
314
|
+
results.push({
|
|
315
|
+
check: 'Hooks',
|
|
316
|
+
status: 'warn',
|
|
317
|
+
message: legacyCurl
|
|
318
|
+
? 'checkpoint hooks are the pre-0.14.6 inline curl (fixed port 8401/8402, secret baked into settings.json)'
|
|
319
|
+
: !scriptsPresent ? 'hook scripts missing from ~/.claude/hooks' : 'checkpoint hooks not wired to awm-checkpoint.cjs',
|
|
320
|
+
fix: rerun,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
else if (record && record.version !== AWM_HOOKS_VERSION) {
|
|
324
|
+
results.push({ check: 'Hooks', status: 'warn', message: `hook scripts v${record.version}; current is v${AWM_HOOKS_VERSION}`, fix: rerun });
|
|
252
325
|
}
|
|
253
|
-
|
|
254
|
-
results.push({ check: 'Hooks', status: '
|
|
326
|
+
else {
|
|
327
|
+
results.push({ check: 'Hooks', status: 'ok', message: `PreCompact + SessionEnd checkpoint via awm-checkpoint.cjs (hooks v${record?.version ?? AWM_HOOKS_VERSION})` });
|
|
328
|
+
}
|
|
329
|
+
if (!primeWired) {
|
|
330
|
+
results.push({ check: 'Prime hook', status: 'warn', message: 'not installed — memory reaches the agent only when it chooses to call memory_recall', fix: `${rerun} (without --no-prime)` });
|
|
331
|
+
}
|
|
332
|
+
else if (primeDisabled) {
|
|
333
|
+
results.push({ check: 'Prime hook', status: 'warn', message: `installed but OFF (${PRIME_DISABLE_FILE} present)`, fix: `Delete ${join(hooksDir, PRIME_DISABLE_FILE)} to turn it on` });
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
results.push({ check: 'Prime hook', status: 'ok', message: 'UserPromptSubmit → awm-prime.cjs (memories injected per prompt when confident)' });
|
|
337
|
+
}
|
|
338
|
+
if (!mutationWired) {
|
|
339
|
+
results.push({ check: 'DB-mutation reminder', status: 'warn', message: 'PostToolUse reminder missing', fix: rerun });
|
|
255
340
|
}
|
|
256
341
|
}
|
|
342
|
+
// Live sidecars — the thing the hooks actually talk to
|
|
343
|
+
const basePort = parseInt(configuredEnv.AWM_HOOK_PORT ?? ctx.hookPort, 10) || 8401;
|
|
344
|
+
const range = Math.max(1, parseInt(configuredEnv.AWM_HOOK_PORT_RANGE ?? ctx.hookPortRange, 10) || 10);
|
|
345
|
+
const probes = await Promise.all(Array.from({ length: range }, (_, i) => probeSidecar(basePort + i)));
|
|
346
|
+
const live = probes.filter((s) => s !== null);
|
|
347
|
+
if (live.length === 0) {
|
|
348
|
+
results.push({ check: 'Sidecars', status: 'warn', message: `none listening on ${basePort}–${basePort + range - 1} (normal when no Claude Code session is open)` });
|
|
349
|
+
}
|
|
257
350
|
else {
|
|
258
|
-
|
|
351
|
+
const summary = live.map(s => `${s.port}=${s.agentId ?? '?'}@${s.version}${s.pid ? ` pid ${s.pid}` : ''}`).join(', ');
|
|
352
|
+
results.push({ check: 'Sidecars', status: 'ok', message: `${live.length} live: ${summary}` });
|
|
353
|
+
const agents = [...new Set(live.map(s => s.agentId))];
|
|
354
|
+
const configuredAgent = configuredEnv.AWM_AGENT_ID ?? ctx.agentId;
|
|
355
|
+
if (!agents.includes(configuredAgent)) {
|
|
356
|
+
results.push({
|
|
357
|
+
check: 'Sidecar match',
|
|
358
|
+
status: 'warn',
|
|
359
|
+
message: `no live sidecar serves agent "${configuredAgent}" — hooks from this directory fail open (live agents: ${agents.join(', ')})`,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
259
362
|
}
|
|
260
363
|
return results;
|
|
261
364
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,30 @@ export declare function resolvePackageRoot(): string;
|
|
|
5
5
|
export declare function resolveDbPath(packageRoot: string, explicit?: string | null): string;
|
|
6
6
|
/** Read or generate the hook secret token. */
|
|
7
7
|
export declare function resolveHookSecret(dbPath: string): string;
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Retrieval settings `awm setup` turns on for a new install (0.14.6).
|
|
10
|
+
*
|
|
11
|
+
* All three ship default-off in the engine so an existing process never changes
|
|
12
|
+
* behaviour on upgrade, but the README has recommended them together since 0.14.0:
|
|
13
|
+
* second-stage rerank by the cross-encoder's own score, a 400-char rerank window
|
|
14
|
+
* on the densest query-term region (25% → 87.5% on long memories), and tags in the
|
|
15
|
+
* rerank passage (+7.4pp). A value the user already has in their config wins.
|
|
16
|
+
*/
|
|
17
|
+
export declare const RECOMMENDED_ENV: Readonly<Record<string, string>>;
|
|
18
|
+
/** Keys `awm setup` owns outright; everything else in an existing env block is the user's. */
|
|
19
|
+
export declare const OWNED_ENV_KEYS: readonly ["AWM_DB_PATH", "AWM_AGENT_ID", "AWM_HOOK_PORT", "AWM_HOOK_PORT_RANGE", "AWM_HOOK_SECRET"];
|
|
20
|
+
/**
|
|
21
|
+
* Build environment variables for the MCP server process.
|
|
22
|
+
*
|
|
23
|
+
* Layering, lowest to highest: recommended defaults → whatever the user's current
|
|
24
|
+
* entry already carries (rerank flags they tuned, AWM_WORKSPACE, backend choice…)
|
|
25
|
+
* → the keys setup owns. Before 0.14.6 the entry was replaced wholesale, which
|
|
26
|
+
* dropped hand-set flags on every re-run.
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildEnvVars(dbPath: string, agentId: string, hookPort: string, hookSecret: string, isWindows: boolean, opts?: {
|
|
29
|
+
hookPortRange?: string;
|
|
30
|
+
existing?: Record<string, string> | null;
|
|
31
|
+
}): Record<string, string>;
|
|
10
32
|
/**
|
|
11
33
|
* Resolve the MCP server command + args.
|
|
12
34
|
*
|
|
@@ -17,14 +39,31 @@ export declare function resolveMcpCommand(ctx: SetupContext): {
|
|
|
17
39
|
command: string;
|
|
18
40
|
args: string[];
|
|
19
41
|
};
|
|
20
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Build a full SetupContext from parsed CLI flags.
|
|
44
|
+
*
|
|
45
|
+
* Precedence for every owned value: an explicit flag → the value in the entry a
|
|
46
|
+
* previous `awm setup` wrote (`existingEnv`) → the default. So re-running setup to
|
|
47
|
+
* pick up new hooks or guidance never repoints the database, renames the agent or
|
|
48
|
+
* moves the sidecar port underneath a working install.
|
|
49
|
+
*
|
|
50
|
+
* Global default agent id is `work` (was `claude` before 0.14.6): it matches what
|
|
51
|
+
* the server itself resolves to when AWM_AGENT_ID is unset (see core/agent-id.ts),
|
|
52
|
+
* so a config with and without the key name the same pool.
|
|
53
|
+
*/
|
|
21
54
|
export declare function buildSetupContext(opts: {
|
|
22
55
|
agentId?: string;
|
|
23
56
|
dbPath?: string | null;
|
|
24
57
|
isGlobal: boolean;
|
|
25
|
-
hookPort
|
|
58
|
+
hookPort?: string;
|
|
59
|
+
hookPortRange?: string;
|
|
60
|
+
installPrime?: boolean;
|
|
61
|
+
existingEnv?: Record<string, string> | null;
|
|
26
62
|
}): SetupContext;
|
|
27
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* Home directory. `AWM_SETUP_HOME` overrides it so `awm setup` / `awm doctor` can be
|
|
65
|
+
* exercised against a scratch tree (tests do this; so does a cautious upgrade).
|
|
66
|
+
*/
|
|
28
67
|
export declare function homedir(): string;
|
|
29
68
|
/**
|
|
30
69
|
* Core AWM instruction snippet — shared across all adapters.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,gEAAgE;AAChE,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAOnF;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI5D,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,cAAc,qGAAsG,CAAC;AAElI;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,EAClB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;CAAO,GAC9E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAkBA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC7C,GAAG,YAAY,CAoCf;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAID;;;GAGG;AACH;;;;;;;;;;;;;GAaG;AACH;;iEAEiE;AACjE,eAAO,MAAM,aAAa,QAEsD,CAAC;AACjF,eAAO,MAAM,WAAW,+BAA+B,CAAC;AAOxD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,MAAM,CAkFR;AAED,eAAO,MAAM,uBAAuB,QA8avB,CAAC"}
|