@thehammer/danx-dashboard-mcp 0.1.326 → 0.1.327
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/design-screenshot.js +11 -1
- package/package.json +1 -1
|
@@ -21,6 +21,15 @@ const READY_WAIT_MS = 5000;
|
|
|
21
21
|
export const READY_MESSAGE = "danx-design:ready";
|
|
22
22
|
const READY_LISTENER = `window.__danxDesignReady = false; window.addEventListener("message", function (e) { ` +
|
|
23
23
|
`if (e.data && e.data.type === ${JSON.stringify(READY_MESSAGE)}) window.__danxDesignReady = true; });`;
|
|
24
|
+
/**
|
|
25
|
+
* DX-5350: the screenshot renders the page outside `SandboxedFrame`, so `window.danxMiniApp` (which the frame injects, `@danxbot/ui` 27.0.0)
|
|
26
|
+
* is restated here as a stub: `holdReady`, a once-only `ready` and ready-on-`load` unless held, posting the same ready message the listener
|
|
27
|
+
* above hears. `reportError` and `onAppearance` are no-ops so a harness never throws.
|
|
28
|
+
*/
|
|
29
|
+
const MINI_APP_STUB = `(function () { var held = false, posted = false; ` +
|
|
30
|
+
`function ready() { if (posted) return; posted = true; window.postMessage({ type: ${JSON.stringify(READY_MESSAGE)} }, "*"); } ` +
|
|
31
|
+
`window.danxMiniApp = { holdReady: function () { held = true; }, ready: ready, reportError: function () {}, onAppearance: function () { return function () {}; } }; ` +
|
|
32
|
+
`window.addEventListener("load", function () { if (!held) ready(); }); })();`;
|
|
24
33
|
function none(reason) {
|
|
25
34
|
return { png_base64: null, screenshot: `none: ${reason}` };
|
|
26
35
|
}
|
|
@@ -100,8 +109,9 @@ export async function captureWith(where, offline, drive) {
|
|
|
100
109
|
export function captureScreenshot(html, where) {
|
|
101
110
|
return captureWith(where, true, async (page) => {
|
|
102
111
|
await page.addInitScript(READY_LISTENER);
|
|
112
|
+
await page.addInitScript(MINI_APP_STUB);
|
|
103
113
|
await page.setContent(html, { waitUntil: "load" });
|
|
104
|
-
// The page has loaded; a design that never posts ready (it threw
|
|
114
|
+
// The page has loaded; a design that never posts ready (it threw) is still captured as it stands.
|
|
105
115
|
await page.waitForFunction("window.__danxDesignReady === true", undefined, { timeout: READY_WAIT_MS }).catch(() => undefined);
|
|
106
116
|
});
|
|
107
117
|
}
|
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.327",
|
|
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",
|