Files
vercel__workflow/packages/core/package.json
Nathan Rajlich cecd664a05 QuickJS engine: host-side, side-effect-free serialization via handles
(Re-applied onto the review-fixed base; original commits da2723016 +
9814ed9ac squashed.)

Replace the in-VM serde bundle with a host-side codec
(runtime/quickjs-serde.ts) built on quickjs-wasi 3.3's introspection
primitives and devalue 5.9's pluggable stringify/parse operations —
mirroring the node:vm engine's architecture.

Review fixes incorporated:
- reducer/reviver key sets are pinned against codec-devalue-vm's
  workflow mode by exhaustiveness tests (exact order for reducers —
  first match wins), so the handle-space codec can't silently drift
  from the shared value-space sets.
- the devalue entry in minimumReleaseAgeExclude is removed: the exact
  version is pinned via the workspace catalog + lockfile, so the
  cooldown waiver was unnecessary (verified with both frozen and
  regular installs).
- eval-string interpolation inherits the JSON.stringify(cid) hardening
  from the base branch.
2026-07-31 16:07:51 -07:00

137 lines
4.1 KiB
JSON

{
"name": "@workflow/core",
"version": "5.0.0-beta.38",
"description": "Core runtime and engine for Workflow SDK",
"type": "module",
"main": "dist/index.js",
"files": [
"dist",
"docs/**/*",
"runtime.js",
"runtime.d.ts"
],
"directories": {
"doc": "./docs"
},
"publishConfig": {
"access": "public"
},
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/vercel/workflow.git",
"directory": "packages/core"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"workflow": "./dist/workflow/index.js",
"default": "./dist/index.js"
},
"./runtime": {
"types": "./dist/runtime.d.ts",
"default": "./dist/runtime.js"
},
"./runtime/run": {
"types": "./dist/runtime/run.d.ts",
"default": "./dist/runtime/run.js"
},
"./runtime/start": {
"types": "./dist/runtime/start.d.ts",
"default": "./dist/runtime/start.js"
},
"./runtime/helpers": {
"types": "./dist/runtime/helpers.d.ts",
"default": "./dist/runtime/helpers.js"
},
"./logger": {
"types": "./dist/logger.d.ts",
"default": "./dist/logger.js"
},
"./runtime/resume-hook": {
"types": "./dist/runtime/resume-hook.d.ts",
"default": "./dist/runtime/resume-hook.js"
},
"./runtime/world-init": {
"types": "./dist/runtime/world-init.d.ts",
"workflow": "./dist/workflow/world-init-stub.js",
"default": "./dist/runtime/world-init.js"
},
"./class-serialization": {
"types": "./dist/class-serialization.d.ts",
"default": "./dist/class-serialization.js"
},
"./serialization": {
"types": "./dist/serialization.d.ts",
"default": "./dist/serialization.js"
},
"./serialization-format": {
"types": "./dist/serialization-format.d.ts",
"default": "./dist/serialization-format.js"
},
"./encryption": {
"types": "./dist/encryption.d.ts",
"default": "./dist/encryption.js"
},
"./describe-error": {
"types": "./dist/describe-error.d.ts",
"default": "./dist/describe-error.js"
},
"./_workflow": "./dist/workflow/index.js"
},
"scripts": {
"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",
"test:e2e": "vitest run e2e",
"typecheck": "genversion --es6 src/version.ts && tsc --noEmit",
"prepack": "mkdir -p docs && cp -r ../../docs/content/docs/v5/foundations ./docs/ && cp -r ../../docs/content/docs/v5/how-it-works ./docs/ && cp -r ../../docs/content/docs/v5/api-reference/workflow ./docs/api-reference",
"postpack": "rm -rf docs"
},
"dependencies": {
"@aws-sdk/credential-provider-web-identity": "3.972.49",
"@jridgewell/trace-mapping": "0.3.31",
"@standard-schema/spec": "1.0.0",
"@types/ms": "2.1.0",
"@vercel/functions": "catalog:",
"@workflow/errors": "workspace:*",
"@workflow/serde": "workspace:*",
"@workflow/utils": "workspace:*",
"@workflow/world": "workspace:*",
"@workflow/world-local": "workspace:*",
"@workflow/world-vercel": "workspace:*",
"debug": "4.4.3",
"devalue": "5.9.0",
"ms": "2.1.3",
"nanoid": "5.1.6",
"quickjs-wasi": "3.3.0",
"seedrandom": "3.0.5",
"semver": "catalog:",
"ulid": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
"@opentelemetry/api": "1.9.0",
"@opentelemetry/context-async-hooks": "1.30.1",
"@opentelemetry/core": "1.30.1",
"@opentelemetry/sdk-trace-base": "1.30.1",
"@types/debug": "4.1.12",
"@types/node": "catalog:",
"@types/seedrandom": "3.0.8",
"@types/semver": "7.7.1",
"@workflow/tsconfig": "workspace:*",
"cross-env": "10.1.0",
"genversion": "3.2.0",
"typescript": "catalog:"
},
"peerDependencies": {
"@opentelemetry/api": "1"
},
"peerDependenciesMeta": {
"@opentelemetry/api": {
"optional": true
}
}
}