powerautomate-mcp 0.12.0 → 0.13.0
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/README.md +12 -0
- package/dist/index.js +490 -55
- package/dist/index.js.map +1 -1
- package/package.json +9 -6
package/README.md
CHANGED
|
@@ -519,6 +519,18 @@ AI Client <--stdio/http--> powerautomate-mcp
|
|
|
519
519
|
└── Secure Token Storage (OS keychain)
|
|
520
520
|
```
|
|
521
521
|
|
|
522
|
+
### Live E2E (maintainers)
|
|
523
|
+
|
|
524
|
+
A read-only drift suite (`tests-e2e/live.e2e.test.ts`) catches upstream Power Platform API changes: it builds the server, spawns the real `dist/index.js` over MCP stdio JSON-RPC, and calls the read tools (`list_environments`, `list_flows`, `get_flow`, `get_runs`, `diagnose_flow`, `get_flow_permissions`, `list_approvals`, `list_connections`, `search_connectors`) against the signed-in tenant, pinning the prose and `structuredContent` shapes. If Microsoft renames or removes a field, this suite breaks — that's its job. It never creates, updates, or deletes anything.
|
|
525
|
+
|
|
526
|
+
- **Prerequisite:** the machine has completed `powerautomate-mcp --setup` (signed-in token cache).
|
|
527
|
+
- **Run:** `npm run test:e2e` (builds first, sets `PA_MCP_E2E=1`; without that env var the suite skips itself). macOS/Linux env-var syntax — this is a maintainer tool, not part of `npm test` or CI.
|
|
528
|
+
- The manual-dispatch `e2e.yml` workflow is scaffolding for a future self-hosted runner; GitHub-hosted runners have no token cache and fail fast with instructions.
|
|
529
|
+
|
|
530
|
+
A separate **write-path suite** (`tests-e2e/write.e2e.test.ts`) exercises the full flow lifecycle live: create → get → update → toggle start → run (wait for completion) → get_runs → toggle stop → delete (confirmation gate pinned) → verify gone. It only ever touches a self-contained disposable flow it creates itself (name prefixed `E2E-DISPOSABLE`, manual trigger + one Compose, no connections); cleanup is guaranteed by the tests, by `afterAll`, and by a `beforeAll` sweep of leftovers from crashed runs.
|
|
531
|
+
|
|
532
|
+
- **Run:** `npm run test:e2e:write` — double-gated (`PA_MCP_E2E=1` **and** `PA_MCP_E2E_WRITE=1`), so the read-only suite's flag alone can never mutate the tenant.
|
|
533
|
+
|
|
522
534
|
## License
|
|
523
535
|
|
|
524
536
|
MIT
|