import { CONTINUATION_CHANNELS } from "./continuationChannels.js"; import { ERROR_CODES } from "./errorCodes.js"; import { type DirectToolSpecification } from "./catalog.js"; /** * Enforcement IR — the only contract material the native runtime embeds. * Machine-enforced surfaces exclusively: schemas, relation rules, observed * defaults, variants, and the short description clap help renders. All * presentation (title, description, examples, MCP instructions) is delivered * to agents by the JS layers directly from this package. */ export type EnforcementContractIr = Readonly<{ contractFormatVersion: number; /** Input-security ceilings native enforces outside any one schema. */ limits: Readonly<{ maxInputArrayItems: number; }>; /** Page (`next`) versus lead (`hints`) classification of continuations. */ continuationChannels: typeof CONTINUATION_CHANNELS; /** Every declared `errorCode` and its exit class. */ errorCodes: typeof ERROR_CODES; tools: readonly Readonly>[]; fingerprint: string; }>; /** * Public catalog — presentation plus pre-call schemas for the MCP server and * the CLI launcher's `schema` views. Never includes `outputSchema`. Carries * the enforcement fingerprint so consumers can fail closed against a native * runtime built from a different contract revision. */ export type PublicToolCatalog = Readonly<{ contractFormatVersion: number; fingerprint: string; tools: readonly Readonly>[]; }>; export declare function canonicalizeNativeContractIr(value: unknown): string; export declare function buildEnforcementContractIr(specifications?: readonly DirectToolSpecification[]): EnforcementContractIr; export declare function buildPublicToolCatalog(specifications?: readonly DirectToolSpecification[]): PublicToolCatalog; /** Cache the canonical enforcement fingerprint only when a consumer asks. */ export declare function getNativeContractFingerprint(): string; /** Cache the public catalog for MCP registration and CLI `schema` views. */ export declare function getPublicToolCatalog(): PublicToolCatalog;