Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
753c981
Add opt-in QuickJS WASM VM engine (WORKFLOW_VM=quickjs) with full eve…
TooTallNate Jul 22, 2026
adb3d0e
QuickJS engine: AbortController, setAttributes, terminal drain, turbo…
TooTallNate Jul 22, 2026
6be76e2
QuickJS engine: hook.getConflict support, cross-run writable forwardi…
TooTallNate Jul 22, 2026
9d2530e
QuickJS engine: stream framing round-trip, bound step proxies, webhoo…
TooTallNate Jul 22, 2026
c57127d
Apply biome fixes to QuickJS engine files
TooTallNate Jul 22, 2026
ff400af
Address review feedback: anchor source-map strip to end-of-input, use…
TooTallNate Jul 22, 2026
5d4c578
CI: include generated QuickJS source assets in shared e2e build artif…
TooTallNate Jul 22, 2026
24017cc
Fix same-token hook ordering and conflicted-hook disposal in the Quic…
TooTallNate Jul 23, 2026
ad80ba8
CI: run both VM engines across all frameworks and worlds; label jobs …
TooTallNate Jul 23, 2026
2bd67b9
Fix stack overflow stripping inline source maps from webpack dev bund…
TooTallNate Jul 23, 2026
2a082dd
e2e: poll step listings until analytics rows include attempt (optiona…
TooTallNate Jul 23, 2026
0518e1c
e2e: use --withData to force storage-backed step listings for attempt…
TooTallNate Jul 23, 2026
6336b47
Sort imports in QuickJS serialization files (biome organizeImports)
TooTallNate Jul 31, 2026
2f3434d
QuickJS engine: resolve the run's full payload-key capability so seal…
TooTallNate Jul 31, 2026
1ff0ed9
Address review: crypto/process parity, loud Intl guards, lazy engine …
TooTallNate Jul 31, 2026
fe96bca
QuickJS engine: implement resilient resumeHook (hookInput materializa…
TooTallNate Jul 31, 2026
4506623
QuickJS engine: inline step execution via live-VM continuation loop +…
TooTallNate Jul 22, 2026
b232778
Address review: exclusive inline step claims, self-write requeue, in-…
TooTallNate Jul 31, 2026
cecd664
QuickJS engine: host-side, side-effect-free serialization via handles
TooTallNate Jul 31, 2026
8f88b5e
Merge origin/main (post-#3048) into quickjs-vm-perf; address review t…
TooTallNate Aug 4, 2026
5b44f6b
Merge quickjs-vm-perf (post-main sync) into quickjs-host-serde
TooTallNate Aug 4, 2026
d6720bd
Merge origin/main (post-#3049) into quickjs-host-serde
TooTallNate Aug 4, 2026
f88165c
Address review: NUL-safe string extraction, deterministic retryAfter,…
TooTallNate Aug 4, 2026
a139a27
Merge remote-tracking branch 'origin/main' into quickjs-host-serde
TooTallNate Aug 4, 2026
ef693e3
Adopt quickjs-wasi 3.3.1: withScope handle sweeping, real memoryLimit…
TooTallNate Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/quickjs-host-serde.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@workflow/core': patch
---

QuickJS engine: move serialization out of the VM onto the host, replacing the in-VM serde bundle with side-effect-free handle introspection (same wire format, 2–100× faster).
3 changes: 0 additions & 3 deletions packages/core/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,3 @@ src/version.ts
# Auto-generated quickjs-wasi binary assets (base64-encoded WASM + .so files)
src/runtime/quickjs-assets.generated.ts

# Auto-generated VM serde bundle (devalue + format-prefix + reducers,
# packaged as an ES-module string for evaluation inside the QuickJS VM)
src/runtime/vm-serde-bundle.generated.ts
4 changes: 2 additions & 2 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
"./_workflow": "./dist/workflow/index.js"
},
"scripts": {
"build": "genversion --es6 src/version.ts && node scripts/build-vm-serde-bundle.js && node scripts/build-quickjs-assets.js && tsc",
"build": "genversion --es6 src/version.ts && node scripts/build-quickjs-assets.js && tsc",
"dev": "genversion --es6 src/version.ts && tsc --watch",
"clean": "tsc --build --clean && rm -rf dist src/version.ts docs ||:",
"test": "cross-env WORKFLOW_TARGET_WORLD=local vitest run src",
Expand All @@ -105,7 +105,7 @@
"devalue": "5.9.0",
"ms": "2.1.3",
"nanoid": "5.1.6",
"quickjs-wasi": "3.1.0",
"quickjs-wasi": "3.3.1",
"seedrandom": "3.0.5",
"semver": "catalog:",
"ulid": "catalog:",
Expand Down
67 changes: 0 additions & 67 deletions packages/core/scripts/build-vm-serde-bundle.js

This file was deleted.

Loading
Loading