UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

27 lines • 1.69 kB
import type { LinearAccessor } from '../../accessor/linear.ts'; import type { PathSpec } from '../../types.ts'; export declare const SEARCH_LIMIT = 250; export declare const RECORD_KEYS: ReadonlySet<string>; export declare const KEPT_DIRS: readonly string[]; /** * The files under `under` that may hold `text`: the `issue.json` files * Linear's search names or whose other fields hold it, and the member, * project, cycle and document files whose text holds it. * * Linear searches an issue's title and description by word, so with * `askLinear` each word is asked on its own, and an issue is read when each * word is either named there or held by the text the listing kept * (`unsearchedText`): the rest of its JSON (team, project, cycle, state, * people, labels, dates, link), and the words of those two the search may * split otherwise. The text goes through `recordQueries` for its key names and * escapes. Every issue is read without `askLinear`, when the text cannot be * searched, a search fails or answers a full page, or nothing is found, since * Linear indexes a write some time after it lands. A member, project, cycle or * document file is read when the text its row kept (`keptText`) holds `text` * in any case, or when it was too large to keep. The walk lists each directory * from Linear, so the kept text is checked against the records as they are * now. null for a text that is not ASCII or a scope inside an issue. Mirrors * Python's `files_containing`. */ export declare function filesContaining(accessor: LinearAccessor, text: string, under: readonly PathSpec[], askLinear: boolean): Promise<PathSpec[] | null>; //# sourceMappingURL=search.d.ts.map