Minor Changes
- 38f4903: Resolve flow runtime dependencies through a layered, project-isolated
node_modulesso flows run correctly in monorepos, single-package projects, and empty directories across both the Node and compiled-binary channels. The CLI-owned executor is always pinned and never pollutes or is shadowed by the surrounding project, while the flow's own declared dependencies still resolve. Addsqawolf install clearto wipe the managed runtime cache.
Patch Changes
- 2d98dc9: Exit
flows rundeterministically once the run completes. The flow runtime can launch browser processes (e.g. a channel-launched Google Chrome) whose CDP sockets and timers keep Node's event loop alive after teardown, so the CLI previously printed its results and then hung indefinitely. The process now flushes stdout/stderr and exits with the run's exit code (1 on flow failure, 0 on pass) as soon as the command resolves, with a backstop in case a stream stalls. - 5a81d70: Resolve the
#playwrightsubpath import when running flows in the isolated managed runtime. QA Wolf flow bundles import Playwright through a Node.jsimportsalias (#playwright), but the pulled bundle'spackage.jsonomits theimportsfield, so the stagedexec/package.jsoncould not resolve it and flows failed withERR_PACKAGE_IMPORT_NOT_DEFINED. The CLI now merges the#playwrightalias into the stagedexec/package.json, pointing it at the pinned Playwright resolved through the inner-hopnode_modulessymlink — fixing both the Node import path and the compiled-binary bundle path. - 621f5d4: Resolve flow imports whose specifier uses a
.tsextension but ships as.js(and vice versa). Platform-generated bundles often import sibling utilities as.tswhile the file on disk is.js; native Node ESM resolves extensions literally and throwsERR_MODULE_NOT_FOUND. A synchronousmodule.registerHooksresolve hook now transparently retries the sibling source extension (.ts↔.js,.mts↔.mjs,.cts↔.cjs) only on resolution failure — literal matches always win and nothing is rewritten on disk. Raises the Node engine floor to>=22.15.0, the release that introduced synchronous hooks.