grepmax 0.26.75 → 0.26.76
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.
|
@@ -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.76",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Robert Owens",
|
|
16
16
|
"email": "robowens@me.com"
|
package/README.md
CHANGED
|
@@ -532,6 +532,8 @@ Production recovery currently requires macOS, a persistent `autostart-disabled`
|
|
|
532
532
|
|
|
533
533
|
The child waits for launch and deletion admission tokens, with verified helper PID/start identity recorded as the primary exclusive owner. Existing readers retain exclusion if the parent dies while the helper is alive. Current/tagged/post-cutoff metadata is verified after pruning; recovery refuses more than 256 protected versions before deletion to bound verification. Interrupted attempts require verification and explicit acknowledgement before retry. Linux/APFS fixtures exercise native retention and interruption; supported production host admission is tested separately and still runs freshly for each operation.
|
|
534
534
|
|
|
535
|
+
If a short-lived client child exits or a process identity changes during memory sampling, a normal-pressure sample may measure the complete process set once more within the original deadline. It never accepts a partial total. Continued changes, unavailable measurements, and observed warning or critical pressure still refuse admission.
|
|
536
|
+
|
|
535
537
|
For an operator-coordinated recovery window:
|
|
536
538
|
|
|
537
539
|
1. Check live host pressure and service availability first. Keep development online when recovery admission is already known to refuse. Preserve the configured normal-service policy and any pre-existing safety markers.
|
|
@@ -130,6 +130,27 @@ function parseBatchFootprints(output) {
|
|
|
130
130
|
return result;
|
|
131
131
|
}
|
|
132
132
|
function sampleHostResources(extraPids = [], overrides = {}, extraGroups = []) {
|
|
133
|
+
var _a, _b;
|
|
134
|
+
const monotonic = (_a = overrides.monotonic) !== null && _a !== void 0 ? _a : (() => performance.now());
|
|
135
|
+
const deadline = monotonic() + ((_b = overrides.sampleTimeoutMs) !== null && _b !== void 0 ? _b : exports.HOST_SAMPLE_TIMEOUT_MS);
|
|
136
|
+
let snapshot;
|
|
137
|
+
for (let attempt = 0; attempt < 2; attempt++) {
|
|
138
|
+
snapshot = sampleHostResourcesOnce(extraPids, Object.assign(Object.assign({}, overrides), { monotonic, sampleTimeoutMs: Math.max(0, deadline - monotonic()) }), extraGroups);
|
|
139
|
+
// Short-lived client children routinely exit during footprint sampling.
|
|
140
|
+
// Re-measure the entire cohort once, within the original deadline. Never
|
|
141
|
+
// accept a partial total or retry away observed warning/critical pressure.
|
|
142
|
+
if (attempt === 1 ||
|
|
143
|
+
snapshot.memoryPressure !== "normal" ||
|
|
144
|
+
snapshot.kernelPressure !== "ok" ||
|
|
145
|
+
snapshot.incompleteReasons.length !== 1 ||
|
|
146
|
+
snapshot.incompleteReasons[0] !==
|
|
147
|
+
"process inventory changed during sample" ||
|
|
148
|
+
monotonic() >= deadline)
|
|
149
|
+
return snapshot;
|
|
150
|
+
}
|
|
151
|
+
return snapshot;
|
|
152
|
+
}
|
|
153
|
+
function sampleHostResourcesOnce(extraPids, overrides, extraGroups) {
|
|
133
154
|
var _a;
|
|
134
155
|
var _b, _c;
|
|
135
156
|
const deps = Object.assign({ platform: process.platform, pid: process.pid, uid: (_b = (_a = process.getuid) === null || _a === void 0 ? void 0 : _a.call(process)) !== null && _b !== void 0 ? _b : -1, now: Date.now, monotonic: () => performance.now(), freeBytes: os.freemem, sampleTimeoutMs: exports.HOST_SAMPLE_TIMEOUT_MS, kernelProbeTimeoutMs: 500, run: (command, args, timeoutMs) => (0, node_child_process_1.execFileSync)(command, args, {
|
package/package.json
CHANGED