imspsycho's picture
Initial upload from Google Colab
98c9143 verified
Raw
History Blame Contribute Delete
1.22 kB
import { Hono } from "hono"
import { getProviderConfig } from "~/lib/config"
import { forwardError } from "~/lib/error"
import { createHandlerLogger } from "~/lib/logger"
import {
createProviderProxyResponse,
forwardProviderModels,
} from "~/services/providers/anthropic-proxy"
const logger = createHandlerLogger("provider-models-handler")
export const providerModelRoutes = new Hono()
providerModelRoutes.get("/", async (c) => {
const provider = c.req.param("provider") ?? ""
try {
const providerConfig = getProviderConfig(provider)
if (!providerConfig) {
return c.json(
{
error: {
message: `Provider '${provider}' not found or disabled`,
type: "invalid_request_error",
},
},
404,
)
}
const upstreamResponse = await forwardProviderModels(
providerConfig,
c.req.raw.headers,
)
logger.debug("provider.models.response", {
provider,
statusCode: upstreamResponse.status,
})
return createProviderProxyResponse(upstreamResponse)
} catch (error) {
logger.error("provider.models.error", {
provider,
error,
})
return await forwardError(c, error)
}
})