@edicarlos.lds/businessmap-mcp
Version:
Model Context Protocol server for BusinessMap (Kanbanize) integration
212 lines • 6.9 kB
TypeScript
import { Card, CardCustomField, CardHistoryItem, CardStickerItem, CardType, ChildCardItem, Comment, CreateCardParams, CreateCommentParams, CreateSubtaskParams, CreateTagParams, LinkedCardItem, Outcome, ParentCardItem, ParentGraphItem, Subtask, Tag, UpdateCardParams, UpdateCommentParams } from '../../types/index.js';
import { BaseClientModuleImpl } from './base-client.js';
export interface CardFilters {
archived_from?: string;
archived_from_date?: string;
archived_to?: string;
archived_to_date?: string;
created_from?: string;
created_from_date?: string;
created_to?: string;
created_to_date?: string;
deadline_from?: string;
deadline_from_date?: string;
deadline_to?: string;
deadline_to_date?: string;
discarded_from?: string;
discarded_from_date?: string;
discarded_to?: string;
discarded_to_date?: string;
first_end_from?: string;
first_end_from_date?: string;
first_end_to?: string;
first_end_to_date?: string;
first_start_from?: string;
first_start_from_date?: string;
first_start_to?: string;
first_start_to_date?: string;
in_current_position_since_from?: string;
in_current_position_since_from_date?: string;
in_current_position_since_to?: string;
in_current_position_since_to_date?: string;
last_end_from?: string;
last_end_from_date?: string;
last_end_to?: string;
last_end_to_date?: string;
last_modified_from?: string;
last_modified_from_date?: string;
last_modified_to?: string;
last_modified_to_date?: string;
last_start_from?: string;
last_start_from_date?: string;
last_start_to?: string;
last_start_to_date?: string;
board_ids?: number[];
card_ids?: number[];
column_ids?: number[];
lane_ids?: number[];
last_column_ids?: number[];
last_lane_ids?: number[];
owner_user_ids?: number[];
priorities?: number[];
reason_ids?: number[];
sections?: number[];
sizes?: number[];
type_ids?: number[];
version_ids?: number[];
workflow_ids?: number[];
colors?: string[];
custom_ids?: string[];
include_logged_time_for_child_cards?: number;
include_logged_time_for_subtasks?: number;
page?: number;
per_page?: number;
assignee_user_id?: number;
tag_ids?: number[];
}
export declare class CardClient extends BaseClientModuleImpl {
/**
* Get cards from a board with optional filters
*/
getCards(boardId: number, filters?: CardFilters): Promise<Card[]>;
/**
* Get a specific card by ID
*/
getCard(cardId: number): Promise<Card>;
/**
* Create a new card
*/
createCard(params: CreateCardParams): Promise<Card>;
/**
* Update an existing card
*/
updateCard(params: UpdateCardParams): Promise<Card>;
/**
* Move a card to a different column or lane
*/
moveCard(cardId: number, columnId: number, laneId?: number, position?: number): Promise<Card>;
/**
* Delete a card
*/
deleteCard(cardId: number): Promise<void>;
/**
* Get comments for a specific card
*/
getCardComments(cardId: number): Promise<Comment[]>;
/**
* Get details of a specific comment
*/
getCardComment(cardId: number, commentId: number): Promise<Comment>;
/**
* Get custom fields for a specific card
*/
getCardCustomFields(cardId: number): Promise<CardCustomField[]>;
/**
* Get all card types
*/
getCardTypes(): Promise<CardType[]>;
/**
* Get card outcome history
*/
getCardHistory(cardId: number, outcomeId: number): Promise<CardHistoryItem[]>;
/**
* Get card outcomes
*/
getCardOutcomes(cardId: number): Promise<Outcome[]>;
/**
* Get linked cards for a specific card
*/
getCardLinkedCards(cardId: number): Promise<LinkedCardItem[]>;
/**
* Get subtasks for a specific card
*/
getCardSubtasks(cardId: number): Promise<Subtask[]>;
/**
* Get details of a specific subtask
*/
getCardSubtask(cardId: number, subtaskId: number): Promise<Subtask>;
/**
* Create a new subtask for a card
*/
createCardSubtask(cardId: number, params: CreateSubtaskParams): Promise<Subtask>;
/**
* Get parent cards for a specific card
*/
getCardParents(cardId: number): Promise<ParentCardItem[]>;
/**
* Check if a card is a parent of a given card
*/
getCardParent(cardId: number, parentCardId: number): Promise<{
position: number;
}>;
/**
* Make a card a parent of a given card
*/
addCardParent(cardId: number, parentCardId: number): Promise<{
position: number;
}>;
/**
* Remove the link between a child card and a parent card
*/
removeCardParent(cardId: number, parentCardId: number): Promise<void>;
/**
* Get parent graph for a specific card (including parent's parents)
*/
getCardParentGraph(cardId: number): Promise<ParentGraphItem[]>;
/**
* Get child cards for a specific card
*/
getCardChildren(cardId: number): Promise<ChildCardItem[]>;
/**
* Block a card with a reason comment
*/
blockCard(cardId: number, reason: string): Promise<void>;
/**
* Unblock a card by removing its block reason
*/
unblockCard(cardId: number): Promise<void>;
/**
* Create a new comment on a card
*/
createCardComment(cardId: number, params: CreateCommentParams): Promise<Comment>;
/**
* Update an existing comment on a card
*/
updateCardComment(cardId: number, commentId: number, params: UpdateCommentParams): Promise<Comment>;
/**
* Delete a comment from a card
*/
deleteCardComment(cardId: number, commentId: number): Promise<void>;
/**
* Create a new tag
*/
createTag(params: CreateTagParams): Promise<Tag>;
/**
* Add a tag to a card
*/
addTagToCard(cardId: number, tagId: number): Promise<void>;
/**
* Remove a tag from a card
*/
removeTagFromCard(cardId: number, tagId: number): Promise<void>;
/**
* Add a sticker to a card
*/
addStickerToCard(cardId: number, stickerId: number): Promise<CardStickerItem>;
/**
* Remove a sticker from a card (sticker_card_id is the association ID, not sticker_id)
*/
removeStickerFromCard(cardId: number, stickerCardId: number): Promise<void>;
/**
* Add or update a predecessor relationship between two cards
*/
addPredecessor(cardId: number, predecessorCardId: number, params?: {
linked_card_position?: number;
card_position?: number;
}): Promise<void>;
/**
* Remove the predecessor relationship between two cards
*/
removePredecessor(cardId: number, predecessorCardId: number): Promise<void>;
}
//# sourceMappingURL=card-client.d.ts.map