History

Test against real WorkOS/Autumn SDKs via wire-level emulators (#931)

* Run cloud's real auth/billing against WorkOS + Autumn emulators; delete all hand-rolled test layers - WORKOS_API_URL / AUTUMN_API_URL env seams point the REAL SDKs (incl. the vault plugin via credentials.apiUrl) at the vendored emulators. Production composition is unconditional again — the EXECUTOR_E2E_STUB layer swap and every *.test-layer.ts are deleted. - e2e cloud target: identities minted through the REAL login flow (login → emulator-hosted AuthKit, headless via login_hint → callback → genuine sealed-session cookie), orgs through the real create-organization route. - MCP_AUTHKIT_DOMAIN points at the emulator's OAuth authorization server — cloud MCP OAuth e2e now RUNS (was capability-skipped): 19/19 scenarios, zero skips across both targets. - Readiness probes wait for /api/auth/login to actually 302 (vite serves the SPA for /api/* during cold compile); submenu interactions wait for the loaded sub-content before clicking. * Type the optional apiUrl on cloud's workosCredentials dep * Pin emulate fork: OAuth refresh grant + hosted WorkOS/Autumn on the worker * e2e: consume published @executor-js/emulate and @executor-js/mcporter Import the WorkOS/Autumn emulators and the mcporter MCP client from their published npm packages instead of the vendored submodule dist. The submodules remain for fork development, but nothing imports from vendor/ at runtime, so a fresh clone (and CI) resolves these via the registry — which lets e2e typecheck in CI without building the submodules.

Rhys Sullivan committed 5 months ago

Commit 098bfcb1 parent 17174c427 files · +283 −620Browse files

Showing the changes to apps/cloud/src/engine/execution-stack.ts (1 of 27 files). Show all

Unified · Split

apps/cloud/src/engine/execution-stack.ts+1−0
@@ -62,6 +62,7 @@ export const CloudPluginsProvider: Layer.Layer<PluginsProvider> = Layer.succeed( · 61 unmodified lines
62 workosCredentials: {62 workosCredentials: {
63 apiKey: env.WORKOS_API_KEY,63 apiKey: env.WORKOS_API_KEY,
64 clientId: env.WORKOS_CLIENT_ID,64 clientId: env.WORKOS_CLIENT_ID,
65 apiUrl: env.WORKOS_API_URL,
65 },66 },
66 }),67 }),
67});68});