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.
- package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.d.ts +3 -0
- package/dist/ai/llmprompts/promptRegistry.js +10 -2
- package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +83 -27
- package/dist/ai/llmprompts/systemPrompts/fileVerifyActionExtractorPrompt.d.ts +2 -0
- package/dist/ai/llmprompts/systemPrompts/fileVerifyActionExtractorPrompt.js +35 -0
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtactors.js +35 -0
- package/dist/ai/llmprompts/systemPrompts/fireflinkElementIndexExtractor_Mob.js +5 -2
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +4 -2
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +3 -1
- package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.d.ts +2 -0
- package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.js +54 -0
- package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +53 -8
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPrompt.js +5 -4
- package/dist/ai/llmprompts/systemPrompts/verifyActionExtractorPromptMob.js +1 -1
- package/dist/ai/llmprompts/userPrompts/userPrompt.js +2 -0
- package/dist/automation/actions/executor.d.ts +14 -6
- package/dist/automation/actions/executor.js +968 -251
- package/dist/automation/actions/interaction/alert/enterDataToAlert.js +3 -1
- package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +4 -0
- package/dist/automation/actions/interaction/alert/verifyAlertPopUpMessageContainsString.js +1 -1
- package/dist/automation/actions/interaction/alert/verifyAlertPopupIsDisplayed.js +1 -1
- package/dist/automation/actions/interaction/alert/verifyTextPresentOnAlertPopup.js +1 -1
- package/dist/automation/actions/interaction/clear/clearAndEnter.js +6 -3
- package/dist/automation/actions/interaction/elementlessActions/getOtp.js +25 -24
- package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +3 -1
- package/dist/automation/actions/interaction/enterActions/enterInput.js +5 -2
- package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +5 -2
- package/dist/automation/actions/interaction/enterActions/enterUrl.js +5 -2
- package/dist/automation/actions/interaction/enterActions/enterusingJs.js +3 -1
- package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +5 -2
- package/dist/automation/actions/interaction/files/VerifyPDF.d.ts +2 -0
- package/dist/automation/actions/interaction/files/VerifyPDF.js +171 -0
- package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +4 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.d.ts +1 -1
- package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +10 -6
- package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.d.ts +1 -1
- package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +7 -3
- package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +5 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +4 -0
- package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +5 -1
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +5 -1
- package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +5 -0
- package/dist/automation/actions/interaction/get/getAllBrokenImages.js +9 -0
- package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +9 -0
- package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +10 -1
- package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +11 -0
- package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +12 -1
- package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +11 -1
- package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +12 -1
- package/dist/automation/actions/interaction/get/getAllCookieNames.js +6 -1
- package/dist/automation/actions/interaction/get/getAllCookieValues.js +6 -1
- package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +8 -1
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +4 -1
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +4 -1
- package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +4 -1
- package/dist/automation/actions/interaction/get/getAllWindowHandles.js +5 -1
- package/dist/automation/actions/interaction/get/getAttribute.js +19 -14
- package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioMediaLength.js +4 -1
- package/dist/automation/actions/interaction/get/getAudioMediaSource.js +4 -1
- package/dist/automation/actions/interaction/get/getBestPracticesScore.js +11 -3
- package/dist/automation/actions/interaction/get/getBrowserCount.js +5 -0
- package/dist/automation/actions/interaction/get/getBrowserVersion.js +5 -0
- package/dist/automation/actions/interaction/get/getCapabilityNames.js +5 -0
- package/dist/automation/actions/interaction/get/getClipBoardText.js +13 -0
- package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +4 -1
- package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +4 -1
- package/dist/automation/actions/interaction/get/getCssValue.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +4 -0
- package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +4 -0
- package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +5 -1
- package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +13 -26
- package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +5 -4
- package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +5 -4
- package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +13 -16
- package/dist/automation/actions/interaction/get/getDriverInstance.js +13 -28
- package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +8 -1
- package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +5 -1
- package/dist/automation/actions/interaction/get/getFullPaintTime.js +8 -1
- package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +4 -0
- package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +5 -0
- package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +4 -1
- package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +4 -0
- package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +15 -28
- package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +7 -0
- package/dist/automation/actions/interaction/get/getListBoxSize.d.ts +1 -1
- package/dist/automation/actions/interaction/get/getListBoxSize.js +4 -2
- package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +7 -2
- package/dist/automation/actions/interaction/get/getLocation.js +14 -8
- package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +4 -0
- package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +7 -0
- package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +7 -0
- package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +5 -0
- package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +9 -0
- package/dist/automation/actions/interaction/get/getOptions.js +4 -1
- package/dist/automation/actions/interaction/get/getPageTitle.js +5 -1
- package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +12 -1
- package/dist/automation/actions/interaction/get/getPwaScore.js +11 -3
- package/dist/automation/actions/interaction/get/getRect.js +9 -2
- package/dist/automation/actions/interaction/get/getScreenshot.js +13 -28
- package/dist/automation/actions/interaction/get/getScreenshotAs.js +14 -44
- package/dist/automation/actions/interaction/get/getSeoScore.js +15 -3
- package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +5 -3
- package/dist/automation/actions/interaction/get/getSingleApiResponse.js +9 -8
- package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +9 -9
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.d.ts +1 -1
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +10 -17
- package/dist/automation/actions/interaction/get/getSize.js +7 -2
- package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +5 -4
- package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +10 -7
- package/dist/automation/actions/interaction/get/getSystemProperty.js +6 -4
- package/dist/automation/actions/interaction/get/getTagName.js +9 -2
- package/dist/automation/actions/interaction/get/getText.js +7 -2
- package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +5 -1
- package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +6 -1
- package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +5 -8
- package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +5 -1
- package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +9 -1
- package/dist/automation/actions/interaction/get/getValueByCookieName.js +7 -4
- package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +6 -4
- package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +6 -4
- package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoMediaLength.js +4 -1
- package/dist/automation/actions/interaction/get/getVideoMediaSource.js +5 -1
- package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +6 -1
- package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +4 -1
- package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +10 -1
- package/dist/automation/actions/interaction/get/getWrappedElement.js +5 -1
- package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.d.ts +1 -1
- package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +4 -2
- package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +4 -3
- package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +7 -2
- package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +6 -1
- package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +7 -2
- package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +2 -0
- package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +5 -2
- package/dist/automation/actions/interaction/verify/MOB_VerifyBatteryLevel.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyAttributeValue.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyBrowserHtmlCodeContainsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowHeight.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleContainsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowTitleIsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlContainsExpectedUrl.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowUrlIsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowWidth.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowXLocation.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyBrowserWindowYLocation.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyCssAttributeValue.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyElementNotContainsText.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyHeightOfWebElement.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyHexCodeForGivenXYCoordinates.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfAllCookiesAreDeleted.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsAdded.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfCookieNameIsDeleted.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfCookieObjectIsPresent.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfGivenOptionIsDuplicate.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfImageIsBroken.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsBroken.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinkIsWorking.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreBroken.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfLinksAreWorking.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithTextIsDeselected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsDeselected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithValueIsSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfOptionWithVisibleTextIsSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyIfSpecifiedOptionIsSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyNavigateURL.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyPartialAttributeValue.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyPartialTitleOfCurrentPage.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyTagName.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyThatSpecifiedOptionIsNotSelected.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyTitleInAllPage.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyTitleOfCurrentPage.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementContainsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyValueOfElementIsString.js +1 -1
- package/dist/automation/actions/interaction/verify/VerifyWidthOfElement.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyXLocationOfElement.js +2 -2
- package/dist/automation/actions/interaction/verify/VerifyYLocationOfElement.js +2 -2
- package/dist/automation/actions/interaction/verify/checkIfElementIsDisplayed.js +2 -2
- package/dist/automation/actions/interaction/verify/verifypartialtext.js +2 -2
- package/dist/automation/actions/interaction/verify/verifytext.js +2 -2
- package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +22 -1
- package/dist/automation/actions/interface/FireFlinkResponseSchema.js +18 -4
- package/dist/automation/actions/interface/alertActionInterface.d.ts +11 -0
- package/dist/automation/actions/interface/clearActionInterface.d.ts +4 -0
- package/dist/automation/actions/interface/getActionInterface.d.ts +150 -141
- package/dist/automation/actions/interface/getOtpInterface.d.ts +5 -0
- package/dist/automation/actions/interface/interactionActionInterface.d.ts +14 -7
- package/dist/automation/actions/interface/shadowDomInterface.d.ts +10 -0
- package/dist/automation/actions/interface/verifyActionInterface.d.ts +100 -0
- package/dist/core/Errors/InvalidFileTypeError.d.ts +5 -0
- package/dist/core/Errors/InvalidFileTypeError.js +14 -0
- package/dist/core/constants/supportedActions.js +4 -0
- package/dist/core/helpers/elementSelectorResolver.d.ts +11 -0
- package/dist/core/helpers/elementSelectorResolver.js +102 -0
- package/dist/core/helpers/runnerDomPipeline.d.ts +9 -0
- package/dist/core/helpers/runnerDomPipeline.js +97 -0
- package/dist/core/helpers/runnerKafkaReporter.d.ts +17 -0
- package/dist/core/helpers/runnerKafkaReporter.js +71 -0
- package/dist/core/helpers/runnerPostActionHelper.d.ts +2 -0
- package/dist/core/helpers/runnerPostActionHelper.js +30 -0
- package/dist/core/helpers/stepActionInspector.d.ts +5 -0
- package/dist/core/helpers/stepActionInspector.js +113 -0
- package/dist/core/helpers/visionFallbackHandler.d.ts +3 -0
- package/dist/core/helpers/visionFallbackHandler.js +138 -0
- package/dist/core/interfaces/actionInterface.d.ts +7 -5
- package/dist/core/interfaces/automationRunnerInterface.d.ts +56 -1
- package/dist/core/interfaces/fireflinkScriptPayloadInterface.d.ts +2 -0
- package/dist/core/interfaces/llmResponseInterface.d.ts +5 -0
- package/dist/core/interfaces/promptInterface.d.ts +9 -2
- package/dist/core/interfaces/scriptGenrationDataInterface.d.ts +4 -0
- package/dist/core/main/actionHandlerFactory.js +37 -7
- package/dist/core/main/executionContext.d.ts +2 -1
- package/dist/core/main/executionContext.js +7 -5
- package/dist/core/main/runAutomationScript.d.ts +1 -0
- package/dist/core/main/runAutomationScript.js +390 -1008
- package/dist/core/types/llmResponseType.d.ts +2 -2
- package/dist/core/types/promptType.d.ts +3 -1
- package/dist/core/types/promptType.js +2 -0
- package/dist/fireflinkData/fireflinkScript/appendScriptData.js +3 -0
- package/dist/utils/browserCap/capability.js +17 -0
- package/dist/utils/helpers/getHelper.d.ts +8 -0
- package/dist/utils/helpers/getHelper.js +115 -0
- package/dist/utils/helpers/platformSyntax.d.ts +1 -1
- package/package.json +2 -1
- package/dist/ai/llmprompts/systemPrompts/combinedActionExtractorPrompt.d.ts +0 -2
- 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 = {}));
|
|
@@ -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): "
|
|
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.
|
|
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,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
|
-
}
|