api.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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 { Authorization } from "./middleware/authorization"
  16. export const Api = HttpApi.make("server")
  17. .add(HealthGroup)
  18. .add(AgentGroup)
  19. .add(SessionGroup)
  20. .add(MessageGroup)
  21. .add(ModelGroup)
  22. .add(ProviderGroup)
  23. .add(PermissionGroup)
  24. .add(FileSystemGroup)
  25. .add(CommandGroup)
  26. .add(SkillGroup)
  27. .add(EventGroup)
  28. .add(QuestionGroup)
  29. .annotateMerge(
  30. OpenApi.annotations({
  31. title: "opencode HttpApi",
  32. version: "0.0.1",
  33. description: "Experimental HttpApi surface for selected instance routes.",
  34. }),
  35. )
  36. .middleware(Authorization)
  37. .middleware(SchemaErrorMiddleware)