From 87bcfe796fe401d858ed9fb76cb26aed5b768258 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 6 Apr 2026 21:02:47 +0100 Subject: [PATCH] fix(check): tighten lobster and webhook mutation types --- extensions/lobster/src/lobster-tool.ts | 6 +++++- extensions/webhooks/src/http.ts | 20 +++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/extensions/lobster/src/lobster-tool.ts b/extensions/lobster/src/lobster-tool.ts index 6b796660cfa..c20129170a0 100644 --- a/extensions/lobster/src/lobster-tool.ts +++ b/extensions/lobster/src/lobster-tool.ts @@ -175,8 +175,12 @@ function parseResumeFlowParams(params: Record): ManagedFlowResu } function formatManagedFlowResult(result: ManagedFlowSuccessResult) { + const envelope = + result.envelope && typeof result.envelope === "object" && !Array.isArray(result.envelope) + ? result.envelope + : { envelope: result.envelope }; const details = { - ...result.envelope, + ...envelope, flow: result.flow, mutation: result.mutation, }; diff --git a/extensions/webhooks/src/http.ts b/extensions/webhooks/src/http.ts index d1f484ee620..f4b8fa3d7d1 100644 --- a/extensions/webhooks/src/http.ts +++ b/extensions/webhooks/src/http.ts @@ -334,15 +334,21 @@ function mapMutationResult( return result; } -function mapFlowMutationResult(result: { - applied: boolean; - code: string; - flow?: Parameters[0]; - current?: Parameters[0]; -}): unknown { +function mapFlowMutationResult( + result: + | { + applied: true; + flow: Parameters[0]; + } + | { + applied: false; + code: string; + current?: Parameters[0]; + }, +): unknown { return mapMutationResult( result.applied - ? { applied: true, flow: toFlowView(result.flow!) } + ? { applied: true, flow: toFlowView(result.flow) } : { applied: false, code: result.code,