/** * What the workspace knows about which file you meant. * * `rankMentions` takes three lists and stays pure so it can be tested against fixed input. This is * where the lists come from, and each one is cheap on purpose: a picker that reads the ledger and * shells out to git on every keystroke stops being a picker and becomes a wait. So the signals are * gathered once when the dropdown opens and reused for the rest of the typing. */ import type { TrajectoryEvent } from '../trajectory.js'; import type { Signals } from './mention.js'; /** * Files this session has actually handled, most recent first. * * Read from the trajectory rather than tracked separately, because the trajectory is already the * record of what happened and a second list of the same thing is a second list to get wrong. Only * the tools whose detail is a path: `execute_command` puts a command line there and `grep_search` * puts a pattern, and either one offered as a filename is noise. */ export declare function sessionPaths(events: readonly TrajectoryEvent[], limit?: number): string[]; /** * Files git has touched lately, uncommitted first. * * Uncommitted first because that is a stronger statement about what the project is in the middle of * than a commit from yesterday: work in the tree is work in progress. Then the recent commits, * which is how a file you finished this morning stays near the top. * * Failure is silence. A directory that is not a repository is a perfectly ordinary place to work, * and a picker that reported an error for it would be reporting its own assumption. */ export declare function gitRecent(cwd: string, limit?: number): Promise; /** * Files the ledger holds findings about, newest first. * * This is the signal no other picker has, because no other picker has the ledger: it is where the * things that cost somebody an afternoon were written down. A file with a finding against it is a * file where surprises live, and it belongs near the top of a list of files worth showing the model. */ export declare function notedPaths(cwd: string, limit?: number): Promise; /** All three, gathered together. */ export declare function gatherSignals(cwd: string, events?: readonly TrajectoryEvent[]): Promise; //# sourceMappingURL=mention-signals.d.ts.map