@thehammer/danx-dashboard-mcp 0.1.76 → 0.1.78
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.
- package/README.md +1 -1
- package/dist/bridge.js +0 -0
- package/dist/credential.js +0 -0
- package/dist/entrypoint.js +0 -0
- package/dist/entrypoint.test.js +0 -0
- package/dist/handlers.js +0 -0
- package/dist/http-client.js +0 -0
- package/dist/index.js +7 -1
- package/dist/listen.js +0 -0
- package/dist/one-line.js +0 -0
- package/dist/priority.js +0 -0
- package/dist/session-connection.js +0 -0
- package/dist/tool-defs.js +0 -0
- package/dist/types.js +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ All exposed as `mcp__danx-dashboard__<name>` once wired through the workspace `m
|
|
|
32
32
|
| `issue_comment` | `POST/PATCH/DELETE /api/issues/:id/comments[/:cid]` | Author server-stamped, soft-delete preserved |
|
|
33
33
|
| `issue_dependency` | `POST/DELETE /api/issues/:id/dependencies[/:did]` | `depends_on` cycle-checked; remove hardcodes `reason: "recorded_in_error"`. The only mechanism the dispatch picker enforces to sequence one card after another — status alone is not a substitute |
|
|
34
34
|
| `issue_retire_branch` | `POST /api/issues/:id/card-branch-retire` | Mark this card's own `card/<id>` branch RETIRED (unsafe to merge) — `{reason}`, `by` server-stamped. NO status/terminal gate (DX-2845): settable the instant an audit/split judges the branch unsafe, whatever the card's status. The dispatched worker reads this at its next bootstrap and forces `origin/main` instead of re-attaching to the retired content |
|
|
35
|
-
| `issue_retro` | `PUT /api/issues/:id/retro` | Requires terminal card; replace semantics |
|
|
35
|
+
| `issue_retro` | `PUT /api/issues/:id/retro` | Requires terminal card; replace semantics. `correctable_danxbot_problem` + `correctable_danxbot_problem_description` (DX-2794) are REQUIRED on every write, like `tests[]` — answer honestly whether THIS dispatch hit a fixable problem in danxbot's own code/configuration (not "the card was hard"); a true+described retro starts exactly one automated repair |
|
|
36
36
|
|
|
37
37
|
## `plan_get` — cheap by default, opt-in for the rest (DX-2727)
|
|
38
38
|
|
package/dist/bridge.js
CHANGED
|
File without changes
|
package/dist/credential.js
CHANGED
|
File without changes
|
package/dist/entrypoint.js
CHANGED
|
File without changes
|
package/dist/entrypoint.test.js
CHANGED
|
File without changes
|
package/dist/handlers.js
CHANGED
|
File without changes
|
package/dist/http-client.js
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -616,10 +616,16 @@ server.tool("issue_quality_gate_verdict", "Stamp an operator MANUAL quality-gate
|
|
|
616
616
|
...boardField,
|
|
617
617
|
}, async (args) => jsonResult(await issueQualityGateVerdict(client, args)));
|
|
618
618
|
// ---------------- issue_retro ----------------
|
|
619
|
-
server.tool("issue_retro", "Replace the retro block via PUT /api/issues/:id/retro. Body: {good, bad, action_item_ids[], commits[], tests[]}. REFUSES 409 unless the card is terminal (completed_at OR cancelled_at) — retro ships when work concludes. Replace semantics: good/bad upsert; action_item_ids[] + commits[] + tests[] soft-delete prior live rows and insert with fresh ordinals. action_item_ids[] entries MUST match <PREFIX>-N. commits[] entries take {sha, subject?}. tests[] (DX-1646) is REQUIRED (empty array allowed — the \"ran no tests\" case): one row per test GROUP that ran (a whole suite/class — name the group, do NOT list individual unit tests) or per individual e2e test (kind:'e2e', few + expensive so listed explicitly). Each row: {name, kind:'group'|'e2e', num_tests, num_passing_tests, duration_ms} required; num_assertions + num_passing_assertions NULLABLE (vitest has no assertion totals — pass null or omit).", {
|
|
619
|
+
server.tool("issue_retro", "Replace the retro block via PUT /api/issues/:id/retro. Body: {good, bad, correctable_danxbot_problem, correctable_danxbot_problem_description, action_item_ids[], commits[], tests[]}. REFUSES 409 unless the card is terminal (completed_at OR cancelled_at) — retro ships when work concludes. Replace semantics: good/bad upsert; action_item_ids[] + commits[] + tests[] soft-delete prior live rows and insert with fresh ordinals. action_item_ids[] entries MUST match <PREFIX>-N. commits[] entries take {sha, subject?}. tests[] (DX-1646) is REQUIRED (empty array allowed — the \"ran no tests\" case): one row per test GROUP that ran (a whole suite/class — name the group, do NOT list individual unit tests) or per individual e2e test (kind:'e2e', few + expensive so listed explicitly). Each row: {name, kind:'group'|'e2e', num_tests, num_passing_tests, duration_ms} required; num_assertions + num_passing_assertions NULLABLE (vitest has no assertion totals — pass null or omit). `correctable_danxbot_problem` (DX-2794) is REQUIRED on every write, like tests[] — ANSWER IT HONESTLY: did THIS dispatch hit a problem in danxbot's own code or configuration (not merely \"this card was hard\") that danxbot could change so it stops happening? true REQUIRES a non-empty `correctable_danxbot_problem_description` naming the problem; false REQUIRES the description be empty. A true+described retro is read by a deterministic, no-LLM check and starts exactly one automated repair (fixes the problem or files a ready card) — this is the ONLY reliable channel for a danxbot defect found mid-dispatch to actually get fixed, so do not default to false out of haste.", {
|
|
620
620
|
id: z.string().min(1),
|
|
621
621
|
good: z.string(),
|
|
622
622
|
bad: z.string(),
|
|
623
|
+
correctable_danxbot_problem: z
|
|
624
|
+
.boolean()
|
|
625
|
+
.describe("Required. Did this dispatch hit a problem in danxbot's OWN code/configuration (not \"this card was hard\") that danxbot could change so it stops happening? Answer explicitly every time — never left at a default."),
|
|
626
|
+
correctable_danxbot_problem_description: z
|
|
627
|
+
.string()
|
|
628
|
+
.describe("Required. Non-empty (naming the concrete problem) when correctable_danxbot_problem is true; must be empty when it is false."),
|
|
623
629
|
action_item_ids: z.array(z.string()),
|
|
624
630
|
commits: z.array(z.object({
|
|
625
631
|
sha: z.string().min(1),
|
package/dist/listen.js
CHANGED
|
File without changes
|
package/dist/one-line.js
CHANGED
|
File without changes
|
package/dist/priority.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/tool-defs.js
CHANGED
|
File without changes
|
package/dist/types.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thehammer/danx-dashboard-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.78",
|
|
4
4
|
"description": "Stdio MCP server wrapping danxbot's dashboard /api/issues/* normalized DB-backed HTTP routes for dispatched agents (DX-704 Phase 2).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|