1import * as Cloudflare from "alchemy/Cloudflare";
2import { Stack } from "alchemy/Stack";
3import * as Effect from "effect/Effect";
4import * as HttpServerResponse from "effect/http/HttpServerResponse";
5
6export class SandboxContainer extends Cloudflare.Container<
7 SandboxContainer,
8 {}
9>()("SandboxContainer") {}
10
11export const SandboxLive = /* @__PURE__ */ SandboxContainer.make(
12 Stack.useSync((stack) => ({
13 main: import.meta.url,
14 instanceType: stack.stage === "prod" ? "standard-1" : "dev",
15 env: {
16 GREETING: "hello-from-env",
17 },
18 observability: {
19 logs: {
20 enabled: true,
21 },
22 },
23 })),
24 Effect.gen(function* () {
25 return SandboxContainer.of({
26 fetch: Effect.succeed(
27 HttpServerResponse.text(
28 `Hello from Sandbox container! GREETING=${process.env.GREETING}`,
29 ),
30 ),
31 });
32 }),
33);
34
35export default SandboxLive;