/** * The schema-bundle staleness anchor (spec 14990 FR-006). * * `EXPECTED_SCHEMA_FINGERPRINT` pins the stable protocol-schema fingerprint * this SDK was written against. Two consumers: * * - Build time: a test asserts this equals `schema/msp/stable/manifest.json`, * so a schema advance that forgets the SDK reds the SDK lane instead of * shipping a silently-stale facade. This is the same manifest-pin pattern * the #210 transcripts use. * - Runtime: the connection machine compares `InitializeResult.schema * .fingerprint` against this pin. A mismatch is a WARNING, never an error * (tdd SS1.4.1) — additive-optional evolution means an older SDK keeps * working against a newer host. */ export declare const EXPECTED_SCHEMA_FINGERPRINT = "sha256:cfdb6d2525601b9bac76584ccb0610ab3a5539b5e4f51141f079b99b39fcb4e0"; /** * What a build-time mismatch MEANS, in the words a human needs at 2am. * * A mismatch is the normal, expected consequence of the protocol schema * advancing — it is NOT evidence that the SDK is broken. The remedy is to * re-pin and adapt whatever actually changed. Several lanes have burned time * reading a red fingerprint as an SDK defect, so the message says it plainly. */ export declare function fingerprintMismatchMessage(pinned: string, actual: string): string; /** The runtime arm (tdd SS1.4.1): advisory only, never a connection failure. */ export interface FingerprintWarning { readonly kind: "schemaFingerprintMismatch"; readonly pinned: string; readonly served: string; readonly message: string; } /** * Compare a host's advertised fingerprint against the pin. * Returns `undefined` when they agree — a mismatch is surfaced, not thrown. */ export declare function checkServedFingerprint(served: string, pinned?: string): FingerprintWarning | undefined;