1import { SourceControlProviderKind } from "@t3tools/contracts";
2/**
3 * The Bitbucket Cloud driver: repository operations, discovery, and pull requests through the
4 * Bitbucket REST API.
5 *
6 * @module source-control-bitbucket/server/driver
7 */
8import { defineSourceControlDriver } from "@t3tools/source-control-core/server/driver";
9import * as Effect from "effect/Effect";
10
11import * as BitbucketPullRequestProvider from "./BitbucketPullRequestProvider.ts";
12import * as BitbucketSourceControlProvider from "./BitbucketSourceControlProvider.ts";
13
14export const driver = defineSourceControlDriver({
15 kind: SourceControlProviderKind.make("bitbucket"),
16 make: Effect.all({
17 sourceControl: BitbucketSourceControlProvider.make,
18 discovery: BitbucketSourceControlProvider.makeDiscovery,
19 pullRequests: BitbucketPullRequestProvider.make,
20 }),
21});