UNPKG

@aashari/mcp-server-atlassian-bitbucket

Version:

Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MC

104 lines (103 loc) 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkspacePermissionsResponseSchema = exports.ListWorkspacesParamsSchema = exports.WorkspaceDetailedSchema = exports.WorkspaceMembershipSchema = exports.WorkspaceSchema = exports.WorkspaceForkingModeSchema = exports.WorkspaceLinksSchema = exports.WorkspacePermissionSchema = exports.WorkspaceUserSchema = exports.WorkspaceTypeSchema = void 0; const zod_1 = require("zod"); /** * Types for Atlassian Bitbucket Workspaces API */ /** * Workspace type (basic object) */ exports.WorkspaceTypeSchema = zod_1.z.literal('workspace'); /** * Workspace user object */ exports.WorkspaceUserSchema = zod_1.z.object({ type: zod_1.z.literal('user'), uuid: zod_1.z.string(), nickname: zod_1.z.string(), display_name: zod_1.z.string(), }); /** * Workspace permission type */ exports.WorkspacePermissionSchema = zod_1.z.enum([ 'owner', 'collaborator', 'member', ]); /** * Workspace links object */ const LinkSchema = zod_1.z.object({ href: zod_1.z.string(), name: zod_1.z.string().optional(), }); exports.WorkspaceLinksSchema = zod_1.z.object({ avatar: LinkSchema.optional(), html: LinkSchema.optional(), members: LinkSchema.optional(), owners: LinkSchema.optional(), projects: LinkSchema.optional(), repositories: LinkSchema.optional(), snippets: LinkSchema.optional(), self: LinkSchema.optional(), }); /** * Workspace forking mode */ exports.WorkspaceForkingModeSchema = zod_1.z.enum([ 'allow_forks', 'no_public_forks', 'no_forks', ]); /** * Workspace object returned from the API */ exports.WorkspaceSchema = zod_1.z.object({ type: exports.WorkspaceTypeSchema, uuid: zod_1.z.string(), name: zod_1.z.string(), slug: zod_1.z.string(), is_private: zod_1.z.boolean().optional(), is_privacy_enforced: zod_1.z.boolean().optional(), forking_mode: exports.WorkspaceForkingModeSchema.optional(), created_on: zod_1.z.string().optional(), updated_on: zod_1.z.string().optional(), links: exports.WorkspaceLinksSchema, }); /** * Workspace membership object */ exports.WorkspaceMembershipSchema = zod_1.z.object({ type: zod_1.z.literal('workspace_membership'), permission: exports.WorkspacePermissionSchema, last_accessed: zod_1.z.string().optional(), added_on: zod_1.z.string().optional(), user: exports.WorkspaceUserSchema, workspace: exports.WorkspaceSchema, }); /** * Extended workspace object with optional fields * @remarks Currently identical to Workspace, but allows for future extension */ exports.WorkspaceDetailedSchema = exports.WorkspaceSchema; /** * Parameters for listing workspaces */ exports.ListWorkspacesParamsSchema = zod_1.z.object({ q: zod_1.z.string().optional(), page: zod_1.z.number().optional(), pagelen: zod_1.z.number().optional(), }); /** * API response for user permissions on workspaces */ exports.WorkspacePermissionsResponseSchema = zod_1.z.object({ pagelen: zod_1.z.number(), page: zod_1.z.number(), size: zod_1.z.number(), next: zod_1.z.string().optional(), previous: zod_1.z.string().optional(), values: zod_1.z.array(exports.WorkspaceMembershipSchema), });