import type { z } from "zod"; /** * Output field classes. Every output field is evidence unless its schema * says otherwise: * - evidence: answers the question; * - next: the next request needs it (continuations, cursors, snapshots); * - disclosure: changes the agent's next action (partial, coverage, caps, * warnings); a long list becomes a count plus a lossless continuation; * - verbose: explains how the answer was produced; native drops it unless * the row asked for `debug: true`. * Prose `hints.text` shows only on empty or failed rows; a tip a successful * row needs (a clamp, a trap, a skipped scope) is a `warnings` disclosure. */ type FieldClass = "evidence" | "next" | "disclosure" | "verbose"; /** What a verbose field explains; each kind names itself in the `debug` description. */ export declare const VERBOSE_KINDS: { readonly stats: "scan stats"; readonly receipt: "receipts"; readonly echo: "echoes"; readonly diagnostics: "diagnostics"; }; type VerboseKind = keyof typeof VERBOSE_KINDS; /** The `debug` input description, generated from the verbose kinds. */ export declare const DEBUG_FIELD_DESCRIPTION: string; /** Declares an output field debug-only; it must be optional. */ export declare const verbose: (schema: T, kind: VerboseKind) => T; /** Declares an output field that changes the agent's next action; never verbose. */ export declare const disclosure: (schema: T) => T; /** Declares an output field the next request needs; never verbose. */ export declare const nextInput: (schema: T) => T; type FieldClassRecord = { /** Envelope-rooted path: `results[].data.files[].sourceBytes`. */ path: string; fieldClass: FieldClass; verboseKind?: VerboseKind; /** The holder's JSON Schema lists this field in `required`. */ required: boolean; }; /** * Every declared output property with its class, by walking a tool's output * JSON Schema (properties, array items, unions, intersections, local refs). * A property without `fieldClass` is evidence. Record values (`*`) are * walked so a class there is still checked. */ export declare function collectFieldClasses(schema: unknown): FieldClassRecord[]; /** * Paths native drops unless the row asked for `debug: true`: every verbose * path not already under another verbose path. */ export declare function verbosePathsOf(records: readonly FieldClassRecord[]): string[]; /** Field-class rule violations for one tool's output records. */ export declare function fieldClassViolations(records: readonly FieldClassRecord[]): string[]; /** The schema without field-class annotations (they are not JSON Schema keywords). */ export declare function withoutFieldClasses(schema: T): T; export {};