You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fe2fd8c
Browse filesBrowse the repository at this point in the historyBrowse files
## Summary & Motivation
Stream infrastructure failures (HTTP/2 session wedges, transport timeouts, non-2xx stream responses) surfaced as plain `Error`, so terminal classification attributed them to customer code as `USER_ERROR`. They now carry a catchable `StreamError` with a `STREAM_ERROR` run error code, attributed to the SDK and retried when transport-level or 5xx.
The v4 events response body is wrapped so a post-header stream failure is classified and reported to the dispatcher recycler — a response header arriving is not yet a successful streamed request.
## Test Plan
Unit tests added across classification, serialization round-trip, the streamer, and the v4 transport; 331 `@workflow/core` and 123 `@workflow/world-vercel` focused tests pass.
Copy file name to clipboardExpand all lines: packages/core/src/describe-error.ts
+17Lines changed: 17 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -85,6 +85,8 @@ const MAX_DELIVERIES_HINT =
85
85
'The workflow queue exceeded its max-delivery budget. This usually indicates a persistent runtime failure — check the most recent stack traces for the underlying cause.';
86
86
constMAX_EVENTS_HINT=
87
87
'The workflow exceeded the maximum number of events per run. This usually means unbounded work in the workflow function — e.g. a loop that keeps creating steps without terminating. Break long-running workflows into child workflows to stay under the limit.';
88
+
constSTREAM_ERROR_HINT=
89
+
'Workflow stream infrastructure failed while reading or writing data. This is an SDK or backend failure, not an error in your workflow code; please retry the run and report persistent failures with the runId.';
88
90
constWORLD_CONTRACT_HINT=
89
91
'The workflow backend returned data that violated the SDK contract. This is not retryable; please report it with the stack trace and runId.';
90
92
constDEPLOYMENT_MISMATCH_HINT=
@@ -144,6 +146,13 @@ export function describeRunError(
0 commit comments