mirror of
https://github.com/vercel/workflow.git
synced 2026-09-14 19:59:43 +08:00
2bc368c424
- decompress() now gates only on DecompressionStream (read path), not
CompressionStream — reads work in decompress-only runtimes (Copilot).
- Cross-deployment writes (start({deploymentId}), resumeHook) restrict to
the portable gzip codec via a new compressionPortableOnly flag. zstd
decode needs node:zlib >= 22.15, a property of the reader's runtime that
the SDK (engines: Node 18+) can't guarantee for a different deployment;
same-deployment writes still use zstd since reader == writer (vercel bot).
- Browser zstd WASM is now vendored into web-shared dist and referenced via
a relative new URL('./zstd.wasm', import.meta.url) — a bare package
specifier was left unrewritten by Vite and 404'd. Verified the Vite build
emits the asset (karthikscale3).
- hydrateResourceIOWithKey accepts an optional key and always registers the
zstd decoder, so unencrypted compressed payloads (e.g. local world) are
inflated; web no-key hydration paths now route through it (karthikscale3).
- Clarify the sync-decompress doc contract (best-effort via
process.getBuiltinModule, not "always on Node") (Copilot).
Tests: cross-deployment gzip fallback, unencrypted compressed web
hydration, and zstd WASM ↔ node:zlib compatibility.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
84 lines
2.4 KiB
JSON
84 lines
2.4 KiB
JSON
{
|
|
"name": "@workflow/web-shared",
|
|
"description": "Shared components for Workflow Observability UI",
|
|
"version": "5.0.0-beta.17",
|
|
"private": false,
|
|
"files": [
|
|
"dist",
|
|
"src"
|
|
],
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"license": "Apache-2.0",
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./dist/index.js"
|
|
},
|
|
"./components": {
|
|
"types": "./dist/components/index.d.ts",
|
|
"default": "./dist/components/index.js"
|
|
},
|
|
"./styles.css": "./dist/styles.css"
|
|
},
|
|
"typesVersions": {
|
|
"*": {
|
|
"components": [
|
|
"dist/components/index.d.ts"
|
|
]
|
|
}
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/vercel/workflow.git",
|
|
"directory": "packages/web-shared"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc && cp -r src/components/trace-viewer/*.css dist/components/trace-viewer/ && cp src/components/new-trace-viewer/components/*.module.css dist/components/new-trace-viewer/components/ && cp src/styles.css dist/styles.css && cp \"$(node -p \"require.resolve('@tootallnate/zstd-wasm/zstd.wasm')\")\" dist/lib/zstd.wasm",
|
|
"dev": "tsc --watch",
|
|
"clean": "tsc --build --clean && rm -r dist ||:",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "biome check",
|
|
"format": "biome format --write"
|
|
},
|
|
"dependencies": {
|
|
"@radix-ui/react-slot": "1.1.1",
|
|
"@radix-ui/react-tooltip": "1.2.8",
|
|
"@tailwindcss/postcss": "4",
|
|
"@tootallnate/zstd-wasm": "0.0.2",
|
|
"@workflow/core": "workspace:*",
|
|
"@workflow/utils": "workspace:*",
|
|
"@workflow/world": "workspace:*",
|
|
"class-variance-authority": "0.7.1",
|
|
"clsx": "2.1.1",
|
|
"date-fns": "4.1.0",
|
|
"lucide-react": "0.575.0",
|
|
"react": "19.1.0",
|
|
"react-dom": "19.1.0",
|
|
"react-inspector": "9.0.0",
|
|
"react-use-measure": "2.1.1",
|
|
"react-virtuoso": "4.18.1",
|
|
"shiki": "4.0.0",
|
|
"sonner": "2.0.7",
|
|
"streamdown": "2.3.0",
|
|
"tailwind-merge": "3.5.0",
|
|
"tailwindcss": "4"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "catalog:",
|
|
"@types/node": "catalog:",
|
|
"@types/react": "19",
|
|
"@types/react-dom": "19",
|
|
"@workflow/errors": "workspace:*",
|
|
"@workflow/tsconfig": "workspace:*",
|
|
"ai": "catalog:",
|
|
"typescript": "catalog:",
|
|
"vitest": "catalog:"
|
|
}
|
|
}
|