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
@@ -1,27 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.doubleClick = doubleClick;
4
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
4
5
  async function doubleClick(args) {
6
+ const nlpName = args.platform === "ios" ? "IOS_DoubleTap" : "MOB_DoubleTap";
5
7
  switch (args.platform) {
6
8
  case "android":
9
+ case "ios":
7
10
  try {
8
11
  const element = await args.driver.$(args.selector);
9
12
  await element.doubleClick();
10
- args.scriptDataAppender.add(async () => {
11
- return {
12
- nlpName: 'MOB_DoubleTap',
13
- stepInputs: [],
14
- elementsData: [{
15
- name: args.elementName,
16
- type: args.elementType,
17
- locators: [{ "name": "xpath", "value": args.selector }],
18
- platform: args.platform
19
- }]
20
- };
13
+ (0, appendScriptData_js_1.appendScriptData)({
14
+ scriptDataAppender: args.scriptDataAppender,
15
+ nlpName: nlpName,
16
+ stepInputs: [],
17
+ pageDOM: args.pageDOM,
18
+ elementGetter: args.elementGetter,
19
+ ffNumber: args.fireflinkIndex,
20
+ elementName: args.elementName,
21
+ elementType: args.elementType,
22
+ selector: args.selector,
23
+ platform: args.platform
21
24
  });
22
25
  }
23
26
  catch (error) {
24
- args.scriptDataAppender.setErrorNLP("MOB_DoubleTap");
27
+ args.scriptDataAppender.setErrorNLP(nlpName);
25
28
  throw new Error(`DoubleClick action failed :`, { cause: error });
26
29
  }
27
30
  break;
@@ -29,20 +32,24 @@ async function doubleClick(args) {
29
32
  default:
30
33
  try {
31
34
  const element = await args.driver.$(args.selector);
32
- await element.scrollIntoView({ block: 'center', inline: 'center' });
35
+ await args.driver.execute((el) => {
36
+ el.scrollIntoView({
37
+ block: "center",
38
+ inline: "nearest"
39
+ });
40
+ }, element);
33
41
  await element.doubleClick();
34
- args.scriptDataAppender.add(async () => {
35
- const ffElement = await args.elementGetter.getFireFlinkElement(args.pageDOM, `[ff-inspect="${args.fireflinkIndex}"]`);
36
- return {
37
- nlpName: 'DoubleClick',
38
- stepInputs: [],
39
- elementsData: [{
40
- name: args.elementName,
41
- type: args.elementType,
42
- locators: ffElement.locators,
43
- platform: args.platform
44
- }]
45
- };
42
+ (0, appendScriptData_js_1.appendScriptData)({
43
+ scriptDataAppender: args.scriptDataAppender,
44
+ nlpName: 'DoubleClick',
45
+ stepInputs: [],
46
+ pageDOM: args.pageDOM,
47
+ elementGetter: args.elementGetter,
48
+ ffNumber: args.fireflinkIndex,
49
+ elementName: args.elementName,
50
+ elementType: args.elementType,
51
+ selector: args.selector,
52
+ platform: args.platform
46
53
  });
47
54
  }
48
55
  catch (error) {
@@ -1,23 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rightClick = rightClick;
4
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
4
5
  async function rightClick(args) {
5
6
  try {
6
7
  const element = await args.driver.$(args.selector);
7
- await element.scrollIntoView({ block: 'center', inline: 'center' });
8
+ await args.driver.execute((el) => {
9
+ el.scrollIntoView({
10
+ block: "center",
11
+ inline: "nearest"
12
+ });
13
+ }, element);
8
14
  await element.click({ button: 2 });
9
- args.scriptDataAppender.add(async () => {
10
- const ffElement = await args.elementGetter.getFireFlinkElement(args.pageDOM, `[ff-inspect="${args.fireflinkIndex}"]`);
11
- return {
12
- nlpName: 'RightClick',
13
- stepInputs: [],
14
- elementsData: [{
15
- name: args.elementName,
16
- type: args.elementType,
17
- locators: ffElement.locators,
18
- platform: args.platform
19
- }]
20
- };
15
+ (0, appendScriptData_js_1.appendScriptData)({
16
+ scriptDataAppender: args.scriptDataAppender,
17
+ nlpName: 'RightClick',
18
+ stepInputs: [],
19
+ pageDOM: args.pageDOM,
20
+ elementGetter: args.elementGetter,
21
+ ffNumber: args.fireflinkIndex,
22
+ elementName: args.elementName,
23
+ elementType: args.elementType,
24
+ selector: args.selector,
25
+ platform: args.platform
21
26
  });
22
27
  }
23
28
  catch (error) {
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TapOnSpecifiedLocation = void 0;
4
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
4
5
  const TapOnSpecifiedLocation = async (args) => {
6
+ const nlpName = args.platform === "ios" ? "IOS_TapOnSpecifiedLocation" : "MOB_TapOnSpecifiedLocation";
5
7
  try {
6
8
  const coords = args.value.split(",");
7
9
  const x = parseInt(coords[0]);
@@ -19,14 +21,14 @@ const TapOnSpecifiedLocation = async (args) => {
19
21
  }
20
22
  ]);
21
23
  await args.driver.releaseActions();
22
- args.scriptDataAppender.add(async () => ({
23
- nlpName: "MOB_TapOnSpecifiedLocation",
24
+ (0, appendScriptData_js_1.appendScriptData)({
25
+ scriptDataAppender: args.scriptDataAppender,
26
+ nlpName: nlpName,
24
27
  stepInputs: [x, y],
25
- elementsData: []
26
- }));
28
+ });
27
29
  }
28
30
  catch (error) {
29
- args.scriptDataAppender.setErrorNLP("MOB_TapOnSpecifiedLocation");
31
+ args.scriptDataAppender.setErrorNLP(nlpName);
30
32
  throw new Error("MOB_TapOnSpecifiedLocation action failed", { cause: error });
31
33
  }
32
34
  };
@@ -2,43 +2,46 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitAndClick = waitAndClick;
4
4
  const logData_js_1 = require("../../../../utils/logger/logData.js");
5
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
5
6
  async function waitAndClick(args) {
7
+ const nlpName = args.platform === "ios" ? "IOS_WaitAndClick" : "MOB_WaitAndClick";
6
8
  switch (args.platform) {
7
9
  case "android":
10
+ case "ios":
8
11
  try {
9
12
  const element = await args.driver.$(args.selector);
10
- let waitTime;
13
+ let waitTime = 10;
11
14
  if (args.value != "") {
12
15
  waitTime = parseInt(args.value);
13
16
  await element.waitForDisplayed({ timeout: waitTime });
14
17
  }
15
18
  else {
16
- await element.waitForDisplayed({ timeout: 10000 });
19
+ await element.waitForDisplayed({ timeout: waitTime * 100 });
17
20
  }
18
21
  logData_js_1.logger.info(`Element became visible. Clicking selector: ${args.selector}`);
19
22
  await element.click();
20
- args.scriptDataAppender.add(async () => {
21
- return {
22
- nlpName: 'MOB_WaitAndClick',
23
- stepInputs: [waitTime ? waitTime : 10],
24
- elementsData: [{
25
- name: args.elementName,
26
- type: args.elementType,
27
- locators: [{ "name": "xpath", "value": args.selector }],
28
- platform: args.platform
29
- }]
30
- };
23
+ (0, appendScriptData_js_1.appendScriptData)({
24
+ scriptDataAppender: args.scriptDataAppender,
25
+ nlpName: nlpName,
26
+ stepInputs: [waitTime ? waitTime : 10],
27
+ pageDOM: args.pageDOM,
28
+ elementGetter: args.elementGetter,
29
+ ffNumber: args.fireflinkIndex,
30
+ elementName: args.elementName,
31
+ elementType: args.elementType,
32
+ selector: args.selector,
33
+ platform: args.platform
31
34
  });
32
35
  }
33
36
  catch (error) {
34
- args.scriptDataAppender.setErrorNLP("MOB_WaitAndClick");
37
+ args.scriptDataAppender.setErrorNLP(nlpName);
35
38
  throw new Error(`WaitAndClick action failed`, { cause: error });
36
39
  }
37
40
  break;
38
41
  case "web":
39
42
  default:
40
43
  try {
41
- let waitTime;
44
+ let waitTime = 10;
42
45
  const element = await args.driver.$(args.selector);
43
46
  if (args.value != "") {
44
47
  waitTime = parseInt(args.value);
@@ -49,18 +52,17 @@ async function waitAndClick(args) {
49
52
  }
50
53
  logData_js_1.logger.info(`Element became visible. Clicking selector: ${args.selector}`);
51
54
  await element.click();
52
- args.scriptDataAppender.add(async () => {
53
- const ffElement = await args.elementGetter.getFireFlinkElement(args.pageDOM, `[ff-inspect="${args.fireflinkIndex}"]`);
54
- return {
55
- nlpName: 'WaitAndClick',
56
- stepInputs: [waitTime ? waitTime : 10],
57
- elementsData: [{
58
- name: args.elementName,
59
- type: args.elementType,
60
- locators: ffElement.locators,
61
- platform: args.platform
62
- }]
63
- };
55
+ (0, appendScriptData_js_1.appendScriptData)({
56
+ scriptDataAppender: args.scriptDataAppender,
57
+ nlpName: "WaitAndClick",
58
+ stepInputs: [waitTime ? waitTime : 10],
59
+ pageDOM: args.pageDOM,
60
+ elementGetter: args.elementGetter,
61
+ ffNumber: args.fireflinkIndex,
62
+ elementName: args.elementName,
63
+ elementType: args.elementType,
64
+ selector: args.selector,
65
+ platform: args.platform
64
66
  });
65
67
  }
66
68
  catch (error) {
@@ -15,13 +15,13 @@ async function dragAndDropToElement(args) {
15
15
  {
16
16
  name: args.elementName1,
17
17
  type: args.elementType1,
18
- locators: ffElement1.locators,
18
+ locators: ffElement1?.locators ? ffElement1.locators : [{ name: "xpath", value: args.selector1 }],
19
19
  platform: args.platform
20
20
  },
21
21
  {
22
22
  name: args.elementName2,
23
23
  type: args.elementType2,
24
- locators: ffElement2.locators,
24
+ locators: ffElement2?.locators ? ffElement2.locators : [{ name: "xpath", value: args.selector2 }],
25
25
  platform: args.platform
26
26
  }
27
27
  ],
@@ -1,23 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MOB_CheckIfAppIsClosed = MOB_CheckIfAppIsClosed;
4
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
4
5
  async function MOB_CheckIfAppIsClosed(args) {
6
+ const nlpName = args.platform === "ios" ? "IOS_CheckIfAppIsClosed" : "MOB_CheckIfAppIsClosed";
5
7
  try {
6
- const state = await args.driver.queryAppState(await args.driver.getCurrentPackage());
8
+ let state;
9
+ if (args.platform === "ios") {
10
+ state = await args.driver.queryAppState(args.driver.capabilities["appium:bundleId"]);
11
+ }
12
+ else {
13
+ state = await args.driver.queryAppState(await args.driver.getCurrentPackage());
14
+ }
7
15
  const isClosed = state !== 4;
8
16
  if (!isClosed) {
9
17
  throw new Error("App is not closed");
10
18
  }
11
- args.scriptDataAppender.add(async () => {
12
- return {
13
- nlpName: 'MOB_CheckIfAppIsClosed',
14
- stepInputs: [],
15
- elementsData: []
16
- };
19
+ (0, appendScriptData_js_1.appendScriptData)({
20
+ scriptDataAppender: args.scriptDataAppender,
21
+ nlpName: nlpName
17
22
  });
18
23
  }
19
24
  catch (error) {
20
- args.scriptDataAppender.setErrorNLP("MOB_CheckIfAppIsClosed");
21
- throw new Error(`enter action failed:`, { cause: error });
25
+ args.scriptDataAppender.setErrorNLP(nlpName);
26
+ throw new Error(`App is not closed:`, { cause: error });
22
27
  }
23
28
  }
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MOB_RunAppInBackground = MOB_RunAppInBackground;
4
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
4
5
  async function MOB_RunAppInBackground(args) {
6
+ const nlpName = args.platform === "ios" ? "IOS_RunAppInBackground" : "MOB_RunAppInBackground";
5
7
  try {
6
8
  await args.driver.execute('mobile: backgroundApp', {
7
- seconds: Number(args.value)
9
+ seconds: Number(args.value || "5")
8
10
  });
9
- args.scriptDataAppender.add(async () => {
10
- return {
11
- nlpName: 'MOB_RunAppInBackground',
12
- stepInputs: [args.value],
13
- elementsData: []
14
- };
11
+ (0, appendScriptData_js_1.appendScriptData)({
12
+ scriptDataAppender: args.scriptDataAppender,
13
+ nlpName: nlpName,
14
+ stepInputs: [args.value]
15
15
  });
16
16
  }
17
17
  catch (error) {
18
- args.scriptDataAppender.setErrorNLP("MOB_RunAppInBackground");
19
- throw new Error("MOB_RunAppInBackground failed", { cause: error });
18
+ args.scriptDataAppender.setErrorNLP(nlpName);
19
+ throw new Error("RunAppInBackground action failed", { cause: error });
20
20
  }
21
21
  }
@@ -1,5 +1,2 @@
1
1
  import { MOB_ActivateAppUsingAppPackageInterface } from "../../interface/elementlessInterface.js";
2
- /**
3
- * Reuses InstallAPK logic as per user's Python implementation
4
- */
5
2
  export declare function ActivateAppUsingAppPackage(args: MOB_ActivateAppUsingAppPackageInterface): Promise<void>;
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ActivateAppUsingAppPackage = ActivateAppUsingAppPackage;
4
- /**
5
- * Reuses InstallAPK logic as per user's Python implementation
6
- */
4
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
7
5
  async function ActivateAppUsingAppPackage(args) {
6
+ const nlpName = args.platform === "ios" ? "IOS_ActivateAppUsingBundleID" : "MOB_ActivateAppUsingAppPackage";
8
7
  try {
9
8
  await args.driver.activateApp(args.value);
10
- args.scriptDataAppender.add(async () => ({
11
- nlpName: 'MOB_ActivateAppUsingAppPackage',
9
+ (0, appendScriptData_js_1.appendScriptData)({
10
+ scriptDataAppender: args.scriptDataAppender,
11
+ nlpName: nlpName,
12
12
  stepInputs: [args.value],
13
- elementsData: []
14
- }));
13
+ });
15
14
  }
16
15
  catch (error) {
17
- args.scriptDataAppender.setErrorNLP("MOB_ActivateAppUsingAppPackage");
18
- throw new Error("MOB_ActivateAppUsingAppPackage action failed", { cause: error });
16
+ args.scriptDataAppender.setErrorNLP(nlpName);
17
+ throw new Error("ActivateAppUsingAppPackage action failed", { cause: error });
19
18
  }
20
19
  }
@@ -0,0 +1,2 @@
1
+ import { GetOtpInterface } from "../../interface/getOtpInterface.js";
2
+ export declare function GetOtpAction(args: GetOtpInterface): Promise<void>;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetOtpAction = GetOtpAction;
4
+ const logData_js_1 = require("../../../../utils/logger/logData.js");
5
+ const child_process_1 = require("child_process");
6
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
7
+ async function GetOtpAction(args) {
8
+ try {
9
+ const udid = args.driver.capabilities["appium:udid"] || args.driver.capabilities.udid;
10
+ const cmdPrefix = udid
11
+ ? `${args.adbPath} -s ${udid} shell`
12
+ : `${args.adbPath} shell`;
13
+ const packageName = (0, child_process_1.execSync)(`${cmdPrefix} cmd role get-role-holders android.app.role.SMS`.trim(), { encoding: "utf8" });
14
+ logData_js_1.logger.info("the default app is ", packageName);
15
+ const expectedHeader = args.selector.trim().toLowerCase();
16
+ const getLatestMatchingSms = () => {
17
+ const inboxSms = (0, child_process_1.execSync)(`${cmdPrefix} "content query --uri content://sms/inbox --projection _id:date:address:body --sort 'date DESC'"`, { encoding: "utf8" }).trim();
18
+ const messages = [...inboxSms.matchAll(/(?:^|\r?\n)Row:\s*\d+\s+_id=(\d+),\s*date=(\d+),\s*address=(.*?),\s*body=(.*?)(?=\r?\nRow:|$)/gs)]
19
+ .map((match) => ({
20
+ id: match[1],
21
+ date: Number(match[2]),
22
+ address: match[3].trim(),
23
+ body: match[4].trim()
24
+ })).slice(0, 5);
25
+ return messages.find((message) => message.address.toLowerCase().includes(expectedHeader));
26
+ };
27
+ const existingSms = getLatestMatchingSms();
28
+ const now = Date.now();
29
+ if (existingSms && now - existingSms.date <= (Number(args.timeFrom) * 1000)) {
30
+ const smsBody = existingSms.body;
31
+ logData_js_1.logger.info("SMS body:", smsBody);
32
+ let regex;
33
+ if (args.otpExtractor) {
34
+ const otpResult = await args.otpExtractor(smsBody);
35
+ if (otpResult?.otp && otpResult.regex) {
36
+ regex = otpResult.regex;
37
+ logData_js_1.logger.info("Extracted OTP:", otpResult.otp, "Generated Regex:", otpResult.regex);
38
+ }
39
+ else {
40
+ logData_js_1.logger.info("LLM could not find an OTP in the SMS body.");
41
+ }
42
+ }
43
+ (0, appendScriptData_js_1.appendScriptData)({
44
+ scriptDataAppender: args.scriptDataAppender,
45
+ nlpName: "MOB_FetchOtpFromMessages",
46
+ stepInputs: [existingSms.address, args.timeFrom, args.waitTime],
47
+ platform: args.platform
48
+ });
49
+ (0, appendScriptData_js_1.appendScriptData)({
50
+ scriptDataAppender: args.scriptDataAppender,
51
+ nlpName: "StringSubStringUsingRegex",
52
+ stepInputs: [smsBody, regex],
53
+ platform: args.platform
54
+ });
55
+ return;
56
+ }
57
+ const baselineId = existingSms?.id;
58
+ const pollingStartedAt = now;
59
+ const pollingDeadline = pollingStartedAt + (Number(args.waitTime) * 1000);
60
+ while (Date.now() < pollingDeadline) {
61
+ const latestSms = getLatestMatchingSms();
62
+ if (latestSms &&
63
+ latestSms.id !== baselineId &&
64
+ latestSms.date >= pollingStartedAt) {
65
+ const smsBody = latestSms.body;
66
+ logData_js_1.logger.info("SMS body:", smsBody);
67
+ let regex;
68
+ if (args.otpExtractor) {
69
+ const otpResult = await args.otpExtractor(smsBody);
70
+ if (otpResult?.otp && otpResult.regex) {
71
+ regex = otpResult.regex;
72
+ regex = regex.replace(/\\+/g, "\\");
73
+ logData_js_1.logger.info("Extracted OTP:", otpResult.otp, "Generated Regex:", otpResult.regex);
74
+ }
75
+ else {
76
+ logData_js_1.logger.error("LLM could not find an OTP in the SMS body.");
77
+ }
78
+ }
79
+ (0, appendScriptData_js_1.appendScriptData)({
80
+ scriptDataAppender: args.scriptDataAppender,
81
+ nlpName: "MOB_FetchOtpFromMessages",
82
+ stepInputs: [latestSms.address, args.timeFrom, args.waitTime],
83
+ platform: args.platform
84
+ });
85
+ (0, appendScriptData_js_1.appendScriptData)({
86
+ scriptDataAppender: args.scriptDataAppender,
87
+ nlpName: "StringSubStringUsingRegex",
88
+ stepInputs: [smsBody, regex],
89
+ platform: args.platform
90
+ });
91
+ return;
92
+ }
93
+ await new Promise((resolve) => setTimeout(resolve, 2000));
94
+ }
95
+ throw new Error(`Timed out waiting up to 60 seconds for an SMS with header: ${args.selector}`);
96
+ }
97
+ catch (error) {
98
+ args.scriptDataAppender.setErrorNLP("getOtp");
99
+ throw new Error("GettingOtp action failed", { cause: error });
100
+ }
101
+ }
@@ -5,42 +5,83 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.InstallAPK = InstallAPK;
7
7
  const logData_js_1 = require("../../../../utils/logger/logData.js");
8
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
8
9
  const fs_1 = __importDefault(require("fs"));
9
10
  const path_1 = __importDefault(require("path"));
10
11
  async function InstallAPK(args) {
11
- try {
12
- const apkPath = args.value.trim();
13
- logData_js_1.logger.info(`Installing APK: ${apkPath}`);
14
- let installed = false;
15
- // 1. Direct install if it looks like a path
16
- if (apkPath.toLowerCase().endsWith(".apk") || apkPath.includes("/") || apkPath.includes("\\")) {
17
- await args.driver.execute("mobile: installApp", {
18
- appPath: apkPath
19
- });
20
- installed = true;
21
- }
22
- // 2. Search for APK in current directory
23
- if (!installed) {
24
- const files = fs_1.default.readdirSync(process.cwd());
25
- const apkFile = files.find(f => f.toLowerCase().includes(apkPath.toLowerCase()) && f.toLowerCase().endsWith(".apk"));
26
- if (apkFile) {
27
- const apkPath = path_1.default.resolve(process.cwd(), apkFile);
28
- logData_js_1.logger.info(`Found APK for installation: ${apkPath}`);
29
- await args.driver.installApp(apkPath);
30
- installed = true;
12
+ switch (args.platform) {
13
+ case "android":
14
+ try {
15
+ const apkPath = args.value.trim();
16
+ logData_js_1.logger.info(`Installing APK: ${apkPath}`);
17
+ let installed = false;
18
+ // 1. Direct install if it looks like a path
19
+ if (apkPath.toLowerCase().endsWith(".apk") || apkPath.includes("/") || apkPath.includes("\\")) {
20
+ await args.driver.execute("mobile: installApp", {
21
+ appPath: apkPath
22
+ });
23
+ installed = true;
24
+ }
25
+ if (!installed) {
26
+ const files = fs_1.default.readdirSync(process.cwd());
27
+ const apkFile = files.find(f => f.toLowerCase().includes(apkPath.toLowerCase()) && f.toLowerCase().endsWith(".apk"));
28
+ if (apkFile) {
29
+ const apkPath = path_1.default.resolve(process.cwd(), apkFile);
30
+ logData_js_1.logger.info(`Found APK for installation: ${apkPath}`);
31
+ await args.driver.installApp(apkPath);
32
+ installed = true;
33
+ }
34
+ }
35
+ if (!installed) {
36
+ throw new Error(`Could not find or install APK: ${apkPath}`);
37
+ }
38
+ (0, appendScriptData_js_1.appendScriptData)({
39
+ scriptDataAppender: args.scriptDataAppender,
40
+ nlpName: 'MOB_InstallAPK',
41
+ stepInputs: [args.value],
42
+ });
31
43
  }
32
- }
33
- if (!installed) {
34
- throw new Error(`Could not find or install APK: ${apkPath}`);
35
- }
36
- args.scriptDataAppender.add(async () => ({
37
- nlpName: 'MOB_InstallAPK',
38
- stepInputs: [args.value],
39
- elementsData: []
40
- }));
41
- }
42
- catch (error) {
43
- args.scriptDataAppender.setErrorNLP("MOB_InstallAPK");
44
- throw new Error("MOB_InstallAPK action failed", { cause: error });
44
+ catch (error) {
45
+ args.scriptDataAppender.setErrorNLP("MOB_InstallAPK");
46
+ throw new Error("MOB_InstallAPK action failed", { cause: error });
47
+ }
48
+ break;
49
+ case "ios":
50
+ default:
51
+ try {
52
+ const ipaPath = args.value.trim();
53
+ logData_js_1.logger.info(`Installing IPA: ${ipaPath}`);
54
+ let installed = false;
55
+ if (ipaPath.toLowerCase().endsWith(".ipa") ||
56
+ ipaPath.includes("/") ||
57
+ ipaPath.includes("\\")) {
58
+ await args.driver.installApp(ipaPath);
59
+ installed = true;
60
+ }
61
+ if (!installed) {
62
+ const files = fs_1.default.readdirSync(process.cwd());
63
+ const ipaFile = files.find((f) => f.toLowerCase().includes(ipaPath.toLowerCase()) &&
64
+ f.toLowerCase().endsWith(".ipa"));
65
+ if (ipaFile) {
66
+ const resolvedPath = path_1.default.resolve(process.cwd(), ipaFile);
67
+ logData_js_1.logger.info(`Found IPA for installation: ${resolvedPath}`);
68
+ await args.driver.installApp(resolvedPath);
69
+ installed = true;
70
+ }
71
+ }
72
+ if (!installed) {
73
+ throw new Error(`Could not find or install IPA: ${ipaPath}`);
74
+ }
75
+ (0, appendScriptData_js_1.appendScriptData)({
76
+ scriptDataAppender: args.scriptDataAppender,
77
+ nlpName: 'IOS_InstallIPA',
78
+ stepInputs: [args.value],
79
+ });
80
+ }
81
+ catch (error) {
82
+ args.scriptDataAppender.setErrorNLP("IOS_InstallIPA");
83
+ throw new Error("IOS_InstallIPA action failed", { cause: error });
84
+ }
85
+ break;
45
86
  }
46
87
  }
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsAppInstalled = IsAppInstalled;
4
4
  const logData_js_1 = require("../../../../utils/logger/logData.js");
5
5
  const child_process_1 = require("child_process");
6
+ const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
6
7
  async function IsAppInstalled(args) {
8
+ const nlpName = args.platform === "ios" ? "IOS_IsAppInstalled" : "MOB_IsAppInstalled";
7
9
  try {
8
10
  const target = args.value.trim();
9
11
  logData_js_1.logger.info(`Checking if app is installed: ${target}`);
@@ -12,7 +14,7 @@ async function IsAppInstalled(args) {
12
14
  isInstalled = await args.driver.isAppInstalled(target);
13
15
  }
14
16
  catch (e) {
15
- throw new Error("MOB_IsAppInstalled action failed", { cause: e });
17
+ throw new Error("IsAppInstalled action failed", { cause: e });
16
18
  }
17
19
  if (!isInstalled) {
18
20
  const udid = args.driver.capabilities["appium:udid"] || args.driver.capabilities.udid;
@@ -25,14 +27,14 @@ async function IsAppInstalled(args) {
25
27
  if (!isInstalled) {
26
28
  throw new Error(`Could not find or install APK: ${target}`);
27
29
  }
28
- args.scriptDataAppender.add(async () => ({
29
- nlpName: 'MOB_IsAppInstalled',
30
- stepInputs: [args.value, isInstalled],
31
- elementsData: []
32
- }));
30
+ (0, appendScriptData_js_1.appendScriptData)({
31
+ scriptDataAppender: args.scriptDataAppender,
32
+ nlpName: nlpName,
33
+ stepInputs: [args.value],
34
+ });
33
35
  }
34
36
  catch (error) {
35
- args.scriptDataAppender.setErrorNLP("MOB_IsAppInstalled");
36
- throw new Error("MOB_IsAppInstalled action failed", { cause: error });
37
+ args.scriptDataAppender.setErrorNLP(nlpName);
38
+ throw new Error("IsAppInstalled action failed", { cause: error });
37
39
  }
38
40
  }