@phren/cli
Version:
Knowledge layer for AI agents - CLI, MCP server, and data layer
38 lines (37 loc) • 1.41 kB
TypeScript
import { z } from "zod";
/** What find-in-files accepts: a literal or extended regular expression, the
* usual case and whole-word switches, and optional git pathspecs to include. */
export declare const fileSearchSchema: z.ZodObject<{
query: z.ZodString;
regex: z.ZodOptional<z.ZodBoolean>;
caseSensitive: z.ZodOptional<z.ZodBoolean>;
wholeWord: z.ZodOptional<z.ZodBoolean>;
include: z.ZodOptional<z.ZodArray<z.ZodString>>;
limit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type FileSearch = z.infer<typeof fileSearchSchema>;
/**
* Find in files for the desktop editor: `git grep` over tracked and untracked
* (not ignored) text files in the repository root the server chose, so it works
* wherever git does and respects .gitignore. Results are grouped by file with
* 1-based line and column; long lines are cut around the match.
*/
export declare function searchRepository(root: string, input: FileSearch): Promise<{
matches: {
file: string;
lines: {
line: number;
column: number;
text: string;
}[];
}[];
files: number;
total: number;
truncated: boolean;
}>;
/** Every tracked and untracked (not ignored) file path, for the editor's quick open. */
export declare function listRepositoryFiles(root: string): Promise<{
files: string[];
total: number;
truncated: boolean;
}>;