consolidate openrouter instance creation

master
Avraham Sakal 2 weeks ago
parent d9053e1fc0
commit 88adc15899

@ -1,7 +1,7 @@
import type { PageContextServer } from "vike/types"; import type { PageContextServer } from "vike/types";
import { createCaller } from "../../../server/trpc/chat.js"; import { createCaller } from "../../../server/trpc/chat.js";
import { getDbClient } from "../../../database/postgres.js"; import { getDbClient } from "../../../database/postgres.js";
import { getOpenrouter } from "../../../server/provider.js"; import { createOpenRouter } from "@openrouter/ai-sdk-provider";
import { env } from "../../../server/env.js"; import { env } from "../../../server/env.js";
export type Data = Awaited<ReturnType<typeof data>>; export type Data = Awaited<ReturnType<typeof data>>;
@ -9,9 +9,10 @@ export type Data = Awaited<ReturnType<typeof data>>;
export const data = async (pageContext: PageContextServer) => { export const data = async (pageContext: PageContextServer) => {
const { id } = pageContext.routeParams; const { id } = pageContext.routeParams;
const caller = createCaller({ const caller = createCaller({
openrouter: getOpenrouter( openrouter: createOpenRouter({
(pageContext.env?.OPENROUTER_API_KEY || env.OPENROUTER_API_KEY) as string apiKey: (pageContext.env?.OPENROUTER_API_KEY ||
), env.OPENROUTER_API_KEY) as string,
}),
jwt: pageContext.session?.jwt, jwt: pageContext.session?.jwt,
dbClient: getDbClient( dbClient: getDbClient(
(pageContext.env?.POSTGRES_CONNECTION_STRING || (pageContext.env?.POSTGRES_CONNECTION_STRING ||

@ -1,14 +1,3 @@
import { createOpenRouter } from "@openrouter/ai-sdk-provider";
import { env } from "./env.js";
export const openrouter = createOpenRouter({
apiKey: env.OPENROUTER_API_KEY,
});
export function getOpenrouter(OPENROUTER_API_KEY: string) {
return createOpenRouter({
apiKey: OPENROUTER_API_KEY,
});
}
export const MODEL_NAME = "mistralai/mistral-nemo"; export const MODEL_NAME = "mistralai/mistral-nemo";
// export const MODEL_NAME = "z-ai/glm-4.5-air"; // export const MODEL_NAME = "z-ai/glm-4.5-air";
// export const MODEL_NAME = "openai/gpt-5-mini"; // export const MODEL_NAME = "openai/gpt-5-mini";

@ -7,7 +7,7 @@ import {
} from "@universal-middleware/core"; } from "@universal-middleware/core";
import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; import { fetchRequestHandler } from "@trpc/server/adapters/fetch";
import { getDbClient } from "../database/postgres"; import { getDbClient } from "../database/postgres";
import { getOpenrouter } from "./provider.js"; import { createOpenRouter } from "@openrouter/ai-sdk-provider";
import { env as processEnv } from "./env.js"; import { env as processEnv } from "./env.js";
import { getToken } from "@auth/core/jwt"; import { getToken } from "@auth/core/jwt";
@ -22,9 +22,10 @@ export const trpcHandler = ((endpoint) => (request, context, runtime) => {
(env.POSTGRES_CONNECTION_STRING || (env.POSTGRES_CONNECTION_STRING ||
processEnv.POSTGRES_CONNECTION_STRING) as string processEnv.POSTGRES_CONNECTION_STRING) as string
); );
const openrouter = getOpenrouter( const openrouter = createOpenRouter({
(env.OPENROUTER_API_KEY || processEnv.OPENROUTER_API_KEY) as string apiKey: (env.OPENROUTER_API_KEY ||
); processEnv.OPENROUTER_API_KEY) as string,
});
const jwt = await getToken({ const jwt = await getToken({
req, req,
secret: (env.AUTHJS_SECRET || processEnv.AUTHJS_SECRET) as string, secret: (env.AUTHJS_SECRET || processEnv.AUTHJS_SECRET) as string,

@ -1,6 +1,6 @@
import { router, createCallerFactory, authProcedure } from "./server.js"; import { router, createCallerFactory, authProcedure } from "./server.js";
import type { DraftMessage } from "../../types.js"; import type { DraftMessage } from "../../types.js";
import { MODEL_NAME, openrouter } from "../provider.js"; import { MODEL_NAME } from "../provider.js";
import { generateObject, generateText, jsonSchema } from "ai"; import { generateObject, generateText, jsonSchema } from "ai";
import { TRPCError } from "@trpc/server"; import { TRPCError } from "@trpc/server";
import { z } from "zod"; import { z } from "zod";

@ -1,6 +1,6 @@
import { initTRPC, TRPCError } from "@trpc/server"; import { initTRPC, TRPCError } from "@trpc/server";
import type { getDbClient } from "../../database/postgres"; import type { getDbClient } from "../../database/postgres";
import type { getOpenrouter } from "@server/provider.js"; import type { createOpenRouter } from "@openrouter/ai-sdk-provider";
import type { JWT } from "@auth/core/jwt"; import type { JWT } from "@auth/core/jwt";
/** /**
@ -11,7 +11,7 @@ const t = initTRPC
.context< .context<
object & { object & {
dbClient: ReturnType<typeof getDbClient>; dbClient: ReturnType<typeof getDbClient>;
openrouter: ReturnType<typeof getOpenrouter>; openrouter: ReturnType<typeof createOpenRouter>;
jwt?: JWT | null; jwt?: JWT | null;
} }
>() >()

Loading…
Cancel
Save