@thehammer/danx-dashboard-mcp 0.1.328 → 0.1.330
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/permission-watch.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { SYNC_ATTEMPTS, retryBounded } from "./bounded-retry.js";
|
|
19
19
|
import { SseParser } from "./listen.js";
|
|
20
|
+
import { PLUGIN_BACKGROUND_HEADER } from "./session-options.js";
|
|
20
21
|
const STREAM_PATH = "/api/stream?topics=key:self";
|
|
21
22
|
const PERMISSIONS_CHANGED = "permissions_changed";
|
|
22
23
|
export const WATCH_INITIAL_BACKOFF_MS = 1_000;
|
|
@@ -83,7 +84,8 @@ export class PermissionWatch {
|
|
|
83
84
|
const healthy = () => opened && this.now() - openedAt >= WATCH_HEALTHY_CONNECTION_MS;
|
|
84
85
|
try {
|
|
85
86
|
const response = await this.fetchImpl(`${this.deps.dashboardUrl.replace(/\/+$/, "")}${STREAM_PATH}`, {
|
|
86
|
-
|
|
87
|
+
// DX-5354: the watch is this process's own work, never the agent acting, so neither its connect nor any reconnect extends the session's key.
|
|
88
|
+
headers: { Authorization: `Bearer ${token}`, Accept: "text/event-stream", [PLUGIN_BACKGROUND_HEADER]: "1" },
|
|
87
89
|
signal: controller.signal,
|
|
88
90
|
});
|
|
89
91
|
if (response.status >= 400 && response.status < 500 && !RETRYABLE_REFUSALS.has(response.status)) {
|
package/dist/restart-notice.js
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
*/
|
|
43
43
|
import { z } from "zod";
|
|
44
44
|
import { boundRequest } from "./request-bound.js";
|
|
45
|
-
import { resolveDashboardAuth, SESSION_ID_HEADER, SessionStartError } from "./session-options.js";
|
|
45
|
+
import { PLUGIN_BACKGROUND_HEADER, resolveDashboardAuth, SESSION_ID_HEADER, SessionStartError } from "./session-options.js";
|
|
46
46
|
import { findPredecessorCandidates, projectKeyOf, readSessionConnection } from "./session-connection.js";
|
|
47
47
|
import { checkedTranscriptPath } from "./session-stats.js";
|
|
48
48
|
import { readTranscriptLineage, TranscriptReadAborted, TranscriptUnreadable } from "./transcript-lineage.js";
|
|
@@ -64,6 +64,8 @@ export async function sendSessionRequest(options, path, init, deps) {
|
|
|
64
64
|
Accept: "application/json",
|
|
65
65
|
...(init.body !== undefined ? { "Content-Type": "application/json" } : {}),
|
|
66
66
|
[SESSION_ID_HEADER]: options.sessionId,
|
|
67
|
+
// DX-5354: the session-start hook's lookup is the plugin's own work, never the agent acting, so it does not extend the session's key.
|
|
68
|
+
[PLUGIN_BACKGROUND_HEADER]: "1",
|
|
67
69
|
},
|
|
68
70
|
body: init.body,
|
|
69
71
|
signal: bound.signal,
|
|
@@ -50,6 +50,7 @@ export const GET_ROUTE_BOARD_SCOPE = [
|
|
|
50
50
|
["/api/sync-root", "refuse"],
|
|
51
51
|
["/api/tasks", "refuse"],
|
|
52
52
|
["/api/team/audit-events", "refuse"],
|
|
53
|
+
["/api/team/consumer-tokens", "refuse"],
|
|
53
54
|
["/api/team/invitations", "refuse"],
|
|
54
55
|
["/api/team/members", "refuse"],
|
|
55
56
|
["/api/team/roles", "refuse"],
|
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.330",
|
|
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",
|