@stackwright-pro/mcp 0.2.0-alpha.115 → 0.2.0-alpha.118
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/integrity.js +1 -1
- package/dist/integrity.js.map +1 -1
- package/dist/integrity.mjs +1 -1
- package/dist/integrity.mjs.map +1 -1
- package/dist/pipeline-constants.d.mts +7 -1
- package/dist/pipeline-constants.d.ts +7 -1
- package/dist/pipeline-constants.js +3 -0
- package/dist/pipeline-constants.js.map +1 -1
- package/dist/pipeline-constants.mjs +2 -0
- package/dist/pipeline-constants.mjs.map +1 -1
- package/dist/server.js +31 -8
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +31 -8
- package/dist/server.mjs.map +1 -1
- package/package.json +7 -7
package/dist/server.js
CHANGED
|
@@ -1314,7 +1314,7 @@ function answersToManifestFormat(answers, questions) {
|
|
|
1314
1314
|
return qHeader.startsWith(headerLower.split("-")[0]);
|
|
1315
1315
|
});
|
|
1316
1316
|
if (matched) {
|
|
1317
|
-
result[matched.id] = answer.selected_options[0] || "";
|
|
1317
|
+
result[matched.id] = answer.selected_options.length > 1 ? answer.selected_options : answer.selected_options[0] || "";
|
|
1318
1318
|
}
|
|
1319
1319
|
continue;
|
|
1320
1320
|
}
|
|
@@ -1786,7 +1786,10 @@ function handleSavePhaseAnswers(input) {
|
|
|
1786
1786
|
}
|
|
1787
1787
|
} else {
|
|
1788
1788
|
answers = Object.fromEntries(
|
|
1789
|
-
input.rawAnswers.map((a) => [
|
|
1789
|
+
input.rawAnswers.map((a) => [
|
|
1790
|
+
a.question_header,
|
|
1791
|
+
a.selected_options.length > 1 ? a.selected_options : a.selected_options[0] ?? ""
|
|
1792
|
+
])
|
|
1790
1793
|
);
|
|
1791
1794
|
}
|
|
1792
1795
|
const payload = {
|
|
@@ -4347,6 +4350,12 @@ function handleWritePhaseQuestions(input) {
|
|
|
4347
4350
|
isError: true
|
|
4348
4351
|
};
|
|
4349
4352
|
}
|
|
4353
|
+
if (AUTO_EXECUTE_PHASES.has(phase)) {
|
|
4354
|
+
return {
|
|
4355
|
+
text: JSON.stringify({ success: true, phase, questionCount: 0, autoExecute: true }),
|
|
4356
|
+
isError: false
|
|
4357
|
+
};
|
|
4358
|
+
}
|
|
4350
4359
|
try {
|
|
4351
4360
|
const questions = parseLLMQuestionsResponse(responseText);
|
|
4352
4361
|
let requiredPackages = {
|
|
@@ -7129,7 +7138,7 @@ var _checksums = /* @__PURE__ */ new Map([
|
|
|
7129
7138
|
],
|
|
7130
7139
|
[
|
|
7131
7140
|
"stackwright-pro-form-wizard-otter.json",
|
|
7132
|
-
"
|
|
7141
|
+
"7d958f2873cb80955ba5453837b67bee427f8399868979f59fecebe380a35ab9"
|
|
7133
7142
|
],
|
|
7134
7143
|
[
|
|
7135
7144
|
"stackwright-pro-geo-otter.json",
|
|
@@ -8359,10 +8368,20 @@ var WriteWorkflowContainerPageInputSchema = import_zod21.z.object({
|
|
|
8359
8368
|
* Union of required roles across all steps in the workflow YAML.
|
|
8360
8369
|
* Consumed by auth-reconcile to build protectedRoutes.
|
|
8361
8370
|
* Must be non-empty — workflow pages are always auth-protected.
|
|
8371
|
+
*
|
|
8372
|
+
* ⚠️ MUST be a JSON array of strings: ["ROLE_A", "ROLE_B"].
|
|
8373
|
+
* Do NOT pass a YAML bracket string "[ROLE_A, ROLE_B]",
|
|
8374
|
+
* a JSON-encoded string "[\"ROLE_A\", \"ROLE_B\"]",
|
|
8375
|
+
* or a comma-separated string "ROLE_A,ROLE_B" — all are rejected.
|
|
8376
|
+
*
|
|
8377
|
+
* Regression guard (swp-zfa9): 3-of-4 workflow-otter fan-outs crashed on
|
|
8378
|
+
* runs 12-15 because the LLM passed a JSON-encoded string instead of an array.
|
|
8362
8379
|
*/
|
|
8363
8380
|
requiredRoles: import_zod21.z.array(import_zod21.z.string().min(1)).min(1, {
|
|
8364
|
-
message:
|
|
8365
|
-
})
|
|
8381
|
+
message: 'requiredRoles must have at least one role \u2014 workflow pages are always auth-protected. Pass a JSON array: ["ROLE_A", "ROLE_B"] \u2014 NOT a string or CSV.'
|
|
8382
|
+
}).describe(
|
|
8383
|
+
'JSON array of role strings. Example: ["ESF8_COORDINATOR", "HOSPITAL_EM"]. Must be a real JSON array \u2014 NOT a stringified array, YAML bracket sequence, or CSV string.'
|
|
8384
|
+
),
|
|
8366
8385
|
/**
|
|
8367
8386
|
* Persistence key for workflow state (localStorage slot).
|
|
8368
8387
|
* Defaults to `workflow-<workflowId>` when omitted.
|
|
@@ -8456,7 +8475,11 @@ function registerWriteWorkflowContainerPageTool(server2) {
|
|
|
8456
8475
|
" - meta.authRequired: true, meta.requiredRoles: <your input>",
|
|
8457
8476
|
" - One workflow_wizard content item binding workflowFile + workflowId",
|
|
8458
8477
|
"",
|
|
8459
|
-
"requiredRoles:
|
|
8478
|
+
"requiredRoles: MUST be a JSON array of strings (the union of all step auth.required_roles).",
|
|
8479
|
+
' CORRECT: ["ESF8_COORDINATOR", "HOSPITAL_EM", "EMS_DISPATCHER"]',
|
|
8480
|
+
' WRONG: "[\\"ESF8_COORDINATOR\\", \\"HOSPITAL_EM\\"]" (string containing JSON)',
|
|
8481
|
+
' WRONG: "ESF8_COORDINATOR,HOSPITAL_EM" (comma-separated string)',
|
|
8482
|
+
' WRONG: "[ESF8_COORDINATOR, HOSPITAL_EM]" (YAML bracket notation)',
|
|
8460
8483
|
'pageSlug: convention is "workflows/<workflowId>" \u2014 must start with "workflows/".'
|
|
8461
8484
|
].join("\n"),
|
|
8462
8485
|
WriteWorkflowContainerPageInputSchema.shape,
|
|
@@ -9604,7 +9627,7 @@ var package_default = {
|
|
|
9604
9627
|
"@stackwright-pro/pulse": "workspace:*",
|
|
9605
9628
|
"@stackwright-pro/telemetry": "workspace:*",
|
|
9606
9629
|
"@stackwright-pro/types": "workspace:*",
|
|
9607
|
-
"@stackwright/mcp": "0.6.0-alpha.
|
|
9630
|
+
"@stackwright/mcp": "0.6.0-alpha.5",
|
|
9608
9631
|
"@types/js-yaml": "^4.0.9",
|
|
9609
9632
|
"js-yaml": "^4.2.0",
|
|
9610
9633
|
"proper-lockfile": "^4.1.2",
|
|
@@ -9626,7 +9649,7 @@ var package_default = {
|
|
|
9626
9649
|
"test:coverage": "vitest run --coverage"
|
|
9627
9650
|
},
|
|
9628
9651
|
name: "@stackwright-pro/mcp",
|
|
9629
|
-
version: "0.2.0-alpha.
|
|
9652
|
+
version: "0.2.0-alpha.118",
|
|
9630
9653
|
description: "MCP tools for Stackwright Pro - Data Explorer, Security, ISR, and Dashboard generation",
|
|
9631
9654
|
license: "SEE LICENSE IN LICENSE",
|
|
9632
9655
|
main: "./dist/server.js",
|