1import * as Neon from "@/Neon";
2import * as Effect from "effect/Effect";
3
4export const backendProject = Neon.Project("BackendBindingProject", {
5 region: "aws-us-east-2",
6});
7export const backendBranch = Effect.gen(function* () {
8 return yield* Neon.Branch("BackendBindingBranch", {
9 project: yield* backendProject,
10 });
11});
12export const backendAuth = Effect.gen(function* () {
13 return yield* Neon.Auth("BackendBindingAuth", {
14 branch: yield* backendBranch,
15 });
16});
17export const backendDataApi = Effect.gen(function* () {
18 const auth = yield* backendAuth;
19 return yield* Neon.DataApi("BackendBindingData", {
20 branch: { projectId: auth.projectId, branchId: auth.branchId },
21 authProvider: "neon_auth",
22 });
23});
24export const backendGateway = Effect.gen(function* () {
25 return yield* Neon.AIGateway("BackendBindingGateway", {
26 branch: yield* backendBranch,
27 });
28});