2import * as _ from 'lodash-es' 7export const giveMyselfAiPrompt = async (props) => { 8 const {existingGame, sessId, pregenFncRet} = props 9 const playerState = _.get(existingGame, ['playerStates', sessId]) 10 if (!playerState) return 11 const {publicState} = playerState 13 const {myTaskName, playerAlias} = publicState 14 if (myTaskName != 'InitialPrompt') { 15 return // unavoidable race condition if user reloads/double-clicks 19 const {content: taskPrompt, model, costUsd} = pregenFncRet 21 Object.assign(publicState, {myTaskName: 'DrawDescription', gameActiveAt: actionAtMs}) 22 Object.assign(playerState, {taskPrompt, assignedStackName: playerAlias}) 27 const paperStack = /** @type {Record<string, unknown>} */ (getOrSet(existingGame, ['hiddenState', 'paperStacks', playerAlias], {})) 28 Object.assign(paperStack, {responses}) 30giveMyselfAiPrompt.pregenFnc = aiTelePrompt