Commit Graph

381 Commits

Author SHA1 Message Date
Vercel Release Bot 560dda3014 Version Packages (beta) (#660) workflow@4.0.1-beta.35 2025-12-20 10:58:29 +01:00
Peter Wielander 696ef450f2 [ci] Fix github changelog generation missing some PR links (#663) 2025-12-20 10:50:12 +01:00
Peter Wielander f2d5997b80 [world-local] Throw an error when trying writing JSON that fails entity validation 2025-12-20 10:44:00 +01:00
Peter Wielander 88ad5c9bbf [web] Fix hook span display if hooks were already disposed (#658) 2025-12-20 09:52:32 +01:00
Peter Wielander ef22f82c9e [web] Allow resuming hooks with payloads from the UI (#656) 2025-12-20 09:27:01 +01:00
Vercel Release Bot bd3385ff6d Version Packages (beta) (#652)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
workflow@4.0.1-beta.34
2025-12-19 15:41:36 -08:00
Nathan Rajlich 75a5060473 Handle Vercel Queue 24 hour message TTL by re-enqueueing message (#651) 2025-12-19 15:30:51 -08:00
Nathan Rajlich eaf9aa65f3 Don't shadow globalThis (#649) 2025-12-18 15:37:52 -08:00
Nathan Rajlich 6cd1a47b31 Additional error debugging when failing to validate server response (#647) 2025-12-18 15:17:33 -08:00
Adrian f39683370d fix: include next config in web package (#646)
* fix: include next config in web package

* changeset
2025-12-18 15:10:45 -08:00
Adrian ea3815c75d docs: mention nextjs breaking change with workflow compatibility (#645) 2025-12-18 13:41:54 -08:00
Peter Wielander 187225fa64 Fix release target (#644) workflow@4.0.1-beta.33 2025-12-18 20:46:38 +01:00
Peter Wielander 2a3bbb79e8 Fix releasing as latest on npm, but not within changeset (#643) 2025-12-18 20:41:46 +01:00
Vercel Release Bot b4132d0895 Version Packages (beta) (#635) 2025-12-18 20:07:06 +01:00
Peter Wielander 28224fff13 Compile release note summaries using custom script in CI (#637) 2025-12-18 19:06:05 +01:00
Pranay Prakash ea2a67e19c perf: parallelize suspension handler for high-concurrency (#544)
The current implementation of suspension handler processes the invocation queue sequentially which is really slow. Now we process is in parallel:

- Process hooks first, then steps and waits in parallel to prevent race conditions
- Refactor runtime.ts into modular files: `suspension-handler.ts`, `step-handler.ts`, `helpers.ts`
- nit: Add otel attributes for hooks created (`workflow.hooks.created`) and waits created (`workflow.waits.created`)
- nit: Update suspension status from `pending_steps` to `workflow_suspended`
2025-12-17 18:43:09 -08:00
Adrian ab55ba2d61 fix: disable RSC dedupe request through world-vercel (#639)
* fix: add request header for world-vercel

* changeset
2025-12-17 15:43:10 -08:00
Peter Wielander 712f6f86b1 [worlds] [runtime] Change serialized stream ID gen from v4 UUIDs to ULIDs and fix stream list endpoint (#625) 2025-12-17 20:44:34 +01:00
Peter Wielander 4bdd3e5086 Move auth error messages into @workflow/errors package (#638) 2025-12-17 16:54:29 +01:00
Peter Wielander c6f33ee9d3 [web] Show event markers for step_started events (#636) 2025-12-17 10:35:09 +01:00
Nathan Rajlich c4402a12cc Reduce flaky idempotency test timeout on Windows (#581)
The `idempotency` test was running **110 concurrent steps** (10 + 100), with each step requiring multiple filesystem operations in the local world:

1. **Step creation** - writes step JSON file
2. **Step update** - reads and overwrites step JSON file
3. **Event creation** - writes event JSON file

That's ~3-4 file operations per step × 110 steps = **330-440 total file operations**.

On Windows, this is especially slow because:
- **NTFS** is slower than ext4/APFS for small file writes
- **Windows Defender** real-time scanning adds latency to new file creation
- The **atomic write pattern** (write temp file → rename) is slower on Windows

Reduced the number of steps from **110 to 20** (5 + 15 instead of 10 + 100):

**`workflows/noop.ts`**:
- First batch: 10 → 5 steps
- Second batch: 100 → 15 steps

**`src/idempotency.mts`**:
- Updated assertion to expect 20 numbers instead of 110

This is ~5.5x fewer file operations while still testing the same concurrent step execution and idempotency behavior. The test should now complete well within the 60-second timeout even on slow Windows CI machines.
2025-12-17 00:03:56 -08:00
Peter Wielander ce7d428a07 [world-local] Fix step queries not returning new items for live pagination (#623) 2025-12-17 08:58:42 +01:00
Peter Wielander a84f0db227 [web] Visually distinguish createdAt vs startedAt for run/steps (#622) 2025-12-17 08:58:18 +01:00
Vercel Release Bot fc6a32d6dc Version Packages (beta) (#607) @workflow/nitro@4.0.1-beta.30 @workflow/next@4.0.1-beta.31 workflow@4.0.1-beta.32 @workflow/world-testing@4.0.1-beta.33 @workflow/world-postgres@4.1.0-beta.20 @workflow/world-local@4.0.1-beta.18 @workflow/ai@4.0.1-beta.32 @workflow/web-shared@4.0.1-beta.28 @workflow/utils@4.0.1-beta.7 @workflow/sveltekit@4.0.0-beta.24 @workflow/world-vercel@4.0.1-beta.20 @workflow/web@4.0.1-beta.17 @workflow/builders@4.0.1-beta.26 @workflow/errors@4.0.1-beta.9 @workflow/core@4.0.1-beta.27 @workflow/cli@4.0.1-beta.32 @workflow/nuxt@4.0.1-beta.19 @workflow/astro@4.0.0-beta.9 2025-12-16 21:05:18 +01:00
Adrian 29967bff90 fix: nitro duplicate building workflows on startup (#619) 2025-12-16 12:04:05 -08:00
Peter Wielander deaf0193e9 [world-vercel] Allow skipping vercel backend proxy for e2e tests where CLI runs in runtime env (#627) 2025-12-16 20:44:05 +01:00
Adrian 89ad239516 remove react-router workbench (#631) 2025-12-16 10:46:31 -08:00
Adrian 1ef6b2fdc8 fix: use workflow health endpoint to check for port (#616)
* chore: use workflow health endpoint to check for port

* chore: update comment

* changeset

* Fix: The JSDoc comment for the `probePort` function is outdated and doesn't match the implementation. It claims the function returns true for "non-404 response" but the code now checks for exactly 200 status.

This commit fixes the issue reported at packages/utils/src/get-port.ts:251

## Outdated JSDoc comment in probePort() function doesn't match implementation

**What fails:** The JSDoc comment at line 251 of `packages/utils/src/get-port.ts` claims the `probePort()` function `@returns true if the port responds as a workflow server (non-404 response)`, but the actual implementation at line 269 explicitly checks `return response.status === 200;`

**How to reproduce:**
1. Read the JSDoc comment for `probePort()` function in `packages/utils/src/get-port.ts` (line 251)
2. Read the implementation at lines 268-269
3. Observe the mismatch: the comment says "non-404 response" but code checks for exactly status 200

**What happened vs expected behavior:**
- The code behavior was changed in commit `34cb235` (Dec 15, 2025) from checking `response.status !== 404` to checking `response.status === 200`
- The internal code comments were updated in commit `5840ab2`, but the JSDoc was left outdated
- Developers reading the JSDoc would incorrectly believe the function accepts any non-404 response (400, 405, etc.) when it actually requires exactly 200

**Fix:** Updated the JSDoc `@returns` line to accurately reflect the implementation: `@returns true if the port responds with a 200 status from the health check endpoint`

**Verification:** All 19 tests in `packages/utils/src/get-port.test.ts` pass with the updated documentation.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>

---------

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2025-12-15 16:34:44 -08:00
Nathan Rajlich 4d7a393906 Add workflow endpoints health check query parameter (#613)
* Add workflow endpoints health check query parameter

* .

* .

* Add e2e
2025-12-15 15:14:29 -08:00
Peter Wielander 05ea6789e5 [web] Add actions for waking up workflow from sleep and re-enqueue runs for debugging (#582) 2025-12-14 17:39:25 -08:00
Copilot b56aae3fe9 Override timeout functions in workflow VM context to throw helpful errors (#505)
* Initial plan

* Override timeout functions in workflow VM context to throw helpful errors

Co-authored-by: TooTallNate <71256+TooTallNate@users.noreply.github.com>

* Use WorkflowRuntimeError instead of vmGlobalThis.Error for timeout functions

Co-authored-by: pranaygp <1797812+pranaygp@users.noreply.github.com>

* Add docs page for timeout-in-workflow error

Co-authored-by: pranaygp <1797812+pranaygp@users.noreply.github.com>

* Reorder unavailable functions list: set* functions first, then clear* functions

Co-authored-by: TooTallNate <71256+TooTallNate@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TooTallNate <71256+TooTallNate@users.noreply.github.com>
Co-authored-by: pranaygp <1797812+pranaygp@users.noreply.github.com>
2025-12-13 01:47:03 -08:00
Vishal Yathish 3198f6d1b7 [docs] bump @ai/react version to stop schema validation errors (#606) 2025-12-13 01:25:31 -08:00
Daniel Erickson 795c0f38e7 Update README.md (#601) 2025-12-12 23:44:26 -08:00
Vercel Release Bot 5f61987a58 Version Packages (beta) (#605) @workflow/ai@4.0.1-beta.31 workflow@4.0.1-beta.31 @workflow/world-testing@4.0.1-beta.32 @workflow/web@4.0.1-beta.16 @workflow/next@4.0.1-beta.30 @workflow/cli@4.0.1-beta.31 2025-12-12 19:16:54 -08:00
Peter Wielander 6265534d6b CVE-2025-55184 changeset (#604) 2025-12-12 19:09:08 -08:00
Peter Wielander f5db6ed52c CVE-2025-55184 (#603) 2025-12-12 19:07:21 -08:00
Vercel Release Bot 7018f490e6 Version Packages (beta) (#589)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@workflow/nuxt@4.0.1-beta.18 @workflow/world-postgres@4.1.0-beta.19 @workflow/astro@4.0.0-beta.8 @workflow/builders@4.0.1-beta.25 @workflow/cli@4.0.1-beta.30 @workflow/core@4.0.1-beta.26 @workflow/errors@4.0.1-beta.8 @workflow/next@4.0.1-beta.29 @workflow/nitro@4.0.1-beta.29 @workflow/ai@4.0.1-beta.30 @workflow/sveltekit@4.0.0-beta.23 @workflow/utils@4.0.1-beta.6 @workflow/web-shared@4.0.1-beta.27 @workflow/world-local@4.0.1-beta.17 workflow@4.0.1-beta.30 @workflow/world-vercel@4.0.1-beta.19 @workflow/world-testing@4.0.1-beta.31
2025-12-12 18:11:25 -08:00
Adrian c9b8d843fd fix: improve port detection reliability with HTTP probing (#590)
* add logs

* fix: sveltekit type error

* feat: add polling for ports

* cleanup logs

* changeset

* fix test

* test

* test

* trigger

* trigger

* trigger

* trigger
2025-12-10 13:06:19 -08:00
Adrian 8d2cabe27e fix: externalize virtual modules in sveltekit builder (#573)
* fix: add virtual modules to sveltekit builder

* add test dynamic import

* changeset

* revert
2025-12-10 11:49:02 -08:00
Peter Wielander 30c0274cdb Fix changelog generation on changeset publish (#585) 2025-12-09 18:03:18 -08:00
Karthik Kalyanaraman a4b67a9b3a [web] Show chat conversation UI when detecting step spans from DurableAgent (#586)
---------

Signed-off-by: Karthik Kalyanaraman <karthik@scale3labs.com>
2025-12-09 16:35:46 -08:00
Peter Wielander 696e7e31e8 [core] Fix runs getting stuck due to step status edge case (#588) 2025-12-09 15:04:29 -08:00
Vercel Release Bot 76795b0cd0 Version Packages (beta) (#561) @workflow/world@4.0.1-beta.10 workflow@4.0.1-beta.29 2025-12-09 09:26:51 -08:00
Peter Wielander 161c54ca13 [web] [cli] Add Web and CLI UI for listing and viewing streams (#575) 2025-12-08 18:10:02 -08:00
Peter Wielander c82b46720c [world] Add Streamer.listByRunId method to list all streams for a run (#574) 2025-12-08 16:05:44 -08:00
Nathan Rajlich 656a5027ab Check step maxRetries at the beginning of the step handler (#532) 2025-12-08 15:42:34 -08:00
Nathan Rajlich 8ff4b3a508 Enable Vercel Deployment Protection bypass secret for E2E tests (#580)
This allows us to enable the Deployment Protection feature for the
Vercel test projects.
2025-12-08 14:44:41 -08:00
JJ Kasper b29d8a80e0 Revert "fix: import stripping in client mode for step functions (#563)" (#577)
This reverts commit 8b8135fb37.
2025-12-08 14:23:05 -08:00
Adrian 451b67256c docs: fix port getting started for vite and astro (#578) 2025-12-08 14:14:43 -08:00
Adrian 3064fbfa7d fix: force devalue version (#576) 2025-12-08 13:29:15 -08:00