UNPKG

@gohcltech/bitbucket-mcp

Version:

Bitbucket integration for Claude via Model Context Protocol

217 lines 7 kB
/** * @fileoverview Consolidated issue management tool for v2.1. * * Replaces v2.0 tools: list_issues, get_issue, create_issue, update_issue, delete_issue, * search_issues, get_issue_changes, get_issue_watchers, list_comments, get_comment, * add_comment, update_comment, delete_comment, list_components, get_component, * list_milestones, get_milestone, list_versions, get_version * Consolidates 19 tools into 1 with action-based routing. */ import { Tool } from '@modelcontextprotocol/sdk/types.js'; import { ConsolidatedBaseTool } from './consolidated-base-tool.js'; import { ToolHandler } from './base-tool.js'; import { ToolCategory } from '../auth-capabilities.js'; import { IssueAction } from '../types/consolidated-tools.js'; /** * Consolidated issue management tool for v2.1. * * Provides unified issue operations with action-based routing. * * **Replaces v2.0 tools:** * - list_issues, get_issue, create_issue, update_issue, delete_issue * - search_issues, get_issue_changes, get_issue_watchers * - list_comments, get_comment, add_comment, update_comment, delete_comment * - list_components, get_component, list_milestones, get_milestone * - list_versions, get_version * * **Actions:** * - `list`: List issues with optional filtering and sorting * - `get`: Get detailed issue information * - `create`: Create a new issue * - `update`: Update issue status and properties * - `delete`: Delete an issue * - `search`: Search issues by text query * - `get_changes`: Get issue change history * - `get_watchers`: Get users watching an issue * - `list_comments`: List comments for an issue * - `get_comment`: Get a specific comment * - `add_comment`: Add a comment to an issue * - `update_comment`: Update an existing comment * - `delete_comment`: Delete a comment * - `list_components`: List repository components * - `get_component`: Get component details * - `list_milestones`: List repository milestones * - `get_milestone`: Get milestone details * - `list_versions`: List repository versions * - `get_version`: Get version details * * @example * ```typescript * // List open issues * const response = await tool.execute({ * action: 'list', * workspaceSlug: 'my-workspace', * repoSlug: 'my-repo', * state: 'open' * }); * * // Create a new issue * const response = await tool.execute({ * action: 'create', * workspaceSlug: 'my-workspace', * repoSlug: 'my-repo', * title: 'Bug in authentication', * content: 'Users unable to login with SSO', * kind: 'bug', * priority: 'critical' * }); * * // Search for issues * const response = await tool.execute({ * action: 'search', * workspaceSlug: 'my-workspace', * repoSlug: 'my-repo', * query: 'authentication error' * }); * ``` */ export declare class ManageIssuesTool extends ConsolidatedBaseTool<IssueAction> { getTools(): Tool[]; getToolCategory(): ToolCategory; protected getActionHandler(action: IssueAction): ToolHandler | null; protected validateActionParams(action: IssueAction, args: Record<string, any>): void; /** * Handler for listing issues in a repository. * * @param args - Tool arguments (workspace, repo, optional filters) * @returns List of issues with metadata */ private handleListIssues; /** * Handler for getting detailed information about an issue. * * @param args - Tool arguments (must include issueId) * @returns Detailed issue information */ private handleGetIssue; /** * Handler for creating a new issue. * * @param args - Tool arguments (must include title) * @returns Created issue information */ private handleCreateIssue; /** * Handler for updating an issue. * * @param args - Tool arguments (must include issueId) * @returns Updated issue information */ private handleUpdateIssue; /** * Handler for deleting an issue. * * @param args - Tool arguments (must include issueId) * @returns Deletion confirmation */ private handleDeleteIssue; /** * Handler for searching issues by text query. * * @param args - Tool arguments (must include query) * @returns Search results */ private handleSearchIssues; /** * Handler for getting issue change history. * * @param args - Tool arguments (must include issueId) * @returns Issue change history */ private handleGetIssueChanges; /** * Handler for getting issue watchers. * * @param args - Tool arguments (must include issueId) * @returns List of users watching the issue */ private handleGetIssueWatchers; /** * Handler for listing comments for an issue. * * @param args - Tool arguments (must include issueId) * @returns List of comments */ private handleListComments; /** * Handler for getting a specific comment. * * @param args - Tool arguments (must include issueId and commentId) * @returns Comment details */ private handleGetComment; /** * Handler for adding a comment to an issue. * * @param args - Tool arguments (must include issueId and content) * @returns Created comment */ private handleAddComment; /** * Handler for updating a comment. * * @param args - Tool arguments (must include issueId, commentId, and content) * @returns Updated comment */ private handleUpdateComment; /** * Handler for deleting a comment. * * @param args - Tool arguments (must include issueId and commentId) * @returns Deletion confirmation */ private handleDeleteComment; /** * Handler for listing repository components. * * @param args - Tool arguments (workspace and repo) * @returns List of components */ private handleListComponents; /** * Handler for getting a specific component. * * @param args - Tool arguments (must include componentId) * @returns Component details */ private handleGetComponent; /** * Handler for listing repository milestones. * * @param args - Tool arguments (workspace and repo, optional state filter) * @returns List of milestones */ private handleListMilestones; /** * Handler for getting a specific milestone. * * @param args - Tool arguments (must include milestoneId) * @returns Milestone details */ private handleGetMilestone; /** * Handler for listing repository versions. * * @param args - Tool arguments (workspace and repo, optional released filter) * @returns List of versions */ private handleListVersions; /** * Handler for getting a specific version. * * @param args - Tool arguments (must include versionId) * @returns Version details */ private handleGetVersion; } //# sourceMappingURL=issue-tools.d.ts.map