@thehammer/danx-dashboard-mcp 0.1.196 → 0.1.197

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.
@@ -8,6 +8,10 @@
8
8
  * 36 KB `danxbot_api_list`) because nothing an agent
9
9
  * reads before its first call showed the right shape. The tool description
10
10
  * is the one surface every profile and every operator session carries.
11
+ * DX-4016 — the DX-3678 phase C run found the non-work profiles still paying
12
+ * a 4xx on three writes: a card create without `plan`, an edit whose `ac[]`
13
+ * items were keyed `text` (and one with no `content_hash`), and a retro whose
14
+ * flag was false but whose description was missing, then prose.
11
15
  *
12
16
  * Kept as data, not prose, so danxbot's own tests can check each example
13
17
  * against the live server contract (route table, resource fields, body
@@ -25,10 +29,15 @@ export const DANXBOT_API_EXAMPLES = {
25
29
  path: "/api/issues",
26
30
  query: { filter: { status_derived: "ToDo", q: "<text>" } },
27
31
  },
32
+ cardCreate: {
33
+ method: "POST",
34
+ path: "/api/issues",
35
+ body: { board: "<repo>:<slug>", type: "Bug", title: "<title>", description: "<markdown>", plan: null },
36
+ },
28
37
  cardEdit: {
29
38
  method: "PATCH",
30
39
  path: "/api/issues/<id>/edit",
31
- body: { description: "<markdown>", content_hash: "<content_hash from your read>" },
40
+ body: { description: "<markdown>", ac: [{ title: "<criterion>" }], content_hash: "<content_hash from your read>" },
32
41
  },
33
42
  comment: {
34
43
  method: "POST",
@@ -40,6 +49,19 @@ export const DANXBOT_API_EXAMPLES = {
40
49
  path: "/api/issues/<id>/checklists/<checklists[].id>/items/<items[].id>",
41
50
  body: { status: "passing" },
42
51
  },
52
+ retro: {
53
+ method: "PUT",
54
+ path: "/api/issues/<id>/retro",
55
+ body: {
56
+ good: "<text>",
57
+ bad: "<text>",
58
+ correctable_danxbot_problem: false,
59
+ correctable_danxbot_problem_description: "",
60
+ action_item_ids: [],
61
+ commits: [{ sha: "<sha>" }],
62
+ tests: [],
63
+ },
64
+ },
43
65
  };
44
66
  /** The retro route's accepted `tests[].kind` values. */
45
67
  export const RETRO_TEST_KIND_EXAMPLES = ["group", "e2e"];
@@ -52,8 +74,10 @@ export function danxbotApiExamplesText() {
52
74
  const e = DANXBOT_API_EXAMPLES;
53
75
  return (`Correct first calls: card read ${render(e.cardRead)} (\`fields\` is an object, never a comma string); ` +
54
76
  `card list ${render(e.cardList)} (filters only inside \`filter\`); ` +
55
- `card edit ${render(e.cardEdit)}; ` +
77
+ `card create ${render(e.cardCreate)} (\`plan\` required: "mine" or null); ` +
78
+ `card edit ${render(e.cardEdit)} (only the keys you change; \`ac\` replaces the list); ` +
56
79
  `comment ${render(e.comment)}; ` +
57
80
  `AC tick ${render(e.acTick)}; ` +
58
- `retro \`tests[].kind\` is ${RETRO_TEST_KIND_EXAMPLES.map((k) => `"${k}"`).join(" or ")}.`);
81
+ `retro ${render(e.retro)} (description "" unless the flag is true; ` +
82
+ `\`tests[].kind\` ${RETRO_TEST_KIND_EXAMPLES.map((k) => `"${k}"`).join(" or ")}).`);
59
83
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thehammer/danx-dashboard-mcp",
3
- "version": "0.1.196",
3
+ "version": "0.1.197",
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, danxbot_complete, and other per-dispatch lifecycle callbacks) (DX-3465, PLN-11 R-25).",
5
5
  "license": "MIT",
6
6
  "type": "module",