session.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // Generated by @opencode-ai/httpapi-codegen. Do not edit.
  2. import { Effect, Schema } from "effect"
  3. import { Sse } from "effect/unstable/encoding"
  4. import { HttpClientError } from "effect/unstable/http"
  5. import { HttpApiClient, HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi"
  6. import { ClientError } from "./client-error"
  7. const Endpoint0Success = Schema.String
  8. const Endpoint1Query = Schema.Struct({ archived: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Undefined])) })
  9. const Endpoint1Success = Schema.Array(Schema.String)
  10. const Endpoint2Params = Schema.Struct({ sessionID: Schema.String })
  11. const Endpoint2Success = Schema.Struct({ data: Schema.String })
  12. class Endpoint2Error0Class extends Schema.TaggedErrorClass<Endpoint2Error0Class>("Missing")("Missing", {
  13. message: Schema.String,
  14. }) {}
  15. const Endpoint2Error0 = Endpoint2Error0Class.annotate({ httpApiStatus: 404 })
  16. const Endpoint3Params = Schema.Struct({ sessionID: Schema.String })
  17. const Endpoint3Success = Schema.Void.annotate({ httpApiStatus: 204 })
  18. export const Group0 = HttpApiGroup.make("session", { topLevel: false })
  19. .add(HttpApiEndpoint.make("GET")("health", "/session/health", { success: Endpoint0Success }))
  20. .add(HttpApiEndpoint.make("GET")("list", "/session", { query: Endpoint1Query, success: Endpoint1Success }))
  21. .add(
  22. HttpApiEndpoint.make("GET")("get", "/session/:sessionID", {
  23. params: Endpoint2Params,
  24. success: Endpoint2Success,
  25. error: Endpoint2Error0,
  26. }),
  27. )
  28. .add(
  29. HttpApiEndpoint.make("POST")("interrupt", "/session/:sessionID/interrupt", {
  30. params: Endpoint3Params,
  31. success: Endpoint3Success,
  32. }),
  33. )
  34. type RawGroup = HttpApiClient.Client.Group<typeof Group0, "session", never, never>
  35. const Endpoint0DeclaredError = Schema.Never
  36. const mapEndpoint0Error = (error: unknown) =>
  37. HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error)
  38. ? new ClientError({ cause: error })
  39. : Schema.is(Endpoint0DeclaredError)(error)
  40. ? error
  41. : new ClientError({ cause: error })
  42. const Endpoint0 = (raw: RawGroup) => () => raw["health"]({}).pipe(Effect.mapError(mapEndpoint0Error))
  43. type Endpoint1Input = { readonly archived?: (typeof Endpoint1Query.Type)["archived"] }
  44. const Endpoint1DeclaredError = Schema.Never
  45. const mapEndpoint1Error = (error: unknown) =>
  46. HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error)
  47. ? new ClientError({ cause: error })
  48. : Schema.is(Endpoint1DeclaredError)(error)
  49. ? error
  50. : new ClientError({ cause: error })
  51. const Endpoint1 = (raw: RawGroup) => (input?: Endpoint1Input) =>
  52. raw["list"]({ query: { archived: input?.["archived"] } }).pipe(Effect.mapError(mapEndpoint1Error))
  53. type Endpoint2Input = { readonly sessionID: (typeof Endpoint2Params.Type)["sessionID"] }
  54. const Endpoint2DeclaredError = Schema.Union([Endpoint2Error0])
  55. const mapEndpoint2Error = (error: unknown) =>
  56. HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error)
  57. ? new ClientError({ cause: error })
  58. : Schema.is(Endpoint2DeclaredError)(error)
  59. ? error
  60. : new ClientError({ cause: error })
  61. const Endpoint2 = (raw: RawGroup) => (input: Endpoint2Input) =>
  62. raw["get"]({ params: { sessionID: input["sessionID"] } }).pipe(
  63. Effect.mapError(mapEndpoint2Error),
  64. Effect.map((value) => value.data),
  65. )
  66. type Endpoint3Input = { readonly sessionID: (typeof Endpoint3Params.Type)["sessionID"] }
  67. const Endpoint3DeclaredError = Schema.Never
  68. const mapEndpoint3Error = (error: unknown) =>
  69. HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error)
  70. ? new ClientError({ cause: error })
  71. : Schema.is(Endpoint3DeclaredError)(error)
  72. ? error
  73. : new ClientError({ cause: error })
  74. const Endpoint3 = (raw: RawGroup) => (input: Endpoint3Input) =>
  75. raw["interrupt"]({ params: { sessionID: input["sessionID"] } }).pipe(Effect.mapError(mapEndpoint3Error))
  76. export const adaptGroup0 = (raw: RawGroup) => ({
  77. health: Endpoint0(raw),
  78. list: Endpoint1(raw),
  79. get: Endpoint2(raw),
  80. interrupt: Endpoint3(raw),
  81. })