import { type InboundControlErrorCode, type InboundControlFrame } from "../control.ts"; /** * Shared corpus for the INBOUND control vocabulary (steer-in). These vectors are * exported so cross-repo consumers (the c8ctl harness) decode the SAME frames. * * `chunk` is the raw inbound steer string a peer sends; `frame` is the typed * {@link InboundControlFrame} it must decode to; `structured` records whether it * is a recognised control envelope (`true`) or the legacy bare-string-as-prompt * fall-back (`false`). A `roundTrips: false` vector decodes to `frame` but does * NOT re-encode to the same `chunk` (a legacy bare string, or an envelope with * extra tolerated fields), so the round-trip test skips re-encoding it. */ export interface ValidControlFrame { readonly name: string; readonly chunk: string; readonly frame: InboundControlFrame; readonly structured: boolean; readonly roundTrips: boolean; } export declare const VALID_CONTROL_FRAMES: readonly ValidControlFrame[]; /** * Adversarial inbound control vectors: a chunk TAGGED as a control envelope but * malformed. Each MUST be rejected with the exact {@link InboundControlErrorCode}. * A missing tag is NOT here — an untagged chunk is a valid legacy prompt (see * {@link VALID_CONTROL_FRAMES}), never an error. */ export interface MalformedControlFrame { readonly name: string; readonly chunk: string; readonly expected: InboundControlErrorCode; } export declare const MALFORMED_CONTROL_FRAMES: readonly MalformedControlFrame[];