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.
Files changed (559) hide show
  1. package/dist/ai/llmcalls/llmAction.d.ts +9 -4
  2. package/dist/ai/llmcalls/llmAction.js +214 -42
  3. package/dist/ai/llmcalls/parseLlmOputput.js +21 -9
  4. package/dist/ai/llmprompts/promptRegistry.js +15 -0
  5. package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +48 -11
  6. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.js +7 -6
  7. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPromptMob.js +14 -13
  8. package/dist/ai/llmprompts/systemPrompts/errorDescriptionPrompt.js +6 -4
  9. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +125 -67
  10. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +65 -28
  11. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +18 -16
  12. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +13 -13
  13. package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +26 -15
  14. package/dist/ai/llmprompts/systemPrompts/otpExtractorPrompt.d.ts +1 -0
  15. package/dist/ai/llmprompts/systemPrompts/otpExtractorPrompt.js +22 -0
  16. package/dist/ai/llmprompts/systemPrompts/userStoryToListPrompt.js +1 -1
  17. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +23 -19
  18. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +9 -9
  19. package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +18 -8
  20. package/dist/ai/llmprompts/systemPrompts/visionPromptMobile.js +4 -0
  21. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.js +10 -9
  22. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.js +8 -7
  23. package/dist/ai/llmprompts/userPrompts/userPrompt.js +8 -8
  24. package/dist/automation/actions/executor.d.ts +42 -34
  25. package/dist/automation/actions/executor.js +300 -166
  26. package/dist/automation/actions/interaction/alert/clickCancelOnAlertPopup.js +4 -4
  27. package/dist/automation/actions/interaction/alert/clickOkOnAlertPopup.js +4 -4
  28. package/dist/automation/actions/interaction/alert/enterDataToAlert.js +4 -3
  29. package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -4
  30. package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +4 -3
  31. package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +10 -4
  32. package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +4 -3
  33. package/dist/automation/actions/interaction/alert/waitTillAlertIsPresent.js +5 -5
  34. package/dist/automation/actions/interaction/clear/clear.js +33 -26
  35. package/dist/automation/actions/interaction/clear/clearAndEnter.js +33 -26
  36. package/dist/automation/actions/interaction/click/MOB_DoubleTapAtSpecifiedLocation.js +5 -6
  37. package/dist/automation/actions/interaction/click/click.js +65 -26
  38. package/dist/automation/actions/interaction/click/clickNtimes.js +29 -24
  39. package/dist/automation/actions/interaction/click/clickUsingJs.js +12 -12
  40. package/dist/automation/actions/interaction/click/doubleClick.js +32 -25
  41. package/dist/automation/actions/interaction/click/rightClick.js +18 -13
  42. package/dist/automation/actions/interaction/click/tapOnSpecifiedLocation.js +7 -5
  43. package/dist/automation/actions/interaction/click/waitAndClick.js +29 -27
  44. package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +2 -2
  45. package/dist/automation/actions/interaction/elementLessAction/MobCheckIfAppIsClosed.js +14 -9
  46. package/dist/automation/actions/interaction/elementLessAction/MobRunAppInBackgroundInterface.js +9 -9
  47. package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.d.ts +0 -3
  48. package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.js +8 -9
  49. package/dist/automation/actions/interaction/elementlessActions/getOtp.d.ts +2 -0
  50. package/dist/automation/actions/interaction/elementlessActions/getOtp.js +101 -0
  51. package/dist/automation/actions/interaction/elementlessActions/installAPK.js +74 -33
  52. package/dist/automation/actions/interaction/elementlessActions/isAppInstalled.js +10 -8
  53. package/dist/automation/actions/interaction/elementlessActions/openAppWithApkFilePath.js +87 -68
  54. package/dist/automation/actions/interaction/elementlessActions/openMobileApplication.js +8 -6
  55. package/dist/automation/actions/interaction/elementlessActions/receiveMessageOnEmulator.js +4 -3
  56. package/dist/automation/actions/interaction/elementlessActions/terminateAppUsingAppPackage.js +8 -6
  57. package/dist/automation/actions/interaction/elementlessActions/uninstallAPK.js +76 -32
  58. package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +17 -13
  59. package/dist/automation/actions/interaction/enterActions/enterInput.js +55 -30
  60. package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +32 -24
  61. package/dist/automation/actions/interaction/enterActions/enterUrl.js +22 -17
  62. package/dist/automation/actions/interaction/enterActions/enterusingJs.js +19 -13
  63. package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +33 -26
  64. package/dist/automation/actions/interaction/find/MOB_FindElement.js +37 -21
  65. package/dist/automation/actions/interaction/find/findElements.js +49 -32
  66. package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +5 -6
  67. package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +4 -6
  68. package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +8 -9
  69. package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +20 -10
  70. package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +7 -9
  71. package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +4 -6
  72. package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +4 -6
  73. package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +4 -6
  74. package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +4 -6
  75. package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +4 -6
  76. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +4 -6
  77. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +4 -6
  78. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +4 -6
  79. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +5 -6
  80. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +4 -6
  81. package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +4 -6
  82. package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +4 -6
  83. package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +20 -9
  84. package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +7 -8
  85. package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +4 -6
  86. package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +7 -8
  87. package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +12 -11
  88. package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +4 -6
  89. package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +4 -6
  90. package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +20 -12
  91. package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +20 -12
  92. package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +4 -6
  93. package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +4 -6
  94. package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +4 -6
  95. package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +4 -6
  96. package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +11 -8
  97. package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +12 -11
  98. package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +4 -6
  99. package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +4 -4
  100. package/dist/automation/actions/interaction/get/getAllBrokenImages.js +4 -4
  101. package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +4 -4
  102. package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +5 -5
  103. package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +4 -4
  104. package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +5 -5
  105. package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +5 -5
  106. package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +5 -5
  107. package/dist/automation/actions/interaction/get/getAllCookieNames.js +5 -5
  108. package/dist/automation/actions/interaction/get/getAllCookieValues.js +5 -5
  109. package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +12 -12
  110. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +12 -12
  111. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +12 -12
  112. package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +12 -12
  113. package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -5
  114. package/dist/automation/actions/interaction/get/getAttribute.js +27 -25
  115. package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +12 -12
  116. package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +12 -12
  117. package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +12 -12
  118. package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +12 -12
  119. package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +12 -12
  120. package/dist/automation/actions/interaction/get/getAudioMediaLength.js +12 -12
  121. package/dist/automation/actions/interaction/get/getAudioMediaSource.js +12 -12
  122. package/dist/automation/actions/interaction/get/getBestPracticesScore.js +4 -3
  123. package/dist/automation/actions/interaction/get/getBrowserCount.js +4 -4
  124. package/dist/automation/actions/interaction/get/getBrowserVersion.js +4 -4
  125. package/dist/automation/actions/interaction/get/getCapabilityNames.js +4 -4
  126. package/dist/automation/actions/interaction/get/getClipBoardText.js +4 -4
  127. package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +5 -4
  128. package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +5 -4
  129. package/dist/automation/actions/interaction/get/getCssValue.js +12 -12
  130. package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +4 -4
  131. package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -5
  132. package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +4 -4
  133. package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +5 -5
  134. package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +5 -5
  135. package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +5 -5
  136. package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +5 -5
  137. package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +9 -10
  138. package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -4
  139. package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -4
  140. package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +5 -4
  141. package/dist/automation/actions/interaction/get/getDriverInstance.js +12 -11
  142. package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +5 -5
  143. package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +12 -12
  144. package/dist/automation/actions/interaction/get/getFullPaintTime.js +5 -5
  145. package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +4 -4
  146. package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +4 -4
  147. package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +12 -12
  148. package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +4 -4
  149. package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +11 -10
  150. package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +4 -4
  151. package/dist/automation/actions/interaction/get/getListBoxSize.js +12 -12
  152. package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +90 -44
  153. package/dist/automation/actions/interaction/get/getLocation.js +32 -31
  154. package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +4 -4
  155. package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +4 -4
  156. package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +4 -4
  157. package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +4 -4
  158. package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +4 -4
  159. package/dist/automation/actions/interaction/get/getOptions.js +12 -12
  160. package/dist/automation/actions/interaction/get/getPageTitle.js +5 -5
  161. package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +5 -5
  162. package/dist/automation/actions/interaction/get/getPwaScore.js +5 -4
  163. package/dist/automation/actions/interaction/get/getRect.js +26 -23
  164. package/dist/automation/actions/interaction/get/getScreenshot.js +12 -18
  165. package/dist/automation/actions/interaction/get/getScreenshotAs.js +27 -32
  166. package/dist/automation/actions/interaction/get/getSeoScore.js +5 -4
  167. package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +7 -6
  168. package/dist/automation/actions/interaction/get/getSingleApiResponse.js +12 -14
  169. package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +13 -13
  170. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +1 -1
  171. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +21 -17
  172. package/dist/automation/actions/interaction/get/getSize.js +26 -24
  173. package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -5
  174. package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +11 -13
  175. package/dist/automation/actions/interaction/get/getSystemProperty.js +7 -33
  176. package/dist/automation/actions/interaction/get/getTagName.js +26 -24
  177. package/dist/automation/actions/interaction/get/getText.js +28 -25
  178. package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +12 -12
  179. package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +5 -5
  180. package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -4
  181. package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -5
  182. package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +5 -5
  183. package/dist/automation/actions/interaction/get/getValueByCookieName.js +7 -11
  184. package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +7 -10
  185. package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +8 -6
  186. package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +12 -12
  187. package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +12 -12
  188. package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +12 -12
  189. package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +12 -12
  190. package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +12 -12
  191. package/dist/automation/actions/interaction/get/getVideoMediaLength.js +12 -12
  192. package/dist/automation/actions/interaction/get/getVideoMediaSource.js +12 -12
  193. package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +5 -5
  194. package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +12 -12
  195. package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +5 -5
  196. package/dist/automation/actions/interaction/get/getWrappedElement.js +12 -12
  197. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +14 -14
  198. package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +5 -4
  199. package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +26 -24
  200. package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +5 -5
  201. package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +26 -24
  202. package/dist/automation/actions/interaction/iframe/switchToDefaultContent.js +5 -5
  203. package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOff.js +5 -5
  204. package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOn.js +5 -5
  205. package/dist/automation/actions/interaction/inputlessActions/Break.js +5 -5
  206. package/dist/automation/actions/interaction/inputlessActions/Continue.js +5 -5
  207. package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOff.js +5 -5
  208. package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOn.js +5 -5
  209. package/dist/automation/actions/interaction/inputlessActions/HideKeyboard.js +13 -7
  210. package/dist/automation/actions/interaction/inputlessActions/LockDevice.js +5 -5
  211. package/dist/automation/actions/interaction/inputlessActions/OpenChromeBrowser.js +18 -6
  212. package/dist/automation/actions/interaction/inputlessActions/OpenNotification.js +5 -5
  213. package/dist/automation/actions/interaction/inputlessActions/ResetApp.js +14 -7
  214. package/dist/automation/actions/interaction/inputlessActions/RestartCurrentDevice.js +5 -5
  215. package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsLandscape.js +5 -5
  216. package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsPortrait.js +5 -5
  217. package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOff.js +5 -5
  218. package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOn.js +5 -5
  219. package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOff.js +5 -5
  220. package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOn.js +5 -5
  221. package/dist/automation/actions/interaction/maximize/maximize.js +5 -5
  222. package/dist/automation/actions/interaction/maximize/minimize.js +5 -5
  223. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.d.ts +2 -0
  224. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.js +31 -0
  225. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.d.ts +2 -0
  226. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.js +27 -0
  227. package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.d.ts +2 -0
  228. package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.js +31 -0
  229. package/dist/automation/actions/interaction/mouse/mouseHover.d.ts +2 -0
  230. package/dist/automation/actions/interaction/mouse/mouseHover.js +36 -0
  231. package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.d.ts +2 -0
  232. package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.js +42 -0
  233. package/dist/automation/actions/interaction/mouse/pressAndHold.d.ts +2 -0
  234. package/dist/automation/actions/interaction/mouse/pressAndHold.js +47 -0
  235. package/dist/automation/actions/interaction/navigation/goBack.js +5 -5
  236. package/dist/automation/actions/interaction/navigation/navigate.js +5 -4
  237. package/dist/automation/actions/interaction/navigation/refresh.js +5 -5
  238. package/dist/automation/actions/interaction/pinch/PinchInByPercentMob.js +12 -13
  239. package/dist/automation/actions/interaction/pinch/PinchOutByPercentMob.js +12 -11
  240. package/dist/automation/actions/interaction/press/longPress.js +15 -11
  241. package/dist/automation/actions/interaction/press/mobPressBackKey.js +4 -6
  242. package/dist/automation/actions/interaction/press/mobPressBackSpaceKey.js +12 -8
  243. package/dist/automation/actions/interaction/press/mobPressSpaceKey.js +12 -8
  244. package/dist/automation/actions/interaction/press/pressAnyKey.js +25 -16
  245. package/dist/automation/actions/interaction/press/pressAnyKeyNTimes.js +23 -14
  246. package/dist/automation/actions/interaction/press/pressEnterKey.js +21 -14
  247. package/dist/automation/actions/interaction/press/pressHomeKey.js +16 -9
  248. package/dist/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.js +20 -15
  249. package/dist/automation/actions/interaction/scroll/scrollPageToSpecificLocation.js +8 -7
  250. package/dist/automation/actions/interaction/scroll/scrollToElement.js +18 -13
  251. package/dist/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.js +20 -15
  252. package/dist/automation/actions/interaction/set/MOB_SetContext.js +5 -6
  253. package/dist/automation/actions/interaction/set/MOB_SetEmulatorPowerPercentage.js +5 -6
  254. package/dist/automation/actions/interaction/set/setClipBoardText.js +13 -13
  255. package/dist/automation/actions/interaction/shadowDom/shadowDomClick.js +5 -4
  256. package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +5 -4
  257. package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +6 -5
  258. package/dist/automation/actions/interaction/shadowDom/shadowDomUpload.js +13 -9
  259. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.js +6 -5
  260. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyText.js +6 -5
  261. package/dist/automation/actions/interaction/swipe/swipeDirectionNTimes.js +12 -10
  262. package/dist/automation/actions/interaction/swipe/swipeDownToElement.js +13 -10
  263. package/dist/automation/actions/interaction/swipe/swipeIos.d.ts +2 -0
  264. package/dist/automation/actions/interaction/swipe/swipeIos.js +52 -0
  265. package/dist/automation/actions/interaction/swipe/swipeLeftToElement.js +16 -11
  266. package/dist/automation/actions/interaction/swipe/swipeRightToElement.js +15 -10
  267. package/dist/automation/actions/interaction/swipe/swipeUpToElement.js +12 -10
  268. package/dist/automation/actions/interaction/swipe/swipeUpToElementForMWeb.js +16 -13
  269. package/dist/automation/actions/interaction/swipe/swipeUsingReferenceElement.js +19 -16
  270. package/dist/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.js +7 -6
  271. package/dist/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.js +6 -5
  272. package/dist/automation/actions/interaction/switch/switchToParentWindow.js +6 -6
  273. package/dist/automation/actions/interaction/switch/switchToTabBasedOnUrl.js +6 -5
  274. package/dist/automation/actions/interaction/switch/switchToWindowBasedOnURL.js +5 -4
  275. package/dist/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.js +7 -6
  276. package/dist/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.js +6 -5
  277. package/dist/automation/actions/interaction/upload/uploadfile.js +21 -18
  278. package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +8 -8
  279. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOff.js +7 -7
  280. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOn.js +7 -7
  281. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAppIsClosed.js +19 -10
  282. package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsLocked.js +7 -6
  283. package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsUnlocked.js +7 -7
  284. package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOff.js +12 -8
  285. package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOn.js +12 -8
  286. package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsHidden.js +7 -7
  287. package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsShown.js +8 -7
  288. package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOff.js +8 -7
  289. package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOn.js +8 -7
  290. package/dist/automation/actions/interaction/verify/VerifyAccessibilityScore.js +8 -7
  291. package/dist/automation/actions/interaction/verify/VerifyAllBrokenImages.js +6 -6
  292. package/dist/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.js +12 -10
  293. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.js +19 -19
  294. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.js +12 -12
  295. package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +35 -53
  296. package/dist/automation/actions/interaction/verify/VerifyBestPracticesScore.js +6 -5
  297. package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +6 -5
  298. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +7 -6
  299. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +7 -6
  300. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +7 -6
  301. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +6 -5
  302. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +5 -4
  303. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +6 -5
  304. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +6 -5
  305. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +7 -6
  306. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.js +12 -12
  307. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.js +12 -12
  308. package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +20 -14
  309. package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.js +28 -25
  310. package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +29 -27
  311. package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +26 -24
  312. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +26 -24
  313. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.d.ts +2 -0
  314. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.js +84 -0
  315. package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.js +51 -28
  316. package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +39 -27
  317. package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.d.ts +2 -0
  318. package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.js +83 -0
  319. package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +23 -23
  320. package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +23 -23
  321. package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +44 -14
  322. package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +4 -4
  323. package/dist/automation/actions/interaction/verify/VerifyIfAudioEnded.js +12 -12
  324. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsMuted.js +12 -12
  325. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPaused.js +12 -12
  326. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.js +12 -12
  327. package/dist/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.js +8 -9
  328. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +6 -5
  329. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +5 -4
  330. package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +5 -5
  331. package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +14 -14
  332. package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +6 -5
  333. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +6 -5
  334. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +6 -5
  335. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +5 -4
  336. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +5 -4
  337. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.js +13 -13
  338. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.js +13 -13
  339. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +12 -12
  340. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +12 -12
  341. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +12 -12
  342. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +12 -12
  343. package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +12 -12
  344. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.js +7 -6
  345. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.js +30 -22
  346. package/dist/automation/actions/interaction/verify/VerifyIfVideoEnded.js +12 -12
  347. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsMuted.js +12 -12
  348. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPaused.js +12 -12
  349. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.js +12 -12
  350. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.js +12 -12
  351. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.js +12 -12
  352. package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.js +25 -23
  353. package/dist/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.js +7 -6
  354. package/dist/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.js +12 -12
  355. package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +42 -14
  356. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.js +7 -5
  357. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +13 -7
  358. package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +33 -42
  359. package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +7 -6
  360. package/dist/automation/actions/interaction/verify/VerifyPerformanceScore.js +7 -6
  361. package/dist/automation/actions/interaction/verify/VerifyPwaScore.js +6 -5
  362. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.js +12 -12
  363. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.js +12 -12
  364. package/dist/automation/actions/interaction/verify/VerifySeoScore.js +6 -5
  365. package/dist/automation/actions/interaction/verify/VerifyTagName.js +12 -12
  366. package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +20 -31
  367. package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +8 -7
  368. package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +6 -5
  369. package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +12 -12
  370. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.js +12 -12
  371. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +12 -12
  372. package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +23 -23
  373. package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +23 -23
  374. package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +26 -23
  375. package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +26 -22
  376. package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.d.ts +2 -0
  377. package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.js +85 -0
  378. package/dist/automation/actions/interaction/verify/verifypartialtext.js +28 -25
  379. package/dist/automation/actions/interaction/verify/verifytext.js +30 -30
  380. package/dist/automation/actions/interaction/wait/MOB_WaitTillAllElementsAreInvisible.ts.js +5 -6
  381. package/dist/automation/actions/interaction/wait/MOB_WaitTillAttributeOfElementContainsString.js +17 -14
  382. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsEnabled.js +12 -11
  383. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsInvisible.js +14 -12
  384. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsSelected.js +12 -11
  385. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsVisible.js +15 -13
  386. package/dist/automation/actions/interaction/wait/MOB_WaitTillStalenessOfElement.js +12 -11
  387. package/dist/automation/actions/interaction/wait/wait.js +5 -4
  388. package/dist/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.js +26 -24
  389. package/dist/automation/actions/interaction/wait/waitTillElementContainsText.js +26 -24
  390. package/dist/automation/actions/interaction/wait/waitTillElementHasText.js +26 -24
  391. package/dist/automation/actions/interaction/wait/waitTillElementIsClickable.js +28 -25
  392. package/dist/automation/actions/interaction/wait/waitTillPresenceOfAllElements.js +32 -22
  393. package/dist/automation/actions/interaction/wait/waitTillPresenceOfElement.js +26 -24
  394. package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +160 -0
  395. package/dist/automation/actions/interface/FireFlinkResponseSchema.js +225 -0
  396. package/dist/automation/actions/interface/alertActionInterface.d.ts +1 -0
  397. package/dist/automation/actions/interface/findActionInterface.d.ts +3 -0
  398. package/dist/automation/actions/interface/getActionInterface.d.ts +76 -66
  399. package/dist/automation/actions/interface/getOtpInterface.d.ts +15 -0
  400. package/dist/automation/actions/interface/getOtpInterface.js +2 -0
  401. package/dist/automation/actions/interface/interactionActionInterface.d.ts +5 -0
  402. package/dist/automation/actions/interface/mouseActionsinterface.d.ts +51 -0
  403. package/dist/automation/actions/interface/mouseActionsinterface.js +2 -0
  404. package/dist/automation/actions/interface/pinchActionInterface.d.ts +7 -0
  405. package/dist/automation/actions/interface/pressActionInterface.d.ts +4 -0
  406. package/dist/automation/actions/interface/swipeActionInterface.d.ts +25 -10
  407. package/dist/automation/actions/interface/verifyActionInterface.d.ts +36 -0
  408. package/dist/automation/actions/interface/waitActionInterface.d.ts +19 -0
  409. package/dist/automation/browserSession/initiateBrowserSession.d.ts +1 -1
  410. package/dist/automation/browserSession/initiateBrowserSession.js +15 -7
  411. package/dist/automation/cloudSession/initiateCloudSession.js +3 -1
  412. package/dist/automation/driverState.d.ts +2 -0
  413. package/dist/automation/driverState.js +4 -0
  414. package/dist/automation/mobileSession/initiateMobileSession.d.ts +28 -5
  415. package/dist/automation/mobileSession/initiateMobileSession.js +100 -23
  416. package/dist/core/constants/allAction.js +6 -1
  417. package/dist/core/constants/supportedActions.d.ts +1 -0
  418. package/dist/core/constants/supportedActions.js +19 -8
  419. package/dist/core/interfaces/actionInterface.d.ts +38 -33
  420. package/dist/core/interfaces/browserConfigurationInterface.d.ts +0 -4
  421. package/dist/core/interfaces/browserConfigurationInterface.js +0 -1
  422. package/dist/core/interfaces/executionDetails.d.ts +6 -3
  423. package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +26 -17
  424. package/dist/core/interfaces/llmConfigurationInterface.d.ts +3 -2
  425. package/dist/core/interfaces/llmResponseInterface.d.ts +11 -10
  426. package/dist/core/interfaces/promptInterface.d.ts +1 -0
  427. package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +14 -0
  428. package/dist/core/interfaces/simplifyAndFlattenInterface.d.ts +5 -0
  429. package/dist/core/main/SessionManager.d.ts +9 -0
  430. package/dist/core/main/SessionManager.js +23 -0
  431. package/dist/core/main/actionHandlerFactory.js +353 -86
  432. package/dist/core/main/executionContext.d.ts +8 -2
  433. package/dist/core/main/executionContext.js +94 -4
  434. package/dist/core/main/runAutomationScript.d.ts +2 -0
  435. package/dist/core/main/runAutomationScript.js +1003 -276
  436. package/dist/core/main/stepProcessor.d.ts +2 -1
  437. package/dist/core/main/stepProcessor.js +8 -3
  438. package/dist/core/types/browserType.d.ts +3 -3
  439. package/dist/core/types/browserType.js +2 -2
  440. package/dist/core/types/messageType.d.ts +13 -0
  441. package/dist/core/types/messageType.js +15 -0
  442. package/dist/core/types/promptType.d.ts +2 -1
  443. package/dist/core/types/promptType.js +1 -0
  444. package/dist/core/types/scriptTypesType.d.ts +1 -1
  445. package/dist/core/types/visionllmInputType.d.ts +4 -5
  446. package/dist/domAnalysis/getRelaventElements.d.ts +5 -1
  447. package/dist/domAnalysis/getRelaventElements.js +14 -5
  448. package/dist/domAnalysis/relativeElementsFromDom.d.ts +2 -1
  449. package/dist/domAnalysis/relativeElementsFromDom.js +66 -1
  450. package/dist/domAnalysis/searchBest.d.ts +5 -1
  451. package/dist/domAnalysis/searchBest.js +160 -58
  452. package/dist/domAnalysis/simplifyAndFlatten.d.ts +3 -2
  453. package/dist/domAnalysis/simplifyAndFlatten.js +114 -19
  454. package/dist/fireflinkData/fireflinkLocators/getListOfLocators.d.ts +3 -0
  455. package/dist/fireflinkData/fireflinkLocators/getListOfLocators.js +26 -12
  456. package/dist/fireflinkData/fireflinkLocators/{elementsFromHTML.d.ts → parser/getElementsFromHTML.d.ts} +5 -11
  457. package/dist/fireflinkData/fireflinkLocators/parser/getElementsFromHTML.js +573 -0
  458. package/dist/fireflinkData/fireflinkLocators/types/locator.d.ts +27 -0
  459. package/dist/fireflinkData/fireflinkLocators/types/locator.js +2 -0
  460. package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.d.ts +2 -0
  461. package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.js +57 -0
  462. package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.d.ts +19 -0
  463. package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.js +189 -0
  464. package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.d.ts +2 -0
  465. package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.js +183 -0
  466. package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.d.ts +35 -0
  467. package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.js +513 -0
  468. package/dist/fireflinkData/fireflinkLocators/utils/xpath.d.ts +29 -0
  469. package/dist/fireflinkData/fireflinkLocators/utils/xpath.js +710 -0
  470. package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.d.ts +135 -0
  471. package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.js +1628 -0
  472. package/dist/fireflinkData/fireflinkScript/appendScriptData.d.ts +2 -0
  473. package/dist/fireflinkData/fireflinkScript/appendScriptData.js +48 -0
  474. package/dist/fireflinkData/fireflinkScript/scriptGenrationData.d.ts +2 -2
  475. package/dist/fireflinkData/fireflinkScript/scriptGenrationData.js +18 -24
  476. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.d.ts +4 -0
  477. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.js +115 -7
  478. package/dist/imageAnalysisWeb/annotateScreenshot.js +4 -4
  479. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.d.ts +4 -1
  480. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.js +15 -17
  481. package/dist/llmConfig/llmConfiguration.d.ts +4 -3
  482. package/dist/llmConfig/llmConfiguration.js +48 -18
  483. package/dist/service/api/fireflinkApi.service.d.ts +1 -1
  484. package/dist/service/api/fireflinkApi.service.js +1 -2
  485. package/dist/service/fireflink.service.d.ts +3 -3
  486. package/dist/service/fireflink.service.js +24 -22
  487. package/dist/service/kafka/fireflinkKafka.service.d.ts +1 -2
  488. package/dist/service/kafka/fireflinkKafka.service.js +6 -4
  489. package/dist/tests/poc.d.ts +0 -1
  490. package/dist/tests/poc.js +211 -226
  491. package/dist/tests/test.d.ts +1 -0
  492. package/dist/tests/test.js +26 -0
  493. package/dist/tests/test12.d.ts +0 -1
  494. package/dist/tests/test12.js +65 -467
  495. package/dist/tests/testkaf.d.ts +0 -1
  496. package/dist/tests/testkaf.js +51 -55
  497. package/dist/tests/testss.d.ts +1 -0
  498. package/dist/tests/testss.js +23 -0
  499. package/dist/utils/DomExtraction/jsForAttributeInjection.d.ts +2 -0
  500. package/dist/utils/DomExtraction/jsForAttributeInjection.js +220 -8
  501. package/dist/utils/InstancesDetails/getInstancesInfo.d.ts +26 -1
  502. package/dist/utils/InstancesDetails/getInstancesInfo.js +11 -5
  503. package/dist/utils/browserCap/capability.d.ts +14 -10
  504. package/dist/utils/browserCap/capability.js +97 -16
  505. package/dist/utils/frameWorkDetector/frameWorkDetector.d.ts +6 -0
  506. package/dist/utils/frameWorkDetector/frameWorkDetector.js +43 -0
  507. package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.d.ts +10 -0
  508. package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.js +2 -0
  509. package/dist/utils/helpers/domSanitizer.d.ts +1 -0
  510. package/dist/utils/helpers/domSanitizer.js +9 -0
  511. package/dist/utils/helpers/enterActionHelper.d.ts +1 -0
  512. package/dist/utils/helpers/enterActionHelper.js +25 -5
  513. package/dist/utils/helpers/platformContext.d.ts +3 -0
  514. package/dist/utils/helpers/platformContext.js +11 -0
  515. package/dist/utils/helpers/platformSyntax.d.ts +1 -0
  516. package/dist/utils/helpers/platformSyntax.js +17 -0
  517. package/dist/utils/helpers/sameActionsHelper.js +7 -2
  518. package/dist/utils/helpers/xpathcreation.d.ts +5 -1
  519. package/dist/utils/helpers/xpathcreation.js +44 -5
  520. package/dist/utils/iframesExtraction/findElementUsingFF.js +12 -9
  521. package/dist/utils/iframesExtraction/iframeInterface.d.ts +4 -0
  522. package/dist/utils/javascript/jsFindElement.d.ts +1 -1
  523. package/dist/utils/javascript/jsFindElement.js +2 -2
  524. package/dist/utils/javascript/jsForShadowRoot.d.ts +1 -1
  525. package/dist/utils/javascript/jsForShadowRoot.js +4 -0
  526. package/dist/utils/javascript/jsForVision.d.ts +2 -2
  527. package/dist/utils/javascript/jsForVision.js +17 -5
  528. package/dist/utils/logger/logData.d.ts +1 -0
  529. package/dist/utils/logger/logData.js +19 -0
  530. package/dist/utils/newTab/newTabTracker.js +18 -6
  531. package/dist/utils/sslConfig/apiCallPatch.d.ts +1 -0
  532. package/dist/utils/sslConfig/apiCallPatch.js +33 -0
  533. package/dist/utils/sslConfig/getSecureAgent.d.ts +2 -0
  534. package/dist/utils/sslConfig/getSecureAgent.js +30 -0
  535. package/dist/utils/swipe/domSearchHelper.d.ts +1 -1
  536. package/dist/utils/swipe/domSearchHelper.js +43 -42
  537. package/dist/utils/swipe/swipeMovement.js +28 -19
  538. package/dist/utils/workers/LocatorWorkerInterface.d.ts +22 -0
  539. package/dist/utils/workers/LocatorWorkerInterface.js +2 -0
  540. package/dist/utils/workers/LocatorWorkerPool.d.ts +13 -0
  541. package/dist/utils/workers/LocatorWorkerPool.js +89 -0
  542. package/dist/utils/workers/locatorWorker.d.ts +1 -0
  543. package/dist/utils/workers/locatorWorker.js +44 -0
  544. package/package.json +23 -6
  545. package/dist/automation/actions/interaction/get/getAudioDimension.d.ts +0 -2
  546. package/dist/automation/actions/interaction/get/getAudioDimension.js +0 -34
  547. package/dist/automation/actions/interaction/get/getAudioHeight.d.ts +0 -2
  548. package/dist/automation/actions/interaction/get/getAudioHeight.js +0 -30
  549. package/dist/automation/actions/interaction/get/getAudioWidth.d.ts +0 -2
  550. package/dist/automation/actions/interaction/get/getAudioWidth.js +0 -30
  551. package/dist/automation/actions/interaction/get/getVideoDimension.d.ts +0 -2
  552. package/dist/automation/actions/interaction/get/getVideoDimension.js +0 -31
  553. package/dist/automation/actions/interaction/get/getVideoHeight.d.ts +0 -2
  554. package/dist/automation/actions/interaction/get/getVideoHeight.js +0 -28
  555. package/dist/automation/actions/interaction/get/getVideoWidth.d.ts +0 -2
  556. package/dist/automation/actions/interaction/get/getVideoWidth.js +0 -28
  557. package/dist/fireflinkData/fireflinkLocators/elementsFromHTML.js +0 -514
  558. package/dist/fireflinkData/fireflinkLocators/typeList.d.ts +0 -1
  559. 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", "GetVideoHeight", "GetAudioCurrentPlaybackRate",
8
- "GetAudioDecodedByte", "GetVideoCurrentPlaybackRate", "GetVideoCurrentVolume", "GetVideoDimension", "GetAudioDefaultPlaybackRate", "GetVideoWidth", "GetSingleApiStatusCode", "GetSingleApiResponseTime", "GetAudioCurrentVolume", "GetSingleApiResponse",
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", "GetAudioHeight", "GetHexCodeForGivenXYCoordinatesOfImage", "GetAudioCurrentSeekTime", "GetAudioWidth", "GetAudioMediaLength", "GetAudioDimension", "ScrollPageToSpecificLocation", "GetDateWithGivenFormat",
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
- "attribute_value": "Fire-Flink-x",
27
+ "attributeValue": "Fire-Flink-x",
28
28
  "nlpName": "x",
29
- "input_text":"x",
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 input_text. input_text 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 input_text in this order "https://app.talentscan.ai/login,https://app.talentscan.ai/sign up,c:jsonpath"
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 input_text: "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 input_text: "locator_type, locator_value".
42
- - If step is about getting attribute value then map to attribute nlps and input_text: "attribute_name".
43
- - if step is about tag name then input_text: "tag name". and if step is about getting tag name and with count then input_text: "tag name,count".
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 mapted to GetTunnelIdentifier nlp than input_text 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, use the general location NLP.
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 input_text 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.
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 input_text 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 input_text.
51
- - Use the closest semantic match for the step; return attribute_value as Fire-Flink-0, only if nothing is found.and never return Fire-Flink-x.
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
- "MOB_GetDriverInstance","MOB_GetCurrentWindowHandle","MOB_GetCurrentSessionId","MOB_GetHeightOfScreen","MOB_GetCurrentDeviceSystemBars",
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
- "attribute_value": "Fire-Flink-x",
23
+ "attributeValue": "Fire-Flink-x",
24
24
  "nlpName": "x",
25
- "input_text":"x"
26
- "keyword": "x",
25
+ "inputText":"x",
27
26
  "elementType": "x",
28
27
  "locator_type": "x",
29
- "attribute_type": "x"
28
+ "attributeType": "x"
30
29
  }
31
30
  Rules:
32
31
  - nlpName must be exactly one from the provided list.
33
- - for screenshots, extract the input_text from the step. like what they what to name image.if not present then leave it empty.
34
- - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
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 input_text from the step, if you can't find any input text in the step, return keyword as input_text.
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
- - if step is get screenshot of element map it to MOB_GetScreenshotOfElement nlp.
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 attribute_value as Fire-Flink-0, only if nothing is found.
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 locator_type if mentioned in the step, like(text,resource-id,content-desc,xpath)
45
- - Extract attribute_type if mentioned in the step, like (text,resource-id,content-desc,className).
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", "close", "combined"];
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 has 2 action like wait and any other action then give action as wait.
13
- - If the step is about luanching an app or opening app, like (action, param1, param2) or(action,'param1,param2') then wrap them into array and give them as keywords like ['com.app.android', 'com.app.activity']
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
- - Do Not include any other unrelated keywords for step.
20
- - Do NOT include generic UI words (button, field, etc) and action words (tap, click, press, etc).
21
- - Do NOT include status/technical words (displayed, enabled, authenticate, visible).
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, scroll for scrolling and swiping, get for getting,fetching element, closeApp for closing the app.
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 find or open chrome browser or open app with apk path or install apk or uninstall apk or activate or terminate action pinch in or pinch out and running app in the backgroundaction return action as 'combined'
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 [app package,app activity],
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
- VerifyNumberOfElementsByXpath,VerifyAttributeValue,
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
- VerifyIfStatusCodesOfLinks,VerifyIfOptionWithVisibleTextIsSelected,VerifyBrowserWindowUrlIsString,
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
- "attribute_value": "Fire-Flink-x",
49
+ "attributeValue": "Fire-Flink-x",
50
50
  "nlpName": "x",
51
- "input_text":"x"
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 input_text. input_text can be string, number, url or xpath.
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 input_text in this order "#FFFFFF,34,11"
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 input_text: "attribute_name,element_name" here attribute_name can be id,text,href etc not fire-flink-x. input_text should be in this format.if they mention css attribute value then input_text should be "css_property,expected_value".
63
- and also If a step requires comparing two values, provide the input in the format input_text: "value1,value2".
64
- - if step is about tag name then input_text: "tag name". and if step is about verifying tag name and with count then input_text: "tag name,count". and if any step is about verifying number of elements with xpath then input_text should be "xpath,count"
65
- - if step is about verifying location then input_text: "coordinates".
66
- - If a step involves a URL, map navigation/action keywords (navigate) to VerifyNavigateURL, partial match keywords (contains, includes) to VerifyUrlContainsExpectedUrl or VerifyBrowserWindowUrlContainsExpectedUrl exact match keywords (equals, is, exactly) to VerifyUrlIsString or VerifyBrowserWindowUrlIsString based on step if they mention navigate to title match with (VerifyLinkNavigatesToTitle) default to exact match if unclear, and prioritize navigation if both intents exist.
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 input_text 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 input_text.**
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
- - Extract keyword from the step, if the step contains any keyword.
71
- - if no matching element found for the step return attribute_value as only 'Fire-Flink-0' dont give Fire-Flink-x or any string .
72
- - Based on step give most relevant type of element. use this list to choose element_type: ${elementType} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
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
- "attribute_value": "Fire-Flink-x",
23
+ "attributeValue": "Fire-Flink-x",
24
24
  "nlpName": "x",
25
- "input_text":"x"
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 input_text.
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 Input_text should be elementname,time.
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 : home,30 only they mention seconds as input in step
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 input_text 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 input_text.
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 input_text don't add anything else
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 attribute_value as Fire-Flink-0, only if nothing is found.
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
- - **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.**
10
- - Using the provided annotated screenshot and Step, identify the correct element index from the image.
11
- - Match the index to the text or action described in Step as accurately as possible.
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
- - Return only the Fire-Flink-x for the target element .
14
- - **Never return Fire-Flink-1 only return Fire-Flink-0.**
15
- - Do not provide any additional text or explanation. The output must be strictly Fire-Flink-x.
16
- Respond only with JSON using this format:
17
- {fireflinkIndex: Fire-Flink-x | Fire-Flink-0}
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
- "WaitTillUlrOfPageContainsString",
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
- "attribute_value": "Fire-Flink-x",
38
+ "attributeValue": "Fire-Flink-x",
39
39
  "nlpName": "x",
40
- "input_text":"x"
40
+ "inputText":"x",
41
41
  "keyword": "x",
42
- "element_type": "x"
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 input_text.
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 input_text MUST be formatted exactly as "xpath, [THE XPATH]". Do not return plain text.
53
- - Extract input_text from the step, if you can't find any input text in the step, return keyword as input_text.
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 attribute_value as Fire-Flink-0, only if nothing is found.
56
- - Based on step give most relevant type of element. use this list to choose element_type: ${elementType} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
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
- "attribute_value": "Fire-Flink-x",
18
+ "attributeValue": "Fire-Flink-x",
19
19
  "nlpName": "x",
20
- "input_text":"x"
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 input_text.
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 input_text 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 input_text.**
34
- - Extract input_text from the step, if you can't find any input text in the step, return keyword as input_text.
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 attribute_value as Fire-Flink-0, only if nothing is found.
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: "text",
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: "image_url",
30
- image_url: {
31
- url: imageBase64
32
- }
33
- }
30
+ type: "input_image",
31
+ image_url: imageBase64,
32
+ detail: "auto",
33
+ },
34
34
  ];
35
35
  return content;
36
- }
36
+ },
37
37
  };