greprag 0.8.3 → 0.8.5

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.
@@ -24,6 +24,7 @@ interface WatchOptions {
24
24
  json?: boolean;
25
25
  signal?: AbortSignal;
26
26
  backoffInitialMs?: number;
27
+ idleTimeoutMs?: number;
27
28
  }
28
29
  interface InboxReferences {
29
30
  memory_ids?: string[];
@@ -59,6 +59,13 @@ const API_URL_DEFAULT = 'https://api.greprag.com';
59
59
  const BACKOFF_INITIAL_MS = 1_000;
60
60
  const BACKOFF_MAX_MS = 30_000;
61
61
  const BACKOFF_FACTOR = 2;
62
+ // Server sends `: ping` heartbeats every 15s. Treating 60s of total silence
63
+ // (4 missed heartbeats) as a dead stream gives plenty of headroom for a
64
+ // brief network blip without letting a silently half-open TCP socket hang
65
+ // the watcher forever — the pre-fix failure mode that motivated this code.
66
+ const IDLE_TIMEOUT_MS = 60_000;
67
+ const IDLE_CHECK_INTERVAL_MS = 5_000;
68
+ const LOG_PREFIX = '[greprag inbox watch]';
62
69
  // -- Config (mirrors the loader in index.ts/discover.ts) -------------------
63
70
  function loadEnvFile(filePath) {
64
71
  try {
@@ -93,6 +100,24 @@ function getConfig() {
93
100
  apiKey: process.env.GREPRAG_API_KEY || '',
94
101
  };
95
102
  }
103
+ /** Thrown when a stream read fails mid-flight (idle timeout, TCP reset,
104
+ * upstream error). Carries the cursor seen so far so the outer reconnect
105
+ * loop can resume with `?since=<id>` and not lose messages — pre-fix the
106
+ * cursor was lost on throw and reconnect started fresh. */
107
+ class StreamInterrupted extends Error {
108
+ constructor(message, lastId) {
109
+ super(message);
110
+ this.name = 'StreamInterrupted';
111
+ this.lastId = lastId;
112
+ }
113
+ }
114
+ /** Human-readable duration: "300ms", "5s", "60s". Avoids the rounded-to-0s
115
+ * log line that early test runs produced with sub-second test overrides. */
116
+ function fmtDuration(ms) {
117
+ if (ms < 1000)
118
+ return `${ms}ms`;
119
+ return `${Math.round(ms / 1000)}s`;
120
+ }
96
121
  /** Parse one SSE event block (fields separated by single LF, block terminated
97
122
  * by a blank line). Returns null for comment-only blocks (`:ping`). */
98
123
  function parseEventBlock(block) {
@@ -176,69 +201,124 @@ function printMessage(msg) {
176
201
  console.log('');
177
202
  }
178
203
  // -- Connection loop ------------------------------------------------------
179
- /** Read the SSE stream until disconnect or abort. Returns the last-seen
180
- * message id (or null if nothing arrived), so the caller can resume. */
181
- async function readStream(url, apiKey, signal, initialId, json) {
182
- const res = await fetch(url, {
183
- headers: { 'Authorization': `Bearer ${apiKey}`, 'Accept': 'text/event-stream' },
184
- signal,
185
- });
186
- if (!res.ok) {
187
- const text = await res.text();
188
- throw new Error(`HTTP ${res.status}: ${text.slice(0, 200)}`);
189
- }
190
- if (!res.body) {
191
- throw new Error('No response body — server did not stream');
192
- }
193
- let lastId = initialId;
194
- const reader = res.body.getReader();
195
- const decoder = new TextDecoder();
196
- let buffer = '';
204
+ /** Read the SSE stream until disconnect, idle timeout, or abort. Returns
205
+ * the last-seen message id (or null if nothing arrived), so the caller
206
+ * can resume with `?since=<id>`. Throws on idle timeout — pre-fix the
207
+ * read could hang indefinitely on a silently half-open TCP socket; the
208
+ * inner AbortController + idle timer below ensure we fail fast and the
209
+ * outer loop reconnects with the cursor still intact. */
210
+ async function readStream(url, apiKey, signal, initialId, json, idleTimeoutMs) {
211
+ // Compose external abort + internal idle-abort into one signal handed to
212
+ // fetch(). Either source aborts the in-flight read so the loop can exit
213
+ // promptly and reconnect.
214
+ const inner = new AbortController();
215
+ const onOuterAbort = () => inner.abort();
216
+ if (signal.aborted)
217
+ inner.abort();
218
+ else
219
+ signal.addEventListener('abort', onOuterAbort, { once: true });
220
+ let idleAborted = false;
221
+ let lastByteAt = Date.now();
222
+ const idleTimer = setInterval(() => {
223
+ if (Date.now() - lastByteAt > idleTimeoutMs) {
224
+ idleAborted = true;
225
+ inner.abort();
226
+ }
227
+ }, IDLE_CHECK_INTERVAL_MS);
197
228
  try {
198
- while (true) {
199
- const { done, value } = await reader.read();
200
- if (done)
201
- return lastId;
202
- buffer += decoder.decode(value, { stream: true });
203
- let sep;
204
- // SSE event terminator is a blank line — \n\n or \r\n\r\n. Normalize.
205
- buffer = buffer.replace(/\r\n/g, '\n');
206
- while ((sep = buffer.indexOf('\n\n')) >= 0) {
207
- const block = buffer.slice(0, sep);
208
- buffer = buffer.slice(sep + 2);
209
- const ev = parseEventBlock(block);
210
- if (!ev)
211
- continue;
212
- if (ev.id)
213
- lastId = ev.id;
214
- if (ev.event === 'message') {
215
- let msg;
216
- try {
217
- msg = JSON.parse(ev.data);
218
- }
219
- catch {
220
- continue;
229
+ const res = await fetch(url, {
230
+ headers: { 'Authorization': `Bearer ${apiKey}`, 'Accept': 'text/event-stream' },
231
+ signal: inner.signal,
232
+ });
233
+ if (!res.ok) {
234
+ const text = await res.text();
235
+ throw new Error(`HTTP ${res.status}: ${text.slice(0, 200)}`);
236
+ }
237
+ if (!res.body) {
238
+ throw new Error('No response body — server did not stream');
239
+ }
240
+ let lastId = initialId;
241
+ const reader = res.body.getReader();
242
+ const decoder = new TextDecoder();
243
+ let buffer = '';
244
+ try {
245
+ while (true) {
246
+ let chunk;
247
+ try {
248
+ chunk = await reader.read();
249
+ }
250
+ catch (err) {
251
+ // Reader threw — usually because inner aborted. Distinguish
252
+ // idle-timeout from external abort so the outer loop logs the
253
+ // right reason. Wrap with lastId so the cursor survives the
254
+ // throw and the reconnect resumes at the right point.
255
+ if (idleAborted) {
256
+ throw new StreamInterrupted(`idle ${fmtDuration(idleTimeoutMs)}, no heartbeat`, lastId);
221
257
  }
222
- const displayMsg = withTruncatedSessions(msg);
223
- if (json)
224
- console.log(JSON.stringify(displayMsg));
225
- else
226
- printMessage(displayMsg);
258
+ throw new StreamInterrupted(err.message || String(err), lastId);
227
259
  }
228
- else if (ev.event === 'error') {
229
- // Surface server-side error then let the loop reconnect.
230
- console.error(`[watch] server error: ${ev.data}`);
260
+ const { done, value } = chunk;
261
+ if (done)
231
262
  return lastId;
263
+ lastByteAt = Date.now();
264
+ buffer += decoder.decode(value, { stream: true });
265
+ let sep;
266
+ // SSE event terminator is a blank line — \n\n or \r\n\r\n. Normalize.
267
+ buffer = buffer.replace(/\r\n/g, '\n');
268
+ while ((sep = buffer.indexOf('\n\n')) >= 0) {
269
+ const block = buffer.slice(0, sep);
270
+ buffer = buffer.slice(sep + 2);
271
+ const ev = parseEventBlock(block);
272
+ if (!ev)
273
+ continue;
274
+ if (ev.id)
275
+ lastId = ev.id;
276
+ if (ev.event === 'message') {
277
+ let msg;
278
+ try {
279
+ msg = JSON.parse(ev.data);
280
+ }
281
+ catch {
282
+ continue;
283
+ }
284
+ const displayMsg = withTruncatedSessions(msg);
285
+ if (json)
286
+ console.log(JSON.stringify(displayMsg));
287
+ else
288
+ printMessage(displayMsg);
289
+ }
290
+ else if (ev.event === 'replay-complete') {
291
+ // Server signal: cursor replay finished, live tail begins. Only
292
+ // worth a log line when there was a real gap to replay — count=0
293
+ // happens on every reconnect that landed inside the tail buffer.
294
+ try {
295
+ const data = JSON.parse(ev.data || '{}');
296
+ if (typeof data.count === 'number' && data.count > 0) {
297
+ const plural = data.count === 1 ? '' : 's';
298
+ console.error(`${LOG_PREFIX} replayed ${data.count} missed row${plural}, resuming live tail`);
299
+ }
300
+ }
301
+ catch { /* malformed control payload — ignore */ }
302
+ }
303
+ else if (ev.event === 'error') {
304
+ // Surface server-side error then let the loop reconnect.
305
+ console.error(`${LOG_PREFIX} server error: ${ev.data}`);
306
+ return lastId;
307
+ }
308
+ // "open" event is informational — ignored at print time.
232
309
  }
233
- // "open" event is informational — ignored at print time.
234
310
  }
235
311
  }
312
+ finally {
313
+ try {
314
+ reader.releaseLock();
315
+ }
316
+ catch { /* already released */ }
317
+ }
236
318
  }
237
319
  finally {
238
- try {
239
- reader.releaseLock();
240
- }
241
- catch { /* already released */ }
320
+ clearInterval(idleTimer);
321
+ signal.removeEventListener('abort', onOuterAbort);
242
322
  }
243
323
  }
244
324
  function buildUrl(apiUrl, project, session, since) {
@@ -259,7 +339,9 @@ async function runInboxWatch(opts) {
259
339
  }
260
340
  let cursor = opts.since ?? null;
261
341
  const initialBackoff = opts.backoffInitialMs ?? BACKOFF_INITIAL_MS;
342
+ const idleTimeoutMs = opts.idleTimeoutMs ?? IDLE_TIMEOUT_MS;
262
343
  let backoff = initialBackoff;
344
+ let isFirstAttempt = true;
263
345
  const controller = new AbortController();
264
346
  // Wire Ctrl-C / SIGTERM into the abort signal so the loop exits cleanly.
265
347
  const onSignal = () => { controller.abort(); };
@@ -272,9 +354,14 @@ async function runInboxWatch(opts) {
272
354
  opts.signal.addEventListener('abort', onSignal, { once: true });
273
355
  }
274
356
  while (!controller.signal.aborted) {
357
+ if (!isFirstAttempt) {
358
+ const lastSeen = cursor ? cursor.slice(0, 8) : 'none';
359
+ console.error(`${LOG_PREFIX} reconnecting (last_seen_id=${lastSeen})`);
360
+ }
361
+ isFirstAttempt = false;
275
362
  const url = buildUrl(cfg.apiUrl, opts.project, opts.session, cursor);
276
363
  try {
277
- const lastId = await readStream(url, cfg.apiKey, controller.signal, cursor, !!opts.json);
364
+ const lastId = await readStream(url, cfg.apiKey, controller.signal, cursor, !!opts.json, idleTimeoutMs);
278
365
  if (lastId)
279
366
  cursor = lastId;
280
367
  backoff = initialBackoff;
@@ -282,14 +369,19 @@ async function runInboxWatch(opts) {
282
369
  catch (err) {
283
370
  if (controller.signal.aborted)
284
371
  break;
372
+ // Mid-stream errors carry a cursor — preserve it so the next
373
+ // attempt sends `?since=<id>` and the server replays the gap.
374
+ if (err instanceof StreamInterrupted && err.lastId)
375
+ cursor = err.lastId;
285
376
  const msg = err.message || String(err);
286
377
  // 4xx errors are user-fixable — no point retrying.
287
378
  const m = /^HTTP (4\d\d)/.exec(msg);
288
379
  if (m) {
289
- console.error(`[watch] ${msg}`);
380
+ console.error(`${LOG_PREFIX} ${msg}`);
290
381
  process.exit(1);
291
382
  }
292
- console.error(`[watch] disconnect: ${msg} retrying in ${Math.round(backoff / 1000)}s`);
383
+ const lastSeen = cursor ? cursor.slice(0, 8) : 'none';
384
+ console.error(`${LOG_PREFIX} disconnect: ${msg} — retrying in ${fmtDuration(backoff)} (last_seen_id=${lastSeen})`);
293
385
  }
294
386
  if (controller.signal.aborted)
295
387
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-watch.js","sourceRoot":"","sources":["../../src/commands/inbox-watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox-watch.js","sourceRoot":"","sources":["../../src/commands/inbox-watch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greprag",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "description": "GrepRAG — agent memory for Claude Code. 2-command setup.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {