@paretools/search 0.12.0 → 0.13.0
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/lib/formatters.d.ts +4 -6
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +15 -19
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/parsers.d.ts +1 -1
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +1 -22
- package/dist/lib/parsers.js.map +1 -1
- package/dist/schemas/index.d.ts +2 -14
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -9
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/index.d.ts +3 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +44 -13
- package/dist/tools/index.js.map +1 -1
- package/package.json +4 -4
package/dist/lib/formatters.d.ts
CHANGED
|
@@ -5,26 +5,24 @@ export declare function formatSearch(data: SearchResult): string;
|
|
|
5
5
|
export declare function formatFind(data: FindResult): string;
|
|
6
6
|
/** Formats structured count results into a human-readable per-file count listing. */
|
|
7
7
|
export declare function formatCount(data: CountResult): string;
|
|
8
|
-
/** Compact search:
|
|
8
|
+
/** Compact search: totalMatches only (filesSearched removed from schema, derivable from matches). */
|
|
9
9
|
export interface SearchCompact {
|
|
10
10
|
[key: string]: unknown;
|
|
11
11
|
totalMatches: number;
|
|
12
|
-
filesSearched: number;
|
|
13
12
|
}
|
|
14
13
|
export declare function compactSearchMap(data: SearchResult): SearchCompact;
|
|
15
14
|
export declare function formatSearchCompact(data: SearchCompact): string;
|
|
16
|
-
/** Compact find:
|
|
15
|
+
/** Compact find: file count only, drop individual file entries (total derived from files.length). */
|
|
17
16
|
export interface FindCompact {
|
|
18
17
|
[key: string]: unknown;
|
|
19
|
-
|
|
18
|
+
fileCount: number;
|
|
20
19
|
}
|
|
21
20
|
export declare function compactFindMap(data: FindResult): FindCompact;
|
|
22
21
|
export declare function formatFindCompact(data: FindCompact): string;
|
|
23
|
-
/** Compact count:
|
|
22
|
+
/** Compact count: totalMatches only (totalFiles removed from schema, derivable from files.length). */
|
|
24
23
|
export interface CountCompact {
|
|
25
24
|
[key: string]: unknown;
|
|
26
25
|
totalMatches: number;
|
|
27
|
-
totalFiles: number;
|
|
28
26
|
}
|
|
29
27
|
export declare function compactCountMap(data: CountResult): CountCompact;
|
|
30
28
|
export declare function formatCountCompact(data: CountCompact): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAI7B,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAI7B,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAUvD;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CASnD;AAED,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CASrD;AAID,qGAAqG;AACrG,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAIlE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAG/D;AAED,qGAAqG;AACrG,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAI5D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAG3D;AAED,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAI/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;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
|
@@ -3,13 +3,9 @@
|
|
|
3
3
|
export function formatSearch(data) {
|
|
4
4
|
if (data.totalMatches === 0)
|
|
5
5
|
return "search: no matches found.";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
for (const f of data.files ?? []) {
|
|
10
|
-
lines.push(` ${f.file}: ${f.matchCount} matches`);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
6
|
+
// Compute filesSearched locally from matches
|
|
7
|
+
const filesSearched = new Set((data.matches ?? []).map((m) => m.file)).size;
|
|
8
|
+
const lines = [`search: ${data.totalMatches} matches in ${filesSearched} files`];
|
|
13
9
|
for (const m of data.matches ?? []) {
|
|
14
10
|
lines.push(` ${m.file}:${m.line}:${m.column}: ${m.lineContent}`);
|
|
15
11
|
}
|
|
@@ -17,9 +13,10 @@ export function formatSearch(data) {
|
|
|
17
13
|
}
|
|
18
14
|
/** Formats structured find results into a human-readable file listing. */
|
|
19
15
|
export function formatFind(data) {
|
|
20
|
-
|
|
16
|
+
const total = (data.files ?? []).length;
|
|
17
|
+
if (total === 0)
|
|
21
18
|
return "find: no files found.";
|
|
22
|
-
const lines = [`find: ${
|
|
19
|
+
const lines = [`find: ${total} files`];
|
|
23
20
|
for (const f of data.files ?? []) {
|
|
24
21
|
lines.push(` ${f.path} [${f.type}]`);
|
|
25
22
|
}
|
|
@@ -27,9 +24,10 @@ export function formatFind(data) {
|
|
|
27
24
|
}
|
|
28
25
|
/** Formats structured count results into a human-readable per-file count listing. */
|
|
29
26
|
export function formatCount(data) {
|
|
30
|
-
|
|
27
|
+
const totalFiles = (data.files ?? []).length;
|
|
28
|
+
if (totalFiles === 0)
|
|
31
29
|
return "count: no matches found.";
|
|
32
|
-
const lines = [`count: ${data.totalMatches} matches in ${
|
|
30
|
+
const lines = [`count: ${data.totalMatches} matches in ${totalFiles} files`];
|
|
33
31
|
for (const f of data.files ?? []) {
|
|
34
32
|
lines.push(` ${f.file}: ${f.count}`);
|
|
35
33
|
}
|
|
@@ -38,34 +36,32 @@ export function formatCount(data) {
|
|
|
38
36
|
export function compactSearchMap(data) {
|
|
39
37
|
return {
|
|
40
38
|
totalMatches: data.totalMatches,
|
|
41
|
-
filesSearched: data.filesSearched,
|
|
42
39
|
};
|
|
43
40
|
}
|
|
44
41
|
export function formatSearchCompact(data) {
|
|
45
42
|
if (data.totalMatches === 0)
|
|
46
43
|
return "search: no matches found.";
|
|
47
|
-
return `search: ${data.totalMatches} matches
|
|
44
|
+
return `search: ${data.totalMatches} matches`;
|
|
48
45
|
}
|
|
49
46
|
export function compactFindMap(data) {
|
|
50
47
|
return {
|
|
51
|
-
|
|
48
|
+
fileCount: (data.files ?? []).length,
|
|
52
49
|
};
|
|
53
50
|
}
|
|
54
51
|
export function formatFindCompact(data) {
|
|
55
|
-
if (data.
|
|
52
|
+
if (data.fileCount === 0)
|
|
56
53
|
return "find: no files found.";
|
|
57
|
-
return `find: ${data.
|
|
54
|
+
return `find: ${data.fileCount} files`;
|
|
58
55
|
}
|
|
59
56
|
export function compactCountMap(data) {
|
|
60
57
|
return {
|
|
61
58
|
totalMatches: data.totalMatches,
|
|
62
|
-
totalFiles: data.totalFiles,
|
|
63
59
|
};
|
|
64
60
|
}
|
|
65
61
|
export function formatCountCompact(data) {
|
|
66
|
-
if (data.
|
|
62
|
+
if (data.totalMatches === 0)
|
|
67
63
|
return "count: no matches found.";
|
|
68
|
-
return `count: ${data.totalMatches} matches
|
|
64
|
+
return `count: ${data.totalMatches} matches`;
|
|
69
65
|
}
|
|
70
66
|
// ── Jq formatters ───────────────────────────────────────────────────
|
|
71
67
|
/** Formats jq result into a human-readable string. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAQA,uEAAuE;AAEvE,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAEhE,MAAM,
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/parsers.d.ts
CHANGED
|
@@ -27,5 +27,5 @@ export declare function parseJqOutput(stdout: string, stderr: string, exitCode:
|
|
|
27
27
|
* Parses yq command output into a structured YqResult.
|
|
28
28
|
* If the command failed (non-zero exit), stderr is used as the output.
|
|
29
29
|
*/
|
|
30
|
-
export declare function parseYqOutput(stdout: string, stderr: string, exitCode: number,
|
|
30
|
+
export declare function parseYqOutput(stdout: string, stderr: string, exitCode: number, _outputFormat?: string): YqResult;
|
|
31
31
|
//# 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,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAqC7B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAqC7B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CA8ClF;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAkCzF;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAuB9D;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CA6CxF;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,QAAQ,CAYV"}
|
package/dist/lib/parsers.js
CHANGED
|
@@ -48,23 +48,10 @@ export function parseRgJsonOutput(stdout, maxResults) {
|
|
|
48
48
|
}
|
|
49
49
|
return {
|
|
50
50
|
matches,
|
|
51
|
-
files: Array.from(fileMatchCounts.entries()).map(([file, matchCount]) => ({
|
|
52
|
-
file,
|
|
53
|
-
matchCount,
|
|
54
|
-
})),
|
|
55
51
|
totalMatches: matches.length,
|
|
56
|
-
filesSearched,
|
|
57
52
|
};
|
|
58
53
|
}
|
|
59
54
|
// ── fd parser ───────────────────────────────────────────────────────
|
|
60
|
-
/**
|
|
61
|
-
* Normalizes a file extension by stripping the leading dot.
|
|
62
|
-
* This ensures output format matches the input format used in the `extension` param.
|
|
63
|
-
* e.g., ".ts" -> "ts", ".json" -> "json", "" -> ""
|
|
64
|
-
*/
|
|
65
|
-
function normalizeExt(ext) {
|
|
66
|
-
return ext.startsWith(".") ? ext.slice(1) : ext;
|
|
67
|
-
}
|
|
68
55
|
/**
|
|
69
56
|
* Parses `fd` output (one file path per line) into a structured FindResult.
|
|
70
57
|
* Extracts basename and extension for each entry.
|
|
@@ -78,8 +65,6 @@ export function parseFdOutput(stdout, maxResults, cwd) {
|
|
|
78
65
|
const filePath = line.trim();
|
|
79
66
|
if (!filePath)
|
|
80
67
|
continue;
|
|
81
|
-
const name = path.basename(filePath);
|
|
82
|
-
const ext = normalizeExt(path.extname(filePath));
|
|
83
68
|
const resolvedPath = path.isAbsolute(filePath) ? filePath : path.resolve(cwd, filePath);
|
|
84
69
|
let type = "other";
|
|
85
70
|
try {
|
|
@@ -99,14 +84,11 @@ export function parseFdOutput(stdout, maxResults, cwd) {
|
|
|
99
84
|
}
|
|
100
85
|
files.push({
|
|
101
86
|
path: filePath,
|
|
102
|
-
name,
|
|
103
|
-
ext,
|
|
104
87
|
type,
|
|
105
88
|
});
|
|
106
89
|
}
|
|
107
90
|
return {
|
|
108
91
|
files,
|
|
109
|
-
total: files.length,
|
|
110
92
|
};
|
|
111
93
|
}
|
|
112
94
|
// ── rg --count parser ───────────────────────────────────────────────
|
|
@@ -134,7 +116,6 @@ export function parseRgCountOutput(stdout) {
|
|
|
134
116
|
return {
|
|
135
117
|
files,
|
|
136
118
|
totalMatches,
|
|
137
|
-
totalFiles: files.length,
|
|
138
119
|
};
|
|
139
120
|
}
|
|
140
121
|
// ── jq parser ────────────────────────────────────────────────────────
|
|
@@ -191,17 +172,15 @@ export function parseJqOutput(stdout, stderr, exitCode) {
|
|
|
191
172
|
* Parses yq command output into a structured YqResult.
|
|
192
173
|
* If the command failed (non-zero exit), stderr is used as the output.
|
|
193
174
|
*/
|
|
194
|
-
export function parseYqOutput(stdout, stderr, exitCode,
|
|
175
|
+
export function parseYqOutput(stdout, stderr, exitCode, _outputFormat) {
|
|
195
176
|
if (exitCode !== 0) {
|
|
196
177
|
return {
|
|
197
178
|
output: stderr.trim() || stdout.trim(),
|
|
198
|
-
outputFormat,
|
|
199
179
|
exitCode,
|
|
200
180
|
};
|
|
201
181
|
}
|
|
202
182
|
return {
|
|
203
183
|
output: stdout.trimEnd(),
|
|
204
|
-
outputFormat,
|
|
205
184
|
exitCode,
|
|
206
185
|
};
|
|
207
186
|
}
|
package/dist/lib/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAmCpC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,UAAkB;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAI,MAAsB,CAAC,IAAI,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEhE,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,WAAW;oBACtB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB;oBAC5D,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC9C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,KAAK,GAAI,MAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;YACnD,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO;QACP,
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -21,19 +21,12 @@ export declare const SearchResultSchema: z.ZodObject<{
|
|
|
21
21
|
matchText: z.ZodString;
|
|
22
22
|
lineContent: z.ZodString;
|
|
23
23
|
}, z.core.$strip>>>;
|
|
24
|
-
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
25
|
-
file: z.ZodString;
|
|
26
|
-
matchCount: z.ZodNumber;
|
|
27
|
-
}, z.core.$strip>>>;
|
|
28
24
|
totalMatches: z.ZodNumber;
|
|
29
|
-
filesSearched: z.ZodNumber;
|
|
30
25
|
}, z.core.$strip>;
|
|
31
26
|
export type SearchResult = z.infer<typeof SearchResultSchema>;
|
|
32
|
-
/** Zod schema for a single file entry with path
|
|
27
|
+
/** Zod schema for a single file entry with path and type. */
|
|
33
28
|
export declare const FindFileSchema: z.ZodObject<{
|
|
34
29
|
path: z.ZodString;
|
|
35
|
-
name: z.ZodString;
|
|
36
|
-
ext: z.ZodString;
|
|
37
30
|
type: z.ZodEnum<{
|
|
38
31
|
file: "file";
|
|
39
32
|
directory: "directory";
|
|
@@ -41,12 +34,10 @@ export declare const FindFileSchema: z.ZodObject<{
|
|
|
41
34
|
other: "other";
|
|
42
35
|
}>;
|
|
43
36
|
}, z.core.$strip>;
|
|
44
|
-
/** Zod schema for structured fd output with file list
|
|
37
|
+
/** Zod schema for structured fd output with file list. */
|
|
45
38
|
export declare const FindResultSchema: z.ZodObject<{
|
|
46
39
|
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
47
40
|
path: z.ZodString;
|
|
48
|
-
name: z.ZodString;
|
|
49
|
-
ext: z.ZodString;
|
|
50
41
|
type: z.ZodEnum<{
|
|
51
42
|
file: "file";
|
|
52
43
|
directory: "directory";
|
|
@@ -54,7 +45,6 @@ export declare const FindResultSchema: z.ZodObject<{
|
|
|
54
45
|
other: "other";
|
|
55
46
|
}>;
|
|
56
47
|
}, z.core.$strip>>>;
|
|
57
|
-
total: z.ZodNumber;
|
|
58
48
|
}, z.core.$strip>;
|
|
59
49
|
export type FindResult = z.infer<typeof FindResultSchema>;
|
|
60
50
|
/** Zod schema for a single file match count entry. */
|
|
@@ -69,7 +59,6 @@ export declare const CountResultSchema: z.ZodObject<{
|
|
|
69
59
|
count: z.ZodNumber;
|
|
70
60
|
}, z.core.$strip>>>;
|
|
71
61
|
totalMatches: z.ZodNumber;
|
|
72
|
-
totalFiles: z.ZodNumber;
|
|
73
62
|
}, z.core.$strip>;
|
|
74
63
|
export type CountResult = z.infer<typeof CountResultSchema>;
|
|
75
64
|
/** Zod schema for structured jq output with the transformed result. */
|
|
@@ -82,7 +71,6 @@ export type JqResult = z.infer<typeof JqResultSchema>;
|
|
|
82
71
|
/** Zod schema for structured yq output with the transformed result. */
|
|
83
72
|
export declare const YqResultSchema: z.ZodObject<{
|
|
84
73
|
output: z.ZodString;
|
|
85
|
-
outputFormat: z.ZodOptional<z.ZodString>;
|
|
86
74
|
exitCode: z.ZodNumber;
|
|
87
75
|
}, z.core.$strip>;
|
|
88
76
|
export type YqResult = z.infer<typeof YqResultSchema>;
|
|
@@ -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,mDAAmD;AACnD,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,kBAAkB
|
|
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,mDAAmD;AACnD,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,kBAAkB;;;;;;;;;iBAG7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,6DAA6D;AAC7D,eAAO,MAAM,cAAc;;;;;;;;iBAGzB,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAE3B,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;;;;;;iBAG5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,uEAAuE;AACvE,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAItD,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
|
@@ -16,22 +16,17 @@ export const SearchFileSummarySchema = z.object({
|
|
|
16
16
|
/** Zod schema for structured ripgrep search output with match list and totals. */
|
|
17
17
|
export const SearchResultSchema = z.object({
|
|
18
18
|
matches: z.array(SearchMatchSchema).optional(),
|
|
19
|
-
files: z.array(SearchFileSummarySchema).optional(),
|
|
20
19
|
totalMatches: z.number(),
|
|
21
|
-
filesSearched: z.number(),
|
|
22
20
|
});
|
|
23
21
|
// ── Find (fd) ────────────────────────────────────────────────────────
|
|
24
|
-
/** Zod schema for a single file entry with path
|
|
22
|
+
/** Zod schema for a single file entry with path and type. */
|
|
25
23
|
export const FindFileSchema = z.object({
|
|
26
24
|
path: z.string(),
|
|
27
|
-
name: z.string(),
|
|
28
|
-
ext: z.string(),
|
|
29
25
|
type: z.enum(["file", "directory", "symlink", "other"]),
|
|
30
26
|
});
|
|
31
|
-
/** Zod schema for structured fd output with file list
|
|
27
|
+
/** Zod schema for structured fd output with file list. */
|
|
32
28
|
export const FindResultSchema = z.object({
|
|
33
29
|
files: z.array(FindFileSchema).optional(),
|
|
34
|
-
total: z.number(),
|
|
35
30
|
});
|
|
36
31
|
// ── Count (rg --count) ──────────────────────────────────────────────
|
|
37
32
|
/** Zod schema for a single file match count entry. */
|
|
@@ -43,7 +38,6 @@ export const CountFileSchema = z.object({
|
|
|
43
38
|
export const CountResultSchema = z.object({
|
|
44
39
|
files: z.array(CountFileSchema).optional(),
|
|
45
40
|
totalMatches: z.number(),
|
|
46
|
-
totalFiles: z.number(),
|
|
47
41
|
});
|
|
48
42
|
// ── Jq (jq) ────────────────────────────────────────────────────────
|
|
49
43
|
/** Zod schema for structured jq output with the transformed result. */
|
|
@@ -56,7 +50,6 @@ export const JqResultSchema = z.object({
|
|
|
56
50
|
/** Zod schema for structured yq output with the transformed result. */
|
|
57
51
|
export const YqResultSchema = z.object({
|
|
58
52
|
output: z.string(),
|
|
59
|
-
outputFormat: z.string().optional(),
|
|
60
53
|
exitCode: z.number(),
|
|
61
54
|
});
|
|
62
55
|
//# 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,mDAAmD;AACnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,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,
|
|
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,mDAAmD;AACnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,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;CACzB,CAAC,CAAC;AAIH,wEAAwE;AAExE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;CACxD,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;CAC1C,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;CACzB,CAAC,CAAC;AAIH,sEAAsE;AAEtE,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,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/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { type LazyToolManager } from "@paretools/shared";
|
|
3
|
+
/** Registers all Search tools on the given MCP server, filtered by policy. */
|
|
4
|
+
export declare function registerAllTools(server: McpServer, lazyManager?: LazyToolManager): void;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;AACzE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AA4C3B,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,eAAe,QAiBhF"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,21 +1,52 @@
|
|
|
1
|
-
import { shouldRegisterTool } from "@paretools/shared";
|
|
1
|
+
import { shouldRegisterTool, isCoreToolForServer, registerDiscoverTool, } 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
5
|
import { registerJqTool } from "./jq.js";
|
|
6
6
|
import { registerYqTool } from "./yq.js";
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const TOOL_DEFS = [
|
|
8
|
+
{
|
|
9
|
+
name: "search",
|
|
10
|
+
description: "Searches file contents using ripgrep with structured JSON output. Returns match locations with file, line, column, matched text, and line content.",
|
|
11
|
+
register: registerSearchTool,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: "find",
|
|
15
|
+
description: "Finds files and directories using fd with structured output. Returns file paths, names, and extensions.",
|
|
16
|
+
register: registerFindTool,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "count",
|
|
20
|
+
description: "Counts pattern matches per file using ripgrep. Returns per-file match counts and totals.",
|
|
21
|
+
register: registerCountTool,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "jq",
|
|
25
|
+
description: "Processes and transforms JSON using jq expressions. Accepts JSON from a file path or inline string.",
|
|
26
|
+
register: registerJqTool,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "yq",
|
|
30
|
+
description: "Processes and transforms YAML, JSON, XML, TOML, and properties files using yq expressions.",
|
|
31
|
+
register: registerYqTool,
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
/** Registers all Search tools on the given MCP server, filtered by policy. */
|
|
35
|
+
export function registerAllTools(server, lazyManager) {
|
|
9
36
|
const s = (name) => shouldRegisterTool("search", name);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
37
|
+
const isCore = (name) => isCoreToolForServer("search", name);
|
|
38
|
+
for (const def of TOOL_DEFS) {
|
|
39
|
+
if (!s(def.name))
|
|
40
|
+
continue;
|
|
41
|
+
if (lazyManager && !isCore(def.name)) {
|
|
42
|
+
lazyManager.registerLazy(def);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
def.register(server);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (lazyManager && lazyManager.hasDeferredTools()) {
|
|
49
|
+
registerDiscoverTool(server, lazyManager, "search");
|
|
50
|
+
}
|
|
20
51
|
}
|
|
21
52
|
//# 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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,mBAAmB,CAAC;AAC3B,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;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,SAAS,GAIV;IACH;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,oJAAoJ;QACtJ,QAAQ,EAAE,kBAAkB;KAC7B;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,yGAAyG;QAC3G,QAAQ,EAAE,gBAAgB;KAC3B;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EACT,0FAA0F;QAC5F,QAAQ,EAAE,iBAAiB;KAC5B;IACD;QACE,IAAI,EAAE,IAAI;QACV,WAAW,EACT,qGAAqG;QACvG,QAAQ,EAAE,cAAc;KACzB;IACD;QACE,IAAI,EAAE,IAAI;QACV,WAAW,EACT,4FAA4F;QAC9F,QAAQ,EAAE,cAAc;KACzB;CACF,CAAC;AAEF,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,WAA6B;IAC/E,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAErE,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAE3B,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,WAAW,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAClD,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paretools/search",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
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",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
"dist"
|
|
54
54
|
],
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
56
|
+
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
57
57
|
"zod": "^4.3.6",
|
|
58
|
-
"@paretools/shared": "0.
|
|
58
|
+
"@paretools/shared": "0.13.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@types/node": "^25.
|
|
61
|
+
"@types/node": "^25.3.0",
|
|
62
62
|
"typescript": "^5.7.0",
|
|
63
63
|
"vitest": "^4.0.18",
|
|
64
64
|
"@paretools/tsconfig": "0.0.0"
|