grepmax 0.26.58 → 0.26.59
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/.claude-plugin/marketplace.json +1 -1
- package/README.md +1 -1
- package/dist/commands/doctor.js +10 -10
- package/dist/commands/search-output.js +4 -2
- package/dist/commands/search-run.js +3 -0
- package/dist/commands/search.js +0 -2
- package/package.json +1 -1
- package/plugins/grepmax/.claude-plugin/plugin.json +1 -1
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "grepmax",
|
|
11
11
|
"source": "./plugins/grepmax",
|
|
12
12
|
"description": "Semantic code search for Claude Code. Automatically indexes your project and provides intelligent search capabilities.",
|
|
13
|
-
"version": "0.26.
|
|
13
|
+
"version": "0.26.59",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Robert Owens",
|
|
16
16
|
"email": "robowens@me.com"
|
package/README.md
CHANGED
|
@@ -474,7 +474,7 @@ gmax watch restart # Restart daemon
|
|
|
474
474
|
|
|
475
475
|
`gmax doctor` and `gmax status` report persistent safety stops and daemon startup quarantine. `doctor` exits with code 2 when startup is blocked; `status --json` includes `daemon.startupBlockedReason`. Installing an update preserves these stops. macOS kernel-zone probes use `zprint -L` to omit the wired-memory report and kernel symbolication while retaining the same zone counters and pressure thresholds.
|
|
476
476
|
|
|
477
|
-
When heavy work is paused, the daemon keeps metadata, bounded symbol/file lookups, stored skeletons by exact file path, and keyword search available. Search uses the existing FTS index and excludes unindexed rows, loads no embedding model, returns at most 20 results, and reports keyword-only scores and retained-index freshness. Native queries have a two-second deadline and run one at a time with 48 MiB of combined Lance cache capacity. Indexing, watchers, vector/graph scans, and model launches remain paused. Missing FTS indexes return an error; paused search never rebuilds an index or falls back to a corpus scan.
|
|
477
|
+
When heavy work is paused, the daemon keeps metadata, bounded symbol/file lookups, stored skeletons by exact file path, and keyword search available. Search uses the existing FTS index and excludes unindexed rows, loads no embedding model, returns at most 20 results, and reports keyword-only scores and retained-index freshness. CLI agent output preserves the keyword-only warning, and daemon reads skip client-side model setup. Native queries have a two-second deadline and run one at a time with 48 MiB of combined Lance cache capacity. Indexing, watchers, vector/graph scans, and model launches remain paused. Missing FTS indexes return an error; paused search never rebuilds an index or falls back to a corpus scan.
|
|
478
478
|
|
|
479
479
|
To serve bounded reads under an existing startup quarantine, run `gmax watch --daemon --read-only -b`. This preserves the safety markers. `status --json` reports `daemon.service.mode` and its reason; `doctor` reports paused availability and skips native corpus diagnostics. Pausing is sticky for that daemon process. Full service requires a deliberate restart after host recovery and quarantine review. Known critical OS or kernel pressure still stops even the read-only service.
|
|
480
480
|
|
package/dist/commands/doctor.js
CHANGED
|
@@ -358,16 +358,6 @@ exports.doctor = new commander_1.Command("doctor")
|
|
|
358
358
|
}
|
|
359
359
|
if (!opts.agent)
|
|
360
360
|
console.log("gmax Doctor\n");
|
|
361
|
-
const startupBlockedReason = (0, autostart_1.daemonStartDeniedReason)();
|
|
362
|
-
if (startupBlockedReason !== null) {
|
|
363
|
-
const reason = startupBlockedReason.replace(/[\r\n\t]/g, " ");
|
|
364
|
-
console.log(opts.agent
|
|
365
|
-
? `daemon_startup\tblocked=true\treason=${reason}`
|
|
366
|
-
: `FAIL Daemon startup blocked: ${reason}`);
|
|
367
|
-
// Inspect the retained index, but do not report a healthy installation
|
|
368
|
-
// while the persistent host stop or autostart quarantine prevents use.
|
|
369
|
-
process.exitCode = 2;
|
|
370
|
-
}
|
|
371
361
|
// Metadata-only diagnostics while paused: never open a second native
|
|
372
362
|
// reader or scan the retained corpus on a pressured host.
|
|
373
363
|
const { sendDaemonCommand } = yield Promise.resolve().then(() => __importStar(require("../lib/utils/daemon-client")));
|
|
@@ -384,6 +374,16 @@ exports.doctor = new commander_1.Command("doctor")
|
|
|
384
374
|
process.exitCode = 2;
|
|
385
375
|
return;
|
|
386
376
|
}
|
|
377
|
+
const startupBlockedReason = (0, autostart_1.daemonStartDeniedReason)();
|
|
378
|
+
if (startupBlockedReason !== null) {
|
|
379
|
+
const reason = startupBlockedReason.replace(/[\r\n\t]/g, " ");
|
|
380
|
+
console.log(opts.agent
|
|
381
|
+
? `daemon_startup\tblocked=true\treason=${reason}`
|
|
382
|
+
: `FAIL Daemon startup blocked: ${reason}`);
|
|
383
|
+
// Inspect the retained index, but do not report a healthy installation
|
|
384
|
+
// while the persistent host stop or autostart quarantine prevents use.
|
|
385
|
+
process.exitCode = 2;
|
|
386
|
+
}
|
|
387
387
|
const root = config_1.PATHS.globalRoot;
|
|
388
388
|
const models = config_1.PATHS.models;
|
|
389
389
|
const grammars = config_1.PATHS.grammars;
|
|
@@ -210,9 +210,11 @@ function renderSearchOutput(params) {
|
|
|
210
210
|
var _a, _b, _c;
|
|
211
211
|
var _d, _e, _f, _g, _h, _j;
|
|
212
212
|
const { searchResult, options, minScore, crossProject, pattern, effectiveRoot, projectRoot, vectorDb, precomputedSkeletons, precomputedGraph, indexState, } = params;
|
|
213
|
-
if (
|
|
213
|
+
if ((_a = searchResult.warnings) === null || _a === void 0 ? void 0 : _a.length) {
|
|
214
214
|
for (const w of searchResult.warnings) {
|
|
215
|
-
console.warn(
|
|
215
|
+
console.warn(options.agent
|
|
216
|
+
? `warn\t${w.replace(/[\r\n\t]/g, " ")}`
|
|
217
|
+
: `Warning: ${w}`);
|
|
216
218
|
}
|
|
217
219
|
}
|
|
218
220
|
// Partial-index signal (Phase 6): when the index is mid-catchup, results
|
|
@@ -53,6 +53,7 @@ const sync_helpers_1 = require("../lib/index/sync-helpers");
|
|
|
53
53
|
const syncer_1 = require("../lib/index/syncer");
|
|
54
54
|
const per_file_1 = require("../lib/search/per-file");
|
|
55
55
|
const searcher_1 = require("../lib/search/searcher");
|
|
56
|
+
const setup_helpers_1 = require("../lib/setup/setup-helpers");
|
|
56
57
|
const vector_db_1 = require("../lib/store/vector-db");
|
|
57
58
|
const lock_1 = require("../lib/utils/lock");
|
|
58
59
|
const project_registry_1 = require("../lib/utils/project-registry");
|
|
@@ -160,6 +161,8 @@ function runSearch(params) {
|
|
|
160
161
|
// In-process fallback: open VectorDB, ensure index, run Searcher.
|
|
161
162
|
// Only entered when the daemon path didn't produce results.
|
|
162
163
|
if (!searchResult) {
|
|
164
|
+
// A daemon read needs no client-side model download or loading.
|
|
165
|
+
yield (0, setup_helpers_1.ensureSetup)();
|
|
163
166
|
const vectorDb = new vector_db_1.VectorDB(paths.lancedbDir);
|
|
164
167
|
openedDb = vectorDb;
|
|
165
168
|
// Check for active indexing lock and warn if present
|
package/dist/commands/search.js
CHANGED
|
@@ -46,7 +46,6 @@ exports.search = void 0;
|
|
|
46
46
|
const path = __importStar(require("node:path"));
|
|
47
47
|
const commander_1 = require("commander");
|
|
48
48
|
const per_file_1 = require("../lib/search/per-file");
|
|
49
|
-
const setup_helpers_1 = require("../lib/setup/setup-helpers");
|
|
50
49
|
const cross_project_1 = require("../lib/utils/cross-project");
|
|
51
50
|
const exit_1 = require("../lib/utils/exit");
|
|
52
51
|
const path_containment_1 = require("../lib/utils/path-containment");
|
|
@@ -238,7 +237,6 @@ Examples:
|
|
|
238
237
|
return;
|
|
239
238
|
}
|
|
240
239
|
try {
|
|
241
|
-
yield (0, setup_helpers_1.ensureSetup)();
|
|
242
240
|
let checkRoot = cwdProjectRoot;
|
|
243
241
|
if (options.root) {
|
|
244
242
|
const resolved = resolvedOptionRoot !== undefined
|
package/package.json
CHANGED