1/**
2 * `alchemy/Git/Hasher` — every pack hasher implementation (DESIGN §22).
3 * The contract and the cloud-neutral layers ({@link HasherInline},
4 * {@link HasherSelf}) are also re-exported from `alchemy/Git`; this entry
5 * adds the ones that bring their own compute: {@link HasherLambda} (an AWS
6 * Lambda per chunk) and {@link HasherWorkerLoader} (dynamically loaded
7 * Workers). It is a separate entry so a Git Worker that hashes inline never
8 * bundles them.
9 */
10export {
11 Hasher,
12 HasherInline,
13 HasherSelf,
14 HASHER_BINDING,
15 makeInlineHasher,
16 type HasherShape,
17 type HashPartOptions,
18 type HashPartResult,
19} from "./Hasher.ts";
20export { HashError, HASH_ROUTE } from "./Protocol.ts";
21export { HasherLambda } from "./Lambda.ts";
22export { default as HasherFunction } from "./LambdaFunction.ts";
23export {
24 boundScan,
25 decodeHashResponse,
26 encodeHashEvent,
27 handleHashEvent,
28 isHashEvent,
29 LAMBDA_CHUNK_BYTES,
30 RESPONSE_BUDGET_BYTES,
31 type HashEvent,
32 type HashResponse,
33} from "./LambdaEvent.ts";
34export {
35 HasherWorkerLoader,
36 LOADER_CHUNK_BYTES,
37 LOADER_MAX_CONCURRENCY,
38 type HasherWorkerLoaderOptions,
39} from "./WorkerLoader.ts";