greprag 5.74.16 → 5.74.17

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.
@@ -242,7 +242,17 @@ function processPart(part, stash, thresholdBytes, stats, memo) {
242
242
  if (p.type === 'tool' && p.state && typeof p.state === 'object') {
243
243
  const state = p.state;
244
244
  if (state.status === 'completed' && typeof state.output === 'string') {
245
- crushAndApply(state, 'output', stash, thresholdBytes, stats, memo);
245
+ // Skip re-crushing output of greprag retrieve — the original was
246
+ // already stashed once; crushing it again creates an infinite
247
+ // marker→retrieve→same marker loop.
248
+ const input = p.input;
249
+ const cmd = input && typeof input.command === 'string' ? input.command : '';
250
+ if (cmd.includes('greprag retrieve')) {
251
+ stats.partsSkipped++;
252
+ }
253
+ else {
254
+ crushAndApply(state, 'output', stash, thresholdBytes, stats, memo);
255
+ }
246
256
  }
247
257
  }
248
258
  }
@@ -1713,7 +1713,13 @@ function processPart(part, stash, thresholdBytes, stats, memo) {
1713
1713
  if (p.type === "tool" && p.state && typeof p.state === "object") {
1714
1714
  const state = p.state;
1715
1715
  if (state.status === "completed" && typeof state.output === "string") {
1716
- crushAndApply(state, "output", stash, thresholdBytes, stats, memo);
1716
+ const input = p.input;
1717
+ const cmd = input && typeof input.command === "string" ? input.command : "";
1718
+ if (cmd.includes("greprag retrieve")) {
1719
+ stats.partsSkipped++;
1720
+ } else {
1721
+ crushAndApply(state, "output", stash, thresholdBytes, stats, memo);
1722
+ }
1717
1723
  }
1718
1724
  }
1719
1725
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greprag",
3
- "version": "5.74.16",
3
+ "version": "5.74.17",
4
4
  "description": "GrepRAG — agent memory for Claude Code, Codex, and OpenCode.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {