@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
27 lines • 1.73 kB
TypeScript
import type { AirtableAccessor } from '../../accessor/airtable.ts';
import type { FileStat, PathSpec } from '../../types.ts';
export declare const LINE_KEYS: ReadonlySet<string>;
export declare const TEXT_TYPES: ReadonlySet<string>;
export declare const WORDLESS_TYPES: ReadonlySet<string>;
export declare const SPACELESS_TYPES: ReadonlySet<string>;
export declare const SPACED_TEXT_TYPES: ReadonlySet<string>;
/**
* The lines of a table's records.jsonl or a view's file that may hold `text`,
* in the order a plain read lists them.
*
* Airtable lists only the records a formula is true for, so the formula asks
* whether the record id (`RECORD_ID()`) or a cell, as the text a formula reads
* and lowercased, holds `text`; grep matches each line itself. Only a table
* whose every field spells its cell as that text (a text, a select, an email,
* a url, a phone number) or with no word in it (a number, a date, a checkbox)
* is asked; a link, an AI text or an attachment holds no space outside the
* text a formula reads of it, so a table with one is asked for a text with a
* space. A collaborator, a lookup or a formula renders ids or errors a formula
* does not read. `text` goes through `recordQueries` for the line's keys,
* field names among them, and its escapes. null for any other file, a path
* the listing does not hold, a table with another field type or a field name
* a formula cannot quote, a text a key holds, a failed listing, or more than
* `maxReadRecords` matches. Mirrors Python's `lines_containing`.
*/
export declare function linesContaining(accessor: AirtableAccessor, path: PathSpec, text: string, entry?: FileStat | null): Promise<Uint8Array | null>;
//# sourceMappingURL=search.d.ts.map