1import * as Cloudflare from "@/Cloudflare/index.ts";
2import * as Alchemy from "@/index.ts";
3import * as Effect from "effect/Effect";
4import SqlD1Worker from "./d1-worker.ts";
5
6/**
7 * D1 database + Worker for the `SQL.D1` client suite. Kept in its own file
8 * so it can also be driven directly, e.g.
9 * `alchemy logs --tail --stage test --config ./test/SQL/fixtures/d1-stack.ts`.
10 */
11export default Alchemy.Stack(
12 "SqlD1Stack",
13 {
14 providers: Cloudflare.providers(),
15 state: Cloudflare.state(),
16 },
17 Effect.gen(function* () {
18 const worker = yield* SqlD1Worker;
19 return {
20 url: worker.url.as<string>(),
21 };
22 }),
23);