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
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ffInspectorNumExtractor = ffInspectorNumExtractor;
4
4
  async function ffInspectorNumExtractor({ stepAction, extractedDomJson, priorAndNextSteps, isAlert = false, isDrag = false, }) {
5
5
  const switchActions = ["SwitchToNewTabBasedOnTitle", "SwitchToNewTabBasedOnUrl", "SwitchToNewWindowBasedOnTitle", "SwitchToNewWindowBasedOnURL", "SwitchToParentWindow", "SwitchToWindowIfTitleContainsString", "SwitchToNewWindowIfUrlContainsString"];
6
+ const mouseAction = ["MouseClickOnCurrentCursorPoint", "MouseDoubleClickAtCursorPoint", "ReleaseLeftMouseButton", "PressAndHoldLeftMouseButton", "MouseHover", "MouseClickOnCurrentCursorPointNTimes"];
6
7
  const clickActions = ["Click", "DoubleClick", "RightClick", "WaitAndClick", "ClickNTimes", "ClickUsingJS"];
7
8
  const alertActions = [
8
9
  "ClickOkOnAlertPopup",
@@ -14,7 +15,7 @@ async function ffInspectorNumExtractor({ stepAction, extractedDomJson, priorAndN
14
15
  "WaitTillAlertIsPresent",
15
16
  "VerifyTextPresentOnAlertPopup"
16
17
  ];
17
- const scrollActions = ["ScrollToElement", "ScrollVerticallyTillElementIsVisible", "ScrollHorizontallyTillElementIsVisible"];
18
+ const scrollActions = ["ScrollToElement", "ScrollVerticallyTillElementIsVisible", "ScrollHorizontallyTillElementIsVisible", "ScrollPageToSpecificLocation"];
18
19
  const elementType = ['link', 'textfield', 'icon', 'button', 'radioButton', 'text', 'textarea', 'image', 'dropdown', 'checkbox', 'tab', 'action overflow button', 'hamburger icon', 'toggle button', 'suggestion', 'time picker', 'date picker', 'toaster message', 'card', 'tooltip', 'option', 'calender', 'sliders', 'visual testing'];
19
20
  const enterActions = ["SendKeys", "ClearThenEnterInput", "WaitAndSendKeys", "EnterInputUsingJS", "EnterDataAndPressKey"];
20
21
  let prompt;
@@ -24,16 +25,18 @@ async function ffInspectorNumExtractor({ stepAction, extractedDomJson, priorAndN
24
25
  You are given a manual test step that requires interaction with a browser alert popup.
25
26
  Based on the step, return the required alert element with input in the following JSON format only:
26
27
  Rules:
27
- - if the alert requires entering text inpt alert or for verification if we need compare text than extract that text and give as input_text.
28
- - If no input is needed, set "input_text" to "None".
29
- - if step is about verify text present than map to VerifyTextPresentOnAlertPopup.and if step is about verify text contains than map to VerifyAlertPopUpMessageContainsString.
28
+ - if the alert requires entering text inpt alert or for verification if we need compare text then extract that text and give as inputText.
29
+ - if step about VerifyAlertPopupIsDisplayed and if step consists of time in step then extract time and give as inputText ex : "Verify Alert popup is displayed within 5 sec" -> inputText: "5" no need to extract any element just return the inputText.
30
+ - If no input is needed, set "inputText" to "None".
31
+ - if step is about verify text present then map to VerifyTextPresentOnAlertPopup.and if step is about verify text contains than map to VerifyAlertPopUpMessageContainsString.
30
32
  - Do not add explanations, comments, or extra text.
31
33
  - send one action from this list only ${alertActions} witch is related to step.
34
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
32
35
  - Output must be valid JSON.
33
36
  Respond only with JSON using this format:
34
37
  {
35
38
  "action": x,
36
- "input_text": "text to enter" | "None"
39
+ "inputText": "text to enter" | "time" | "None"
37
40
  }
38
41
 
39
42
  `;
@@ -56,10 +59,10 @@ Rules:
56
59
  - If not found, return Fire-Flink-0 for both.
57
60
  - Extract element names from step if possible.
58
61
  - Respond with JSON only.
59
- - The element type should be from this list ${elementType}, check for both drag and drop element type.
62
+ - The element type should be from this list ${elementType.join("|")}, check for both drag and drop element type.
60
63
  Simplified JSON:
61
64
  ${extractedDomJson}
62
-
65
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
63
66
  Respond only with JSON using this format:
64
67
  {
65
68
  "drag": "Fire-Flink-x",
@@ -81,27 +84,28 @@ You are an intelligent assistant that extracts structured UI action data.
81
84
 
82
85
  Rules:
83
86
  - Step: for the given step
84
- - Use context from test steps: ${JSON.stringify(priorAndNextSteps)}
85
- - Use simplified JSON to find best FF-inspect match.
86
- - Choose closest semantic + DOM-distance match.
87
+ - Use context from the ${JSON.stringify(priorAndNextSteps)}, keyword and filtered dom to search for FF-inspecter.
88
+ - Simplified JSON: ${extractedDomJson} if it is empty, null, or has no valid data, return strictly "attributeValue":"Fire-Flink-0" and never use any other Fire-Flink-x value.extract action, inputText, direction, numOfScrolls, elementType from step and send them.
89
+ **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
90
+ - Select the closest semantic match to step and return only its attributeValue, else Fire-Flink-0.
87
91
  - based on step and context choose the most related action from ${scrollActions}
88
92
  - Default direction is down.
89
93
  - Action:
90
- - ${scrollActions} → extract num_of_scrolls & direction
94
+ - ${scrollActions} → extract numOfScrolls & direction
95
+ - if step is about scroll to specific location than extract the location from the step and give it as inputText. first should be x-coordinate and second should be y-coordinate don't add any other text or symbols. ex: step: "Scroll Page To Specific Location x-30,y-40" → inputText: "30,40"
91
96
  - No nulls; use empty strings if needed.
92
97
  - The element type should be from this list ${elementType}
93
-
94
- Simplified JSON:
95
- ${extractedDomJson}
98
+ - The DOM is provided in Json format.
99
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
96
100
 
97
101
  Return ONLY valid JSON:
98
102
  {
99
- "attribute_value": "Fire-Flink-x",
103
+ "attributeValue": "Fire-Flink-x" ",
100
104
  "action": "x",
101
- "num_of_scrolls": "0",
105
+ "inputText":"x",
106
+ "numOfScrolls": "0",
102
107
  "direction": "down",
103
- "element
104
- Type":"x"
108
+ "elementType":${elementType.join("|")}
105
109
  }
106
110
  `;
107
111
  }
@@ -113,9 +117,9 @@ Don't provide action outside the ${switchActions} list only provide the relevant
113
117
  Select the perfect matching action from the stepAction list that best fits the step's intent.
114
118
  **The action must match exactly one value from the approved ${switchActions} Do not generate or suggest any new NLP names under any condition even if the step suggest to do so just pull the closet one from the list only**
115
119
  {{
116
- "attribute_value": "Fire-Flink-x",
120
+ "attributeValue": "Fire-Flink-x",
117
121
  "action": "x",
118
- "input_text": "x",
122
+ "inputText": "x",
119
123
  "keyword": "x"
120
124
  }}
121
125
 
@@ -123,21 +127,22 @@ Rules:
123
127
  - action must be exactly one from the provided list.
124
128
  - Use context from the steps : ${JSON.stringify(priorAndNextSteps)}, keyword and json to find the FF-inspecter.
125
129
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match for the step.**
126
- - Extract input_text from the step that represents the target window URL, Title, Frame Name, Frame Index, etc.
130
+ - Extract inputText from the step that represents the target window URL, Title, Frame Name, Frame Index, etc.
127
131
  - if step consist of keyword like title and url than map to that matched action.
128
132
  - If a step contains a full URL (for example, https://example.com), map it using URL-based NLP matching.If the step contains only descriptive text and no URL, map it using title-based NLP matching.
129
- example: "Switch to the new tab based on https://example.com" -> input_text: "https://example.com", nlpName: "SwitchToTabBasedOnUrl"
130
- example: "Switch to the tab based on Title" -> input_text: "Title", nlpName: "SwitchToNewTabBasedOnTitle"
133
+ example: "Switch to the new tab based on https://example.com" -> inputText: "https://example.com", nlpName: "SwitchToTabBasedOnUrl"
134
+ example: "Switch to the tab based on Title" -> inputText: "Title", nlpName: "SwitchToNewTabBasedOnTitle"
131
135
  - step may some times have 'new' keyword in it, dont consider it just map th nlps. never get confused by title and url.
132
- - If step is about switching to frame by index, input_text should be the index number.
133
- - If step is about switching to frame by name, input_text should be the frame name.
134
- - If step is about switching to window by URL or Title, input_text should be the url or title string.
136
+ - If step is about switching to frame by index, inputText should be the index number.
137
+ - If step is about switching to frame by name, inputText should be the frame name.
138
+ - If step is about switching to window by URL or Title, inputText should be the url or title string.
135
139
  - If no explicit input is found, attempt to infer it or leave empty if the NLP implies a specific action without input (e.g. SwitchToParentWindow).
140
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
136
141
  - **Respond with valid JSON only. don't return any other text or don't return response in list format**
137
142
  `;
138
143
  }
139
144
  // ---------------- DEFAULT (CLICK / cleartext etc.) ----------------
140
- else if (stepAction === "click" || stepAction === "cleartext") {
145
+ else if (stepAction === "mouseAction") {
141
146
  prompt = `
142
147
 
143
148
  -You are an intelligent assistant that extracts structured UI action data.
@@ -147,17 +152,58 @@ Rules:
147
152
 
148
153
  Return **only valid JSON** in the following format:
149
154
  {
150
- "attribute_value": "Fire-Flink-x",
155
+ "attributeValue": "Fire-Flink-x",
151
156
  "action": "x",
152
- "input_text": "x",
153
- "elementType": "x"
157
+ "inputText": "x",
158
+ "elementType": ${elementType.join("|")}
154
159
  }
155
160
 
156
161
  Rules:
157
162
  You are an AI assistant. For the step, extract the element keyword from the step (the field name like 'Leaving from', 'Going To').
158
163
  - Use context from the ${JSON.stringify(priorAndNextSteps)}, keyword and filtered dom to search for FF-inspecter.
159
- - Simplified JSON: ${extractedDomJson} — if it is empty, null, or has no valid data, return strictly "attribute_value":"Fire-Flink-0" and never use any other Fire-Flink-x value.
164
+ - Simplified JSON: ${extractedDomJson} — if it is empty, null, or has no valid data, return strictly "attributeValue":"Fire-Flink-0" and never use any other Fire-Flink-x value.extract action, inputText, keyword, elementType from step and send them.
165
+ - Select the closest semantic match to step and return only its attributeValue, else Fire-Flink-0
160
166
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the atep.**
167
+ - If multiple matches exist, use the reference element and choose the closest match by ff-inspect distance.
168
+
169
+ **important example: step: "mouce click on login below user login"
170
+ simplified json:
171
+ login - ff-inspect-300
172
+ user login - ff-inspect-790
173
+ login - ff-inspect-803
174
+ then should return login - ff-inspect-803 witch is near to user reference element user login - ff-inspect-790**
175
+ - Do not return elements far away from the reference.
176
+ - These are actions: ${mouseAction}. action should be exactly one from the provided list.
177
+ - Select the closest semantic match to step and return only its attributeValue, else Fire-Flink-0.
178
+ - example: step: "mouse click on login below user login" -> should return the attributeValue of the login element.
179
+ - for mouse click on current cursor point n times in that case provide input text as number of clicks only.
180
+ - Based on step give most relevant type of element. use this list to choose elementType: ${elementType.join("|")} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
181
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
182
+ - Respond with valid JSON only.Don
183
+ `;
184
+ }
185
+ else if (stepAction === "click" || stepAction === "cleartext") {
186
+ prompt = `
187
+
188
+ -You are an intelligent assistant that extracts structured UI action data.
189
+ -Given a structured UI JSON representation with uniquely identified elements (ff-inspect values like Fire-Flink-0, Fire-Flink-1, Fire-Flink-2, Fire-Flink-3... in DOM order),
190
+ -locate the most appropriate element for an automation step by performing keyword-based matching using exact, partial, and fuzzy strategies, and
191
+ return the identifier of the best match.
192
+
193
+ Return **only valid JSON** in the following format:
194
+ {
195
+ "attributeValue": "Fire-Flink-x",
196
+ "action": "x",
197
+ "inputText": "x",
198
+ "elementType": ${elementType.join("|")}
199
+ }
200
+
201
+ Rules:
202
+ You are an AI assistant. For the step, extract the element keyword from the step (the field name like 'Leaving from', 'Going To').
203
+ - Use context from the ${JSON.stringify(priorAndNextSteps)}, keyword and filtered dom to search for FF-inspecter.
204
+ - **Simplified JSON: ${extractedDomJson} — if it is empty, null, or has no valid data, return strictly "attributeValue":"Fire-Flink-0" and never use any other Fire-Flink-x value.extract action, inputText, elementType from step and send them.**
205
+ - Select the closest semantic match to step and return only its attributeValue, else Fire-Flink-0
206
+ - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
161
207
  - If multiple matches exist, use the reference element and choose the closest match by ff-inspect distance.
162
208
  **important example: step: "click on login below user login"
163
209
  simplified json:
@@ -166,16 +212,20 @@ You are an AI assistant. For the step, extract the element keyword from the step
166
212
  login - ff-inspect-803
167
213
  then should return login - ff-inspect-803 witch is near to user reference element user login - ff-inspect-790**
168
214
  - Do not return elements far away from the reference.
169
- - These are actions: ${clickActions}.
170
- - For wait and click step check in the step the time of wait in seconds will be mentioned take provide it has the input_text in the output and action as waitandclick as mention in the clickactionlist similarly for the click n times n will the input_text in the output and action as clickntimes as mention in the clickactionlist.
215
+ - These are actions: ${clickActions}. action should be exactly one from the provided list.
216
+ - For wait and click step check in the step the time of wait in seconds will be mentioned take provide it has the inputText in the output and action as waitandclick as mention in the clickactionlist similarly for the click n times n will the inputText in the output and action as clickntimes as mention in the clickactionlist.
171
217
  - If it is like wait and click in the step then send the wait time as the value as provided in the step and then for click n times provide the n as the value in the output.
172
- - Select the closest semantic match to step and return only its attribute_value, else Fire-Flink-0.
173
- - For WaitAndClick take action as WaitAndClick and input_text as the wait time as provided in the step.
174
- - For ClickNTimes take action as ClickNTimes and input_text as the n as provided in the step.
175
- - For ClickUsingJS take action as ClickUsingJS and input_text as the empty string and select this click action only if the step is about clicking an element using javascript.
218
+ - Select the closest semantic match to step and return only its attributeValue, else Fire-Flink-0.
219
+ - If a step involves a select action, you MUST first check for a matching option tag (exact or fuzzy) and return its attributeValue; ONLY if no option exists, return the related select element. example: step: "select state India" -> should return the attributeValue of the option tag with text 'India'.
220
+ - If a matching option is found, returning the select element is strictly invalid unless the step explicitly says to click the select dropdown itself.
221
+ - For WaitAndClick take action as WaitAndClick and inputText as the wait time as provided in the step.
222
+ - For ClickNTimes take action as ClickNTimes and inputText as the n as provided in the step.
223
+ - For ClickUsingJS take action as ClickUsingJS and inputText as the empty string and select this click action only if the step is about clicking an element using javascript.
176
224
  - Action: ${clickActions} for clicking or selecting,'Clear' for clearing text based on the step.
177
- - For Click action, if only step involving 'clicking on icon' then try to return related svg tags attribute_value, if they are available in simplified json.
178
- - Based on step give most relevant type of element. use this list to choose element_type: ${elementType} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
225
+ - For Click action, if only step involving 'clicking on icon' then try to return related svg tags attributeValue, if they are available in simplified json.
226
+ - Based on step give most relevant type of element. use this list to choose elementType: ${elementType.join("|")} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
227
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
228
+ - **Respond with valid JSON only. don't return any other text or don't return response in list format**
179
229
 
180
230
  `;
181
231
  }
@@ -190,44 +240,52 @@ return the identifier of the best match.
190
240
 
191
241
  Return **only valid JSON** in the following format:
192
242
  {
193
- "attribute_value": "Fire-Flink-x",
243
+ "attributeValue": "Fire-Flink-x",
194
244
  "action": "x",
195
- "input_text": "x",
196
- "elementType": "x"
245
+ "inputText": "x",
246
+ "elementType": ${elementType.join("|")}
197
247
  }
198
248
 
199
249
  Rules:
200
250
  You are an AI assistant. For the step, extract the element keyword from the step (the field name like 'Leaving from', 'Going To').
201
251
  - Use context from the ${JSON.stringify(priorAndNextSteps)}, keyword and filtered dom to search for FF-inspecter.
202
- - Simplified JSON: ${extractedDomJson} — if it is empty, null, or has no valid data, return strictly "attribute_value":"Fire-Flink-0" and never use any other Fire-Flink-x value.
203
- - Select the closest semantic match to step and return only its attribute_value, else Fire-Flink-0.
252
+ - **Simplified JSON: ${extractedDomJson} — if it is empty, null, or has no valid data, return strictly "attributeValue":"Fire-Flink-0" and never use any other Fire-Flink-x value.extract action, inputText, elementType from step and send them.**
253
+ - If no input tag is present in the simplified JSON, select the element most relevant to the step (regardless of tag type), i will use that to enter the data.
254
+ - Select the closest semantic match to step and return only its attributeValue, else Fire-Flink-0.
204
255
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the atep.**
205
- - If multiple matches exist, use the reference element and choose the closest match by ff-inspect distance.
206
- important example: step: "click on login below user login"
207
- simplified json:
208
- login - ff-inspect-300
209
- user login - ff-inspect-790
210
- login - ff-inspect-803
211
- then should return login - ff-inspect-803 witch is near to user reference element user login - ff-inspect-790
256
+ - If multiple matches exist, identify the reference element from the step and select the matching element with the smallest ff-inspect distance relative to that reference (i.e., the closest in position).
257
+ Example:
258
+ Step: "Enter input in Username below Confirm", "harry"
259
+ Simplified JSON:
260
+ Username - ff-inspect-300
261
+ Confirm - ff-inspect-790
262
+ Username - ff-inspect-811
263
+ Reference element: Confirm - ff-inspect-790
264
+ Closest match: Username - ff-inspect-811 (nearest to 790)
265
+ Final selection: Username - ff-inspect-811
212
266
  - Respect direction (up/down), default is down.
213
267
  - Do not return elements far away from the reference.
214
- - Select the closest semantic match to step and return only its attribute_value
215
- - Action:SendKeys for entering text, EnterDataAndPressKey for entering data and pressing the key, clearThenEnterInput for clear and Entering Input, 'upload' for uploading file.
268
+ - Select the closest semantic match to step and return only its attributeValue
269
+ - **Never directly select a input tag if should be realted to step; if u can't find input tag related to step then prefer the closest label/span/div/b/i/tr/td etc, it can be any tag related to the step. i will use that to enter the data.**
270
+ - Action:SendKeys for entering text, EnterDataAndPressKey for entering data and pressing the key, 'upload' for uploading file.
271
+ - Use ClearThenEnterInput only when the step explicitly involves clearing existing text before entering new input.
216
272
  - Action:EnterDataAndPressKey if step is about entering data and pressing a key, then select this action.
217
273
  - Action:EnterInputUsingJS if step is about entering input using js,WaitAndSendKeys for waiting for some time and then entring.
218
- - If action is waitAndSendkeys then in the input_text provide output with the input and then the wait time in seconds as "input_text = " input, waittime" input is input for that step and waittime is time in seconds mentioned in steps only for wiat and enter step and also the attribute_value should be the attribute_value of the element in the simplified json.
219
- - For click action, if only step involving 'clicking on icon' then try to return related svg tags attribute_value, if they are available in simplified json.
274
+ - Action:WaitAndSendKeys for waiting for some time and then entring input.if wait is present in step.
275
+ - If action is waitAndSendkeys then in the inputText provide output with the input and then the wait time in seconds as "inputText = " input, waittime" input is input for that step and waittime is time in seconds mentioned in steps only for wiat and enter step and also the attributeValue should be the attributeValue of the element in the simplified json.
276
+ - For click action, if only step involving 'clicking on icon' then try to return related svg tags attributeValue, if they are available in simplified json.
220
277
  - For Action ${enterActions} extract input text from step.
221
278
  - **For ${enterActions} actions, never directly select a input tag if should be realted to step; if u can't find input tag related to step then prefer the closest label/span/div/b/i etc, it can be any tag related to the step.**
222
- - **For ${enterActions} step if you can't find perfect matching element return attribute_value as Fire-Flink-0 for the step. it should be exact match for the step.**
223
- - For ${enterActions} step, If the step implies autogenerated data or random data(email, phone, credentials, identifiers, etc.), generate a valid dummy input_text suitable for the field.
279
+ - **For ${enterActions} step if you can't find perfect matching element return attributeValue as Fire-Flink-0 for the step. it should be exact match for the step.**
280
+ - For ${enterActions} step, If the step implies autogenerated data or random data(email, phone, credentials, identifiers, etc.), generate a valid dummy inputText suitable for the field.
224
281
  example: step: "Enter sss.@gmail.com in email field" and step :
225
- you should check only for email in Simplified JSON and input_text should be "sss.@gmail.com" dont add any extra text.
282
+ you should check only for email in Simplified JSON and inputText should be "sss.@gmail.com" dont add any extra text.
226
283
  - For Action "upload" extract file path from step. and add extra //// for path.like "C:////Users/////User/////Downloads/////fireflinkElementIndexExtactors.ts"
227
- - For Action "EnterDataAndPressKey" extract input text from step. and also extract the key to be pressed from the step. and return the key to be pressed as the input_text in the form of input_text, key_to_be_pressed.ex(input_text = "input","key_to_be_pressed" )
228
- - if u cant find any input_text or any other dont give null just return them "" empty.
229
- - Based on step give most relevant type of element. use this list to choose element_type: ${elementType} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
230
-
284
+ - For Action "EnterDataAndPressKey" extract input text from step. and also extract the key to be pressed from the step. and return the key to be pressed as the inputText in the form of inputText, key_to_be_pressed.ex(inputText = "input","key_to_be_pressed" )
285
+ - if u cant find any inputText or any other dont give null just return them "" empty.
286
+ - Based on step give most relevant type of element. use this list to choose element_type: ${elementType.join("|")} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
287
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
288
+ - **Respond with valid JSON only. don't return any other text or don't return response in list format**
231
289
 
232
290
  `;
233
291
  }
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ffInspectorNumExtractorMob = ffInspectorNumExtractorMob;
4
4
  async function ffInspectorNumExtractorMob({ stepAction, extractedDomJson, priorAndNextSteps, }) {
5
- const SwipeActions = ["MOB_SwipeToElement", "MOB_SwipeUpToElement", "MOB_SwipeDownToElement", "MOB_SwipeLeftToElement", "MOB_SwipeRightToElement", "MOB_SwipeNTimes", "MOB_Builtin_Swipe", "MOB_SwipeDirectionNTimes", "MOB_SwipeToElementForMWeb", "MOB_SwipeUsingReferenceElement"];
5
+ const SwipeActions = ["MOB_SwipeToElement", "MOB_SwipeUpToElement", "MOB_SwipeDownToElement", "MOB_SwipeLeftToElement", "MOB_SwipeRightToElement", "MOB_SwipeNTimes", "MOB_Builtin_Swipe", "MOB_SwipeDirectionNTimes", "MOB_SwipeToElementForMWeb", "MOB_SwipeUsingReferenceElement", "SwipeUp", "SwipeDown", "SwipeLeft", "SwipeRight", "Swipe"];
6
6
  const Actions = ["MOB_Tap", "MOB_TapNTimes", "MOB_DoubleTap", "MOB_DoubleTapAtSpecifiedLocation", "MOB_TapOnSpecifiedLocation",
7
- "MOB_Enter", "MOB_EnterDataAndPressKey", "MOB_EnterInputIntoElementFromClipBoard", "MOB_EnterUrl", "MOB_ClearThenEnterInput",
7
+ "MOB_Enter", "MOB_EnterDataAndPressKey", "MOB_EnterInputIntoElementFromClipBoard", "MOB_EnterUrl", "MOB_Clear", "MOB_ClearThenEnterInput",
8
8
  "MOB_LongPress", "MOB_PressEnterKey", "MOB_PressSpaceKey", "MOB_PressBackSpaceKey", "MOB_PressAnyKey", "MOB_PressAnyKeyNTimes", "MOB_EnterDataAndPressKey", "MOB_PressHomeKey", "MOB_PressBackKey"];
9
9
  const elementType = ["link", "textfield", "icon", "button", "radiobutton", "checkbox", "tab", "action overflow button", "hamburger menu", "toggle button", "steppers", "sliders"];
10
10
  let prompt = "";
@@ -14,8 +14,8 @@ You are an intelligent assistant that extracts structured UI action data.\n
14
14
  Return **only valid JSON** in the following format:\n
15
15
  **Dont give any extra explanation or text**
16
16
  {
17
- "attribute_value": "Fire-Flink-x",
18
- "input_text": "x",
17
+ "attributeValue": "Fire-Flink-x",
18
+ "inputText": "x",
19
19
  "keyword": "x",
20
20
  "elementType": "x",
21
21
  "nlpName": "x"
@@ -25,24 +25,24 @@ Rules:\n
25
25
  You are an AI assistant. For the step, extract the element keyword from the step (the field name like 'Leaving from', 'Going To').
26
26
  - Use context from all steps: ${JSON.stringify(priorAndNextSteps)}, keyword and filtered dom to search for FF-inspecter.
27
27
  **nlpName: MOB_PressBackKey or MOB_PressHomeKey for mobile navigation respective buttons like back and home**
28
- - **If step is tap on element of referenece element,if multiple elements are there ,choose element which is related to reference element.The element can be reference element's before or after sibling nodes in filtered dom json.**
28
+ - **For step if you can't find perfect matching element or no attribute in filtered dom JSON is related to step return attributeValue as Fire-Flink-0.**
29
29
  - If step is enter input into element try to find ff inspector attribute value of element not input text.
30
- - **For step if you can't find perfect matching element or no attribute in filtered dom JSON is related to step return attribute_value as Fire-Flink-0.**
31
30
  - Don't think if type of element is found it is exact element, check with keyword and step.If it is not matched return Fire-Flink-0.
31
+ - If step is tap on element of referenece element,if multiple elements are there ,choose element which is related to reference element.The element can be reference element's before or after sibling nodes in filtered dom json,if siblings also same return element which ff-inspect value is close to reference element.
32
32
  **important example: step: "click on login below user login"
33
- simplified json: login - ff-inspect-300
34
- user login - ff-inspect-790
35
- login - ff-inspect-803
36
- then should return login - ff-inspect-803 witch is near to user reference element user login - ff-inspect-790**
37
- - **Find the FF-inspecter attribute value of the element in the filtered dom JSON whose text or content-desc or other attributes best or perfect match for the step.**
33
+ simplified json: login - ff-inspect-320
34
+ user login - ff-inspect-330
35
+ login - ff-inspect-350
36
+ then should return login - ff-inspect-320 witch is near to user reference element user login - ff-inspect-330**
37
+ - **Find the FF-inspecter attribute value of the element in the filtered dom JSON whose text or content-desc or name or label or other attributes best or perfect match for the step.**
38
38
  - nlpName: Extract nlpName from the list of nlps: ${Actions} based on the step.If step is enter url, nlpName should be MOB_EnterUrl.
39
- - For taping action dont take attribute_value of the node contining edittext in class, resource-id.
40
- - For some steps you can see two inputs but you need to uderstand step and send the requred input_text.
39
+ - For taping action dont take attributeValue of the node contining edittext in class, resource-id.
40
+ - For some steps you can see two inputs but you need to uderstand step and send the requred inputText.
41
41
  ex:Double tap on the 30,50
42
42
  here here input:30,50
43
- - and for this MOB_TapNTimes nlps send number of times to tap as input_text.
44
- - If step is press any key and if the step contains any key name like ENTER,SPACE,BACKSPACE etc and give keyname of the given key as input_text if they mention key and how many times to press key 'keyname,number of times' or enter input and press key keep it as 'input,keyname'.
45
- - nlpName: wait for wait action, and in input_text give time to wait. like sleep for 30 seconds, here nlpName is wait and input_text is 30.
43
+ - and for this MOB_TapNTimes nlps send number of times to tap as inputText.
44
+ - If step is press any key and if the step contains any key name like ENTER,SPACE,BACKSPACE etc and give keyname of the given key as inputText if they mention key and how many times to press key 'keyname,number of times' or if step is enter input and press key keep it as 'input,keyname'.
45
+ - nlpName: wait for wait action, and in inputText give time to wait. like sleep for 30 seconds, here nlpName is wait and inputText is 30.
46
46
  - Extract input text from step for all actions,if input is not there give empty string "".
47
47
  - Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
48
48
  - Respond with valid JSON only.
@@ -59,34 +59,39 @@ Select the perfect matching NLP name from the list that best fits the step's int
59
59
 
60
60
  Return **only valid JSON** in the following format:
61
61
  {{
62
- "attribute_value": "Fire-Flink-x",
62
+ "attributeValue": "Fire-Flink-x",
63
63
  "nlpName": "x",
64
- "input_text": "x",
64
+ "inputText": "x",
65
65
  "keyword": "x",
66
66
  "type": "x",
67
- "num_of_scrolls": "x",
67
+ "numOfScrolls": "x",
68
68
  "direction": "x"
69
69
  }}
70
70
 
71
71
  Rules:
72
72
  - nlpName must be exactly one from the provided list.
73
+ - If the step is provided with the coordinates like (x1,y1,x2,y2) and direction is not mentioned but coordinates are there means then map to swipe of direction is given then it must match to swipe up, swipe down,swipe left, swipe right don't go with the MOB_ one's
74
+ - **If the step is saying 'swipe up, down, left, right' with the coordinates specified in the step, then give coordintates in inputText like (x1,y1,x2,y2) and map to nlp's like swipe up, swipe down,swipe left, swipe right if direction is not mentioned but coordinates are there means then map to swipe.**
73
75
  - Use cont2ext from the steps : ${JSON.stringify(priorAndNextSteps)}, keyword and json to search for FF-inspecter.
74
- - If direction is not specified, then match to "MOB_SwipeToElement".
76
+ - If direction is not specified and also coordinates are not specified, then match to "MOB_SwipeToElement".
75
77
  - If direction is Not specified and element is not specified, then match to "MOB_SwipeNTimes".
76
- - If direction is specified and element is not specified, then match to "MOB_SwipeDirectionNTimes".
77
- - If step has a reference element, then match to "MOB_SwipeUsingReferenceElement". and give input_text: "reference element -> <next element>"
78
+ - If direction is specified and direction word is there and no of times is given, then match to "MOB_SwipeDirectionNTimes" ex: swipe up direction 2 times.
79
+ - If step has a reference element, then match to "MOB_SwipeUsingReferenceElement". and give inputText: "reference element -> <next element>"
78
80
  example: swipe up to "Contact Us" using "Settings" as reference.
79
- input_text: "Settings -> Contact Us"
81
+ inputText: "Settings -> Contact Us"
80
82
  - If the step is saying 'up to' or 'till' element, then return the number of scrolls as 0. and also don't take 'up' as direction in this case, give direction as "none" ".
83
+ - **If the step is saying 'swipe up, down, left, right' with the coordinates specified in the step, then give coordintates in inputText like (x1,y1,x2,y2) and map to nlp's like swipe up, swipe down,swipe left, swipe right if direction is not mentioned but coordinates are there means then map to swipe.**
84
+
81
85
  - **Extraction**:
82
- - input_text: The target element in the step.e.g., "swipe to submit text",then input text must be "submit",Dont include its type in input_text like text,button,icon etc...Leave empty if just swiping N times.**
86
+ - inputText: The target element in the step.e.g., "swipe to submit text",then input text must be "submit",Dont include its type in inputText like text,button,icon etc...Leave empty if just swiping N times, if coordinates are specified then give coordinates in inputText like (x1,y1,x2,y2) where x1,y1 is starting coordinate and x2,y2 is ending coordinate.**
83
87
  - keyword: Crucial keyword from step (e.g., "Settings").
84
- - num_of_scrolls: Extract count if specified (e.g., "scroll 3 times"). Default to 0 if not specified but action implies generic scroll.
88
+ - nomOfScrolls: Extract count if specified (e.g., "scroll 3 times"). Default to 0 if not specified but action implies generic scroll.
85
89
  - direction: "up", "down", "left", "right". Infer from step (e.g., "Scroll down" -> "down"). If direction is not specified, default direction to "none".
86
- - attribute_value: If an element is visible and matches the target, provide its FF-inspecter. Otherwise "Fire-Flink-2".
87
- - type: Based on step give most relevant type of element. use this list to choose element_type: ${elementType} and Never change syntax of element_type, follow the syntax of element_type in list.if element_type is not there in list return 'link'.
90
+ - attributeValue: If an element is visible and matches the target, provide its FF-inspecter. Otherwise "Fire-Flink-2".
91
+ - type: Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
92
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
88
93
 
89
- - Respond with valid JSON only.`;
94
+ - response:valid json only.`;
90
95
  }
91
96
  return prompt;
92
97
  }
@@ -4,10 +4,10 @@ exports.getActionExtractorPrompt = getActionExtractorPrompt;
4
4
  async function getActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }) {
5
5
  const nlpList = `"GetAllTheOptionsFromListBoxAsTextInSortedOrder", "GetScreenshot", "GetAllTheOptionsFromListBoxAsText", "GetTheFirstSelectedOptionFromListBoxAsText", "GetAllTheSelectedOptionsFromListBoxAsText", "GetAttribute", "GetTagName", "GetListBoxSize",
6
6
  "GetWrappedOptionFromListBoxAsText", "GetTextFromListOfWebElements", "GetCssValue", "GetScreenshotAs", "GetFirstSelectedOption", "GetText", "GetOptions", "GetAllSelectedOptions", "GetSize", "GetWrappedElement", "GetRect", "GetLocation",
7
- "GetXLocationOfWebElement", "GetYLocationOfWebElement", "GetVideoMediaSource", "GetListOfElementsFromLocatorTypeLocatorValue", "GetVideoCurrentSeekTime", "GetVideoMediaLength", "GetVideoDefaultPlaybackRate", "GetVideoHeight", "GetAudioCurrentPlaybackRate",
8
- "GetAudioDecodedByte", "GetVideoCurrentPlaybackRate", "GetVideoCurrentVolume", "GetVideoDimension", "GetAudioDefaultPlaybackRate", "GetVideoWidth", "GetSingleApiStatusCode", "GetSingleApiResponseTime", "GetAudioCurrentVolume", "GetSingleApiResponse",
7
+ "GetXLocationOfWebElement", "GetYLocationOfWebElement", "GetVideoMediaSource", "GetListOfElementsFromLocatorTypeLocatorValue", "GetVideoCurrentSeekTime", "GetVideoMediaLength", "GetVideoDefaultPlaybackRate", "GetAudioCurrentPlaybackRate",
8
+ "GetAudioDecodedByte", "GetVideoCurrentPlaybackRate", "GetVideoCurrentVolume", "GetAudioDefaultPlaybackRate", "GetSingleApiStatusCode", "GetSingleApiResponseTime", "GetAudioCurrentVolume", "GetSingleApiResponse",
9
9
  "GetCollectiveApiStatusCode", "GetVideoDecodedByte", "GetDataFromApiResponseForJsonPath", "GetAudioMediaSource", "GetCollectiveApiResponseTime", "GetStatusCodeOfALink", "GetValueFromLocalStorage", "GetHeightOfWebElement", "GetTunnelIdentifier",
10
- "GetWidthOfWebElement", "GetValueByCookieName", "GetAudioHeight", "GetHexCodeForGivenXYCoordinatesOfImage", "GetAudioCurrentSeekTime", "GetAudioWidth", "GetAudioMediaLength", "GetAudioDimension", "ScrollPageToSpecificLocation", "GetDateWithGivenFormat",
10
+ "GetWidthOfWebElement", "GetValueByCookieName", "GetHexCodeForGivenXYCoordinatesOfImage", "GetAudioCurrentSeekTime", "GetAudioMediaLength", "GetDateWithGivenFormat",
11
11
 
12
12
  "GetBestPracticesScore", "GetPwaScore", "GetDataFromApiRequestHeaderForJsonPath", "GetSeoScore", "GetValueOfSystemVariable", "GetStringDataFromLocalFile", "GetAccessibilityScore", "GetPerformanceScore", "GetSystemProperty", "GetValueFromXmlPath",
13
13
  "RobotGetXLocationOfWebElement", "RobotGetYLocationOfWebElement", "GetSingleApiRequestPayload","GetAllBrokenLinks", "GetHeightOfBrowserWindow", "GetXLocationOfBrowserWindow", "GetAllBrokenLinkCount", "GetWidthOfBrowser", "GetCurrentWindowHandle",
@@ -24,9 +24,9 @@ Select the perfect matching NLP name from the list that best fits the step's int
24
24
  **The NLP name must match exactly one value from the approved NLP list. Do not generate or suggest any new NLP names under any condition.**
25
25
 
26
26
  {
27
- "attribute_value": "Fire-Flink-x",
27
+ "attributeValue": "Fire-Flink-x",
28
28
  "nlpName": "x",
29
- "input_text":"x",
29
+ "inputText":"x",
30
30
  "elementType": "x"
31
31
  }
32
32
  Rules:
@@ -34,22 +34,24 @@ Rules:
34
34
  - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
35
35
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
36
36
  - **CRITICAL: For media actions (GetVideo..., GetAudio...), ALWAYS prioritize the actual <video> or <audio> element. DO NOT select container <div>, <span> or code block elements that merely contain the media tag as text. If you see a code block and a real media element, choose the real media element.**
37
- - For some steps you can see two inputs but you need to understand step and send the required input_text. input_text can be string, number, url or xpath.
38
- ex: get the flights matches the flight, Get Single Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up', if they give x-30,y-50 just send 30,50 and for this nlps GetDataFromApiRequestHeaderForJsonPath and Get Data From Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up' For JsonPath - c:jsonpath format than fill input_text in this order "https://app.talentscan.ai/login,https://app.talentscan.ai/sign up,c:jsonpath"
37
+ - For some steps you can see two inputs but you need to understand step and send the required inputText. inputText can be string, number, url or xpath.
38
+ ex: get the flights matches the flight, Get Single Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up', if they give x-30,y-50 just send 30,50 and for this nlps GetDataFromApiRequestHeaderForJsonPath and Get Data From Api Response of url- 'https://app.talentscan.ai/login' and request url-'https://app.talentscan.ai/sign up' For JsonPath - c:jsonpath format than fill inputText in this order "https://app.talentscan.ai/login,https://app.talentscan.ai/sign up,c:jsonpath"
39
39
  here keyword : "flights" , input : "flight", here input:"https://app.talentscan.ai/login,https://app.talentscan.ai/sign up" first input is url and second input is request url
40
- - If step is about getting text from list of web elements from locator type locator value then always follow this format first type next value input_text: "locator_type, locator_value". if they didn't give locator type then based on locator value find locator type.
41
- and also If a step is about getting value from element or some kind of locator type then provide the input in the format input_text: "locator_type, locator_value".
42
- - If step is about getting attribute value then map to attribute nlps and input_text: "attribute_name".
43
- - if step is about tag name then input_text: "tag name". and if step is about getting tag name and with count then input_text: "tag name,count".
40
+ - If step is about getting text from list of web elements from locator type locator value then always follow this format first type next value inputText: "locator_type, locator_value". if they didn't give locator type then based on locator value find locator type.
41
+ and also If a step is about getting value from element or some kind of locator type then provide the input in the format inputText: "locator_type, locator_value".
42
+ - If step is about getting attribute value then map to attribute nlps and inputText: "attribute_name".
43
+ - if step is about tag name then inputText: "tag name". and if step is about getting tag name and with count then inputText: "tag name,count".
44
44
  - if step is about getting screenshot of element then than map to GetScreenshotAs.
45
- - If step is mapted to GetTunnelIdentifier nlp than input_text must have 4 values separated by comma.first will be datacenter second will be username third will be access key and fourth will be tunnel id. they must follow this order. if they miss any value than return all values except that value.
46
- - If a step refers to location, use X-location or Y-location NLP only when X or Y is explicitly mentioned; otherwise, use the general location NLP.
45
+ - If step is mapped to GetTunnelIdentifier nlp than inputText must have 4 values separated by comma.first will be datacenter second will be username third will be access key and fourth will be tunnel id. they must follow this order. if they miss any value than return all values except that value.
46
+ - If a step refers to location, use "X-location" or "Y-location" NLP only when "X" or "Y" is explicitly mentioned; otherwise it should be "GetLocation" NLP.
47
47
  - if step is about getting options than map to option nlps.
48
- - for nlp GetBestPracticesScore,GetPwaScore and GetSeoScore input_text must have 2 values separated by comma.first will be url second will be device type. they must follow this order. if they miss any value than return all values except that value.
48
+ - for nlp GetBestPracticesScore,GetPwaScore and GetSeoScore inputText must have 2 values separated by comma.first will be url second will be device type. they must follow this order. if they miss any value than return all values except that value.
49
+ - If the step is about to get any api response, status code or anything related to api then in input Text give me url of that api and also the target url in the format "url,target_url".
49
50
  - If no explicit option is mentioned in the step, map it to the most relevant non-option getting NLP based on the intent of the step.
50
- - Extract input_text from the step that is which is being getting in the step, if you can't find any input text in the step, return keyword as input_text.
51
- - Use the closest semantic match for the step; return attribute_value as Fire-Flink-0, only if nothing is found.and never return Fire-Flink-x.
51
+ - Extract inputText from the step that is which is being getting in the step, if you can't find any input text in the step, return keyword as inputText.
52
+ - Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.and never return Fire-Flink-x.
52
53
  - Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
54
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
53
55
  - **Respond with valid JSON only. don't return any other text* or or don't return response in list format*.
54
56
  `;
55
57
  return prompt;
@@ -5,10 +5,10 @@ async function getActionExtractorPromptMob({ extractedDomJson, priorAndNextSteps
5
5
  const nlpList = `"MOB_GetDeviceLocation","MOB_GetBatteryPercentage","MOB_GetLongitude","MOB_GetAltitude","MOB_GetLatitude",
6
6
  "MOB_GetCurrentDeviceDate","MOB_GetMinuteFromCurrentDeviceTime","MOB_GetCurrentAppPackage","MOB_GetAllContexts",
7
7
  "MOB_GetHourFromCurrentDeviceTime","MOB_GetSecondFromCurrentDeviceTime","MOB_GetSupportedPerformanceDataTypes",
8
- "MOB_GetCurrentOrientation","MOB_GetCurrentDeviceTime","MOB_GetCurrentContext","MOB_GetCurrentDeviceSettings","GetCurrentSystemDay",
8
+ "MOB_GetCurrentOrientation","MOB_GetCurrentDeviceTime","MOB_GetDriverInstance","MOB_GetCurrentContext","MOB_GetCurrentDeviceSettings","GetCurrentSystemDay",
9
9
  "MOB_GetClipBoardText","GetCurrentSystemMonth","MOB_GetCurrentDeviceStatus","MOB_GetSizeOfScreen","MOB_GetAllWindowHandles","MOB_GetWidthOfScreen",
10
10
  "MOB_GetBatteryStatus","MOB_GetCurrentActivity","MOB_GetDeviceOsVersion","MOB_GetDeviceUdid","MOB_GetDeviceName","MOB_GetImplicitTimeOut",
11
- "MOB_GetDriverInstance","MOB_GetCurrentWindowHandle","MOB_GetCurrentSessionId","MOB_GetHeightOfScreen","MOB_GetCurrentDeviceSystemBars",
11
+ "MOB_GetCurrentWindowHandle","MOB_GetCurrentSessionId","MOB_GetHeightOfScreen","MOB_GetCurrentDeviceSystemBars",
12
12
  "MOB_GetAttributeValueFromListOfWebElements","MOB_GetTagName","MOB_GetListOfElementsFromLocatorTypeLocatorValue","MOB_GetScreenshot","MOB_GetTextFromElementAndSetToClipBoard",
13
13
  "MOB_GetHeightOfElement","MOB_GetTextFromListOfWebElements","MOB_GetHexCodeForGivenXYCoordinatesOfImage","MOB_GetADBLogsForGivenAppPackage","MOB_GetScreenshotOfElement","MOB_GetWidthOfElement",
14
14
  "MOB_GetX", "MOB_GetLocation","MOB_GetY","MOB_GetPerformanceData","MOB_GetRect","MOB_GetText","GetSize","MOB_GetAttribute"`;
@@ -20,30 +20,30 @@ Select the perfect matching NLP name from the list that best fits the step's int
20
20
 
21
21
  Return **only valid JSON** in the following format:
22
22
  {
23
- "attribute_value": "Fire-Flink-x",
23
+ "attributeValue": "Fire-Flink-x",
24
24
  "nlpName": "x",
25
- "input_text":"x"
26
- "keyword": "x",
25
+ "inputText":"x",
27
26
  "elementType": "x",
28
27
  "locator_type": "x",
29
- "attribute_type": "x"
28
+ "attributeType": "x"
30
29
  }
31
30
  Rules:
32
31
  - nlpName must be exactly one from the provided list.
33
- - for screenshots, extract the input_text from the step. like what they what to name image.if not present then leave it empty.
34
- - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
32
+ - for screenshots, extract the inputText from the step. like what they what to name image.if not present then leave it empty.
33
+ - Use context from the steps : ${priorAndNextSteps}, json to search for FF-inspecter.
35
34
  - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
36
- - Extract input_text from the step, if you can't find any input text in the step, return keyword as input_text.
35
+ - Extract inputText from the step, if you can't find any input text in the step leave it empty.
37
36
  ex:Fetch the ADB logs for the abhibus
38
37
  here input: abhibus
39
- - if step is get screenshot of element map it to MOB_GetScreenshotOfElement nlp.
38
+ - **Extract inputText from the step that is which need to be get in the step ,if they mention anything in string it can be one or two values take it as input text. ex:get elements for this locator type and value 'name,login' ,inputtext:'name,login'.**
40
39
  - Extract keyword from the step, if the step contains any keyword.
41
- - Use the closest semantic match for the step; return attribute_value as Fire-Flink-0, only if nothing is found.
40
+ - Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
42
41
  - if step is get location of device or get device location then map to MOB_GetDeviceLocation nlp.
43
42
  - Based on step give most relevant type of element. use this list to choose elementType: ${elementType} and Never change syntax of elementType, follow the syntax of elementType in list.if elementType is not there in list return 'link'.
44
- - Extract locator_type if mentioned in the step, like(text,resource-id,content-desc,xpath)
45
- - Extract attribute_type if mentioned in the step, like (text,resource-id,content-desc,className).
43
+ - Extract locatorType if mentioned in the step, like(text,resource-id,content-desc,xpath)
44
+ - If attribute is mentioned in step then Extract attributeType from the step, like (text,resource-id,content-desc,className) and should map to attribute containing nlp only.
46
45
  - if the step is getText or getTextFromElement map to MOB_GetText nlp similarly for getSize or GetSizeOfElement map to MOB_GetSize.
46
+ - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
47
47
  - Respond with valid JSON only.
48
48
  `;
49
49
  return prompt;