26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
// Generated by @opencode-ai/httpapi-codegen. Do not edit.
|
|
import { Effect, Schema } from "effect"
|
|
import { Sse } from "effect/unstable/encoding"
|
|
import { HttpClientError } from "effect/unstable/http"
|
|
import { HttpApiClient, HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi"
|
|
import { ClientError } from "./client-error.js"
|
|
|
|
const EndpointStatusSuccess = Schema.String
|
|
|
|
export const GroupSystem = HttpApiGroup.make("system", { topLevel: true }).add(
|
|
HttpApiEndpoint.make("GET")("status", "/status", { success: EndpointStatusSuccess }),
|
|
)
|
|
|
|
type RawGroup = HttpApiClient.Client<typeof GroupSystem>
|
|
|
|
const EndpointStatusDeclaredError = Schema.Never
|
|
const mapEndpointStatusError = (error: unknown) =>
|
|
HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error)
|
|
? new ClientError({ cause: error })
|
|
: Schema.is(EndpointStatusDeclaredError)(error)
|
|
? error
|
|
: new ClientError({ cause: error })
|
|
const EndpointStatus = (raw: RawGroup) => () => raw["status"]({}).pipe(Effect.mapError(mapEndpointStatusError))
|
|
|
|
export const adaptGroupSystem = (raw: RawGroup) => ({ status: EndpointStatus(raw) })
|