@paretools/search 0.8.1 → 0.8.3
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/dist/index.js +1 -1
- package/dist/lib/formatters.d.ts +11 -1
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +23 -3
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/parsers.d.ts +6 -1
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +18 -0
- package/dist/lib/parsers.js.map +1 -1
- package/dist/lib/search-runner.d.ts +4 -0
- package/dist/lib/search-runner.d.ts.map +1 -1
- package/dist/lib/search-runner.js +47 -2
- package/dist/lib/search-runner.js.map +1 -1
- package/dist/schemas/index.d.ts +12 -6
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +9 -3
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/count.d.ts +1 -0
- package/dist/tools/count.d.ts.map +1 -1
- package/dist/tools/count.js +1 -0
- package/dist/tools/count.js.map +1 -1
- package/dist/tools/find.d.ts +1 -0
- package/dist/tools/find.d.ts.map +1 -1
- package/dist/tools/find.js +1 -0
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/jq.d.ts +4 -0
- package/dist/tools/jq.d.ts.map +1 -0
- package/dist/tools/jq.js +65 -0
- package/dist/tools/jq.js.map +1 -0
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +1 -0
- package/dist/tools/search.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { registerAllTools } from "./tools/index.js";
|
|
5
|
-
const server = new McpServer({ name: "@paretools/search", version: "0.
|
|
5
|
+
const server = new McpServer({ name: "@paretools/search", version: "0.8.1" }, {
|
|
6
6
|
instructions: "Structured code search operations (ripgrep + fd). Returns typed JSON with match locations, file lists, and match counts. Use instead of running rg/fd/grep/find in the terminal.",
|
|
7
7
|
});
|
|
8
8
|
registerAllTools(server);
|
package/dist/lib/formatters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SearchResult, FindResult, CountResult } from "../schemas/index.js";
|
|
1
|
+
import type { SearchResult, FindResult, CountResult, JqResult } from "../schemas/index.js";
|
|
2
2
|
/** Formats structured search results into a human-readable match listing. */
|
|
3
3
|
export declare function formatSearch(data: SearchResult): string;
|
|
4
4
|
/** Formats structured find results into a human-readable file listing. */
|
|
@@ -28,4 +28,14 @@ export interface CountCompact {
|
|
|
28
28
|
}
|
|
29
29
|
export declare function compactCountMap(data: CountResult): CountCompact;
|
|
30
30
|
export declare function formatCountCompact(data: CountCompact): string;
|
|
31
|
+
/** Formats jq result into a human-readable string. */
|
|
32
|
+
export declare function formatJq(data: JqResult): string;
|
|
33
|
+
/** Compact jq: same as full — output is already minimal. */
|
|
34
|
+
export interface JqCompact {
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
output: string;
|
|
37
|
+
exitCode: number;
|
|
38
|
+
}
|
|
39
|
+
export declare function compactJqMap(data: JqResult): JqCompact;
|
|
40
|
+
export declare function formatJqCompact(data: JqCompact): string;
|
|
31
41
|
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI3F,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAQvD;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAQnD;AAED,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAQrD;AAID,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAKlE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAG/D;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAI5D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAG3D;AAED,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAK/D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAG7D;AAID,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAK/C;AAED,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAKtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAKvD"}
|
package/dist/lib/formatters.js
CHANGED
|
@@ -4,7 +4,7 @@ export function formatSearch(data) {
|
|
|
4
4
|
if (data.totalMatches === 0)
|
|
5
5
|
return "search: no matches found.";
|
|
6
6
|
const lines = [`search: ${data.totalMatches} matches in ${data.filesSearched} files`];
|
|
7
|
-
for (const m of data.matches) {
|
|
7
|
+
for (const m of data.matches ?? []) {
|
|
8
8
|
lines.push(` ${m.file}:${m.line}:${m.column}: ${m.lineContent}`);
|
|
9
9
|
}
|
|
10
10
|
return lines.join("\n");
|
|
@@ -14,7 +14,7 @@ export function formatFind(data) {
|
|
|
14
14
|
if (data.total === 0)
|
|
15
15
|
return "find: no files found.";
|
|
16
16
|
const lines = [`find: ${data.total} files`];
|
|
17
|
-
for (const f of data.files) {
|
|
17
|
+
for (const f of data.files ?? []) {
|
|
18
18
|
lines.push(` ${f.path}`);
|
|
19
19
|
}
|
|
20
20
|
return lines.join("\n");
|
|
@@ -24,7 +24,7 @@ export function formatCount(data) {
|
|
|
24
24
|
if (data.totalFiles === 0)
|
|
25
25
|
return "count: no matches found.";
|
|
26
26
|
const lines = [`count: ${data.totalMatches} matches in ${data.totalFiles} files`];
|
|
27
|
-
for (const f of data.files) {
|
|
27
|
+
for (const f of data.files ?? []) {
|
|
28
28
|
lines.push(` ${f.file}: ${f.count}`);
|
|
29
29
|
}
|
|
30
30
|
return lines.join("\n");
|
|
@@ -61,4 +61,24 @@ export function formatCountCompact(data) {
|
|
|
61
61
|
return "count: no matches found.";
|
|
62
62
|
return `count: ${data.totalMatches} matches in ${data.totalFiles} files`;
|
|
63
63
|
}
|
|
64
|
+
// ── Jq formatters ───────────────────────────────────────────────────
|
|
65
|
+
/** Formats jq result into a human-readable string. */
|
|
66
|
+
export function formatJq(data) {
|
|
67
|
+
if (data.exitCode !== 0) {
|
|
68
|
+
return `jq: error (exit ${data.exitCode})\n${data.output}`;
|
|
69
|
+
}
|
|
70
|
+
return data.output;
|
|
71
|
+
}
|
|
72
|
+
export function compactJqMap(data) {
|
|
73
|
+
return {
|
|
74
|
+
output: data.output,
|
|
75
|
+
exitCode: data.exitCode,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function formatJqCompact(data) {
|
|
79
|
+
if (data.exitCode !== 0) {
|
|
80
|
+
return `jq: error (exit ${data.exitCode})\n${data.output}`;
|
|
81
|
+
}
|
|
82
|
+
return data.output;
|
|
83
|
+
}
|
|
64
84
|
//# sourceMappingURL=formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAEA,uEAAuE;AAEvE,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAEhE,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,aAAa,QAAQ,CAAC,CAAC;IACtF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAEA,uEAAuE;AAEvE,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAEhE,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,aAAa,QAAQ,CAAC,CAAC;IACtF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IAErD,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,IAAiB;IAC3C,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO,0BAA0B,CAAC;IAE7D,MAAM,KAAK,GAAG,CAAC,UAAU,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,UAAU,QAAQ,CAAC,CAAC;IAClF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAWD,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAmB;IACrD,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAChE,OAAO,WAAW,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,aAAa,QAAQ,CAAC;AAC/E,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,IAAgB;IAC7C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAiB;IACjD,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IACrD,OAAO,SAAS,IAAI,CAAC,KAAK,QAAQ,CAAC;AACrC,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,IAAiB;IAC/C,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAkB;IACnD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO,0BAA0B,CAAC;IAC7D,OAAO,UAAU,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,UAAU,QAAQ,CAAC;AAC3E,CAAC;AAED,uEAAuE;AAEvE,sDAAsD;AACtD,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,mBAAmB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AASD,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,mBAAmB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC"}
|
package/dist/lib/parsers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SearchResult, FindResult, CountResult } from "../schemas/index.js";
|
|
1
|
+
import type { SearchResult, FindResult, CountResult, JqResult } from "../schemas/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Parses `rg --json` JSONL output into a structured SearchResult.
|
|
4
4
|
*
|
|
@@ -18,4 +18,9 @@ export declare function parseFdOutput(stdout: string, maxResults: number): FindR
|
|
|
18
18
|
* to handle file paths that may contain colons (e.g., Windows drive letters).
|
|
19
19
|
*/
|
|
20
20
|
export declare function parseRgCountOutput(stdout: string): CountResult;
|
|
21
|
+
/**
|
|
22
|
+
* Parses jq command output into a structured JqResult.
|
|
23
|
+
* If the command failed (non-zero exit), stderr is used as the output.
|
|
24
|
+
*/
|
|
25
|
+
export declare function parseJqOutput(stdout: string, stderr: string, exitCode: number): JqResult;
|
|
21
26
|
//# sourceMappingURL=parsers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAoC3F;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CA6ClF;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAwB5E;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAwB9D;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAaxF"}
|
package/dist/lib/parsers.js
CHANGED
|
@@ -104,4 +104,22 @@ export function parseRgCountOutput(stdout) {
|
|
|
104
104
|
totalFiles: files.length,
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
+
// ── jq parser ────────────────────────────────────────────────────────
|
|
108
|
+
/**
|
|
109
|
+
* Parses jq command output into a structured JqResult.
|
|
110
|
+
* If the command failed (non-zero exit), stderr is used as the output.
|
|
111
|
+
*/
|
|
112
|
+
export function parseJqOutput(stdout, stderr, exitCode) {
|
|
113
|
+
if (exitCode !== 0) {
|
|
114
|
+
// jq failed — return stderr as the output so the caller sees the error
|
|
115
|
+
return {
|
|
116
|
+
output: stderr.trim() || stdout.trim(),
|
|
117
|
+
exitCode,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
output: stdout.trimEnd(),
|
|
122
|
+
exitCode,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
107
125
|
//# sourceMappingURL=parsers.js.map
|
package/dist/lib/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { type RunResult } from "@paretools/shared";
|
|
2
2
|
export declare function rgCmd(args: string[], cwd?: string): Promise<RunResult>;
|
|
3
3
|
export declare function fdCmd(args: string[], cwd?: string): Promise<RunResult>;
|
|
4
|
+
export declare function jqCmd(args: string[], opts?: {
|
|
5
|
+
cwd?: string;
|
|
6
|
+
stdin?: string;
|
|
7
|
+
}): Promise<RunResult>;
|
|
4
8
|
//# sourceMappingURL=search-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-runner.d.ts","sourceRoot":"","sources":["../../src/lib/search-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"search-runner.d.ts","sourceRoot":"","sources":["../../src/lib/search-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAiDxD,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE5E;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE5E;AAED,wBAAsB,KAAK,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,SAAS,CAAC,CAEpB"}
|
|
@@ -1,8 +1,53 @@
|
|
|
1
1
|
import { run } from "@paretools/shared";
|
|
2
|
+
/** Platform-specific install hints for commands used by the search package. */
|
|
3
|
+
const INSTALL_HINTS = {
|
|
4
|
+
rg: [
|
|
5
|
+
`Command not found: "rg". Install it to use this tool:`,
|
|
6
|
+
` macOS: brew install ripgrep`,
|
|
7
|
+
` Ubuntu: sudo apt install ripgrep`,
|
|
8
|
+
` Windows: choco install ripgrep`,
|
|
9
|
+
` More: https://github.com/BurntSushi/ripgrep#installation`,
|
|
10
|
+
].join("\n"),
|
|
11
|
+
fd: [
|
|
12
|
+
`Command not found: "fd". Install it to use this tool:`,
|
|
13
|
+
` macOS: brew install fd`,
|
|
14
|
+
` Ubuntu: sudo apt install fd-find`,
|
|
15
|
+
` Windows: choco install fd`,
|
|
16
|
+
` More: https://github.com/sharkdp/fd#installation`,
|
|
17
|
+
].join("\n"),
|
|
18
|
+
jq: [
|
|
19
|
+
`Command not found: "jq". Install it to use this tool:`,
|
|
20
|
+
` macOS: brew install jq`,
|
|
21
|
+
` Ubuntu: sudo apt install jq`,
|
|
22
|
+
` Windows: choco install jq`,
|
|
23
|
+
` More: https://github.com/jqlang/jq#installation`,
|
|
24
|
+
].join("\n"),
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Wraps a run() call to enhance "Command not found" errors with
|
|
28
|
+
* platform-specific install hints for the search package's CLI dependencies.
|
|
29
|
+
*/
|
|
30
|
+
async function runWithInstallHint(cmd, args, opts) {
|
|
31
|
+
try {
|
|
32
|
+
return await run(cmd, args, opts);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
if (error instanceof Error && error.message.includes("Command not found")) {
|
|
36
|
+
const hint = INSTALL_HINTS[cmd];
|
|
37
|
+
if (hint) {
|
|
38
|
+
throw new Error(hint);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
2
44
|
export async function rgCmd(args, cwd) {
|
|
3
|
-
return
|
|
45
|
+
return runWithInstallHint("rg", args, { cwd, timeout: 120_000 });
|
|
4
46
|
}
|
|
5
47
|
export async function fdCmd(args, cwd) {
|
|
6
|
-
return
|
|
48
|
+
return runWithInstallHint("fd", args, { cwd, timeout: 120_000 });
|
|
49
|
+
}
|
|
50
|
+
export async function jqCmd(args, opts) {
|
|
51
|
+
return runWithInstallHint("jq", args, { cwd: opts?.cwd, stdin: opts?.stdin, timeout: 120_000 });
|
|
7
52
|
}
|
|
8
53
|
//# sourceMappingURL=search-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-runner.js","sourceRoot":"","sources":["../../src/lib/search-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAc,EAAE,GAAY;IACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"search-runner.js","sourceRoot":"","sources":["../../src/lib/search-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,mBAAmB,CAAC;AAExD,+EAA+E;AAC/E,MAAM,aAAa,GAA2B;IAC5C,EAAE,EAAE;QACF,uDAAuD;QACvD,iCAAiC;QACjC,qCAAqC;QACrC,kCAAkC;QAClC,+DAA+D;KAChE,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAE;QACF,uDAAuD;QACvD,4BAA4B;QAC5B,qCAAqC;QACrC,6BAA6B;QAC7B,uDAAuD;KACxD,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAE;QACF,uDAAuD;QACvD,4BAA4B;QAC5B,gCAAgC;QAChC,6BAA6B;QAC7B,sDAAsD;KACvD,CAAC,IAAI,CAAC,IAAI,CAAC;CACb,CAAC;AAEF;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,IAAc,EACd,IAAgC;IAEhC,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAc,EAAE,GAAY;IACtD,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAc,EAAE,GAAY;IACtD,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,IAAc,EACd,IAAuC;IAEvC,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAClG,CAAC"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -9,13 +9,13 @@ export declare const SearchMatchSchema: z.ZodObject<{
|
|
|
9
9
|
}, z.core.$strip>;
|
|
10
10
|
/** Zod schema for structured ripgrep search output with match list and totals. */
|
|
11
11
|
export declare const SearchResultSchema: z.ZodObject<{
|
|
12
|
-
matches: z.ZodArray<z.ZodObject<{
|
|
12
|
+
matches: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13
13
|
file: z.ZodString;
|
|
14
14
|
line: z.ZodNumber;
|
|
15
15
|
column: z.ZodNumber;
|
|
16
16
|
matchText: z.ZodString;
|
|
17
17
|
lineContent: z.ZodString;
|
|
18
|
-
}, z.core.$strip
|
|
18
|
+
}, z.core.$strip>>>;
|
|
19
19
|
totalMatches: z.ZodNumber;
|
|
20
20
|
filesSearched: z.ZodNumber;
|
|
21
21
|
}, z.core.$strip>;
|
|
@@ -28,11 +28,11 @@ export declare const FindFileSchema: z.ZodObject<{
|
|
|
28
28
|
}, z.core.$strip>;
|
|
29
29
|
/** Zod schema for structured fd output with file list and total count. */
|
|
30
30
|
export declare const FindResultSchema: z.ZodObject<{
|
|
31
|
-
files: z.ZodArray<z.ZodObject<{
|
|
31
|
+
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
32
32
|
path: z.ZodString;
|
|
33
33
|
name: z.ZodString;
|
|
34
34
|
ext: z.ZodString;
|
|
35
|
-
}, z.core.$strip
|
|
35
|
+
}, z.core.$strip>>>;
|
|
36
36
|
total: z.ZodNumber;
|
|
37
37
|
}, z.core.$strip>;
|
|
38
38
|
export type FindResult = z.infer<typeof FindResultSchema>;
|
|
@@ -43,12 +43,18 @@ export declare const CountFileSchema: z.ZodObject<{
|
|
|
43
43
|
}, z.core.$strip>;
|
|
44
44
|
/** Zod schema for structured rg --count output with per-file counts and totals. */
|
|
45
45
|
export declare const CountResultSchema: z.ZodObject<{
|
|
46
|
-
files: z.ZodArray<z.ZodObject<{
|
|
46
|
+
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
47
47
|
file: z.ZodString;
|
|
48
48
|
count: z.ZodNumber;
|
|
49
|
-
}, z.core.$strip
|
|
49
|
+
}, z.core.$strip>>>;
|
|
50
50
|
totalMatches: z.ZodNumber;
|
|
51
51
|
totalFiles: z.ZodNumber;
|
|
52
52
|
}, z.core.$strip>;
|
|
53
53
|
export type CountResult = z.infer<typeof CountResultSchema>;
|
|
54
|
+
/** Zod schema for structured jq output with the transformed result. */
|
|
55
|
+
export declare const JqResultSchema: z.ZodObject<{
|
|
56
|
+
output: z.ZodString;
|
|
57
|
+
exitCode: z.ZodNumber;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export type JqResult = z.infer<typeof JqResultSchema>;
|
|
54
60
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,gFAAgF;AAChF,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,yEAAyE;AACzE,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB;;;;;;;iBAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,sDAAsD;AACtD,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,iBAAiB;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,gFAAgF;AAChF,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,yEAAyE;AACzE,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB;;;;;;;iBAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,sDAAsD;AACtD,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,iBAAiB;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,uEAAuE;AACvE,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
package/dist/schemas/index.js
CHANGED
|
@@ -10,7 +10,7 @@ export const SearchMatchSchema = z.object({
|
|
|
10
10
|
});
|
|
11
11
|
/** Zod schema for structured ripgrep search output with match list and totals. */
|
|
12
12
|
export const SearchResultSchema = z.object({
|
|
13
|
-
matches: z.array(SearchMatchSchema),
|
|
13
|
+
matches: z.array(SearchMatchSchema).optional(),
|
|
14
14
|
totalMatches: z.number(),
|
|
15
15
|
filesSearched: z.number(),
|
|
16
16
|
});
|
|
@@ -23,7 +23,7 @@ export const FindFileSchema = z.object({
|
|
|
23
23
|
});
|
|
24
24
|
/** Zod schema for structured fd output with file list and total count. */
|
|
25
25
|
export const FindResultSchema = z.object({
|
|
26
|
-
files: z.array(FindFileSchema),
|
|
26
|
+
files: z.array(FindFileSchema).optional(),
|
|
27
27
|
total: z.number(),
|
|
28
28
|
});
|
|
29
29
|
// ── Count (rg --count) ──────────────────────────────────────────────
|
|
@@ -34,8 +34,14 @@ export const CountFileSchema = z.object({
|
|
|
34
34
|
});
|
|
35
35
|
/** Zod schema for structured rg --count output with per-file counts and totals. */
|
|
36
36
|
export const CountResultSchema = z.object({
|
|
37
|
-
files: z.array(CountFileSchema),
|
|
37
|
+
files: z.array(CountFileSchema).optional(),
|
|
38
38
|
totalMatches: z.number(),
|
|
39
39
|
totalFiles: z.number(),
|
|
40
40
|
});
|
|
41
|
+
// ── Jq (jq) ────────────────────────────────────────────────────────
|
|
42
|
+
/** Zod schema for structured jq output with the transformed result. */
|
|
43
|
+
export const JqResultSchema = z.object({
|
|
44
|
+
output: z.string(),
|
|
45
|
+
exitCode: z.number(),
|
|
46
|
+
});
|
|
41
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wEAAwE;AAExE,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wEAAwE;AAExE,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAIH,wEAAwE;AAExE,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAIH,uEAAuE;AAEvE,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAIH,sEAAsE;AAEtE,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC"}
|
package/dist/tools/count.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../src/tools/count.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QA0ElD"}
|
|
1
|
+
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../src/tools/count.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QA0ElD"}
|
package/dist/tools/count.js
CHANGED
|
@@ -4,6 +4,7 @@ import { rgCmd } from "../lib/search-runner.js";
|
|
|
4
4
|
import { parseRgCountOutput } from "../lib/parsers.js";
|
|
5
5
|
import { formatCount, compactCountMap, formatCountCompact } from "../lib/formatters.js";
|
|
6
6
|
import { CountResultSchema } from "../schemas/index.js";
|
|
7
|
+
/** Registers the `count` tool on the given MCP server. */
|
|
7
8
|
export function registerCountTool(server) {
|
|
8
9
|
server.registerTool("count", {
|
|
9
10
|
title: "Match Count",
|
package/dist/tools/count.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../src/tools/count.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,4JAA4J;QAC9J,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACxE,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,uCAAuC,CAAC;YACpD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,iBAAiB;KAChC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;QACxD,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,IAAI;YAAE,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI;YAAE,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnB,kEAAkE;QAClE,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEtC,uEAAuE;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhE,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../src/tools/count.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/find.d.ts
CHANGED
package/dist/tools/find.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/tools/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAiFjD"}
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/tools/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAiFjD"}
|
package/dist/tools/find.js
CHANGED
|
@@ -4,6 +4,7 @@ import { fdCmd } from "../lib/search-runner.js";
|
|
|
4
4
|
import { parseFdOutput } from "../lib/parsers.js";
|
|
5
5
|
import { formatFind, compactFindMap, formatFindCompact } from "../lib/formatters.js";
|
|
6
6
|
import { FindResultSchema } from "../schemas/index.js";
|
|
7
|
+
/** Registers the `find` tool on the given MCP server. */
|
|
7
8
|
export function registerFindTool(server) {
|
|
8
9
|
server.registerTool("find", {
|
|
9
10
|
title: "Find Files",
|
package/dist/tools/find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/tools/find.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/tools/find.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAMjD"}
|
package/dist/tools/index.js
CHANGED
|
@@ -2,6 +2,8 @@ import { shouldRegisterTool } from "@paretools/shared";
|
|
|
2
2
|
import { registerSearchTool } from "./search.js";
|
|
3
3
|
import { registerFindTool } from "./find.js";
|
|
4
4
|
import { registerCountTool } from "./count.js";
|
|
5
|
+
import { registerJqTool } from "./jq.js";
|
|
6
|
+
/** Registers all search tools on the given MCP server, filtered by policy. */
|
|
5
7
|
export function registerAllTools(server) {
|
|
6
8
|
const s = (name) => shouldRegisterTool("search", name);
|
|
7
9
|
if (s("search"))
|
|
@@ -10,5 +12,7 @@ export function registerAllTools(server) {
|
|
|
10
12
|
registerFindTool(server);
|
|
11
13
|
if (s("count"))
|
|
12
14
|
registerCountTool(server);
|
|
15
|
+
if (s("jq"))
|
|
16
|
+
registerJqTool(server);
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,QAAQ,CAAC;QAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,MAAM,CAAC;QAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,OAAO,CAAC;QAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jq.d.ts","sourceRoot":"","sources":["../../src/tools/jq.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,QAkF/C"}
|
package/dist/tools/jq.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
|
+
import { jqCmd } from "../lib/search-runner.js";
|
|
4
|
+
import { parseJqOutput } from "../lib/parsers.js";
|
|
5
|
+
import { formatJq, compactJqMap, formatJqCompact } from "../lib/formatters.js";
|
|
6
|
+
import { JqResultSchema } from "../schemas/index.js";
|
|
7
|
+
/** Registers the `jq` tool on the given MCP server. */
|
|
8
|
+
export function registerJqTool(server) {
|
|
9
|
+
server.registerTool("jq", {
|
|
10
|
+
title: "JSON Processor",
|
|
11
|
+
description: "Processes and transforms JSON using jq expressions. Accepts JSON from a file path or inline string. Returns the transformed result. Use instead of running `jq` in the terminal.",
|
|
12
|
+
inputSchema: {
|
|
13
|
+
expression: z
|
|
14
|
+
.string()
|
|
15
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
16
|
+
.describe("jq filter expression (e.g., '.name', '.[] | select(.age > 30)')"),
|
|
17
|
+
file: z
|
|
18
|
+
.string()
|
|
19
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("Path to a JSON file to process"),
|
|
22
|
+
input: z
|
|
23
|
+
.string()
|
|
24
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
25
|
+
.optional()
|
|
26
|
+
.describe("Inline JSON string to process (used when file is not provided)"),
|
|
27
|
+
rawOutput: z
|
|
28
|
+
.boolean()
|
|
29
|
+
.optional()
|
|
30
|
+
.default(false)
|
|
31
|
+
.describe("Output raw strings without JSON quotes (-r flag)"),
|
|
32
|
+
sortKeys: z.boolean().optional().default(false).describe("Sort object keys (-S flag)"),
|
|
33
|
+
compact: z
|
|
34
|
+
.boolean()
|
|
35
|
+
.optional()
|
|
36
|
+
.default(true)
|
|
37
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
38
|
+
},
|
|
39
|
+
outputSchema: JqResultSchema,
|
|
40
|
+
}, async ({ expression, file, input, rawOutput, sortKeys, compact }) => {
|
|
41
|
+
if (file)
|
|
42
|
+
assertNoFlagInjection(file, "file");
|
|
43
|
+
if (!file && !input) {
|
|
44
|
+
const data = parseJqOutput("", "Either 'file' or 'input' must be provided.", 1);
|
|
45
|
+
const rawText = "jq: error — either 'file' or 'input' must be provided.";
|
|
46
|
+
return compactDualOutput(data, rawText, formatJq, compactJqMap, formatJqCompact, compact === false);
|
|
47
|
+
}
|
|
48
|
+
const args = [];
|
|
49
|
+
if (rawOutput)
|
|
50
|
+
args.push("-r");
|
|
51
|
+
if (sortKeys)
|
|
52
|
+
args.push("-S");
|
|
53
|
+
args.push(expression);
|
|
54
|
+
if (file) {
|
|
55
|
+
args.push(file);
|
|
56
|
+
}
|
|
57
|
+
const result = await jqCmd(args, {
|
|
58
|
+
stdin: file ? undefined : input,
|
|
59
|
+
});
|
|
60
|
+
const data = parseJqOutput(result.stdout, result.stderr, result.exitCode);
|
|
61
|
+
const rawText = (result.stdout + "\n" + result.stderr).trim();
|
|
62
|
+
return compactDualOutput(data, rawText, formatJq, compactJqMap, formatJqCompact, compact === false);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=jq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jq.js","sourceRoot":"","sources":["../../src/tools/jq.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/search.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QA+EnD"}
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QA+EnD"}
|
package/dist/tools/search.js
CHANGED
|
@@ -4,6 +4,7 @@ import { rgCmd } from "../lib/search-runner.js";
|
|
|
4
4
|
import { parseRgJsonOutput } from "../lib/parsers.js";
|
|
5
5
|
import { formatSearch, compactSearchMap, formatSearchCompact } from "../lib/formatters.js";
|
|
6
6
|
import { SearchResultSchema } from "../schemas/index.js";
|
|
7
|
+
/** Registers the `search` tool on the given MCP server. */
|
|
7
8
|
export function registerSearchTool(server) {
|
|
8
9
|
server.registerTool("search", {
|
|
9
10
|
title: "Code Search",
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paretools/search",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"mcpName": "io.github.Dave-London/pare-search",
|
|
5
5
|
"description": "MCP server for code search (ripgrep + fd) with structured, token-efficient output",
|
|
6
6
|
"license": "MIT",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
54
54
|
"zod": "^4.3.6",
|
|
55
|
-
"@paretools/shared": "0.8.
|
|
55
|
+
"@paretools/shared": "0.8.2"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/node": "^25.2.3",
|