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
@@ -9,7 +9,7 @@ export interface IActionExecutor {
9
9
  doubleClick(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
10
10
  waitAndClick(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
11
11
  clickNTimes(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
12
- enterInput(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform: string, stepIndex: any, filteredSteps: any): Promise<void>;
12
+ enterInput(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform?: string, stepIndex?: any, filteredSteps?: any, variableName?: string): Promise<void>;
13
13
  enterInputShadow(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform: string): Promise<void>;
14
14
  clickShadowElement(selector: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string): Promise<void>;
15
15
  enterInputUsingJS(selector: string, value: string, fireflinkIndex: string, pageDOM: string, elementName: string, elementType: string, platform: string): Promise<void>;
@@ -31,8 +31,8 @@ export interface IActionExecutor {
31
31
  verifyElementIsDisplayedInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
32
32
  verifyElementIsEnabledInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
33
33
  verifyElementIsSelectedInSpecifiedTime(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
34
- verifyText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
35
- verifyPartialText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
34
+ verifyText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform?: string, variableName?: string): Promise<void>;
35
+ verifyPartialText(pageDOM: string, selector: string, value: string, fireflinkIndex: string, elementName: string, elementType: string, platform?: string, variableName?: string): Promise<void>;
36
36
  VerifyElementIsDisplayed(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
37
37
  VerifyElementIsNotDisplayed(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
38
38
  VerifyElementIsSelected(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string, platform: string): Promise<void>;
@@ -291,6 +291,7 @@ export interface IActionExecutor {
291
291
  MOB_GetBatteryPercentage(): Promise<void>;
292
292
  MOB_GetLongitude(): Promise<void>;
293
293
  MOB_GetLatitude(): Promise<void>;
294
+ MOB_GetAltitude(): Promise<void>;
294
295
  MOB_GetCurrentDeviceDate(): Promise<void>;
295
296
  MOB_GetMinuteFromCurrentDeviceTime(): Promise<void>;
296
297
  MOB_GetCurrentAppPackage(): Promise<void>;
@@ -343,8 +344,9 @@ export interface IActionExecutor {
343
344
  mouseHover(pageDOM: string, selector: string, fireflinkIndex: string, elementName: string, elementType: string): Promise<void>;
344
345
  MouseClickOnCurrentCursorPoint(): Promise<void>;
345
346
  MouseDoubleClickAtCursorPoint(): Promise<void>;
346
- getOtp(selector: string, timeFrom: string, waitTime: string, activity: string, otpExtractor?: (smsBody: string) => Promise<{
347
+ getOtp(selector: string, timeFrom: string, waitTime: string, activity: string, isTerminated?: () => boolean, otpExtractor?: (smsBody: string) => Promise<{
347
348
  otp: string;
348
349
  regex: string;
349
- } | null>): Promise<void>;
350
+ } | null>, returnTypeVariableName?: string): Promise<void>;
351
+ setStepContext?(stepIndex?: any, currentStep?: string, stepsInputData?: any[], manualStep?: string, returnTypeVariableName?: string, variableName?: string): void;
350
352
  }
@@ -1,4 +1,59 @@
1
- import { AutomationRequest } from "../../core/interfaces/executionDetails.js";
1
+ import { AutomationRequest } from "./executionDetails.js";
2
+ import { platform as PlatformType } from "../types/scriptTypesType.js";
3
+ import { StepProcessor } from "../main/stepProcessor.js";
4
+ import { RunnerKafkaReporter } from "../helpers/runnerKafkaReporter.js";
2
5
  export interface IAutomationRunner {
3
6
  run(args: AutomationRequest): Promise<void>;
4
7
  }
8
+ export interface DomCaptureResult {
9
+ domInfo: any;
10
+ doc: any;
11
+ }
12
+ export interface DomProcessResult {
13
+ extractedRelevantDom: any;
14
+ toonDom: any;
15
+ }
16
+ export interface ResolvedStepAction {
17
+ stepResult: any;
18
+ stepAction: string;
19
+ }
20
+ export interface ShadowIframeResult {
21
+ stepAction: string;
22
+ selector: string;
23
+ iframeDomHtml: string | null;
24
+ handled: boolean;
25
+ }
26
+ export interface VisionFallbackParams {
27
+ driver: any;
28
+ platform: PlatformType;
29
+ action: string;
30
+ step: string;
31
+ stepAction: string;
32
+ inputValue: string;
33
+ stepCount?: any;
34
+ stepIndex?: any;
35
+ currentStep?: string;
36
+ manualStep?: string;
37
+ stepsInputData?: any[];
38
+ returnTypeVariableName?: string;
39
+ variableName?: string;
40
+ fallbackAttempt: number;
41
+ priorAndNextSteps: string[];
42
+ listOfSteps: string[];
43
+ currentElementName?: string;
44
+ extractorElementName?: string;
45
+ stepElementType?: string;
46
+ iframeDomHtml: string | null;
47
+ domInfo: any;
48
+ doc: any;
49
+ beforeHandles: any;
50
+ context: any;
51
+ stepProcessor: StepProcessor;
52
+ actionHandlers: Record<string, any>;
53
+ reporter: RunnerKafkaReporter;
54
+ causeError: any;
55
+ }
56
+ export interface VisionFallbackResult {
57
+ preCapturedDomInfo: any | null;
58
+ retryNeeded: boolean;
59
+ }
@@ -4,6 +4,8 @@ export interface IStep {
4
4
  nlpName: string;
5
5
  elementsData: any[];
6
6
  stepInputs: any[];
7
+ returnTypeVariableName?: string;
8
+ variableName?: string;
7
9
  }
8
10
  export interface IPayload {
9
11
  scriptName: string;
@@ -2,7 +2,9 @@ export interface IKeywordAction {
2
2
  keywords: string[];
3
3
  elementName: string;
4
4
  action: string;
5
+ isStepValueDependable?: boolean;
5
6
  liveLog: string;
7
+ step?: string;
6
8
  }
7
9
  export interface IDragDropAction {
8
10
  drag: string;
@@ -49,3 +51,6 @@ export interface IGetAction {
49
51
  inputText: string;
50
52
  elementType: string;
51
53
  }
54
+ export interface IInputTextExtractor {
55
+ inputText: string;
56
+ }
@@ -27,8 +27,7 @@ export interface PromptArgsMap {
27
27
  priorAndNextSteps: string[];
28
28
  };
29
29
  [PromptType.COMBINED_ACTION_EXTRACTOR_PROMPT]: {
30
- stepAction: string;
31
- extractedDomJson: any;
30
+ extractedDomJson: string;
32
31
  priorAndNextSteps: string[];
33
32
  };
34
33
  [PromptType.WAIT_ACTION_EXTRACTOR_PROMPT]: {
@@ -37,4 +36,12 @@ export interface PromptArgsMap {
37
36
  priorAndNextSteps: string[];
38
37
  };
39
38
  [PromptType.OTP_EXTRACTOR]: Record<string, never>;
39
+ [PromptType.FILE_VERIFY_PROMPT]: {
40
+ extractedDomJson: any;
41
+ priorAndNextSteps: string[];
42
+ };
43
+ [PromptType.INPUT_CONTEXT_PROMPT]: {
44
+ inputStepsContext: string[];
45
+ priorAndNextSteps: string[];
46
+ };
40
47
  }
@@ -10,6 +10,8 @@ export interface IScriptGenerationData {
10
10
  nlpName: string;
11
11
  elementsData: IElementData[] | [];
12
12
  stepInputs: (string | number | boolean)[];
13
+ returnTypeVariableName?: string;
14
+ variableName?: string;
13
15
  }
14
16
  export interface AppendScriptDataArgs {
15
17
  scriptDataAppender: ScriptDataAppender;
@@ -22,4 +24,6 @@ export interface AppendScriptDataArgs {
22
24
  elementType?: string;
23
25
  selector?: string;
24
26
  platform?: string;
27
+ returnTypeVariableName?: string;
28
+ variableName?: string;
25
29
  }
@@ -52,6 +52,9 @@ function createActionHandlers(context) {
52
52
  const withExecutor = (fn) => async (result) => {
53
53
  try {
54
54
  const executor = requireExecutor();
55
+ if (result) {
56
+ executor.setStepContext(result.stepIndex, result.currentStep, result.stepsInputData || context.stepsInputData, result.manualStep, result.returnTypeVariableName, result.variableName);
57
+ }
55
58
  await fn(executor, result);
56
59
  }
57
60
  catch (error) {
@@ -62,6 +65,10 @@ function createActionHandlers(context) {
62
65
  return {
63
66
  open: async (result) => {
64
67
  try {
68
+ if (context.browserOpened) {
69
+ logData_js_1.logger.info("Browser already opened, skipping...");
70
+ return;
71
+ }
65
72
  const keywords = result?.keywords || [];
66
73
  const pathKeyword = keywords.find((k) => k.startsWith("path:"));
67
74
  const profileKeyword = keywords.find((k) => k.startsWith("profile:"));
@@ -170,6 +177,7 @@ function createActionHandlers(context) {
170
177
  }));
171
178
  }
172
179
  }
180
+ context.browserOpened = true;
173
181
  }
174
182
  catch (error) {
175
183
  logData_js_1.logger.error("Error in createActionHandlers", error);
@@ -335,9 +343,27 @@ function createActionHandlers(context) {
335
343
  throw error;
336
344
  }
337
345
  },
338
- navigate: withExecutor(async (executor, result) => {
339
- await executor.navigate(result.keywords[0]);
340
- }),
346
+ navigate: async (result) => {
347
+ try {
348
+ if (!context.browserOpened) {
349
+ logData_js_1.logger.info("Browser not initialized, auto-opening before navigate...");
350
+ await context.session.open();
351
+ context.executor = new executor_js_1.ActionExecutor(await context.session.getCurrentDriver(), context.scriptAppender, context.locator, context.request.platform, context.adbPath);
352
+ context.browserOpened = true;
353
+ context.scriptAppender.add(async () => ({
354
+ nlpName: "Open Browser",
355
+ elementsData: [],
356
+ stepInputs: []
357
+ }));
358
+ }
359
+ const executor = requireExecutor();
360
+ await executor.navigate(result.keywords[0]);
361
+ }
362
+ catch (error) {
363
+ logData_js_1.logger.error("Error in navigate handler", error);
364
+ throw error;
365
+ }
366
+ },
341
367
  maximize: withExecutor(async (executor) => {
342
368
  await executor.maximize();
343
369
  }),
@@ -378,7 +404,7 @@ function createActionHandlers(context) {
378
404
  await executor.clickUsingJS(result.pageDOM, result.selector, result.fireflinkIndex, result.elementName, result.elementType);
379
405
  }),
380
406
  SendKeys: withExecutor(async (executor, result) => {
381
- await executor.enterInput(result.selector, result.value, result.fireflinkIndex, result.pageDOM, result.elementName, result.elementType, result.stepIndex, result.filteredSteps);
407
+ await executor.enterInput(result.selector, result.value, result.fireflinkIndex, result.pageDOM, result.elementName, result.elementType, result.stepIndex, result.filteredSteps, result.variableName);
382
408
  }),
383
409
  EnterDataAndPressKey: withExecutor(async (executor, result) => {
384
410
  await executor.enterInputAndPress(result.selector, result.value, result.fireflinkIndex, result.pageDOM, result.elementName, result.elementType);
@@ -450,10 +476,10 @@ function createActionHandlers(context) {
450
476
  await executor.verifyElementIsSelectedInSpecifiedTime(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType);
451
477
  }),
452
478
  VerifyText: withExecutor(async (executor, result) => {
453
- await executor.verifyText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType);
479
+ await executor.verifyText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType, result.variableName);
454
480
  }),
455
481
  VerifyPartialText: withExecutor(async (executor, result) => {
456
- await executor.verifyPartialText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType);
482
+ await executor.verifyPartialText(result.pageDOM, result.selector, result.value, result.fireflinkIndex, result.elementName, result.elementType, result.variableName);
457
483
  }),
458
484
  VerifyElementIsDisplayed: withExecutor(async (executor, result) => {
459
485
  await executor.VerifyElementIsDisplayed(result.pageDOM, result.selector, result.fireflinkIndex, result.elementName, result.elementType);
@@ -1439,7 +1465,11 @@ function createActionHandlers(context) {
1439
1465
  await executor.MouseClickOnCurrentCursorPointNTimes(result.value);
1440
1466
  }),
1441
1467
  getOtp: withExecutor(async (executor, result) => {
1442
- await executor.getOtp(result.selector, result.timeFrom, result.waitTime, result.activity, result.otpExtractor);
1468
+ await executor.getOtp(result.selector, result.timeFrom, result.waitTime, result.activity, result.isTerminated, result.otpExtractor, result.returnTypeVariableName);
1469
+ }),
1470
+ VerifyPDF: withExecutor(async (executor, result) => {
1471
+ const expectedText = result?.value ?? "";
1472
+ await executor.verifyPDF(expectedText);
1443
1473
  })
1444
1474
  };
1445
1475
  }
@@ -16,7 +16,8 @@ export declare class ExecutionContext {
16
16
  scriptAppender: ScriptDataAppender;
17
17
  adbPath: string;
18
18
  activePlatform: platform;
19
- extractedOtp: string | null;
19
+ browserOpened: boolean;
20
+ stepsInputData: any[];
20
21
  constructor(request: AutomationRequest, workerPool: LocatorWorkerPool);
21
22
  initializeMobileDriver(caps: any): Promise<void>;
22
23
  }
@@ -13,7 +13,8 @@ class ExecutionContext {
13
13
  this.request = request;
14
14
  this.workerPool = workerPool;
15
15
  this.executor = null;
16
- this.extractedOtp = null;
16
+ this.browserOpened = false;
17
+ this.stepsInputData = [];
17
18
  this.session = new initiateBrowserSession_js_1.BrowserSession(browserType_js_1.browserName[request.browserName], request.isCloud, request.capabilities, defaultValues_js_1.DEFAULT_PAGE_LOAD, request.cloudConfig);
18
19
  this.locator = new getListOfLocators_js_1.ElementGetter(workerPool);
19
20
  this.scriptAppender = new scriptGenrationData_js_1.ScriptDataAppender();
@@ -49,14 +50,15 @@ class ExecutionContext {
49
50
  if (key === "appPackage") {
50
51
  hasAppPackage = true;
51
52
  }
52
- if (value === "true") {
53
+ const normalizedValue = value.trim().toLowerCase();
54
+ if (normalizedValue === "true") {
53
55
  appiumCaps[`appium:${key}`] = true;
54
56
  }
55
- else if (value === "false") {
57
+ else if (normalizedValue === "false") {
56
58
  appiumCaps[`appium:${key}`] = false;
57
59
  }
58
60
  else {
59
- appiumCaps[`appium:${key}`] = value;
61
+ appiumCaps[`appium:${key}`] = value.trim();
60
62
  }
61
63
  }
62
64
  }
@@ -105,7 +107,7 @@ class ExecutionContext {
105
107
  ...appiumCaps
106
108
  };
107
109
  await this.mobileSession.createDriver(capabilities);
108
- this.executor = new executor_js_1.ActionExecutor(await this.mobileSession.getCurrentDriver(), this.scriptAppender, this.locator, this.request.platform, this.adbPath);
110
+ this.executor = new executor_js_1.ActionExecutor(await this.mobileSession.getCurrentDriver(), this.scriptAppender, this.locator, this.request.platform, this.adbPath, this.stepsInputData);
109
111
  }
110
112
  }
111
113
  exports.ExecutionContext = ExecutionContext;
@@ -8,5 +8,6 @@ export declare class AutomationRunner implements IAutomationRunner {
8
8
  static updateSessionTerminationInfo(testCaseId: string): void;
9
9
  static normalizeScriptType(scriptType?: string): string;
10
10
  private cleanup;
11
+ private saveSessionStepData;
11
12
  run(request: AutomationRequest): Promise<void>;
12
13
  }