diff --git a/js/core/src/action.ts b/js/core/src/action.ts index 972b5460ce..9d01e3f798 100644 --- a/js/core/src/action.ts +++ b/js/core/src/action.ts @@ -122,7 +122,9 @@ export function action< ? config.name : `${config.name.pluginId}/${config.name.actionId}`; const actionFn = async (input: I) => { + let sessionStateData: Record | undefined = undefined; if (input?.hasOwnProperty(GENKIT_SESSION_STATE_INPUT_KEY)) { + sessionStateData = input[GENKIT_SESSION_STATE_INPUT_KEY]; input = { ...input }; delete input[GENKIT_SESSION_STATE_INPUT_KEY]; } @@ -141,6 +143,9 @@ export function action< metadata.name = actionName; metadata.input = input; + if (sessionStateData) { + input[GENKIT_SESSION_STATE_INPUT_KEY] = sessionStateData; + } const output = await fn(input); metadata.output = JSON.stringify(output);