/** * invariant-violation at the WIRE seam — the composed frame and the * serialized body disagree about what the model was shown. * * Pattern: pure function over two name lists; same algebra, new seam. * Role: the check the compose seam CANNOT do. The recorded defect: the * internal frame said a subsystem's tools were removed, and the * adapter still serialized four schemas. Every check over the * pre-serialization IR read a clean frame — the bug lived in the * gap between the frame and the body. So the comparison here is * IR against `LLMResponse.wireManifest`, the manifest an adapter * reads back from the FINAL request body after every transform * (adapters/llm/wireManifest.ts). * * BOTH DIRECTIONS are defects, distinguished in the message: a name on the * wire the frame never composed (the recorded bug — the adapter retained or * invented it) and a composed name that never crossed (the model was * promised a capability it cannot call). One finding per direction, all * offending names aboard, so ten leaked schemas are one defect, not ten. * * HONEST ABSENCE: an adapter that states no manifest leaves the request * INCOMPARABLE — no finding, never a guess; the disposition for that call * is `unreachable`, not `checked-pass`. An EMPTY manifest is a stated zero * and compares normally. */ import type { ContextError } from '../finding/types.js'; /** The tool names the frame composed for THIS call, and where that was read. */ export interface ComposedTools { readonly names: readonly string[]; readonly provenance: string; } /** The tool names the adapter says actually crossed, and which adapter said so. */ export interface ServedWire { readonly names: readonly string[]; readonly provenance: string; } /** * Compare one call's composed frame against its wire manifest. * * Returns findings (usually none). Equal sets — whatever the order or * duplication — return nothing, which the caller files as `checked-pass`. */ export declare function wireViolationsOf(composed: ComposedTools, wire: ServedWire | undefined, epoch: number): readonly ContextError[]; //# sourceMappingURL=wire.d.ts.map