@@ -29,7 +29,7 @@ import type { BrowserDownloadsState, BrowserToolbarCommand } from '@sim/desktop-
2929import { createLogger } from '@sim/logger'
3030import { getErrorMessage } from '@sim/utils/errors'
3131import { sleep } from '@sim/utils/helpers'
32- import { isRecordLike , omit } from '@sim/utils/object'
32+ import { isRecordLike , omit , toRecord } from '@sim/utils/object'
3333import type { BrowserWindow , MenuItemConstructorOptions , WebContents , WebFrameMain } from 'electron'
3434import { Menu } from 'electron'
3535import * as cdp from '@/main/browser-agent/cdp'
@@ -1015,7 +1015,7 @@ function raceAgainstWatchdog<T>(
10151015 */
10161016async function activeElementState ( target : PageExecutionTarget ) : Promise < Record < string , unknown > > {
10171017 const state = await execInPage ( target , readActiveElementState , [ ] ) . catch ( ( ) => null )
1018- return isRecordLike ( state ) ? state : { }
1018+ return toRecord ( state )
10191019}
10201020
10211021function requireSnapshotForElementAction ( ) : void {
@@ -1191,7 +1191,7 @@ async function pageActionState(
11911191 resetMutationRevision ,
11921192 elementId ,
11931193 ] ) . catch ( ( ) => null )
1194- return isRecordLike ( state ) ? state : { }
1194+ return toRecord ( state )
11951195}
11961196
11971197function pageEffect (
@@ -2565,7 +2565,7 @@ async function executeToolInner(
25652565 } ,
25662566 }
25672567 return {
2568- ...( isRecordLike ( fallback ) ? fallback : { } ) ,
2568+ ...fallback ,
25692569 trusted,
25702570 ...state ,
25712571 ...combinedObservation ,
@@ -2849,12 +2849,11 @@ async function executeToolInner(
28492849 await sleep ( 50 )
28502850 const state = unwrapPageResult ( await execInPage ( target , readSelectElementState , [ elementId ] ) )
28512851 const effectObserved =
2852- isRecordLike ( selected ) &&
28532852 isRecordLike ( state ) &&
28542853 selected . selected === state . selected &&
28552854 selected . value === state . value
28562855 return {
2857- ...( isRecordLike ( selected ) ? selected : { } ) ,
2856+ ...selected ,
28582857 effectObserved,
28592858 readback : state ,
28602859 ...( ! effectObserved
@@ -2994,7 +2993,7 @@ async function executeToolInner(
29942993 : { } ) ,
29952994 }
29962995 return {
2997- ...( isRecordLike ( result ) ? result : { } ) ,
2996+ ...result ,
29982997 trusted,
29992998 effect,
30002999 possibleEffectObserved,
0 commit comments