( metadata: SessionExternalMetadata, )
| 22 | |
| 23 | // Inverse of the push below — restore on worker restart. |
| 24 | export function externalMetadataToAppState( |
| 25 | metadata: SessionExternalMetadata, |
| 26 | ): (prev: AppState) => AppState { |
| 27 | return prev => ({ |
| 28 | ...prev, |
| 29 | ...(typeof metadata.permission_mode === 'string' |
| 30 | ? { |
| 31 | toolPermissionContext: { |
| 32 | ...prev.toolPermissionContext, |
| 33 | mode: permissionModeFromString(metadata.permission_mode), |
| 34 | }, |
| 35 | } |
| 36 | : {}), |
| 37 | ...(typeof metadata.is_ultraplan_mode === 'boolean' |
| 38 | ? { isUltraplanMode: metadata.is_ultraplan_mode } |
| 39 | : {}), |
| 40 | }) |
| 41 | } |
| 42 | |
| 43 | export function onChangeAppState({ |
| 44 | newState, |
no test coverage detected