greprag 5.27.0 → 5.29.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/commands/corpus/index.js +6 -2
- package/dist/commands/corpus/index.js.map +1 -1
- package/dist/commands/corpus/upload.js +39 -1
- package/dist/commands/corpus/upload.js.map +1 -1
- package/dist/commands/inbox-watch-supervisor.js +27 -0
- package/dist/commands/inbox-watch-supervisor.js.map +1 -1
- package/dist/commands/inbox-watch.d.ts +1 -0
- package/dist/commands/inbox-watch.js +80 -5
- package/dist/commands/inbox-watch.js.map +1 -1
- package/dist/commands/memory-format.d.ts +3 -0
- package/dist/commands/memory-format.js +2 -0
- package/dist/commands/memory-format.js.map +1 -1
- package/dist/commands/memory.js +28 -27
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/watcher-registry.d.ts +59 -0
- package/dist/commands/watcher-registry.js +287 -0
- package/dist/commands/watcher-registry.js.map +1 -0
- package/dist/hook.js +48 -33
- package/dist/hook.js.map +1 -1
- package/dist/index.js +21 -5
- package/dist/index.js.map +1 -1
- package/dist/session-id.d.ts +12 -2
- package/dist/session-id.js +13 -4
- package/dist/session-id.js.map +1 -1
- package/package.json +1 -1
- package/skill/greprag/SKILL.md +1 -1
- package/skill/greprag/docs/inbox-watch.md +6 -4
|
@@ -37,14 +37,17 @@ Subcommands:
|
|
|
37
37
|
upload <file|url> (--enriched | --raw) Create a store and ingest a source.
|
|
38
38
|
[--name N] [--kind K] Text/markdown/code pass through; html,
|
|
39
39
|
[--refresh hourly|daily|manual|off] pdf, docx, xlsx, csv, pptx/odp convert
|
|
40
|
-
|
|
40
|
+
[--index] server-side to clean markdown. Mode is REQUIRED:
|
|
41
41
|
--enriched (per-node LLM vocabulary
|
|
42
42
|
bridge — prose/voice)
|
|
43
43
|
or --raw (lexical index only —
|
|
44
44
|
docs/code). K defaults to 'book';
|
|
45
45
|
N to the file/URL basename. --refresh
|
|
46
46
|
tracks a URL for the freshness loop
|
|
47
|
-
(URLs only; default off).
|
|
47
|
+
(URLs only; default off). --index treats
|
|
48
|
+
the URL as an INDEX (llms.txt / sitemap.xml):
|
|
49
|
+
one store, many member docs (membership
|
|
50
|
+
re-checked daily; bodies backfill via cron).
|
|
48
51
|
search <store> "<intent>" Single-store search. <store> is a
|
|
49
52
|
[--limit 5] [--section "<h>"] [--shape S] UUID or store name.
|
|
50
53
|
search "<intent>" (--all | --store <ref>...) Multistore search (RRF-fused).
|
|
@@ -69,6 +72,7 @@ Examples:
|
|
|
69
72
|
greprag corpus upload ./meditations.txt --enriched --name "Meditations"
|
|
70
73
|
greprag corpus upload https://code.claude.com/docs/llms-full.txt --raw --name "claude-code-docs"
|
|
71
74
|
greprag corpus upload https://docs.claude.com/llms-full.txt --raw --refresh hourly --name "claude-docs"
|
|
75
|
+
greprag corpus upload https://docs.stripe.com/llms.txt --raw --index --name "stripe-docs"
|
|
72
76
|
greprag corpus search Meditations "how should I respond to insult"
|
|
73
77
|
greprag corpus search "discipline OR restraint" --all --limit 10
|
|
74
78
|
greprag corpus search "voice" --store Meditations --store travis-voice-corpus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/corpus/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;sDAqBsD;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/corpus/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;sDAqBsD;;AAkEtD,8BAwBC;AAxFD,qCAAqC;AACrC,qCAAqC;AACrC,iCAAiC;AACjC,uCAAuC;AACvC,qCAAqC;AACrC,qCAA8C;AAC9C,uCAAmD;AAEnD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDhB,CAAC,IAAI,EAAE,CAAC;AAEF,KAAK,UAAU,SAAS,CAAC,IAAc;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC,CAAE,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC;QACvC,KAAK,QAAQ,CAAC,CAAE,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,CAAI,OAAO,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;QACrC,KAAK,SAAS,CAAC,CAAC,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;QACxC,KAAK,QAAQ,CAAC,CAAE,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC;QACvC,KAAK,SAAS,CAAC,CAAC,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;QACxC,KAAK,SAAS,CAAC,CAAC,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,CAAI,OAAO,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC;QACrC,KAAK,QAAQ,CAAC,CAAE,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC;QACvC,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO;QACT;YACE,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -28,7 +28,7 @@ async function uploadCmd(args) {
|
|
|
28
28
|
(0, client_1.abortNotConfigured)();
|
|
29
29
|
const source = args[0];
|
|
30
30
|
if (!source) {
|
|
31
|
-
console.error('Usage: greprag corpus upload <file|url> (--enriched | --raw) [--name N] [--kind K] [--refresh hourly|daily|manual|off] [--authenticity human|ai|ai-assisted]\n Formats: text / markdown / code pass through; html, pdf, docx, xlsx, csv, pptx convert server-side.');
|
|
31
|
+
console.error('Usage: greprag corpus upload <file|url> (--enriched | --raw) [--name N] [--kind K] [--refresh hourly|daily|manual|off] [--index] [--authenticity human|ai|ai-assisted]\n Formats: text / markdown / code pass through; html, pdf, docx, xlsx, csv, pptx convert server-side.\n --index: treat the URL as an INDEX (llms.txt / sitemap.xml) → one store, many member docs; bodies backfill via the cron.');
|
|
32
32
|
process.exit(1);
|
|
33
33
|
}
|
|
34
34
|
const kindFlag = ((0, client_1.getFlag)(args, '--kind') || 'book');
|
|
@@ -74,6 +74,44 @@ async function uploadCmd(args) {
|
|
|
74
74
|
console.warn(`Note: --refresh only applies to URLs — "${source}" is a local file, ingesting once (no refresh tracking).`);
|
|
75
75
|
}
|
|
76
76
|
const refreshPolicy = refreshFlag ?? DEFAULT_REFRESH_POLICY;
|
|
77
|
+
// ── Index library (model B) ────────────────────────────────────────────────
|
|
78
|
+
// --index marks the source as an INDEX (llms.txt / sitemap.xml): one store
|
|
79
|
+
// whose members are many docs (members via origDocId), NOT a single body. The
|
|
80
|
+
// server registers membership inline (one index fetch + URL diff) and the
|
|
81
|
+
// freshness cron backfills member bodies. No /nodes upload — there is no single
|
|
82
|
+
// markdown body to send.
|
|
83
|
+
if (args.includes('--index')) {
|
|
84
|
+
if (!sourceIsUrl) {
|
|
85
|
+
console.error('--index requires a URL (the llms.txt / sitemap.xml index document), not a local file.');
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
const indexName = (0, client_1.getFlag)(args, '--name') || (() => {
|
|
89
|
+
try {
|
|
90
|
+
return new URL(source).hostname.replace(/^www\./, '');
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return source;
|
|
94
|
+
}
|
|
95
|
+
})();
|
|
96
|
+
// An index must re-check membership on a cadence; default daily (not 'off').
|
|
97
|
+
const indexPolicy = refreshFlag ?? 'daily';
|
|
98
|
+
console.log(`Registering index "${indexName}" (${kindFlag}, ${enriched ? 'enriched' : 'raw'}, membership re-check: ${indexPolicy})...`);
|
|
99
|
+
const create = await (0, client_1.apiCall)(`${cfg.apiUrl}/v1/stores`, cfg.apiKey, { name: indexName, kind: kindFlag, enriched, metadata: { source }, index: true, refresh: { url: source, policy: indexPolicy } });
|
|
100
|
+
if (!create.ok || !create.store)
|
|
101
|
+
throw new Error(create.error || 'index create failed');
|
|
102
|
+
console.log(`\n Index ID: ${create.store.id}`);
|
|
103
|
+
console.log(` Name: ${create.store.name}`);
|
|
104
|
+
console.log(` Kind: ${create.store.kind}`);
|
|
105
|
+
if (create.index) {
|
|
106
|
+
console.log(` Members: ${create.index.spawned} registered${create.index.pendingIngest ? `, ${create.index.pendingIngest} pending body ingest` : ''}`);
|
|
107
|
+
if (create.index.reason)
|
|
108
|
+
console.log(` Status: ${create.index.status} — ${create.index.reason}`);
|
|
109
|
+
}
|
|
110
|
+
console.log(`\nMember bodies backfill via the freshness cron (re-checks sooner while pending).`);
|
|
111
|
+
console.log(`Track: greprag corpus sources ${JSON.stringify(create.store.name)}`);
|
|
112
|
+
console.log(`Search: greprag corpus search ${JSON.stringify(create.store.name)} "<lexical query>"`);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
77
115
|
const loaded = await (0, source_1.readSource)(source);
|
|
78
116
|
const name = (0, client_1.getFlag)(args, '--name') || loaded.defaultName;
|
|
79
117
|
const sizeBit = loaded.mode === 'convert'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/corpus/upload.ts"],"names":[],"mappings":";AAAA;;;;;oDAKoD;;AAwBpD,
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/corpus/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ exports.installLastResortHandlers = installLastResortHandlers;
|
|
|
32
32
|
exports.runSupervisor = runSupervisor;
|
|
33
33
|
const child_process_1 = require("child_process");
|
|
34
34
|
const inbox_watch_1 = require("./inbox-watch");
|
|
35
|
+
const watcher_registry_1 = require("./watcher-registry");
|
|
35
36
|
const LOG_PREFIX = '[greprag inbox watch]';
|
|
36
37
|
// ---- Supervisor-driven watcher liveness (registry freshness) -------------
|
|
37
38
|
// adr: docs/registry-freshness-design.md
|
|
@@ -165,6 +166,22 @@ async function runSupervisor() {
|
|
|
165
166
|
const session = sessionFromArgv(process.argv.slice(2));
|
|
166
167
|
const cfg = (0, inbox_watch_1.getConfig)();
|
|
167
168
|
const leaseEnabled = !!session && !!cfg.apiKey;
|
|
169
|
+
// Singleton guard: if a live supervisor already owns this session's watcher,
|
|
170
|
+
// do not stack a second. Defense in depth with the `notify` hook's
|
|
171
|
+
// isLocallyArmed gate — catches a double-arm (two Monitor tasks) slipping
|
|
172
|
+
// through. isLocallyArmed sweeps a dead pidfile first, so this only trips on a
|
|
173
|
+
// genuinely live sibling. adr: adr/monitor-resilience.md
|
|
174
|
+
if (session && (0, watcher_registry_1.isLocallyArmed)(session)) {
|
|
175
|
+
console.error(`${LOG_PREFIX} session ${session} already has a live watcher — not starting a second.`);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
// Local pidfile (Part 1 of the local-liveness fix): record THIS supervisor's
|
|
179
|
+
// PID under the session short so the `notify` hook's `isLocallyArmed` check can
|
|
180
|
+
// see a live, locally-consumed watcher without asking the cloud registry
|
|
181
|
+
// (which counts orphans as armed). Removed on terminal exit below — and, if a
|
|
182
|
+
// hard kill skips that, swept by the SessionStart reaper. adr: adr/monitor-resilience.md
|
|
183
|
+
if (session)
|
|
184
|
+
(0, watcher_registry_1.writeWatcherPidfile)(session, process.pid);
|
|
168
185
|
let heartbeat = null;
|
|
169
186
|
if (leaseEnabled) {
|
|
170
187
|
const ping = () => {
|
|
@@ -227,6 +244,14 @@ async function runSupervisor() {
|
|
|
227
244
|
process.exitCode = 1;
|
|
228
245
|
break;
|
|
229
246
|
}
|
|
247
|
+
// Child signaled "my consumer is gone" — the Monitor task's stdout/stderr
|
|
248
|
+
// pipe broke (session reload/end). This is the orphan-prevention path:
|
|
249
|
+
// respawning would just produce another child that immediately re-detects
|
|
250
|
+
// the dead pipe, i.e. the orphan respawn-loop we are eliminating. Stop
|
|
251
|
+
// cleanly (no exitCode=1 — the consumer leaving is not an error), and let
|
|
252
|
+
// the teardown below fire the goodbye + remove the pidfile.
|
|
253
|
+
if (exit.err === null && exit.code === inbox_watch_1.CONSUMER_GONE_EXIT_CODE)
|
|
254
|
+
break;
|
|
230
255
|
if (liveMs >= SUPERVISOR_HEALTHY_RESET_MS)
|
|
231
256
|
backoff = SUPERVISOR_BACKOFF_INITIAL_MS;
|
|
232
257
|
const reason = exit.err
|
|
@@ -244,6 +269,8 @@ async function runSupervisor() {
|
|
|
244
269
|
// DELETE both closes the live WS in the InboxDO and drops the lease row.
|
|
245
270
|
if (heartbeat)
|
|
246
271
|
clearInterval(heartbeat);
|
|
272
|
+
if (session)
|
|
273
|
+
(0, watcher_registry_1.removeWatcherPidfile)(session);
|
|
247
274
|
if (leaseEnabled) {
|
|
248
275
|
await bestEffortFetch(deregisterUrl(cfg.apiUrl, session), cfg.apiKey, 'DELETE', GOODBYE_TIMEOUT_MS);
|
|
249
276
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-watch-supervisor.js","sourceRoot":"","sources":["../../src/commands/inbox-watch-supervisor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;qCA0BqC;;;
|
|
1
|
+
{"version":3,"file":"inbox-watch-supervisor.js","sourceRoot":"","sources":["../../src/commands/inbox-watch-supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* Usage:
|
|
15
15
|
* greprag inbox watch [--project <name>] [--since <id-or-iso>] [--json]
|
|
16
16
|
*/
|
|
17
|
+
export declare const CONSUMER_GONE_EXIT_CODE = 65;
|
|
17
18
|
interface WatchOptions {
|
|
18
19
|
project?: string;
|
|
19
20
|
/** Session UUID to filter the stream to. When set, the server returns
|
|
@@ -49,6 +49,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
49
49
|
};
|
|
50
50
|
})();
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
+
exports.CONSUMER_GONE_EXIT_CODE = void 0;
|
|
52
53
|
exports.getConfig = getConfig;
|
|
53
54
|
exports.fmtDuration = fmtDuration;
|
|
54
55
|
exports.parseEventBlock = parseEventBlock;
|
|
@@ -69,6 +70,18 @@ const BACKOFF_FACTOR = 2;
|
|
|
69
70
|
const IDLE_TIMEOUT_MS = 60_000;
|
|
70
71
|
const IDLE_CHECK_INTERVAL_MS = 5_000;
|
|
71
72
|
const LOG_PREFIX = '[greprag inbox watch]';
|
|
73
|
+
// Exit code the child uses for "my consumer (the Monitor task) is gone" — the
|
|
74
|
+
// stdout/stderr pipe broke. The supervisor maps this to a TERMINAL stop (fire
|
|
75
|
+
// goodbye, remove pidfile, do NOT respawn), so a watcher whose session reloaded
|
|
76
|
+
// or ended dies cleanly instead of orphaning and respawning forever. Distinct
|
|
77
|
+
// from FATAL_EXIT_CODE (64 = bad config) and a crash (2 = respawn). Picked from
|
|
78
|
+
// the 64–78 sysexits range, adjacent to FATAL. adr: adr/monitor-resilience.md
|
|
79
|
+
exports.CONSUMER_GONE_EXIT_CODE = 65;
|
|
80
|
+
// Cadence of the stderr liveness probe (below) — forces a broken-pipe error to
|
|
81
|
+
// surface on an idle watcher within this window of its consumer dying, rather
|
|
82
|
+
// than waiting for the next real message that may never come. Env-overridable
|
|
83
|
+
// for tests (the idle path otherwise takes the full 30s to observe).
|
|
84
|
+
const CONSUMER_PROBE_MS = Number(process.env.GREPRAG_WATCH_PROBE_MS) || 30_000;
|
|
72
85
|
// -- Config (mirrors the loader in index.ts/discover.ts) -------------------
|
|
73
86
|
function loadEnvFile(filePath) {
|
|
74
87
|
try {
|
|
@@ -394,12 +407,61 @@ async function runInboxWatch(opts) {
|
|
|
394
407
|
}
|
|
395
408
|
return (0, inbox_watch_supervisor_1.runSupervisor)();
|
|
396
409
|
}
|
|
410
|
+
/** Bind this watcher's life to its consumer — the Claude Code Monitor task.
|
|
411
|
+
* Under Monitor, stdout/stderr are pipes into the harness; when the session
|
|
412
|
+
* reloads or ends, the harness closes the read end and the next write here
|
|
413
|
+
* fails (EPIPE / EBADF / destroyed stream). We treat ANY such write error as
|
|
414
|
+
* "consumer gone": flip the flag and run `onGone` (which aborts the loop) so
|
|
415
|
+
* the process exits CONSUMER_GONE_EXIT_CODE and the supervisor does NOT respawn
|
|
416
|
+
* it. There is no benign write failure on process.stdout/stderr worth
|
|
417
|
+
* respawning for. An idle watcher writes nothing for minutes, so a low-rate
|
|
418
|
+
* zero-width stderr probe forces a broken pipe to surface within
|
|
419
|
+
* CONSUMER_PROBE_MS of the consumer dying. This is the LOCAL replacement for
|
|
420
|
+
* the deleted `while true` wrapper's job, done right: the watcher notices its
|
|
421
|
+
* own consumer is gone instead of an external shell keeping it alive forever.
|
|
422
|
+
* adr: adr/monitor-resilience.md */
|
|
423
|
+
function bindToConsumer(onGone) {
|
|
424
|
+
let gone = false;
|
|
425
|
+
const trip = () => {
|
|
426
|
+
if (gone)
|
|
427
|
+
return;
|
|
428
|
+
gone = true;
|
|
429
|
+
onGone();
|
|
430
|
+
};
|
|
431
|
+
const onErr = () => trip();
|
|
432
|
+
process.stdout.on('error', onErr);
|
|
433
|
+
process.stderr.on('error', onErr);
|
|
434
|
+
// A single NUL byte on stderr — the diagnostic channel, never surfaced as a
|
|
435
|
+
// Monitor notification (those key on stdout JSON lines), and invisible in
|
|
436
|
+
// logs. The write itself IS the probe: its callback fires with an error (and
|
|
437
|
+
// the stream emits 'error') when the read end has closed, i.e. the consumer is
|
|
438
|
+
// gone. Harmless while the pipe is alive.
|
|
439
|
+
const probe = setInterval(() => {
|
|
440
|
+
try {
|
|
441
|
+
process.stderr.write(String.fromCharCode(0), (err) => { if (err)
|
|
442
|
+
trip(); });
|
|
443
|
+
}
|
|
444
|
+
catch {
|
|
445
|
+
trip();
|
|
446
|
+
}
|
|
447
|
+
}, CONSUMER_PROBE_MS);
|
|
448
|
+
if (typeof probe.unref === 'function')
|
|
449
|
+
probe.unref();
|
|
450
|
+
return {
|
|
451
|
+
gone: () => gone,
|
|
452
|
+
dispose: () => {
|
|
453
|
+
clearInterval(probe);
|
|
454
|
+
process.stdout.removeListener('error', onErr);
|
|
455
|
+
process.stderr.removeListener('error', onErr);
|
|
456
|
+
},
|
|
457
|
+
};
|
|
458
|
+
}
|
|
397
459
|
/** The SSE watch loop. Reconnects with backoff on network-layer failures
|
|
398
|
-
* (SSE disconnect, idle timeout)
|
|
399
|
-
*
|
|
400
|
-
*
|
|
401
|
-
*
|
|
402
|
-
* the supervisor's job, not this loop's. adr: adr/monitor-resilience.md */
|
|
460
|
+
* (SSE disconnect, idle timeout), exits FATAL_EXIT_CODE on unrecoverable
|
|
461
|
+
* conditions (4xx, missing API key), and exits CONSUMER_GONE_EXIT_CODE when its
|
|
462
|
+
* Monitor consumer's pipe breaks (session reload/end) so a supervising parent
|
|
463
|
+
* recognizes "do not respawn". Process-level death (crash, OS kill, Cygwin fork
|
|
464
|
+
* failure) is the supervisor's job, not this loop's. adr: adr/monitor-resilience.md */
|
|
403
465
|
async function runWatchLoop(opts) {
|
|
404
466
|
const cfg = getConfig();
|
|
405
467
|
if (!cfg.apiKey) {
|
|
@@ -422,6 +484,11 @@ async function runWatchLoop(opts) {
|
|
|
422
484
|
else
|
|
423
485
|
opts.signal.addEventListener('abort', onSignal, { once: true });
|
|
424
486
|
}
|
|
487
|
+
// Tie this watcher to its Monitor consumer: a broken stdout/stderr pipe means
|
|
488
|
+
// the consuming session is gone — abort and exit terminal so we don't orphan.
|
|
489
|
+
// Skip in SDK/test mode (opts.signal present): those callers own the process
|
|
490
|
+
// and their pipes aren't a Monitor consumer.
|
|
491
|
+
const consumer = opts.signal ? null : bindToConsumer(() => controller.abort());
|
|
425
492
|
while (!controller.signal.aborted) {
|
|
426
493
|
if (!isFirstAttempt) {
|
|
427
494
|
const lastSeen = cursor ? cursor.slice(0, 8) : 'none';
|
|
@@ -461,6 +528,14 @@ async function runWatchLoop(opts) {
|
|
|
461
528
|
await sleep(backoff, controller.signal);
|
|
462
529
|
backoff = Math.min(backoff * BACKOFF_FACTOR, BACKOFF_MAX_MS);
|
|
463
530
|
}
|
|
531
|
+
// Loop exited. If the consumer's pipe broke (session reload/end), exit
|
|
532
|
+
// TERMINAL so the supervisor fires its goodbye + removes the pidfile and does
|
|
533
|
+
// NOT respawn. A signal-driven abort (SIGINT/SIGTERM) falls through to a clean
|
|
534
|
+
// return instead. Skipped entirely in SDK/test mode (no `consumer`).
|
|
535
|
+
const consumerGone = consumer?.gone() ?? false;
|
|
536
|
+
consumer?.dispose();
|
|
537
|
+
if (consumerGone)
|
|
538
|
+
process.exit(exports.CONSUMER_GONE_EXIT_CODE);
|
|
464
539
|
}
|
|
465
540
|
/** Sleep that respects an AbortSignal — resolves early if aborted. */
|
|
466
541
|
function sleep(ms, signal) {
|
|
@@ -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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"}
|
|
@@ -19,6 +19,9 @@ export interface FormatHit {
|
|
|
19
19
|
content: string;
|
|
20
20
|
createdAt?: string | null;
|
|
21
21
|
metadata?: Record<string, unknown>;
|
|
22
|
+
/** Owning project — set on memory-wide search so each cross-project hit is
|
|
23
|
+
* labelled. Null/undefined when searching a single project. */
|
|
24
|
+
projectName?: string | null;
|
|
22
25
|
}
|
|
23
26
|
/** RRF magnitudes on this substrate cluster in ~0.05–0.20; label honestly. */
|
|
24
27
|
export declare function confidenceBand(score: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-format.js","sourceRoot":"","sources":["../../src/commands/memory-format.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC;;;;;;;;;;GAUG;;
|
|
1
|
+
{"version":3,"file":"memory-format.js","sourceRoot":"","sources":["../../src/commands/memory-format.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/memory.js
CHANGED
|
@@ -262,27 +262,12 @@ async function queryShape(args, shape) {
|
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
// ---------- search --------------------------------------------------------
|
|
265
|
-
/**
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
const targetName = `memory:${projectId}`;
|
|
272
|
-
const hit = (list.stores || []).find(s => s.name === targetName)
|
|
273
|
-
|| (list.stores || []).find(s => {
|
|
274
|
-
const md = s.metadata;
|
|
275
|
-
return md?.projectId === projectId;
|
|
276
|
-
});
|
|
277
|
-
if (!hit) {
|
|
278
|
-
throw new Error(`no memory store for project "${projectName}" yet — capture some turns first ` +
|
|
279
|
-
`(any Claude Code session with the Stop hook enabled will populate it).`);
|
|
280
|
-
}
|
|
281
|
-
return hit.id;
|
|
282
|
-
}
|
|
283
|
-
/** greprag memory search "<query>" — lexical retrieval over the project's
|
|
284
|
-
* episodic memory. Mirrors `corpus search` semantics: same /v1/stores/:id/query
|
|
285
|
-
* endpoint, same v5 RRF + adjacency-boosted pipeline. The agent formulates
|
|
265
|
+
/** greprag memory search "<query>" — memory-WIDE lexical retrieval across
|
|
266
|
+
* every project (POST /v1/memory/query). Project scoping was removed by
|
|
267
|
+
* design: one RRF fusion spans all of the tenant's memory stores so the agent
|
|
268
|
+
* finds the answer wherever it was captured; ranking sorts off-project hits
|
|
269
|
+
* down naturally (no project boost). --project narrows to one project. Same v5
|
|
270
|
+
* RRF + adjacency pipeline + locked memory rank profile. The agent formulates
|
|
286
271
|
* the query string (websearch_to_tsquery syntax: AND default, OR explicit,
|
|
287
272
|
* "phrases", -negation). No server-side LLM at read time. */
|
|
288
273
|
async function searchCmd(args) {
|
|
@@ -319,8 +304,18 @@ async function searchCmd(args) {
|
|
|
319
304
|
const since = getFlag(args, '--since');
|
|
320
305
|
const recent = args.includes('--recent');
|
|
321
306
|
const RECENT_HALF_LIFE_DAYS = 14;
|
|
322
|
-
|
|
323
|
-
|
|
307
|
+
// Memory-wide by default — search spans every project; ranking sorts
|
|
308
|
+
// off-project hits down naturally (no project boost). --project narrows to
|
|
309
|
+
// one project. We only resolve a project id when --project is given; the
|
|
310
|
+
// bare command never falls back to the cwd anchor (that was the old box).
|
|
311
|
+
const projectArg = getFlag(args, '--project');
|
|
312
|
+
let projectId;
|
|
313
|
+
let scopeLabel = 'all projects';
|
|
314
|
+
if (projectArg) {
|
|
315
|
+
const resolved = await resolveProject(args, cfg.apiUrl, cfg.apiKey);
|
|
316
|
+
projectId = resolved.projectId;
|
|
317
|
+
scopeLabel = resolved.projectName;
|
|
318
|
+
}
|
|
324
319
|
const filters = {};
|
|
325
320
|
if (shape)
|
|
326
321
|
filters.shape = shape;
|
|
@@ -329,8 +324,9 @@ async function searchCmd(args) {
|
|
|
329
324
|
if (since)
|
|
330
325
|
filters.createdAtMin = since;
|
|
331
326
|
const t0 = Date.now();
|
|
332
|
-
const result = await apiPost(`${cfg.apiUrl}/v1/
|
|
327
|
+
const result = await apiPost(`${cfg.apiUrl}/v1/memory/query`, cfg.apiKey, {
|
|
333
328
|
query: queryText, limit,
|
|
329
|
+
...(projectId ? { projectId } : {}),
|
|
334
330
|
...(recent ? { recencyHalfLifeDays: RECENT_HALF_LIFE_DAYS } : {}),
|
|
335
331
|
...(Object.keys(filters).length > 0 ? { filters } : {}),
|
|
336
332
|
});
|
|
@@ -339,7 +335,8 @@ async function searchCmd(args) {
|
|
|
339
335
|
const ms = Date.now() - t0;
|
|
340
336
|
if (format === 'json') {
|
|
341
337
|
console.log(JSON.stringify({
|
|
342
|
-
|
|
338
|
+
scope: scopeLabel,
|
|
339
|
+
projectsQueried: result.projectsQueried ?? null,
|
|
343
340
|
query: queryText,
|
|
344
341
|
shape: shape || null,
|
|
345
342
|
limit,
|
|
@@ -350,16 +347,20 @@ async function searchCmd(args) {
|
|
|
350
347
|
}, null, 2));
|
|
351
348
|
return;
|
|
352
349
|
}
|
|
353
|
-
|
|
350
|
+
const scopeStr = projectId ? scopeLabel : `all projects (${result.projectsQueried ?? '?'})`;
|
|
351
|
+
console.log(`\n## ${scopeStr} — memory search "${queryText}"${shape ? ` [shape=${shape}]` : ''}${includeDocs ? ' [+docs]' : ''}`);
|
|
354
352
|
if (result.nodes.length === 0) {
|
|
355
353
|
// Zero-state coaching: an empty result is the loudest "switch pattern"
|
|
356
354
|
// signal — point at the chronological verbs rather than leaving the agent
|
|
357
355
|
// to rephrase. adr: adr/memory-provenance-capture.md
|
|
358
356
|
console.log(`0 hits in ${ms}ms (server ${result.latencyMs ?? '?'}ms)\n`);
|
|
359
|
-
console.log(`No session-history match for "${queryText}"
|
|
357
|
+
console.log(`No session-history match for "${queryText}" across ${scopeStr}.`);
|
|
360
358
|
console.log('For a recent or open-ended thread, pull chronologically:');
|
|
361
359
|
console.log(' greprag memory recap # weekly + last 7 daily summaries');
|
|
362
360
|
console.log(' greprag memory daily --last 7 # newest-first window');
|
|
361
|
+
if (projectId) {
|
|
362
|
+
console.log('Or drop --project to search every project.');
|
|
363
|
+
}
|
|
363
364
|
if (!includeDocs) {
|
|
364
365
|
console.log('Or widen to documentation/boilerplate: --include-docs');
|
|
365
366
|
}
|