greprag 0.2.20 → 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 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
- * Subcommands: retrieve, store, compact, signal, summary, recover, farewell, recap, handoff
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) → retrieve → [agent turn] → store → farewell(SessionEnd)
8
- * summary(PreCompact) → compact → recover(SessionStart:compact)
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
- * Subcommands: retrieve, store, compact, signal, summary, recover, farewell, recap, handoff
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) → retrieve → [agent turn] → store → farewell(SessionEnd)
9
- * summary(PreCompact) → compact → recover(SessionStart:compact)
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,133 +105,21 @@ async function apiCall(url, apiKey, body) {
140
105
  }
141
106
  return res.json();
142
107
  }
143
- /** SessionStart:compact — flag that next prompt is system-generated, not user.
144
- * Also clears the retrieval dedup cache so previously-injected memories
145
- * can resurface after compaction resets Claude's context. */
146
- async function compact(input) {
147
- setFlag('skip-next');
148
- // Clear dedup cache for this session
149
- const sessionId = input.session_id;
150
- if (sessionId) {
151
- const cwd = input.cwd || process.cwd();
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 — retrieve memory, cache prompt for store pairing. */
159
- async function retrieve(input) {
160
- const cwd = input.cwd || process.cwd();
161
- const cfg = getConfig(cwd);
162
- if (!cfg.enabled || !cfg.apiKey)
163
- return;
164
- const prompt = input.prompt || '';
165
- const sessionId = input.session_id || '';
166
- const profileId = path.basename(cwd);
167
- // After compaction, the first prompt is system-generated — skip caching it
168
- const skipStore = consumeFlag('skip-next');
169
- // Compute stress streak directly from transcript — zero timing lag.
170
- // Count consecutive assistant turns without tool_use from the tail.
171
- const stressStreak = computeTranscriptStress(input.transcript_path);
172
- // Retrieve memory + count pending messages in parallel
173
- const [result, countResult] = await Promise.all([
174
- apiCall(`${cfg.apiUrl}/v1/memory/retrieve`, cfg.apiKey, {
175
- query: prompt,
176
- profileId,
177
- sessionId,
178
- stressStreak,
179
- }),
180
- apiCall(`${cfg.apiUrl}/v1/memory/messages/count`, cfg.apiKey, {
181
- profileId,
182
- sessionId,
183
- }),
184
- ]);
185
- // Extract retrieval metadata for feedback chain
186
- let injectedMemoryIds;
187
- let memoryScores;
188
- let chainMeta;
189
- let hasMemories = false;
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 + memory chunks
198
- let entityContext = [];
199
- if (result?.ok) {
200
- const r = result.result;
201
- // Inject entity summaries (server handles dedup via session cache)
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
- // Always capture chainMeta for novelty/stress signal line
213
- chainMeta = r.chainMeta;
214
- if (r?.totalWords > 0 && r?.formattedBlock) {
215
- context += r.formattedBlock;
216
- hasMemories = true;
217
- injectedMemoryIds = r.injectedChunkIds;
218
- memoryScores = r.memoryScores;
219
- }
220
- }
221
- // GrepRAG signal line — always injected (novelty, stress, entities every turn)
222
- const parts = [];
223
- // Novelty + stress state — always
224
- if (chainMeta) {
225
- const nov = typeof chainMeta.noveltyRatio === 'number' ? Math.round(chainMeta.noveltyRatio * 100) : null;
226
- const streak = typeof chainMeta.stressStreak === 'number' ? chainMeta.stressStreak : 0;
227
- const state = streak >= 2 ? `stress: ${streak} (expanded)` : streak === 1 ? 'stress: 1' : 'action';
228
- parts.push(`novelty: ${nov !== null ? nov + '%' : '?'} | ${state}`);
229
- }
230
- // Incomplete entities — always
231
- const incomplete = entityContext.filter(e => e.status !== 'complete');
232
- if (incomplete.length > 0) {
233
- parts.push(`entities: <entity-summary name="Name">what it is</entity-summary> for: ${incomplete.map(e => e.name).join(', ')}`);
234
- }
235
- if (parts.length > 0) {
236
- context += `\n[greprag: ${parts.join(' | ')}]`;
237
- }
238
- // Memory feedback — separate directive block so it reads as an action, not metadata.
239
- // Must follow the signal line so agents see it last, right before composing the response.
240
- const feedbackEnabled = result?.ok && result.result?.feedbackEnabled === true;
241
- if (feedbackEnabled && hasMemories && injectedMemoryIds && injectedMemoryIds.length > 0) {
242
- const ids = injectedMemoryIds.map(id => id.slice(0, 8));
243
- const template = JSON.stringify(ids.map(id => ({ id, s: 0, r: '' })));
244
- const n = injectedMemoryIds.length;
245
- context += `\n[feedback required: rate the ${n} injected memor${n === 1 ? 'y' : 'ies'} 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.]`;
246
- }
247
- // Cache prompt + retrieval metadata for the store hook
248
- if (prompt && !skipStore) {
249
- cachePrompt({ prompt, sessionId, profileId, injectedMemoryIds, memoryScores, chainMeta });
250
- }
251
- if (context) {
252
- process.stdout.write(JSON.stringify({
253
- hookSpecificOutput: {
254
- hookEventName: 'UserPromptSubmit',
255
- additionalContext: context,
256
- },
257
- }));
258
- }
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();
259
117
  }
260
- /** Detect action in the last assistant turn reads transcript for tool_use blocks.
261
- * A single turn spans multiple requestIds (text tool_use tool_result text ...).
262
- * Walk backwards through the transcript; stop at a real user message (non-tool_result). */
263
- function detectAction(transcriptPath, agentProse) {
264
- // Fast path: code blocks in the text response
265
- if (/```/.test(agentProse))
266
- return true;
267
- // 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) {
268
121
  if (!transcriptPath)
269
- return false;
122
+ return '';
270
123
  try {
271
124
  const raw = fs.readFileSync(transcriptPath, 'utf-8');
272
125
  const lines = raw.split('\n');
@@ -283,43 +136,34 @@ function detectAction(transcriptPath, agentProse) {
283
136
  }
284
137
  const msg = (entry.message || entry);
285
138
  const role = (msg.role || entry.type || '');
286
- // User entry: tool_result = still same turn, real message = turn boundary
287
- if (role === 'user') {
288
- if (Array.isArray(msg.content)) {
289
- const isToolResult = msg.content
290
- .some(b => b?.type === 'tool_result');
291
- if (isToolResult)
292
- continue; // same turn — keep walking
293
- }
294
- 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;
295
146
  }
296
- // Assistant entry: check for tool_use
297
- if (role === 'assistant' && Array.isArray(msg.content)) {
298
- for (const b of msg.content) {
299
- if (b?.type === 'tool_use')
300
- return true;
301
- }
147
+ const text = extractText(msg.content);
148
+ if (text && !text.startsWith('<system') && !text.startsWith('{')) {
149
+ return text;
302
150
  }
303
- // Skip system, file-history-snapshot, etc.
304
151
  }
305
152
  }
306
- catch { /* transcript read failed — fall through */ }
307
- return false;
153
+ catch { /* transcript read failed */ }
154
+ return '';
308
155
  }
309
- /** Count consecutive substantial prose turns (no tool_use, 50+ words) from the
310
- * transcript tail. Short responses (< 50 words) are neutral don't increment
311
- * the streak but don't reset it either. Action always resets. */
312
- const STRESS_MIN_WORDS = 50;
313
- function computeTranscriptStress(transcriptPath) {
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;
314
162
  if (!transcriptPath)
315
- return 0;
163
+ return false;
316
164
  try {
317
165
  const raw = fs.readFileSync(transcriptPath, 'utf-8');
318
166
  const lines = raw.split('\n');
319
- let streak = 0;
320
- let turnHasAction = false;
321
- let turnTextLength = 0;
322
- let inTurn = false;
323
167
  for (let i = lines.length - 1; i >= 0; i--) {
324
168
  const line = lines[i].trim();
325
169
  if (!line)
@@ -333,54 +177,25 @@ function computeTranscriptStress(transcriptPath) {
333
177
  }
334
178
  const msg = (entry.message || entry);
335
179
  const role = (msg.role || entry.type || '');
336
- if (role === 'assistant') {
337
- inTurn = true;
180
+ if (role === 'user') {
338
181
  if (Array.isArray(msg.content)) {
339
- for (const b of msg.content) {
340
- if (b?.type === 'tool_use')
341
- turnHasAction = true;
342
- if (b?.type === 'text' && typeof b.text === 'string') {
343
- turnTextLength += b.text.split(/\s+/).filter(Boolean).length;
344
- }
345
- }
182
+ const isToolResult = msg.content
183
+ .some(b => b?.type === 'tool_result');
184
+ if (isToolResult)
185
+ continue;
346
186
  }
187
+ break;
347
188
  }
348
- else if (role === 'user') {
349
- const isToolResult = Array.isArray(msg.content) &&
350
- msg.content.some(b => b?.type === 'tool_result');
351
- if (isToolResult)
352
- continue; // still same turn
353
- // Real user message = turn boundary
354
- if (inTurn) {
355
- if (turnHasAction)
356
- break; // action resets — stop counting
357
- if (turnTextLength >= STRESS_MIN_WORDS)
358
- streak++; // substantial prose
359
- // 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;
360
193
  }
361
- turnHasAction = false;
362
- turnTextLength = 0;
363
- inTurn = false;
364
194
  }
365
195
  }
366
- return streak;
367
- }
368
- catch {
369
- return 0;
370
- }
371
- }
372
- /** Parse <entity-summary> tags from agent response. */
373
- function parseEntitySummaries(text) {
374
- const results = [];
375
- const regex = /<entity-summary\s+name="([^"]+)">([\s\S]*?)<\/entity-summary>/g;
376
- let match;
377
- while ((match = regex.exec(text)) !== null) {
378
- const name = match[1].trim();
379
- const summary = match[2].trim();
380
- if (name && summary)
381
- results.push({ name, summary });
382
196
  }
383
- return results;
197
+ catch { /* transcript read failed — fall through */ }
198
+ return false;
384
199
  }
385
200
  /** Parse <profile-summary> tag from agent response. Returns null if not found. */
386
201
  function parseProfileSummary(text) {
@@ -399,23 +214,7 @@ function parseProfileDetails(text) {
399
214
  }
400
215
  return results;
401
216
  }
402
- /** Parse <mfb>[...]</mfb> from agent response. Returns null if not found. */
403
- function parseFeedbackTag(text) {
404
- const match = text.match(/<mfb>([\s\S]*?)<\/mfb>/);
405
- if (!match)
406
- return null;
407
- try {
408
- const parsed = JSON.parse(match[1]);
409
- if (!Array.isArray(parsed))
410
- return null;
411
- // Filter out template entries (s=0) and invalid entries
412
- return parsed.filter((e) => typeof e.id === 'string' && typeof e.s === 'number' && e.s >= 1 && e.s <= 5);
413
- }
414
- catch {
415
- return null;
416
- }
417
- }
418
- /** 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). */
419
218
  async function store(input) {
420
219
  const cwd = input.cwd || process.cwd();
421
220
  const cfg = getConfig(cwd);
@@ -424,14 +223,10 @@ async function store(input) {
424
223
  const agentProse = input.last_assistant_message || '';
425
224
  if (!agentProse)
426
225
  return;
427
- // Read the cached prompt from the retrieve hook
428
- const cached = readCachedPrompt();
429
- const userMessage = cached?.prompt || '';
430
- const sessionId = cached?.sessionId || input.session_id || `hook-${Date.now()}`;
431
- const profileId = cached?.profileId || path.basename(cwd);
432
- // 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);
433
229
  const hasAction = detectAction(input.transcript_path, agentProse);
434
- // Store the turn memory
435
230
  const storePromise = apiCall(`${cfg.apiUrl}/v1/memory/store`, cfg.apiKey, {
436
231
  profileId,
437
232
  sessionId,
@@ -440,36 +235,6 @@ async function store(input) {
440
235
  hasAction,
441
236
  crystallization: 'turn',
442
237
  });
443
- // Parse and ship feedback if present
444
- let feedbackPromise = null;
445
- if (cached?.injectedMemoryIds && cached.injectedMemoryIds.length > 0) {
446
- const ratings = parseFeedbackTag(agentProse);
447
- if (ratings && ratings.length > 0) {
448
- feedbackPromise = apiCall(`${cfg.apiUrl}/v1/memory/feedback`, cfg.apiKey, {
449
- ratings: ratings.map(r => ({
450
- memoryId: r.id,
451
- relevanceScore: r.s,
452
- reason: r.r || undefined,
453
- retrievalScore: cached.memoryScores?.[
454
- // Resolve short ID to full ID for score lookup
455
- cached.injectedMemoryIds?.find(full => full.startsWith(r.id)) || r.id],
456
- })),
457
- profileId,
458
- sessionId,
459
- triggerQuery: cached.prompt,
460
- retrievalMeta: cached.chainMeta,
461
- });
462
- }
463
- }
464
- // Parse and ship entity summaries if present
465
- let entityPromise = null;
466
- const entitySummaries = parseEntitySummaries(agentProse);
467
- if (entitySummaries.length > 0) {
468
- entityPromise = apiCall(`${cfg.apiUrl}/v1/memory/entities/summarize`, cfg.apiKey, {
469
- summaries: entitySummaries,
470
- });
471
- }
472
- // Parse and ship profile summary/details if present
473
238
  let profilePromise = null;
474
239
  const profSummary = parseProfileSummary(agentProse);
475
240
  const profDetails = parseProfileDetails(agentProse);
@@ -480,8 +245,7 @@ async function store(input) {
480
245
  details: profDetails.length > 0 && !profSummary ? profDetails : undefined,
481
246
  });
482
247
  }
483
- // Run store + feedback + entity summaries + profile summary in parallel
484
- await Promise.all([storePromise, feedbackPromise, entityPromise, profilePromise].filter(Boolean));
248
+ await Promise.all([storePromise, profilePromise].filter(Boolean));
485
249
  }
486
250
  /** Find the most recently modified plan file in ~/.claude/plans/ */
487
251
  function readNewestPlanFile() {
@@ -496,7 +260,6 @@ function readNewestPlanFile() {
496
260
  .sort((a, b) => b.mtime - a.mtime);
497
261
  if (!files.length)
498
262
  return null;
499
- // Only consider plans modified in the last 60 seconds (freshly written)
500
263
  if (Date.now() - files[0].mtime > 60_000)
501
264
  return null;
502
265
  return fs.readFileSync(files[0].path, 'utf-8');
@@ -538,9 +301,8 @@ async function signal(input) {
538
301
  if (toolName === 'ExitPlanMode') {
539
302
  const planContent = readNewestPlanFile();
540
303
  if (!planContent)
541
- return; // no plan file found
304
+ return;
542
305
  userMessage = '[Plan Approved]';
543
- // Cap at ~2000 words to avoid oversized payloads
544
306
  const words = planContent.split(/\s+/);
545
307
  agentProse = words.length > 2000
546
308
  ? words.slice(0, 2000).join(' ') + '\n\n[truncated]'
@@ -558,7 +320,7 @@ async function signal(input) {
558
320
  crystallization = 'decision';
559
321
  }
560
322
  else {
561
- return; // unknown tool, ignore
323
+ return;
562
324
  }
563
325
  await apiCall(`${cfg.apiUrl}/v1/memory/store`, cfg.apiKey, {
564
326
  profileId,
@@ -568,16 +330,6 @@ async function signal(input) {
568
330
  crystallization,
569
331
  });
570
332
  }
571
- function extractText(content) {
572
- if (typeof content === 'string')
573
- return content.trim();
574
- if (!Array.isArray(content))
575
- return '';
576
- return content
577
- .filter((b) => b?.type === 'text')
578
- .map((b) => b.text || '')
579
- .join('\n').trim();
580
- }
581
333
  function parseTranscript(transcriptPath) {
582
334
  const userReqs = [];
583
335
  const files = new Set();
@@ -629,7 +381,6 @@ function parseTranscript(transcriptPath) {
629
381
  }
630
382
  }
631
383
  }
632
- // Deduplicate user requests, keep last 10
633
384
  const seen = new Set();
634
385
  const uniqueReqs = userReqs.map(r => r.split('\n')[0].slice(0, 150))
635
386
  .filter(r => { if (seen.has(r))
@@ -693,13 +444,11 @@ async function farewell(input) {
693
444
  const extracted = extractSessionText(input);
694
445
  if (!extracted)
695
446
  return;
696
- // Only store to API if content is substantial (skip tiny post-compaction tails)
697
447
  if (extracted.rawText.split(/\s+/).length < 30)
698
448
  return;
699
449
  const cfg = getConfig(extracted.cwd);
700
450
  if (!cfg.enabled || !cfg.apiKey)
701
451
  return;
702
- // Fire-and-forget: send request but don't await — survives session teardown
703
452
  fetch(`${cfg.apiUrl}/v1/memory/store`, {
704
453
  method: 'POST',
705
454
  headers: {
@@ -714,13 +463,12 @@ async function farewell(input) {
714
463
  crystallization: 'compaction',
715
464
  }),
716
465
  }).catch(() => { });
717
- // Brief delay to let the HTTP request body flush to the socket
718
466
  await new Promise(resolve => setTimeout(resolve, 300));
719
467
  }
720
468
  function isOlderThanDays(isoDate, days) {
721
469
  return Date.now() - new Date(isoDate).getTime() > days * 24 * 60 * 60 * 1000;
722
470
  }
723
- /** Fetch latest session summary + profile summary from API and inject into stdout. */
471
+ /** Fetch profile + session recap, inject into stdout with memory-tools reminder. */
724
472
  async function injectRecap(input, header, footer) {
725
473
  const cwd = input.cwd || process.cwd();
726
474
  const cfg = getConfig(cwd);
@@ -731,7 +479,8 @@ async function injectRecap(input, header, footer) {
731
479
  if (!result?.ok)
732
480
  return;
733
481
  const parts = [];
734
- // Profile summary block
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}\`.]`);
735
484
  const pSummary = result.profileSummary;
736
485
  const pDetails = result.profileDetails || [];
737
486
  if (pSummary || pDetails.length > 0) {
@@ -741,7 +490,6 @@ async function injectRecap(input, header, footer) {
741
490
  for (const d of pDetails)
742
491
  parts.push(`- ${d}`);
743
492
  }
744
- // Profile signal — request consolidation when stale, always accept details
745
493
  const stale = !pSummary
746
494
  || pDetails.length > 5
747
495
  || (result.profileSummaryUpdatedAt && isOlderThanDays(result.profileSummaryUpdatedAt, 7));
@@ -750,7 +498,6 @@ async function injectRecap(input, header, footer) {
750
498
  signals.push('<profile-summary>what this project is, what we work on, current state</profile-summary>');
751
499
  signals.push('<profile-detail>new fact about this project</profile-detail>');
752
500
  parts.push(`[greprag-profile: ${signals.join(' + ')}]`);
753
- // Session recap block
754
501
  if (result.found && result.enrichedSummary) {
755
502
  parts.push(header);
756
503
  parts.push(result.enrichedSummary);
@@ -760,11 +507,11 @@ async function injectRecap(input, header, footer) {
760
507
  process.stdout.write(parts.join('\n') + '\n');
761
508
  }
762
509
  }
763
- /** SessionStart:startup — inject last session's summary for continuity. */
510
+ /** SessionStart:startup|clear — inject last session summary + memory reminder. */
764
511
  async function recap(input) {
765
512
  await injectRecap(input, '--- LAST SESSION (auto-generated) ---', '--- END LAST SESSION ---');
766
513
  }
767
- /** SessionStart:compact recovery — inject cached session summary into context. */
514
+ /** SessionStart:compact recovery — reinject cached session summary + memory reminder. */
768
515
  async function recover(input) {
769
516
  await injectRecap(input, '--- SESSION RECOVERY (auto-generated) ---', '--- END SESSION RECOVERY ---');
770
517
  }
@@ -785,7 +532,6 @@ async function handoff(input) {
785
532
  }
786
533
  const profileId = path.basename(cwd);
787
534
  const sessionId = input.session_id || `handoff-${Date.now()}`;
788
- // Fire-and-forget: send request but don't await the response
789
535
  fetch(`${cfg.apiUrl}/v1/memory/store`, {
790
536
  method: 'POST',
791
537
  headers: {
@@ -799,12 +545,11 @@ async function handoff(input) {
799
545
  agentProse: message,
800
546
  crystallization: 'compaction',
801
547
  }),
802
- }).catch(() => { }); // swallow errors — already printed confirmation
548
+ }).catch(() => { });
803
549
  process.stdout.write('Handoff stored. Next session will pick it up via recap.\n');
804
- // Brief delay to let the HTTP request body flush to the socket
805
550
  await new Promise(resolve => setTimeout(resolve, 300));
806
551
  }
807
- const SUBCOMMANDS = ['retrieve', 'store', 'compact', 'signal', 'summary', 'recover', 'farewell', 'recap', 'handoff'];
552
+ const SUBCOMMANDS = ['store', 'signal', 'summary', 'recover', 'farewell', 'recap', 'handoff'];
808
553
  async function main() {
809
554
  const subcommand = process.argv[2];
810
555
  if (!subcommand || !SUBCOMMANDS.includes(subcommand)) {
@@ -824,13 +569,7 @@ async function main() {
824
569
  catch {
825
570
  process.exit(0);
826
571
  }
827
- if (subcommand === 'compact') {
828
- await compact(input);
829
- }
830
- else if (subcommand === 'retrieve') {
831
- await retrieve(input);
832
- }
833
- else if (subcommand === 'signal') {
572
+ if (subcommand === 'signal') {
834
573
  await signal(input);
835
574
  }
836
575
  else if (subcommand === 'summary') {
@@ -854,6 +593,6 @@ async function main() {
854
593
  }
855
594
  main().catch(err => {
856
595
  process.stderr.write(`[greprag-hook] Fatal: ${err.message}\n`);
857
- process.exit(0); // never break a session
596
+ process.exit(0);
858
597
  });
859
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greprag",
3
- "version": "0.2.20",
3
+ "version": "0.4.0",
4
4
  "description": "GrepRAG — agent memory for Claude Code. 2-command setup.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {