type MiddlewareServerFn<TCtxIn, TExtension> = (args) => Promise<unknown>;Defined in: packages/workflow-core/src/types.ts:399
A middleware extends the ctx for downstream middleware + the handler. The function receives the current ctx and a next callable taking { context: TExtension } — the literal context field is what TypeScript anchors on to infer TExtension from the call site.
const requireUser = createMiddleware().server(async ({ ctx, next }) => { const user = await loadUser() return next({ context: { user } }) // downstream ctx is now prev & { user: User } })
TCtxIn
TExtension
TCtxIn
(opts) => Promise<unknown>
Promise<unknown>