import { HookfishServer } from '@hookfish/api'
import { postgres } from '@hookfish/database/postgres'
import {
createMcpProvider,
createSecretProvider,
} from '@hookfish/providers'
const db = postgres<Env>(
(env) => env.HYPERDRIVE.connectionString,
{
cache: false,
fetchTypes: false,
max: 5,
prepare: true,
},
)
const frontendUrl = process.env.HOOKFISH_FRONTEND_URL ?? 'http://127.0.0.1:5173'
const hookfish = await HookfishServer.init<Env>({
db,
includeSwagger: false,
returnTo: frontendUrl,
trustedOrigins: [frontendUrl],
providers: {
mcp: createMcpProvider(),
secret: createSecretProvider(),
},
})
export default {
fetch(request, env, context) {
return hookfish.fetch(request, env, context)
},
} satisfies ExportedHandler<Env>