@gohcltech/bitbucket-mcp
Version:
Bitbucket integration for Claude via Model Context Protocol
97 lines • 4.21 kB
TypeScript
/**
* @fileoverview Barrel export for all client modules.
*
* This module provides a centralized export point for all Bitbucket API client
* classes and related types. It follows the barrel pattern to simplify imports
* and provide a clean public API surface for consumers.
*
* The client architecture follows a domain-driven design with specialized
* clients for different areas of the Bitbucket API:
*
* - **BaseClient**: Abstract foundation providing HTTP operations, authentication,
* rate limiting, error handling, and pagination utilities
* - **BitbucketClient**: Main facade that composes all domain clients with
* backward compatibility methods
* - **WorkspaceClient**: Workspace discovery and management operations
* - **RepositoryClient**: Repository CRUD operations and configuration
* - **BranchClient**: Branch management, Git Flow, and protection rules
* - **PullRequestClient**: PR workflows, approvals, merging, and comments
* - **CommitClient**: Commit history, diffs, patches, and analysis
* - **IssueClient**: Issue tracking, comments, and project management metadata
*
* @example
* ```typescript
* import { BitbucketClient, WorkspaceClient, RepositoryClient } from './clients';
* import type { BitbucketApiResponse, Workspace, Repository } from './clients';
*
* // Use the main facade client (recommended)
* const client = new BitbucketClient(oauthService);
* await client.workspaces.getWorkspaces();
* await client.repositories.createRepository('workspace', 'repo', config);
*
* // Or use individual domain clients for specific needs
* const workspaceClient = new WorkspaceClient(oauthService);
* const workspaces = await workspaceClient.getAllWorkspaces();
* ```
*/
/**
* Abstract base class for all Bitbucket API clients.
* Provides common HTTP operations, authentication, rate limiting, and pagination.
*/
export { BaseClient } from './base-client.js';
/**
* HTTP client for Bitbucket workspace operations.
* Handles workspace discovery and management.
*/
export { WorkspaceClient } from './workspace-client.js';
/**
* HTTP client for Bitbucket repository operations.
* Manages repository CRUD operations and configuration.
*/
export { RepositoryClient } from './repository-client.js';
/**
* HTTP client for Bitbucket branch operations.
* Handles branch management, Git Flow, and protection rules.
*/
export { BranchClient } from './branch-client.js';
/**
* HTTP client for Bitbucket pull request operations.
* Manages PR workflows, approvals, merging, and comments.
*/
export { PullRequestClient } from './pull-request-client.js';
/**
* HTTP client for Bitbucket commit operations.
* Provides commit history, diffs, patches, and analysis.
*/
export { CommitClient } from './commit-client.js';
/**
* HTTP client for Bitbucket issue tracking operations.
* Handles issues, comments, and project management metadata.
*/
export { IssueClient } from './issue-client.js';
/**
* Main Bitbucket API client facade that composes all domain-specific clients.
* This is the recommended entry point for most use cases.
*/
export { BitbucketClient } from './bitbucket-client.js';
/**
* Re-export common types for convenience.
* These types are used across multiple client modules.
*/
export type { BitbucketApiResponse, RequestContext } from './base-client.js';
/**
* Type definitions for Bitbucket API response data.
* Import these when you need to type variables that hold API response data.
*
* @example
* ```typescript
* import type { Workspace, Repository, PullRequest, Issue } from './clients';
*
* const workspace: Workspace = await client.workspaces.getWorkspace('my-workspace');
* const repos: Repository[] = await client.repositories.getAllRepositories('my-workspace');
* const prs: PullRequest[] = await client.pullRequests.getAllPullRequests('workspace', 'repo');
* const issues: Issue[] = await client.issues.getAllIssues('workspace', 'repo');
* ```
*/
export type { Workspace, Repository, Branch, PullRequest, Comment, Commit, CommitDiff, Issue, IssueComment, BranchingModel, BranchPermissions, DefaultReviewers, Component, Milestone, Version, } from '../types/index.js';
//# sourceMappingURL=index.d.ts.map