1/**
2 * Cloud-agnostic Redis runtime client. Fly and Railway resources bind
3 * `REDIS_URL`; this module speaks RESP over that URL. Import from
4 * `alchemy/Redis`.
5 *
6 * The codec is a complete RESP2 parser (plus RESP3 types) reimplemented
7 * in TypeScript after the official spec and the algorithm in
8 * `node-redis-parser`. There is no ioredis / node-redis dependency.
9 *
10 * Bindings stay on the cloud (`Fly.ReadWriteRedis`,
11 * `Railway.ReadWriteRedis`). Those layers call {@link makeReadWrite}
12 * so the RESP client is not duplicated.
13 *
14 * @example
15 * ```typescript
16 * import * as Redis from "alchemy/Redis";
17 *
18 * const cache = Redis.makeReadWrite(url);
19 * yield* cache.set("marker", "hello");
20 * const value = yield* cache.get("marker");
21 * const custom = yield* cache.send("ECHO", ["hi"]);
22 * ```
23 */
24export * from "./Client.ts";
25export * from "./Errors.ts";
26export * from "./Protocol.ts";
27export * from "./Resp.ts";