generated-consumer.ts 1.3 KB

12345678910111213141516171819202122232425262728
  1. import { Effect, Stream } from "effect"
  2. import { HttpClient } from "effect/unstable/http"
  3. import { ClientError, OpenCode } from "./generated"
  4. import { Missing } from "./fixture"
  5. export const program = OpenCode.make().pipe(
  6. Effect.map((client) => {
  7. const health = client.session.health()
  8. const list = client.session.list()
  9. const filtered = client.session.list({ archived: true })
  10. const get = client.session.get({ sessionID: "session" })
  11. const interrupt = client.session.interrupt({ sessionID: "session" })
  12. const status = client.status()
  13. const subscribe = client.event.subscribe()
  14. const _health: Effect.Effect<string, ClientError> = health
  15. const _list: Effect.Effect<ReadonlyArray<string>, ClientError> = list
  16. const _filtered: Effect.Effect<ReadonlyArray<string>, ClientError> = filtered
  17. const _get: Effect.Effect<string, Missing | ClientError> = get
  18. const _interrupt: Effect.Effect<void, ClientError> = interrupt
  19. const _status: Effect.Effect<string, ClientError> = status
  20. const _subscribe: Stream.Stream<{ readonly type: string }, ClientError> = subscribe
  21. return { _health, _list, _filtered, _get, _interrupt, _status, _subscribe }
  22. }),
  23. )
  24. const _requiresHttpClient: Effect.Effect<unknown, never, HttpClient.HttpClient> = program