diff --git a/packages/ws-worker/CHANGELOG.md b/packages/ws-worker/CHANGELOG.md index 5a9e70aee..d68e9fd75 100644 --- a/packages/ws-worker/CHANGELOG.md +++ b/packages/ws-worker/CHANGELOG.md @@ -1,10 +1,17 @@ # ws-worker +## 1.23.1 + +### Patch Changes + +- Even when sending final_dataclip_id, send finalState because it may be used by other consumers + ## 1.23.0 ### Minor Changes - 01a05ff: on send complete, only send final_state for multi-leaf output state. For single-leaf runs, reutrn final_dataclip_id + ## 1.22.3 ### Patch Changes diff --git a/packages/ws-worker/package.json b/packages/ws-worker/package.json index f91d047d5..b089c67b1 100644 --- a/packages/ws-worker/package.json +++ b/packages/ws-worker/package.json @@ -1,6 +1,6 @@ { "name": "@openfn/ws-worker", - "version": "1.23.0", + "version": "1.23.1", "description": "A Websocket Worker to connect Lightning to a Runtime Engine", "main": "dist/index.js", "type": "module", diff --git a/packages/ws-worker/src/events/run-complete.ts b/packages/ws-worker/src/events/run-complete.ts index 0bc4d9073..8840fd2c1 100644 --- a/packages/ws-worker/src/events/run-complete.ts +++ b/packages/ws-worker/src/events/run-complete.ts @@ -25,13 +25,12 @@ export default async function onWorkflowComplete( const payload: RunCompletePayload = { timestamp: timeInMicroseconds(event.time), + final_state: result, ...reason, }; if (isSingleLeaf) { payload.final_dataclip_id = state.leafDataclipIds[0]; - } else { - payload.final_state = result; } try { diff --git a/packages/ws-worker/test/events/run-complete.test.ts b/packages/ws-worker/test/events/run-complete.test.ts index 840ca4ecc..23224dffc 100644 --- a/packages/ws-worker/test/events/run-complete.test.ts +++ b/packages/ws-worker/test/events/run-complete.test.ts @@ -19,7 +19,7 @@ test('should send a run:complete event with final_dataclip_id for single leaf', [RUN_LOG]: () => true, [RUN_COMPLETE]: (evt) => { t.is(evt.final_dataclip_id, 'clip-1'); - t.falsy(evt.final_state); + t.deepEqual(evt.final_state, result); t.falsy(evt.time); }, }); @@ -293,7 +293,7 @@ test('should send final_dataclip_id for a single-leaf workflow', async (t) => { await handleRunComplete(context, event); t.is(completeEvent.final_dataclip_id, 'abc-123'); - t.falsy(completeEvent.final_state); + t.deepEqual(completeEvent.final_state, finalResult); t.is(completeEvent.reason, 'success'); });