Add description parameter to bd update command and MCP server
Fixes #114 and #122 by adding --description/-d flag to bd update CLI and description parameter to MCP update_issue tool. Changes: - CLI: Added --description flag to updateCmd - RPC: Added Description field to UpdateArgs - Daemon: Updated updatesFromArgs to handle description - MCP: Added description to update_issue, UpdateIssueParams, and clients - Storage: description already supported in allowedUpdateFields Tested in both daemon and direct modes.
This commit is contained in:
@@ -427,6 +427,8 @@ class BdCliClient(BdClientBase):
|
||||
args.extend(["--assignee", params.assignee])
|
||||
if params.title:
|
||||
args.extend(["--title", params.title])
|
||||
if params.description:
|
||||
args.extend(["--description", params.description])
|
||||
if params.design:
|
||||
args.extend(["--design", params.design])
|
||||
if params.acceptance_criteria:
|
||||
|
||||
@@ -279,6 +279,8 @@ class BdDaemonClient(BdClientBase):
|
||||
args["assignee"] = params.assignee
|
||||
if params.title is not None:
|
||||
args["title"] = params.title
|
||||
if params.description is not None:
|
||||
args["description"] = params.description
|
||||
|
||||
data = await self._send_request("update", args)
|
||||
return Issue(**(json.loads(data) if isinstance(data, str) else data))
|
||||
|
||||
@@ -73,6 +73,7 @@ class UpdateIssueParams(BaseModel):
|
||||
priority: int | None = Field(default=None, ge=0, le=4)
|
||||
assignee: str | None = None
|
||||
title: str | None = None
|
||||
description: str | None = None
|
||||
design: str | None = None
|
||||
acceptance_criteria: str | None = None
|
||||
notes: str | None = None
|
||||
|
||||
@@ -322,7 +322,7 @@ async def create_issue(
|
||||
|
||||
@mcp.tool(
|
||||
name="update",
|
||||
description="""Update an existing issue's status, priority, assignee, design notes,
|
||||
description="""Update an existing issue's status, priority, assignee, description, design notes,
|
||||
or acceptance criteria. Use this to claim work (set status=in_progress).""",
|
||||
)
|
||||
@require_context
|
||||
@@ -332,6 +332,7 @@ async def update_issue(
|
||||
priority: int | None = None,
|
||||
assignee: str | None = None,
|
||||
title: str | None = None,
|
||||
description: str | None = None,
|
||||
design: str | None = None,
|
||||
acceptance_criteria: str | None = None,
|
||||
notes: str | None = None,
|
||||
@@ -350,6 +351,7 @@ async def update_issue(
|
||||
priority=priority,
|
||||
assignee=assignee,
|
||||
title=title,
|
||||
description=description,
|
||||
design=design,
|
||||
acceptance_criteria=acceptance_criteria,
|
||||
notes=notes,
|
||||
|
||||
@@ -175,6 +175,7 @@ async def beads_update_issue(
|
||||
priority: Annotated[int | None, "New priority (0-4)"] = None,
|
||||
assignee: Annotated[str | None, "New assignee"] = None,
|
||||
title: Annotated[str | None, "New title"] = None,
|
||||
description: Annotated[str | None, "Issue description"] = None,
|
||||
design: Annotated[str | None, "Design notes"] = None,
|
||||
acceptance_criteria: Annotated[str | None, "Acceptance criteria"] = None,
|
||||
notes: Annotated[str | None, "Additional notes"] = None,
|
||||
@@ -191,6 +192,7 @@ async def beads_update_issue(
|
||||
priority=priority,
|
||||
assignee=assignee,
|
||||
title=title,
|
||||
description=description,
|
||||
design=design,
|
||||
acceptance_criteria=acceptance_criteria,
|
||||
notes=notes,
|
||||
|
||||
Reference in New Issue
Block a user