import { Message } from "../contracts/conversation-message.type.mjs"; import { ModelCallOptions } from "../contracts/model.contract.mjs"; //#region ../ai/src/vcr/hash-request.d.ts /** * Default `ModelCallOptions` fields folded into the request hash. These are * the inputs that materially change the model's output; everything else * (notably `signal` and unknown provider keys) is excluded so an otherwise * identical logical call still matches its recording. */ declare const DEFAULT_HASH_OPTIONS: readonly string[]; /** * Compute the stable VCR request hash for a model call. * * The hash covers the full `messages` array plus the picked, normalized * `options` subset (see {@link DEFAULT_HASH_OPTIONS}). Inputs are * canonicalized (recursive key sort) before serialization so property order * never affects the result. `signal` and unknown provider keys are excluded. * * @example * const a = hashRequest(messages, { temperature: 0.2 }); * const b = hashRequest(messages, { temperature: 0.2, signal }); * // a === b — signal is excluded. */ declare function hashRequest(messages: Message[], options?: ModelCallOptions, hashOptions?: readonly string[]): string; //#endregion export { DEFAULT_HASH_OPTIONS, hashRequest }; //# sourceMappingURL=hash-request.d.mts.map