/** * The invariant that was missing when `Agent` sat in two catalogs at once. * * A `HarnessDialect` carries several name lists that describe the SAME * vocabulary from different angles — `builtinAgentTools` (declarable), * `neverAvailableTools` (dead), `sideEffectingTools` (a subset of declarable). * Nothing checked that they agreed. So `Agent` could be listed as * never-available while its own alias `Task` sat in the built-in catalog, and * `dialect-drift.ts` could read `Agent` out of the vendor's shipped * `sdk-tools.d.ts` every run, for months, without anything noticing the * contradiction. The lists were consistent with nothing, including each other. * * These checks are cheap, total, and adapter-agnostic, so they run in the * adapter conformance kit — every adapter, present and future, third-party * included. A dialect that contradicts itself now fails LOUDLY at the point an * author would first run the kit, instead of silently producing a confident * wrong finding in someone else's repo. * * Deliberately NOT here: any judgement about whether a name is *correct*. This * cannot tell you the platform renamed `Task` to `Agent` — only that you cannot * claim both at once. Freshness against the real platform is * `dialect-drift.ts`'s job; agreement between our own claims is this one's. */ import type { HarnessDialect } from "./dialect.js"; import type { HarnessVocabulary } from "./vocabulary.js"; /** Human-readable violations of the dialect's internal name invariants. */ export declare function dialectVocabularyProblems(dialect: HarnessDialect): string[]; /** * When a dialect declares a vocabulary, its legacy name lists must be exactly * that vocabulary's projections. This is what stops the two from drifting once * both exist: a dialect can carry the richer catalog AND the flat arrays other * code still reads, but it cannot let them disagree. */ export declare function vocabularyProjectionProblems(vocab: HarnessVocabulary, builtinAgentTools: readonly string[], neverAvailableTools: readonly string[]): string[]; //# sourceMappingURL=vocabulary-consistency.d.ts.map