@xrkseek/harness 0.5.11 → 0.5.13
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/node_modules/@vscode/ripgrep/LICENSE +13 -0
- package/node_modules/@vscode/ripgrep/README.md +33 -0
- package/node_modules/@vscode/ripgrep/lib/index.d.ts +1 -0
- package/node_modules/@vscode/ripgrep/lib/index.js +19 -0
- package/node_modules/@vscode/ripgrep/package.json +39 -0
- package/node_modules/@vscode/ripgrep-win32-x64/LICENSE +13 -0
- package/node_modules/@vscode/ripgrep-win32-x64/README.md +5 -0
- package/node_modules/@vscode/ripgrep-win32-x64/bin/rg.exe +0 -0
- package/node_modules/@vscode/ripgrep-win32-x64/package.json +19 -0
- package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-agent-loop/dist/index.js +20 -5
- package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js +4 -2
- package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +7 -9
- package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.js +60 -19
- package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/ripgrep.d.ts +63 -0
- package/node_modules/@xrkseek/exec-fs/dist/ripgrep.d.ts.map +1 -0
- package/node_modules/@xrkseek/exec-fs/dist/ripgrep.js +363 -0
- package/node_modules/@xrkseek/exec-fs/dist/ripgrep.js.map +1 -0
- package/node_modules/@xrkseek/exec-fs/dist/search.d.ts +32 -3
- package/node_modules/@xrkseek/exec-fs/dist/search.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/search.js +189 -72
- package/node_modules/@xrkseek/exec-fs/dist/search.js.map +1 -1
- package/node_modules/@xrkseek/exec-fs/package.json +2 -0
- package/node_modules/@xrkseek/exec-shell/dist/index.d.ts +14 -1
- package/node_modules/@xrkseek/exec-shell/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-shell/dist/index.js +37 -5
- package/node_modules/@xrkseek/exec-shell/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-subprocess/dist/capture.d.ts +73 -0
- package/node_modules/@xrkseek/exec-subprocess/dist/capture.d.ts.map +1 -0
- package/node_modules/@xrkseek/exec-subprocess/dist/capture.js +240 -0
- package/node_modules/@xrkseek/exec-subprocess/dist/capture.js.map +1 -0
- package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts +19 -0
- package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-subprocess/dist/index.js +58 -21
- package/node_modules/@xrkseek/exec-subprocess/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +6 -7
- package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/preset.js +14 -11
- package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-harness/package.json +1 -0
- package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
- package/node_modules/@xrkseek/preset-server/dist/preset.js +4 -1
- package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
- package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/server-config/dist/home.d.ts +1 -2
- package/node_modules/@xrkseek/server-config/dist/home.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-config/dist/home.js +1 -2
- package/node_modules/@xrkseek/server-config/dist/home.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts +6 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js +28 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts +11 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js +19 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +38 -2
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +178 -37
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js +17 -6
- package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts +41 -0
- package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/collab-board.js +79 -0
- package/node_modules/@xrkseek/server-face/dist/collab-board.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/face-schema.js +12 -2
- package/node_modules/@xrkseek/server-face/dist/face-schema.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js +8 -12
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/team.js +13 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/team.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/index.d.ts +4 -2
- package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/index.js +4 -2
- package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts +26 -0
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.js +84 -0
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/presence-tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presence-tools.js +9 -5
- package/node_modules/@xrkseek/server-face/dist/presence-tools.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.js +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/registry.d.ts +2 -2
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.d.ts +15 -3
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js +23 -7
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.js +6 -4
- package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +49 -1
- package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-status.js +89 -18
- package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts +17 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.js +34 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.d.ts +2 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.js +10 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts +15 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +159 -7
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-document.js +36 -1
- package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +28 -2
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts +6 -0
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.js +18 -0
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +2 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/ws-send-queue.d.ts +10 -0
- package/node_modules/@xrkseek/server-face/dist/ws-send-queue.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/ws-send-queue.js +68 -3
- package/node_modules/@xrkseek/server-face/dist/ws-send-queue.js.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.d.ts +13 -8
- package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.js +30 -28
- package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.d.ts +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.d.ts.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.js +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.js.map +1 -1
- package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.d.ts +1 -1
- package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.d.ts.map +1 -1
- package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.js +23 -1
- package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.js.map +1 -1
- package/package.json +5 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { mkdir, readFile as fsReadFile, rm, stat as fsStat, writeFile, } from "node:fs/promises";
|
|
1
|
+
import { mkdir, open as fsOpen, readFile as fsReadFile, rm, stat as fsStat, writeFile, } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { applyLiteralEdit, detectLineEndings, normalizeLineEndings, restoreLineEndings, stripCarriageReturn, EditAmbiguousError, } from "./edit-text.js";
|
|
4
|
-
import { textFromReadBuffer } from "./document-extract.js";
|
|
4
|
+
import { isDocumentExtractPath, textFromReadBuffer } from "./document-extract.js";
|
|
5
5
|
import { formatReadWindow } from "./read-window.js";
|
|
6
6
|
import { PathEscapeError, resolveUnderHostRoots, resolveWritablePath, resolveWithinRoot, } from "./paths.js";
|
|
7
7
|
import { globUnderRoot, grepUnderRoot, } from "./search.js";
|
|
@@ -16,7 +16,8 @@ export { DEFAULT_READ_LINE_LIMIT, formatReadWindow, } from "./read-window.js";
|
|
|
16
16
|
export { DOCUMENT_EXTRACT_MAX_BYTES, extractDocumentText, isDocumentExtractPath, textFromReadBuffer, } from "./document-extract.js";
|
|
17
17
|
export { FS_ROUTING_PROMPT_TEXT, SHELL_ROUTING_PROMPT_TEXT, formatFsRoutingPrompt, formatShellRoutingPrompt, } from "./routing-prompt.js";
|
|
18
18
|
export { createReadImageTool, formatImageReadOutput, imageMediaTypeForPath, parseAttachmentFilePath, } from "./read-image.js";
|
|
19
|
-
export { globToRegExp, matchGlob, } from "./search.js";
|
|
19
|
+
export { FS_GREP_MAX_FILE_BYTES, FS_SEARCH_SKIP_DIR_NAMES, FS_SEARCH_WALK_CAP, forEachLine, globToRegExp, globWalkUnderRoot, grepWalkUnderRoot, matchGlob, } from "./search.js";
|
|
20
|
+
export { FS_GLOB_HEAVY_EXCLUDES, FS_GLOB_VCS_EXCLUDES, FS_SEARCH_RAW_OUTPUT_MAX_BYTES, FS_SEARCH_TIMEOUT_MS, RipgrepUnavailableError, buildGlobCommand, buildGrepCommand, clearRgPathCache, parseGrepJsonRecord, parseGrepMatches, preferJsSearch, resolveRgPath, } from "./ripgrep.js";
|
|
20
21
|
export { langFromPath, presentEditCall, presentEditResult, presentGlobCall, presentGlobResult, presentGrepCall, presentGrepResult, presentPatchCall, presentPatchResult, presentReadCall, presentReadResult, presentWriteCall, presentWriteResult, } from "./present.js";
|
|
21
22
|
export { parsePatch, patchPathsRequiringRead, patchTouchedPaths, PatchParseError, } from "./apply-patch-parser.js";
|
|
22
23
|
export { applyPatchToFs, } from "./apply-patch.js";
|
|
@@ -75,17 +76,49 @@ export function createFsLocalProvider(options) {
|
|
|
75
76
|
async read(userPath, maxBytes = defaultMaxBytes) {
|
|
76
77
|
emit("fs/read-intent", userPath);
|
|
77
78
|
const abs = resolveReadablePath(root, hostReadableRoots, extraWritableRoots, userPath);
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
// Office/notebook extractors need the whole package; plain text reads
|
|
80
|
+
// only the leading maxBytes so a multi-MB source file cannot stall Host.
|
|
81
|
+
if (isDocumentExtractPath(userPath)) {
|
|
82
|
+
const buf = await fsReadFile(abs);
|
|
83
|
+
return textFromReadBuffer(buf, userPath, maxBytes);
|
|
84
|
+
}
|
|
85
|
+
const fh = await fsOpen(abs, "r");
|
|
86
|
+
try {
|
|
87
|
+
const st = await fh.stat();
|
|
88
|
+
if (st.size === 0)
|
|
89
|
+
return { content: "" };
|
|
90
|
+
const want = Math.min(st.size, maxBytes);
|
|
91
|
+
const buf = Buffer.allocUnsafe(want);
|
|
92
|
+
const { bytesRead } = await fh.read(buf, 0, want, 0);
|
|
93
|
+
const slice = buf.subarray(0, bytesRead);
|
|
94
|
+
const out = textFromReadBuffer(slice, userPath, maxBytes);
|
|
95
|
+
if (st.size > maxBytes) {
|
|
96
|
+
return { content: out.content, truncated: true };
|
|
97
|
+
}
|
|
98
|
+
return out;
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
await fh.close();
|
|
102
|
+
}
|
|
80
103
|
},
|
|
81
104
|
async readBytes(userPath, maxBytes = defaultMaxBytes) {
|
|
82
105
|
emit("fs/read-intent", userPath);
|
|
83
106
|
const abs = resolveReadablePath(root, hostReadableRoots, extraWritableRoots, userPath);
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
107
|
+
const fh = await fsOpen(abs, "r");
|
|
108
|
+
try {
|
|
109
|
+
const st = await fh.stat();
|
|
110
|
+
if (st.size > maxBytes) {
|
|
111
|
+
throw new Error(`file exceeds read byte limit (${st.size} > ${maxBytes})`);
|
|
112
|
+
}
|
|
113
|
+
if (st.size === 0)
|
|
114
|
+
return new Uint8Array();
|
|
115
|
+
const buf = Buffer.allocUnsafe(st.size);
|
|
116
|
+
const { bytesRead } = await fh.read(buf, 0, st.size, 0);
|
|
117
|
+
return new Uint8Array(buf.subarray(0, bytesRead));
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
await fh.close();
|
|
87
121
|
}
|
|
88
|
-
return new Uint8Array(buf);
|
|
89
122
|
},
|
|
90
123
|
async write(userPath, content) {
|
|
91
124
|
emit("fs/write-intent", userPath);
|
|
@@ -160,7 +193,9 @@ export function createFsTools(fs) {
|
|
|
160
193
|
name: "read_file",
|
|
161
194
|
description: "Read a UTF-8 file with 1-based line numbers (`N|line`). " +
|
|
162
195
|
"PDF, DOCX, XLSX, and ipynb are converted to text inside this tool. " +
|
|
163
|
-
"Use offset/limit for large files. Path may be workspace-relative
|
|
196
|
+
"Use offset/limit for large files. Path may be workspace-relative, " +
|
|
197
|
+
"absolute under the workspace, or absolute under host-readable roots " +
|
|
198
|
+
"(product home `{XRK_HOME}` by default — spill, attachments, memories).",
|
|
164
199
|
parameters: {
|
|
165
200
|
type: "object",
|
|
166
201
|
properties: {
|
|
@@ -200,7 +235,9 @@ export function createFsTools(fs) {
|
|
|
200
235
|
},
|
|
201
236
|
{
|
|
202
237
|
name: "write_file",
|
|
203
|
-
description: "Create or fully overwrite a UTF-8 file. Read the path in this turn first (write-intent)."
|
|
238
|
+
description: "Create or fully overwrite a UTF-8 file. Read the path in this turn first (write-intent). " +
|
|
239
|
+
"Workspace-relative paths stay under the workspace; absolute paths may use " +
|
|
240
|
+
"Settings → Permissions → extra writable roots (defaults include product home).",
|
|
204
241
|
parameters: {
|
|
205
242
|
type: "object",
|
|
206
243
|
properties: {
|
|
@@ -227,9 +264,10 @@ export function createFsTools(fs) {
|
|
|
227
264
|
{
|
|
228
265
|
name: "apply_edit",
|
|
229
266
|
description: "Replace a unique old_content snippet with content (literal substring edit). " +
|
|
230
|
-
"
|
|
231
|
-
"if you did not just read that exact text in this turn, read the file first
|
|
232
|
-
"Use replace_all when the snippet appears more than once
|
|
267
|
+
"Copy old_content verbatim from the file (exact indentation, no elided lines) — " +
|
|
268
|
+
"if you did not just read that exact text in this turn, read the file first. " +
|
|
269
|
+
"Use replace_all when the snippet appears more than once; prefer write_file for whole-file overwrite. " +
|
|
270
|
+
"Absolute paths may use Settings → Permissions → extra writable roots (defaults include product home).",
|
|
233
271
|
parameters: {
|
|
234
272
|
type: "object",
|
|
235
273
|
properties: {
|
|
@@ -264,7 +302,8 @@ export function createFsTools(fs) {
|
|
|
264
302
|
name: "apply_patch",
|
|
265
303
|
description: "Apply a multi-file Codex-format patch (`*** Begin Patch` … `*** End Patch`). " +
|
|
266
304
|
"Use for large or multi-file edits; `apply_edit` for a single unique snippet. " +
|
|
267
|
-
"Update/Delete paths must be read in this turn first (write-intent)."
|
|
305
|
+
"Update/Delete paths must be read in this turn first (write-intent). " +
|
|
306
|
+
"Absolute paths may use Settings → Permissions → extra writable roots (defaults include product home).",
|
|
268
307
|
parameters: {
|
|
269
308
|
type: "object",
|
|
270
309
|
properties: {
|
|
@@ -314,8 +353,9 @@ export function createFsTools(fs) {
|
|
|
314
353
|
},
|
|
315
354
|
{
|
|
316
355
|
name: "glob",
|
|
317
|
-
description: "List workspace-relative
|
|
318
|
-
"
|
|
356
|
+
description: "List workspace-relative paths matching a glob (ripgrep --files, mtime order). " +
|
|
357
|
+
"Respects .gitignore; skips node_modules/dist/VCS. " +
|
|
358
|
+
"`*.ts` matches basenames; use `**/*.ts` or a path prefix to scope.",
|
|
319
359
|
parameters: {
|
|
320
360
|
type: "object",
|
|
321
361
|
properties: {
|
|
@@ -355,8 +395,9 @@ export function createFsTools(fs) {
|
|
|
355
395
|
},
|
|
356
396
|
{
|
|
357
397
|
name: "grep",
|
|
358
|
-
description: "Search
|
|
359
|
-
"Optional path scopes a file/dir; glob filters
|
|
398
|
+
description: "Search file contents with ripgrep (path:line:text). Respects .gitignore; " +
|
|
399
|
+
"skips node_modules/dist/VCS. Optional path scopes a file/dir; glob filters names (e.g. **/*.ts). " +
|
|
400
|
+
"Default cap ~100 hits.",
|
|
360
401
|
parameters: {
|
|
361
402
|
type: "object",
|
|
362
403
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Packaged ripgrep backend for `glob` / `grep`.
|
|
3
|
+
*
|
|
4
|
+
* Provenance (adapted, not Cordis-coupled):
|
|
5
|
+
* - DSH `@deepseek-ai/dsh-tool-fs-search` `search-core` / `glob` / `grep`
|
|
6
|
+
* (resolveRgPath, `--no-config`, `--files` / `--json`, VCS excludes, error codes)
|
|
7
|
+
* - pi `@mariozechner/pi-coding-agent` grep (stream `--json`, kill at match limit)
|
|
8
|
+
* - Codex bundled `rg` (packaged binary, no system install)
|
|
9
|
+
*
|
|
10
|
+
* Better than a pure JS walk on monorepos: native ignore rules, mmap search,
|
|
11
|
+
* early kill at `maxResults`. Falls back only when the binary is missing.
|
|
12
|
+
*/
|
|
13
|
+
import type { FsGrepHit, FsGrepOptions, FsGlobOptions } from "./search.js";
|
|
14
|
+
/** Cooperative search budget (ms) — DSH / Claude Code default. */
|
|
15
|
+
export declare const FS_SEARCH_TIMEOUT_MS = 30000;
|
|
16
|
+
/** Cap on raw `rg --files` stdout we parse — DSH `RAW_OUTPUT_MAX_BYTES`. */
|
|
17
|
+
export declare const FS_SEARCH_RAW_OUTPUT_MAX_BYTES = 20000000;
|
|
18
|
+
/** DSH `GLOB_VCS_EXCLUDES` — prune VCS stores under `--hidden`. */
|
|
19
|
+
export declare const FS_GLOB_VCS_EXCLUDES: readonly [".git", ".svn", ".hg", ".bzr", ".jj", ".sl"];
|
|
20
|
+
/**
|
|
21
|
+
* Extra prune set beyond DSH (DSH glob uses `--no-ignore` and would scrape
|
|
22
|
+
* `node_modules`). We keep gitignore (pi) AND hard-exclude these basenames.
|
|
23
|
+
*/
|
|
24
|
+
export declare const FS_GLOB_HEAVY_EXCLUDES: readonly ["node_modules", "dist", "build", "out", "coverage", ".next", ".nuxt", ".turbo", ".cache", ".parcel-cache", ".vite", "__pycache__", ".venv", "venv", "target", ".idea", ".gradle", ".codegraph", ".scratch-opus", "Pods"];
|
|
25
|
+
export declare class RipgrepUnavailableError extends Error {
|
|
26
|
+
constructor(message: string, options?: ErrorOptions);
|
|
27
|
+
}
|
|
28
|
+
/** DSH `resolveRgPath` — packaged `@vscode/ripgrep`, Electron asar unpack. */
|
|
29
|
+
export declare function resolveRgPath(): Promise<string>;
|
|
30
|
+
/** Test hook. */
|
|
31
|
+
export declare function clearRgPathCache(): void;
|
|
32
|
+
/**
|
|
33
|
+
* DSH `buildGlobCommand` + heavy excludes.
|
|
34
|
+
* Unlike DSH we omit `--no-ignore` (pi: respect `.gitignore`) and still prune
|
|
35
|
+
* generated trees when ignore files are missing.
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildGlobCommand(input: {
|
|
38
|
+
readonly pattern: string;
|
|
39
|
+
readonly path?: string;
|
|
40
|
+
}): string[];
|
|
41
|
+
/**
|
|
42
|
+
* DSH `buildGrepCommand` (+ heavy excludes, optional `-i`).
|
|
43
|
+
* Pattern / include as `--flag=value`; scope behind `--`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function buildGrepCommand(input: {
|
|
46
|
+
readonly pattern: string;
|
|
47
|
+
readonly path?: string;
|
|
48
|
+
readonly glob?: string;
|
|
49
|
+
readonly caseInsensitive?: boolean;
|
|
50
|
+
}): string[];
|
|
51
|
+
/** DSH `parseRecord` → our `FsGrepHit`. */
|
|
52
|
+
export declare function parseGrepJsonRecord(line: string): FsGrepHit | undefined;
|
|
53
|
+
export declare function parseGrepMatches(stdout: string): FsGrepHit[];
|
|
54
|
+
/** Glob via packaged rg `--files` (DSH). */
|
|
55
|
+
export declare function globWithRipgrep(root: string, pattern: string, options?: FsGlobOptions): Promise<readonly string[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Grep via packaged rg `--json`, streaming + early kill at `maxResults`
|
|
58
|
+
* (pi coding-agent). Avoids buffering multi-MB stdout on hot repos.
|
|
59
|
+
*/
|
|
60
|
+
export declare function grepWithRipgrep(root: string, pattern: string, options?: FsGrepOptions): Promise<readonly FsGrepHit[]>;
|
|
61
|
+
/** True when callers should skip ripgrep (`XRK_FS_SEARCH=js`). */
|
|
62
|
+
export declare function preferJsSearch(): boolean;
|
|
63
|
+
//# sourceMappingURL=ripgrep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ripgrep.d.ts","sourceRoot":"","sources":["../src/ripgrep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,4EAA4E;AAC5E,eAAO,MAAM,8BAA8B,WAAa,CAAC;AAEzD,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,wDAOvB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,oOAqBzB,CAAC;AAEX,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AASD,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAoB/C;AAED,iBAAiB;AACjB,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAUD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,EAAE,CAYX;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC,GAAG,MAAM,EAAE,CAeX;AASD,2CAA2C;AAC3C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CA+CvE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAQ5D;AA2BD,4CAA4C;AAC5C,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CA6B5B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CA8G/B;AAED,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,OAAO,CAGxC"}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Packaged ripgrep backend for `glob` / `grep`.
|
|
3
|
+
*
|
|
4
|
+
* Provenance (adapted, not Cordis-coupled):
|
|
5
|
+
* - DSH `@deepseek-ai/dsh-tool-fs-search` `search-core` / `glob` / `grep`
|
|
6
|
+
* (resolveRgPath, `--no-config`, `--files` / `--json`, VCS excludes, error codes)
|
|
7
|
+
* - pi `@mariozechner/pi-coding-agent` grep (stream `--json`, kill at match limit)
|
|
8
|
+
* - Codex bundled `rg` (packaged binary, no system install)
|
|
9
|
+
*
|
|
10
|
+
* Better than a pure JS walk on monorepos: native ignore rules, mmap search,
|
|
11
|
+
* early kill at `maxResults`. Falls back only when the binary is missing.
|
|
12
|
+
*/
|
|
13
|
+
import { spawn } from "node:child_process";
|
|
14
|
+
import { existsSync } from "node:fs";
|
|
15
|
+
import { createInterface } from "node:readline";
|
|
16
|
+
import path from "node:path";
|
|
17
|
+
import { createLocalSubprocess } from "@xrkseek/exec-subprocess";
|
|
18
|
+
import { resolveWithinRoot } from "./paths.js";
|
|
19
|
+
/** Cooperative search budget (ms) — DSH / Claude Code default. */
|
|
20
|
+
export const FS_SEARCH_TIMEOUT_MS = 30_000;
|
|
21
|
+
/** Cap on raw `rg --files` stdout we parse — DSH `RAW_OUTPUT_MAX_BYTES`. */
|
|
22
|
+
export const FS_SEARCH_RAW_OUTPUT_MAX_BYTES = 20_000_000;
|
|
23
|
+
/** DSH `GLOB_VCS_EXCLUDES` — prune VCS stores under `--hidden`. */
|
|
24
|
+
export const FS_GLOB_VCS_EXCLUDES = [
|
|
25
|
+
".git",
|
|
26
|
+
".svn",
|
|
27
|
+
".hg",
|
|
28
|
+
".bzr",
|
|
29
|
+
".jj",
|
|
30
|
+
".sl",
|
|
31
|
+
];
|
|
32
|
+
/**
|
|
33
|
+
* Extra prune set beyond DSH (DSH glob uses `--no-ignore` and would scrape
|
|
34
|
+
* `node_modules`). We keep gitignore (pi) AND hard-exclude these basenames.
|
|
35
|
+
*/
|
|
36
|
+
export const FS_GLOB_HEAVY_EXCLUDES = [
|
|
37
|
+
"node_modules",
|
|
38
|
+
"dist",
|
|
39
|
+
"build",
|
|
40
|
+
"out",
|
|
41
|
+
"coverage",
|
|
42
|
+
".next",
|
|
43
|
+
".nuxt",
|
|
44
|
+
".turbo",
|
|
45
|
+
".cache",
|
|
46
|
+
".parcel-cache",
|
|
47
|
+
".vite",
|
|
48
|
+
"__pycache__",
|
|
49
|
+
".venv",
|
|
50
|
+
"venv",
|
|
51
|
+
"target",
|
|
52
|
+
".idea",
|
|
53
|
+
".gradle",
|
|
54
|
+
".codegraph",
|
|
55
|
+
".scratch-opus",
|
|
56
|
+
"Pods",
|
|
57
|
+
];
|
|
58
|
+
export class RipgrepUnavailableError extends Error {
|
|
59
|
+
constructor(message, options) {
|
|
60
|
+
super(message, options);
|
|
61
|
+
this.name = "RipgrepUnavailableError";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** Reject reasons must be Errors; a `catch` binding is typed `unknown`. */
|
|
65
|
+
function errorText(err) {
|
|
66
|
+
return err instanceof Error ? err.message : String(err);
|
|
67
|
+
}
|
|
68
|
+
let rgPathMemo;
|
|
69
|
+
/** DSH `resolveRgPath` — packaged `@vscode/ripgrep`, Electron asar unpack. */
|
|
70
|
+
export function resolveRgPath() {
|
|
71
|
+
rgPathMemo ??= (async () => {
|
|
72
|
+
try {
|
|
73
|
+
const mod = await import("@vscode/ripgrep");
|
|
74
|
+
const p = mod.rgPath;
|
|
75
|
+
if (typeof p !== "string" || !p || !existsSync(p)) {
|
|
76
|
+
throw new RipgrepUnavailableError("packaged ripgrep path missing on disk");
|
|
77
|
+
}
|
|
78
|
+
return process.versions.electron === undefined
|
|
79
|
+
? p
|
|
80
|
+
: p.replace(/\.asar(?=[\\/])/u, ".asar.unpacked");
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
if (err instanceof RipgrepUnavailableError)
|
|
84
|
+
throw err;
|
|
85
|
+
throw new RipgrepUnavailableError("packaged ripgrep (@vscode/ripgrep) unavailable", { cause: err });
|
|
86
|
+
}
|
|
87
|
+
})();
|
|
88
|
+
return rgPathMemo;
|
|
89
|
+
}
|
|
90
|
+
/** Test hook. */
|
|
91
|
+
export function clearRgPathCache() {
|
|
92
|
+
rgPathMemo = undefined;
|
|
93
|
+
}
|
|
94
|
+
function excludeGlobs(names) {
|
|
95
|
+
// DSH: bare form prunes during traversal; /** form covers root-at-dir.
|
|
96
|
+
return names.flatMap((name) => [
|
|
97
|
+
`--glob=!**/${name}`,
|
|
98
|
+
`--glob=!**/${name}/**`,
|
|
99
|
+
]);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* DSH `buildGlobCommand` + heavy excludes.
|
|
103
|
+
* Unlike DSH we omit `--no-ignore` (pi: respect `.gitignore`) and still prune
|
|
104
|
+
* generated trees when ignore files are missing.
|
|
105
|
+
*/
|
|
106
|
+
export function buildGlobCommand(input) {
|
|
107
|
+
const parts = [
|
|
108
|
+
"--no-config",
|
|
109
|
+
"--files",
|
|
110
|
+
`--glob=${input.pattern}`,
|
|
111
|
+
"--sort=modified",
|
|
112
|
+
"--hidden",
|
|
113
|
+
...excludeGlobs(FS_GLOB_VCS_EXCLUDES),
|
|
114
|
+
...excludeGlobs(FS_GLOB_HEAVY_EXCLUDES),
|
|
115
|
+
];
|
|
116
|
+
if (input.path !== undefined)
|
|
117
|
+
parts.push("--", input.path);
|
|
118
|
+
return parts;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* DSH `buildGrepCommand` (+ heavy excludes, optional `-i`).
|
|
122
|
+
* Pattern / include as `--flag=value`; scope behind `--`.
|
|
123
|
+
*/
|
|
124
|
+
export function buildGrepCommand(input) {
|
|
125
|
+
const parts = [
|
|
126
|
+
"--no-config",
|
|
127
|
+
"--json",
|
|
128
|
+
`--regexp=${input.pattern}`,
|
|
129
|
+
"--hidden",
|
|
130
|
+
];
|
|
131
|
+
if (input.caseInsensitive)
|
|
132
|
+
parts.push("--ignore-case");
|
|
133
|
+
if (input.glob !== undefined)
|
|
134
|
+
parts.push(`--glob=${input.glob}`);
|
|
135
|
+
parts.push(...excludeGlobs(FS_GLOB_VCS_EXCLUDES), ...excludeGlobs(FS_GLOB_HEAVY_EXCLUDES));
|
|
136
|
+
if (input.path !== undefined)
|
|
137
|
+
parts.push("--", input.path);
|
|
138
|
+
return parts;
|
|
139
|
+
}
|
|
140
|
+
function malformedRecord(detail, cause) {
|
|
141
|
+
return new Error(`grep received malformed ripgrep --json output (${detail})`, { cause });
|
|
142
|
+
}
|
|
143
|
+
/** DSH `parseRecord` → our `FsGrepHit`. */
|
|
144
|
+
export function parseGrepJsonRecord(line) {
|
|
145
|
+
let parsed;
|
|
146
|
+
try {
|
|
147
|
+
parsed = JSON.parse(line);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
throw malformedRecord("a line is not JSON", error);
|
|
151
|
+
}
|
|
152
|
+
if (typeof parsed !== "object" || parsed === null) {
|
|
153
|
+
throw malformedRecord("a record is not an object");
|
|
154
|
+
}
|
|
155
|
+
const record = parsed;
|
|
156
|
+
if (record.type !== "match")
|
|
157
|
+
return undefined;
|
|
158
|
+
if (typeof record.data !== "object" || record.data === null) {
|
|
159
|
+
throw malformedRecord("a match record has no data");
|
|
160
|
+
}
|
|
161
|
+
const data = record.data;
|
|
162
|
+
const pathText = typeof data.path === "object" && data.path !== null
|
|
163
|
+
? data.path.text
|
|
164
|
+
: undefined;
|
|
165
|
+
if (typeof pathText !== "string") {
|
|
166
|
+
throw malformedRecord("a match record has no path text");
|
|
167
|
+
}
|
|
168
|
+
if (typeof data.line_number !== "number") {
|
|
169
|
+
throw malformedRecord("a match record has no line number");
|
|
170
|
+
}
|
|
171
|
+
if (typeof data.lines !== "object" || data.lines === null) {
|
|
172
|
+
throw malformedRecord("a match record has no line content");
|
|
173
|
+
}
|
|
174
|
+
const lines = data.lines;
|
|
175
|
+
let text;
|
|
176
|
+
if (typeof lines.text === "string") {
|
|
177
|
+
text = lines.text.replace(/\r?\n$/, "");
|
|
178
|
+
}
|
|
179
|
+
else if (typeof lines.bytes === "string") {
|
|
180
|
+
text = "(line is not valid UTF-8)";
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
throw malformedRecord("a match record has neither line text nor bytes");
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
path: pathText.replace(/\\/g, "/"),
|
|
187
|
+
line: data.line_number,
|
|
188
|
+
text: text.length > 400 ? `${text.slice(0, 400)}…` : text,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
export function parseGrepMatches(stdout) {
|
|
192
|
+
const hits = [];
|
|
193
|
+
for (const line of stdout.split("\n")) {
|
|
194
|
+
if (line.length === 0)
|
|
195
|
+
continue;
|
|
196
|
+
const hit = parseGrepJsonRecord(line);
|
|
197
|
+
if (hit !== undefined)
|
|
198
|
+
hits.push(hit);
|
|
199
|
+
}
|
|
200
|
+
return hits;
|
|
201
|
+
}
|
|
202
|
+
function classifyRgFailure(tool, exitCode, stderr) {
|
|
203
|
+
const excerpt = stderr.trim().slice(0, 400);
|
|
204
|
+
if (/regex parse error|error parsing glob/i.test(excerpt)) {
|
|
205
|
+
return new Error(`${tool} pattern rejected by ripgrep${excerpt ? `: ${excerpt}` : ""}`);
|
|
206
|
+
}
|
|
207
|
+
return new Error(`${tool} ripgrep failed (exit ${exitCode})${excerpt ? `: ${excerpt}` : ""}`);
|
|
208
|
+
}
|
|
209
|
+
function toDisplayPath(p, rootAbs) {
|
|
210
|
+
const norm = p.replace(/\\/g, "/");
|
|
211
|
+
if (!path.isAbsolute(p))
|
|
212
|
+
return norm.replace(/^\.\//, "");
|
|
213
|
+
const rel = path.relative(rootAbs, p).replace(/\\/g, "/");
|
|
214
|
+
if (rel === "" || rel === ".")
|
|
215
|
+
return ".";
|
|
216
|
+
if (rel.startsWith(".."))
|
|
217
|
+
return norm;
|
|
218
|
+
return rel;
|
|
219
|
+
}
|
|
220
|
+
/** Glob via packaged rg `--files` (DSH). */
|
|
221
|
+
export async function globWithRipgrep(root, pattern, options) {
|
|
222
|
+
const rootAbs = path.resolve(root);
|
|
223
|
+
const maxResults = options?.maxResults ?? 200;
|
|
224
|
+
const bin = await resolveRgPath();
|
|
225
|
+
const subprocess = createLocalSubprocess();
|
|
226
|
+
const result = await subprocess.spawn([bin, ...buildGlobCommand({ pattern })], {
|
|
227
|
+
cwd: rootAbs,
|
|
228
|
+
timeoutMs: FS_SEARCH_TIMEOUT_MS,
|
|
229
|
+
// Search never needs disk spill; keep the Host loop free of writeSync.
|
|
230
|
+
spill: false,
|
|
231
|
+
});
|
|
232
|
+
if (result.exitCode !== 0 && result.exitCode !== 1) {
|
|
233
|
+
throw classifyRgFailure("glob", result.exitCode ?? -1, result.stderr);
|
|
234
|
+
}
|
|
235
|
+
if (Buffer.byteLength(result.stdout, "utf8") > FS_SEARCH_RAW_OUTPUT_MAX_BYTES) {
|
|
236
|
+
throw new Error(`glob produced more than ${FS_SEARCH_RAW_OUTPUT_MAX_BYTES} bytes of raw output; narrow pattern`);
|
|
237
|
+
}
|
|
238
|
+
const out = [];
|
|
239
|
+
for (const line of result.stdout.split(/\r?\n/)) {
|
|
240
|
+
if (!line)
|
|
241
|
+
continue;
|
|
242
|
+
out.push(toDisplayPath(line, rootAbs));
|
|
243
|
+
if (out.length >= maxResults)
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
return out;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Grep via packaged rg `--json`, streaming + early kill at `maxResults`
|
|
250
|
+
* (pi coding-agent). Avoids buffering multi-MB stdout on hot repos.
|
|
251
|
+
*/
|
|
252
|
+
export async function grepWithRipgrep(root, pattern, options) {
|
|
253
|
+
const rootAbs = path.resolve(root);
|
|
254
|
+
const maxResults = options?.maxResults ?? 100;
|
|
255
|
+
const scope = options?.path;
|
|
256
|
+
let scopedPath;
|
|
257
|
+
if (scope !== undefined && scope !== "." && scope !== "") {
|
|
258
|
+
resolveWithinRoot(rootAbs, scope);
|
|
259
|
+
scopedPath = scope;
|
|
260
|
+
}
|
|
261
|
+
const bin = await resolveRgPath();
|
|
262
|
+
const argv = buildGrepCommand({
|
|
263
|
+
pattern,
|
|
264
|
+
...(scopedPath !== undefined ? { path: scopedPath } : {}),
|
|
265
|
+
...(options?.glob !== undefined ? { glob: options.glob } : {}),
|
|
266
|
+
...(options?.caseInsensitive ? { caseInsensitive: true } : {}),
|
|
267
|
+
});
|
|
268
|
+
return await new Promise((resolve, reject) => {
|
|
269
|
+
const child = spawn(bin, argv, {
|
|
270
|
+
cwd: rootAbs,
|
|
271
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
272
|
+
windowsHide: true,
|
|
273
|
+
});
|
|
274
|
+
const hits = [];
|
|
275
|
+
let stderr = "";
|
|
276
|
+
let settled = false;
|
|
277
|
+
let killedForLimit = false;
|
|
278
|
+
const timer = setTimeout(() => {
|
|
279
|
+
killedForLimit = false;
|
|
280
|
+
try {
|
|
281
|
+
child.kill();
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
/* ignore */
|
|
285
|
+
}
|
|
286
|
+
}, FS_SEARCH_TIMEOUT_MS);
|
|
287
|
+
const finish = (fn) => {
|
|
288
|
+
if (settled)
|
|
289
|
+
return;
|
|
290
|
+
settled = true;
|
|
291
|
+
clearTimeout(timer);
|
|
292
|
+
fn();
|
|
293
|
+
};
|
|
294
|
+
child.stderr?.setEncoding("utf8");
|
|
295
|
+
child.stderr?.on("data", (chunk) => {
|
|
296
|
+
if (stderr.length < 8_192)
|
|
297
|
+
stderr += chunk;
|
|
298
|
+
});
|
|
299
|
+
const rl = createInterface({ input: child.stdout });
|
|
300
|
+
rl.on("line", (line) => {
|
|
301
|
+
if (settled || hits.length >= maxResults)
|
|
302
|
+
return;
|
|
303
|
+
if (!line.trim())
|
|
304
|
+
return;
|
|
305
|
+
let hit;
|
|
306
|
+
try {
|
|
307
|
+
hit = parseGrepJsonRecord(line);
|
|
308
|
+
}
|
|
309
|
+
catch (err) {
|
|
310
|
+
finish(() => reject(new Error(`ripgrep --json parse failed: ${errorText(err)}`, {
|
|
311
|
+
cause: err,
|
|
312
|
+
})));
|
|
313
|
+
try {
|
|
314
|
+
child.kill();
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
/* ignore */
|
|
318
|
+
}
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
if (hit === undefined)
|
|
322
|
+
return;
|
|
323
|
+
hits.push({
|
|
324
|
+
...hit,
|
|
325
|
+
path: toDisplayPath(hit.path, rootAbs),
|
|
326
|
+
});
|
|
327
|
+
if (hits.length >= maxResults) {
|
|
328
|
+
killedForLimit = true;
|
|
329
|
+
try {
|
|
330
|
+
child.kill();
|
|
331
|
+
}
|
|
332
|
+
catch {
|
|
333
|
+
/* ignore */
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
child.on("error", (err) => {
|
|
338
|
+
finish(() => reject(new RipgrepUnavailableError(`Failed to run ripgrep: ${err.message}`, {
|
|
339
|
+
cause: err,
|
|
340
|
+
})));
|
|
341
|
+
});
|
|
342
|
+
child.on("close", (code) => {
|
|
343
|
+
rl.close();
|
|
344
|
+
finish(() => {
|
|
345
|
+
if (killedForLimit) {
|
|
346
|
+
resolve(hits);
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
if (code !== 0 && code !== 1 && code !== null) {
|
|
350
|
+
reject(classifyRgFailure("grep", code, stderr));
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
resolve(hits);
|
|
354
|
+
});
|
|
355
|
+
});
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
/** True when callers should skip ripgrep (`XRK_FS_SEARCH=js`). */
|
|
359
|
+
export function preferJsSearch() {
|
|
360
|
+
const raw = process.env.XRK_FS_SEARCH?.trim().toLowerCase();
|
|
361
|
+
return raw === "js" || raw === "walk" || raw === "javascript";
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=ripgrep.js.map
|