greprag 0.3.0 → 0.4.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/dist/hook.d.ts +7 -3
- package/dist/hook.js +67 -312
- package/dist/hook.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -75
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/hook.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/** GrepRAG Hook — thin HTTP pipe for Claude Code hooks.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Agent-intent memory: memory is a repository, not an injection layer.
|
|
5
|
+
* Write side (ambient): Stop → store. Read side (intentional): agents call
|
|
6
|
+
* `greprag recall` when they need past context.
|
|
7
|
+
*
|
|
8
|
+
* Subcommands: store, signal, summary, recover, farewell, recap, handoff
|
|
5
9
|
*
|
|
6
10
|
* Lifecycle:
|
|
7
|
-
* recap(SessionStart:startup) →
|
|
8
|
-
* summary(PreCompact) →
|
|
11
|
+
* recap(SessionStart:startup|clear) → [agent turn] → store(Stop) → farewell(SessionEnd)
|
|
12
|
+
* summary(PreCompact) → recover(SessionStart:compact)
|
|
9
13
|
* PostToolUse(ExitPlanMode | AskUserQuestion) → signal */
|
|
10
14
|
export {};
|
package/dist/hook.js
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
/** GrepRAG Hook — thin HTTP pipe for Claude Code hooks.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Agent-intent memory: memory is a repository, not an injection layer.
|
|
6
|
+
* Write side (ambient): Stop → store. Read side (intentional): agents call
|
|
7
|
+
* `greprag recall` when they need past context.
|
|
8
|
+
*
|
|
9
|
+
* Subcommands: store, signal, summary, recover, farewell, recap, handoff
|
|
6
10
|
*
|
|
7
11
|
* Lifecycle:
|
|
8
|
-
* recap(SessionStart:startup) →
|
|
9
|
-
* summary(PreCompact) →
|
|
12
|
+
* recap(SessionStart:startup|clear) → [agent turn] → store(Stop) → farewell(SessionEnd)
|
|
13
|
+
* summary(PreCompact) → recover(SessionStart:compact)
|
|
10
14
|
* PostToolUse(ExitPlanMode | AskUserQuestion) → signal */
|
|
11
15
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
16
|
if (k2 === undefined) k2 = k;
|
|
@@ -46,11 +50,6 @@ const path = __importStar(require("path"));
|
|
|
46
50
|
const fs = __importStar(require("fs"));
|
|
47
51
|
const os = __importStar(require("os"));
|
|
48
52
|
const API_URL_DEFAULT = 'https://api.greprag.com';
|
|
49
|
-
const GREPRAG_DIR = path.join(os.homedir(), '.greprag');
|
|
50
|
-
function ensureDir() {
|
|
51
|
-
if (!fs.existsSync(GREPRAG_DIR))
|
|
52
|
-
fs.mkdirSync(GREPRAG_DIR, { recursive: true });
|
|
53
|
-
}
|
|
54
53
|
function getConfig(cwd) {
|
|
55
54
|
ensureEnv(cwd);
|
|
56
55
|
return {
|
|
@@ -59,40 +58,6 @@ function getConfig(cwd) {
|
|
|
59
58
|
enabled: process.env.MEMORY_HOOK_ENABLED === 'true',
|
|
60
59
|
};
|
|
61
60
|
}
|
|
62
|
-
function flagPath(name) {
|
|
63
|
-
ensureDir();
|
|
64
|
-
return path.join(GREPRAG_DIR, `${name}.flag`);
|
|
65
|
-
}
|
|
66
|
-
function setFlag(name) {
|
|
67
|
-
fs.writeFileSync(flagPath(name), Date.now().toString());
|
|
68
|
-
}
|
|
69
|
-
function consumeFlag(name) {
|
|
70
|
-
const p = flagPath(name);
|
|
71
|
-
try {
|
|
72
|
-
fs.unlinkSync(p);
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
function getCachePath() {
|
|
80
|
-
ensureDir();
|
|
81
|
-
return path.join(GREPRAG_DIR, 'pending-prompt.json');
|
|
82
|
-
}
|
|
83
|
-
function cachePrompt(data) {
|
|
84
|
-
fs.writeFileSync(getCachePath(), JSON.stringify(data));
|
|
85
|
-
}
|
|
86
|
-
function readCachedPrompt() {
|
|
87
|
-
try {
|
|
88
|
-
const data = JSON.parse(fs.readFileSync(getCachePath(), 'utf-8'));
|
|
89
|
-
fs.unlinkSync(getCachePath()); // consume once
|
|
90
|
-
return data;
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
61
|
function loadEnvFile(filePath) {
|
|
97
62
|
try {
|
|
98
63
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
@@ -140,120 +105,21 @@ async function apiCall(url, apiKey, body) {
|
|
|
140
105
|
}
|
|
141
106
|
return res.json();
|
|
142
107
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const cfg = getConfig(cwd);
|
|
153
|
-
if (cfg.enabled && cfg.apiKey) {
|
|
154
|
-
await apiCall(`${cfg.apiUrl}/v1/memory/cache/clear`, cfg.apiKey, { sessionId });
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
/** UserPromptSubmit — inject signals + assertive-recall directive, cache prompt for store pairing.
|
|
159
|
-
*
|
|
160
|
-
* Auto-injection of memory content was removed in favor of agent-initiated `greprag recall`.
|
|
161
|
-
* The retrieve call still runs, but only for entity context + novelty/stress signals — the
|
|
162
|
-
* agent decides when to pull actual memory content. */
|
|
163
|
-
async function retrieve(input) {
|
|
164
|
-
const cwd = input.cwd || process.cwd();
|
|
165
|
-
const cfg = getConfig(cwd);
|
|
166
|
-
if (!cfg.enabled || !cfg.apiKey)
|
|
167
|
-
return;
|
|
168
|
-
const prompt = input.prompt || '';
|
|
169
|
-
const sessionId = input.session_id || '';
|
|
170
|
-
const profileId = path.basename(cwd);
|
|
171
|
-
// After compaction, the first prompt is system-generated — skip caching it
|
|
172
|
-
const skipStore = consumeFlag('skip-next');
|
|
173
|
-
// Compute stress streak directly from transcript — zero timing lag.
|
|
174
|
-
// Count consecutive assistant turns without tool_use from the tail.
|
|
175
|
-
const stressStreak = computeTranscriptStress(input.transcript_path);
|
|
176
|
-
// Fetch signals (entities + novelty) + inbox count in parallel.
|
|
177
|
-
// No content injection — `greprag recall` handles that on demand.
|
|
178
|
-
const [result, countResult] = await Promise.all([
|
|
179
|
-
apiCall(`${cfg.apiUrl}/v1/memory/retrieve`, cfg.apiKey, {
|
|
180
|
-
query: prompt,
|
|
181
|
-
profileId,
|
|
182
|
-
sessionId,
|
|
183
|
-
stressStreak,
|
|
184
|
-
}),
|
|
185
|
-
apiCall(`${cfg.apiUrl}/v1/memory/messages/count`, cfg.apiKey, {
|
|
186
|
-
profileId,
|
|
187
|
-
sessionId,
|
|
188
|
-
}),
|
|
189
|
-
]);
|
|
190
|
-
let context = '';
|
|
191
|
-
// Prepend message notification if any pending
|
|
192
|
-
const pending = countResult?.ok ? countResult.count ?? 0 : 0;
|
|
193
|
-
if (pending > 0) {
|
|
194
|
-
const s = pending === 1 ? 'message' : 'messages';
|
|
195
|
-
context += `[${pending} pending ${s} — run: greprag inbox --profile ${profileId}]\n`;
|
|
196
|
-
}
|
|
197
|
-
// Entity context (still useful every turn — canonical summaries, cheap)
|
|
198
|
-
let entityContext = [];
|
|
199
|
-
let chainMeta;
|
|
200
|
-
if (result?.ok) {
|
|
201
|
-
const r = result.result;
|
|
202
|
-
const entities = r?.entityContext;
|
|
203
|
-
if (entities && entities.length > 0) {
|
|
204
|
-
entityContext = entities;
|
|
205
|
-
const entLines = entities.map(e => {
|
|
206
|
-
if (e.summary)
|
|
207
|
-
return `- ${e.name}: ${e.summary}`;
|
|
208
|
-
return `- ${e.name} — [${e.status}]`;
|
|
209
|
-
});
|
|
210
|
-
context += `[Entities: ${entLines.join(' | ')}]\n`;
|
|
211
|
-
}
|
|
212
|
-
chainMeta = r.chainMeta;
|
|
213
|
-
}
|
|
214
|
-
// GrepRAG signal line — novelty hints at how much matched in the corpus,
|
|
215
|
-
// stress hints at the agent's flow state. Both inform whether `greprag recall` is worth running.
|
|
216
|
-
const parts = [];
|
|
217
|
-
if (chainMeta) {
|
|
218
|
-
const nov = typeof chainMeta.noveltyRatio === 'number' ? Math.round(chainMeta.noveltyRatio * 100) : null;
|
|
219
|
-
const streak = typeof chainMeta.stressStreak === 'number' ? chainMeta.stressStreak : 0;
|
|
220
|
-
const state = streak >= 2 ? `stress: ${streak} (expanded)` : streak === 1 ? 'stress: 1' : 'action';
|
|
221
|
-
parts.push(`novelty: ${nov !== null ? nov + '%' : '?'} | ${state}`);
|
|
222
|
-
}
|
|
223
|
-
const incomplete = entityContext.filter(e => e.status !== 'complete');
|
|
224
|
-
if (incomplete.length > 0) {
|
|
225
|
-
parts.push(`entities: <entity-summary name="Name">what it is</entity-summary> for: ${incomplete.map(e => e.name).join(', ')}`);
|
|
226
|
-
}
|
|
227
|
-
if (parts.length > 0) {
|
|
228
|
-
context += `\n[greprag: ${parts.join(' | ')}]`;
|
|
229
|
-
}
|
|
230
|
-
// Assertive-recall directive — tells the agent to pull memory themselves when the
|
|
231
|
-
// question touches prior context. Glued to the user turn, so it reads as instruction.
|
|
232
|
-
context += `\n[greprag-recall: memory may hold relevant prior context (decisions, specs, past bugs, how something was implemented). When the user's question touches anything not obvious from the current session, run Bash: \`greprag recall "precise query" --profile ${profileId}\`. It's cheap (~$0.000007/call) — use it freely, chain multiple queries if needed. Rate what comes back via <mfb> before ending your turn.]`;
|
|
233
|
-
// Cache prompt for store pairing. No retrieval metadata — nothing was auto-injected;
|
|
234
|
-
// feedback (if any) will come from agent-initiated `greprag recall` calls.
|
|
235
|
-
if (prompt && !skipStore) {
|
|
236
|
-
cachePrompt({ prompt, sessionId, profileId });
|
|
237
|
-
}
|
|
238
|
-
if (context) {
|
|
239
|
-
process.stdout.write(JSON.stringify({
|
|
240
|
-
hookSpecificOutput: {
|
|
241
|
-
hookEventName: 'UserPromptSubmit',
|
|
242
|
-
additionalContext: context,
|
|
243
|
-
},
|
|
244
|
-
}));
|
|
245
|
-
}
|
|
108
|
+
function extractText(content) {
|
|
109
|
+
if (typeof content === 'string')
|
|
110
|
+
return content.trim();
|
|
111
|
+
if (!Array.isArray(content))
|
|
112
|
+
return '';
|
|
113
|
+
return content
|
|
114
|
+
.filter((b) => b?.type === 'text')
|
|
115
|
+
.map((b) => b.text || '')
|
|
116
|
+
.join('\n').trim();
|
|
246
117
|
}
|
|
247
|
-
/**
|
|
248
|
-
*
|
|
249
|
-
|
|
250
|
-
function detectAction(transcriptPath, agentProse) {
|
|
251
|
-
// Fast path: code blocks in the text response
|
|
252
|
-
if (/```/.test(agentProse))
|
|
253
|
-
return true;
|
|
254
|
-
// Read transcript for tool_use blocks in the last assistant turn
|
|
118
|
+
/** Walk the transcript backwards to find the most recent real user message
|
|
119
|
+
* (skipping tool_result entries). Returns empty string if not found. */
|
|
120
|
+
function findLastUserMessage(transcriptPath) {
|
|
255
121
|
if (!transcriptPath)
|
|
256
|
-
return
|
|
122
|
+
return '';
|
|
257
123
|
try {
|
|
258
124
|
const raw = fs.readFileSync(transcriptPath, 'utf-8');
|
|
259
125
|
const lines = raw.split('\n');
|
|
@@ -270,43 +136,34 @@ function detectAction(transcriptPath, agentProse) {
|
|
|
270
136
|
}
|
|
271
137
|
const msg = (entry.message || entry);
|
|
272
138
|
const role = (msg.role || entry.type || '');
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}
|
|
281
|
-
break; // real user message — end of turn
|
|
139
|
+
if (role !== 'user')
|
|
140
|
+
continue;
|
|
141
|
+
if (Array.isArray(msg.content)) {
|
|
142
|
+
const isToolResult = msg.content
|
|
143
|
+
.some(b => b?.type === 'tool_result');
|
|
144
|
+
if (isToolResult)
|
|
145
|
+
continue;
|
|
282
146
|
}
|
|
283
|
-
|
|
284
|
-
if (
|
|
285
|
-
|
|
286
|
-
if (b?.type === 'tool_use')
|
|
287
|
-
return true;
|
|
288
|
-
}
|
|
147
|
+
const text = extractText(msg.content);
|
|
148
|
+
if (text && !text.startsWith('<system') && !text.startsWith('{')) {
|
|
149
|
+
return text;
|
|
289
150
|
}
|
|
290
|
-
// Skip system, file-history-snapshot, etc.
|
|
291
151
|
}
|
|
292
152
|
}
|
|
293
|
-
catch { /* transcript read failed
|
|
294
|
-
return
|
|
153
|
+
catch { /* transcript read failed */ }
|
|
154
|
+
return '';
|
|
295
155
|
}
|
|
296
|
-
/**
|
|
297
|
-
*
|
|
298
|
-
* the
|
|
299
|
-
|
|
300
|
-
|
|
156
|
+
/** Detect action in the last assistant turn — reads transcript for tool_use blocks.
|
|
157
|
+
* A single turn spans multiple requestIds (text → tool_use → tool_result → text → ...).
|
|
158
|
+
* Walk backwards through the transcript; stop at a real user message (non-tool_result). */
|
|
159
|
+
function detectAction(transcriptPath, agentProse) {
|
|
160
|
+
if (/```/.test(agentProse))
|
|
161
|
+
return true;
|
|
301
162
|
if (!transcriptPath)
|
|
302
|
-
return
|
|
163
|
+
return false;
|
|
303
164
|
try {
|
|
304
165
|
const raw = fs.readFileSync(transcriptPath, 'utf-8');
|
|
305
166
|
const lines = raw.split('\n');
|
|
306
|
-
let streak = 0;
|
|
307
|
-
let turnHasAction = false;
|
|
308
|
-
let turnTextLength = 0;
|
|
309
|
-
let inTurn = false;
|
|
310
167
|
for (let i = lines.length - 1; i >= 0; i--) {
|
|
311
168
|
const line = lines[i].trim();
|
|
312
169
|
if (!line)
|
|
@@ -320,54 +177,25 @@ function computeTranscriptStress(transcriptPath) {
|
|
|
320
177
|
}
|
|
321
178
|
const msg = (entry.message || entry);
|
|
322
179
|
const role = (msg.role || entry.type || '');
|
|
323
|
-
if (role === '
|
|
324
|
-
inTurn = true;
|
|
180
|
+
if (role === 'user') {
|
|
325
181
|
if (Array.isArray(msg.content)) {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
turnTextLength += b.text.split(/\s+/).filter(Boolean).length;
|
|
331
|
-
}
|
|
332
|
-
}
|
|
182
|
+
const isToolResult = msg.content
|
|
183
|
+
.some(b => b?.type === 'tool_result');
|
|
184
|
+
if (isToolResult)
|
|
185
|
+
continue;
|
|
333
186
|
}
|
|
187
|
+
break;
|
|
334
188
|
}
|
|
335
|
-
|
|
336
|
-
const
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
continue; // still same turn
|
|
340
|
-
// Real user message = turn boundary
|
|
341
|
-
if (inTurn) {
|
|
342
|
-
if (turnHasAction)
|
|
343
|
-
break; // action resets — stop counting
|
|
344
|
-
if (turnTextLength >= STRESS_MIN_WORDS)
|
|
345
|
-
streak++; // substantial prose
|
|
346
|
-
// short prose: neutral — don't increment, don't reset
|
|
189
|
+
if (role === 'assistant' && Array.isArray(msg.content)) {
|
|
190
|
+
for (const b of msg.content) {
|
|
191
|
+
if (b?.type === 'tool_use')
|
|
192
|
+
return true;
|
|
347
193
|
}
|
|
348
|
-
turnHasAction = false;
|
|
349
|
-
turnTextLength = 0;
|
|
350
|
-
inTurn = false;
|
|
351
194
|
}
|
|
352
195
|
}
|
|
353
|
-
return streak;
|
|
354
|
-
}
|
|
355
|
-
catch {
|
|
356
|
-
return 0;
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
/** Parse <entity-summary> tags from agent response. */
|
|
360
|
-
function parseEntitySummaries(text) {
|
|
361
|
-
const results = [];
|
|
362
|
-
const regex = /<entity-summary\s+name="([^"]+)">([\s\S]*?)<\/entity-summary>/g;
|
|
363
|
-
let match;
|
|
364
|
-
while ((match = regex.exec(text)) !== null) {
|
|
365
|
-
const name = match[1].trim();
|
|
366
|
-
const summary = match[2].trim();
|
|
367
|
-
if (name && summary)
|
|
368
|
-
results.push({ name, summary });
|
|
369
196
|
}
|
|
370
|
-
|
|
197
|
+
catch { /* transcript read failed — fall through */ }
|
|
198
|
+
return false;
|
|
371
199
|
}
|
|
372
200
|
/** Parse <profile-summary> tag from agent response. Returns null if not found. */
|
|
373
201
|
function parseProfileSummary(text) {
|
|
@@ -386,23 +214,7 @@ function parseProfileDetails(text) {
|
|
|
386
214
|
}
|
|
387
215
|
return results;
|
|
388
216
|
}
|
|
389
|
-
/**
|
|
390
|
-
function parseFeedbackTag(text) {
|
|
391
|
-
const match = text.match(/<mfb>([\s\S]*?)<\/mfb>/);
|
|
392
|
-
if (!match)
|
|
393
|
-
return null;
|
|
394
|
-
try {
|
|
395
|
-
const parsed = JSON.parse(match[1]);
|
|
396
|
-
if (!Array.isArray(parsed))
|
|
397
|
-
return null;
|
|
398
|
-
// Filter out template entries (s=0) and invalid entries
|
|
399
|
-
return parsed.filter((e) => typeof e.id === 'string' && typeof e.s === 'number' && e.s >= 1 && e.s <= 5);
|
|
400
|
-
}
|
|
401
|
-
catch {
|
|
402
|
-
return null;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
/** Stop — pair cached prompt with agent response, store the turn + ship feedback. */
|
|
217
|
+
/** Stop — store the turn. Reads user message from transcript (no prior caching). */
|
|
406
218
|
async function store(input) {
|
|
407
219
|
const cwd = input.cwd || process.cwd();
|
|
408
220
|
const cfg = getConfig(cwd);
|
|
@@ -411,14 +223,10 @@ async function store(input) {
|
|
|
411
223
|
const agentProse = input.last_assistant_message || '';
|
|
412
224
|
if (!agentProse)
|
|
413
225
|
return;
|
|
414
|
-
|
|
415
|
-
const
|
|
416
|
-
const
|
|
417
|
-
const sessionId = cached?.sessionId || input.session_id || `hook-${Date.now()}`;
|
|
418
|
-
const profileId = cached?.profileId || path.basename(cwd);
|
|
419
|
-
// Detect action: check transcript for tool_use in last assistant turn, fall back to code blocks
|
|
226
|
+
const userMessage = findLastUserMessage(input.transcript_path);
|
|
227
|
+
const sessionId = input.session_id || `hook-${Date.now()}`;
|
|
228
|
+
const profileId = path.basename(cwd);
|
|
420
229
|
const hasAction = detectAction(input.transcript_path, agentProse);
|
|
421
|
-
// Store the turn memory
|
|
422
230
|
const storePromise = apiCall(`${cfg.apiUrl}/v1/memory/store`, cfg.apiKey, {
|
|
423
231
|
profileId,
|
|
424
232
|
sessionId,
|
|
@@ -427,33 +235,6 @@ async function store(input) {
|
|
|
427
235
|
hasAction,
|
|
428
236
|
crystallization: 'turn',
|
|
429
237
|
});
|
|
430
|
-
// Parse and ship feedback if present. With auto-injection disabled, `<mfb>` tags
|
|
431
|
-
// come from agent-initiated `greprag recall` calls — parse unconditionally.
|
|
432
|
-
// Server resolves short→full memory IDs via LIKE; retrievalScore/retrievalMeta are
|
|
433
|
-
// unavailable here (the recall ran out-of-band) so we ship what we have.
|
|
434
|
-
let feedbackPromise = null;
|
|
435
|
-
const ratings = parseFeedbackTag(agentProse);
|
|
436
|
-
if (ratings && ratings.length > 0) {
|
|
437
|
-
feedbackPromise = apiCall(`${cfg.apiUrl}/v1/memory/feedback`, cfg.apiKey, {
|
|
438
|
-
ratings: ratings.map(r => ({
|
|
439
|
-
memoryId: r.id,
|
|
440
|
-
relevanceScore: r.s,
|
|
441
|
-
reason: r.r || undefined,
|
|
442
|
-
})),
|
|
443
|
-
profileId,
|
|
444
|
-
sessionId,
|
|
445
|
-
triggerQuery: cached?.prompt,
|
|
446
|
-
});
|
|
447
|
-
}
|
|
448
|
-
// Parse and ship entity summaries if present
|
|
449
|
-
let entityPromise = null;
|
|
450
|
-
const entitySummaries = parseEntitySummaries(agentProse);
|
|
451
|
-
if (entitySummaries.length > 0) {
|
|
452
|
-
entityPromise = apiCall(`${cfg.apiUrl}/v1/memory/entities/summarize`, cfg.apiKey, {
|
|
453
|
-
summaries: entitySummaries,
|
|
454
|
-
});
|
|
455
|
-
}
|
|
456
|
-
// Parse and ship profile summary/details if present
|
|
457
238
|
let profilePromise = null;
|
|
458
239
|
const profSummary = parseProfileSummary(agentProse);
|
|
459
240
|
const profDetails = parseProfileDetails(agentProse);
|
|
@@ -464,8 +245,7 @@ async function store(input) {
|
|
|
464
245
|
details: profDetails.length > 0 && !profSummary ? profDetails : undefined,
|
|
465
246
|
});
|
|
466
247
|
}
|
|
467
|
-
|
|
468
|
-
await Promise.all([storePromise, feedbackPromise, entityPromise, profilePromise].filter(Boolean));
|
|
248
|
+
await Promise.all([storePromise, profilePromise].filter(Boolean));
|
|
469
249
|
}
|
|
470
250
|
/** Find the most recently modified plan file in ~/.claude/plans/ */
|
|
471
251
|
function readNewestPlanFile() {
|
|
@@ -480,7 +260,6 @@ function readNewestPlanFile() {
|
|
|
480
260
|
.sort((a, b) => b.mtime - a.mtime);
|
|
481
261
|
if (!files.length)
|
|
482
262
|
return null;
|
|
483
|
-
// Only consider plans modified in the last 60 seconds (freshly written)
|
|
484
263
|
if (Date.now() - files[0].mtime > 60_000)
|
|
485
264
|
return null;
|
|
486
265
|
return fs.readFileSync(files[0].path, 'utf-8');
|
|
@@ -522,9 +301,8 @@ async function signal(input) {
|
|
|
522
301
|
if (toolName === 'ExitPlanMode') {
|
|
523
302
|
const planContent = readNewestPlanFile();
|
|
524
303
|
if (!planContent)
|
|
525
|
-
return;
|
|
304
|
+
return;
|
|
526
305
|
userMessage = '[Plan Approved]';
|
|
527
|
-
// Cap at ~2000 words to avoid oversized payloads
|
|
528
306
|
const words = planContent.split(/\s+/);
|
|
529
307
|
agentProse = words.length > 2000
|
|
530
308
|
? words.slice(0, 2000).join(' ') + '\n\n[truncated]'
|
|
@@ -542,7 +320,7 @@ async function signal(input) {
|
|
|
542
320
|
crystallization = 'decision';
|
|
543
321
|
}
|
|
544
322
|
else {
|
|
545
|
-
return;
|
|
323
|
+
return;
|
|
546
324
|
}
|
|
547
325
|
await apiCall(`${cfg.apiUrl}/v1/memory/store`, cfg.apiKey, {
|
|
548
326
|
profileId,
|
|
@@ -552,16 +330,6 @@ async function signal(input) {
|
|
|
552
330
|
crystallization,
|
|
553
331
|
});
|
|
554
332
|
}
|
|
555
|
-
function extractText(content) {
|
|
556
|
-
if (typeof content === 'string')
|
|
557
|
-
return content.trim();
|
|
558
|
-
if (!Array.isArray(content))
|
|
559
|
-
return '';
|
|
560
|
-
return content
|
|
561
|
-
.filter((b) => b?.type === 'text')
|
|
562
|
-
.map((b) => b.text || '')
|
|
563
|
-
.join('\n').trim();
|
|
564
|
-
}
|
|
565
333
|
function parseTranscript(transcriptPath) {
|
|
566
334
|
const userReqs = [];
|
|
567
335
|
const files = new Set();
|
|
@@ -613,7 +381,6 @@ function parseTranscript(transcriptPath) {
|
|
|
613
381
|
}
|
|
614
382
|
}
|
|
615
383
|
}
|
|
616
|
-
// Deduplicate user requests, keep last 10
|
|
617
384
|
const seen = new Set();
|
|
618
385
|
const uniqueReqs = userReqs.map(r => r.split('\n')[0].slice(0, 150))
|
|
619
386
|
.filter(r => { if (seen.has(r))
|
|
@@ -677,13 +444,11 @@ async function farewell(input) {
|
|
|
677
444
|
const extracted = extractSessionText(input);
|
|
678
445
|
if (!extracted)
|
|
679
446
|
return;
|
|
680
|
-
// Only store to API if content is substantial (skip tiny post-compaction tails)
|
|
681
447
|
if (extracted.rawText.split(/\s+/).length < 30)
|
|
682
448
|
return;
|
|
683
449
|
const cfg = getConfig(extracted.cwd);
|
|
684
450
|
if (!cfg.enabled || !cfg.apiKey)
|
|
685
451
|
return;
|
|
686
|
-
// Fire-and-forget: send request but don't await — survives session teardown
|
|
687
452
|
fetch(`${cfg.apiUrl}/v1/memory/store`, {
|
|
688
453
|
method: 'POST',
|
|
689
454
|
headers: {
|
|
@@ -698,13 +463,12 @@ async function farewell(input) {
|
|
|
698
463
|
crystallization: 'compaction',
|
|
699
464
|
}),
|
|
700
465
|
}).catch(() => { });
|
|
701
|
-
// Brief delay to let the HTTP request body flush to the socket
|
|
702
466
|
await new Promise(resolve => setTimeout(resolve, 300));
|
|
703
467
|
}
|
|
704
468
|
function isOlderThanDays(isoDate, days) {
|
|
705
469
|
return Date.now() - new Date(isoDate).getTime() > days * 24 * 60 * 60 * 1000;
|
|
706
470
|
}
|
|
707
|
-
/** Fetch
|
|
471
|
+
/** Fetch profile + session recap, inject into stdout with memory-tools reminder. */
|
|
708
472
|
async function injectRecap(input, header, footer) {
|
|
709
473
|
const cwd = input.cwd || process.cwd();
|
|
710
474
|
const cfg = getConfig(cwd);
|
|
@@ -715,7 +479,8 @@ async function injectRecap(input, header, footer) {
|
|
|
715
479
|
if (!result?.ok)
|
|
716
480
|
return;
|
|
717
481
|
const parts = [];
|
|
718
|
-
//
|
|
482
|
+
// Memory tools reminder — one line, always. Agent-intent: memory is pull-based.
|
|
483
|
+
parts.push(`[Memory available — search past sessions: \`greprag recall "<query>" --profile ${profileId}\`. Pending messages: \`greprag inbox --profile ${profileId}\`.]`);
|
|
719
484
|
const pSummary = result.profileSummary;
|
|
720
485
|
const pDetails = result.profileDetails || [];
|
|
721
486
|
if (pSummary || pDetails.length > 0) {
|
|
@@ -725,7 +490,6 @@ async function injectRecap(input, header, footer) {
|
|
|
725
490
|
for (const d of pDetails)
|
|
726
491
|
parts.push(`- ${d}`);
|
|
727
492
|
}
|
|
728
|
-
// Profile signal — request consolidation when stale, always accept details
|
|
729
493
|
const stale = !pSummary
|
|
730
494
|
|| pDetails.length > 5
|
|
731
495
|
|| (result.profileSummaryUpdatedAt && isOlderThanDays(result.profileSummaryUpdatedAt, 7));
|
|
@@ -734,7 +498,6 @@ async function injectRecap(input, header, footer) {
|
|
|
734
498
|
signals.push('<profile-summary>what this project is, what we work on, current state</profile-summary>');
|
|
735
499
|
signals.push('<profile-detail>new fact about this project</profile-detail>');
|
|
736
500
|
parts.push(`[greprag-profile: ${signals.join(' + ')}]`);
|
|
737
|
-
// Session recap block
|
|
738
501
|
if (result.found && result.enrichedSummary) {
|
|
739
502
|
parts.push(header);
|
|
740
503
|
parts.push(result.enrichedSummary);
|
|
@@ -744,11 +507,11 @@ async function injectRecap(input, header, footer) {
|
|
|
744
507
|
process.stdout.write(parts.join('\n') + '\n');
|
|
745
508
|
}
|
|
746
509
|
}
|
|
747
|
-
/** SessionStart:startup — inject last session
|
|
510
|
+
/** SessionStart:startup|clear — inject last session summary + memory reminder. */
|
|
748
511
|
async function recap(input) {
|
|
749
512
|
await injectRecap(input, '--- LAST SESSION (auto-generated) ---', '--- END LAST SESSION ---');
|
|
750
513
|
}
|
|
751
|
-
/** SessionStart:compact recovery —
|
|
514
|
+
/** SessionStart:compact recovery — reinject cached session summary + memory reminder. */
|
|
752
515
|
async function recover(input) {
|
|
753
516
|
await injectRecap(input, '--- SESSION RECOVERY (auto-generated) ---', '--- END SESSION RECOVERY ---');
|
|
754
517
|
}
|
|
@@ -769,7 +532,6 @@ async function handoff(input) {
|
|
|
769
532
|
}
|
|
770
533
|
const profileId = path.basename(cwd);
|
|
771
534
|
const sessionId = input.session_id || `handoff-${Date.now()}`;
|
|
772
|
-
// Fire-and-forget: send request but don't await the response
|
|
773
535
|
fetch(`${cfg.apiUrl}/v1/memory/store`, {
|
|
774
536
|
method: 'POST',
|
|
775
537
|
headers: {
|
|
@@ -783,12 +545,11 @@ async function handoff(input) {
|
|
|
783
545
|
agentProse: message,
|
|
784
546
|
crystallization: 'compaction',
|
|
785
547
|
}),
|
|
786
|
-
}).catch(() => { });
|
|
548
|
+
}).catch(() => { });
|
|
787
549
|
process.stdout.write('Handoff stored. Next session will pick it up via recap.\n');
|
|
788
|
-
// Brief delay to let the HTTP request body flush to the socket
|
|
789
550
|
await new Promise(resolve => setTimeout(resolve, 300));
|
|
790
551
|
}
|
|
791
|
-
const SUBCOMMANDS = ['
|
|
552
|
+
const SUBCOMMANDS = ['store', 'signal', 'summary', 'recover', 'farewell', 'recap', 'handoff'];
|
|
792
553
|
async function main() {
|
|
793
554
|
const subcommand = process.argv[2];
|
|
794
555
|
if (!subcommand || !SUBCOMMANDS.includes(subcommand)) {
|
|
@@ -808,13 +569,7 @@ async function main() {
|
|
|
808
569
|
catch {
|
|
809
570
|
process.exit(0);
|
|
810
571
|
}
|
|
811
|
-
if (subcommand === '
|
|
812
|
-
await compact(input);
|
|
813
|
-
}
|
|
814
|
-
else if (subcommand === 'retrieve') {
|
|
815
|
-
await retrieve(input);
|
|
816
|
-
}
|
|
817
|
-
else if (subcommand === 'signal') {
|
|
572
|
+
if (subcommand === 'signal') {
|
|
818
573
|
await signal(input);
|
|
819
574
|
}
|
|
820
575
|
else if (subcommand === 'summary') {
|
|
@@ -838,6 +593,6 @@ async function main() {
|
|
|
838
593
|
}
|
|
839
594
|
main().catch(err => {
|
|
840
595
|
process.stderr.write(`[greprag-hook] Fatal: ${err.message}\n`);
|
|
841
|
-
process.exit(0);
|
|
596
|
+
process.exit(0);
|
|
842
597
|
});
|
|
843
598
|
//# sourceMappingURL=hook.js.map
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
/** GrepRAG CLI — agent memory for Claude Code.
|
|
3
3
|
* Usage: greprag <command>
|
|
4
4
|
* init — configure Claude Code for GrepRAG memory
|
|
5
|
-
* recall — search memory for prior context (agent-initiated)
|
|
6
5
|
* inbox — view pending messages
|
|
7
6
|
* send — send a message to another agent
|
|
8
7
|
* dismiss — dismiss a message (keeps as memory)
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
/** GrepRAG CLI — agent memory for Claude Code.
|
|
4
4
|
* Usage: greprag <command>
|
|
5
5
|
* init — configure Claude Code for GrepRAG memory
|
|
6
|
-
* recall — search memory for prior context (agent-initiated)
|
|
7
6
|
* inbox — view pending messages
|
|
8
7
|
* send — send a message to another agent
|
|
9
8
|
* dismiss — dismiss a message (keeps as memory)
|
|
@@ -113,77 +112,6 @@ async function apiGet(url, apiKey) {
|
|
|
113
112
|
return res.json();
|
|
114
113
|
}
|
|
115
114
|
// -- Commands --------------------------------------------------------------
|
|
116
|
-
/** Find the first positional (non-flag, non-flag-value) arg. */
|
|
117
|
-
function firstPositional(args, knownFlags) {
|
|
118
|
-
for (let i = 0; i < args.length; i++) {
|
|
119
|
-
const a = args[i];
|
|
120
|
-
if (a.startsWith('--')) {
|
|
121
|
-
i++;
|
|
122
|
-
continue;
|
|
123
|
-
} // skip flag + its value
|
|
124
|
-
// Previous arg is a known flag → this is the flag's value, skip
|
|
125
|
-
if (i > 0 && knownFlags.includes(args[i - 1]))
|
|
126
|
-
continue;
|
|
127
|
-
return a;
|
|
128
|
-
}
|
|
129
|
-
return undefined;
|
|
130
|
-
}
|
|
131
|
-
async function recall(args) {
|
|
132
|
-
const cfg = getConfig();
|
|
133
|
-
if (!cfg.apiKey) {
|
|
134
|
-
console.error('Not configured. Run: greprag init');
|
|
135
|
-
process.exit(1);
|
|
136
|
-
}
|
|
137
|
-
const query = firstPositional(args, ['--profile', '--session', '--limit']);
|
|
138
|
-
if (!query) {
|
|
139
|
-
console.error('Usage: greprag recall "query" [--profile <id>] [--session <id>]');
|
|
140
|
-
process.exit(1);
|
|
141
|
-
}
|
|
142
|
-
const profileId = getFlag(args, '--profile') || path.basename(process.cwd());
|
|
143
|
-
const sessionId = getFlag(args, '--session');
|
|
144
|
-
const result = await apiCall(`${cfg.apiUrl}/v1/memory/retrieve`, cfg.apiKey, {
|
|
145
|
-
query,
|
|
146
|
-
profileId,
|
|
147
|
-
...(sessionId && { sessionId }),
|
|
148
|
-
});
|
|
149
|
-
if (result.ok !== true) {
|
|
150
|
-
console.error(`Recall failed: ${result.error || 'unknown error'}`);
|
|
151
|
-
process.exit(1);
|
|
152
|
-
}
|
|
153
|
-
const r = result.result;
|
|
154
|
-
const ids = r?.injectedChunkIds || [];
|
|
155
|
-
const entityContext = r?.entityContext || [];
|
|
156
|
-
const incomplete = entityContext.filter(e => e.status !== 'complete');
|
|
157
|
-
if (ids.length === 0) {
|
|
158
|
-
console.log(`No memories found for "${query}" in profile ${profileId}.`);
|
|
159
|
-
console.log(`(${r?.matchQuality || 'none'} match, ${r?.timeMs ?? 0}ms)`);
|
|
160
|
-
if (incomplete.length > 0) {
|
|
161
|
-
console.log(`\n[Unknown entities mentioned: ${incomplete.map(e => e.name).join(', ')}]`);
|
|
162
|
-
console.log(`If you know any, emit: <entity-summary name="Name">what it is</entity-summary>`);
|
|
163
|
-
}
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
// Entity summaries (known, complete) first — high-signal context
|
|
167
|
-
const known = entityContext.filter(e => e.status === 'complete' && e.summary);
|
|
168
|
-
if (known.length > 0) {
|
|
169
|
-
console.log(`[Entities: ${known.map(e => `${e.name}: ${e.summary}`).join(' | ')}]`);
|
|
170
|
-
}
|
|
171
|
-
// Memory block (same format the retrieve-hook used to inject)
|
|
172
|
-
if (r.formattedBlock) {
|
|
173
|
-
console.log(r.formattedBlock);
|
|
174
|
-
}
|
|
175
|
-
// Stats footer
|
|
176
|
-
console.log(`\n# ${ids.length} ${ids.length === 1 ? 'memory' : 'memories'} (${r.totalWords ?? 0}w, ${r.matchQuality || 'none'} match, ${r.timeMs ?? 0}ms)`);
|
|
177
|
-
// Feedback template — short IDs match what the agent sees in the block above
|
|
178
|
-
const shortIds = ids.map(id => id.slice(0, 8));
|
|
179
|
-
const template = JSON.stringify(shortIds.map(id => ({ id, s: 0, r: '' })));
|
|
180
|
-
const n = ids.length;
|
|
181
|
-
console.log(`\n[feedback required: rate the ${n} memor${n === 1 ? 'y' : 'ies'} above before ending your turn. Emit <mfb>${template}</mfb> replacing each s:0 with 1-5 (1=noise, 2=tangential, 3=somewhat useful, 4=relevant, 5=essential) and r with a brief reason. This is how the retrieval pipeline learns — skipping leaves it blind.]`);
|
|
182
|
-
// Entity asks (unknown/incomplete)
|
|
183
|
-
if (incomplete.length > 0) {
|
|
184
|
-
console.log(`\n[Unknown entities: ${incomplete.map(e => e.name).join(', ')} — emit <entity-summary name="Name">what it is</entity-summary> for any you can describe.]`);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
115
|
async function expand(args) {
|
|
188
116
|
const cfg = getConfig();
|
|
189
117
|
if (!cfg.apiKey) {
|
|
@@ -310,7 +238,6 @@ greprag — agent memory for Claude Code
|
|
|
310
238
|
|
|
311
239
|
Commands:
|
|
312
240
|
init [--api-key <key>] Configure hooks + API key
|
|
313
|
-
recall "query" [--profile <id>] Search memory for prior context (agent-initiated)
|
|
314
241
|
inbox [--profile <id>] View pending messages
|
|
315
242
|
send "msg" --to <profile> Send a message to another agent
|
|
316
243
|
dismiss --chunk <id> Dismiss a message (keeps as memory)
|
|
@@ -326,7 +253,6 @@ Options:
|
|
|
326
253
|
|
|
327
254
|
Examples:
|
|
328
255
|
greprag init
|
|
329
|
-
greprag recall "deploy api production"
|
|
330
256
|
greprag inbox
|
|
331
257
|
greprag send "Deploy the auth flow" --to discord
|
|
332
258
|
greprag dismiss --chunk abc123
|
|
@@ -348,7 +274,6 @@ async function main() {
|
|
|
348
274
|
await (0, init_1.runInit)({ apiKey, tenantId });
|
|
349
275
|
return;
|
|
350
276
|
}
|
|
351
|
-
case 'recall': return recall(subArgs);
|
|
352
277
|
case 'inbox': return inbox(subArgs);
|
|
353
278
|
case 'send': return send(subArgs);
|
|
354
279
|
case 'dismiss': return dismiss(subArgs);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|