api.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { HttpApi, OpenApi } from "effect/unstable/httpapi"
  2. import { SchemaErrorMiddleware } from "./middleware/schema-error"
  3. import { MessageGroup } from "./groups/message"
  4. import { ModelGroup } from "./groups/model"
  5. import { ProviderGroup } from "./groups/provider"
  6. import { SessionGroup } from "./groups/session"
  7. import { PermissionGroup } from "./groups/permission"
  8. import { FileSystemGroup } from "./groups/fs"
  9. import { CommandGroup } from "./groups/command"
  10. import { SkillGroup } from "./groups/skill"
  11. import { EventGroup } from "./groups/event"
  12. import { AgentGroup } from "./groups/agent"
  13. import { HealthGroup } from "./groups/health"
  14. import { QuestionGroup } from "./groups/question"
  15. import { ReferenceGroup } from "./groups/reference"
  16. import { Authorization } from "./middleware/authorization"
  17. export const Api = HttpApi.make("server")
  18. .add(HealthGroup)
  19. .add(AgentGroup)
  20. .add(SessionGroup)
  21. .add(MessageGroup)
  22. .add(ModelGroup)
  23. .add(ProviderGroup)
  24. .add(PermissionGroup)
  25. .add(FileSystemGroup)
  26. .add(CommandGroup)
  27. .add(SkillGroup)
  28. .add(EventGroup)
  29. .add(QuestionGroup)
  30. .add(ReferenceGroup)
  31. .annotateMerge(
  32. OpenApi.annotations({
  33. title: "opencode HttpApi",
  34. version: "0.0.1",
  35. description: "Experimental HttpApi surface for selected instance routes.",
  36. }),
  37. )
  38. .middleware(Authorization)
  39. .middleware(SchemaErrorMiddleware)