// Generated by @novaclaw/httpapi-codegen. Do not edit.
import { Effect } from "effect"
import { HttpApi, HttpApiClient } from "effect/unstable/httpapi"
import { adaptGroup0, Group0 } from "./session"
import { adaptGroup1, Group1 } from "./event"
import { adaptGroup2, Group2 } from "./system"

const Api = HttpApi.make("generated").add(Group0).add(Group1).add(Group2)
const adaptClient = (raw: HttpApiClient.ForApi<typeof Api>) => ({
  session: adaptGroup0(raw["session"]),
  event: adaptGroup1(raw["event"]),
  ...adaptGroup2({ status: raw["status"] }),
})

export const make = (options?: { readonly baseUrl?: URL | string }) =>
  HttpApiClient.make(Api, options).pipe(Effect.map(adaptClient))
