flowzap-mcp 1.4.0 → 1.4.2
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
|
@@ -95,7 +95,7 @@ async function secureFetch(url, options) {
|
|
|
95
95
|
signal: controller.signal,
|
|
96
96
|
headers: {
|
|
97
97
|
...options.headers,
|
|
98
|
-
"User-Agent": "flowzap-mcp/1.4.
|
|
98
|
+
"User-Agent": "flowzap-mcp/1.4.2",
|
|
99
99
|
"X-MCP-Client": "flowzap-mcp",
|
|
100
100
|
},
|
|
101
101
|
});
|
|
@@ -387,7 +387,7 @@ async function handleCreatePlayground(code, view) {
|
|
|
387
387
|
// Main server setup
|
|
388
388
|
const server = new Server({
|
|
389
389
|
name: "flowzap-mcp",
|
|
390
|
-
version: "1.4.
|
|
390
|
+
version: "1.4.2",
|
|
391
391
|
}, {
|
|
392
392
|
capabilities: {
|
|
393
393
|
tools: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complianceCheck.d.ts","sourceRoot":"","sources":["../../src/tools/complianceCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAmB/D,eAAO,MAAM,mBAAmB,EAAE,IAmBjC,CAAC;
|
|
1
|
+
{"version":3,"file":"complianceCheck.d.ts","sourceRoot":"","sources":["../../src/tools/complianceCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAmB/D,eAAO,MAAM,mBAAmB,EAAE,IAmBjC,CAAC;AAgFF,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CA6DjB"}
|
|
@@ -40,6 +40,21 @@ export const complianceCheckTool = {
|
|
|
40
40
|
required: ["code"],
|
|
41
41
|
},
|
|
42
42
|
};
|
|
43
|
+
const ALLOWED_RESULT_HOST = "flowzap.xyz";
|
|
44
|
+
function isSafeResultUrl(url) {
|
|
45
|
+
if (!url || typeof url !== "string")
|
|
46
|
+
return false;
|
|
47
|
+
try {
|
|
48
|
+
const u = new URL(url);
|
|
49
|
+
if (u.protocol !== "https:")
|
|
50
|
+
return false;
|
|
51
|
+
// Allow only the production host (and subdomains) to prevent open-redirect-style leaks.
|
|
52
|
+
return u.hostname === ALLOWED_RESULT_HOST || u.hostname.endsWith(`.${ALLOWED_RESULT_HOST}`);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
43
58
|
function renderFindings(findings) {
|
|
44
59
|
if (!findings || findings.length === 0) {
|
|
45
60
|
return "_No specific findings flagged for this framework._";
|
|
@@ -55,7 +70,14 @@ function renderFindings(findings) {
|
|
|
55
70
|
}
|
|
56
71
|
function renderMarkdown(payload) {
|
|
57
72
|
const fw = payload.frameworks || {};
|
|
58
|
-
const sections = [
|
|
73
|
+
const sections = [];
|
|
74
|
+
// Lead with the shareable rendered-result URL when available so agents (and end users)
|
|
75
|
+
// can deep-link directly to a styled audit page instead of relying on inline markdown.
|
|
76
|
+
if (isSafeResultUrl(payload.resultUrl)) {
|
|
77
|
+
sections.push(`A compliance check to SOC2, PIPL and GDPR is ready and is available here: ${payload.resultUrl}`);
|
|
78
|
+
sections.push("");
|
|
79
|
+
}
|
|
80
|
+
sections.push("# Compliance Check Results (SOC2 · GDPR · PIPL)\n");
|
|
59
81
|
for (const key of ["gdpr", "soc2", "pipl"]) {
|
|
60
82
|
const findings = fw[key]?.findings || [];
|
|
61
83
|
sections.push(`## ${FRAMEWORK_LABELS[key]} (${findings.length} finding${findings.length === 1 ? "" : "s"})`);
|
|
@@ -91,7 +113,7 @@ export async function handleComplianceCheck(rawCode, rawLng) {
|
|
|
91
113
|
method: "POST",
|
|
92
114
|
headers: {
|
|
93
115
|
"Content-Type": "application/json",
|
|
94
|
-
"User-Agent": "flowzap-mcp/1.4.
|
|
116
|
+
"User-Agent": "flowzap-mcp/1.4.2",
|
|
95
117
|
"X-MCP-Client": "flowzap-mcp",
|
|
96
118
|
},
|
|
97
119
|
body: JSON.stringify({ code: sanitizedCode, lng }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complianceCheck.js","sourceRoot":"","sources":["../../src/tools/complianceCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAC/C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAGhD,MAAM,WAAW,GAA2B;IAC1C,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAS;IACvC,IAAI,EAAE,0BAA0B;IAChC,WAAW,EACT,oYAAoY;IACtY,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8DAA8D;aAC5E;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gBACxB,WAAW,EAAE,iCAAiC;aAC/C;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"complianceCheck.js","sourceRoot":"","sources":["../../src/tools/complianceCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export async function createPlaygroundUrl(code) {
|
|
|
16
16
|
method: "POST",
|
|
17
17
|
headers: {
|
|
18
18
|
"Content-Type": "application/json",
|
|
19
|
-
"User-Agent": "flowzap-mcp/1.4.
|
|
19
|
+
"User-Agent": "flowzap-mcp/1.4.2",
|
|
20
20
|
"X-MCP-Client": "flowzap-mcp",
|
|
21
21
|
},
|
|
22
22
|
body: JSON.stringify({ code, source: 'mcp' }),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowzap-mcp",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"mcpName": "io.github.flowzap-xyz/flowzap",
|
|
5
5
|
"description": "MCP server for FlowZap - Create workflow, sequence, and architecture diagrams via AI assistants. Works with Claude Desktop, Claude Code, Cursor, Windsurf, OpenAI Codex, Warp, Zed, Cline, Roo Code, Continue.dev, and Sourcegraph Cody.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
},
|
|
10
10
|
"type": "module",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"
|
|
12
|
+
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
13
|
+
"build": "npm run clean && tsc",
|
|
13
14
|
"dev": "tsx src/index.ts",
|
|
14
15
|
"prepublishOnly": "npm run build"
|
|
15
16
|
},
|