@thehammer/danx-dashboard-mcp 0.1.284 → 0.1.285

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,6 +48,9 @@ async function resolveBoard(client, args, deps) {
48
48
  return { ok: true, board };
49
49
  }
50
50
  export async function designPublish(client, args, deps) {
51
+ // DX-4729: refused before any call, so a blank note never leaves a built page, a screenshot or a card behind.
52
+ if (args.note.trim() === "")
53
+ fail("`note` is required: say what changed since the last revision, which decision note it answers and what is still open");
51
54
  // With `card_id` the card already exists: its title, summary and description are not this call's to set, and silently ignoring them would hide the mistake.
52
55
  if (args.card_id !== undefined) {
53
56
  const given = ["title", "summary", "description"].filter((k) => args[k] !== undefined);
@@ -103,6 +106,7 @@ export async function designPublish(client, args, deps) {
103
106
  method: "POST",
104
107
  path: `/api/issues/${encodeURIComponent(cardId)}/design/revisions`,
105
108
  body: {
109
+ note: args.note,
106
110
  target: target.name,
107
111
  entry: repoRelative(repoRoot, path.join(checked.dirAbs, DESIGN_FILE)),
108
112
  source_files: sourceFiles,
package/dist/index.js CHANGED
@@ -650,8 +650,12 @@ strictTool("design_publish", "Build a design against this repo's REAL components
650
650
  "`captured` (1280x800) or `none: <reason>` (no Playwright in the repo: the publish still succeeds). Build errors and a " +
651
651
  "refused revision (400, 413) come back verbatim; a refusal after the card was created carries its `card_id`: fix the " +
652
652
  "design and call again with it. Limits: the frame has no network, so a component that fetches its own data fails inside " +
653
- "it (use fixture props); React only; targets are edited in Settings > Board > General, never in a file.", {
654
- target: z.string().min(1).describe("A design target's name, as declared in Settings > Board > General (Design targets)."),
653
+ "it (use fixture props); React only; targets are a dashboard setting, read from `design_targets` of `GET /api/repos/<repo>`, never a file.", {
654
+ target: z.string().min(1).describe("A design target's name, as listed in `design_targets` of `GET /api/repos/<repo>` (`danxbot_api`, fields {design_targets: true})."),
655
+ note: z
656
+ .string()
657
+ .min(1)
658
+ .describe("The revision note, shown beside the revision on the card: what changed since the last revision, which decision note it answers, what is still open."),
655
659
  dir: z
656
660
  .string()
657
661
  .min(1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thehammer/danx-dashboard-mcp",
3
- "version": "0.1.284",
3
+ "version": "0.1.285",
4
4
  "description": "Stdio MCP server fronting danxbot's dashboard API for agents (operator sessions and dispatched workers alike): the generic danxbot_api/danxbot_api_list/danxbot_api_spec tools reach any route the caller's credential may call, plus dedicated agent-specific tools (plan_connect, request_permission, attach_file, and danxbot_slack_reply) (DX-3465, PLN-11 R-25).",
5
5
  "license": "MIT",
6
6
  "type": "module",