1import * as Neon from "@/Neon";
2import * as Effect from "effect/Effect";
3
4export const languageModelProject = Neon.Project("LanguageModelProject", {
5 region: "aws-us-east-2",
6});
7export const languageModelBranch = Effect.gen(function* () {
8 return yield* Neon.Branch("LanguageModelBranch", {
9 project: yield* languageModelProject,
10 });
11});
12export const languageModelGateway = Effect.gen(function* () {
13 const branch = yield* languageModelBranch;
14 return yield* Neon.AIGateway("LanguageModelGateway", {
15 branch,
16 });
17});
18export const languageModelManagedGateway = Effect.gen(function* () {
19 const branch = yield* languageModelBranch;
20 const credential = yield* Neon.Credential("LanguageModelCredential", {
21 branch,
22 scopes: ["ai_gateway:invoke"],
23 });
24 return yield* Neon.AIGateway("LanguageModelManagedGateway", {
25 branch,
26 credential,
27 });
28});