ff-automationv2 2.2.27 → 2.2.29

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 (521) hide show
  1. package/dist/ai/llmcalls/llmAction.d.ts +9 -4
  2. package/dist/ai/llmcalls/llmAction.js +173 -37
  3. package/dist/ai/llmcalls/parseLlmOputput.js +18 -6
  4. package/dist/ai/llmprompts/promptRegistry.js +11 -0
  5. package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +19 -10
  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 +120 -62
  10. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +33 -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 +13 -11
  14. package/dist/ai/llmprompts/systemPrompts/userStoryToListPrompt.js +1 -1
  15. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +20 -18
  16. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +9 -9
  17. package/dist/ai/llmprompts/systemPrompts/visionPrompt.js +4 -2
  18. package/dist/ai/llmprompts/systemPrompts/visionPromptMobile.js +1 -0
  19. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPrompt.js +10 -9
  20. package/dist/ai/llmprompts/systemPrompts/waitActionExtractorPromptMob.js +8 -7
  21. package/dist/ai/llmprompts/userPrompts/userPrompt.js +7 -8
  22. package/dist/automation/actions/executor.d.ts +38 -34
  23. package/dist/automation/actions/executor.js +280 -166
  24. package/dist/automation/actions/interaction/alert/clickCancelOnAlertPopup.js +4 -4
  25. package/dist/automation/actions/interaction/alert/clickOkOnAlertPopup.js +4 -4
  26. package/dist/automation/actions/interaction/alert/enterDataToAlert.js +4 -3
  27. package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -4
  28. package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +4 -3
  29. package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +10 -4
  30. package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +4 -3
  31. package/dist/automation/actions/interaction/alert/waitTillAlertIsPresent.js +5 -5
  32. package/dist/automation/actions/interaction/clear/clear.js +33 -26
  33. package/dist/automation/actions/interaction/clear/clearAndEnter.js +33 -26
  34. package/dist/automation/actions/interaction/click/MOB_DoubleTapAtSpecifiedLocation.js +5 -6
  35. package/dist/automation/actions/interaction/click/click.js +57 -25
  36. package/dist/automation/actions/interaction/click/clickNtimes.js +29 -24
  37. package/dist/automation/actions/interaction/click/clickUsingJs.js +12 -12
  38. package/dist/automation/actions/interaction/click/doubleClick.js +32 -25
  39. package/dist/automation/actions/interaction/click/rightClick.js +18 -13
  40. package/dist/automation/actions/interaction/click/tapOnSpecifiedLocation.js +7 -5
  41. package/dist/automation/actions/interaction/click/waitAndClick.js +29 -27
  42. package/dist/automation/actions/interaction/dragAndDrop/dragAndDrop.js +2 -2
  43. package/dist/automation/actions/interaction/elementLessAction/MobCheckIfAppIsClosed.js +14 -9
  44. package/dist/automation/actions/interaction/elementLessAction/MobRunAppInBackgroundInterface.js +9 -9
  45. package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.d.ts +0 -3
  46. package/dist/automation/actions/interaction/elementlessActions/activateAppUsingAppPackage.js +8 -9
  47. package/dist/automation/actions/interaction/elementlessActions/installAPK.js +74 -33
  48. package/dist/automation/actions/interaction/elementlessActions/isAppInstalled.js +10 -8
  49. package/dist/automation/actions/interaction/elementlessActions/openAppWithApkFilePath.js +87 -68
  50. package/dist/automation/actions/interaction/elementlessActions/openMobileApplication.js +8 -6
  51. package/dist/automation/actions/interaction/elementlessActions/receiveMessageOnEmulator.js +4 -3
  52. package/dist/automation/actions/interaction/elementlessActions/terminateAppUsingAppPackage.js +8 -6
  53. package/dist/automation/actions/interaction/elementlessActions/uninstallAPK.js +76 -32
  54. package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +17 -13
  55. package/dist/automation/actions/interaction/enterActions/enterInput.js +50 -30
  56. package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +32 -24
  57. package/dist/automation/actions/interaction/enterActions/enterUrl.js +22 -17
  58. package/dist/automation/actions/interaction/enterActions/enterusingJs.js +19 -13
  59. package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +33 -26
  60. package/dist/automation/actions/interaction/find/MOB_FindElement.js +37 -21
  61. package/dist/automation/actions/interaction/find/findElements.js +49 -32
  62. package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +5 -6
  63. package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +4 -6
  64. package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +8 -9
  65. package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +20 -10
  66. package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +7 -9
  67. package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +4 -6
  68. package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +4 -6
  69. package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +4 -6
  70. package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +4 -6
  71. package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +4 -6
  72. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +4 -6
  73. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +4 -6
  74. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +4 -6
  75. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +5 -6
  76. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +4 -6
  77. package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +4 -6
  78. package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +4 -6
  79. package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +20 -9
  80. package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +7 -8
  81. package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +4 -6
  82. package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +7 -8
  83. package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +12 -11
  84. package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +4 -6
  85. package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +4 -6
  86. package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +20 -12
  87. package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +20 -12
  88. package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +4 -6
  89. package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +4 -6
  90. package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +4 -6
  91. package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +4 -6
  92. package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +11 -8
  93. package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +12 -11
  94. package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +4 -6
  95. package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +4 -4
  96. package/dist/automation/actions/interaction/get/getAllBrokenImages.js +4 -4
  97. package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +4 -4
  98. package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +5 -5
  99. package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +4 -4
  100. package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +5 -5
  101. package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +5 -5
  102. package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +5 -5
  103. package/dist/automation/actions/interaction/get/getAllCookieNames.js +5 -5
  104. package/dist/automation/actions/interaction/get/getAllCookieValues.js +5 -5
  105. package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +12 -12
  106. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +12 -12
  107. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +12 -12
  108. package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +12 -12
  109. package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -5
  110. package/dist/automation/actions/interaction/get/getAttribute.js +27 -25
  111. package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +12 -12
  112. package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +12 -12
  113. package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +12 -12
  114. package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +12 -12
  115. package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +12 -12
  116. package/dist/automation/actions/interaction/get/getAudioMediaLength.js +12 -12
  117. package/dist/automation/actions/interaction/get/getAudioMediaSource.js +12 -12
  118. package/dist/automation/actions/interaction/get/getBestPracticesScore.js +4 -3
  119. package/dist/automation/actions/interaction/get/getBrowserCount.js +4 -4
  120. package/dist/automation/actions/interaction/get/getBrowserVersion.js +4 -4
  121. package/dist/automation/actions/interaction/get/getCapabilityNames.js +4 -4
  122. package/dist/automation/actions/interaction/get/getClipBoardText.js +4 -4
  123. package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +5 -4
  124. package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +5 -4
  125. package/dist/automation/actions/interaction/get/getCssValue.js +12 -12
  126. package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +4 -4
  127. package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -5
  128. package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +4 -4
  129. package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +5 -5
  130. package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +5 -5
  131. package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +5 -5
  132. package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +5 -5
  133. package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +9 -10
  134. package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -4
  135. package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -4
  136. package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +5 -4
  137. package/dist/automation/actions/interaction/get/getDriverInstance.js +12 -11
  138. package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +5 -5
  139. package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +12 -12
  140. package/dist/automation/actions/interaction/get/getFullPaintTime.js +5 -5
  141. package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +4 -4
  142. package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +4 -4
  143. package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +12 -12
  144. package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +4 -4
  145. package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +11 -10
  146. package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +4 -4
  147. package/dist/automation/actions/interaction/get/getListBoxSize.js +12 -12
  148. package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +90 -44
  149. package/dist/automation/actions/interaction/get/getLocation.js +32 -31
  150. package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +4 -4
  151. package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +4 -4
  152. package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +4 -4
  153. package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +4 -4
  154. package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +4 -4
  155. package/dist/automation/actions/interaction/get/getOptions.js +12 -12
  156. package/dist/automation/actions/interaction/get/getPageTitle.js +5 -5
  157. package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +5 -5
  158. package/dist/automation/actions/interaction/get/getPwaScore.js +5 -4
  159. package/dist/automation/actions/interaction/get/getRect.js +26 -23
  160. package/dist/automation/actions/interaction/get/getScreenshot.js +12 -18
  161. package/dist/automation/actions/interaction/get/getScreenshotAs.js +27 -32
  162. package/dist/automation/actions/interaction/get/getSeoScore.js +5 -4
  163. package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +7 -6
  164. package/dist/automation/actions/interaction/get/getSingleApiResponse.js +12 -14
  165. package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +13 -13
  166. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +1 -1
  167. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +21 -17
  168. package/dist/automation/actions/interaction/get/getSize.js +26 -24
  169. package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -5
  170. package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +11 -13
  171. package/dist/automation/actions/interaction/get/getSystemProperty.js +7 -33
  172. package/dist/automation/actions/interaction/get/getTagName.js +26 -24
  173. package/dist/automation/actions/interaction/get/getText.js +28 -25
  174. package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +12 -12
  175. package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +5 -5
  176. package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -4
  177. package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -5
  178. package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +5 -5
  179. package/dist/automation/actions/interaction/get/getValueByCookieName.js +7 -11
  180. package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +7 -10
  181. package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +8 -6
  182. package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +12 -12
  183. package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +12 -12
  184. package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +12 -12
  185. package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +12 -12
  186. package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +12 -12
  187. package/dist/automation/actions/interaction/get/getVideoMediaLength.js +12 -12
  188. package/dist/automation/actions/interaction/get/getVideoMediaSource.js +12 -12
  189. package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +5 -5
  190. package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +12 -12
  191. package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +5 -5
  192. package/dist/automation/actions/interaction/get/getWrappedElement.js +12 -12
  193. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +14 -14
  194. package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +5 -4
  195. package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +26 -24
  196. package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +5 -5
  197. package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +26 -24
  198. package/dist/automation/actions/interaction/iframe/switchToDefaultContent.js +5 -5
  199. package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOff.js +5 -5
  200. package/dist/automation/actions/interaction/inputlessActions/AirplaneModeSwitchOn.js +5 -5
  201. package/dist/automation/actions/interaction/inputlessActions/Break.js +5 -5
  202. package/dist/automation/actions/interaction/inputlessActions/Continue.js +5 -5
  203. package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOff.js +5 -5
  204. package/dist/automation/actions/interaction/inputlessActions/GpsSwitchOn.js +5 -5
  205. package/dist/automation/actions/interaction/inputlessActions/HideKeyboard.js +13 -7
  206. package/dist/automation/actions/interaction/inputlessActions/LockDevice.js +5 -5
  207. package/dist/automation/actions/interaction/inputlessActions/OpenChromeBrowser.js +18 -6
  208. package/dist/automation/actions/interaction/inputlessActions/OpenNotification.js +5 -5
  209. package/dist/automation/actions/interaction/inputlessActions/ResetApp.js +14 -7
  210. package/dist/automation/actions/interaction/inputlessActions/RestartCurrentDevice.js +5 -5
  211. package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsLandscape.js +5 -5
  212. package/dist/automation/actions/interaction/inputlessActions/SetDeviceOrientationAsPortrait.js +5 -5
  213. package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOff.js +5 -5
  214. package/dist/automation/actions/interaction/inputlessActions/SetEmulatorPowerStateOn.js +5 -5
  215. package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOff.js +5 -5
  216. package/dist/automation/actions/interaction/inputlessActions/WifiSwitchOn.js +5 -5
  217. package/dist/automation/actions/interaction/maximize/maximize.js +5 -5
  218. package/dist/automation/actions/interaction/maximize/minimize.js +5 -5
  219. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.d.ts +2 -0
  220. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorNTImes.js +31 -0
  221. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.d.ts +2 -0
  222. package/dist/automation/actions/interaction/mouse/mouseClickOnCurrentCursorPoint.js +27 -0
  223. package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.d.ts +2 -0
  224. package/dist/automation/actions/interaction/mouse/mouseDoubleClickAtCursorPoint.js +31 -0
  225. package/dist/automation/actions/interaction/mouse/mouseHover.d.ts +2 -0
  226. package/dist/automation/actions/interaction/mouse/mouseHover.js +36 -0
  227. package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.d.ts +2 -0
  228. package/dist/automation/actions/interaction/mouse/mouseReleaseLeftMouseButton.js +42 -0
  229. package/dist/automation/actions/interaction/mouse/pressAndHold.d.ts +2 -0
  230. package/dist/automation/actions/interaction/mouse/pressAndHold.js +47 -0
  231. package/dist/automation/actions/interaction/navigation/goBack.js +5 -5
  232. package/dist/automation/actions/interaction/navigation/navigate.js +5 -4
  233. package/dist/automation/actions/interaction/navigation/refresh.js +5 -5
  234. package/dist/automation/actions/interaction/pinch/PinchInByPercentMob.js +12 -13
  235. package/dist/automation/actions/interaction/pinch/PinchOutByPercentMob.js +12 -11
  236. package/dist/automation/actions/interaction/press/longPress.js +15 -11
  237. package/dist/automation/actions/interaction/press/mobPressBackKey.js +4 -6
  238. package/dist/automation/actions/interaction/press/mobPressBackSpaceKey.js +12 -8
  239. package/dist/automation/actions/interaction/press/mobPressSpaceKey.js +12 -8
  240. package/dist/automation/actions/interaction/press/pressAnyKey.js +25 -16
  241. package/dist/automation/actions/interaction/press/pressAnyKeyNTimes.js +23 -14
  242. package/dist/automation/actions/interaction/press/pressEnterKey.js +21 -14
  243. package/dist/automation/actions/interaction/press/pressHomeKey.js +16 -9
  244. package/dist/automation/actions/interaction/scroll/scrollHorizontallyTillElementIsVisible.js +20 -15
  245. package/dist/automation/actions/interaction/scroll/scrollPageToSpecificLocation.js +8 -7
  246. package/dist/automation/actions/interaction/scroll/scrollToElement.js +18 -13
  247. package/dist/automation/actions/interaction/scroll/scrollVerticallyTillElementIsVisible.js +20 -15
  248. package/dist/automation/actions/interaction/set/MOB_SetContext.js +5 -6
  249. package/dist/automation/actions/interaction/set/MOB_SetEmulatorPowerPercentage.js +5 -6
  250. package/dist/automation/actions/interaction/set/setClipBoardText.js +13 -13
  251. package/dist/automation/actions/interaction/shadowDom/shadowDomClick.js +5 -4
  252. package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +5 -4
  253. package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +6 -5
  254. package/dist/automation/actions/interaction/shadowDom/shadowDomUpload.js +13 -9
  255. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyPartialText.js +6 -5
  256. package/dist/automation/actions/interaction/shadowDom/shadowDomVerifyText.js +6 -5
  257. package/dist/automation/actions/interaction/swipe/swipeDirectionNTimes.js +12 -10
  258. package/dist/automation/actions/interaction/swipe/swipeDownToElement.js +13 -10
  259. package/dist/automation/actions/interaction/swipe/swipeIos.d.ts +2 -0
  260. package/dist/automation/actions/interaction/swipe/swipeIos.js +52 -0
  261. package/dist/automation/actions/interaction/swipe/swipeLeftToElement.js +16 -11
  262. package/dist/automation/actions/interaction/swipe/swipeRightToElement.js +15 -10
  263. package/dist/automation/actions/interaction/swipe/swipeUpToElement.js +12 -10
  264. package/dist/automation/actions/interaction/swipe/swipeUpToElementForMWeb.js +16 -13
  265. package/dist/automation/actions/interaction/swipe/swipeUsingReferenceElement.js +19 -16
  266. package/dist/automation/actions/interaction/switch/switchToNewTabBasedOnTitle.js +7 -6
  267. package/dist/automation/actions/interaction/switch/switchToNewWindowBasedOnTitle.js +6 -5
  268. package/dist/automation/actions/interaction/switch/switchToParentWindow.js +6 -6
  269. package/dist/automation/actions/interaction/switch/switchToTabBasedOnUrl.js +6 -5
  270. package/dist/automation/actions/interaction/switch/switchToWindowBasedOnURL.js +5 -4
  271. package/dist/automation/actions/interaction/switch/switchToWindowIfTitleContainsString.js +7 -6
  272. package/dist/automation/actions/interaction/switch/switchToWindowIfUrlContainsString.js +6 -5
  273. package/dist/automation/actions/interaction/upload/uploadfile.js +21 -18
  274. package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +8 -8
  275. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOff.js +7 -7
  276. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAirplaneModeOn.js +7 -7
  277. package/dist/automation/actions/interaction/verify/MOB_VerifyIfAppIsClosed.js +19 -10
  278. package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsLocked.js +7 -6
  279. package/dist/automation/actions/interaction/verify/MOB_VerifyIfDeviceIsUnlocked.js +7 -7
  280. package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOff.js +12 -8
  281. package/dist/automation/actions/interaction/verify/MOB_VerifyIfGpsOn.js +12 -8
  282. package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsHidden.js +7 -7
  283. package/dist/automation/actions/interaction/verify/MOB_VerifyIfKeyboardIsShown.js +8 -7
  284. package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOff.js +8 -7
  285. package/dist/automation/actions/interaction/verify/MOB_VerifyIfWifiOn.js +8 -7
  286. package/dist/automation/actions/interaction/verify/VerifyAccessibilityScore.js +8 -7
  287. package/dist/automation/actions/interaction/verify/VerifyAllBrokenImages.js +6 -6
  288. package/dist/automation/actions/interaction/verify/VerifyAllBrowserWindowsClosed.js +12 -10
  289. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreDeSelected.js +19 -19
  290. package/dist/automation/actions/interaction/verify/VerifyAllOptionsAreSelected.js +12 -12
  291. package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +35 -53
  292. package/dist/automation/actions/interaction/verify/VerifyBestPracticesScore.js +6 -5
  293. package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +6 -5
  294. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +7 -6
  295. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +7 -6
  296. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +7 -6
  297. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +6 -5
  298. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +5 -4
  299. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +6 -5
  300. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +6 -5
  301. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +7 -6
  302. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsNotSelected.js +12 -12
  303. package/dist/automation/actions/interaction/verify/VerifyCheckBoxIsSelected.js +12 -12
  304. package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +20 -14
  305. package/dist/automation/actions/interaction/verify/VerifyElementIsClickable.js +28 -25
  306. package/dist/automation/actions/interaction/verify/VerifyElementIsDisabled.js +29 -27
  307. package/dist/automation/actions/interaction/verify/VerifyElementIsDisplayed.js +26 -24
  308. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabled.js +26 -24
  309. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.d.ts +2 -0
  310. package/dist/automation/actions/interaction/verify/VerifyElementIsEnabledInSpecifiedTime.js +84 -0
  311. package/dist/automation/actions/interaction/verify/VerifyElementIsNotDisplayed.js +51 -28
  312. package/dist/automation/actions/interaction/verify/VerifyElementIsSelected.js +39 -27
  313. package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.d.ts +2 -0
  314. package/dist/automation/actions/interaction/verify/VerifyElementIsSelectedInSpecifiedTime.js +83 -0
  315. package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +23 -23
  316. package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +23 -23
  317. package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +44 -14
  318. package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +4 -4
  319. package/dist/automation/actions/interaction/verify/VerifyIfAudioEnded.js +12 -12
  320. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsMuted.js +12 -12
  321. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPaused.js +12 -12
  322. package/dist/automation/actions/interaction/verify/VerifyIfAudioIsPlaying.js +12 -12
  323. package/dist/automation/actions/interaction/verify/VerifyIfBrowserWindowIsClosed.js +8 -9
  324. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +6 -5
  325. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +5 -4
  326. package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +5 -5
  327. package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +14 -14
  328. package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +6 -5
  329. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +6 -5
  330. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +6 -5
  331. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +5 -4
  332. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +5 -4
  333. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsDeselectedInElement.js +13 -13
  334. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithIndexIsSelectedInListBox.js +13 -13
  335. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +12 -12
  336. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +12 -12
  337. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +12 -12
  338. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +12 -12
  339. package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +12 -12
  340. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodeOfALinkIsStatusCode.js +7 -6
  341. package/dist/automation/actions/interaction/verify/VerifyIfStatusCodesOfLinks.js +30 -22
  342. package/dist/automation/actions/interaction/verify/VerifyIfVideoEnded.js +12 -12
  343. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsMuted.js +12 -12
  344. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPaused.js +12 -12
  345. package/dist/automation/actions/interaction/verify/VerifyIfVideoIsPlaying.js +12 -12
  346. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInMute.js +12 -12
  347. package/dist/automation/actions/interaction/verify/VerifyIfVideoPlayingInUnmute.js +12 -12
  348. package/dist/automation/actions/interaction/verify/VerifyIfXAndYCoordinateOfElement.js +25 -23
  349. package/dist/automation/actions/interaction/verify/VerifyLinkNavigatesToTitle.js +7 -6
  350. package/dist/automation/actions/interaction/verify/VerifyListBoxOptionsAreSorted.js +12 -12
  351. package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +6 -5
  352. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByTagName.js +7 -5
  353. package/dist/automation/actions/interaction/verify/VerifyNumberOfElementsByXpath.js +13 -7
  354. package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +33 -42
  355. package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +7 -6
  356. package/dist/automation/actions/interaction/verify/VerifyPerformanceScore.js +7 -6
  357. package/dist/automation/actions/interaction/verify/VerifyPwaScore.js +6 -5
  358. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsNotSelected.js +12 -12
  359. package/dist/automation/actions/interaction/verify/VerifyRadioButtonIsSelected.js +12 -12
  360. package/dist/automation/actions/interaction/verify/VerifySeoScore.js +6 -5
  361. package/dist/automation/actions/interaction/verify/VerifyTagName.js +12 -12
  362. package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +20 -31
  363. package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +8 -7
  364. package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +6 -5
  365. package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +12 -12
  366. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsCleared.js +12 -12
  367. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +12 -12
  368. package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +23 -23
  369. package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +23 -23
  370. package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +26 -23
  371. package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +26 -22
  372. package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.d.ts +2 -0
  373. package/dist/automation/actions/interaction/verify/verifyElementIsDisplayedWithinSpecifiedTime.js +85 -0
  374. package/dist/automation/actions/interaction/verify/verifypartialtext.js +28 -25
  375. package/dist/automation/actions/interaction/verify/verifytext.js +30 -30
  376. package/dist/automation/actions/interaction/wait/MOB_WaitTillAllElementsAreInvisible.ts.js +5 -6
  377. package/dist/automation/actions/interaction/wait/MOB_WaitTillAttributeOfElementContainsString.js +17 -14
  378. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsEnabled.js +12 -11
  379. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsInvisible.js +14 -12
  380. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsSelected.js +12 -11
  381. package/dist/automation/actions/interaction/wait/MOB_WaitTillElementIsVisible.js +15 -13
  382. package/dist/automation/actions/interaction/wait/MOB_WaitTillStalenessOfElement.js +12 -11
  383. package/dist/automation/actions/interaction/wait/wait.js +5 -4
  384. package/dist/automation/actions/interaction/wait/waitTillAttributeOfElementIsString.js +26 -24
  385. package/dist/automation/actions/interaction/wait/waitTillElementContainsText.js +26 -24
  386. package/dist/automation/actions/interaction/wait/waitTillElementHasText.js +26 -24
  387. package/dist/automation/actions/interaction/wait/waitTillElementIsClickable.js +28 -25
  388. package/dist/automation/actions/interaction/wait/waitTillPresenceOfAllElements.js +32 -22
  389. package/dist/automation/actions/interaction/wait/waitTillPresenceOfElement.js +26 -24
  390. package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +148 -0
  391. package/dist/automation/actions/interface/FireFlinkResponseSchema.js +209 -0
  392. package/dist/automation/actions/interface/alertActionInterface.d.ts +1 -0
  393. package/dist/automation/actions/interface/findActionInterface.d.ts +3 -0
  394. package/dist/automation/actions/interface/getActionInterface.d.ts +76 -66
  395. package/dist/automation/actions/interface/interactionActionInterface.d.ts +5 -0
  396. package/dist/automation/actions/interface/mouseActionsinterface.d.ts +51 -0
  397. package/dist/automation/actions/interface/mouseActionsinterface.js +2 -0
  398. package/dist/automation/actions/interface/pinchActionInterface.d.ts +7 -0
  399. package/dist/automation/actions/interface/pressActionInterface.d.ts +4 -0
  400. package/dist/automation/actions/interface/swipeActionInterface.d.ts +25 -10
  401. package/dist/automation/actions/interface/verifyActionInterface.d.ts +36 -0
  402. package/dist/automation/actions/interface/waitActionInterface.d.ts +19 -0
  403. package/dist/automation/browserSession/initiateBrowserSession.d.ts +1 -1
  404. package/dist/automation/browserSession/initiateBrowserSession.js +4 -4
  405. package/dist/automation/cloudSession/initiateCloudSession.js +3 -1
  406. package/dist/automation/mobileSession/initiateMobileSession.d.ts +25 -1
  407. package/dist/automation/mobileSession/initiateMobileSession.js +23 -10
  408. package/dist/core/constants/allAction.js +2 -1
  409. package/dist/core/constants/supportedActions.d.ts +1 -0
  410. package/dist/core/constants/supportedActions.js +17 -9
  411. package/dist/core/interfaces/actionInterface.d.ts +34 -33
  412. package/dist/core/interfaces/errorInfoInterface.d.ts +1 -1
  413. package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +4 -1
  414. package/dist/core/interfaces/llmConfigurationInterface.d.ts +3 -2
  415. package/dist/core/interfaces/llmResponseInterface.d.ts +10 -10
  416. package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +14 -0
  417. package/dist/core/interfaces/simplifyAndFlattenInterface.d.ts +5 -0
  418. package/dist/core/main/actionHandlerFactory.js +134 -64
  419. package/dist/core/main/executionContext.d.ts +1 -1
  420. package/dist/core/main/executionContext.js +1 -1
  421. package/dist/core/main/runAutomationScript.d.ts +1 -0
  422. package/dist/core/main/runAutomationScript.js +209 -90
  423. package/dist/core/main/stepProcessor.d.ts +2 -1
  424. package/dist/core/main/stepProcessor.js +2 -2
  425. package/dist/core/types/scriptTypesType.d.ts +1 -1
  426. package/dist/core/types/visionllmInputType.d.ts +4 -5
  427. package/dist/domAnalysis/getRelaventElements.d.ts +5 -1
  428. package/dist/domAnalysis/getRelaventElements.js +14 -5
  429. package/dist/domAnalysis/relativeElementsFromDom.d.ts +2 -1
  430. package/dist/domAnalysis/relativeElementsFromDom.js +66 -1
  431. package/dist/domAnalysis/searchBest.d.ts +5 -1
  432. package/dist/domAnalysis/searchBest.js +153 -50
  433. package/dist/domAnalysis/simplifyAndFlatten.d.ts +3 -2
  434. package/dist/domAnalysis/simplifyAndFlatten.js +109 -16
  435. package/dist/fireflinkData/fireflinkLocators/getListOfLocators.js +17 -11
  436. package/dist/fireflinkData/fireflinkLocators/{elementsFromHTML.d.ts → parser/getElementsFromHTML.d.ts} +3 -9
  437. package/dist/fireflinkData/fireflinkLocators/parser/getElementsFromHTML.js +557 -0
  438. package/dist/fireflinkData/fireflinkLocators/types/locator.d.ts +17 -0
  439. package/dist/fireflinkData/fireflinkLocators/types/locator.js +2 -0
  440. package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.d.ts +2 -0
  441. package/dist/fireflinkData/fireflinkLocators/utils/androidSelector.js +31 -0
  442. package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.d.ts +19 -0
  443. package/dist/fireflinkData/fireflinkLocators/utils/cssSelector.js +192 -0
  444. package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.d.ts +2 -0
  445. package/dist/fireflinkData/fireflinkLocators/utils/iosSelector.js +159 -0
  446. package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.d.ts +35 -0
  447. package/dist/fireflinkData/fireflinkLocators/utils/referenceXpath.js +590 -0
  448. package/dist/fireflinkData/fireflinkLocators/utils/xpath.d.ts +38 -0
  449. package/dist/fireflinkData/fireflinkLocators/utils/xpath.js +1182 -0
  450. package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.d.ts +137 -0
  451. package/dist/fireflinkData/fireflinkLocators/utils/xpathHelpers.js +1647 -0
  452. package/dist/fireflinkData/fireflinkScript/appendScriptData.d.ts +2 -0
  453. package/dist/fireflinkData/fireflinkScript/appendScriptData.js +51 -0
  454. package/dist/fireflinkData/fireflinkScript/scriptGenrationData.js +4 -0
  455. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.d.ts +4 -0
  456. package/dist/imageAnalysisMobile/annotatedScreenshotMobile.js +115 -7
  457. package/dist/imageAnalysisWeb/annotateScreenshot.js +4 -4
  458. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.d.ts +4 -1
  459. package/dist/imageAnalysisWeb/generateAnnotatedScreenshots.js +15 -17
  460. package/dist/llmConfig/llmConfiguration.d.ts +4 -3
  461. package/dist/llmConfig/llmConfiguration.js +41 -18
  462. package/dist/service/fireflink.service.d.ts +1 -1
  463. package/dist/service/fireflink.service.js +4 -4
  464. package/dist/tests/poc.d.ts +0 -1
  465. package/dist/tests/poc.js +211 -226
  466. package/dist/tests/test.d.ts +1 -0
  467. package/dist/tests/test.js +26 -0
  468. package/dist/tests/test12.d.ts +1 -0
  469. package/dist/tests/test12.js +78 -73
  470. package/dist/tests/testss.d.ts +1 -0
  471. package/dist/tests/testss.js +23 -0
  472. package/dist/utils/DomExtraction/jsForAttributeInjection.d.ts +2 -0
  473. package/dist/utils/DomExtraction/jsForAttributeInjection.js +220 -8
  474. package/dist/utils/InstancesDetails/getInstancesInfo.d.ts +26 -1
  475. package/dist/utils/InstancesDetails/getInstancesInfo.js +11 -5
  476. package/dist/utils/browserCap/capability.d.ts +10 -10
  477. package/dist/utils/browserCap/capability.js +21 -16
  478. package/dist/utils/frameWorkDetector/frameWorkDetector.d.ts +6 -0
  479. package/dist/utils/frameWorkDetector/frameWorkDetector.js +43 -0
  480. package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.d.ts +10 -0
  481. package/dist/utils/frameWorkDetector/frameWorkDetectorInterface.js +2 -0
  482. package/dist/utils/helpers/enterActionHelper.d.ts +1 -0
  483. package/dist/utils/helpers/enterActionHelper.js +2 -1
  484. package/dist/utils/helpers/platformContext.d.ts +3 -0
  485. package/dist/utils/helpers/platformContext.js +11 -0
  486. package/dist/utils/helpers/platformSyntax.d.ts +1 -0
  487. package/dist/utils/helpers/platformSyntax.js +17 -0
  488. package/dist/utils/helpers/sameActionsHelper.js +7 -2
  489. package/dist/utils/helpers/xpathcreation.d.ts +5 -1
  490. package/dist/utils/helpers/xpathcreation.js +43 -4
  491. package/dist/utils/iframesExtraction/findElementUsingFF.js +12 -9
  492. package/dist/utils/iframesExtraction/iframeInterface.d.ts +4 -0
  493. package/dist/utils/javascript/jsForShadowRoot.d.ts +1 -1
  494. package/dist/utils/javascript/jsForShadowRoot.js +4 -0
  495. package/dist/utils/javascript/jsForVision.d.ts +2 -2
  496. package/dist/utils/javascript/jsForVision.js +17 -5
  497. package/dist/utils/logger/logData.d.ts +1 -0
  498. package/dist/utils/logger/logData.js +19 -0
  499. package/dist/utils/sslConfig/apiCallPatch.d.ts +1 -0
  500. package/dist/utils/sslConfig/apiCallPatch.js +33 -0
  501. package/dist/utils/sslConfig/getSecureAgent.d.ts +2 -0
  502. package/dist/utils/sslConfig/getSecureAgent.js +30 -0
  503. package/dist/utils/swipe/domSearchHelper.d.ts +1 -1
  504. package/dist/utils/swipe/domSearchHelper.js +43 -42
  505. package/dist/utils/swipe/swipeMovement.js +28 -19
  506. package/package.json +21 -6
  507. package/dist/automation/actions/interaction/get/getAudioDimension.d.ts +0 -2
  508. package/dist/automation/actions/interaction/get/getAudioDimension.js +0 -34
  509. package/dist/automation/actions/interaction/get/getAudioHeight.d.ts +0 -2
  510. package/dist/automation/actions/interaction/get/getAudioHeight.js +0 -30
  511. package/dist/automation/actions/interaction/get/getAudioWidth.d.ts +0 -2
  512. package/dist/automation/actions/interaction/get/getAudioWidth.js +0 -30
  513. package/dist/automation/actions/interaction/get/getVideoDimension.d.ts +0 -2
  514. package/dist/automation/actions/interaction/get/getVideoDimension.js +0 -31
  515. package/dist/automation/actions/interaction/get/getVideoHeight.d.ts +0 -2
  516. package/dist/automation/actions/interaction/get/getVideoHeight.js +0 -28
  517. package/dist/automation/actions/interaction/get/getVideoWidth.d.ts +0 -2
  518. package/dist/automation/actions/interaction/get/getVideoWidth.js +0 -28
  519. package/dist/fireflinkData/fireflinkLocators/elementsFromHTML.js +0 -514
  520. package/dist/fireflinkData/fireflinkLocators/typeList.d.ts +0 -1
  521. package/dist/fireflinkData/fireflinkLocators/typeList.js +0 -33
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutomationRunner = void 0;
4
+ require("../../utils/sslConfig/apiCallPatch.js");
5
+ const platformContext_js_1 = require("../../utils/helpers/platformContext.js");
4
6
  const llmConfiguration_js_1 = require("../../llmConfig/llmConfiguration.js");
5
7
  const llmAction_js_1 = require("../../ai/llmcalls/llmAction.js");
6
8
  const executionContext_js_1 = require("./executionContext.js");
@@ -26,6 +28,9 @@ const logData_js_1 = require("../../utils/logger/logData.js");
26
28
  const sameActionsHelper_js_1 = require("../../utils/helpers/sameActionsHelper.js");
27
29
  const node_console_1 = require("node:console");
28
30
  const annotatedScreenshotMobile_js_1 = require("../../imageAnalysisMobile/annotatedScreenshotMobile.js");
31
+ const toon_1 = require("@toon-format/toon");
32
+ const platformSyntax_js_1 = require("../../utils/helpers/platformSyntax.js");
33
+ // import { encode } from '@toon-format/toon';
29
34
  class AutomationRunner {
30
35
  constructor() {
31
36
  this.KafkaPayload = {};
@@ -41,14 +46,19 @@ class AutomationRunner {
41
46
  logData_js_1.logger.info("Starting cleanup process...");
42
47
  domInfo = null;
43
48
  extractedRelevantDom = null;
44
- if ((context?.session) || (context?.androidSession)) {
49
+ if ((context?.session) || (context?.mobileSession)) {
45
50
  try {
46
51
  const platformHandlers = {
47
52
  android: async () => {
48
53
  if (driver?.sessionId) {
49
54
  await driver.deleteSession();
55
+ logData_js_1.logger.info("Android session deleted successfully");
56
+ }
57
+ },
58
+ ios: async () => {
59
+ if (driver?.sessionId) {
60
+ logData_js_1.logger.info("iOS session is not deleted");
50
61
  }
51
- logData_js_1.logger.info("Android session deleted successfully");
52
62
  },
53
63
  web: async () => {
54
64
  if (request.isCloud) {
@@ -91,18 +101,19 @@ class AutomationRunner {
91
101
  AutomationRunner.sessionTerminationDetails[request.testCaseId] = request.isTerminate;
92
102
  const apiService = new fireflinkApi_service_js_1.FireFlinkApiService();
93
103
  const fireflinkServiceInstance = new fireflink_service_js_1.fireflinkService(apiService, request.broker, request.sslConfig);
94
- const instanceDetails = await fireflinkServiceInstance.runGetInstancesDetails(request.projectId, request.token, request.serverHost);
104
+ const instanceDetails = await fireflinkServiceInstance.runGetInstancesDetails(request.projectId, request.token, request.serverHost, request.licenseId);
95
105
  const aiInfo = (0, getInstancesInfo_js_1.getAiInstanceInfo)(instanceDetails.responseObject);
96
106
  const context = new executionContext_js_1.ExecutionContext(request);
97
- const configProvider = new llmConfiguration_js_1.ServiceProviderBaseUrlProvider();
98
- const baseUrl = configProvider.getBaseUrl(aiInfo);
107
+ const configProvider = new llmConfiguration_js_1.ServiceProviderProviderConfiguration();
108
+ const provider = await configProvider.getProvider(aiInfo);
99
109
  let domInfo = null;
100
110
  let extractedRelevantDom = null;
101
111
  let errorInfo = {};
102
- const llm = new llmAction_js_1.llmAction(aiInfo.apiKey, baseUrl, aiInfo.model, aiInfo.visionApiKey);
112
+ const llm = new llmAction_js_1.llmAction(aiInfo.apiKey, provider, aiInfo.model, aiInfo.visionApiKey, aiInfo.accountType, aiInfo.enterpriseConfigFile, aiInfo.serviceProvider);
103
113
  let preCapturedDomInfo = null;
104
114
  const stepProcessor = new stepProcessor_js_1.StepProcessor(llm);
105
115
  const platform = request.platform.toLocaleLowerCase();
116
+ (0, platformContext_js_1.setPlatform)(platform);
106
117
  const actionHandlers = (0, actionHandlerFactory_js_1.createActionHandlers)(context);
107
118
  const domProcessor = new getRelaventElements_js_1.DomProcessingEngine();
108
119
  let stepCount = 1;
@@ -112,6 +123,7 @@ class AutomationRunner {
112
123
  logData_js_1.logger.info(listOfSteps);
113
124
  throw new Error("No executable manual steps were returned by the LLM.");
114
125
  }
126
+ logData_js_1.logger.info(`Service Provider --> ${aiInfo.serviceProvider} & Model --> ${aiInfo.model} `);
115
127
  const start_time = new Date().getTime();
116
128
  for (const step of listOfSteps) {
117
129
  let stepResult;
@@ -140,6 +152,19 @@ class AutomationRunner {
140
152
  input: { currentStep: step }
141
153
  });
142
154
  const action = result.response.action;
155
+ if (action === 'notwebopenaction') {
156
+ throw new Error(`Selected platform is invalid for the step: ${step}`);
157
+ }
158
+ if (!allAction_js_1.allKeywordAction.includes(action)) {
159
+ throw new Error(`Unsupported action at action or keyword exracter: ${action}`);
160
+ }
161
+ let handler = actionHandlers[action];
162
+ if (supportedActions_js_1.INPUTLESS_ACTIONS.includes(action)) {
163
+ logData_js_1.logger.info(result.response.keywords);
164
+ await handler({ keywords: result.response.keywords, step: step });
165
+ stepCount++;
166
+ continue;
167
+ }
143
168
  let elementName = result.response.elementName;
144
169
  if (elementName) {
145
170
  const baseName = elementName;
@@ -153,30 +178,30 @@ class AutomationRunner {
153
178
  result.response.elementName = elementName;
154
179
  usedElementNames.push(elementName);
155
180
  }
156
- if (!allAction_js_1.allKeywordAction.includes(action)) {
157
- throw new Error(`Unsupported action at action or keyword exracter: ${action}`);
158
- }
159
- let handler = actionHandlers[action];
160
- if (supportedActions_js_1.INPUTLESS_ACTIONS.includes(action)) {
161
- logData_js_1.logger.info(result.response.keywords);
162
- await handler({ keywords: result.response.keywords, step: step });
163
- stepCount++;
164
- continue;
165
- }
166
- if (platform == "web") {
167
- driver = await context.session.getCurrentDriver();
181
+ try {
182
+ if (platform == "web") {
183
+ driver = await context.session.getCurrentDriver();
184
+ }
185
+ else {
186
+ driver = await context.mobileSession.getCurrentDriver();
187
+ }
168
188
  }
169
- else {
170
- driver = await context.androidSession.getCurrentDriver();
189
+ catch (error) {
190
+ if (action == "verify") {
191
+ driver = null;
192
+ }
193
+ else {
194
+ throw error;
195
+ }
171
196
  }
172
- if (await (0, isAlertPresent_js_1.isAlertPresent)(driver) && action != "wait") {
197
+ if (await (0, isAlertPresent_js_1.isAlertPresent)(driver) && !["wait", "verify"].includes(action)) {
173
198
  logData_js_1.logger.info("Alert is present");
174
199
  stepResult = await stepProcessor.getLLMResponse({
175
200
  platform: platform,
176
201
  type: promptType_js_1.PromptType.FF_INSPECTOR,
177
202
  args: {
178
203
  stepAction: action,
179
- extractedDomJson: JSON.stringify(extractedRelevantDom, null, 2),
204
+ extractedDomJson: null,
180
205
  priorAndNextSteps,
181
206
  isAlert: true,
182
207
  isDrag: false
@@ -186,50 +211,78 @@ class AutomationRunner {
186
211
  stepAction = stepResult.response.action;
187
212
  handler = actionHandlers[stepAction];
188
213
  await handler({
189
- value: stepResult.response.input_text
214
+ value: stepResult.response.inputText
190
215
  });
216
+ stepCount++;
191
217
  continue;
192
218
  }
193
219
  else {
194
- if (preCapturedDomInfo) {
220
+ let toonDom;
221
+ if (preCapturedDomInfo && platform === "web") {
195
222
  logData_js_1.logger.info("Using pre-captured DOM from previous toaster detection");
196
223
  domInfo = preCapturedDomInfo;
197
224
  preCapturedDomInfo = null;
198
225
  }
199
226
  else {
200
- if (platform === "web") {
201
- domInfo = await (0, jsForAttributeInjection_js_1.getAnnotatedDOM)(driver);
202
- logData_js_1.logger.saveDOM(domInfo.dom, `annotated-dom-${stepCount}`);
227
+ try {
228
+ if (platform === "web") {
229
+ domInfo = await (0, jsForAttributeInjection_js_1.getAnnotatedDOM)(driver);
230
+ logData_js_1.logger.saveDOM(domInfo.dom, `annotated-dom-${stepCount}`);
231
+ const parser = new jsdom_1.JSDOM(domInfo.dom);
232
+ doc = parser.window.document;
233
+ }
234
+ else {
235
+ domInfo = await (0, jsForAttributeInjection_js_2.getAnnotatedDOMForMobile)(driver);
236
+ logData_js_1.logger.saveDOM(domInfo.dom, `annotated-dom-Mob-${stepCount}`);
237
+ const parser = new jsdom_1.JSDOM(domInfo.dom, {
238
+ contentType: "text/xml"
239
+ });
240
+ doc = parser.window.document;
241
+ }
242
+ if (platform === "web") {
243
+ extractedRelevantDom = await domProcessor.webProcess({
244
+ keywords: result.response.keywords,
245
+ rawDom: domInfo.dom,
246
+ stepCount: stepCount,
247
+ stepAction: action,
248
+ step: step,
249
+ platform: platform,
250
+ driver: driver
251
+ });
252
+ toonDom = (0, toon_1.encode)(extractedRelevantDom || []);
253
+ // logger.saveJSON(extractedRelevantDom, `relevant-dom-${stepCount}`);
254
+ logData_js_1.logger.saveText(toonDom, `relevant-dom-toon-${stepCount}`);
255
+ }
256
+ else {
257
+ extractedRelevantDom = await domProcessor.mobileProcess({
258
+ keywords: result.response.keywords,
259
+ rawDom: domInfo.dom,
260
+ stepCount: stepCount,
261
+ stepAction: action,
262
+ step: step,
263
+ platform: platform,
264
+ driver: driver
265
+ });
266
+ toonDom = (0, toon_1.encode)(extractedRelevantDom || []);
267
+ // logger.saveJSON(extractedRelevantDom, `relevant-dom-Mob-${stepCount}`);
268
+ logData_js_1.logger.saveText(toonDom, `relevant-dom-toon-Mob-${stepCount}`);
269
+ }
203
270
  }
204
- else {
205
- domInfo = await (0, jsForAttributeInjection_js_2.getAnnotatedDOMForMobile)(driver);
206
- logData_js_1.logger.saveDOM(domInfo.dom, `annotated-dom-Mob-${stepCount}`);
271
+ catch (error) {
272
+ if (action == "verify") {
273
+ extractedRelevantDom = null;
274
+ }
275
+ else {
276
+ throw error;
277
+ }
207
278
  }
208
279
  }
209
- const parser = new jsdom_1.JSDOM(domInfo.dom);
210
- doc = parser.window.document;
211
- if (platform === "web") {
212
- extractedRelevantDom = domProcessor.webProcess({
213
- keywords: result.response.keywords,
214
- rawDom: domInfo.dom,
215
- stepCount: stepCount
216
- });
217
- logData_js_1.logger.saveJSON(extractedRelevantDom, `relevant-dom-${stepCount}`);
218
- }
219
- else {
220
- extractedRelevantDom = domProcessor.mobileProcess({
221
- keywords: result.response.keywords,
222
- rawDom: domInfo.dom,
223
- stepCount: stepCount
224
- });
225
- logData_js_1.logger.saveJSON(extractedRelevantDom, `relevant-dom-Mob-${stepCount}`);
226
- }
227
280
  if (action == "verify") {
228
281
  stepResult = await stepProcessor.getLLMResponse({
229
282
  platform: platform,
230
283
  type: promptType_js_1.PromptType.VERIFY_PROMPT,
231
284
  args: {
232
- extractedDomJson: JSON.stringify(extractedRelevantDom, null, 2),
285
+ extractedDomJson: toonDom,
233
286
  priorAndNextSteps,
234
287
  },
235
288
  input: { currentStep: step }
@@ -241,7 +294,7 @@ class AutomationRunner {
241
294
  platform: platform,
242
295
  type: promptType_js_1.PromptType.GET_PROMPT,
243
296
  args: {
244
- extractedDomJson: JSON.stringify(extractedRelevantDom, null, 2),
297
+ extractedDomJson: toonDom,
245
298
  priorAndNextSteps,
246
299
  },
247
300
  input: { currentStep: step }
@@ -253,7 +306,7 @@ class AutomationRunner {
253
306
  platform: platform,
254
307
  type: promptType_js_1.PromptType.WAIT_ACTION_EXTRACTOR_PROMPT,
255
308
  args: {
256
- extractedDomJson: JSON.stringify(extractedRelevantDom, null, 2),
309
+ extractedDomJson: toonDom,
257
310
  priorAndNextSteps,
258
311
  },
259
312
  input: { currentStep: step }
@@ -265,7 +318,7 @@ class AutomationRunner {
265
318
  platform: platform,
266
319
  type: promptType_js_1.PromptType.COMBINED_ACTION_EXTRACTOR_PROMPT,
267
320
  args: {
268
- extractedDomJson: JSON.stringify(extractedRelevantDom, null, 2),
321
+ extractedDomJson: toonDom,
269
322
  priorAndNextSteps,
270
323
  },
271
324
  input: { currentStep: step }
@@ -277,7 +330,7 @@ class AutomationRunner {
277
330
  platform: platform,
278
331
  type: promptType_js_1.PromptType.FF_INSPECTOR,
279
332
  args: {
280
- extractedDomJson: JSON.stringify(extractedRelevantDom, null, 2),
333
+ extractedDomJson: toonDom,
281
334
  priorAndNextSteps,
282
335
  isDrag: true,
283
336
  isAlert: false
@@ -292,7 +345,7 @@ class AutomationRunner {
292
345
  type: promptType_js_1.PromptType.FF_INSPECTOR,
293
346
  args: {
294
347
  stepAction: action,
295
- extractedDomJson: JSON.stringify(extractedRelevantDom, null, 2),
348
+ extractedDomJson: toonDom,
296
349
  priorAndNextSteps,
297
350
  isAlert: false,
298
351
  isDrag: false
@@ -307,9 +360,15 @@ class AutomationRunner {
307
360
  }
308
361
  }
309
362
  }
310
- if (platform === "android") {
363
+ if (platform === "android" || platform === "ios") {
311
364
  stepAction = sameActionsHelper_js_1.sameActionHelper[stepAction] || stepAction;
312
- logData_js_1.logger.info(`step action: ${stepAction}`);
365
+ // logger.info(`step action: ${stepAction}`);
366
+ }
367
+ if (supportedActions_js_1.SKIPPED_ACTIONS.includes(stepAction)) {
368
+ handler = actionHandlers[stepAction];
369
+ await handler();
370
+ stepCount++;
371
+ continue;
313
372
  }
314
373
  if (supportedActions_js_1.ELEMENTLESS_ACTION.includes(stepAction)) {
315
374
  let currentDriver = null;
@@ -319,10 +378,15 @@ class AutomationRunner {
319
378
  beforeHandles = await currentDriver.getWindowHandles();
320
379
  }
321
380
  else {
322
- currentDriver = await context.androidSession.getCurrentDriver();
381
+ currentDriver = await context.mobileSession.getCurrentDriver();
323
382
  }
324
383
  handler = actionHandlers[stepAction];
325
- await handler({ value: stepResult.response.input_text });
384
+ await handler({
385
+ value: stepResult.response.inputText,
386
+ selector: stepResult.response.attributeValue,
387
+ elementName: result.response.elementName,
388
+ elementType: stepResult.response.elementType
389
+ });
326
390
  if ((currentDriver) && (platform == "web")) {
327
391
  await (0, newTabTracker_js_1.newTabTracker)(currentDriver, action, beforeHandles, context.scriptAppender);
328
392
  }
@@ -357,14 +421,20 @@ class AutomationRunner {
357
421
  });
358
422
  continue;
359
423
  }
360
- fireflinkIndex = stepResult.response.attribute_value;
424
+ fireflinkIndex = stepResult.response.attributeValue;
361
425
  if (fireflinkIndex == "Fire-Flink-0") {
362
426
  logData_js_1.logger.error(`element not found for step "${step}"`);
363
427
  throw new Error(`element not found for step "${step}"`, { cause: node_console_1.error });
364
428
  }
365
429
  if (platform === "web") {
366
430
  const ele = doc.querySelector(`[ff-inspect="${fireflinkIndex}"]`);
367
- selector = ele.getAttribute("ff-xpath");
431
+ if (ele) {
432
+ selector = ele.getAttribute("ff-xpath") || "";
433
+ }
434
+ else {
435
+ const result = (0, xpathcreation_js_1.getWebXPathByFFIndex)(domInfo.dom, fireflinkIndex);
436
+ selector = result.xpathPath;
437
+ }
368
438
  }
369
439
  else {
370
440
  const result = await (0, xpathcreation_js_1.getFFIndexAndXPath)(domInfo.dom, fireflinkIndex);
@@ -399,12 +469,18 @@ class AutomationRunner {
399
469
  handler = actionHandlers[frameAction];
400
470
  await handler({
401
471
  selector: selector,
402
- fireflinkIndex,
403
472
  frames: frames,
404
473
  elementName: result.response.elementName,
405
- elementType: stepResult.response.elementType
474
+ elementType: stepResult.response.elementType,
475
+ pageDOM: domInfo.dom,
476
+ fireflinkIndex
406
477
  });
407
478
  }
479
+ if (selector.includes('svg')) {
480
+ const match = /svg\[(\d+)\]/.exec(selector);
481
+ const svgIndex = match ? match[1] : "1";
482
+ selector = selector.replace(/svg\[\d+\]/, `*[name()='svg'][${svgIndex}]`);
483
+ }
408
484
  handler = actionHandlers[stepAction];
409
485
  if (iframeDomHtml != null) {
410
486
  domInfo = iframeDomHtml;
@@ -412,15 +488,20 @@ class AutomationRunner {
412
488
  else {
413
489
  domInfo = domInfo.dom;
414
490
  }
491
+ // logger.info(`xpath ------>: ${selector}`)
415
492
  await handler({
493
+ nlpName: stepResult.response.nlpName,
416
494
  selector: selector,
417
- value: stepResult.response.input_text,
495
+ value: stepResult.response.inputText,
418
496
  fireflinkIndex,
419
497
  pageDOM: domInfo,
420
498
  elementName: result.response.elementName,
421
499
  elementType: stepResult.response.elementType,
422
- num_of_scrolls: stepResult.response.num_of_scrolls,
500
+ numOfScrolls: stepResult.response.numOfScrolls,
423
501
  direction: stepResult.response.direction,
502
+ stepIndex: stepCount,
503
+ filteredSteps: listOfSteps,
504
+ attributeType: stepResult.response.attributeType,
424
505
  });
425
506
  if (platform === "web") {
426
507
  if (await (0, isAlertPresent_js_1.isAlertPresent)(driver) != true) {
@@ -439,34 +520,71 @@ class AutomationRunner {
439
520
  }
440
521
  }
441
522
  catch (error) {
442
- logData_js_1.logger.error(`execution failed for step "${step}": ${error.message} and going for vision`);
523
+ logData_js_1.logger.error(`execution failed for step "${step}": ${error} and going for vision`);
443
524
  try {
444
525
  let annotatedScreenshot;
445
526
  let bounds;
527
+ if (action === "scroll") {
528
+ throw new Error(`Scroll action failed element not found`, { cause: error });
529
+ }
446
530
  if (platform === "web") {
447
531
  annotatedScreenshot = await (0, generateAnnotatedScreenshots_js_1.generateAnnotatedScreenshots)(driver);
448
532
  }
449
533
  else {
450
- const VissionResult = await (0, annotatedScreenshotMobile_js_1.annotateScreenshot)(driver, domInfo.dom);
534
+ domInfo = await (0, jsForAttributeInjection_js_2.getAnnotatedDOMForMobile)(driver);
535
+ let VissionResult;
536
+ if (platform === "android") {
537
+ VissionResult = await (0, annotatedScreenshotMobile_js_1.annotateScreenshot)(driver, domInfo.dom);
538
+ }
539
+ else {
540
+ VissionResult = await (0, annotatedScreenshotMobile_js_1.annotateIosScreenshot)(driver, domInfo.dom);
541
+ }
451
542
  annotatedScreenshot = VissionResult.boxedImageBuffer;
452
543
  bounds = VissionResult.boxes;
453
544
  }
454
- stepResultVision = await stepProcessor.getLLMResponse({
455
- platform: platform,
456
- type: promptType_js_1.PromptType.VISION_PROMPT,
457
- args: {
458
- priorAndNextSteps
459
- },
460
- input: { currentStep: step, annotatedScreenshot: annotatedScreenshot }
461
- });
545
+ if (platform == "web") {
546
+ stepResultVision = await stepProcessor.getLLMResponse({
547
+ platform: platform,
548
+ type: promptType_js_1.PromptType.VISION_PROMPT,
549
+ args: {
550
+ priorAndNextSteps
551
+ },
552
+ input: { currentStep: step, annotatedScreenshot: annotatedScreenshot.primary },
553
+ isVision: true
554
+ });
555
+ if (stepResultVision.response.fireflinkIndex == "Fire-Flink-0") {
556
+ stepResultVision = await stepProcessor.getLLMResponse({
557
+ platform: platform,
558
+ type: promptType_js_1.PromptType.VISION_PROMPT,
559
+ args: {
560
+ priorAndNextSteps
561
+ },
562
+ input: { currentStep: step, annotatedScreenshot: annotatedScreenshot.secondary },
563
+ isVision: true
564
+ });
565
+ }
566
+ }
567
+ else {
568
+ stepResultVision = await stepProcessor.getLLMResponse({
569
+ platform: platform,
570
+ type: promptType_js_1.PromptType.VISION_PROMPT,
571
+ args: {
572
+ priorAndNextSteps
573
+ },
574
+ input: { currentStep: step, annotatedScreenshot: annotatedScreenshot },
575
+ isVision: true
576
+ });
577
+ }
462
578
  fireflinkIndex = stepResultVision.response.fireflinkIndex;
463
579
  logData_js_1.logger.info(`fireflinkIndex: ${fireflinkIndex}`);
464
580
  if (fireflinkIndex == "Fire-Flink-0") {
465
581
  logData_js_1.logger.error(`vision unable to find element for step "${step}"`);
466
- context.scriptAppender.setErrorNLP(stepAction);
582
+ if (platform === "web") {
583
+ context.scriptAppender.setErrorNLP(stepAction);
584
+ }
467
585
  throw new Error(`vision unable to find element for step "${step}"`, { cause: error });
468
586
  }
469
- if (platform == "android") {
587
+ if (platform == "android" || platform == "ios") {
470
588
  const index = Number(fireflinkIndex.split("-").pop());
471
589
  const box = bounds[index - 1];
472
590
  if (!box) {
@@ -474,17 +592,14 @@ class AutomationRunner {
474
592
  }
475
593
  const { x1, y1, x2, y2 } = box;
476
594
  const boundsStr = `[${x1},${y1}][${x2},${y2}]`;
477
- const result = (0, xpathcreation_js_1.getFFIndexAndXPath)(domInfo.dom, boundsStr);
595
+ const result = (0, xpathcreation_js_1.getFFIndexAndXPath)(domInfo.dom, boundsStr, platform);
478
596
  xpath = result.xpathPath;
479
597
  fireflinkIndex = result.ffInspector ?? fireflinkIndex;
480
- logData_js_1.logger.info(`fireflinkIndex: ${fireflinkIndex}`);
481
- logData_js_1.logger.info(`xpath: ${xpath}`);
482
598
  }
483
599
  else {
484
600
  const ele = doc.querySelector(`[ff-inspect="${fireflinkIndex}"]`);
485
601
  xpath = ele.getAttribute("ff-xpath");
486
602
  if (!xpath) {
487
- logData_js_1.logger.info(`Unable to resolve xpath for ${fireflinkIndex}`);
488
603
  context.scriptAppender.setErrorNLP(stepAction);
489
604
  throw new Error(`Unable to resolve xpath for ${fireflinkIndex}`, { cause: error });
490
605
  }
@@ -495,15 +610,16 @@ class AutomationRunner {
495
610
  else {
496
611
  domInfo = domInfo.dom;
497
612
  }
498
- logData_js_1.logger.info(`elementType: ${stepResult.response.elementType}`);
499
613
  handler = actionHandlers[stepAction];
500
614
  await handler({
501
615
  selector: xpath,
502
- value: stepResult.response.input_text,
616
+ value: stepResult.response.inputText,
503
617
  fireflinkIndex,
504
618
  pageDOM: domInfo,
505
619
  elementName: result.response.elementName,
506
- elementType: stepResult.response.elementType
620
+ elementType: stepResult.response.elementType,
621
+ stepIndex: stepCount,
622
+ filteredSteps: listOfSteps
507
623
  });
508
624
  if (await (0, isAlertPresent_js_1.isAlertPresent)(driver) != true) {
509
625
  if (action === "click") {
@@ -536,7 +652,7 @@ class AutomationRunner {
536
652
  if (context.scriptAppender.getErrorNLP()) {
537
653
  errorInfo.nlp = context.scriptAppender.getErrorNLP();
538
654
  }
539
- errorInfo.erroredManualStep = step;
655
+ errorInfo.errorManualStep = step;
540
656
  errorInfo.rawError = logData_js_1.logger.getError(error);
541
657
  break;
542
658
  }
@@ -544,7 +660,7 @@ class AutomationRunner {
544
660
  if (context.scriptAppender.getErrorNLP()) {
545
661
  errorInfo.nlp = context.scriptAppender.getErrorNLP();
546
662
  }
547
- errorInfo.erroredManualStep = step;
663
+ errorInfo.errorManualStep = step;
548
664
  errorInfo.rawError = logData_js_1.logger.getError(error);
549
665
  break;
550
666
  }
@@ -565,23 +681,26 @@ class AutomationRunner {
565
681
  licenseId: request.licenseId,
566
682
  userId: request.userId,
567
683
  projectType: request.projectType,
684
+ // serviceProvider: aiInfo.serviceProvider,
685
+ // model: aiInfo.model,
686
+ platform: (0, platformSyntax_js_1.getPlatformSyntax)(platform),
568
687
  tokensConsumed: (await stepProcessor.getResultTokenUsage()).totalTokens,
569
688
  ...(errorInfo && Object.keys(errorInfo).length > 0
570
689
  ? { error: errorInfo }
571
690
  : {})
572
691
  };
573
692
  try {
693
+ // logger.info('payload', payload)
574
694
  await context.scriptAppender.waitForAllSteps();
575
- logData_js_1.logger.info(context.scriptAppender.getData());
576
695
  this.KafkaPayload.topic = `Topic-FIREFLINK-api-requests-${request.env}`;
577
696
  this.KafkaPayload.message = {
578
697
  ...payload,
579
698
  stepData: context.scriptAppender.getData(),
580
699
  serverHost: request.serverHost
581
700
  };
582
- delete payload.tokensConsumed;
583
- logData_js_1.logger.info({ ...payload, topic: this.KafkaPayload.topic });
584
- await fireflinkServiceInstance.produceMessageToKafka(this.KafkaPayload);
701
+ // delete payload.tokensConsumed;
702
+ logData_js_1.logger.info(await fireflinkServiceInstance.produceMessageToKafka(this.KafkaPayload));
703
+ logData_js_1.logger.info(`Message produced to Kafka topic ${JSON.stringify(this.KafkaPayload, null, 2)} successfully.`);
585
704
  }
586
705
  catch (error) {
587
706
  logData_js_1.logger.error("Failed to produce message :", logData_js_1.logger.getError(error));
@@ -589,7 +708,7 @@ class AutomationRunner {
589
708
  }
590
709
  finally {
591
710
  await this.cleanup(context, domInfo, extractedRelevantDom, stepProcessor, fireflinkServiceInstance, request, platform, (await context.session.getCurrentDriver().catch(() => null)) ??
592
- (await context.androidSession.getCurrentDriver().catch(() => null)));
711
+ (await context.mobileSession.getCurrentDriver().catch(() => null)));
593
712
  }
594
713
  }
595
714
  }
@@ -7,6 +7,7 @@ export interface LLMRequest {
7
7
  type: PromptType;
8
8
  args: Record<string, any>;
9
9
  input: Record<string, any>;
10
+ isVision?: boolean;
10
11
  }
11
12
  export declare class StepProcessor {
12
13
  private llm;
@@ -17,7 +18,7 @@ export declare class StepProcessor {
17
18
  outputTokens: number;
18
19
  totalTokens: number;
19
20
  }>;
20
- getLLMResponse({ platform, type, args, input }: LLMRequest): Promise<{
21
+ getLLMResponse({ platform, type, args, input, isVision }: LLMRequest): Promise<{
21
22
  response: FireFlinkLLMResponse;
22
23
  }>;
23
24
  }
@@ -10,8 +10,8 @@ class StepProcessor {
10
10
  async getResultTokenUsage() {
11
11
  return this.resultParser.getTokenUsage();
12
12
  }
13
- async getLLMResponse({ platform, type, args, input }) {
14
- const response = await this.llm.getLLMResponse(platform, type, args, input);
13
+ async getLLMResponse({ platform, type, args, input, isVision = false }) {
14
+ const response = await this.llm.getLLMResponse(platform, type, args, input, isVision);
15
15
  return this.resultParser.fetchResult(response);
16
16
  }
17
17
  }
@@ -1 +1 @@
1
- export type platform = "web" | "android";
1
+ export type platform = "web" | "android" | "ios";
@@ -1,9 +1,8 @@
1
1
  export type visionPromptMessage = ({
2
- type: "text";
2
+ type: "input_text";
3
3
  text: string;
4
4
  } | {
5
- type: "image_url";
6
- image_url: {
7
- url: string;
8
- };
5
+ type: "input_image";
6
+ image_url: string;
7
+ detail: "auto" | "low" | "high";
9
8
  })[];
@@ -2,11 +2,15 @@ export interface DomProcessingRequest {
2
2
  keywords: string[] | string;
3
3
  rawDom: string;
4
4
  stepCount: number;
5
+ stepAction: string;
6
+ step: string;
7
+ platform: string;
8
+ driver: any;
5
9
  }
6
10
  export declare class DomProcessingEngine {
7
11
  private simplifier;
8
12
  private searcher;
9
13
  private relationshipBuilder;
10
14
  webProcess(request: DomProcessingRequest): any[];
11
- mobileProcess(request: DomProcessingRequest): any[][];
15
+ mobileProcess(request: DomProcessingRequest): Promise<any[]>;
12
16
  }