feat(power-automate): v3.0.1 — MCP SDK v2, stateless protocol, zod 4 + bug fixes - #393
Conversation
c2ca019 to
4324d8f
Compare
4324d8f to
1f8cd2f
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
Suppressed comments (2)
plugins/power-automate/server/mcp.mjs:28826
rewriteConnectionNamesForPpapi()has the same recursion gap asstripInjectedAuthentication(): it walksactions,else.actions, andcases.*.actions, but does not traversedefault.actionsfor Switch. Any actions under the default branch will keephost.connectionNameand can still fail PPAPI writes for solution flows.
plugins/power-automate/server/mcp.mjs:28766stripInjectedAuthentication()claims to walk common nesting containers, but it currently only recurses intoactions,else.actions, andcases.*.actions. Switch actions also commonly have adefault.actionsbranch, which will be skipped, leaving injectedinputs.authenticationfields in nested default-branch actions and causing the same write failures this helper is meant to prevent.
This issue also appears on line 28822 of the same file.
|
Updated 2026-08-11: rebased onto main + bug fixes Branch force-pushed to resolve merge conflict and include 4 bug fixes for issues filed after this PR opened:
929 tests pass. PR is now rebased on main and \MERGEABLE. |
1f8cd2f to
af645be
Compare
|
Updated to v3.0.1 (2026-08-11) Branch force-pushed with corrected version, clean build, and live smoke test. Changes from last update:
Smoke test: ✅ passed in 13.8s (env \839eace6\ / msdefault) |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 3 changed files in this pull request and generated no new comments.
Suppressed comments (1)
plugins/power-automate/.plugin/plugin.json:3
- The PR description/title describes a major MCP SDK + protocol upgrade with breaking Node.js version requirements, but the diff shown here only bumps the plugin version. If the substantive server/skill changes are intentionally out-of-scope, the PR description should be updated; otherwise, the PR appears incomplete (missing the actual implementation changes that justify a 3.x release).
"version": "3.0.1",
Major update: migrates from @modelcontextprotocol/sdk@1.30.0 to @modelcontextprotocol/server@2.0.0 (2026-07-28 stateless MCP spec). Breaking: requires Node.js >=20 (v2 SDK requirement). Changes: - MCP SDK v2 with stateless protocol support - zod 4 schemas (v4-native, accepted by v2 registerTool) - createRequire banner for CJS interop in ESM bundle - All prior fixes preserved (PPAPI DNS fallback, Button trigger fix) Verified: 56 tools, 116 core tests pass, bundle starts cleanly.
af645be to
b6d6e04
Compare
|
Addressed Copilot review (2026-08-11) Hostname comment (line 27706): Keeping the \default\ prefix. DNS-verified:
Switch \default.actions\ gap (suppressed comments): Fixed. Both \stripInjectedAuthentication\ and |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
Suppressed comments (1)
plugins/power-automate/server/mcp.mjs:28638
updateFlow()now callsrewriteConnectionNamesForPpapi(body)without ensuringbody.properties.connectionReferencesis present.rewriteConnectionNamesForPpapi()relies on connectionReferences to build the connectionName→connectionReferenceLogicalName map, but callers likeeditFlow()construct an update body with onlyproperties.definition(no connectionReferences). If the Dataverse path is unavailable and the code falls through to PPAPI (which the catch explicitly supports), the rewrite becomes a no-op and can re-trigger the PPAPI validation failure this method is meant to prevent for solution flows.
Summary
Major SDK upgrade to support the 2026-07-28 stateless MCP specification.
What changed
Stateless MCP benefits
What's preserved
All prior fixes are included in this bundle:
Testing
Breaking change
Node.js >=20 required. The v2 MCP SDK requires Node 20+. Users on Node 18 must upgrade.