1import { SourceControlProviderKind } from "@t3tools/contracts";
2/**
3 * The Forgejo / Gitea driver: repository operations, discovery, and pull requests through
4 * `fj` or `tea`.
5 *
6 * @module source-control-forgejo/server/driver
7 */
8import { defineSourceControlDriver } from "@t3tools/source-control-core/server/driver";
9import * as Effect from "effect/Effect";
10
11import * as ForgejoPullRequestProvider from "./ForgejoPullRequestProvider.ts";
12import * as ForgejoSourceControlProvider from "./ForgejoSourceControlProvider.ts";
13
14export const driver = defineSourceControlDriver({
15 kind: SourceControlProviderKind.make("forgejo"),
16 make: Effect.all({
17 sourceControl: ForgejoSourceControlProvider.make,
18 discovery: ForgejoSourceControlProvider.makeDiscovery,
19 pullRequests: ForgejoPullRequestProvider.make,
20 }),
21});