1import * as Neon from "@/Neon";
2import * as Effect from "effect/Effect";
3import { languageModelHandler } from "./language-model-handler.ts";
4import {
5 languageModelBranch,
6 languageModelManagedGateway,
7} from "./language-model-resources.ts";
8
9export default class HttpLanguageModel extends Neon.Function<HttpLanguageModel>()(
10 "HttpLanguageModel",
11 Effect.gen(function* () {
12 return {
13 branch: yield* languageModelBranch,
14 main: import.meta.url,
15 env: { AI_MODEL: process.env.NEON_TEST_AI_MODEL ?? "gpt-5-mini" },
16 };
17 }),
18 languageModelHandler(languageModelManagedGateway).pipe(
19 Effect.provide(Neon.QueryAIGatewayHttp),
20 ),
21) {}