@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
29 lines • 1.66 kB
TypeScript
/**
* Deterministic structure detection — the cheap path that runs before any LLM. Finds headings in
* page text: markdown headers, and the numbered/keyword headings long structured documents use
* (`PART 52`, `Subpart 9.1`, `Item 7.`, `52.236-5 Material and Workmanship.`, `3.2 Scope`).
*/
/** A heading found in (or declared for) the document, before nesting. */
export interface DetectedHeading {
title: string;
level: number;
unit: number;
/** The heading is the first text of its unit, so the previous section ends in the unit before. */
atUnitStart: boolean;
}
/**
* Detect headings in each unit's text. `markdownOnly` restricts detection to markdown headers (for
* text you know is markdown, where a numbered line is more likely a list item).
*
* Besides running headers (below), it drops **table-of-contents listings**: five or more
* consecutive keyword/numbered heading lines with no body text between them are a contents page
* (a regulation part opens with one), not sections — only a leading top-level heading of the run
* (`PART 2—…`) and its last line (the first real heading, which body text follows) are kept. Markdown headers are explicit and never dropped this way.
*/
export declare function detectHeadings(texts: readonly string[], markdownOnly?: boolean): DetectedHeading[];
/**
* Lines that repeat across many units (running headers/footers, page furniture), digits ignored so
* `Page 3 of 40` and `Page 4 of 40` count as one. Used to pick meaningful lines for group titles.
*/
export declare function runningLines(texts: readonly string[]): Set<string>;
//# sourceMappingURL=headings.d.ts.map