ff-automationv2 2.2.28 → 2.2.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/llmcalls/llmAction.d.ts +9 -4
- package/dist/ai/llmcalls/llmAction.js +214 -42
- package/dist/ai/llmcalls/parseLlmOputput.js +21 -9
- package/dist/ai/llmprompts/promptRegistry.js +15 -0
- package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +48 -11
- package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.js +7 -6
- package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPromptMob.js +14 -13
- package/dist/ai/llmprompts/systemPrompts/errorDescriptionPrompt.js +6 -4
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +125 -67
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +65 -28
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +18 -16
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +13 -13
- package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +26 -15
- package/dist/ai/llmprompts/systemPrompts/otpExtractorPrompt.d.ts +1 -0
- package/dist/ai/llmprompts/systemPrompts/otpExtractorPrompt.js +22 -0
- package/dist/ai/llmprompts/systemPrompts/userStoryToListPrompt.js +1 -1
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +23 -19
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +9 -9
- package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +18 -8
- package/dist/ai/llmprompts/systemPrompts/visionPromptMobile.js +4 -0
- package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.js +10 -9
- package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.js +8 -7
- package/dist/ai/llmprompts/userPrompts/userPrompt.js +8 -8
- package/dist/automation/actions/executor.d.ts +42 -34
- package/dist/automation/actions/executor.js +300 -166
- package/dist/automation/actions/interaction/alert/clickCancelOnAlertPopup.js +4 -4
- package/dist/automation/actions/interaction/alert/clickOkOnAlertPopup.js +4 -4
- package/dist/automation/actions/interaction/alert/enterDataToAlert.js +4 -3
- package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -4
- package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +4 -3
- package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +10 -4
- package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +4 -3
- package/dist/automation/actions/interaction/alert/waitTillAlertIsPresent.js +5 -5
- package/dist/automation/actions/interaction/clear/clear.js +33 -26
- package/dist/automation/actions/interaction/clear/clearAndEnter.js +33 -26
- package/dist/automation/actions/interaction/click/MOB_DoubleTapAtSpecifiedLocation.js +5 -6
- package/dist/automation/actions/interaction/click/click.js +65 -26
- package/dist/automation/actions/interaction/click/clickNtimes.js +29 -24
- package/dist/automation/actions/interaction/click/clickUsingJs.js +12 -12
- package/dist/automation/actions/interaction/click/doubleClick.js +32 -25
- package/dist/automation/actions/interaction/click/rightClick.js +18 -13
- package/dist/automation/actions/interaction/click/tapOnSpecifiedLocation.js +7 -5
- package/dist/automation/actions/interaction/click/waitAndClick.js +29 -27
- package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +2 -2
- package/dist/automation/actions/interaction/elementLessAction/MobCheckIfAppIsClosed.js +14 -9
- package/dist/automation/actions/interaction/elementLessAction/MobRunAppInBackgroundInterface.js +9 -9
- package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.d.ts +0 -3
- package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.js +8 -9
- package/dist/automation/actions/interaction/elementlessActions/getOtp.d.ts +2 -0
- package/dist/automation/actions/interaction/elementlessActions/getOtp.js +101 -0
- package/dist/automation/actions/interaction/elementlessActions/installAPK.js +74 -33
- package/dist/automation/actions/interaction/elementlessActions/isAppInstalled.js +10 -8
- package/dist/automation/actions/interaction/elementlessActions/openAppWithApkFilePath.js +87 -68
- package/dist/automation/actions/interaction/elementlessActions/openMobileApplication.js +8 -6
- package/dist/automation/actions/interaction/elementlessActions/receiveMessageOnEmulator.js +4 -3
- package/dist/automation/actions/interaction/elementlessActions/terminateAppUsingAppPackage.js +8 -6
- package/dist/automation/actions/interaction/elementlessActions/uninstallAPK.js +76 -32
- package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +17 -13
- package/dist/automation/actions/interaction/enterActions/enterInput.js +55 -30
- package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +32 -24
- package/dist/automation/actions/interaction/enterActions/enterUrl.js +22 -17
- package/dist/automation/actions/interaction/enterActions/enterusingJs.js +19 -13
- package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +33 -26
- package/dist/automation/actions/interaction/find/MOB_FindElement.js +37 -21
- package/dist/automation/actions/interaction/find/findElements.js +49 -32
- package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +5 -6
- package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +8 -9
- package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +20 -10
- package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +7 -9
- package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +5 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +20 -9
- package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +7 -8
- package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +7 -8
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +12 -11
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +20 -12
- package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +20 -12
- package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +4 -6
- package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +11 -8
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +12 -11
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +4 -6
- package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +4 -4
- package/dist/automation/actions/interaction/get/getAllBrokenImages.js +4 -4
- package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +4 -4
- package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +5 -5
- package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +4 -4
- package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +5 -5
- package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +5 -5
- package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +5 -5
- package/dist/automation/actions/interaction/get/getAllCookieNames.js +5 -5
- package/dist/automation/actions/interaction/get/getAllCookieValues.js +5 -5
- package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +12 -12
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +12 -12
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +12 -12
- package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +12 -12
- package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -5
- package/dist/automation/actions/interaction/get/getAttribute.js +27 -25
- package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +12 -12
- package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +12 -12
- package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +12 -12
- package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +12 -12
- package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +12 -12
- package/dist/automation/actions/interaction/get/getAudioMediaLength.js +12 -12
- package/dist/automation/actions/interaction/get/getAudioMediaSource.js +12 -12
- package/dist/automation/actions/interaction/get/getBestPracticesScore.js +4 -3
- package/dist/automation/actions/interaction/get/getBrowserCount.js +4 -4
- package/dist/automation/actions/interaction/get/getBrowserVersion.js +4 -4
- package/dist/automation/actions/interaction/get/getCapabilityNames.js +4 -4
- package/dist/automation/actions/interaction/get/getClipBoardText.js +4 -4
- package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +5 -4
- package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +5 -4
- package/dist/automation/actions/interaction/get/getCssValue.js +12 -12
- package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +4 -4
- package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -5
- package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +4 -4
- package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +5 -5
- package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +5 -5
- package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +5 -5
- package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +5 -5
- package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +9 -10
- package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -4
- package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -4
- package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +5 -4
- package/dist/automation/actions/interaction/get/getDriverInstance.js +12 -11
- package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +5 -5
- package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +12 -12
- package/dist/automation/actions/interaction/get/getFullPaintTime.js +5 -5
- package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +4 -4
- package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +4 -4
- package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +12 -12
- package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +4 -4
- package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +11 -10
- package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +4 -4
- package/dist/automation/actions/interaction/get/getListBoxSize.js +12 -12
- package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +90 -44
- package/dist/automation/actions/interaction/get/getLocation.js +32 -31
- package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +4 -4
- package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +4 -4
- package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +4 -4
- package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +4 -4
- package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +4 -4
- package/dist/automation/actions/interaction/get/getOptions.js +12 -12
- package/dist/automation/actions/interaction/get/getPageTitle.js +5 -5
- package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +5 -5
- package/dist/automation/actions/interaction/get/getPwaScore.js +5 -4
- package/dist/automation/actions/interaction/get/getRect.js +26 -23
- package/dist/automation/actions/interaction/get/getScreenshot.js +12 -18
- package/dist/automation/actions/interaction/get/getScreenshotAs.js +27 -32
- package/dist/automation/actions/interaction/get/getSeoScore.js +5 -4
- package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +7 -6
- package/dist/automation/actions/interaction/get/getSingleApiResponse.js +12 -14
- package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +13 -13
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +1 -1
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +21 -17
- package/dist/automation/actions/interaction/get/getSize.js +26 -24
- package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -5
- package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +11 -13
- package/dist/automation/actions/interaction/get/getSystemProperty.js +7 -33
- package/dist/automation/actions/interaction/get/getTagName.js +26 -24
- package/dist/automation/actions/interaction/get/getText.js +28 -25
- package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +12 -12
- package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +5 -5
- package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -4
- package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -5
- package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +5 -5
- package/dist/automation/actions/interaction/get/getValueByCookieName.js +7 -11
- package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +7 -10
- package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +8 -6
- package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +12 -12
- package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +12 -12
- package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +12 -12
- package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +12 -12
- package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +12 -12
- package/dist/automation/actions/interaction/get/getVideoMediaLength.js +12 -12
- package/dist/automation/actions/interaction/get/getVideoMediaSource.js +12 -12
- package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +5 -5
- package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +12 -12
- package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +5 -5
- package/dist/automation/actions/interaction/get/getWrappedElement.js +12 -12
- package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +14 -14
- package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +5 -4
- package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +26 -24
- package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +5 -5
- package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +26 -24
- package/dist/automation/actions/interaction/iframe/switchToDefaultContent.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOff.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOn.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/Break.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/Continue.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOff.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOn.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/HideKeyboard.js +13 -7
- package/dist/automation/actions/interaction/inputlessActions/LockDevice.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/OpenChromeBrowser.js +18 -6
- package/dist/automation/actions/interaction/inputlessActions/OpenNotification.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/ResetApp.js +14 -7
- package/dist/automation/actions/interaction/inputlessActions/RestartCurrentDevice.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsLandscape.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsPortrait.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOff.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOn.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOff.js +5 -5
- package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOn.js +5 -5
- package/dist/automation/actions/interaction/maximize/maximize.js +5 -5
- package/dist/automation/actions/interaction/maximize/minimize.js +5 -5
- package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.d.ts +2 -0
- package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.js +31 -0
- package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.d.ts +2 -0
- package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.js +27 -0
- package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.d.ts +2 -0
- package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.js +31 -0
- package/dist/automation/actions/interaction/mouse/mouseHover.d.ts +2 -0
- package/dist/automation/actions/interaction/mouse/mouseHover.js +36 -0
- package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.d.ts +2 -0
- package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.js +42 -0
- package/dist/automation/actions/interaction/mouse/pressAndHold.d.ts +2 -0
- package/dist/automation/actions/interaction/mouse/pressAndHold.js +47 -0
- package/dist/automation/actions/interaction/navigation/goBack.js +5 -5
- package/dist/automation/actions/interaction/navigation/navigate.js +5 -4
- package/dist/automation/actions/interaction/navigation/refresh.js +5 -5
- package/dist/automation/actions/interaction/pinch/PinchInByPercentMob.js +12 -13
- package/dist/automation/actions/interaction/pinch/PinchOutByPercentMob.js +12 -11
- package/dist/automation/actions/interaction/press/longPress.js +15 -11
- package/dist/automation/actions/interaction/press/mobPressBackKey.js +4 -6
- package/dist/automation/actions/interaction/press/mobPressBackSpaceKey.js +12 -8
- package/dist/automation/actions/interaction/press/mobPressSpaceKey.js +12 -8
- package/dist/automation/actions/interaction/press/pressAnyKey.js +25 -16
- package/dist/automation/actions/interaction/press/pressAnyKeyNTimes.js +23 -14
- package/dist/automation/actions/interaction/press/pressEnterKey.js +21 -14
- package/dist/automation/actions/interaction/press/pressHomeKey.js +16 -9
- package/dist/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.js +20 -15
- package/dist/automation/actions/interaction/scroll/scrollPageToSpecificLocation.js +8 -7
- package/dist/automation/actions/interaction/scroll/scrollToElement.js +18 -13
- package/dist/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.js +20 -15
- package/dist/automation/actions/interaction/set/MOB_SetContext.js +5 -6
- package/dist/automation/actions/interaction/set/MOB_SetEmulatorPowerPercentage.js +5 -6
- package/dist/automation/actions/interaction/set/setClipBoardText.js +13 -13
- package/dist/automation/actions/interaction/shadowDom/shadowDomClick.js +5 -4
- package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +5 -4
- package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +6 -5
- package/dist/automation/actions/interaction/shadowDom/shadowDomUpload.js +13 -9
- package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.js +6 -5
- package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyText.js +6 -5
- package/dist/automation/actions/interaction/swipe/swipeDirectionNTimes.js +12 -10
- package/dist/automation/actions/interaction/swipe/swipeDownToElement.js +13 -10
- package/dist/automation/actions/interaction/swipe/swipeIos.d.ts +2 -0
- package/dist/automation/actions/interaction/swipe/swipeIos.js +52 -0
- package/dist/automation/actions/interaction/swipe/swipeLeftToElement.js +16 -11
- package/dist/automation/actions/interaction/swipe/swipeRightToElement.js +15 -10
- package/dist/automation/actions/interaction/swipe/swipeUpToElement.js +12 -10
- package/dist/automation/actions/interaction/swipe/swipeUpToElementForMWeb.js +16 -13
- package/dist/automation/actions/interaction/swipe/swipeUsingReferenceElement.js +19 -16
- package/dist/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.js +7 -6
- package/dist/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.js +6 -5
- package/dist/automation/actions/interaction/switch/switchToParentWindow.js +6 -6
- package/dist/automation/actions/interaction/switch/switchToTabBasedOnUrl.js +6 -5
- package/dist/automation/actions/interaction/switch/switchToWindowBasedOnURL.js +5 -4
- package/dist/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.js +7 -6
- package/dist/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.js +6 -5
- package/dist/automation/actions/interaction/upload/uploadfile.js +21 -18
- package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +8 -8
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOff.js +7 -7
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOn.js +7 -7
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfAppIsClosed.js +19 -10
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsLocked.js +7 -6
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsUnlocked.js +7 -7
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOff.js +12 -8
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOn.js +12 -8
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsHidden.js +7 -7
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsShown.js +8 -7
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOff.js +8 -7
- package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOn.js +8 -7
- package/dist/automation/actions/interaction/verify/VerifyAccessibilityScore.js +8 -7
- package/dist/automation/actions/interaction/verify/VerifyAllBrokenImages.js +6 -6
- package/dist/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.js +12 -10
- package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.js +19 -19
- package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +35 -53
- package/dist/automation/actions/interaction/verify/VerifyBestPracticesScore.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +5 -4
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +20 -14
- package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.js +28 -25
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +29 -27
- package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +26 -24
- package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +26 -24
- package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.d.ts +2 -0
- package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.js +84 -0
- package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.js +51 -28
- package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +39 -27
- package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.d.ts +2 -0
- package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.js +83 -0
- package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +23 -23
- package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +23 -23
- package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +44 -14
- package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +4 -4
- package/dist/automation/actions/interaction/verify/VerifyIfAudioEnded.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfAudioIsMuted.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPaused.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.js +8 -9
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +5 -4
- package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +5 -5
- package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +14 -14
- package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +5 -4
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +5 -4
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.js +13 -13
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.js +13 -13
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.js +30 -22
- package/dist/automation/actions/interaction/verify/VerifyIfVideoEnded.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfVideoIsMuted.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPaused.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.js +25 -23
- package/dist/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +42 -14
- package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.js +7 -5
- package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +13 -7
- package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +33 -42
- package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyPerformanceScore.js +7 -6
- package/dist/automation/actions/interaction/verify/VerifyPwaScore.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifySeoScore.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyTagName.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +20 -31
- package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +8 -7
- package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +6 -5
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +12 -12
- package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +23 -23
- package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +23 -23
- package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +26 -23
- package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +26 -22
- package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.d.ts +2 -0
- package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.js +85 -0
- package/dist/automation/actions/interaction/verify/verifypartialtext.js +28 -25
- package/dist/automation/actions/interaction/verify/verifytext.js +30 -30
- package/dist/automation/actions/interaction/wait/MOB_WaitTillAllElementsAreInvisible.ts.js +5 -6
- package/dist/automation/actions/interaction/wait/MOB_WaitTillAttributeOfElementContainsString.js +17 -14
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsEnabled.js +12 -11
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsInvisible.js +14 -12
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsSelected.js +12 -11
- package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsVisible.js +15 -13
- package/dist/automation/actions/interaction/wait/MOB_WaitTillStalenessOfElement.js +12 -11
- package/dist/automation/actions/interaction/wait/wait.js +5 -4
- package/dist/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.js +26 -24
- package/dist/automation/actions/interaction/wait/waitTillElementContainsText.js +26 -24
- package/dist/automation/actions/interaction/wait/waitTillElementHasText.js +26 -24
- package/dist/automation/actions/interaction/wait/waitTillElementIsClickable.js +28 -25
- package/dist/automation/actions/interaction/wait/waitTillPresenceOfAllElements.js +32 -22
- package/dist/automation/actions/interaction/wait/waitTillPresenceOfElement.js +26 -24
- package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +160 -0
- package/dist/automation/actions/interface/FireFlinkResponseSchema.js +225 -0
- package/dist/automation/actions/interface/alertActionInterface.d.ts +1 -0
- package/dist/automation/actions/interface/findActionInterface.d.ts +3 -0
- package/dist/automation/actions/interface/getActionInterface.d.ts +76 -66
- package/dist/automation/actions/interface/getOtpInterface.d.ts +15 -0
- package/dist/automation/actions/interface/getOtpInterface.js +2 -0
- package/dist/automation/actions/interface/interactionActionInterface.d.ts +5 -0
- package/dist/automation/actions/interface/mouseActionsinterface.d.ts +51 -0
- package/dist/automation/actions/interface/mouseActionsinterface.js +2 -0
- package/dist/automation/actions/interface/pinchActionInterface.d.ts +7 -0
- package/dist/automation/actions/interface/pressActionInterface.d.ts +4 -0
- package/dist/automation/actions/interface/swipeActionInterface.d.ts +25 -10
- package/dist/automation/actions/interface/verifyActionInterface.d.ts +36 -0
- package/dist/automation/actions/interface/waitActionInterface.d.ts +19 -0
- package/dist/automation/browserSession/initiateBrowserSession.d.ts +1 -1
- package/dist/automation/browserSession/initiateBrowserSession.js +15 -7
- package/dist/automation/cloudSession/initiateCloudSession.js +3 -1
- package/dist/automation/driverState.d.ts +2 -0
- package/dist/automation/driverState.js +4 -0
- package/dist/automation/mobileSession/initiateMobileSession.d.ts +28 -5
- package/dist/automation/mobileSession/initiateMobileSession.js +100 -23
- package/dist/core/constants/allAction.js +6 -1
- package/dist/core/constants/supportedActions.d.ts +1 -0
- package/dist/core/constants/supportedActions.js +19 -8
- package/dist/core/interfaces/actionInterface.d.ts +38 -33
- package/dist/core/interfaces/browserConfigurationInterface.d.ts +0 -4
- package/dist/core/interfaces/browserConfigurationInterface.js +0 -1
- package/dist/core/interfaces/executionDetails.d.ts +6 -3
- package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +26 -17
- package/dist/core/interfaces/llmConfigurationInterface.d.ts +3 -2
- package/dist/core/interfaces/llmResponseInterface.d.ts +11 -10
- package/dist/core/interfaces/promptInterface.d.ts +1 -0
- package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +14 -0
- package/dist/core/interfaces/simplifyAndFlattenInterface.d.ts +5 -0
- package/dist/core/main/SessionManager.d.ts +9 -0
- package/dist/core/main/SessionManager.js +23 -0
- package/dist/core/main/actionHandlerFactory.js +353 -86
- package/dist/core/main/executionContext.d.ts +8 -2
- package/dist/core/main/executionContext.js +94 -4
- package/dist/core/main/runAutomationScript.d.ts +2 -0
- package/dist/core/main/runAutomationScript.js +1003 -276
- package/dist/core/main/stepProcessor.d.ts +2 -1
- package/dist/core/main/stepProcessor.js +8 -3
- package/dist/core/types/browserType.d.ts +3 -3
- package/dist/core/types/browserType.js +2 -2
- package/dist/core/types/messageType.d.ts +13 -0
- package/dist/core/types/messageType.js +15 -0
- package/dist/core/types/promptType.d.ts +2 -1
- package/dist/core/types/promptType.js +1 -0
- package/dist/core/types/scriptTypesType.d.ts +1 -1
- package/dist/core/types/visionllmInputType.d.ts +4 -5
- package/dist/domAnalysis/getRelaventElements.d.ts +5 -1
- package/dist/domAnalysis/getRelaventElements.js +14 -5
- package/dist/domAnalysis/relativeElementsFromDom.d.ts +2 -1
- package/dist/domAnalysis/relativeElementsFromDom.js +66 -1
- package/dist/domAnalysis/searchBest.d.ts +5 -1
- package/dist/domAnalysis/searchBest.js +160 -58
- package/dist/domAnalysis/simplifyAndFlatten.d.ts +3 -2
- package/dist/domAnalysis/simplifyAndFlatten.js +114 -19
- package/dist/fireflinkData/fireflinkLocators/getListOfLocators.d.ts +3 -0
- package/dist/fireflinkData/fireflinkLocators/getListOfLocators.js +26 -12
- package/dist/fireflinkData/fireflinkLocators/{elementsFromHTML.d.ts → parser/getElementsFromHTML.d.ts} +5 -11
- package/dist/fireflinkData/fireflinkLocators/parser/getElementsFromHTML.js +573 -0
- package/dist/fireflinkData/fireflinkLocators/types/locator.d.ts +27 -0
- package/dist/fireflinkData/fireflinkLocators/types/locator.js +2 -0
- package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.d.ts +2 -0
- package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.js +57 -0
- package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.d.ts +19 -0
- package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.js +189 -0
- package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.d.ts +2 -0
- package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.js +183 -0
- package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.d.ts +35 -0
- package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.js +513 -0
- package/dist/fireflinkData/fireflinkLocators/utils/xpath.d.ts +29 -0
- package/dist/fireflinkData/fireflinkLocators/utils/xpath.js +710 -0
- package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.d.ts +135 -0
- package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.js +1628 -0
- package/dist/fireflinkData/fireflinkScript/appendScriptData.d.ts +2 -0
- package/dist/fireflinkData/fireflinkScript/appendScriptData.js +48 -0
- package/dist/fireflinkData/fireflinkScript/scriptGenrationData.d.ts +2 -2
- package/dist/fireflinkData/fireflinkScript/scriptGenrationData.js +18 -24
- package/dist/imageAnalysisMobile/annotatedScreenshotMobile.d.ts +4 -0
- package/dist/imageAnalysisMobile/annotatedScreenshotMobile.js +115 -7
- package/dist/imageAnalysisWeb/annotateScreenshot.js +4 -4
- package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.d.ts +4 -1
- package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.js +15 -17
- package/dist/llmConfig/llmConfiguration.d.ts +4 -3
- package/dist/llmConfig/llmConfiguration.js +48 -18
- package/dist/service/api/fireflinkApi.service.d.ts +1 -1
- package/dist/service/api/fireflinkApi.service.js +1 -2
- package/dist/service/fireflink.service.d.ts +3 -3
- package/dist/service/fireflink.service.js +24 -22
- package/dist/service/kafka/fireflinkKafka.service.d.ts +1 -2
- package/dist/service/kafka/fireflinkKafka.service.js +6 -4
- package/dist/tests/poc.d.ts +0 -1
- package/dist/tests/poc.js +211 -226
- package/dist/tests/test.d.ts +1 -0
- package/dist/tests/test.js +26 -0
- package/dist/tests/test12.d.ts +0 -1
- package/dist/tests/test12.js +65 -467
- package/dist/tests/testkaf.d.ts +0 -1
- package/dist/tests/testkaf.js +51 -55
- package/dist/tests/testss.d.ts +1 -0
- package/dist/tests/testss.js +23 -0
- package/dist/utils/DomExtraction/jsForAttributeInjection.d.ts +2 -0
- package/dist/utils/DomExtraction/jsForAttributeInjection.js +220 -8
- package/dist/utils/InstancesDetails/getInstancesInfo.d.ts +26 -1
- package/dist/utils/InstancesDetails/getInstancesInfo.js +11 -5
- package/dist/utils/browserCap/capability.d.ts +14 -10
- package/dist/utils/browserCap/capability.js +97 -16
- package/dist/utils/frameWorkDetector/frameWorkDetector.d.ts +6 -0
- package/dist/utils/frameWorkDetector/frameWorkDetector.js +43 -0
- package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.d.ts +10 -0
- package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.js +2 -0
- package/dist/utils/helpers/domSanitizer.d.ts +1 -0
- package/dist/utils/helpers/domSanitizer.js +9 -0
- package/dist/utils/helpers/enterActionHelper.d.ts +1 -0
- package/dist/utils/helpers/enterActionHelper.js +25 -5
- package/dist/utils/helpers/platformContext.d.ts +3 -0
- package/dist/utils/helpers/platformContext.js +11 -0
- package/dist/utils/helpers/platformSyntax.d.ts +1 -0
- package/dist/utils/helpers/platformSyntax.js +17 -0
- package/dist/utils/helpers/sameActionsHelper.js +7 -2
- package/dist/utils/helpers/xpathcreation.d.ts +5 -1
- package/dist/utils/helpers/xpathcreation.js +44 -5
- package/dist/utils/iframesExtraction/findElementUsingFF.js +12 -9
- package/dist/utils/iframesExtraction/iframeInterface.d.ts +4 -0
- package/dist/utils/javascript/jsFindElement.d.ts +1 -1
- package/dist/utils/javascript/jsFindElement.js +2 -2
- package/dist/utils/javascript/jsForShadowRoot.d.ts +1 -1
- package/dist/utils/javascript/jsForShadowRoot.js +4 -0
- package/dist/utils/javascript/jsForVision.d.ts +2 -2
- package/dist/utils/javascript/jsForVision.js +17 -5
- package/dist/utils/logger/logData.d.ts +1 -0
- package/dist/utils/logger/logData.js +19 -0
- package/dist/utils/newTab/newTabTracker.js +18 -6
- package/dist/utils/sslConfig/apiCallPatch.d.ts +1 -0
- package/dist/utils/sslConfig/apiCallPatch.js +33 -0
- package/dist/utils/sslConfig/getSecureAgent.d.ts +2 -0
- package/dist/utils/sslConfig/getSecureAgent.js +30 -0
- package/dist/utils/swipe/domSearchHelper.d.ts +1 -1
- package/dist/utils/swipe/domSearchHelper.js +43 -42
- package/dist/utils/swipe/swipeMovement.js +28 -19
- package/dist/utils/workers/LocatorWorkerInterface.d.ts +22 -0
- package/dist/utils/workers/LocatorWorkerInterface.js +2 -0
- package/dist/utils/workers/LocatorWorkerPool.d.ts +13 -0
- package/dist/utils/workers/LocatorWorkerPool.js +89 -0
- package/dist/utils/workers/locatorWorker.d.ts +1 -0
- package/dist/utils/workers/locatorWorker.js +44 -0
- package/package.json +23 -6
- package/dist/automation/actions/interaction/get/getAudioDimension.d.ts +0 -2
- package/dist/automation/actions/interaction/get/getAudioDimension.js +0 -34
- package/dist/automation/actions/interaction/get/getAudioHeight.d.ts +0 -2
- package/dist/automation/actions/interaction/get/getAudioHeight.js +0 -30
- package/dist/automation/actions/interaction/get/getAudioWidth.d.ts +0 -2
- package/dist/automation/actions/interaction/get/getAudioWidth.js +0 -30
- package/dist/automation/actions/interaction/get/getVideoDimension.d.ts +0 -2
- package/dist/automation/actions/interaction/get/getVideoDimension.js +0 -31
- package/dist/automation/actions/interaction/get/getVideoHeight.d.ts +0 -2
- package/dist/automation/actions/interaction/get/getVideoHeight.js +0 -28
- package/dist/automation/actions/interaction/get/getVideoWidth.d.ts +0 -2
- package/dist/automation/actions/interaction/get/getVideoWidth.js +0 -28
- package/dist/fireflinkData/fireflinkLocators/elementsFromHTML.js +0 -514
- package/dist/fireflinkData/fireflinkLocators/typeList.d.ts +0 -1
- package/dist/fireflinkData/fireflinkLocators/typeList.js +0 -33
|
@@ -4,10 +4,10 @@ exports.getActionExtractorPrompt = getActionExtractorPrompt;
|
|
|
4
4
|
async function getActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }) {
|
|
5
5
|
const nlpList = `"GetAllTheOptionsFromListBoxAsTextInSortedOrder", "GetScreenshot", "GetAllTheOptionsFromListBoxAsText", "GetTheFirstSelectedOptionFromListBoxAsText", "GetAllTheSelectedOptionsFromListBoxAsText", "GetAttribute", "GetTagName", "GetListBoxSize",
|
|
6
6
|
"GetWrappedOptionFromListBoxAsText", "GetTextFromListOfWebElements", "GetCssValue", "GetScreenshotAs", "GetFirstSelectedOption", "GetText", "GetOptions", "GetAllSelectedOptions", "GetSize", "GetWrappedElement", "GetRect", "GetLocation",
|
|
7
|
-
"GetXLocationOfWebElement", "GetYLocationOfWebElement", "GetVideoMediaSource", "GetListOfElementsFromLocatorTypeLocatorValue", "GetVideoCurrentSeekTime", "GetVideoMediaLength", "GetVideoDefaultPlaybackRate", "
|
|
8
|
-
"GetAudioDecodedByte", "GetVideoCurrentPlaybackRate", "GetVideoCurrentVolume", "
|
|
7
|
+
"GetXLocationOfWebElement", "GetYLocationOfWebElement", "GetVideoMediaSource", "GetListOfElementsFromLocatorTypeLocatorValue", "GetVideoCurrentSeekTime", "GetVideoMediaLength", "GetVideoDefaultPlaybackRate", "GetAudioCurrentPlaybackRate",
|
|
8
|
+
"GetAudioDecodedByte", "GetVideoCurrentPlaybackRate", "GetVideoCurrentVolume", "GetAudioDefaultPlaybackRate", "GetSingleApiStatusCode", "GetSingleApiResponseTime", "GetAudioCurrentVolume", "GetSingleApiResponse",
|
|
9
9
|
"GetCollectiveApiStatusCode", "GetVideoDecodedByte", "GetDataFromApiResponseForJsonPath", "GetAudioMediaSource", "GetCollectiveApiResponseTime", "GetStatusCodeOfALink", "GetValueFromLocalStorage", "GetHeightOfWebElement", "GetTunnelIdentifier",
|
|
10
|
-
"GetWidthOfWebElement", "GetValueByCookieName",
|
|
10
|
+
"GetWidthOfWebElement", "GetValueByCookieName", "GetHexCodeForGivenXYCoordinatesOfImage", "GetAudioCurrentSeekTime", "GetAudioMediaLength", "GetDateWithGivenFormat",
|
|
11
11
|
|
|
12
12
|
"GetBestPracticesScore", "GetPwaScore", "GetDataFromApiRequestHeaderForJsonPath", "GetSeoScore", "GetValueOfSystemVariable", "GetStringDataFromLocalFile", "GetAccessibilityScore", "GetPerformanceScore", "GetSystemProperty", "GetValueFromXmlPath",
|
|
13
13
|
"RobotGetXLocationOfWebElement", "RobotGetYLocationOfWebElement", "GetSingleApiRequestPayload","GetAllBrokenLinks", "GetHeightOfBrowserWindow", "GetXLocationOfBrowserWindow", "GetAllBrokenLinkCount", "GetWidthOfBrowser", "GetCurrentWindowHandle",
|
|
@@ -24,9 +24,9 @@ Select the perfect matching NLP name from the list that best fits the step's int
|
|
|
24
24
|
**The NLP name must match exactly one value from the approved NLP list. Do not generate or suggest any new NLP names under any condition.**
|
|
25
25
|
|
|
26
26
|
{
|
|
27
|
-
"
|
|
27
|
+
"attributeValue": "Fire-Flink-x",
|
|
28
28
|
"nlpName": "x",
|
|
29
|
-
"
|
|
29
|
+
"inputText":"x",
|
|
30
30
|
"elementType": "x"
|
|
31
31
|
}
|
|
32
32
|
Rules:
|
|
@@ -34,22 +34,24 @@ Rules:
|
|
|
34
34
|
- Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
|
|
35
35
|
- **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
|
|
36
36
|
- **CRITICAL: For media actions (GetVideo..., GetAudio...), ALWAYS prioritize the actual <video> or <audio> element. DO NOT select container <div>, <span> or code block elements that merely contain the media tag as text. If you see a code block and a real media element, choose the real media element.**
|
|
37
|
-
- For some steps you can see two inputs but you need to understand step and send the required
|
|
38
|
-
ex: get the flights matches the flight, Get Single Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up', if they give x-30,y-50 just send 30,50 and for this nlps GetDataFromApiRequestHeaderForJsonPath and Get Data From Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up' For JsonPath - c:jsonpath format than fill
|
|
37
|
+
- For some steps you can see two inputs but you need to understand step and send the required inputText. inputText can be string, number, url or xpath.
|
|
38
|
+
ex: get the flights matches the flight, Get Single Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up', if they give x-30,y-50 just send 30,50 and for this nlps GetDataFromApiRequestHeaderForJsonPath and Get Data From Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up' For JsonPath - c:jsonpath format than fill inputText in this order "https://app.talentscan.ai/login,https://app.talentscan.ai/sign up,c:jsonpath"
|
|
39
39
|
here keyword : "flights" , input : "flight", here input:"https://app.talentscan.ai/login,https://app.talentscan.ai/sign up" first input is url and second input is request url
|
|
40
|
-
- If step is about getting text from list of web elements from locator type locator value then always follow this format first type next value
|
|
41
|
-
and also If a step is about getting value from element or some kind of locator type then provide the input in the format
|
|
42
|
-
- If step is about getting attribute value then map to attribute nlps and
|
|
43
|
-
- if step is about tag name then
|
|
40
|
+
- If step is about getting text from list of web elements from locator type locator value then always follow this format first type next value inputText: "locator_type, locator_value". if they didn't give locator type then based on locator value find locator type.
|
|
41
|
+
and also If a step is about getting value from element or some kind of locator type then provide the input in the format inputText: "locator_type, locator_value".
|
|
42
|
+
- If step is about getting attribute value then map to attribute nlps and inputText: "attribute_name".
|
|
43
|
+
- if step is about tag name then inputText: "tag name". and if step is about getting tag name and with count then inputText: "tag name,count".
|
|
44
44
|
- if step is about getting screenshot of element then than map to GetScreenshotAs.
|
|
45
|
-
- If step is
|
|
46
|
-
- If a step refers to location, use X-location or Y-location NLP only when X or Y is explicitly mentioned; otherwise
|
|
45
|
+
- If step is mapped to GetTunnelIdentifier nlp than inputText must have 4 values separated by comma.first will be datacenter second will be username third will be access key and fourth will be tunnel id. they must follow this order. if they miss any value than return all values except that value.
|
|
46
|
+
- If a step refers to location, use "X-location" or "Y-location" NLP only when "X" or "Y" is explicitly mentioned; otherwise it should be "GetLocation" NLP.
|
|
47
47
|
- if step is about getting options than map to option nlps.
|
|
48
|
-
- for nlp GetBestPracticesScore,GetPwaScore and GetSeoScore
|
|
48
|
+
- for nlp GetBestPracticesScore,GetPwaScore and GetSeoScore inputText must have 2 values separated by comma.first will be url second will be device type. they must follow this order. if they miss any value than return all values except that value.
|
|
49
|
+
- If the step is about to get any api response, status code or anything related to api then in input Text give me url of that api and also the target url in the format "url,target_url".
|
|
49
50
|
- If no explicit option is mentioned in the step, map it to the most relevant non-option getting NLP based on the intent of the step.
|
|
50
|
-
- Extract
|
|
51
|
-
- Use the closest semantic match for the step; return
|
|
51
|
+
- Extract inputText from the step that is which is being getting in the step, if you can't find any input text in the step, return keyword as inputText.
|
|
52
|
+
- Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.and never return Fire-Flink-x.
|
|
52
53
|
- Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
|
|
54
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
53
55
|
- **Respond with valid JSON only. don't return any other text* or or don't return response in list format*.
|
|
54
56
|
`;
|
|
55
57
|
return prompt;
|
|
@@ -5,10 +5,10 @@ async function getActionExtractorPromptMob({ extractedDomJson, priorAndNextSteps
|
|
|
5
5
|
const nlpList = `"MOB_GetDeviceLocation","MOB_GetBatteryPercentage","MOB_GetLongitude","MOB_GetAltitude","MOB_GetLatitude",
|
|
6
6
|
"MOB_GetCurrentDeviceDate","MOB_GetMinuteFromCurrentDeviceTime","MOB_GetCurrentAppPackage","MOB_GetAllContexts",
|
|
7
7
|
"MOB_GetHourFromCurrentDeviceTime","MOB_GetSecondFromCurrentDeviceTime","MOB_GetSupportedPerformanceDataTypes",
|
|
8
|
-
"MOB_GetCurrentOrientation","MOB_GetCurrentDeviceTime","MOB_GetCurrentContext","MOB_GetCurrentDeviceSettings","GetCurrentSystemDay",
|
|
8
|
+
"MOB_GetCurrentOrientation","MOB_GetCurrentDeviceTime","MOB_GetDriverInstance","MOB_GetCurrentContext","MOB_GetCurrentDeviceSettings","GetCurrentSystemDay",
|
|
9
9
|
"MOB_GetClipBoardText","GetCurrentSystemMonth","MOB_GetCurrentDeviceStatus","MOB_GetSizeOfScreen","MOB_GetAllWindowHandles","MOB_GetWidthOfScreen",
|
|
10
10
|
"MOB_GetBatteryStatus","MOB_GetCurrentActivity","MOB_GetDeviceOsVersion","MOB_GetDeviceUdid","MOB_GetDeviceName","MOB_GetImplicitTimeOut",
|
|
11
|
-
"
|
|
11
|
+
"MOB_GetCurrentWindowHandle","MOB_GetCurrentSessionId","MOB_GetHeightOfScreen","MOB_GetCurrentDeviceSystemBars",
|
|
12
12
|
"MOB_GetAttributeValueFromListOfWebElements","MOB_GetTagName","MOB_GetListOfElementsFromLocatorTypeLocatorValue","MOB_GetScreenshot","MOB_GetTextFromElementAndSetToClipBoard",
|
|
13
13
|
"MOB_GetHeightOfElement","MOB_GetTextFromListOfWebElements","MOB_GetHexCodeForGivenXYCoordinatesOfImage","MOB_GetADBLogsForGivenAppPackage","MOB_GetScreenshotOfElement","MOB_GetWidthOfElement",
|
|
14
14
|
"MOB_GetX", "MOB_GetLocation","MOB_GetY","MOB_GetPerformanceData","MOB_GetRect","MOB_GetText","GetSize","MOB_GetAttribute"`;
|
|
@@ -20,30 +20,30 @@ Select the perfect matching NLP name from the list that best fits the step's int
|
|
|
20
20
|
|
|
21
21
|
Return **only valid JSON** in the following format:
|
|
22
22
|
{
|
|
23
|
-
"
|
|
23
|
+
"attributeValue": "Fire-Flink-x",
|
|
24
24
|
"nlpName": "x",
|
|
25
|
-
"
|
|
26
|
-
"keyword": "x",
|
|
25
|
+
"inputText":"x",
|
|
27
26
|
"elementType": "x",
|
|
28
27
|
"locator_type": "x",
|
|
29
|
-
"
|
|
28
|
+
"attributeType": "x"
|
|
30
29
|
}
|
|
31
30
|
Rules:
|
|
32
31
|
- nlpName must be exactly one from the provided list.
|
|
33
|
-
- for screenshots, extract the
|
|
34
|
-
- Use context from the steps : ${priorAndNextSteps},
|
|
32
|
+
- for screenshots, extract the inputText from the step. like what they what to name image.if not present then leave it empty.
|
|
33
|
+
- Use context from the steps : ${priorAndNextSteps}, json to search for FF-inspecter.
|
|
35
34
|
- **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
|
|
36
|
-
- Extract
|
|
35
|
+
- Extract inputText from the step, if you can't find any input text in the step leave it empty.
|
|
37
36
|
ex:Fetch the ADB logs for the abhibus
|
|
38
37
|
here input: abhibus
|
|
39
|
-
-
|
|
38
|
+
- **Extract inputText from the step that is which need to be get in the step ,if they mention anything in string it can be one or two values take it as input text. ex:get elements for this locator type and value 'name,login' ,inputtext:'name,login'.**
|
|
40
39
|
- Extract keyword from the step, if the step contains any keyword.
|
|
41
|
-
- Use the closest semantic match for the step; return
|
|
40
|
+
- Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
|
|
42
41
|
- if step is get location of device or get device location then map to MOB_GetDeviceLocation nlp.
|
|
43
42
|
- Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
|
|
44
|
-
- Extract
|
|
45
|
-
-
|
|
43
|
+
- Extract locatorType if mentioned in the step, like(text,resource-id,content-desc,xpath)
|
|
44
|
+
- If attribute is mentioned in step then Extract attributeType from the step, like (text,resource-id,content-desc,className) and should map to attribute containing nlp only.
|
|
46
45
|
- if the step is getText or getTextFromElement map to MOB_GetText nlp similarly for getSize or GetSizeOfElement map to MOB_GetSize.
|
|
46
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
47
47
|
- Respond with valid JSON only.
|
|
48
48
|
`;
|
|
49
49
|
return prompt;
|
|
@@ -2,34 +2,45 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.keywordExtractorMobile = keywordExtractorMobile;
|
|
4
4
|
async function keywordExtractorMobile({ priorAndNextSteps }) {
|
|
5
|
-
const allowedActions = ["openApp", "tap", "enter", "wait", "verify", "scroll", "get", "
|
|
5
|
+
const allowedActions = ["openApp", "tap", "enter", "wait", "verify", "scroll", "get", "closeApp", "combined", "switchToWeb", "getOtp", "enterOtp"];
|
|
6
6
|
const prompt = `
|
|
7
7
|
You are an expert in mobile app testing.
|
|
8
8
|
From the step, extract ONLY the meaningful keywords so that i can search for the element in the dom.
|
|
9
9
|
Rules:
|
|
10
10
|
- understand the step and context from the ${priorAndNextSteps}.and only extract keywords from current step and dont extract from prior and next steps.
|
|
11
11
|
- 3 to 5 keywords maximum.
|
|
12
|
-
- If step
|
|
13
|
-
- If the step is about
|
|
14
|
-
and also give them in the format (launch app, 'com.app.android', 'com.app.activity') like first package name and second activity name. if any separator exists (- / | :), split on it.
|
|
15
|
-
If they mention package:com.app.android and activity:com.app.activity remove variable name and then convert them into ['com.app.android, 'com.app.activity']
|
|
16
|
-
- If the step is about entering text, Do NOT include entered input values from the step in keywords.
|
|
12
|
+
- If step is contains more than one keyword like tap on x button of y ,then include both in keywords like this [x,y].and include full keywords rather than insering part of it.
|
|
13
|
+
- If the step is about entering text, Should NOT include entered input values from the step in keywords.
|
|
17
14
|
- First keywords should be from step next Keywords must be distinct and based on the element's label meaning only.
|
|
18
15
|
- **Keywords can be string or number if the step contains a number it can be any number,must include that number in keywords and give it in string format.**
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
16
|
+
- If the step is about launching an app or opening app and if it has capbilities add them in keywords like ["key1:value1","key2:value2"...] and if step has app package and app activity without capability names like this 'com.app.android', 'com.app.activity' in keywords add with capability names
|
|
17
|
+
- For the Open App / Launch App action, if the user mentions any Android app capability, extract it into the keywords array as a key-value pair using the exact format "<capability>:<value>".
|
|
18
|
+
- The only allowed Android capabilities are:
|
|
19
|
+
- "app" - APK/app path
|
|
20
|
+
- "appPackage" - Android application package name
|
|
21
|
+
- "appActivity" - Android activity name
|
|
22
|
+
- "noReset" - whether the app state should be reset
|
|
23
|
+
- "fullReset" - whether a complete reset should be performed
|
|
24
|
+
- "autoGrantPermissions" - whether applicable Android runtime permissions should be automatically granted
|
|
25
|
+
- Every capability mentioned by the user MUST be returned as a key-value pair and capability name must be in above capability names, Never return a capability without its value.
|
|
26
|
+
- if step has keyword with type give two keywords with type and without type. ex: tap on leaving from text field. keywords = ["leaving from",leaving from text field].
|
|
27
|
+
- Should NOT include any other unrelated keywords for step.
|
|
28
|
+
- Should NOT include generic UI words (button, field, etc) and action words (tap, click, press, etc).example:tap on x button -> ['x']
|
|
29
|
+
- Should NOT include status/technical words (displayed, enabled, authenticate, visible).
|
|
30
|
+
- If the step is for the switching to web then provide the action as the switchToWeb
|
|
22
31
|
- If an element label contains multiple words (e.g., "Sign In", "Add to Cart"), keep them together as ONE keyword and do not split them and also for keywords you generated, do not split them.
|
|
23
32
|
-** element_name: extract name of the element that mentioned in the step not from keywords or other steps.(eg:tap on x -> element_name:x). always try to retuen short and meaning full element name from step**
|
|
24
|
-
- action: openApp for opening or launching of app, tap for taping or selecting or clicking or pressing, enter for entering input, wait for waiting or sleeping, verify for verifying or checking,
|
|
25
|
-
- If step is press any key give action as tap.
|
|
26
|
-
- action must be one of from this list ${allowedActions}.if not one of them, return action as 'combined'. if step about set or
|
|
27
|
-
- if the step action is about finding then provide action as combined.
|
|
33
|
+
- action: openApp for opening or launching of app and activate app is there in step give action as combined, tap for taping or selecting or clicking or pressing, enter for entering input, wait for waiting or sleeping, verify for verifying or checking,scroll for scrolling and swiping, get for getting and fetching element and gtting logs and getting driver or instance details, closeApp for closing the app but not for terminating app step.
|
|
34
|
+
- If step is press any key give action as tap.if step is clear or clearandenter give action as enter and if step is open chrome browser app por application and it doesnot have app package or bundle id give action as combined but if step has app package or bundle id give action as openApp.
|
|
35
|
+
- action must be one of from this list ${allowedActions}.if not one of them, return action as 'combined'. if step about set or setting or find, install apk or ipa, uninstall apk or ipa,activate app with app package or bundle id, pinch in or pinch out or related turn wifi or airplane mode return action as 'combined'
|
|
36
|
+
- if the step action is about finding or check app is installed or open chrome browser or open notification bar or terminate app using app package or bumdle id or running app in the background for some seconds then provide action as combined.
|
|
37
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
28
38
|
Respond only with JSON using this format:
|
|
29
39
|
{
|
|
30
|
-
"keywords": [key1,key2,key3,key4,key5] if step is opening app then keywords should be like [
|
|
40
|
+
"keywords": [key1,key2,key3,key4,key5] if step is opening app then keywords should be like ["key1:value1","key2:value2"...],
|
|
31
41
|
"elementName": "x",
|
|
32
|
-
"action": "x"
|
|
42
|
+
"action": "x",
|
|
43
|
+
"liveLog": "Should Generate a short, human-readable description of what the AI is about to do.for open app dont include whole step jsut give Opening app",
|
|
33
44
|
}
|
|
34
45
|
|
|
35
46
|
No other text.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function otpExtractorPrompt(): Promise<string>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.otpExtractorPrompt = otpExtractorPrompt;
|
|
4
|
+
async function otpExtractorPrompt() {
|
|
5
|
+
return `
|
|
6
|
+
You extract one-time passwords (OTPs) from SMS messages and also the provider of the regex to extract that OTP from the message.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Return only valid JSON in exactly this format:
|
|
10
|
+
{
|
|
11
|
+
"otp": ""
|
|
12
|
+
"regex":""
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
Rules:
|
|
16
|
+
- Extract only the OTP/code stated in the supplied SMS body.
|
|
17
|
+
- Do not infer, generate, or guess an OTP.
|
|
18
|
+
- If no single unambiguous OTP is present, return an empty string.
|
|
19
|
+
- Return the regex that can be used to extract that OTP number itself from that message body also don't include any text only give the expression.
|
|
20
|
+
- Return no text, Markdown, or keys other than "otp".
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
@@ -17,7 +17,7 @@ Rules:
|
|
|
17
17
|
4. Please paste the “below example array” here, so I can make it dynamic and generic strictly in the same format.
|
|
18
18
|
**Dont include any other text in the array. and also dont include example array in the response.**
|
|
19
19
|
Output Format
|
|
20
|
-
|
|
20
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
21
21
|
Respond strictly in valid JSON using the following structure:
|
|
22
22
|
{
|
|
23
23
|
"manualSteps": ["step 1", "step 2", "step 3"]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.verifyActionExtractorPrompt = verifyActionExtractorPrompt;
|
|
4
4
|
async function verifyActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }) {
|
|
5
|
-
const nlpList = `VerifyElementIsDisabled,VerifyElementIsEnabled,VerifyElementIsSelected,VerifyIfOptionWithIndexIsDeselectedInElement,
|
|
5
|
+
const nlpList = `VerifyNumberOfElementsByXpath,VerifyElementIsDisabled,VerifyElementIsEnabled,VerifyElementIsSelected,VerifyIfOptionWithIndexIsDeselectedInElement,
|
|
6
6
|
VerifyIfOptionWithIndexIsSelectedInListBox,VerifyWidthOfElement,VerifyBrowserWindowXLocation,
|
|
7
7
|
VerifyIfCookieNameIsDeleted,VerifyBrowserWindowWidth,VerifyValueOfElementIsCleared,
|
|
8
8
|
VerifyTagName,VerifyIfCookieNameIsAdded,VerifyLinkNavigatesToTitle,VerifyXLocationOfElement,
|
|
@@ -10,7 +10,7 @@ async function verifyActionExtractorPrompt({ extractedDomJson, priorAndNextSteps
|
|
|
10
10
|
VerifyNumberOfElementsByTagName,VerifyListBoxOptionsAreSorted,VerifyNavigateURL,
|
|
11
11
|
VerifyHeightOfWebElement,VerifyValueOfElementContainsString,VerifyBrowserWindowHeight,VerifyIfLinksAreBroken,
|
|
12
12
|
VerifyIfLinkIsBroken,VerifyValueOfElementIsString,VerifyYLocationOfElement,
|
|
13
|
-
|
|
13
|
+
VerifyAttributeValue,
|
|
14
14
|
VerifyElementIsDisplayed,VerifyAllOptionsAreSelected,VerifyIfOptionWithValueIsDeselected,
|
|
15
15
|
VerifyBrowserWindowTitleContainsString,VerifyBrowserWindowTitleIsString,
|
|
16
16
|
VerifyTitleOfCurrentPage,VerifyPartialTitleOfCurrentPage,VerifyElementIsNotDisplayed,
|
|
@@ -28,7 +28,7 @@ async function verifyActionExtractorPrompt({ extractedDomJson, priorAndNextSteps
|
|
|
28
28
|
VerifyIfAudioIsPlaying,VerifyIfAudioIsPaused,VerifyIfAudioIsMuted,VerifyIfAudioEnded,
|
|
29
29
|
VerifyIfLinkIsWorking,VerifyIfLinksAreWorking,
|
|
30
30
|
VerifyIfImageIsBroken,VerifyAllBrokenImages,VerifyIfStatusCodeOfALinkIsStatusCode,
|
|
31
|
-
|
|
31
|
+
VerifyIfStatusCodeOfAllLinksIsStatusCode,VerifyIfOptionWithVisibleTextIsSelected,VerifyBrowserWindowUrlIsString,
|
|
32
32
|
VerifyIfOptionWithTextIsDeselected,VerifyPerformanceScore,VerifyAccessibilityScore,VerifyBrowserWindowUrlContainsExpectedUrl,
|
|
33
33
|
VerifyBestPracticesScore,VerifySeoScore,VerifyPwaScore,VerifyHexCodeForGivenXYCoordinates`;
|
|
34
34
|
const elementType = ['link', 'textfield', 'icon', 'button', 'radioButton', 'text', 'textarea', 'image', 'dropdown', 'checkbox', 'tab', 'action overflow button', 'hamburger icon', 'toggle button', 'suggestion', 'time picker', 'date picker', 'toaster message', 'card', 'tooltip', 'option', 'calender', 'sliders', 'visual testing'];
|
|
@@ -39,37 +39,41 @@ Given the step, the simplified DOM: ${extractedDomJson}, and the list of NLP nam
|
|
|
39
39
|
Select the perfect matching NLP name from the list that best fits the step's intent.
|
|
40
40
|
**The NLP name must match exactly one value from the approved NLP list. Do not generate or suggest any new NLP names under any condition.**
|
|
41
41
|
step may give any way,you need to get most matching and most related nlp name from the list that relates to step.
|
|
42
|
-
for these nlp's VerifyIfSpecifiedOptionIsSelected,VerifyThatSpecifiedOptionIsNotSelected,VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected,in step if they mention word value then only match with these VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected.Otherwise go with specified option nlp's.
|
|
42
|
+
for these nlp's VerifyIfSpecifiedOptionIsSelected,VerifyThatSpecifiedOptionIsNotSelected,VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected,in step if they mention word value then only match with these VerifyIfOptionWithValueIsSelected,VerifyIfOptionWithValueIsDeselected.Otherwise go with specified option nlp's. and only select tags for these nlp's from the given tag list.
|
|
43
43
|
if step is verify option with index is deselected map to VerifyIfOptionWithIndexIsDeselectedInElement and if step is verify option with index is selected then map to VerifyIfOptionWithIndexIsSelectedInListBox.
|
|
44
44
|
example: verify if email element is present
|
|
45
45
|
nlp name should be VerifyElementIsDisplayed
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
47
|
+
Return **only valid JSON** in the following format:
|
|
48
48
|
{
|
|
49
|
-
"
|
|
49
|
+
"attributeValue": "Fire-Flink-x",
|
|
50
50
|
"nlpName": "x",
|
|
51
|
-
"
|
|
51
|
+
"inputText":"x",
|
|
52
52
|
"elementType": "x"
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
Rules:
|
|
56
56
|
- nlpName must be exactly one from the provided list.
|
|
57
|
+
- URL steps (check in order, stop at first match): "title" mentioned → VerifyLinkNavigatesToTitle | contains/includes → VerifyUrlContainsExpectedUrl (if step says "browser"/"window"/"tab" url → VerifyBrowserWindowUrlContainsExpectedUrl instead) | literal word "exactly" or "equals" present → VerifyUrlIsString (if step says "browser"/"window"/"tab" url → VerifyBrowserWindowUrlIsString instead) | everything else, including plain "is"/"navigated to" phrasing → VerifyNavigateURL.
|
|
58
|
+
example: "verify navigated url is x" → VerifyNavigateURL ("is" here is just a linking verb, not the keyword "exactly"/"equals")
|
|
59
|
+
-while matching nlpName with step (ignore spaces, case differences).If multiple NLPs are similar, choose the MOST SPECIFIC and EXACT match.
|
|
57
60
|
- Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
|
|
58
61
|
- **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or any other attributes best match the step in the simplified DOM.**
|
|
59
|
-
- For some steps you can see two inputs but you need to understand step and send the required
|
|
60
|
-
ex: Verify the flights matches the flight, Verify the home has 30 and 50 coordinates if they give x-30,y-50 just send 30,50 and verify hex code '#FFFFFF' for given (34,11) coordinates or they will give x-34,y-11 hexcode-#FFFFFF format than fill
|
|
62
|
+
- For some steps you can see two inputs but you need to understand step and send the required inputText. inputText can be string, number, url or xpath.
|
|
63
|
+
ex: Verify the flights matches the flight, Verify the home has 30 and 50 coordinates if they give x-30,y-50 just send 30,50 and verify hex code '#FFFFFF' for given (34,11) coordinates or they will give x-34,y-11 hexcode-#FFFFFF format than fill inputText in this order "#FFFFFF,34,11"
|
|
61
64
|
here keyword : "flights" , input : "flight", here input:"30,50" , here input:"#FFFFFF,34,11"
|
|
62
|
-
- If step is about checking attribute value then map to attribute nlps and
|
|
63
|
-
and also If a step requires comparing two values, provide the input in the format
|
|
64
|
-
- if step is about tag name then
|
|
65
|
-
- if step is about verifying location then
|
|
66
|
-
- If
|
|
65
|
+
- If step is about checking attribute value then map to attribute nlps and inputText: "attribute_name,element_name" here attribute_name can be id,text,href etc not fire-flink-x. inputText should be in this format.if they mention css attribute value then inputText should be "css_property,expected_value" from the step only.
|
|
66
|
+
and also If a step requires comparing two values, provide the input in the format inputText: "value1,value2".
|
|
67
|
+
- if step is about tag name then inputText: "tag name". and if step is about verifying tag name and with count then inputText: "tag name,count". and if any step is about verifying number of elements with xpath then inputText should be "xpath,count"
|
|
68
|
+
- if step is about verifying location then inputText: "coordinates".
|
|
69
|
+
- If the step requires verifying text from an element, only select elements capable of containing text. Do not select image or image-related elements (e.g., img, svg, picture, source).
|
|
67
70
|
- If no explicit option is mentioned in the step, map it to the most relevant non-option verification NLP based on the intent of the step.
|
|
68
|
-
- **Extract
|
|
71
|
+
- **Extract inputText from the step that is which is being verified in the step, if you can't find any input text in the step, return keyword as inputText.**
|
|
69
72
|
if step is verifying value of element then extract value which is being verified only not any other words in the step.
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
+
- Only for VerifyIfStatusCodeOfAllLinksIsStatusCode extract all links given in step and give in inputText as '[link1,link2,link3...],statusCode'
|
|
74
|
+
- For performance and accessibility score extraction from step, use the inputs from step: [url,device,score] should be in this order. if any input is missing send remining inputs from step itself.
|
|
75
|
+
- if no matching element found for the step return attributeValue as only 'Fire-Flink-0' dont give Fire-Flink-x or any string .
|
|
76
|
+
- Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
|
|
73
77
|
- **Respond with valid JSON only. don't return any other text or don't return response in list format**
|
|
74
78
|
`;
|
|
75
79
|
return prompt;
|
|
@@ -20,10 +20,9 @@ Select the perfect matching NLP name from the list that best fits the step's int
|
|
|
20
20
|
|
|
21
21
|
Return **only valid JSON** in the following format:
|
|
22
22
|
{
|
|
23
|
-
"
|
|
23
|
+
"attributeValue": "Fire-Flink-x",
|
|
24
24
|
"nlpName": "x",
|
|
25
|
-
"
|
|
26
|
-
"keyword": "x",
|
|
25
|
+
"inputText":"x"
|
|
27
26
|
"elementType": "x",
|
|
28
27
|
"locator_type":"x"
|
|
29
28
|
}
|
|
@@ -31,21 +30,22 @@ Rules:
|
|
|
31
30
|
- nlpName must be exactly one from the provided list.
|
|
32
31
|
- Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
|
|
33
32
|
- **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
|
|
34
|
-
- For some steps you can see two inputs but you need to uderstand step and send the requred
|
|
33
|
+
- For some steps you can see two inputs but you need to uderstand step and send the requred inputText.
|
|
35
34
|
ex: Verify the flights matches the flight,Verify the home has 30 and 50 coordinates
|
|
36
35
|
here keyword : "flights" , input : flight, here input:30,50
|
|
37
|
-
- If step mention time and element name then
|
|
36
|
+
- If step mention time and element name then inputText should be time.
|
|
38
37
|
example: Verify the home is displayed for 30 seconds
|
|
39
|
-
here keyword : "home" , input :
|
|
38
|
+
here keyword : "home" , input : 30 only they mention seconds as input in step
|
|
40
39
|
- If step mention verify text then only pick MOB_VerifyText nlp otherwise pick MOB_VerifyElementIsDisplayed.
|
|
41
40
|
- If step mention verify x and y coordinate of element then only pick MOB_VerifyIfXAndYCoordinateOfElement.
|
|
42
|
-
- Extract
|
|
41
|
+
- Extract inputText from the step that is which is being verified in the step if they mention verifying two values in inputs take as it is,if they mention one value take only that as input text, if you can't find any input text in the step, return keyword as inputText.
|
|
43
42
|
- if the step is about checking the element is displayed then pick MOB_CheckIfElementIsDisplayed nlp.
|
|
44
|
-
- For MOB_VerifyHeightOfElement just provide height mentioned in the step as the
|
|
43
|
+
- For MOB_VerifyHeightOfElement just provide height mentioned in the step as the inputText don't add anything else
|
|
45
44
|
- Extract keyword from the step, if the step contains any keyword.
|
|
46
|
-
- Use the closest semantic match for the step; return
|
|
45
|
+
- Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
|
|
47
46
|
- Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
|
|
48
47
|
- Extract locator_type if mentioned in the step, like(text,resource-id,content-desc) . if not found return 'empty'.
|
|
48
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
49
49
|
- Respond with valid JSON only.
|
|
50
50
|
`;
|
|
51
51
|
return prompt;
|
|
@@ -5,17 +5,27 @@ async function visionPrompt({ priorAndNextSteps }) {
|
|
|
5
5
|
const customPromptText = `
|
|
6
6
|
You are a precise automation assistant.
|
|
7
7
|
Context: ${priorAndNextSteps}
|
|
8
|
+
|
|
9
|
+
- **Do not provide any additional text or explanation. The output must be strictly in this formate only Fire-Flink-x.**
|
|
8
10
|
- Use the context to understand the step and select the closest semantic match to Step and return only its index, else Fire-Flink-0.
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- Match the
|
|
11
|
+
- Using the provided annotated screenshot and Step, identify the correct target element from the image.
|
|
12
|
+
- First identify the target element that matches the Step using its text, action, role, or visual characteristics.
|
|
13
|
+
- Match the text or action described in Step to the correct target element as accurately as possible.
|
|
14
|
+
- Check the color and the arrow/connector in the screenshot to map the target element to its Fire-Flink index.
|
|
15
|
+
- **The annotation arrow/connector is the primary source of truth for mapping the target element to its Fire-Flink index. First identify the target element, then trace its annotation arrow/connector to the corresponding Fire-Flink number.**
|
|
16
|
+
- **Do not select an index based only on the physical position or proximity of the number to the target element.**
|
|
17
|
+
- **In crowded screenshots, Fire-Flink index numbers may overlap, appear inside other elements, or be close to unrelated elements. Ignore the number's physical position and follow the annotation arrow/connector to determine which index belongs to the target element.**
|
|
18
|
+
- Use color as a secondary confirmation when tracing the annotation arrow/connector.
|
|
12
19
|
- Allow partial and case-insensitive matching. If a clear match exists, return its index.
|
|
13
|
-
-
|
|
14
|
-
- **
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
- If the Chosen element has more than one index has been provided for it, return the index that smaller in number.
|
|
21
|
+
- **If u can't find the element OR the target element's annotation cannot be reliably mapped to a numbered Fire-Flink index, return Fire-Flink-0. Do not return any other element's index.**
|
|
22
|
+
- Return only the Fire-Flink-x for the target element.
|
|
23
|
+
- if the element that is related to step is there in image but it does not have any bounding box around it, dont give random fire flink index number by asssuming the position, return only "Fire-Flink-0".
|
|
24
|
+
-**return only "Fire-Flink-0" If given image does not have color bounding boxes around elements or if image is not even loaded fully.**
|
|
25
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
18
26
|
|
|
27
|
+
Respond only with JSON using this format:
|
|
28
|
+
{"fireflinkIndex": "Fire-Flink-x" | "Fire-Flink-0"}
|
|
19
29
|
`.trim();
|
|
20
30
|
return customPromptText;
|
|
21
31
|
}
|
|
@@ -4,6 +4,7 @@ exports.visionPromptMobile = visionPromptMobile;
|
|
|
4
4
|
async function visionPromptMobile({ priorAndNextSteps }) {
|
|
5
5
|
const customPromptText = `
|
|
6
6
|
You are a precise mobile automation assistant.
|
|
7
|
+
- **Do not provide any additional text or explanation. The output must be strictly in this formate only Fire-Flink-x.**
|
|
7
8
|
- You are given an image containing multiple elements outlined with bounding boxes.Each bounding box has a small black index number label drawn above it (like 1, 2, 3...).
|
|
8
9
|
- Do not treat numbers appearing in the step as index numbers.if any number appears in the step it is not an index number.
|
|
9
10
|
- Use the context from the all steps ${priorAndNextSteps}
|
|
@@ -14,6 +15,9 @@ You are a precise mobile automation assistant.
|
|
|
14
15
|
- Return the **index** number as shown in the image (1-based).
|
|
15
16
|
- if there are two elements that match step and one have box and other doesn't have box then prefer the one with box and return that index number.
|
|
16
17
|
- if no correct element found or if none of correct elements has no box,then return 0.
|
|
18
|
+
- **If u can't find the element and also If there is no element with number, return Fire-Flink-0. dont return any other elements index.**
|
|
19
|
+
- if the element that is related to step is there in image but it does not have any bounding box around it, dont give random fire flink index number by asssuming the position, return only "Fire-Flink-0".
|
|
20
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
17
21
|
Respond only with JSON using this format:
|
|
18
22
|
{fireflinkIndex: Fire-Flink-x | Fire-Flink-0}
|
|
19
23
|
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.waitActionExtractorPrompt = waitActionExtractorPrompt;
|
|
4
4
|
async function waitActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }) {
|
|
5
5
|
const nlpList = `
|
|
6
|
-
"
|
|
6
|
+
"WaitTillUrlOfPageContainsString",
|
|
7
7
|
"WaitTillTitleOfPageIsString",
|
|
8
8
|
"WaitTillUrlOfPageIsString",
|
|
9
9
|
"WaitTitleOfPageContainsString",
|
|
@@ -35,25 +35,26 @@ Select the perfect matching NLP name from the list that best fits the step's int
|
|
|
35
35
|
|
|
36
36
|
Return **only valid JSON** in the following format:
|
|
37
37
|
{
|
|
38
|
-
"
|
|
38
|
+
"attributeValue": "Fire-Flink-x",
|
|
39
39
|
"nlpName": "x",
|
|
40
|
-
"
|
|
40
|
+
"inputText":"x",
|
|
41
41
|
"keyword": "x",
|
|
42
|
-
"
|
|
42
|
+
"elementType": "x"
|
|
43
43
|
}
|
|
44
44
|
Rules:
|
|
45
45
|
- nlpName must be exactly one from the provided list.
|
|
46
46
|
- For steps like wait for some time or wait for 5 secondes. give input in number only and nlpName should be "Sleep".
|
|
47
47
|
- Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
|
|
48
48
|
- **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
|
|
49
|
-
- For some steps you can see two inputs but you need to uderstand step and send the requred
|
|
49
|
+
- For some steps you can see two inputs but you need to uderstand step and send the requred inputText.
|
|
50
50
|
ex: Wait until the flights has the flight text
|
|
51
51
|
here keyword : "flights" , input : flight
|
|
52
|
-
- If nlpName is "WaitTillPresenceOfAllElements", the
|
|
53
|
-
- Extract
|
|
52
|
+
- If nlpName is "WaitTillPresenceOfAllElements", the inputText MUST be formatted exactly as "xpath, [THE XPATH]". Do not return plain text.
|
|
53
|
+
- Extract inputText from the step, if you can't find any input text in the step, return keyword as inputText.
|
|
54
54
|
- Extract keyword from the step, if the step contains any keyword.
|
|
55
|
-
- Use the closest semantic match for the step; return
|
|
56
|
-
- Based on step give most relevant type of element. use this list to choose
|
|
55
|
+
- Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
|
|
56
|
+
- Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
|
|
57
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
57
58
|
- Respond with valid JSON only.
|
|
58
59
|
`;
|
|
59
60
|
return prompt;
|
|
@@ -15,9 +15,9 @@ Select the perfect matching NLP name from the list that best fits the step's int
|
|
|
15
15
|
|
|
16
16
|
Return **only valid JSON** in the following format:
|
|
17
17
|
{
|
|
18
|
-
"
|
|
18
|
+
"attributeValue": "Fire-Flink-x",
|
|
19
19
|
"nlpName": "x",
|
|
20
|
-
"
|
|
20
|
+
"inputText":"x",
|
|
21
21
|
"keyword": "x",
|
|
22
22
|
"elementType": "x"
|
|
23
23
|
}
|
|
@@ -26,15 +26,16 @@ Rules:
|
|
|
26
26
|
- For steps like wait for some time or wait for 5 secondes. give input in number only and nlpName should be "Sleep".
|
|
27
27
|
- Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
|
|
28
28
|
- **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
|
|
29
|
-
- For some steps you can see two inputs but you need to uderstand step and send the requred
|
|
29
|
+
- For some steps you can see two inputs but you need to uderstand step and send the requred inputText.
|
|
30
30
|
ex: Wait until the flights has the flight text
|
|
31
31
|
here keyword : "flights" , input : flight
|
|
32
|
-
- If nlpName is "MOB_WaitTillPresenceOfAllElements", the
|
|
33
|
-
- **If the step has input in a string with comma take that string as it is in
|
|
34
|
-
- Extract
|
|
32
|
+
- If nlpName is "MOB_WaitTillPresenceOfAllElements", the inputText MUST be formatted exactly as "xpath, [THE XPATH]". Do not return plain text.
|
|
33
|
+
- **If the step has input in a string with comma take that string as it is in inputText.**
|
|
34
|
+
- Extract inputText from the step, if anything is in string like 'attributeName,attributeValue' ,take as it is dont remove any part,if you can't find any input text in the step, return keyword as inputText.
|
|
35
35
|
- Extract keyword from the step, if the step contains any keyword.
|
|
36
|
-
- Use the closest semantic match for the step; return
|
|
36
|
+
- Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
|
|
37
37
|
- Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
|
|
38
|
+
- Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
|
|
38
39
|
- Respond with valid JSON only.
|
|
39
40
|
`;
|
|
40
41
|
return prompt;
|
|
@@ -12,6 +12,7 @@ exports.userInputFormatters = {
|
|
|
12
12
|
[promptType_js_1.PromptType.GET_PROMPT]: (userInput) => `Inspect the DOM for the following get context:\n\n${JSON.stringify(userInput.currentStep, null, 2)}`,
|
|
13
13
|
[promptType_js_1.PromptType.COMBINED_ACTION_EXTRACTOR_PROMPT]: (userInput) => `Inspect the DOM for the following wait context:\n\n${JSON.stringify(userInput.currentStep, null, 2)}`,
|
|
14
14
|
[promptType_js_1.PromptType.WAIT_ACTION_EXTRACTOR_PROMPT]: (userInput) => `Inspect the DOM for the following wait context:\n\n${JSON.stringify(userInput.currentStep, null, 2)}`,
|
|
15
|
+
[promptType_js_1.PromptType.OTP_EXTRACTOR]: (userInput) => `Extract the OTP from this SMS body:\n\n${JSON.stringify(userInput.smsBody, null, 2)}`,
|
|
15
16
|
[promptType_js_1.PromptType.VISION_PROMPT]: (userInput) => {
|
|
16
17
|
let imageBase64 = null;
|
|
17
18
|
if (userInput.annotatedScreenshot) {
|
|
@@ -22,16 +23,15 @@ exports.userInputFormatters = {
|
|
|
22
23
|
}
|
|
23
24
|
const content = [
|
|
24
25
|
{
|
|
25
|
-
type: "
|
|
26
|
-
text: `Analyze the following step:\n\n${JSON.stringify(userInput.currentStep, null, 2)}
|
|
26
|
+
type: "input_text",
|
|
27
|
+
text: `Analyze the following step:\n\n${JSON.stringify(userInput.currentStep, null, 2)}`,
|
|
27
28
|
},
|
|
28
29
|
{
|
|
29
|
-
type: "
|
|
30
|
-
image_url:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
30
|
+
type: "input_image",
|
|
31
|
+
image_url: imageBase64,
|
|
32
|
+
detail: "auto",
|
|
33
|
+
},
|
|
34
34
|
];
|
|
35
35
|
return content;
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
37
|
};
|