agentfootprint
Version:
The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.
52 lines • 2.86 kB
TypeScript
/**
* search/served — what the MODEL reads for `checked: 'declared'` once the
* funnel has composed it.
*
* Pattern: one pure projection.
* Role: semantics/ layer, pure.
* Emits: N/A.
*
* The typed fields and one static note — no new sentence. `checked` becomes
* the composed items (each `what` plus its typed fields); the gaps the model
* can act on ride `not_checked` / `cannot_cover` as plain items. Kept OFF what
* the model reads, and on the record only:
*
* • `complete` — a bare `true` beside "nothing found" invites "that's all
* there is"; the claim checker reads it from the row;
* • the `said` words (a checker's vocabulary) and `quote` (a statement
* writer's mark);
* • a long list's values — a 500-id population is served as ONE item, its
* count and the first {@link LIST_SHOWN} values quoted, so an empty
* result never costs the model a 50 KB message. The row keeps every value.
*
* An absence is served {@link ABSENCE_NOTE_COMPOSED}, not `ABSENCE_NOTE`: the
* latter says "nothing was substituted for what was asked", which a declared
* default — or an argument-unsent gap served beside it — contradicts. The
* result is an ordinary absence (or ledger): every reader that predates
* `search` reads it as one.
*/
import type { ComposedItem } from '../composedCoverage.js';
import type { CoveredResult, CoverageItem, DeclaredCoveredResult, DeclaredToolAbsence, ToolAbsence } from '../types.js';
/** A list longer than this is served as one item: its count and the first few values. */
export declare const LIST_SERVED_WHOLE = 5;
/** How many values of a collapsed list are shown. */
export declare const LIST_SHOWN = 3;
/** One composed item as the model reads it — the record-only marks removed. */
export declare function servedItem(item: ComposedItem): Record<string, unknown>;
/**
* The composed items as the model reads them: a run of more than
* {@link LIST_SERVED_WHOLE} population items from one argument (a list sent)
* becomes one item with its count.
*/
export declare function servedItems(items: readonly ComposedItem[]): Record<string, unknown>[];
/** The two plain lists composition writes beside `checked`. */
interface PlainLists {
readonly notChecked: readonly CoverageItem[];
readonly cannotCover: readonly CoverageItem[];
}
/** The composed ledger — `coverage(rows, { checked: 'declared' })` — with its result untouched. */
export declare function servedLedger(ledger: DeclaredCoveredResult, checked: readonly ComposedItem[], lists: PlainLists): CoveredResult;
/** The composed absence, keys in the order the tool minted them, with the composed note. */
export declare function servedAbsence(absence: DeclaredToolAbsence, checked: readonly ComposedItem[], lists: PlainLists): ToolAbsence;
export {};
//# sourceMappingURL=served.d.ts.map