grepmax 0.26.19 → 0.26.21
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/dist/commands/llm.js +5 -1
- package/dist/commands/repair.js +7 -2
- package/dist/lib/index/ignore-patterns.js +34 -25
- package/dist/lib/index/watcher.js +6 -0
- package/dist/lib/utils/autostart.js +9 -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.21",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Robert Owens",
|
|
16
16
|
"email": "robowens@me.com"
|
package/dist/commands/llm.js
CHANGED
|
@@ -93,7 +93,11 @@ exports.llm
|
|
|
93
93
|
try {
|
|
94
94
|
const { ensureDaemonRunning, sendDaemonCommand } = yield Promise.resolve().then(() => __importStar(require("../lib/utils/daemon-client")));
|
|
95
95
|
if (!(yield ensureDaemonRunning())) {
|
|
96
|
-
|
|
96
|
+
const { autostartDisabledUndo } = yield Promise.resolve().then(() => __importStar(require("../lib/utils/autostart")));
|
|
97
|
+
const undo = autostartDisabledUndo();
|
|
98
|
+
console.error(undo
|
|
99
|
+
? `Daemon autostart is disabled and the LLM server needs the daemon. Re-enable with: ${undo}`
|
|
100
|
+
: "Failed to start daemon");
|
|
97
101
|
process.exitCode = 1;
|
|
98
102
|
return;
|
|
99
103
|
}
|
package/dist/commands/repair.js
CHANGED
|
@@ -14,6 +14,7 @@ const commander_1 = require("commander");
|
|
|
14
14
|
const config_1 = require("../config");
|
|
15
15
|
const index_config_1 = require("../lib/index/index-config");
|
|
16
16
|
const vector_db_1 = require("../lib/store/vector-db");
|
|
17
|
+
const autostart_1 = require("../lib/utils/autostart");
|
|
17
18
|
const daemon_client_1 = require("../lib/utils/daemon-client");
|
|
18
19
|
const exit_1 = require("../lib/utils/exit");
|
|
19
20
|
const project_registry_1 = require("../lib/utils/project-registry");
|
|
@@ -38,8 +39,12 @@ Examples:
|
|
|
38
39
|
try {
|
|
39
40
|
if (opts.rebuild) {
|
|
40
41
|
const running = yield (0, daemon_client_1.ensureDaemonRunning)();
|
|
41
|
-
if (!running)
|
|
42
|
-
|
|
42
|
+
if (!running) {
|
|
43
|
+
const undo = (0, autostart_1.autostartDisabledUndo)();
|
|
44
|
+
throw new Error(undo
|
|
45
|
+
? `daemon autostart is disabled and --rebuild needs the daemon; re-enable with: ${undo}`
|
|
46
|
+
: "failed to start the gmax daemon");
|
|
47
|
+
}
|
|
43
48
|
const ping = yield (0, daemon_client_1.sendDaemonCommand)({ cmd: "ping" }, { timeoutMs: 10000 });
|
|
44
49
|
const capabilities = ping.capabilities && typeof ping.capabilities === "object"
|
|
45
50
|
? ping.capabilities
|
|
@@ -1,7 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_IGNORE_PATTERNS = void 0;
|
|
4
2
|
// Shared ignore patterns for filesystem walks.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DEFAULT_IGNORE_PATTERNS = exports.GENERATED_SOURCE_PATTERNS = void 0;
|
|
5
|
+
// Machine-generated source (floods the index + ranks codegen as god nodes).
|
|
6
|
+
// Content-based @generated/DO-NOT-EDIT header sniff (file-utils.ts) catches the
|
|
7
|
+
// rest; these are the unambiguous filename/dir conventions.
|
|
8
|
+
//
|
|
9
|
+
// Exported separately because the FSEvents watcher must ignore these at the
|
|
10
|
+
// event source too: a codegen run rewriting thousands of *.graphql.swift files
|
|
11
|
+
// overflowed the FSEvents client buffer ("Events were dropped") ~290 times in
|
|
12
|
+
// three days and pushed the project into 5-minute poll mode, even though the
|
|
13
|
+
// file policy then discarded every one of those events as "0 reindexed".
|
|
14
|
+
exports.GENERATED_SOURCE_PATTERNS = [
|
|
15
|
+
"**/__generated__/**", // Relay / graphql-codegen
|
|
16
|
+
"**/Generated/**", // Apollo iOS, Xcode codegen
|
|
17
|
+
"*.graphql.swift", // Apollo iOS operations
|
|
18
|
+
"*.pb.go", // protobuf (Go)
|
|
19
|
+
"*.pb.cc",
|
|
20
|
+
"*.pb.h", // protobuf (C++)
|
|
21
|
+
"*_pb2.py",
|
|
22
|
+
"*_pb2.pyi",
|
|
23
|
+
"*_pb2_grpc.py", // protobuf (Python)
|
|
24
|
+
"*.g.dart",
|
|
25
|
+
"*.freezed.dart",
|
|
26
|
+
"*.gr.dart", // Dart codegen
|
|
27
|
+
"*.designer.cs", // C# designer
|
|
28
|
+
"*.generated.ts",
|
|
29
|
+
"*.generated.tsx", // graphql-codegen / common TS
|
|
30
|
+
// graphql-codegen client-preset output dir (emits no @generated banner, so
|
|
31
|
+
// the header sniff can't catch these — match the canonical filenames).
|
|
32
|
+
"**/gql/graphql.ts",
|
|
33
|
+
"**/gql/gql.ts",
|
|
34
|
+
"**/gql/fragment-masking.ts",
|
|
35
|
+
];
|
|
5
36
|
// Keep JSON files (package.json, tsconfig.json, etc.) but skip lockfiles and obvious binaries.
|
|
6
37
|
exports.DEFAULT_IGNORE_PATTERNS = [
|
|
7
38
|
"*.lock",
|
|
@@ -43,29 +74,7 @@ exports.DEFAULT_IGNORE_PATTERNS = [
|
|
|
43
74
|
"*.min.css",
|
|
44
75
|
"*.map",
|
|
45
76
|
"*.wasm",
|
|
46
|
-
|
|
47
|
-
// Content-based @generated/DO-NOT-EDIT header sniff (file-utils.ts) catches the
|
|
48
|
-
// rest; these are the unambiguous filename/dir conventions.
|
|
49
|
-
"**/__generated__/**", // Relay / graphql-codegen
|
|
50
|
-
"**/Generated/**", // Apollo iOS, Xcode codegen
|
|
51
|
-
"*.graphql.swift", // Apollo iOS operations
|
|
52
|
-
"*.pb.go", // protobuf (Go)
|
|
53
|
-
"*.pb.cc",
|
|
54
|
-
"*.pb.h", // protobuf (C++)
|
|
55
|
-
"*_pb2.py",
|
|
56
|
-
"*_pb2.pyi",
|
|
57
|
-
"*_pb2_grpc.py", // protobuf (Python)
|
|
58
|
-
"*.g.dart",
|
|
59
|
-
"*.freezed.dart",
|
|
60
|
-
"*.gr.dart", // Dart codegen
|
|
61
|
-
"*.designer.cs", // C# designer
|
|
62
|
-
"*.generated.ts",
|
|
63
|
-
"*.generated.tsx", // graphql-codegen / common TS
|
|
64
|
-
// graphql-codegen client-preset output dir (emits no @generated banner, so
|
|
65
|
-
// the header sniff can't catch these — match the canonical filenames).
|
|
66
|
-
"**/gql/graphql.ts",
|
|
67
|
-
"**/gql/gql.ts",
|
|
68
|
-
"**/gql/fragment-masking.ts",
|
|
77
|
+
...exports.GENERATED_SOURCE_PATTERNS,
|
|
69
78
|
// Test fixtures and benchmark data
|
|
70
79
|
"**/fixtures/**",
|
|
71
80
|
"**/benchmark/**",
|
|
@@ -56,6 +56,7 @@ const watcher = __importStar(require("@parcel/watcher"));
|
|
|
56
56
|
const batch_processor_1 = require("./batch-processor");
|
|
57
57
|
const cache_coherence_1 = require("./cache-coherence");
|
|
58
58
|
const file_policy_1 = require("./file-policy");
|
|
59
|
+
const ignore_patterns_1 = require("./ignore-patterns");
|
|
59
60
|
const walker_1 = require("./walker");
|
|
60
61
|
// Directory names ignored at ANY depth. @parcel/watcher treats a non-glob
|
|
61
62
|
// ignore entry as a literal path resolved against the watch root, so a bare
|
|
@@ -94,6 +95,11 @@ exports.WATCHER_IGNORE_GLOBS = [
|
|
|
94
95
|
...IGNORED_DIR_NAMES.flatMap((name) => [`**/${name}`, `**/${name}/**`]),
|
|
95
96
|
"**/*.tmp.*", // editor atomic save artifacts
|
|
96
97
|
"**/*.sb-*", // Xcode swap files
|
|
98
|
+
// Codegen output never reaches the index (file policy drops it), so don't
|
|
99
|
+
// let it reach the watcher either — it is the dominant source of FSEvents
|
|
100
|
+
// buffer overflows on large projects. Bare "*.ext" patterns are anchored to
|
|
101
|
+
// the root by picomatch, so prefix them to match at any depth.
|
|
102
|
+
...ignore_patterns_1.GENERATED_SOURCE_PATTERNS.map((p) => p.startsWith("**/") ? p : `**/${p}`),
|
|
97
103
|
];
|
|
98
104
|
function startWatcher(opts) {
|
|
99
105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.autostartDisabledReason = autostartDisabledReason;
|
|
37
37
|
exports.isAutostartDisabled = isAutostartDisabled;
|
|
38
|
+
exports.autostartDisabledUndo = autostartDisabledUndo;
|
|
38
39
|
exports.autostartDisabledNotice = autostartDisabledNotice;
|
|
39
40
|
const fs = __importStar(require("node:fs"));
|
|
40
41
|
const config_1 = require("../../config");
|
|
@@ -70,12 +71,18 @@ function isAutostartDisabled() {
|
|
|
70
71
|
* kill switch is on, or null when it isn't. Names the specific undo step so
|
|
71
72
|
* the message is actionable whichever way autostart was disabled.
|
|
72
73
|
*/
|
|
73
|
-
|
|
74
|
+
/** The shell command that re-enables autostart, or null when it is not disabled. */
|
|
75
|
+
function autostartDisabledUndo() {
|
|
74
76
|
const reason = autostartDisabledReason();
|
|
75
77
|
if (!reason)
|
|
76
78
|
return null;
|
|
77
|
-
|
|
79
|
+
return reason === "env"
|
|
78
80
|
? "unset GMAX_NO_AUTOSTART"
|
|
79
81
|
: `rm ${config_1.PATHS.autostartDisabledFile}`;
|
|
82
|
+
}
|
|
83
|
+
function autostartDisabledNotice() {
|
|
84
|
+
const undo = autostartDisabledUndo();
|
|
85
|
+
if (!undo)
|
|
86
|
+
return null;
|
|
80
87
|
return `Daemon autostart is disabled — running in-process. Re-enable with: ${undo}`;
|
|
81
88
|
}
|
package/package.json
CHANGED