@thehammer/danx-dashboard-mcp 0.1.144 → 0.1.146

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/dist/handlers.js CHANGED
@@ -1514,14 +1514,11 @@ export async function failureCategoryUpdate(client, args) {
1514
1514
  * no dashboard-side change needed, that data is already captured today for
1515
1515
  * every worker dispatch).
1516
1516
  *
1517
- * Why this exists instead of a filesystem path: CLAUDE.md Core Principle 5
1518
- * makes the worktree boundary binary (inside allow, outside reject, no
1519
- * per-card opt-in) — a Grep/Glob tool pointed at `~/.claude/projects/`, or a
1520
- * worktree-guard carve-out for that path, both widen that boundary the same
1521
- * way a Bash `grep` would. This tool needs no such carve-out: it is an
1522
- * ordinary HTTP call authenticated the same way every other
1523
- * `mcp__danx-dashboard__*` tool already is, so worktree-guard never enters
1524
- * the picture and CP5 stays untouched.
1517
+ * Why this exists instead of a filesystem path: the transcript lives in
1518
+ * ANOTHER dispatch's storage, not this one's container, so there is no local
1519
+ * path to point Read/Grep at — an ordinary HTTP call authenticated the same
1520
+ * way every other `mcp__danx-dashboard__*` tool already is, is how a
1521
+ * dispatch reaches it at all.
1525
1522
  *
1526
1523
  * Why this ALSO fixes the underlying complaint `Read` can't: `Read`
1527
1524
  * paginates by LINE, and a persisted JSONL entry can itself be one giant
package/dist/index.js CHANGED
@@ -1131,7 +1131,7 @@ strictTool("failure_category_update", "Patch an existing failure category. Board
1131
1131
  expectedRate: expectedRateField,
1132
1132
  }, async (args) => jsonResult(await failureCategoryUpdate(client, args)));
1133
1133
  // ---------------- dispatch_transcript_search (DX-3221) ----------------
1134
- strictTool("dispatch_transcript_search", "Search or tail another dispatch's stored JSONL transcript. Needs no filesystem access (an authenticated HTTP call — never touches worktree-guard or the worktree boundary) and fixes what Read cannot: a single JSONL entry can exceed Read's token cap with no way to sub-page inside it, so this tool searches itself and returns only a bounded excerpt around a match. With `pattern`: up to `maxMatches` matching lines (case-insensitive regex), each windowed to `contextChars` around the first match. Without `pattern`: the most recent `tail` lines instead, each capped at `contextChars` (`truncated: true` marks a capped excerpt either way, never a thrown error). `dispatchId` is a real `dispatches.id` — e.g. from a failure-repair card's own body.", {
1134
+ strictTool("dispatch_transcript_search", "Search or tail another dispatch's stored JSONL transcript. Needs no filesystem access (an authenticated HTTP call, not a local read) and fixes what Read cannot: a single JSONL entry can exceed Read's token cap with no way to sub-page inside it, so this tool searches itself and returns only a bounded excerpt around a match. With `pattern`: up to `maxMatches` matching lines (case-insensitive regex), each windowed to `contextChars` around the first match. Without `pattern`: the most recent `tail` lines instead, each capped at `contextChars` (`truncated: true` marks a capped excerpt either way, never a thrown error). `dispatchId` is a real `dispatches.id` — e.g. from a failure-repair card's own body.", {
1135
1135
  dispatchId: z.string().min(1).describe("The dispatch id whose transcript to search — from a failure-repair card's own body, or any other dispatch id you already have."),
1136
1136
  pattern: z.string().min(1).optional().describe("Case-insensitive regex tested against each raw JSONL line. Omit to get a tail read of the most recent lines instead."),
1137
1137
  tail: z.number().int().positive().optional().describe("Only used when `pattern` is omitted. How many of the most recent lines to return. Defaults to 20, capped at 200."),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thehammer/danx-dashboard-mcp",
3
- "version": "0.1.144",
3
+ "version": "0.1.146",
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",