1import { SourceControlProviderKind } from "@t3tools/contracts";
2/**
3 * The Azure DevOps driver: repository operations, discovery, and pull requests through `az`.
4 *
5 * @module source-control-azure-devops/server/driver
6 */
7import { defineSourceControlDriver } from "@t3tools/source-control-core/server/driver";
8import * as Effect from "effect/Effect";
9
10import * as AzureDevOpsPullRequestProvider from "./AzureDevOpsPullRequestProvider.ts";
11import * as AzureDevOpsSourceControlProvider from "./AzureDevOpsSourceControlProvider.ts";
12
13export const driver = defineSourceControlDriver({
14 kind: SourceControlProviderKind.make("azure-devops"),
15 make: Effect.all({
16 sourceControl: AzureDevOpsSourceControlProvider.make,
17 discovery: Effect.succeed(AzureDevOpsSourceControlProvider.discovery),
18 pullRequests: AzureDevOpsPullRequestProvider.make,
19 }),
20});