function createWorkloadActionOptions({ requestConsumerTokenServiceOnce, sendRuntimeMessage, appendBackgroundRequestLog, messageTypes }) { async function request(type, workloadId, isCurrent, payload) { const authorizations = await requestConsumerTokenServiceOnce(); if (!isCurrent()) return null; const authorization = authorizations?.workloadActions; if (!authorization?.value) throw new Error("WWB-TS uiaasHeader.value is unavailable."); const result = await sendRuntimeMessage({ type, ...(workloadId === undefined ? {} : { workloadId }), ...(payload ? { payload } : {}), authorization }); appendBackgroundRequestLog(result?.debugRequests || []); if (!result?.ok) throw new Error(result?.error || "Unable to load Action options."); return result; } return { save: (payload, isCurrent) => request(messageTypes.requestMgmtAction, undefined, isCurrent, payload), requestTeamMembers: (id, isCurrent) => request(messageTypes.requestActionTeamMembers, id, isCurrent), requestLookup: isCurrent => request(messageTypes.requestActionFindLookup, undefined, isCurrent) }; }