ff-automationv2 2.2.30 → 2.2.32-beta.0

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 (265) hide show
  1. package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.d.ts +3 -0
  2. package/dist/ai/llmprompts/promptRegistry.js +10 -2
  3. package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +83 -27
  4. package/dist/ai/llmprompts/systemPrompts/fileVerifyActionExtractorPrompt.d.ts +2 -0
  5. package/dist/ai/llmprompts/systemPrompts/fileVerifyActionExtractorPrompt.js +35 -0
  6. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +35 -0
  7. package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +5 -2
  8. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +4 -2
  9. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +3 -1
  10. package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.d.ts +2 -0
  11. package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.js +54 -0
  12. package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +53 -8
  13. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +5 -4
  14. package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +1 -1
  15. package/dist/ai/llmprompts/userPrompts/userPrompt.js +2 -0
  16. package/dist/automation/actions/executor.d.ts +14 -6
  17. package/dist/automation/actions/executor.js +968 -251
  18. package/dist/automation/actions/interaction/alert/enterDataToAlert.js +3 -1
  19. package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -0
  20. package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +1 -1
  21. package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +1 -1
  22. package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +1 -1
  23. package/dist/automation/actions/interaction/clear/clearAndEnter.js +6 -3
  24. package/dist/automation/actions/interaction/elementlessActions/getOtp.js +25 -24
  25. package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +3 -1
  26. package/dist/automation/actions/interaction/enterActions/enterInput.js +5 -2
  27. package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +5 -2
  28. package/dist/automation/actions/interaction/enterActions/enterUrl.js +5 -2
  29. package/dist/automation/actions/interaction/enterActions/enterusingJs.js +3 -1
  30. package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +5 -2
  31. package/dist/automation/actions/interaction/files/VerifyPDF.d.ts +2 -0
  32. package/dist/automation/actions/interaction/files/VerifyPDF.js +171 -0
  33. package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +4 -1
  34. package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +5 -1
  35. package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.d.ts +1 -1
  36. package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +10 -6
  37. package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +5 -1
  38. package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +5 -1
  39. package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.d.ts +1 -1
  40. package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +7 -3
  41. package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +5 -1
  42. package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +5 -1
  43. package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +5 -1
  44. package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +5 -1
  45. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +5 -1
  46. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +5 -1
  47. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +5 -1
  48. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +5 -2
  49. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +5 -1
  50. package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +5 -1
  51. package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +5 -1
  52. package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +5 -1
  53. package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +5 -1
  54. package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +5 -1
  55. package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +5 -1
  56. package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +5 -1
  57. package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +4 -0
  58. package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +5 -1
  59. package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +5 -1
  60. package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +5 -1
  61. package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +5 -1
  62. package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +5 -1
  63. package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +5 -1
  64. package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +5 -1
  65. package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +5 -1
  66. package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +5 -1
  67. package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +5 -1
  68. package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +5 -0
  69. package/dist/automation/actions/interaction/get/getAllBrokenImages.js +9 -0
  70. package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +9 -0
  71. package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +10 -1
  72. package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +11 -0
  73. package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +12 -1
  74. package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +11 -1
  75. package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +12 -1
  76. package/dist/automation/actions/interaction/get/getAllCookieNames.js +6 -1
  77. package/dist/automation/actions/interaction/get/getAllCookieValues.js +6 -1
  78. package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +8 -1
  79. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +4 -1
  80. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +4 -1
  81. package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +4 -1
  82. package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -1
  83. package/dist/automation/actions/interaction/get/getAttribute.js +19 -14
  84. package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +4 -1
  85. package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +4 -1
  86. package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +4 -1
  87. package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +4 -1
  88. package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +4 -1
  89. package/dist/automation/actions/interaction/get/getAudioMediaLength.js +4 -1
  90. package/dist/automation/actions/interaction/get/getAudioMediaSource.js +4 -1
  91. package/dist/automation/actions/interaction/get/getBestPracticesScore.js +11 -3
  92. package/dist/automation/actions/interaction/get/getBrowserCount.js +5 -0
  93. package/dist/automation/actions/interaction/get/getBrowserVersion.js +5 -0
  94. package/dist/automation/actions/interaction/get/getCapabilityNames.js +5 -0
  95. package/dist/automation/actions/interaction/get/getClipBoardText.js +13 -0
  96. package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +4 -1
  97. package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +4 -1
  98. package/dist/automation/actions/interaction/get/getCssValue.js +5 -1
  99. package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +4 -0
  100. package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -1
  101. package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +4 -0
  102. package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +5 -1
  103. package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +5 -1
  104. package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +5 -1
  105. package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +5 -1
  106. package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +13 -26
  107. package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -4
  108. package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -4
  109. package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +13 -16
  110. package/dist/automation/actions/interaction/get/getDriverInstance.js +13 -28
  111. package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +8 -1
  112. package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +5 -1
  113. package/dist/automation/actions/interaction/get/getFullPaintTime.js +8 -1
  114. package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +4 -0
  115. package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +5 -0
  116. package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +4 -1
  117. package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +4 -0
  118. package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +15 -28
  119. package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +7 -0
  120. package/dist/automation/actions/interaction/get/getListBoxSize.d.ts +1 -1
  121. package/dist/automation/actions/interaction/get/getListBoxSize.js +4 -2
  122. package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +7 -2
  123. package/dist/automation/actions/interaction/get/getLocation.js +14 -8
  124. package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +4 -0
  125. package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +7 -0
  126. package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +7 -0
  127. package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +5 -0
  128. package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +9 -0
  129. package/dist/automation/actions/interaction/get/getOptions.js +4 -1
  130. package/dist/automation/actions/interaction/get/getPageTitle.js +5 -1
  131. package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +12 -1
  132. package/dist/automation/actions/interaction/get/getPwaScore.js +11 -3
  133. package/dist/automation/actions/interaction/get/getRect.js +9 -2
  134. package/dist/automation/actions/interaction/get/getScreenshot.js +13 -28
  135. package/dist/automation/actions/interaction/get/getScreenshotAs.js +14 -44
  136. package/dist/automation/actions/interaction/get/getSeoScore.js +15 -3
  137. package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +5 -3
  138. package/dist/automation/actions/interaction/get/getSingleApiResponse.js +9 -8
  139. package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +9 -9
  140. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +1 -1
  141. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +10 -17
  142. package/dist/automation/actions/interaction/get/getSize.js +7 -2
  143. package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -4
  144. package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +10 -7
  145. package/dist/automation/actions/interaction/get/getSystemProperty.js +6 -4
  146. package/dist/automation/actions/interaction/get/getTagName.js +9 -2
  147. package/dist/automation/actions/interaction/get/getText.js +7 -2
  148. package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +5 -1
  149. package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +6 -1
  150. package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -8
  151. package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -1
  152. package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +9 -1
  153. package/dist/automation/actions/interaction/get/getValueByCookieName.js +7 -4
  154. package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +6 -4
  155. package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +6 -4
  156. package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +4 -1
  157. package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +4 -1
  158. package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +4 -1
  159. package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +4 -1
  160. package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +4 -1
  161. package/dist/automation/actions/interaction/get/getVideoMediaLength.js +4 -1
  162. package/dist/automation/actions/interaction/get/getVideoMediaSource.js +5 -1
  163. package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +6 -1
  164. package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +4 -1
  165. package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +10 -1
  166. package/dist/automation/actions/interaction/get/getWrappedElement.js +5 -1
  167. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.d.ts +1 -1
  168. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +4 -2
  169. package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +4 -3
  170. package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +7 -2
  171. package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +6 -1
  172. package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +7 -2
  173. package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +2 -0
  174. package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +5 -2
  175. package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +1 -1
  176. package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +2 -2
  177. package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +1 -1
  178. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +1 -1
  179. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +1 -1
  180. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +1 -1
  181. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +1 -1
  182. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +1 -1
  183. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +1 -1
  184. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +1 -1
  185. package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +1 -1
  186. package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +1 -1
  187. package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +2 -2
  188. package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +2 -2
  189. package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +1 -1
  190. package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +1 -1
  191. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +1 -1
  192. package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +1 -1
  193. package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +1 -1
  194. package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +1 -1
  195. package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +1 -1
  196. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +1 -1
  197. package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +1 -1
  198. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +1 -1
  199. package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +1 -1
  200. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +1 -1
  201. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +1 -1
  202. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +1 -1
  203. package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +1 -1
  204. package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +1 -1
  205. package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +1 -1
  206. package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +2 -2
  207. package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +1 -1
  208. package/dist/automation/actions/interaction/verify/VerifyTagName.js +1 -1
  209. package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +1 -1
  210. package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +1 -1
  211. package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +1 -1
  212. package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +1 -1
  213. package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +1 -1
  214. package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +2 -2
  215. package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +2 -2
  216. package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +2 -2
  217. package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +2 -2
  218. package/dist/automation/actions/interaction/verify/verifypartialtext.js +2 -2
  219. package/dist/automation/actions/interaction/verify/verifytext.js +2 -2
  220. package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +22 -1
  221. package/dist/automation/actions/interface/FireFlinkResponseSchema.js +18 -4
  222. package/dist/automation/actions/interface/alertActionInterface.d.ts +11 -0
  223. package/dist/automation/actions/interface/clearActionInterface.d.ts +4 -0
  224. package/dist/automation/actions/interface/getActionInterface.d.ts +150 -141
  225. package/dist/automation/actions/interface/getOtpInterface.d.ts +5 -0
  226. package/dist/automation/actions/interface/interactionActionInterface.d.ts +14 -7
  227. package/dist/automation/actions/interface/shadowDomInterface.d.ts +10 -0
  228. package/dist/automation/actions/interface/verifyActionInterface.d.ts +100 -0
  229. package/dist/core/Errors/InvalidFileTypeError.d.ts +5 -0
  230. package/dist/core/Errors/InvalidFileTypeError.js +14 -0
  231. package/dist/core/constants/supportedActions.js +4 -0
  232. package/dist/core/helpers/elementSelectorResolver.d.ts +11 -0
  233. package/dist/core/helpers/elementSelectorResolver.js +102 -0
  234. package/dist/core/helpers/runnerDomPipeline.d.ts +9 -0
  235. package/dist/core/helpers/runnerDomPipeline.js +97 -0
  236. package/dist/core/helpers/runnerKafkaReporter.d.ts +17 -0
  237. package/dist/core/helpers/runnerKafkaReporter.js +71 -0
  238. package/dist/core/helpers/runnerPostActionHelper.d.ts +2 -0
  239. package/dist/core/helpers/runnerPostActionHelper.js +30 -0
  240. package/dist/core/helpers/stepActionInspector.d.ts +5 -0
  241. package/dist/core/helpers/stepActionInspector.js +113 -0
  242. package/dist/core/helpers/visionFallbackHandler.d.ts +3 -0
  243. package/dist/core/helpers/visionFallbackHandler.js +138 -0
  244. package/dist/core/interfaces/actionInterface.d.ts +7 -5
  245. package/dist/core/interfaces/automationRunnerInterface.d.ts +56 -1
  246. package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +2 -0
  247. package/dist/core/interfaces/llmResponseInterface.d.ts +5 -0
  248. package/dist/core/interfaces/promptInterface.d.ts +9 -2
  249. package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +4 -0
  250. package/dist/core/main/actionHandlerFactory.js +37 -7
  251. package/dist/core/main/executionContext.d.ts +2 -1
  252. package/dist/core/main/executionContext.js +7 -5
  253. package/dist/core/main/runAutomationScript.d.ts +1 -0
  254. package/dist/core/main/runAutomationScript.js +390 -1008
  255. package/dist/core/types/llmResponseType.d.ts +2 -2
  256. package/dist/core/types/promptType.d.ts +3 -1
  257. package/dist/core/types/promptType.js +2 -0
  258. package/dist/fireflinkData/fireflinkScript/appendScriptData.js +3 -0
  259. package/dist/utils/browserCap/capability.js +17 -0
  260. package/dist/utils/helpers/getHelper.d.ts +8 -0
  261. package/dist/utils/helpers/getHelper.js +115 -0
  262. package/dist/utils/helpers/platformSyntax.d.ts +1 -1
  263. package/package.json +2 -1
  264. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.d.ts +0 -2
  265. package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.js +0 -36
@@ -1,2 +1,2 @@
1
- import { IKeywordAction, IDragDropAction, IAlertAction, IScrollOrAttributeAction, IManualSteps, IVisionAction, IWaitAction, IClickAction, IVerifyAction, IGetAction } from "../interfaces/llmResponseInterface.js";
2
- export type FireFlinkLLMResponse = IKeywordAction | IAlertAction | IDragDropAction | IScrollOrAttributeAction | IManualSteps | IVisionAction | IWaitAction | IClickAction | IVerifyAction | IGetAction | any;
1
+ import { IKeywordAction, IDragDropAction, IAlertAction, IScrollOrAttributeAction, IManualSteps, IVisionAction, IWaitAction, IClickAction, IVerifyAction, IGetAction, IInputTextExtractor } from "../interfaces/llmResponseInterface.js";
2
+ export type FireFlinkLLMResponse = IKeywordAction | IAlertAction | IDragDropAction | IScrollOrAttributeAction | IManualSteps | IVisionAction | IWaitAction | IClickAction | IVerifyAction | IGetAction | IInputTextExtractor | any;
@@ -8,5 +8,7 @@ export declare enum PromptType {
8
8
  GET_PROMPT = "getActionExtractorPrompt",
9
9
  WAIT_ACTION_EXTRACTOR_PROMPT = "waitActionExtractorPrompt",
10
10
  COMBINED_ACTION_EXTRACTOR_PROMPT = "combinedActionExtractorPrompt",
11
- OTP_EXTRACTOR = "otpExtractorPrompt"
11
+ OTP_EXTRACTOR = "otpExtractorPrompt",
12
+ FILE_VERIFY_PROMPT = "fileVerifyActionExtractorPrompt",
13
+ INPUT_CONTEXT_PROMPT = "inputContextPrompt"
12
14
  }
@@ -13,4 +13,6 @@ var PromptType;
13
13
  PromptType["WAIT_ACTION_EXTRACTOR_PROMPT"] = "waitActionExtractorPrompt";
14
14
  PromptType["COMBINED_ACTION_EXTRACTOR_PROMPT"] = "combinedActionExtractorPrompt";
15
15
  PromptType["OTP_EXTRACTOR"] = "otpExtractorPrompt";
16
+ PromptType["FILE_VERIFY_PROMPT"] = "fileVerifyActionExtractorPrompt";
17
+ PromptType["INPUT_CONTEXT_PROMPT"] = "inputContextPrompt";
16
18
  })(PromptType || (exports.PromptType = PromptType = {}));
@@ -42,6 +42,9 @@ async function appendScriptData(args) {
42
42
  else {
43
43
  data.elementsData = [];
44
44
  }
45
+ if (args.returnTypeVariableName) {
46
+ data.returnTypeVariableName = args.returnTypeVariableName;
47
+ }
45
48
  return data;
46
49
  });
47
50
  }
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getCapabilities = getCapabilities;
7
+ const path_1 = __importDefault(require("path"));
4
8
  function getCapabilities(browserName, path, profile, customCaps = []) {
5
9
  const isLinux = process.platform === 'linux';
6
10
  const caps = customCaps.map(c => c.toLowerCase());
@@ -39,6 +43,12 @@ function getCapabilities(browserName, path, profile, customCaps = []) {
39
43
  };
40
44
  const getChromiumPrefs = () => {
41
45
  const prefs = {};
46
+ // Always redirect downloads to session/temp_file so VerifyPDF can reliably find them
47
+ const downloadDir = path_1.default.resolve(process.cwd(), "session", "temp_file");
48
+ prefs["download.default_directory"] = downloadDir;
49
+ prefs["download.prompt_for_download"] = false;
50
+ prefs["download.directory_upgrade"] = true;
51
+ prefs["safebrowsing.enabled"] = true;
42
52
  if (hasCap("geolocation"))
43
53
  prefs["profile.default_content_setting_values.geolocation"] = 2;
44
54
  if (hasCap("camera"))
@@ -67,6 +77,13 @@ function getCapabilities(browserName, path, profile, customCaps = []) {
67
77
  if (hasCap("disableExtensions"))
68
78
  args.push('-safe-mode');
69
79
  const prefs = {};
80
+ // Always redirect downloads to session/temp_file so VerifyPDF can reliably find them
81
+ const downloadDir = path_1.default.resolve(process.cwd(), "session", "temp_file");
82
+ prefs["browser.download.dir"] = downloadDir;
83
+ prefs["browser.download.folderList"] = 2; // 2 = use custom download dir
84
+ prefs["browser.download.useDownloadDir"] = true;
85
+ prefs["browser.helperApps.neverAsk.saveToDisk"] = "application/pdf,application/octet-stream";
86
+ prefs["pdfjs.disabled"] = true; // prevent Firefox from opening PDFs inline
70
87
  if (hasCap("disableNotifications") || hasCap("notifications"))
71
88
  prefs["dom.webnotifications.enabled"] = false;
72
89
  if (hasCap("disablePopups") || hasCap("popups"))
@@ -0,0 +1,8 @@
1
+ export interface StepInputDataArgs {
2
+ stepsInputData?: any[];
3
+ stepIndex?: any;
4
+ currentStep?: string;
5
+ manualStep?: string;
6
+ returnTypeVariableName?: string;
7
+ }
8
+ export declare function saveStepInputData(args: StepInputDataArgs | undefined, value: any): void;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ // import { logger } from "../logger/logData.js";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.saveStepInputData = saveStepInputData;
5
+ function saveStepInputData(args, value) {
6
+ if (!args || !args.stepsInputData || !Array.isArray(args.stepsInputData)) {
7
+ return;
8
+ }
9
+ const rawStepIndex = args.stepIndex !== undefined
10
+ ? args.stepIndex
11
+ : args.stepsInputData?.currentStepIndex;
12
+ const currentStep = args.currentStep || "";
13
+ const manualStep = args.manualStep ||
14
+ args.stepsInputData?.currentManualStep ||
15
+ currentStep;
16
+ const isOneToMany = typeof rawStepIndex === "string" && rawStepIndex.includes(".");
17
+ const baseStepIndex = isOneToMany
18
+ ? Number(rawStepIndex.split(".")[0])
19
+ : typeof rawStepIndex === "number"
20
+ ? rawStepIndex
21
+ : Number(rawStepIndex) || rawStepIndex;
22
+ let inputText;
23
+ if (value === null || value === undefined) {
24
+ inputText = "";
25
+ }
26
+ else if (typeof value === "object") {
27
+ try {
28
+ inputText = JSON.stringify(value);
29
+ }
30
+ catch {
31
+ inputText = String(value);
32
+ }
33
+ }
34
+ else {
35
+ inputText = String(value);
36
+ }
37
+ if (isOneToMany) {
38
+ const existingEntry = args.stepsInputData.find((entry) => entry && entry.stepindex === baseStepIndex);
39
+ if (existingEntry) {
40
+ if (manualStep && existingEntry.step !== manualStep) {
41
+ existingEntry.step = manualStep;
42
+ }
43
+ if (!Array.isArray(existingEntry.subSteps)) {
44
+ existingEntry.subSteps = [];
45
+ }
46
+ const alreadyRecorded = existingEntry.subSteps.some((s) => s.stepindex === String(rawStepIndex) &&
47
+ s.step === currentStep &&
48
+ s.value !== undefined);
49
+ if (alreadyRecorded) {
50
+ return;
51
+ }
52
+ existingEntry.subSteps.push({
53
+ stepindex: String(rawStepIndex),
54
+ step: currentStep,
55
+ inputText,
56
+ value,
57
+ ...(args.returnTypeVariableName ? { variableName: args.returnTypeVariableName } : {}),
58
+ });
59
+ // Do NOT store inputText or value on the parent object for one-to-many steps
60
+ delete existingEntry.inputText;
61
+ delete existingEntry.value;
62
+ // try {
63
+ // logger?.info(
64
+ // `[saveStepInputData] Appended sub-step ${rawStepIndex} to step ${baseStepIndex}:`,
65
+ // existingEntry
66
+ // )?.catch(() => { });
67
+ // } catch { }
68
+ return;
69
+ }
70
+ // First sub-step for this baseStepIndex
71
+ const record = {
72
+ stepindex: baseStepIndex,
73
+ step: manualStep,
74
+ subSteps: [
75
+ {
76
+ stepindex: String(rawStepIndex),
77
+ step: currentStep,
78
+ inputText,
79
+ value,
80
+ ...(args.returnTypeVariableName ? { variableName: args.returnTypeVariableName } : {}),
81
+ },
82
+ ],
83
+ };
84
+ args.stepsInputData.push(record);
85
+ // try {
86
+ // logger?.info(
87
+ // `[saveStepInputData] Stored sub-step ${rawStepIndex} in step ${baseStepIndex}:`,
88
+ // record
89
+ // )?.catch(() => { });
90
+ // } catch { }
91
+ return;
92
+ }
93
+ // Normal 1-to-1 step
94
+ const isAlreadyRecorded = args.stepsInputData.some((entry) => entry &&
95
+ entry.stepindex === baseStepIndex &&
96
+ entry.step === manualStep &&
97
+ entry.value !== undefined);
98
+ if (isAlreadyRecorded) {
99
+ return;
100
+ }
101
+ const record = {
102
+ stepindex: baseStepIndex,
103
+ step: manualStep,
104
+ inputText,
105
+ value,
106
+ ...(args.returnTypeVariableName ? { variableName: args.returnTypeVariableName } : {}),
107
+ };
108
+ args.stepsInputData.push(record);
109
+ // try {
110
+ // logger?.info(
111
+ // `[saveStepInputData] Stored step ${baseStepIndex}:`,
112
+ // record
113
+ // )?.catch(() => { });
114
+ // } catch { }
115
+ }
@@ -1 +1 @@
1
- export declare function getPlatformSyntax(platform: string): "Android" | "iOS" | "Web";
1
+ export declare function getPlatformSyntax(platform: string): "Web" | "Android" | "iOS";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ff-automationv2",
3
- "version": "2.2.30",
3
+ "version": "2.2.32-beta.0",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "description": "This lib is used to automate the manual testcase",
@@ -82,6 +82,7 @@
82
82
  "jsonrepair": "^3.14.1",
83
83
  "kafkajs": "^2.2.4",
84
84
  "openai": "6.18.0",
85
+ "pdfjs-dist": "^6.3.289",
85
86
  "plist": "^3.1.0",
86
87
  "uuid": "13.0.0",
87
88
  "webdriverio": "9.26.1",
@@ -1,2 +0,0 @@
1
- import { combinedActionArgs } from "../llmPromptTypes/systemPromptTypes";
2
- export declare function combinedActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }: combinedActionArgs): Promise<string>;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.combinedActionExtractorPrompt = combinedActionExtractorPrompt;
4
- async function combinedActionExtractorPrompt({ extractedDomJson, priorAndNextSteps, }) {
5
- const nlpList = `"dummy"`;
6
- const elementType = ["link", "textfield", "icon", "button", "radiobutton", "checkbox", "tab", "action overflow button", "hamburger menu", "toggle button", "steppers", "sliders"];
7
- const prompt = `
8
- You are an intelligent assistant that extracts structured UI action data.
9
- Given the step, the simplified DOM: ${extractedDomJson}, and the list of NLP names: ${nlpList}.
10
-
11
- Select the perfect matching NLP name from the list that best fits the step's intent.
12
-
13
- Return **only valid JSON** in the following format:
14
- {
15
- "attributeValue": "Fire-Flink-x",
16
- "nlpName": "x",
17
- "inputText":"x",
18
- "keyword": "x",
19
- "elementType": "x",
20
- "keycode": "x"
21
- }
22
- Rules:
23
- - nlpName must be exactly one from the provided list.
24
- - Use context from the steps : ${priorAndNextSteps}, keyword and json to search for FF-inspecter.
25
- - **Find the FF-inspecter attribute value of the element in the Simplified JSON whose text or attributes best match the step.**
26
- - If step has mutipul inputs add all in inputText and all matched attributeValue also.
27
- - Extract inputText from the step, if you can't find any input text in the step, return keyword as inputText.input can be number, app package, apk file path.dont include extra words.
28
- - Extract keyword from the step, if the step contains any keyword.
29
- - Extract keycode of keys if the step contains any key name like ENTER,SPACE,BACKSPACE etc and give keycode of the given key.
30
- - Use the closest semantic match for the step; return attributeValue as Fire-Flink-0, only if nothing is found.
31
- - 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'.
32
- - Return ONLY a valid JSON object; the response must start with '{' and end with '}', with no markdown, code fences, explanations, or extra text.
33
- - Respond with valid JSON only.
34
- `;
35
- return prompt;
36
- }