@thehammer/danx-dashboard-mcp 0.1.195 → 0.1.196

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/index.js CHANGED
@@ -345,7 +345,12 @@ strictTool("danxbot_api", "Call any dashboard API route your credential may reac
345
345
  "the dashboard's own `plan_list.listener_unattached` reminder relayed there (DX-3997). `board` overrides this dispatch's configured board for a board-scoped route only " +
346
346
  "(ignored by a route that isn't board-scoped). See this server's own instructions (shown once, at connect) " +
347
347
  "for the shared resource shape, the stale-hash rule, and how to read a refusal — don't know the route? call " +
348
- "`danxbot_api_list` first; unsure of its exact shape? call `danxbot_api_spec` first. " +
348
+ "`danxbot_api_list` first. " +
349
+ // DX-4015 — the ONE statement of which writes need a spec call first; the
350
+ // `work` profile's spec-first sentence defers to this list. A shown write
351
+ // is copied from its example (3 of 3 canary sessions did, with zero 4xx).
352
+ "Before your first write to a route not shown below, and always before `PUT /api/issues/:id/retro`, " +
353
+ "call `danxbot_api_spec`. " +
349
354
  // DX-3923 — the shapes agents guessed wrong most often, shown before the
350
355
  // first call instead of learned from a 4xx.
351
356
  danxbotApiExamplesText(), {
@@ -59,17 +59,10 @@ export function transcriptPathFromEnv(env) {
59
59
  const realWatcher = (options) => new SessionLogWatcher(options);
60
60
  /** The collector's dispatch-id argument; the heartbeat is addressed by session, not dispatch. */
61
61
  const OPERATOR_DISPATCH_REF = "operator-session";
62
- /**
63
- * DX-3962 - the bridge's collector. `"operator-bridge"` is the ONE mode that credits a sub-agent's replies to the card
64
- * it claimed (from its own transcript's pickup); a worker builds its collector with attribution off.
65
- */
66
- function newCollector() {
67
- return new DispatchUsage("operator-bridge");
68
- }
69
62
  export class OperatorSessionStats {
70
63
  transcriptPath;
71
64
  makeWatcher;
72
- usage = newCollector();
65
+ usage = new DispatchUsage();
73
66
  watcher = null;
74
67
  stopped = false;
75
68
  constructor(transcriptPath, makeWatcher = realWatcher) {
@@ -160,7 +153,7 @@ export class OperatorSessionStats {
160
153
  return;
161
154
  watcher.stop();
162
155
  this.watcher = null;
163
- this.usage = newCollector();
156
+ this.usage = new DispatchUsage();
164
157
  })
165
158
  .catch((err) => {
166
159
  process.stderr.write(`operator session stats: transcript watcher failed: ${err.message}\n`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thehammer/danx-dashboard-mcp",
3
- "version": "0.1.195",
3
+ "version": "0.1.196",
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",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@modelcontextprotocol/sdk": "1.29.0",
34
- "@thehammer/danx-session-telemetry": "0.1.21",
34
+ "@thehammer/danx-session-telemetry": "0.1.19",
35
35
  "zod": "^3.25.76"
36
36
  },
37
37
  "devDependencies": {