model.ts 530 B

1234567891011121314151617
  1. import { Catalog } from "@opencode-ai/core/catalog"
  2. import { Effect } from "effect"
  3. import { HttpApiBuilder } from "effect/unstable/httpapi"
  4. import { Api } from "../api"
  5. import { response } from "../location"
  6. export const ModelHandler = HttpApiBuilder.group(Api, "server.model", (handlers) =>
  7. Effect.gen(function* () {
  8. return handlers.handle(
  9. "model.list",
  10. Effect.fn(function* () {
  11. const catalog = yield* Catalog.Service
  12. return yield* response(catalog.model.available())
  13. }),
  14. )
  15. }),
  16. )